Files
frontend/dist/assets/index-B04m7avt.js
2026-07-15 13:30:02 +03:00

190 lines
734 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var ag = a => { throw TypeError(a) }; var zf = (a, l, i) => l.has(a) || ag("Cannot " + i); var C = (a, l, i) => (zf(a, l, "read from private field"), i ? i.call(a) : l.get(a)), le = (a, l, i) => l.has(a) ? ag("Cannot add the same private member more than once") : l instanceof WeakSet ? l.add(a) : l.set(a, i), J = (a, l, i, r) => (zf(a, l, "write to private field"), r ? r.call(a, i) : l.set(a, i), i), we = (a, l, i) => (zf(a, l, "access private method"), i); var Hc = (a, l, i, r) => ({ set _(d) { J(a, l, d, i) }, get _() { return C(a, l, r) } }); (function () { const l = document.createElement("link").relList; if (l && l.supports && l.supports("modulepreload")) return; for (const d of document.querySelectorAll('link[rel="modulepreload"]')) r(d); new MutationObserver(d => { for (const f of d) if (f.type === "childList") for (const h of f.addedNodes) h.tagName === "LINK" && h.rel === "modulepreload" && r(h) }).observe(document, { childList: !0, subtree: !0 }); function i(d) { const f = {}; return d.integrity && (f.integrity = d.integrity), d.referrerPolicy && (f.referrerPolicy = d.referrerPolicy), d.crossOrigin === "use-credentials" ? f.credentials = "include" : d.crossOrigin === "anonymous" ? f.credentials = "omit" : f.credentials = "same-origin", f } function r(d) { if (d.ep) return; d.ep = !0; const f = i(d); fetch(d.href, f) } })(); function G1(a) { return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a } var Df = { exports: {} }, Go = {};/**
* @license React
* react-jsx-runtime.production.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.
*/var sg; function Ib() { if (sg) return Go; sg = 1; var a = Symbol.for("react.transitional.element"), l = Symbol.for("react.fragment"); function i(r, d, f) { var h = null; if (f !== void 0 && (h = "" + f), d.key !== void 0 && (h = "" + d.key), "key" in d) { f = {}; for (var g in d) g !== "key" && (f[g] = d[g]) } else f = d; return d = f.ref, { $$typeof: a, type: r, key: h, ref: d !== void 0 ? d : null, props: f } } return Go.Fragment = l, Go.jsx = i, Go.jsxs = i, Go } var lg; function Gb() { return lg || (lg = 1, Df.exports = Ib()), Df.exports } var o = Gb(), Uf = { exports: {} }, Ae = {};/**
* @license React
* react.production.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.
*/var ig; function Kb() { if (ig) return Ae; ig = 1; var a = Symbol.for("react.transitional.element"), l = Symbol.for("react.portal"), i = Symbol.for("react.fragment"), r = Symbol.for("react.strict_mode"), d = Symbol.for("react.profiler"), f = Symbol.for("react.consumer"), h = Symbol.for("react.context"), g = Symbol.for("react.forward_ref"), m = Symbol.for("react.suspense"), p = Symbol.for("react.memo"), y = Symbol.for("react.lazy"), _ = Symbol.for("react.activity"), b = Symbol.iterator; function S(T) { return T === null || typeof T != "object" ? null : (T = b && T[b] || T["@@iterator"], typeof T == "function" ? T : null) } var j = { isMounted: function () { return !1 }, enqueueForceUpdate: function () { }, enqueueReplaceState: function () { }, enqueueSetState: function () { } }, w = Object.assign, E = {}; function R(T, Y, Z) { this.props = T, this.context = Y, this.refs = E, this.updater = Z || j } R.prototype.isReactComponent = {}, R.prototype.setState = function (T, Y) { if (typeof T != "object" && typeof T != "function" && T != null) throw Error("takes an object of state variables to update or a function which returns an object of state variables."); this.updater.enqueueSetState(this, T, Y, "setState") }, R.prototype.forceUpdate = function (T) { this.updater.enqueueForceUpdate(this, T, "forceUpdate") }; function L() { } L.prototype = R.prototype; function B(T, Y, Z) { this.props = T, this.context = Y, this.refs = E, this.updater = Z || j } var P = B.prototype = new L; P.constructor = B, w(P, R.prototype), P.isPureReactComponent = !0; var G = Array.isArray; function V() { } var D = { H: null, A: null, T: null, S: null }, K = Object.prototype.hasOwnProperty; function ee(T, Y, Z) { var $ = Z.ref; return { $$typeof: a, type: T, key: Y, ref: $ !== void 0 ? $ : null, props: Z } } function re(T, Y) { return ee(T.type, Y, T.props) } function ce(T) { return typeof T == "object" && T !== null && T.$$typeof === a } function ie(T) { var Y = { "=": "=0", ":": "=2" }; return "$" + T.replace(/[=:]/g, function (Z) { return Y[Z] }) } var te = /\/+/g; function pe(T, Y) { return typeof T == "object" && T !== null && T.key != null ? ie("" + T.key) : Y.toString(36) } function ve(T) { switch (T.status) { case "fulfilled": return T.value; case "rejected": throw T.reason; default: switch (typeof T.status == "string" ? T.then(V, V) : (T.status = "pending", T.then(function (Y) { T.status === "pending" && (T.status = "fulfilled", T.value = Y) }, function (Y) { T.status === "pending" && (T.status = "rejected", T.reason = Y) })), T.status) { case "fulfilled": return T.value; case "rejected": throw T.reason } }throw T } function q(T, Y, Z, $, fe) { var ye = typeof T; (ye === "undefined" || ye === "boolean") && (T = null); var De = !1; if (T === null) De = !0; else switch (ye) { case "bigint": case "string": case "number": De = !0; break; case "object": switch (T.$$typeof) { case a: case l: De = !0; break; case y: return De = T._init, q(De(T._payload), Y, Z, $, fe) } }if (De) return fe = fe(T), De = $ === "" ? "." + pe(T, 0) : $, G(fe) ? (Z = "", De != null && (Z = De.replace(te, "$&/") + "/"), q(fe, Y, Z, "", function (Aa) { return Aa })) : fe != null && (ce(fe) && (fe = re(fe, Z + (fe.key == null || T && T.key === fe.key ? "" : ("" + fe.key).replace(te, "$&/") + "/") + De)), Y.push(fe)), 1; De = 0; var At = $ === "" ? "." : $ + ":"; if (G(T)) for (var at = 0; at < T.length; at++)$ = T[at], ye = At + pe($, at), De += q($, Y, Z, ye, fe); else if (at = S(T), typeof at == "function") for (T = at.call(T), at = 0; !($ = T.next()).done;)$ = $.value, ye = At + pe($, at++), De += q($, Y, Z, ye, fe); else if (ye === "object") { if (typeof T.then == "function") return q(ve(T), Y, Z, $, fe); throw Y = String(T), Error("Objects are not valid as a React child (found: " + (Y === "[object Object]" ? "object with keys {" + Object.keys(T).join(", ") + "}" : Y) + "). If you meant to render a collection of children, use an array instead.") } return De } function X(T, Y, Z) { if (T == null) return T; var $ = [], fe = 0; return q(T, $, "", "", function (ye) { return Y.call(Z, ye, fe++) }), $ } function W(T) { if (T._status === -1) { var Y = T._result; Y = Y(), Y.then(function (Z) { (T._status === 0 || T._status === -1) && (T._status = 1, T._result = Z) }, function (Z) { (T._status === 0 || T._status === -1) && (T._status = 2, T._result = Z) }), T._status === -1 && (T._status = 0, T._result = Y) } if (T._status === 1) return T._result.default; throw T._result } var ue = typeof reportError == "function" ? reportError : function (T) { if (typeof window == "object" && typeof window.ErrorEvent == "function") { var Y = new window.ErrorEvent("error", { bubbles: !0, cancelable: !0, message: typeof T == "object" && T !== null && typeof T.message == "string" ? String(T.message) : String(T), error: T }); if (!window.dispatchEvent(Y)) return } else if (typeof process == "object" && typeof process.emit == "function") { process.emit("uncaughtException", T); return } console.error(T) }, be = { map: X, forEach: function (T, Y, Z) { X(T, function () { Y.apply(this, arguments) }, Z) }, count: function (T) { var Y = 0; return X(T, function () { Y++ }), Y }, toArray: function (T) { return X(T, function (Y) { return Y }) || [] }, only: function (T) { if (!ce(T)) throw Error("React.Children.only expected to receive a single React element child."); return T } }; return Ae.Activity = _, Ae.Children = be, Ae.Component = R, Ae.Fragment = i, Ae.Profiler = d, Ae.PureComponent = B, Ae.StrictMode = r, Ae.Suspense = m, Ae.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = D, Ae.__COMPILER_RUNTIME = { __proto__: null, c: function (T) { return D.H.useMemoCache(T) } }, Ae.cache = function (T) { return function () { return T.apply(null, arguments) } }, Ae.cacheSignal = function () { return null }, Ae.cloneElement = function (T, Y, Z) { if (T == null) throw Error("The argument must be a React element, but you passed " + T + "."); var $ = w({}, T.props), fe = T.key; if (Y != null) for (ye in Y.key !== void 0 && (fe = "" + Y.key), Y) !K.call(Y, ye) || ye === "key" || ye === "__self" || ye === "__source" || ye === "ref" && Y.ref === void 0 || ($[ye] = Y[ye]); var ye = arguments.length - 2; if (ye === 1) $.children = Z; else if (1 < ye) { for (var De = Array(ye), At = 0; At < ye; At++)De[At] = arguments[At + 2]; $.children = De } return ee(T.type, fe, $) }, Ae.createContext = function (T) { return T = { $$typeof: h, _currentValue: T, _currentValue2: T, _threadCount: 0, Provider: null, Consumer: null }, T.Provider = T, T.Consumer = { $$typeof: f, _context: T }, T }, Ae.createElement = function (T, Y, Z) { var $, fe = {}, ye = null; if (Y != null) for ($ in Y.key !== void 0 && (ye = "" + Y.key), Y) K.call(Y, $) && $ !== "key" && $ !== "__self" && $ !== "__source" && (fe[$] = Y[$]); var De = arguments.length - 2; if (De === 1) fe.children = Z; else if (1 < De) { for (var At = Array(De), at = 0; at < De; at++)At[at] = arguments[at + 2]; fe.children = At } if (T && T.defaultProps) for ($ in De = T.defaultProps, De) fe[$] === void 0 && (fe[$] = De[$]); return ee(T, ye, fe) }, Ae.createRef = function () { return { current: null } }, Ae.forwardRef = function (T) { return { $$typeof: g, render: T } }, Ae.isValidElement = ce, Ae.lazy = function (T) { return { $$typeof: y, _payload: { _status: -1, _result: T }, _init: W } }, Ae.memo = function (T, Y) { return { $$typeof: p, type: T, compare: Y === void 0 ? null : Y } }, Ae.startTransition = function (T) { var Y = D.T, Z = {}; D.T = Z; try { var $ = T(), fe = D.S; fe !== null && fe(Z, $), typeof $ == "object" && $ !== null && typeof $.then == "function" && $.then(V, ue) } catch (ye) { ue(ye) } finally { Y !== null && Z.types !== null && (Y.types = Z.types), D.T = Y } }, Ae.unstable_useCacheRefresh = function () { return D.H.useCacheRefresh() }, Ae.use = function (T) { return D.H.use(T) }, Ae.useActionState = function (T, Y, Z) { return D.H.useActionState(T, Y, Z) }, Ae.useCallback = function (T, Y) { return D.H.useCallback(T, Y) }, Ae.useContext = function (T) { return D.H.useContext(T) }, Ae.useDebugValue = function () { }, Ae.useDeferredValue = function (T, Y) { return D.H.useDeferredValue(T, Y) }, Ae.useEffect = function (T, Y) { return D.H.useEffect(T, Y) }, Ae.useEffectEvent = function (T) { return D.H.useEffectEvent(T) }, Ae.useId = function () { return D.H.useId() }, Ae.useImperativeHandle = function (T, Y, Z) { return D.H.useImperativeHandle(T, Y, Z) }, Ae.useInsertionEffect = function (T, Y) { return D.H.useInsertionEffect(T, Y) }, Ae.useLayoutEffect = function (T, Y) { return D.H.useLayoutEffect(T, Y) }, Ae.useMemo = function (T, Y) { return D.H.useMemo(T, Y) }, Ae.useOptimistic = function (T, Y) { return D.H.useOptimistic(T, Y) }, Ae.useReducer = function (T, Y, Z) { return D.H.useReducer(T, Y, Z) }, Ae.useRef = function (T) { return D.H.useRef(T) }, Ae.useState = function (T) { return D.H.useState(T) }, Ae.useSyncExternalStore = function (T, Y, Z) { return D.H.useSyncExternalStore(T, Y, Z) }, Ae.useTransition = function () { return D.H.useTransition() }, Ae.version = "19.2.5", Ae } var og; function Dh() { return og || (og = 1, Uf.exports = Kb()), Uf.exports } var A = Dh(); const Bt = G1(A); var Hf = { exports: {} }, Ko = {}, qf = { exports: {} }, Pf = {};/**
* @license React
* scheduler.production.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.
*/var rg; function Xb() { return rg || (rg = 1, (function (a) { function l(q, X) { var W = q.length; q.push(X); e: for (; 0 < W;) { var ue = W - 1 >>> 1, be = q[ue]; if (0 < d(be, X)) q[ue] = X, q[W] = be, W = ue; else break e } } function i(q) { return q.length === 0 ? null : q[0] } function r(q) { if (q.length === 0) return null; var X = q[0], W = q.pop(); if (W !== X) { q[0] = W; e: for (var ue = 0, be = q.length, T = be >>> 1; ue < T;) { var Y = 2 * (ue + 1) - 1, Z = q[Y], $ = Y + 1, fe = q[$]; if (0 > d(Z, W)) $ < be && 0 > d(fe, Z) ? (q[ue] = fe, q[$] = W, ue = $) : (q[ue] = Z, q[Y] = W, ue = Y); else if ($ < be && 0 > d(fe, W)) q[ue] = fe, q[$] = W, ue = $; else break e } } return X } function d(q, X) { var W = q.sortIndex - X.sortIndex; return W !== 0 ? W : q.id - X.id } if (a.unstable_now = void 0, typeof performance == "object" && typeof performance.now == "function") { var f = performance; a.unstable_now = function () { return f.now() } } else { var h = Date, g = h.now(); a.unstable_now = function () { return h.now() - g } } var m = [], p = [], y = 1, _ = null, b = 3, S = !1, j = !1, w = !1, E = !1, R = typeof setTimeout == "function" ? setTimeout : null, L = typeof clearTimeout == "function" ? clearTimeout : null, B = typeof setImmediate < "u" ? setImmediate : null; function P(q) { for (var X = i(p); X !== null;) { if (X.callback === null) r(p); else if (X.startTime <= q) r(p), X.sortIndex = X.expirationTime, l(m, X); else break; X = i(p) } } function G(q) { if (w = !1, P(q), !j) if (i(m) !== null) j = !0, V || (V = !0, ie()); else { var X = i(p); X !== null && ve(G, X.startTime - q) } } var V = !1, D = -1, K = 5, ee = -1; function re() { return E ? !0 : !(a.unstable_now() - ee < K) } function ce() { if (E = !1, V) { var q = a.unstable_now(); ee = q; var X = !0; try { e: { j = !1, w && (w = !1, L(D), D = -1), S = !0; var W = b; try { t: { for (P(q), _ = i(m); _ !== null && !(_.expirationTime > q && re());) { var ue = _.callback; if (typeof ue == "function") { _.callback = null, b = _.priorityLevel; var be = ue(_.expirationTime <= q); if (q = a.unstable_now(), typeof be == "function") { _.callback = be, P(q), X = !0; break t } _ === i(m) && r(m), P(q) } else r(m); _ = i(m) } if (_ !== null) X = !0; else { var T = i(p); T !== null && ve(G, T.startTime - q), X = !1 } } break e } finally { _ = null, b = W, S = !1 } X = void 0 } } finally { X ? ie() : V = !1 } } } var ie; if (typeof B == "function") ie = function () { B(ce) }; else if (typeof MessageChannel < "u") { var te = new MessageChannel, pe = te.port2; te.port1.onmessage = ce, ie = function () { pe.postMessage(null) } } else ie = function () { R(ce, 0) }; function ve(q, X) { D = R(function () { q(a.unstable_now()) }, X) } a.unstable_IdlePriority = 5, a.unstable_ImmediatePriority = 1, a.unstable_LowPriority = 4, a.unstable_NormalPriority = 3, a.unstable_Profiling = null, a.unstable_UserBlockingPriority = 2, a.unstable_cancelCallback = function (q) { q.callback = null }, a.unstable_forceFrameRate = function (q) { 0 > q || 125 < q ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : K = 0 < q ? Math.floor(1e3 / q) : 5 }, a.unstable_getCurrentPriorityLevel = function () { return b }, a.unstable_next = function (q) { switch (b) { case 1: case 2: case 3: var X = 3; break; default: X = b }var W = b; b = X; try { return q() } finally { b = W } }, a.unstable_requestPaint = function () { E = !0 }, a.unstable_runWithPriority = function (q, X) { switch (q) { case 1: case 2: case 3: case 4: case 5: break; default: q = 3 }var W = b; b = q; try { return X() } finally { b = W } }, a.unstable_scheduleCallback = function (q, X, W) { var ue = a.unstable_now(); switch (typeof W == "object" && W !== null ? (W = W.delay, W = typeof W == "number" && 0 < W ? ue + W : ue) : W = ue, q) { case 1: var be = -1; break; case 2: be = 250; break; case 5: be = 1073741823; break; case 4: be = 1e4; break; default: be = 5e3 }return be = W + be, q = { id: y++, callback: X, priorityLevel: q, startTime: W, expirationTime: be, sortIndex: -1 }, W > ue ? (q.sortIndex = W, l(p, q), i(m) === null && q === i(p) && (w ? (L(D), D = -1) : w = !0, ve(G, W - ue))) : (q.sortIndex = be, l(m, q), j || S || (j = !0, V || (V = !0, ie()))), q }, a.unstable_shouldYield = re, a.unstable_wrapCallback = function (q) { var X = b; return function () { var W = b; b = X; try { return q.apply(this, arguments) } finally { b = W } } } })(Pf)), Pf } var cg; function Vb() { return cg || (cg = 1, qf.exports = Xb()), qf.exports } var Qf = { exports: {} }, Gt = {};/**
* @license React
* react-dom.production.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.
*/var ug; function Zb() { if (ug) return Gt; ug = 1; var a = Dh(); function l(m) { var p = "https://react.dev/errors/" + m; if (1 < arguments.length) { p += "?args[]=" + encodeURIComponent(arguments[1]); for (var y = 2; y < arguments.length; y++)p += "&args[]=" + encodeURIComponent(arguments[y]) } return "Minified React error #" + m + "; visit " + p + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." } function i() { } var r = { d: { f: i, r: function () { throw Error(l(522)) }, D: i, C: i, L: i, m: i, X: i, S: i, M: i }, p: 0, findDOMNode: null }, d = Symbol.for("react.portal"); function f(m, p, y) { var _ = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null; return { $$typeof: d, key: _ == null ? null : "" + _, children: m, containerInfo: p, implementation: y } } var h = a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; function g(m, p) { if (m === "font") return ""; if (typeof p == "string") return p === "use-credentials" ? p : "" } return Gt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = r, Gt.createPortal = function (m, p) { var y = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null; if (!p || p.nodeType !== 1 && p.nodeType !== 9 && p.nodeType !== 11) throw Error(l(299)); return f(m, p, null, y) }, Gt.flushSync = function (m) { var p = h.T, y = r.p; try { if (h.T = null, r.p = 2, m) return m() } finally { h.T = p, r.p = y, r.d.f() } }, Gt.preconnect = function (m, p) { typeof m == "string" && (p ? (p = p.crossOrigin, p = typeof p == "string" ? p === "use-credentials" ? p : "" : void 0) : p = null, r.d.C(m, p)) }, Gt.prefetchDNS = function (m) { typeof m == "string" && r.d.D(m) }, Gt.preinit = function (m, p) { if (typeof m == "string" && p && typeof p.as == "string") { var y = p.as, _ = g(y, p.crossOrigin), b = typeof p.integrity == "string" ? p.integrity : void 0, S = typeof p.fetchPriority == "string" ? p.fetchPriority : void 0; y === "style" ? r.d.S(m, typeof p.precedence == "string" ? p.precedence : void 0, { crossOrigin: _, integrity: b, fetchPriority: S }) : y === "script" && r.d.X(m, { crossOrigin: _, integrity: b, fetchPriority: S, nonce: typeof p.nonce == "string" ? p.nonce : void 0 }) } }, Gt.preinitModule = function (m, p) { if (typeof m == "string") if (typeof p == "object" && p !== null) { if (p.as == null || p.as === "script") { var y = g(p.as, p.crossOrigin); r.d.M(m, { crossOrigin: y, integrity: typeof p.integrity == "string" ? p.integrity : void 0, nonce: typeof p.nonce == "string" ? p.nonce : void 0 }) } } else p == null && r.d.M(m) }, Gt.preload = function (m, p) { if (typeof m == "string" && typeof p == "object" && p !== null && typeof p.as == "string") { var y = p.as, _ = g(y, p.crossOrigin); r.d.L(m, y, { crossOrigin: _, integrity: typeof p.integrity == "string" ? p.integrity : void 0, nonce: typeof p.nonce == "string" ? p.nonce : void 0, type: typeof p.type == "string" ? p.type : void 0, fetchPriority: typeof p.fetchPriority == "string" ? p.fetchPriority : void 0, referrerPolicy: typeof p.referrerPolicy == "string" ? p.referrerPolicy : void 0, imageSrcSet: typeof p.imageSrcSet == "string" ? p.imageSrcSet : void 0, imageSizes: typeof p.imageSizes == "string" ? p.imageSizes : void 0, media: typeof p.media == "string" ? p.media : void 0 }) } }, Gt.preloadModule = function (m, p) { if (typeof m == "string") if (p) { var y = g(p.as, p.crossOrigin); r.d.m(m, { as: typeof p.as == "string" && p.as !== "script" ? p.as : void 0, crossOrigin: y, integrity: typeof p.integrity == "string" ? p.integrity : void 0 }) } else r.d.m(m) }, Gt.requestFormReset = function (m) { r.d.r(m) }, Gt.unstable_batchedUpdates = function (m, p) { return m(p) }, Gt.useFormState = function (m, p, y) { return h.H.useFormState(m, p, y) }, Gt.useFormStatus = function () { return h.H.useHostTransitionStatus() }, Gt.version = "19.2.5", Gt } var dg; function Wb() { if (dg) return Qf.exports; dg = 1; function a() { if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function")) try { __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a) } catch (l) { console.error(l) } } return a(), Qf.exports = Zb(), Qf.exports }/**
* @license React
* react-dom-client.production.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.
*/var fg; function Jb() {
if (fg) return Ko; fg = 1; var a = Vb(), l = Dh(), i = Wb(); function r(e) { var t = "https://react.dev/errors/" + e; if (1 < arguments.length) { t += "?args[]=" + encodeURIComponent(arguments[1]); for (var n = 2; n < arguments.length; n++)t += "&args[]=" + encodeURIComponent(arguments[n]) } return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." } function d(e) { return !(!e || e.nodeType !== 1 && e.nodeType !== 9 && e.nodeType !== 11) } function f(e) { var t = e, n = e; if (e.alternate) for (; t.return;)t = t.return; else { e = t; do t = e, (t.flags & 4098) !== 0 && (n = t.return), e = t.return; while (e) } return t.tag === 3 ? n : null } function h(e) { if (e.tag === 13) { var t = e.memoizedState; if (t === null && (e = e.alternate, e !== null && (t = e.memoizedState)), t !== null) return t.dehydrated } return null } function g(e) { if (e.tag === 31) { var t = e.memoizedState; if (t === null && (e = e.alternate, e !== null && (t = e.memoizedState)), t !== null) return t.dehydrated } return null } function m(e) { if (f(e) !== e) throw Error(r(188)) } function p(e) { var t = e.alternate; if (!t) { if (t = f(e), t === null) throw Error(r(188)); return t !== e ? null : e } for (var n = e, s = t; ;) { var c = n.return; if (c === null) break; var u = c.alternate; if (u === null) { if (s = c.return, s !== null) { n = s; continue } break } if (c.child === u.child) { for (u = c.child; u;) { if (u === n) return m(c), e; if (u === s) return m(c), t; u = u.sibling } throw Error(r(188)) } if (n.return !== s.return) n = c, s = u; else { for (var v = !1, x = c.child; x;) { if (x === n) { v = !0, n = c, s = u; break } if (x === s) { v = !0, s = c, n = u; break } x = x.sibling } if (!v) { for (x = u.child; x;) { if (x === n) { v = !0, n = u, s = c; break } if (x === s) { v = !0, s = u, n = c; break } x = x.sibling } if (!v) throw Error(r(189)) } } if (n.alternate !== s) throw Error(r(190)) } if (n.tag !== 3) throw Error(r(188)); return n.stateNode.current === n ? e : t } function y(e) { var t = e.tag; if (t === 5 || t === 26 || t === 27 || t === 6) return e; for (e = e.child; e !== null;) { if (t = y(e), t !== null) return t; e = e.sibling } return null } var _ = Object.assign, b = Symbol.for("react.element"), S = Symbol.for("react.transitional.element"), j = Symbol.for("react.portal"), w = Symbol.for("react.fragment"), E = Symbol.for("react.strict_mode"), R = Symbol.for("react.profiler"), L = Symbol.for("react.consumer"), B = Symbol.for("react.context"), P = Symbol.for("react.forward_ref"), G = Symbol.for("react.suspense"), V = Symbol.for("react.suspense_list"), D = Symbol.for("react.memo"), K = Symbol.for("react.lazy"), ee = Symbol.for("react.activity"), re = Symbol.for("react.memo_cache_sentinel"), ce = Symbol.iterator; function ie(e) { return e === null || typeof e != "object" ? null : (e = ce && e[ce] || e["@@iterator"], typeof e == "function" ? e : null) } var te = Symbol.for("react.client.reference"); function pe(e) { if (e == null) return null; if (typeof e == "function") return e.$$typeof === te ? null : e.displayName || e.name || null; if (typeof e == "string") return e; switch (e) { case w: return "Fragment"; case R: return "Profiler"; case E: return "StrictMode"; case G: return "Suspense"; case V: return "SuspenseList"; case ee: return "Activity" }if (typeof e == "object") switch (e.$$typeof) { case j: return "Portal"; case B: return e.displayName || "Context"; case L: return (e._context.displayName || "Context") + ".Consumer"; case P: var t = e.render; return e = e.displayName, e || (e = t.displayName || t.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e; case D: return t = e.displayName || null, t !== null ? t : pe(e.type) || "Memo"; case K: t = e._payload, e = e._init; try { return pe(e(t)) } catch { } }return null } var ve = Array.isArray, q = l.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, X = i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, W = { pending: !1, data: null, method: null, action: null }, ue = [], be = -1; function T(e) { return { current: e } } function Y(e) { 0 > be || (e.current = ue[be], ue[be] = null, be--) } function Z(e, t) { be++, ue[be] = e.current, e.current = t } var $ = T(null), fe = T(null), ye = T(null), De = T(null); function At(e, t) { switch (Z(ye, t), Z(fe, e), Z($, null), t.nodeType) { case 9: case 11: e = (e = t.documentElement) && (e = e.namespaceURI) ? E2(e) : 0; break; default: if (e = t.tagName, t = t.namespaceURI) t = E2(t), e = N2(t, e); else switch (e) { case "svg": e = 1; break; case "math": e = 2; break; default: e = 0 } }Y($), Z($, e) } function at() { Y($), Y(fe), Y(ye) } function Aa(e) { e.memoizedState !== null && Z(De, e); var t = $.current, n = N2(t, e.type); t !== n && (Z(fe, e), Z($, n)) } function es(e) { fe.current === e && (Y($), Y(fe)), De.current === e && (Y(De), Qo._currentValue = W) } var ts, zl; function Dn(e) {
if (ts === void 0) try { throw Error() } catch (n) {
var t = n.stack.trim().match(/\n( *(at )?)/); ts = t && t[1] || "", zl = -1 < n.stack.indexOf(`
at`) ? " (<anonymous>)" : -1 < n.stack.indexOf("@") ? "@unknown:0:0" : ""
} return `
`+ ts + e + zl
} var ns = !1; function as(e, t) {
if (!e || ns) return ""; ns = !0; var n = Error.prepareStackTrace; Error.prepareStackTrace = void 0; try {
var s = { DetermineComponentFrameRoot: function () { try { if (t) { var I = function () { throw Error() }; if (Object.defineProperty(I.prototype, "props", { set: function () { throw Error() } }), typeof Reflect == "object" && Reflect.construct) { try { Reflect.construct(I, []) } catch (H) { var U = H } Reflect.construct(e, [], I) } else { try { I.call() } catch (H) { U = H } e.call(I.prototype) } } else { try { throw Error() } catch (H) { U = H } (I = e()) && typeof I.catch == "function" && I.catch(function () { }) } } catch (H) { if (H && U && typeof H.stack == "string") return [H.stack, U.stack] } return [null, null] } }; s.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot"; var c = Object.getOwnPropertyDescriptor(s.DetermineComponentFrameRoot, "name"); c && c.configurable && Object.defineProperty(s.DetermineComponentFrameRoot, "name", { value: "DetermineComponentFrameRoot" }); var u = s.DetermineComponentFrameRoot(), v = u[0], x = u[1]; if (v && x) {
var N = v.split(`
`), z = x.split(`
`); for (c = s = 0; s < N.length && !N[s].includes("DetermineComponentFrameRoot");)s++; for (; c < z.length && !z[c].includes("DetermineComponentFrameRoot");)c++; if (s === N.length || c === z.length) for (s = N.length - 1, c = z.length - 1; 1 <= s && 0 <= c && N[s] !== z[c];)c--; for (; 1 <= s && 0 <= c; s--, c--)if (N[s] !== z[c]) {
if (s !== 1 || c !== 1) do if (s--, c--, 0 > c || N[s] !== z[c]) {
var Q = `
`+ N[s].replace(" at new ", " at "); return e.displayName && Q.includes("<anonymous>") && (Q = Q.replace("<anonymous>", e.displayName)), Q
} while (1 <= s && 0 <= c); break
}
}
} finally { ns = !1, Error.prepareStackTrace = n } return (n = e ? e.displayName || e.name : "") ? Dn(n) : ""
} function Dl(e, t) { switch (e.tag) { case 26: case 27: case 5: return Dn(e.type); case 16: return Dn("Lazy"); case 13: return e.child !== t && t !== null ? Dn("Suspense Fallback") : Dn("Suspense"); case 19: return Dn("SuspenseList"); case 0: case 15: return as(e.type, !1); case 11: return as(e.type.render, !1); case 1: return as(e.type, !0); case 31: return Dn("Activity"); default: return "" } } function Gs(e) {
try { var t = "", n = null; do t += Dl(e, n), n = e, e = e.return; while (e); return t } catch (s) {
return `
Error generating stack: `+ s.message + `
`+ s.stack
}
} var ss = Object.prototype.hasOwnProperty, ls = a.unstable_scheduleCallback, Ue = a.unstable_cancelCallback, _n = a.unstable_shouldYield, Ks = a.unstable_requestPaint, Tt = a.unstable_now, Sa = a.unstable_getCurrentPriorityLevel, Zi = a.unstable_ImmediatePriority, Wi = a.unstable_UserBlockingPriority, Ke = a.unstable_NormalPriority, Jn = a.unstable_LowPriority, Ji = a.unstable_IdlePriority, Ar = a.log, Cy = a.unstable_setDisableYieldValue, $i = null, bn = null; function is(e) { if (typeof Ar == "function" && Cy(e), bn && typeof bn.setStrictMode == "function") try { bn.setStrictMode($i, e) } catch { } } var xn = Math.clz32 ? Math.clz32 : ky, Ty = Math.log, Ry = Math.LN2; function ky(e) { return e >>>= 0, e === 0 ? 32 : 31 - (Ty(e) / Ry | 0) | 0 } var Sr = 256, jr = 262144, wr = 4194304; function Xs(e) { var t = e & 42; if (t !== 0) return t; switch (e & -e) { 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 e & 261888; case 262144: case 524288: case 1048576: case 2097152: return e & 3932160; case 4194304: case 8388608: case 16777216: case 33554432: return e & 62914560; case 67108864: return 67108864; case 134217728: return 134217728; case 268435456: return 268435456; case 536870912: return 536870912; case 1073741824: return 0; default: return e } } function Er(e, t, n) { var s = e.pendingLanes; if (s === 0) return 0; var c = 0, u = e.suspendedLanes, v = e.pingedLanes; e = e.warmLanes; var x = s & 134217727; return x !== 0 ? (s = x & ~u, s !== 0 ? c = Xs(s) : (v &= x, v !== 0 ? c = Xs(v) : n || (n = x & ~e, n !== 0 && (c = Xs(n))))) : (x = s & ~u, x !== 0 ? c = Xs(x) : v !== 0 ? c = Xs(v) : n || (n = s & ~e, n !== 0 && (c = Xs(n)))), c === 0 ? 0 : t !== 0 && t !== c && (t & u) === 0 && (u = c & -c, n = t & -t, u >= n || u === 32 && (n & 4194048) !== 0) ? t : c } function eo(e, t) { return (e.pendingLanes & ~(e.suspendedLanes & ~e.pingedLanes) & t) === 0 } function By(e, t) { switch (e) { case 1: case 2: case 4: case 8: case 64: return t + 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 t + 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 -1 } } function om() { var e = wr; return wr <<= 1, (wr & 62914560) === 0 && (wr = 4194304), e } function Su(e) { for (var t = [], n = 0; 31 > n; n++)t.push(e); return t } function to(e, t) { e.pendingLanes |= t, t !== 268435456 && (e.suspendedLanes = 0, e.pingedLanes = 0, e.warmLanes = 0) } function Oy(e, t, n, s, c, u) { var v = e.pendingLanes; e.pendingLanes = n, e.suspendedLanes = 0, e.pingedLanes = 0, e.warmLanes = 0, e.expiredLanes &= n, e.entangledLanes &= n, e.errorRecoveryDisabledLanes &= n, e.shellSuspendCounter = 0; var x = e.entanglements, N = e.expirationTimes, z = e.hiddenUpdates; for (n = v & ~n; 0 < n;) { var Q = 31 - xn(n), I = 1 << Q; x[Q] = 0, N[Q] = -1; var U = z[Q]; if (U !== null) for (z[Q] = null, Q = 0; Q < U.length; Q++) { var H = U[Q]; H !== null && (H.lane &= -536870913) } n &= ~I } s !== 0 && rm(e, s, 0), u !== 0 && c === 0 && e.tag !== 0 && (e.suspendedLanes |= u & ~(v & ~t)) } function rm(e, t, n) { e.pendingLanes |= t, e.suspendedLanes &= ~t; var s = 31 - xn(t); e.entangledLanes |= t, e.entanglements[s] = e.entanglements[s] | 1073741824 | n & 261930 } function cm(e, t) { var n = e.entangledLanes |= t; for (e = e.entanglements; n;) { var s = 31 - xn(n), c = 1 << s; c & t | e[s] & t && (e[s] |= t), n &= ~c } } function um(e, t) { var n = t & -t; return n = (n & 42) !== 0 ? 1 : ju(n), (n & (e.suspendedLanes | t)) !== 0 ? 0 : n } function ju(e) { switch (e) { case 2: e = 1; break; case 8: e = 4; break; case 32: e = 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: e = 128; break; case 268435456: e = 134217728; break; default: e = 0 }return e } function wu(e) { return e &= -e, 2 < e ? 8 < e ? (e & 134217727) !== 0 ? 32 : 268435456 : 8 : 2 } function dm() { var e = X.p; return e !== 0 ? e : (e = window.event, e === void 0 ? 32 : Z2(e.type)) } function fm(e, t) { var n = X.p; try { return X.p = e, t() } finally { X.p = n } } var os = Math.random().toString(36).slice(2), Pt = "__reactFiber$" + os, an = "__reactProps$" + os, Ul = "__reactContainer$" + os, Eu = "__reactEvents$" + os, Ly = "__reactListeners$" + os, My = "__reactHandles$" + os, hm = "__reactResources$" + os, no = "__reactMarker$" + os; function Nu(e) { delete e[Pt], delete e[an], delete e[Eu], delete e[Ly], delete e[My] } function Hl(e) { var t = e[Pt]; if (t) return t; for (var n = e.parentNode; n;) { if (t = n[Ul] || n[Pt]) { if (n = t.alternate, t.child !== null || n !== null && n.child !== null) for (e = L2(e); e !== null;) { if (n = e[Pt]) return n; e = L2(e) } return t } e = n, n = e.parentNode } return null } function ql(e) { if (e = e[Pt] || e[Ul]) { var t = e.tag; if (t === 5 || t === 6 || t === 13 || t === 31 || t === 26 || t === 27 || t === 3) return e } return null } function ao(e) { var t = e.tag; if (t === 5 || t === 26 || t === 27 || t === 6) return e.stateNode; throw Error(r(33)) } function Pl(e) { var t = e[hm]; return t || (t = e[hm] = { hoistableStyles: new Map, hoistableScripts: new Map }), t } function Lt(e) { e[no] = !0 } var mm = new Set, pm = {}; function Vs(e, t) { Ql(e, t), Ql(e + "Capture", t) } function Ql(e, t) { for (pm[e] = t, e = 0; e < t.length; e++)mm.add(t[e]) } var zy = 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]*$"), gm = {}, vm = {}; function Dy(e) { return ss.call(vm, e) ? !0 : ss.call(gm, e) ? !1 : zy.test(e) ? vm[e] = !0 : (gm[e] = !0, !1) } function Nr(e, t, n) { if (Dy(t)) if (n === null) e.removeAttribute(t); else { switch (typeof n) { case "undefined": case "function": case "symbol": e.removeAttribute(t); return; case "boolean": var s = t.toLowerCase().slice(0, 5); if (s !== "data-" && s !== "aria-") { e.removeAttribute(t); return } }e.setAttribute(t, "" + n) } } function Cr(e, t, n) { if (n === null) e.removeAttribute(t); else { switch (typeof n) { case "undefined": case "function": case "symbol": case "boolean": e.removeAttribute(t); return }e.setAttribute(t, "" + n) } } function ja(e, t, n, s) { if (s === null) e.removeAttribute(n); else { switch (typeof s) { case "undefined": case "function": case "symbol": case "boolean": e.removeAttribute(n); return }e.setAttributeNS(t, n, "" + s) } } function Un(e) { switch (typeof e) { case "bigint": case "boolean": case "number": case "string": case "undefined": return e; case "object": return e; default: return "" } } function ym(e) { var t = e.type; return (e = e.nodeName) && e.toLowerCase() === "input" && (t === "checkbox" || t === "radio") } function Uy(e, t, n) { var s = Object.getOwnPropertyDescriptor(e.constructor.prototype, t); if (!e.hasOwnProperty(t) && typeof s < "u" && typeof s.get == "function" && typeof s.set == "function") { var c = s.get, u = s.set; return Object.defineProperty(e, t, { configurable: !0, get: function () { return c.call(this) }, set: function (v) { n = "" + v, u.call(this, v) } }), Object.defineProperty(e, t, { enumerable: s.enumerable }), { getValue: function () { return n }, setValue: function (v) { n = "" + v }, stopTracking: function () { e._valueTracker = null, delete e[t] } } } } function Cu(e) { if (!e._valueTracker) { var t = ym(e) ? "checked" : "value"; e._valueTracker = Uy(e, t, "" + e[t]) } } function _m(e) { if (!e) return !1; var t = e._valueTracker; if (!t) return !0; var n = t.getValue(), s = ""; return e && (s = ym(e) ? e.checked ? "true" : "false" : e.value), e = s, e !== n ? (t.setValue(e), !0) : !1 } function Tr(e) { if (e = e || (typeof document < "u" ? document : void 0), typeof e > "u") return null; try { return e.activeElement || e.body } catch { return e.body } } var Hy = /[\n"\\]/g; function Hn(e) { return e.replace(Hy, function (t) { return "\\" + t.charCodeAt(0).toString(16) + " " }) } function Tu(e, t, n, s, c, u, v, x) { e.name = "", v != null && typeof v != "function" && typeof v != "symbol" && typeof v != "boolean" ? e.type = v : e.removeAttribute("type"), t != null ? v === "number" ? (t === 0 && e.value === "" || e.value != t) && (e.value = "" + Un(t)) : e.value !== "" + Un(t) && (e.value = "" + Un(t)) : v !== "submit" && v !== "reset" || e.removeAttribute("value"), t != null ? Ru(e, v, Un(t)) : n != null ? Ru(e, v, Un(n)) : s != null && e.removeAttribute("value"), c == null && u != null && (e.defaultChecked = !!u), c != null && (e.checked = c && typeof c != "function" && typeof c != "symbol"), x != null && typeof x != "function" && typeof x != "symbol" && typeof x != "boolean" ? e.name = "" + Un(x) : e.removeAttribute("name") } function bm(e, t, n, s, c, u, v, x) { if (u != null && typeof u != "function" && typeof u != "symbol" && typeof u != "boolean" && (e.type = u), t != null || n != null) { if (!(u !== "submit" && u !== "reset" || t != null)) { Cu(e); return } n = n != null ? "" + Un(n) : "", t = t != null ? "" + Un(t) : n, x || t === e.value || (e.value = t), e.defaultValue = t } s = s ?? c, s = typeof s != "function" && typeof s != "symbol" && !!s, e.checked = x ? e.checked : !!s, e.defaultChecked = !!s, v != null && typeof v != "function" && typeof v != "symbol" && typeof v != "boolean" && (e.name = v), Cu(e) } function Ru(e, t, n) { t === "number" && Tr(e.ownerDocument) === e || e.defaultValue === "" + n || (e.defaultValue = "" + n) } function Fl(e, t, n, s) { if (e = e.options, t) { t = {}; for (var c = 0; c < n.length; c++)t["$" + n[c]] = !0; for (n = 0; n < e.length; n++)c = t.hasOwnProperty("$" + e[n].value), e[n].selected !== c && (e[n].selected = c), c && s && (e[n].defaultSelected = !0) } else { for (n = "" + Un(n), t = null, c = 0; c < e.length; c++) { if (e[c].value === n) { e[c].selected = !0, s && (e[c].defaultSelected = !0); return } t !== null || e[c].disabled || (t = e[c]) } t !== null && (t.selected = !0) } } function xm(e, t, n) { if (t != null && (t = "" + Un(t), t !== e.value && (e.value = t), n == null)) { e.defaultValue !== t && (e.defaultValue = t); return } e.defaultValue = n != null ? "" + Un(n) : "" } function Am(e, t, n, s) { if (t == null) { if (s != null) { if (n != null) throw Error(r(92)); if (ve(s)) { if (1 < s.length) throw Error(r(93)); s = s[0] } n = s } n == null && (n = ""), t = n } n = Un(t), e.defaultValue = n, s = e.textContent, s === n && s !== "" && s !== null && (e.value = s), Cu(e) } function Yl(e, t) { if (t) { var n = e.firstChild; if (n && n === e.lastChild && n.nodeType === 3) { n.nodeValue = t; return } } e.textContent = t } var qy = 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(" ")); function Sm(e, t, n) { var s = t.indexOf("--") === 0; n == null || typeof n == "boolean" || n === "" ? s ? e.setProperty(t, "") : t === "float" ? e.cssFloat = "" : e[t] = "" : s ? e.setProperty(t, n) : typeof n != "number" || n === 0 || qy.has(t) ? t === "float" ? e.cssFloat = n : e[t] = ("" + n).trim() : e[t] = n + "px" } function jm(e, t, n) { if (t != null && typeof t != "object") throw Error(r(62)); if (e = e.style, n != null) { for (var s in n) !n.hasOwnProperty(s) || t != null && t.hasOwnProperty(s) || (s.indexOf("--") === 0 ? e.setProperty(s, "") : s === "float" ? e.cssFloat = "" : e[s] = ""); for (var c in t) s = t[c], t.hasOwnProperty(c) && n[c] !== s && Sm(e, c, s) } else for (var u in t) t.hasOwnProperty(u) && Sm(e, u, t[u]) } function ku(e) { if (e.indexOf("-") === -1) return !1; switch (e) { case "annotation-xml": case "color-profile": case "font-face": case "font-face-src": case "font-face-uri": case "font-face-format": case "font-face-name": case "missing-glyph": return !1; default: return !0 } } var Py = 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"]]), Qy = /^[\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; function Rr(e) { return Qy.test("" + e) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : e } function wa() { } var Bu = null; function Ou(e) { return e = e.target || e.srcElement || window, e.correspondingUseElement && (e = e.correspondingUseElement), e.nodeType === 3 ? e.parentNode : e } var Il = null, Gl = null; function wm(e) { var t = ql(e); if (t && (e = t.stateNode)) { var n = e[an] || null; e: switch (e = t.stateNode, t.type) { case "input": if (Tu(e, n.value, n.defaultValue, n.defaultValue, n.checked, n.defaultChecked, n.type, n.name), t = n.name, n.type === "radio" && t != null) { for (n = e; n.parentNode;)n = n.parentNode; for (n = n.querySelectorAll('input[name="' + Hn("" + t) + '"][type="radio"]'), t = 0; t < n.length; t++) { var s = n[t]; if (s !== e && s.form === e.form) { var c = s[an] || null; if (!c) throw Error(r(90)); Tu(s, c.value, c.defaultValue, c.defaultValue, c.checked, c.defaultChecked, c.type, c.name) } } for (t = 0; t < n.length; t++)s = n[t], s.form === e.form && _m(s) } break e; case "textarea": xm(e, n.value, n.defaultValue); break e; case "select": t = n.value, t != null && Fl(e, !!n.multiple, t, !1) } } } var Lu = !1; function Em(e, t, n) { if (Lu) return e(t, n); Lu = !0; try { var s = e(t); return s } finally { if (Lu = !1, (Il !== null || Gl !== null) && (vc(), Il && (t = Il, e = Gl, Gl = Il = null, wm(t), e))) for (t = 0; t < e.length; t++)wm(e[t]) } } function so(e, t) { var n = e.stateNode; if (n === null) return null; var s = n[an] || null; if (s === null) return null; n = s[t]; e: switch (t) { case "onClick": case "onClickCapture": case "onDoubleClick": case "onDoubleClickCapture": case "onMouseDown": case "onMouseDownCapture": case "onMouseMove": case "onMouseMoveCapture": case "onMouseUp": case "onMouseUpCapture": case "onMouseEnter": (s = !s.disabled) || (e = e.type, s = !(e === "button" || e === "input" || e === "select" || e === "textarea")), e = !s; break e; default: e = !1 }if (e) return null; if (n && typeof n != "function") throw Error(r(231, t, typeof n)); return n } var Ea = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), Mu = !1; if (Ea) try { var lo = {}; Object.defineProperty(lo, "passive", { get: function () { Mu = !0 } }), window.addEventListener("test", lo, lo), window.removeEventListener("test", lo, lo) } catch { Mu = !1 } var rs = null, zu = null, kr = null; function Nm() { if (kr) return kr; var e, t = zu, n = t.length, s, c = "value" in rs ? rs.value : rs.textContent, u = c.length; for (e = 0; e < n && t[e] === c[e]; e++); var v = n - e; for (s = 1; s <= v && t[n - s] === c[u - s]; s++); return kr = c.slice(e, 1 < s ? 1 - s : void 0) } function Br(e) { var t = e.keyCode; return "charCode" in e ? (e = e.charCode, e === 0 && t === 13 && (e = 13)) : e = t, e === 10 && (e = 13), 32 <= e || e === 13 ? e : 0 } function Or() { return !0 } function Cm() { return !1 } function sn(e) { function t(n, s, c, u, v) { this._reactName = n, this._targetInst = c, this.type = s, this.nativeEvent = u, this.target = v, this.currentTarget = null; for (var x in e) e.hasOwnProperty(x) && (n = e[x], this[x] = n ? n(u) : u[x]); return this.isDefaultPrevented = (u.defaultPrevented != null ? u.defaultPrevented : u.returnValue === !1) ? Or : Cm, this.isPropagationStopped = Cm, this } return _(t.prototype, { preventDefault: function () { this.defaultPrevented = !0; var n = this.nativeEvent; n && (n.preventDefault ? n.preventDefault() : typeof n.returnValue != "unknown" && (n.returnValue = !1), this.isDefaultPrevented = Or) }, stopPropagation: function () { var n = this.nativeEvent; n && (n.stopPropagation ? n.stopPropagation() : typeof n.cancelBubble != "unknown" && (n.cancelBubble = !0), this.isPropagationStopped = Or) }, persist: function () { }, isPersistent: Or }), t } var Zs = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function (e) { return e.timeStamp || Date.now() }, defaultPrevented: 0, isTrusted: 0 }, Lr = sn(Zs), io = _({}, Zs, { view: 0, detail: 0 }), Fy = sn(io), Du, Uu, oo, Mr = _({}, io, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: qu, button: 0, buttons: 0, relatedTarget: function (e) { return e.relatedTarget === void 0 ? e.fromElement === e.srcElement ? e.toElement : e.fromElement : e.relatedTarget }, movementX: function (e) { return "movementX" in e ? e.movementX : (e !== oo && (oo && e.type === "mousemove" ? (Du = e.screenX - oo.screenX, Uu = e.screenY - oo.screenY) : Uu = Du = 0, oo = e), Du) }, movementY: function (e) { return "movementY" in e ? e.movementY : Uu } }), Tm = sn(Mr), Yy = _({}, Mr, { dataTransfer: 0 }), Iy = sn(Yy), Gy = _({}, io, { relatedTarget: 0 }), Hu = sn(Gy), Ky = _({}, Zs, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), Xy = sn(Ky), Vy = _({}, Zs, { clipboardData: function (e) { return "clipboardData" in e ? e.clipboardData : window.clipboardData } }), Zy = sn(Vy), Wy = _({}, Zs, { data: 0 }), Rm = sn(Wy), Jy = { Esc: "Escape", Spacebar: " ", Left: "ArrowLeft", Up: "ArrowUp", Right: "ArrowRight", Down: "ArrowDown", Del: "Delete", Win: "OS", Menu: "ContextMenu", Apps: "ContextMenu", Scroll: "ScrollLock", MozPrintableKey: "Unidentified" }, $y = { 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" }, e_ = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" }; function t_(e) { var t = this.nativeEvent; return t.getModifierState ? t.getModifierState(e) : (e = e_[e]) ? !!t[e] : !1 } function qu() { return t_ } var n_ = _({}, io, { key: function (e) { if (e.key) { var t = Jy[e.key] || e.key; if (t !== "Unidentified") return t } return e.type === "keypress" ? (e = Br(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? $y[e.keyCode] || "Unidentified" : "" }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: qu, charCode: function (e) { return e.type === "keypress" ? Br(e) : 0 }, keyCode: function (e) { return e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0 }, which: function (e) { return e.type === "keypress" ? Br(e) : e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0 } }), a_ = sn(n_), s_ = _({}, Mr, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), km = sn(s_), l_ = _({}, io, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: qu }), i_ = sn(l_), o_ = _({}, Zs, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), r_ = sn(o_), c_ = _({}, Mr, { deltaX: function (e) { return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0 }, deltaY: function (e) { return "deltaY" in e ? e.deltaY : "wheelDeltaY" in e ? -e.wheelDeltaY : "wheelDelta" in e ? -e.wheelDelta : 0 }, deltaZ: 0, deltaMode: 0 }), u_ = sn(c_), d_ = _({}, Zs, { newState: 0, oldState: 0 }), f_ = sn(d_), h_ = [9, 13, 27, 32], Pu = Ea && "CompositionEvent" in window, ro = null; Ea && "documentMode" in document && (ro = document.documentMode); var m_ = Ea && "TextEvent" in window && !ro, Bm = Ea && (!Pu || ro && 8 < ro && 11 >= ro), Om = " ", Lm = !1; function Mm(e, t) { switch (e) { case "keyup": return h_.indexOf(t.keyCode) !== -1; case "keydown": return t.keyCode !== 229; case "keypress": case "mousedown": case "focusout": return !0; default: return !1 } } function zm(e) { return e = e.detail, typeof e == "object" && "data" in e ? e.data : null } var Kl = !1; function p_(e, t) { switch (e) { case "compositionend": return zm(t); case "keypress": return t.which !== 32 ? null : (Lm = !0, Om); case "textInput": return e = t.data, e === Om && Lm ? null : e; default: return null } } function g_(e, t) { if (Kl) return e === "compositionend" || !Pu && Mm(e, t) ? (e = Nm(), kr = zu = rs = null, Kl = !1, e) : null; switch (e) { case "paste": return null; case "keypress": if (!(t.ctrlKey || t.altKey || t.metaKey) || t.ctrlKey && t.altKey) { if (t.char && 1 < t.char.length) return t.char; if (t.which) return String.fromCharCode(t.which) } return null; case "compositionend": return Bm && t.locale !== "ko" ? null : t.data; default: return null } } var v_ = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 }; function Dm(e) { var t = e && e.nodeName && e.nodeName.toLowerCase(); return t === "input" ? !!v_[e.type] : t === "textarea" } function Um(e, t, n, s) { Il ? Gl ? Gl.push(s) : Gl = [s] : Il = s, t = jc(t, "onChange"), 0 < t.length && (n = new Lr("onChange", "change", null, n, s), e.push({ event: n, listeners: t })) } var co = null, uo = null; function y_(e) { b2(e, 0) } function zr(e) { var t = ao(e); if (_m(t)) return e } function Hm(e, t) { if (e === "change") return t } var qm = !1; if (Ea) { var Qu; if (Ea) { var Fu = "oninput" in document; if (!Fu) { var Pm = document.createElement("div"); Pm.setAttribute("oninput", "return;"), Fu = typeof Pm.oninput == "function" } Qu = Fu } else Qu = !1; qm = Qu && (!document.documentMode || 9 < document.documentMode) } function Qm() { co && (co.detachEvent("onpropertychange", Fm), uo = co = null) } function Fm(e) { if (e.propertyName === "value" && zr(uo)) { var t = []; Um(t, uo, e, Ou(e)), Em(y_, t) } } function __(e, t, n) { e === "focusin" ? (Qm(), co = t, uo = n, co.attachEvent("onpropertychange", Fm)) : e === "focusout" && Qm() } function b_(e) { if (e === "selectionchange" || e === "keyup" || e === "keydown") return zr(uo) } function x_(e, t) { if (e === "click") return zr(t) } function A_(e, t) { if (e === "input" || e === "change") return zr(t) } function S_(e, t) { return e === t && (e !== 0 || 1 / e === 1 / t) || e !== e && t !== t } var An = typeof Object.is == "function" ? Object.is : S_; function fo(e, t) { if (An(e, t)) return !0; if (typeof e != "object" || e === null || typeof t != "object" || t === null) return !1; var n = Object.keys(e), s = Object.keys(t); if (n.length !== s.length) return !1; for (s = 0; s < n.length; s++) { var c = n[s]; if (!ss.call(t, c) || !An(e[c], t[c])) return !1 } return !0 } function Ym(e) { for (; e && e.firstChild;)e = e.firstChild; return e } function Im(e, t) { var n = Ym(e); e = 0; for (var s; n;) { if (n.nodeType === 3) { if (s = e + n.textContent.length, e <= t && s >= t) return { node: n, offset: t - e }; e = s } e: { for (; n;) { if (n.nextSibling) { n = n.nextSibling; break e } n = n.parentNode } n = void 0 } n = Ym(n) } } function Gm(e, t) { return e && t ? e === t ? !0 : e && e.nodeType === 3 ? !1 : t && t.nodeType === 3 ? Gm(e, t.parentNode) : "contains" in e ? e.contains(t) : e.compareDocumentPosition ? !!(e.compareDocumentPosition(t) & 16) : !1 : !1 } function Km(e) { e = e != null && e.ownerDocument != null && e.ownerDocument.defaultView != null ? e.ownerDocument.defaultView : window; for (var t = Tr(e.document); t instanceof e.HTMLIFrameElement;) { try { var n = typeof t.contentWindow.location.href == "string" } catch { n = !1 } if (n) e = t.contentWindow; else break; t = Tr(e.document) } return t } function Yu(e) { var t = e && e.nodeName && e.nodeName.toLowerCase(); return t && (t === "input" && (e.type === "text" || e.type === "search" || e.type === "tel" || e.type === "url" || e.type === "password") || t === "textarea" || e.contentEditable === "true") } var j_ = Ea && "documentMode" in document && 11 >= document.documentMode, Xl = null, Iu = null, ho = null, Gu = !1; function Xm(e, t, n) { var s = n.window === n ? n.document : n.nodeType === 9 ? n : n.ownerDocument; Gu || Xl == null || Xl !== Tr(s) || (s = Xl, "selectionStart" in s && Yu(s) ? s = { start: s.selectionStart, end: s.selectionEnd } : (s = (s.ownerDocument && s.ownerDocument.defaultView || window).getSelection(), s = { anchorNode: s.anchorNode, anchorOffset: s.anchorOffset, focusNode: s.focusNode, focusOffset: s.focusOffset }), ho && fo(ho, s) || (ho = s, s = jc(Iu, "onSelect"), 0 < s.length && (t = new Lr("onSelect", "select", null, t, n), e.push({ event: t, listeners: s }), t.target = Xl))) } function Ws(e, t) { var n = {}; return n[e.toLowerCase()] = t.toLowerCase(), n["Webkit" + e] = "webkit" + t, n["Moz" + e] = "moz" + t, n } var Vl = { animationend: Ws("Animation", "AnimationEnd"), animationiteration: Ws("Animation", "AnimationIteration"), animationstart: Ws("Animation", "AnimationStart"), transitionrun: Ws("Transition", "TransitionRun"), transitionstart: Ws("Transition", "TransitionStart"), transitioncancel: Ws("Transition", "TransitionCancel"), transitionend: Ws("Transition", "TransitionEnd") }, Ku = {}, Vm = {}; Ea && (Vm = document.createElement("div").style, "AnimationEvent" in window || (delete Vl.animationend.animation, delete Vl.animationiteration.animation, delete Vl.animationstart.animation), "TransitionEvent" in window || delete Vl.transitionend.transition); function Js(e) { if (Ku[e]) return Ku[e]; if (!Vl[e]) return e; var t = Vl[e], n; for (n in t) if (t.hasOwnProperty(n) && n in Vm) return Ku[e] = t[n]; return e } var Zm = Js("animationend"), Wm = Js("animationiteration"), Jm = Js("animationstart"), w_ = Js("transitionrun"), E_ = Js("transitionstart"), N_ = Js("transitioncancel"), $m = Js("transitionend"), e0 = new Map, Xu = "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(" "); Xu.push("scrollEnd"); function $n(e, t) { e0.set(e, t), Vs(t, [e]) } var Dr = typeof reportError == "function" ? reportError : function (e) { if (typeof window == "object" && typeof window.ErrorEvent == "function") { var t = new window.ErrorEvent("error", { bubbles: !0, cancelable: !0, message: typeof e == "object" && e !== null && typeof e.message == "string" ? String(e.message) : String(e), error: e }); if (!window.dispatchEvent(t)) return } else if (typeof process == "object" && typeof process.emit == "function") { process.emit("uncaughtException", e); return } console.error(e) }, qn = [], Zl = 0, Vu = 0; function Ur() { for (var e = Zl, t = Vu = Zl = 0; t < e;) { var n = qn[t]; qn[t++] = null; var s = qn[t]; qn[t++] = null; var c = qn[t]; qn[t++] = null; var u = qn[t]; if (qn[t++] = null, s !== null && c !== null) { var v = s.pending; v === null ? c.next = c : (c.next = v.next, v.next = c), s.pending = c } u !== 0 && t0(n, c, u) } } function Hr(e, t, n, s) { qn[Zl++] = e, qn[Zl++] = t, qn[Zl++] = n, qn[Zl++] = s, Vu |= s, e.lanes |= s, e = e.alternate, e !== null && (e.lanes |= s) } function Zu(e, t, n, s) { return Hr(e, t, n, s), qr(e) } function $s(e, t) { return Hr(e, null, null, t), qr(e) } function t0(e, t, n) { e.lanes |= n; var s = e.alternate; s !== null && (s.lanes |= n); for (var c = !1, u = e.return; u !== null;)u.childLanes |= n, s = u.alternate, s !== null && (s.childLanes |= n), u.tag === 22 && (e = u.stateNode, e === null || e._visibility & 1 || (c = !0)), e = u, u = u.return; return e.tag === 3 ? (u = e.stateNode, c && t !== null && (c = 31 - xn(n), e = u.hiddenUpdates, s = e[c], s === null ? e[c] = [t] : s.push(t), t.lane = n | 536870912), u) : null } function qr(e) { if (50 < Mo) throw Mo = 0, lf = null, Error(r(185)); for (var t = e.return; t !== null;)e = t, t = e.return; return e.tag === 3 ? e.stateNode : null } var Wl = {}; function C_(e, t, n, s) { this.tag = e, this.key = n, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.refCleanup = this.ref = null, this.pendingProps = t, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = s, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null } function Sn(e, t, n, s) { return new C_(e, t, n, s) } function Wu(e) { return e = e.prototype, !(!e || !e.isReactComponent) } function Na(e, t) { var n = e.alternate; return n === null ? (n = Sn(e.tag, t, e.key, e.mode), n.elementType = e.elementType, n.type = e.type, n.stateNode = e.stateNode, n.alternate = e, e.alternate = n) : (n.pendingProps = t, n.type = e.type, n.flags = 0, n.subtreeFlags = 0, n.deletions = null), n.flags = e.flags & 65011712, n.childLanes = e.childLanes, n.lanes = e.lanes, n.child = e.child, n.memoizedProps = e.memoizedProps, n.memoizedState = e.memoizedState, n.updateQueue = e.updateQueue, t = e.dependencies, n.dependencies = t === null ? null : { lanes: t.lanes, firstContext: t.firstContext }, n.sibling = e.sibling, n.index = e.index, n.ref = e.ref, n.refCleanup = e.refCleanup, n } function n0(e, t) { e.flags &= 65011714; var n = e.alternate; return n === null ? (e.childLanes = 0, e.lanes = t, e.child = null, e.subtreeFlags = 0, e.memoizedProps = null, e.memoizedState = null, e.updateQueue = null, e.dependencies = null, e.stateNode = null) : (e.childLanes = n.childLanes, e.lanes = n.lanes, e.child = n.child, e.subtreeFlags = 0, e.deletions = null, e.memoizedProps = n.memoizedProps, e.memoizedState = n.memoizedState, e.updateQueue = n.updateQueue, e.type = n.type, t = n.dependencies, e.dependencies = t === null ? null : { lanes: t.lanes, firstContext: t.firstContext }), e } function Pr(e, t, n, s, c, u) { var v = 0; if (s = e, typeof e == "function") Wu(e) && (v = 1); else if (typeof e == "string") v = Ob(e, n, $.current) ? 26 : e === "html" || e === "head" || e === "body" ? 27 : 5; else e: switch (e) { case ee: return e = Sn(31, n, t, c), e.elementType = ee, e.lanes = u, e; case w: return el(n.children, c, u, t); case E: v = 8, c |= 24; break; case R: return e = Sn(12, n, t, c | 2), e.elementType = R, e.lanes = u, e; case G: return e = Sn(13, n, t, c), e.elementType = G, e.lanes = u, e; case V: return e = Sn(19, n, t, c), e.elementType = V, e.lanes = u, e; default: if (typeof e == "object" && e !== null) switch (e.$$typeof) { case B: v = 10; break e; case L: v = 9; break e; case P: v = 11; break e; case D: v = 14; break e; case K: v = 16, s = null; break e }v = 29, n = Error(r(130, e === null ? "null" : typeof e, "")), s = null }return t = Sn(v, n, t, c), t.elementType = e, t.type = s, t.lanes = u, t } function el(e, t, n, s) { return e = Sn(7, e, s, t), e.lanes = n, e } function Ju(e, t, n) { return e = Sn(6, e, null, t), e.lanes = n, e } function a0(e) { var t = Sn(18, null, null, 0); return t.stateNode = e, t } function $u(e, t, n) { return t = Sn(4, e.children !== null ? e.children : [], e.key, t), t.lanes = n, t.stateNode = { containerInfo: e.containerInfo, pendingChildren: null, implementation: e.implementation }, t } var s0 = new WeakMap; function Pn(e, t) { if (typeof e == "object" && e !== null) { var n = s0.get(e); return n !== void 0 ? n : (t = { value: e, source: t, stack: Gs(t) }, s0.set(e, t), t) } return { value: e, source: t, stack: Gs(t) } } var Jl = [], $l = 0, Qr = null, mo = 0, Qn = [], Fn = 0, cs = null, da = 1, fa = ""; function Ca(e, t) { Jl[$l++] = mo, Jl[$l++] = Qr, Qr = e, mo = t } function l0(e, t, n) { Qn[Fn++] = da, Qn[Fn++] = fa, Qn[Fn++] = cs, cs = e; var s = da; e = fa; var c = 32 - xn(s) - 1; s &= ~(1 << c), n += 1; var u = 32 - xn(t) + c; if (30 < u) { var v = c - c % 5; u = (s & (1 << v) - 1).toString(32), s >>= v, c -= v, da = 1 << 32 - xn(t) + c | n << c | s, fa = u + e } else da = 1 << u | n << c | s, fa = e } function ed(e) { e.return !== null && (Ca(e, 1), l0(e, 1, 0)) } function td(e) { for (; e === Qr;)Qr = Jl[--$l], Jl[$l] = null, mo = Jl[--$l], Jl[$l] = null; for (; e === cs;)cs = Qn[--Fn], Qn[Fn] = null, fa = Qn[--Fn], Qn[Fn] = null, da = Qn[--Fn], Qn[Fn] = null } function i0(e, t) { Qn[Fn++] = da, Qn[Fn++] = fa, Qn[Fn++] = cs, da = t.id, fa = t.overflow, cs = e } var Qt = null, st = null, Le = !1, us = null, Yn = !1, nd = Error(r(519)); function ds(e) { var t = Error(r(418, 1 < arguments.length && arguments[1] !== void 0 && arguments[1] ? "text" : "HTML", "")); throw po(Pn(t, e)), nd } function o0(e) { var t = e.stateNode, n = e.type, s = e.memoizedProps; switch (t[Pt] = e, t[an] = s, n) { case "dialog": Te("cancel", t), Te("close", t); break; case "iframe": case "object": case "embed": Te("load", t); break; case "video": case "audio": for (n = 0; n < Do.length; n++)Te(Do[n], t); break; case "source": Te("error", t); break; case "img": case "image": case "link": Te("error", t), Te("load", t); break; case "details": Te("toggle", t); break; case "input": Te("invalid", t), bm(t, s.value, s.defaultValue, s.checked, s.defaultChecked, s.type, s.name, !0); break; case "select": Te("invalid", t); break; case "textarea": Te("invalid", t), Am(t, s.value, s.defaultValue, s.children) }n = s.children, typeof n != "string" && typeof n != "number" && typeof n != "bigint" || t.textContent === "" + n || s.suppressHydrationWarning === !0 || j2(t.textContent, n) ? (s.popover != null && (Te("beforetoggle", t), Te("toggle", t)), s.onScroll != null && Te("scroll", t), s.onScrollEnd != null && Te("scrollend", t), s.onClick != null && (t.onclick = wa), t = !0) : t = !1, t || ds(e, !0) } function r0(e) { for (Qt = e.return; Qt;)switch (Qt.tag) { case 5: case 31: case 13: Yn = !1; return; case 27: case 3: Yn = !0; return; default: Qt = Qt.return } } function ei(e) { if (e !== Qt) return !1; if (!Le) return r0(e), Le = !0, !1; var t = e.tag, n; if ((n = t !== 3 && t !== 27) && ((n = t === 5) && (n = e.type, n = !(n !== "form" && n !== "button") || xf(e.type, e.memoizedProps)), n = !n), n && st && ds(e), r0(e), t === 13) { if (e = e.memoizedState, e = e !== null ? e.dehydrated : null, !e) throw Error(r(317)); st = O2(e) } else if (t === 31) { if (e = e.memoizedState, e = e !== null ? e.dehydrated : null, !e) throw Error(r(317)); st = O2(e) } else t === 27 ? (t = st, ws(e.type) ? (e = Ef, Ef = null, st = e) : st = t) : st = Qt ? Gn(e.stateNode.nextSibling) : null; return !0 } function tl() { st = Qt = null, Le = !1 } function ad() { var e = us; return e !== null && (cn === null ? cn = e : cn.push.apply(cn, e), us = null), e } function po(e) { us === null ? us = [e] : us.push(e) } var sd = T(null), nl = null, Ta = null; function fs(e, t, n) { Z(sd, t._currentValue), t._currentValue = n } function Ra(e) { e._currentValue = sd.current, Y(sd) } function ld(e, t, n) { for (; e !== null;) { var s = e.alternate; if ((e.childLanes & t) !== t ? (e.childLanes |= t, s !== null && (s.childLanes |= t)) : s !== null && (s.childLanes & t) !== t && (s.childLanes |= t), e === n) break; e = e.return } } function id(e, t, n, s) { var c = e.child; for (c !== null && (c.return = e); c !== null;) { var u = c.dependencies; if (u !== null) { var v = c.child; u = u.firstContext; e: for (; u !== null;) { var x = u; u = c; for (var N = 0; N < t.length; N++)if (x.context === t[N]) { u.lanes |= n, x = u.alternate, x !== null && (x.lanes |= n), ld(u.return, n, e), s || (v = null); break e } u = x.next } } else if (c.tag === 18) { if (v = c.return, v === null) throw Error(r(341)); v.lanes |= n, u = v.alternate, u !== null && (u.lanes |= n), ld(v, n, e), v = null } else v = c.child; if (v !== null) v.return = c; else for (v = c; v !== null;) { if (v === e) { v = null; break } if (c = v.sibling, c !== null) { c.return = v.return, v = c; break } v = v.return } c = v } } function ti(e, t, n, s) { e = null; for (var c = t, u = !1; c !== null;) { if (!u) { if ((c.flags & 524288) !== 0) u = !0; else if ((c.flags & 262144) !== 0) break } if (c.tag === 10) { var v = c.alternate; if (v === null) throw Error(r(387)); if (v = v.memoizedProps, v !== null) { var x = c.type; An(c.pendingProps.value, v.value) || (e !== null ? e.push(x) : e = [x]) } } else if (c === De.current) { if (v = c.alternate, v === null) throw Error(r(387)); v.memoizedState.memoizedState !== c.memoizedState.memoizedState && (e !== null ? e.push(Qo) : e = [Qo]) } c = c.return } e !== null && id(t, e, n, s), t.flags |= 262144 } function Fr(e) { for (e = e.firstContext; e !== null;) { if (!An(e.context._currentValue, e.memoizedValue)) return !0; e = e.next } return !1 } function al(e) { nl = e, Ta = null, e = e.dependencies, e !== null && (e.firstContext = null) } function Ft(e) { return c0(nl, e) } function Yr(e, t) { return nl === null && al(e), c0(e, t) } function c0(e, t) { var n = t._currentValue; if (t = { context: t, memoizedValue: n, next: null }, Ta === null) { if (e === null) throw Error(r(308)); Ta = t, e.dependencies = { lanes: 0, firstContext: t }, e.flags |= 524288 } else Ta = Ta.next = t; return n } var T_ = typeof AbortController < "u" ? AbortController : function () { var e = [], t = this.signal = { aborted: !1, addEventListener: function (n, s) { e.push(s) } }; this.abort = function () { t.aborted = !0, e.forEach(function (n) { return n() }) } }, R_ = a.unstable_scheduleCallback, k_ = a.unstable_NormalPriority, St = { $$typeof: B, Consumer: null, Provider: null, _currentValue: null, _currentValue2: null, _threadCount: 0 }; function od() { return { controller: new T_, data: new Map, refCount: 0 } } function go(e) { e.refCount--, e.refCount === 0 && R_(k_, function () { e.controller.abort() }) } var vo = null, rd = 0, ni = 0, ai = null; function B_(e, t) { if (vo === null) { var n = vo = []; rd = 0, ni = ff(), ai = { status: "pending", value: void 0, then: function (s) { n.push(s) } } } return rd++, t.then(u0, u0), t } function u0() { if (--rd === 0 && vo !== null) { ai !== null && (ai.status = "fulfilled"); var e = vo; vo = null, ni = 0, ai = null; for (var t = 0; t < e.length; t++)(0, e[t])() } } function O_(e, t) { var n = [], s = { status: "pending", value: null, reason: null, then: function (c) { n.push(c) } }; return e.then(function () { s.status = "fulfilled", s.value = t; for (var c = 0; c < n.length; c++)(0, n[c])(t) }, function (c) { for (s.status = "rejected", s.reason = c, c = 0; c < n.length; c++)(0, n[c])(void 0) }), s } var d0 = q.S; q.S = function (e, t) { Xp = Tt(), typeof t == "object" && t !== null && typeof t.then == "function" && B_(e, t), d0 !== null && d0(e, t) }; var sl = T(null); function cd() { var e = sl.current; return e !== null ? e : $e.pooledCache } function Ir(e, t) { t === null ? Z(sl, sl.current) : Z(sl, t.pool) } function f0() { var e = cd(); return e === null ? null : { parent: St._currentValue, pool: e } } var si = Error(r(460)), ud = Error(r(474)), Gr = Error(r(542)), Kr = { then: function () { } }; function h0(e) { return e = e.status, e === "fulfilled" || e === "rejected" } function m0(e, t, n) { switch (n = e[n], n === void 0 ? e.push(t) : n !== t && (t.then(wa, wa), t = n), t.status) { case "fulfilled": return t.value; case "rejected": throw e = t.reason, g0(e), e; default: if (typeof t.status == "string") t.then(wa, wa); else { if (e = $e, e !== null && 100 < e.shellSuspendCounter) throw Error(r(482)); e = t, e.status = "pending", e.then(function (s) { if (t.status === "pending") { var c = t; c.status = "fulfilled", c.value = s } }, function (s) { if (t.status === "pending") { var c = t; c.status = "rejected", c.reason = s } }) } switch (t.status) { case "fulfilled": return t.value; case "rejected": throw e = t.reason, g0(e), e }throw il = t, si } } function ll(e) { try { var t = e._init; return t(e._payload) } catch (n) { throw n !== null && typeof n == "object" && typeof n.then == "function" ? (il = n, si) : n } } var il = null; function p0() { if (il === null) throw Error(r(459)); var e = il; return il = null, e } function g0(e) { if (e === si || e === Gr) throw Error(r(483)) } var li = null, yo = 0; function Xr(e) { var t = yo; return yo += 1, li === null && (li = []), m0(li, e, t) } function _o(e, t) { t = t.props.ref, e.ref = t !== void 0 ? t : null } function Vr(e, t) { throw t.$$typeof === b ? Error(r(525)) : (e = Object.prototype.toString.call(t), Error(r(31, e === "[object Object]" ? "object with keys {" + Object.keys(t).join(", ") + "}" : e))) } function v0(e) { function t(O, k) { if (e) { var M = O.deletions; M === null ? (O.deletions = [k], O.flags |= 16) : M.push(k) } } function n(O, k) { if (!e) return null; for (; k !== null;)t(O, k), k = k.sibling; return null } function s(O) { for (var k = new Map; O !== null;)O.key !== null ? k.set(O.key, O) : k.set(O.index, O), O = O.sibling; return k } function c(O, k) { return O = Na(O, k), O.index = 0, O.sibling = null, O } function u(O, k, M) { return O.index = M, e ? (M = O.alternate, M !== null ? (M = M.index, M < k ? (O.flags |= 67108866, k) : M) : (O.flags |= 67108866, k)) : (O.flags |= 1048576, k) } function v(O) { return e && O.alternate === null && (O.flags |= 67108866), O } function x(O, k, M, F) { return k === null || k.tag !== 6 ? (k = Ju(M, O.mode, F), k.return = O, k) : (k = c(k, M), k.return = O, k) } function N(O, k, M, F) { var oe = M.type; return oe === w ? Q(O, k, M.props.children, F, M.key) : k !== null && (k.elementType === oe || typeof oe == "object" && oe !== null && oe.$$typeof === K && ll(oe) === k.type) ? (k = c(k, M.props), _o(k, M), k.return = O, k) : (k = Pr(M.type, M.key, M.props, null, O.mode, F), _o(k, M), k.return = O, k) } function z(O, k, M, F) { return k === null || k.tag !== 4 || k.stateNode.containerInfo !== M.containerInfo || k.stateNode.implementation !== M.implementation ? (k = $u(M, O.mode, F), k.return = O, k) : (k = c(k, M.children || []), k.return = O, k) } function Q(O, k, M, F, oe) { return k === null || k.tag !== 7 ? (k = el(M, O.mode, F, oe), k.return = O, k) : (k = c(k, M), k.return = O, k) } function I(O, k, M) { if (typeof k == "string" && k !== "" || typeof k == "number" || typeof k == "bigint") return k = Ju("" + k, O.mode, M), k.return = O, k; if (typeof k == "object" && k !== null) { switch (k.$$typeof) { case S: return M = Pr(k.type, k.key, k.props, null, O.mode, M), _o(M, k), M.return = O, M; case j: return k = $u(k, O.mode, M), k.return = O, k; case K: return k = ll(k), I(O, k, M) }if (ve(k) || ie(k)) return k = el(k, O.mode, M, null), k.return = O, k; if (typeof k.then == "function") return I(O, Xr(k), M); if (k.$$typeof === B) return I(O, Yr(O, k), M); Vr(O, k) } return null } function U(O, k, M, F) { var oe = k !== null ? k.key : null; if (typeof M == "string" && M !== "" || typeof M == "number" || typeof M == "bigint") return oe !== null ? null : x(O, k, "" + M, F); if (typeof M == "object" && M !== null) { switch (M.$$typeof) { case S: return M.key === oe ? N(O, k, M, F) : null; case j: return M.key === oe ? z(O, k, M, F) : null; case K: return M = ll(M), U(O, k, M, F) }if (ve(M) || ie(M)) return oe !== null ? null : Q(O, k, M, F, null); if (typeof M.then == "function") return U(O, k, Xr(M), F); if (M.$$typeof === B) return U(O, k, Yr(O, M), F); Vr(O, M) } return null } function H(O, k, M, F, oe) { if (typeof F == "string" && F !== "" || typeof F == "number" || typeof F == "bigint") return O = O.get(M) || null, x(k, O, "" + F, oe); if (typeof F == "object" && F !== null) { switch (F.$$typeof) { case S: return O = O.get(F.key === null ? M : F.key) || null, N(k, O, F, oe); case j: return O = O.get(F.key === null ? M : F.key) || null, z(k, O, F, oe); case K: return F = ll(F), H(O, k, M, F, oe) }if (ve(F) || ie(F)) return O = O.get(M) || null, Q(k, O, F, oe, null); if (typeof F.then == "function") return H(O, k, M, Xr(F), oe); if (F.$$typeof === B) return H(O, k, M, Yr(k, F), oe); Vr(k, F) } return null } function ne(O, k, M, F) { for (var oe = null, qe = null, se = k, je = k = 0, Oe = null; se !== null && je < M.length; je++) { se.index > je ? (Oe = se, se = null) : Oe = se.sibling; var Pe = U(O, se, M[je], F); if (Pe === null) { se === null && (se = Oe); break } e && se && Pe.alternate === null && t(O, se), k = u(Pe, k, je), qe === null ? oe = Pe : qe.sibling = Pe, qe = Pe, se = Oe } if (je === M.length) return n(O, se), Le && Ca(O, je), oe; if (se === null) { for (; je < M.length; je++)se = I(O, M[je], F), se !== null && (k = u(se, k, je), qe === null ? oe = se : qe.sibling = se, qe = se); return Le && Ca(O, je), oe } for (se = s(se); je < M.length; je++)Oe = H(se, O, je, M[je], F), Oe !== null && (e && Oe.alternate !== null && se.delete(Oe.key === null ? je : Oe.key), k = u(Oe, k, je), qe === null ? oe = Oe : qe.sibling = Oe, qe = Oe); return e && se.forEach(function (Rs) { return t(O, Rs) }), Le && Ca(O, je), oe } function he(O, k, M, F) { if (M == null) throw Error(r(151)); for (var oe = null, qe = null, se = k, je = k = 0, Oe = null, Pe = M.next(); se !== null && !Pe.done; je++, Pe = M.next()) { se.index > je ? (Oe = se, se = null) : Oe = se.sibling; var Rs = U(O, se, Pe.value, F); if (Rs === null) { se === null && (se = Oe); break } e && se && Rs.alternate === null && t(O, se), k = u(Rs, k, je), qe === null ? oe = Rs : qe.sibling = Rs, qe = Rs, se = Oe } if (Pe.done) return n(O, se), Le && Ca(O, je), oe; if (se === null) { for (; !Pe.done; je++, Pe = M.next())Pe = I(O, Pe.value, F), Pe !== null && (k = u(Pe, k, je), qe === null ? oe = Pe : qe.sibling = Pe, qe = Pe); return Le && Ca(O, je), oe } for (se = s(se); !Pe.done; je++, Pe = M.next())Pe = H(se, O, je, Pe.value, F), Pe !== null && (e && Pe.alternate !== null && se.delete(Pe.key === null ? je : Pe.key), k = u(Pe, k, je), qe === null ? oe = Pe : qe.sibling = Pe, qe = Pe); return e && se.forEach(function (Yb) { return t(O, Yb) }), Le && Ca(O, je), oe } function Je(O, k, M, F) { if (typeof M == "object" && M !== null && M.type === w && M.key === null && (M = M.props.children), typeof M == "object" && M !== null) { switch (M.$$typeof) { case S: e: { for (var oe = M.key; k !== null;) { if (k.key === oe) { if (oe = M.type, oe === w) { if (k.tag === 7) { n(O, k.sibling), F = c(k, M.props.children), F.return = O, O = F; break e } } else if (k.elementType === oe || typeof oe == "object" && oe !== null && oe.$$typeof === K && ll(oe) === k.type) { n(O, k.sibling), F = c(k, M.props), _o(F, M), F.return = O, O = F; break e } n(O, k); break } else t(O, k); k = k.sibling } M.type === w ? (F = el(M.props.children, O.mode, F, M.key), F.return = O, O = F) : (F = Pr(M.type, M.key, M.props, null, O.mode, F), _o(F, M), F.return = O, O = F) } return v(O); case j: e: { for (oe = M.key; k !== null;) { if (k.key === oe) if (k.tag === 4 && k.stateNode.containerInfo === M.containerInfo && k.stateNode.implementation === M.implementation) { n(O, k.sibling), F = c(k, M.children || []), F.return = O, O = F; break e } else { n(O, k); break } else t(O, k); k = k.sibling } F = $u(M, O.mode, F), F.return = O, O = F } return v(O); case K: return M = ll(M), Je(O, k, M, F) }if (ve(M)) return ne(O, k, M, F); if (ie(M)) { if (oe = ie(M), typeof oe != "function") throw Error(r(150)); return M = oe.call(M), he(O, k, M, F) } if (typeof M.then == "function") return Je(O, k, Xr(M), F); if (M.$$typeof === B) return Je(O, k, Yr(O, M), F); Vr(O, M) } return typeof M == "string" && M !== "" || typeof M == "number" || typeof M == "bigint" ? (M = "" + M, k !== null && k.tag === 6 ? (n(O, k.sibling), F = c(k, M), F.return = O, O = F) : (n(O, k), F = Ju(M, O.mode, F), F.return = O, O = F), v(O)) : n(O, k) } return function (O, k, M, F) { try { yo = 0; var oe = Je(O, k, M, F); return li = null, oe } catch (se) { if (se === si || se === Gr) throw se; var qe = Sn(29, se, null, O.mode); return qe.lanes = F, qe.return = O, qe } finally { } } } var ol = v0(!0), y0 = v0(!1), hs = !1; function dd(e) { e.updateQueue = { baseState: e.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, lanes: 0, hiddenCallbacks: null }, callbacks: null } } function fd(e, t) { e = e.updateQueue, t.updateQueue === e && (t.updateQueue = { baseState: e.baseState, firstBaseUpdate: e.firstBaseUpdate, lastBaseUpdate: e.lastBaseUpdate, shared: e.shared, callbacks: null }) } function ms(e) { return { lane: e, tag: 0, payload: null, callback: null, next: null } } function ps(e, t, n) { var s = e.updateQueue; if (s === null) return null; if (s = s.shared, (Ye & 2) !== 0) { var c = s.pending; return c === null ? t.next = t : (t.next = c.next, c.next = t), s.pending = t, t = qr(e), t0(e, null, n), t } return Hr(e, s, t, n), qr(e) } function bo(e, t, n) { if (t = t.updateQueue, t !== null && (t = t.shared, (n & 4194048) !== 0)) { var s = t.lanes; s &= e.pendingLanes, n |= s, t.lanes = n, cm(e, n) } } function hd(e, t) { var n = e.updateQueue, s = e.alternate; if (s !== null && (s = s.updateQueue, n === s)) { var c = null, u = null; if (n = n.firstBaseUpdate, n !== null) { do { var v = { lane: n.lane, tag: n.tag, payload: n.payload, callback: null, next: null }; u === null ? c = u = v : u = u.next = v, n = n.next } while (n !== null); u === null ? c = u = t : u = u.next = t } else c = u = t; n = { baseState: s.baseState, firstBaseUpdate: c, lastBaseUpdate: u, shared: s.shared, callbacks: s.callbacks }, e.updateQueue = n; return } e = n.lastBaseUpdate, e === null ? n.firstBaseUpdate = t : e.next = t, n.lastBaseUpdate = t } var md = !1; function xo() { if (md) { var e = ai; if (e !== null) throw e } } function Ao(e, t, n, s) { md = !1; var c = e.updateQueue; hs = !1; var u = c.firstBaseUpdate, v = c.lastBaseUpdate, x = c.shared.pending; if (x !== null) { c.shared.pending = null; var N = x, z = N.next; N.next = null, v === null ? u = z : v.next = z, v = N; var Q = e.alternate; Q !== null && (Q = Q.updateQueue, x = Q.lastBaseUpdate, x !== v && (x === null ? Q.firstBaseUpdate = z : x.next = z, Q.lastBaseUpdate = N)) } if (u !== null) { var I = c.baseState; v = 0, Q = z = N = null, x = u; do { var U = x.lane & -536870913, H = U !== x.lane; if (H ? (Be & U) === U : (s & U) === U) { U !== 0 && U === ni && (md = !0), Q !== null && (Q = Q.next = { lane: 0, tag: x.tag, payload: x.payload, callback: null, next: null }); e: { var ne = e, he = x; U = t; var Je = n; switch (he.tag) { case 1: if (ne = he.payload, typeof ne == "function") { I = ne.call(Je, I, U); break e } I = ne; break e; case 3: ne.flags = ne.flags & -65537 | 128; case 0: if (ne = he.payload, U = typeof ne == "function" ? ne.call(Je, I, U) : ne, U == null) break e; I = _({}, I, U); break e; case 2: hs = !0 } } U = x.callback, U !== null && (e.flags |= 64, H && (e.flags |= 8192), H = c.callbacks, H === null ? c.callbacks = [U] : H.push(U)) } else H = { lane: U, tag: x.tag, payload: x.payload, callback: x.callback, next: null }, Q === null ? (z = Q = H, N = I) : Q = Q.next = H, v |= U; if (x = x.next, x === null) { if (x = c.shared.pending, x === null) break; H = x, x = H.next, H.next = null, c.lastBaseUpdate = H, c.shared.pending = null } } while (!0); Q === null && (N = I), c.baseState = N, c.firstBaseUpdate = z, c.lastBaseUpdate = Q, u === null && (c.shared.lanes = 0), bs |= v, e.lanes = v, e.memoizedState = I } } function _0(e, t) { if (typeof e != "function") throw Error(r(191, e)); e.call(t) } function b0(e, t) { var n = e.callbacks; if (n !== null) for (e.callbacks = null, e = 0; e < n.length; e++)_0(n[e], t) } var ii = T(null), Zr = T(0); function x0(e, t) { e = Ha, Z(Zr, e), Z(ii, t), Ha = e | t.baseLanes } function pd() { Z(Zr, Ha), Z(ii, ii.current) } function gd() { Ha = Zr.current, Y(ii), Y(Zr) } var jn = T(null), In = null; function gs(e) { var t = e.alternate; Z(_t, _t.current & 1), Z(jn, e), In === null && (t === null || ii.current !== null || t.memoizedState !== null) && (In = e) } function vd(e) { Z(_t, _t.current), Z(jn, e), In === null && (In = e) } function A0(e) { e.tag === 22 ? (Z(_t, _t.current), Z(jn, e), In === null && (In = e)) : vs() } function vs() { Z(_t, _t.current), Z(jn, jn.current) } function wn(e) { Y(jn), In === e && (In = null), Y(_t) } var _t = T(0); function Wr(e) { for (var t = e; t !== null;) { if (t.tag === 13) { var n = t.memoizedState; if (n !== null && (n = n.dehydrated, n === null || jf(n) || wf(n))) return t } else if (t.tag === 19 && (t.memoizedProps.revealOrder === "forwards" || t.memoizedProps.revealOrder === "backwards" || t.memoizedProps.revealOrder === "unstable_legacy-backwards" || t.memoizedProps.revealOrder === "together")) { if ((t.flags & 128) !== 0) return t } else if (t.child !== null) { t.child.return = t, t = t.child; continue } if (t === e) break; for (; t.sibling === null;) { if (t.return === null || t.return === e) return null; t = t.return } t.sibling.return = t.return, t = t.sibling } return null } var ka = 0, Se = null, Ze = null, jt = null, Jr = !1, oi = !1, rl = !1, $r = 0, So = 0, ri = null, L_ = 0; function ft() { throw Error(r(321)) } function yd(e, t) { if (t === null) return !1; for (var n = 0; n < t.length && n < e.length; n++)if (!An(e[n], t[n])) return !1; return !0 } function _d(e, t, n, s, c, u) { return ka = u, Se = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, q.H = e === null || e.memoizedState === null ? lp : Ld, rl = !1, u = n(s, c), rl = !1, oi && (u = j0(t, n, s, c)), S0(e), u } function S0(e) { q.H = Eo; var t = Ze !== null && Ze.next !== null; if (ka = 0, jt = Ze = Se = null, Jr = !1, So = 0, ri = null, t) throw Error(r(300)); e === null || wt || (e = e.dependencies, e !== null && Fr(e) && (wt = !0)) } function j0(e, t, n, s) { Se = e; var c = 0; do { if (oi && (ri = null), So = 0, oi = !1, 25 <= c) throw Error(r(301)); if (c += 1, jt = Ze = null, e.updateQueue != null) { var u = e.updateQueue; u.lastEffect = null, u.events = null, u.stores = null, u.memoCache != null && (u.memoCache.index = 0) } q.H = ip, u = t(n, s) } while (oi); return u } function M_() { var e = q.H, t = e.useState()[0]; return t = typeof t.then == "function" ? jo(t) : t, e = e.useState()[0], (Ze !== null ? Ze.memoizedState : null) !== e && (Se.flags |= 1024), t } function bd() { var e = $r !== 0; return $r = 0, e } function xd(e, t, n) { t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~n } function Ad(e) { if (Jr) { for (e = e.memoizedState; e !== null;) { var t = e.queue; t !== null && (t.pending = null), e = e.next } Jr = !1 } ka = 0, jt = Ze = Se = null, oi = !1, So = $r = 0, ri = null } function Jt() { var e = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null }; return jt === null ? Se.memoizedState = jt = e : jt = jt.next = e, jt } function bt() { if (Ze === null) { var e = Se.alternate; e = e !== null ? e.memoizedState : null } else e = Ze.next; var t = jt === null ? Se.memoizedState : jt.next; if (t !== null) jt = t, Ze = e; else { if (e === null) throw Se.alternate === null ? Error(r(467)) : Error(r(310)); Ze = e, e = { memoizedState: Ze.memoizedState, baseState: Ze.baseState, baseQueue: Ze.baseQueue, queue: Ze.queue, next: null }, jt === null ? Se.memoizedState = jt = e : jt = jt.next = e } return jt } function ec() { return { lastEffect: null, events: null, stores: null, memoCache: null } } function jo(e) { var t = So; return So += 1, ri === null && (ri = []), e = m0(ri, e, t), t = Se, (jt === null ? t.memoizedState : jt.next) === null && (t = t.alternate, q.H = t === null || t.memoizedState === null ? lp : Ld), e } function tc(e) { if (e !== null && typeof e == "object") { if (typeof e.then == "function") return jo(e); if (e.$$typeof === B) return Ft(e) } throw Error(r(438, String(e))) } function Sd(e) { var t = null, n = Se.updateQueue; if (n !== null && (t = n.memoCache), t == null) { var s = Se.alternate; s !== null && (s = s.updateQueue, s !== null && (s = s.memoCache, s != null && (t = { data: s.data.map(function (c) { return c.slice() }), index: 0 }))) } if (t == null && (t = { data: [], index: 0 }), n === null && (n = ec(), Se.updateQueue = n), n.memoCache = t, n = t.data[t.index], n === void 0) for (n = t.data[t.index] = Array(e), s = 0; s < e; s++)n[s] = re; return t.index++, n } function Ba(e, t) { return typeof t == "function" ? t(e) : t } function nc(e) { var t = bt(); return jd(t, Ze, e) } function jd(e, t, n) { var s = e.queue; if (s === null) throw Error(r(311)); s.lastRenderedReducer = n; var c = e.baseQueue, u = s.pending; if (u !== null) { if (c !== null) { var v = c.next; c.next = u.next, u.next = v } t.baseQueue = c = u, s.pending = null } if (u = e.baseState, c === null) e.memoizedState = u; else { t = c.next; var x = v = null, N = null, z = t, Q = !1; do { var I = z.lane & -536870913; if (I !== z.lane ? (Be & I) === I : (ka & I) === I) { var U = z.revertLane; if (U === 0) N !== null && (N = N.next = { lane: 0, revertLane: 0, gesture: null, action: z.action, hasEagerState: z.hasEagerState, eagerState: z.eagerState, next: null }), I === ni && (Q = !0); else if ((ka & U) === U) { z = z.next, U === ni && (Q = !0); continue } else I = { lane: 0, revertLane: z.revertLane, gesture: null, action: z.action, hasEagerState: z.hasEagerState, eagerState: z.eagerState, next: null }, N === null ? (x = N = I, v = u) : N = N.next = I, Se.lanes |= U, bs |= U; I = z.action, rl && n(u, I), u = z.hasEagerState ? z.eagerState : n(u, I) } else U = { lane: I, revertLane: z.revertLane, gesture: z.gesture, action: z.action, hasEagerState: z.hasEagerState, eagerState: z.eagerState, next: null }, N === null ? (x = N = U, v = u) : N = N.next = U, Se.lanes |= I, bs |= I; z = z.next } while (z !== null && z !== t); if (N === null ? v = u : N.next = x, !An(u, e.memoizedState) && (wt = !0, Q && (n = ai, n !== null))) throw n; e.memoizedState = u, e.baseState = v, e.baseQueue = N, s.lastRenderedState = u } return c === null && (s.lanes = 0), [e.memoizedState, s.dispatch] } function wd(e) { var t = bt(), n = t.queue; if (n === null) throw Error(r(311)); n.lastRenderedReducer = e; var s = n.dispatch, c = n.pending, u = t.memoizedState; if (c !== null) { n.pending = null; var v = c = c.next; do u = e(u, v.action), v = v.next; while (v !== c); An(u, t.memoizedState) || (wt = !0), t.memoizedState = u, t.baseQueue === null && (t.baseState = u), n.lastRenderedState = u } return [u, s] } function w0(e, t, n) { var s = Se, c = bt(), u = Le; if (u) { if (n === void 0) throw Error(r(407)); n = n() } else n = t(); var v = !An((Ze || c).memoizedState, n); if (v && (c.memoizedState = n, wt = !0), c = c.queue, Cd(C0.bind(null, s, c, e), [e]), c.getSnapshot !== t || v || jt !== null && jt.memoizedState.tag & 1) { if (s.flags |= 2048, ci(9, { destroy: void 0 }, N0.bind(null, s, c, n, t), null), $e === null) throw Error(r(349)); u || (ka & 127) !== 0 || E0(s, t, n) } return n } function E0(e, t, n) { e.flags |= 16384, e = { getSnapshot: t, value: n }, t = Se.updateQueue, t === null ? (t = ec(), Se.updateQueue = t, t.stores = [e]) : (n = t.stores, n === null ? t.stores = [e] : n.push(e)) } function N0(e, t, n, s) { t.value = n, t.getSnapshot = s, T0(t) && R0(e) } function C0(e, t, n) { return n(function () { T0(t) && R0(e) }) } function T0(e) { var t = e.getSnapshot; e = e.value; try { var n = t(); return !An(e, n) } catch { return !0 } } function R0(e) { var t = $s(e, 2); t !== null && un(t, e, 2) } function Ed(e) { var t = Jt(); if (typeof e == "function") { var n = e; if (e = n(), rl) { is(!0); try { n() } finally { is(!1) } } } return t.memoizedState = t.baseState = e, t.queue = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: Ba, lastRenderedState: e }, t } function k0(e, t, n, s) { return e.baseState = n, jd(e, Ze, typeof s == "function" ? s : Ba) } function z_(e, t, n, s, c) { if (lc(e)) throw Error(r(485)); if (e = t.action, e !== null) { var u = { payload: c, action: e, next: null, isTransition: !0, status: "pending", value: null, reason: null, listeners: [], then: function (v) { u.listeners.push(v) } }; q.T !== null ? n(!0) : u.isTransition = !1, s(u), n = t.pending, n === null ? (u.next = t.pending = u, B0(t, u)) : (u.next = n.next, t.pending = n.next = u) } } function B0(e, t) { var n = t.action, s = t.payload, c = e.state; if (t.isTransition) { var u = q.T, v = {}; q.T = v; try { var x = n(c, s), N = q.S; N !== null && N(v, x), O0(e, t, x) } catch (z) { Nd(e, t, z) } finally { u !== null && v.types !== null && (u.types = v.types), q.T = u } } else try { u = n(c, s), O0(e, t, u) } catch (z) { Nd(e, t, z) } } function O0(e, t, n) { n !== null && typeof n == "object" && typeof n.then == "function" ? n.then(function (s) { L0(e, t, s) }, function (s) { return Nd(e, t, s) }) : L0(e, t, n) } function L0(e, t, n) { t.status = "fulfilled", t.value = n, M0(t), e.state = n, t = e.pending, t !== null && (n = t.next, n === t ? e.pending = null : (n = n.next, t.next = n, B0(e, n))) } function Nd(e, t, n) { var s = e.pending; if (e.pending = null, s !== null) { s = s.next; do t.status = "rejected", t.reason = n, M0(t), t = t.next; while (t !== s) } e.action = null } function M0(e) { e = e.listeners; for (var t = 0; t < e.length; t++)(0, e[t])() } function z0(e, t) { return t } function D0(e, t) { if (Le) { var n = $e.formState; if (n !== null) { e: { var s = Se; if (Le) { if (st) { t: { for (var c = st, u = Yn; c.nodeType !== 8;) { if (!u) { c = null; break t } if (c = Gn(c.nextSibling), c === null) { c = null; break t } } u = c.data, c = u === "F!" || u === "F" ? c : null } if (c) { st = Gn(c.nextSibling), s = c.data === "F!"; break e } } ds(s) } s = !1 } s && (t = n[0]) } } return n = Jt(), n.memoizedState = n.baseState = t, s = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: z0, lastRenderedState: t }, n.queue = s, n = np.bind(null, Se, s), s.dispatch = n, s = Ed(!1), u = Od.bind(null, Se, !1, s.queue), s = Jt(), c = { state: t, dispatch: null, action: e, pending: null }, s.queue = c, n = z_.bind(null, Se, c, u, n), c.dispatch = n, s.memoizedState = e, [t, n, !1] } function U0(e) { var t = bt(); return H0(t, Ze, e) } function H0(e, t, n) { if (t = jd(e, t, z0)[0], e = nc(Ba)[0], typeof t == "object" && t !== null && typeof t.then == "function") try { var s = jo(t) } catch (v) { throw v === si ? Gr : v } else s = t; t = bt(); var c = t.queue, u = c.dispatch; return n !== t.memoizedState && (Se.flags |= 2048, ci(9, { destroy: void 0 }, D_.bind(null, c, n), null)), [s, u, e] } function D_(e, t) { e.action = t } function q0(e) { var t = bt(), n = Ze; if (n !== null) return H0(t, n, e); bt(), t = t.memoizedState, n = bt(); var s = n.queue.dispatch; return n.memoizedState = e, [t, s, !1] } function ci(e, t, n, s) { return e = { tag: e, create: n, deps: s, inst: t, next: null }, t = Se.updateQueue, t === null && (t = ec(), Se.updateQueue = t), n = t.lastEffect, n === null ? t.lastEffect = e.next = e : (s = n.next, n.next = e, e.next = s, t.lastEffect = e), e } function P0() { return bt().memoizedState } function ac(e, t, n, s) { var c = Jt(); Se.flags |= e, c.memoizedState = ci(1 | t, { destroy: void 0 }, n, s === void 0 ? null : s) } function sc(e, t, n, s) { var c = bt(); s = s === void 0 ? null : s; var u = c.memoizedState.inst; Ze !== null && s !== null && yd(s, Ze.memoizedState.deps) ? c.memoizedState = ci(t, u, n, s) : (Se.flags |= e, c.memoizedState = ci(1 | t, u, n, s)) } function Q0(e, t) { ac(8390656, 8, e, t) } function Cd(e, t) { sc(2048, 8, e, t) } function U_(e) { Se.flags |= 4; var t = Se.updateQueue; if (t === null) t = ec(), Se.updateQueue = t, t.events = [e]; else { var n = t.events; n === null ? t.events = [e] : n.push(e) } } function F0(e) { var t = bt().memoizedState; return U_({ ref: t, nextImpl: e }), function () { if ((Ye & 2) !== 0) throw Error(r(440)); return t.impl.apply(void 0, arguments) } } function Y0(e, t) { return sc(4, 2, e, t) } function I0(e, t) { return sc(4, 4, e, t) } function G0(e, t) { if (typeof t == "function") { e = e(); var n = t(e); return function () { typeof n == "function" ? n() : t(null) } } if (t != null) return e = e(), t.current = e, function () { t.current = null } } function K0(e, t, n) { n = n != null ? n.concat([e]) : null, sc(4, 4, G0.bind(null, t, e), n) } function Td() { } function X0(e, t) { var n = bt(); t = t === void 0 ? null : t; var s = n.memoizedState; return t !== null && yd(t, s[1]) ? s[0] : (n.memoizedState = [e, t], e) } function V0(e, t) { var n = bt(); t = t === void 0 ? null : t; var s = n.memoizedState; if (t !== null && yd(t, s[1])) return s[0]; if (s = e(), rl) { is(!0); try { e() } finally { is(!1) } } return n.memoizedState = [s, t], s } function Rd(e, t, n) { return n === void 0 || (ka & 1073741824) !== 0 && (Be & 261930) === 0 ? e.memoizedState = t : (e.memoizedState = n, e = Zp(), Se.lanes |= e, bs |= e, n) } function Z0(e, t, n, s) { return An(n, t) ? n : ii.current !== null ? (e = Rd(e, n, s), An(e, t) || (wt = !0), e) : (ka & 42) === 0 || (ka & 1073741824) !== 0 && (Be & 261930) === 0 ? (wt = !0, e.memoizedState = n) : (e = Zp(), Se.lanes |= e, bs |= e, t) } function W0(e, t, n, s, c) { var u = X.p; X.p = u !== 0 && 8 > u ? u : 8; var v = q.T, x = {}; q.T = x, Od(e, !1, t, n); try { var N = c(), z = q.S; if (z !== null && z(x, N), N !== null && typeof N == "object" && typeof N.then == "function") { var Q = O_(N, s); wo(e, t, Q, Cn(e)) } else wo(e, t, s, Cn(e)) } catch (I) { wo(e, t, { then: function () { }, status: "rejected", reason: I }, Cn()) } finally { X.p = u, v !== null && x.types !== null && (v.types = x.types), q.T = v } } function H_() { } function kd(e, t, n, s) { if (e.tag !== 5) throw Error(r(476)); var c = J0(e).queue; W0(e, c, t, W, n === null ? H_ : function () { return $0(e), n(s) }) } function J0(e) { var t = e.memoizedState; if (t !== null) return t; t = { memoizedState: W, baseState: W, baseQueue: null, queue: { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: Ba, lastRenderedState: W }, next: null }; var n = {}; return t.next = { memoizedState: n, baseState: n, baseQueue: null, queue: { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: Ba, lastRenderedState: n }, next: null }, e.memoizedState = t, e = e.alternate, e !== null && (e.memoizedState = t), t } function $0(e) { var t = J0(e); t.next === null && (t = e.alternate.memoizedState), wo(e, t.next.queue, {}, Cn()) } function Bd() { return Ft(Qo) } function ep() { return bt().memoizedState } function tp() { return bt().memoizedState } function q_(e) { for (var t = e.return; t !== null;) { switch (t.tag) { case 24: case 3: var n = Cn(); e = ms(n); var s = ps(t, e, n); s !== null && (un(s, t, n), bo(s, t, n)), t = { cache: od() }, e.payload = t; return }t = t.return } } function P_(e, t, n) { var s = Cn(); n = { lane: s, revertLane: 0, gesture: null, action: n, hasEagerState: !1, eagerState: null, next: null }, lc(e) ? ap(t, n) : (n = Zu(e, t, n, s), n !== null && (un(n, e, s), sp(n, t, s))) } function np(e, t, n) { var s = Cn(); wo(e, t, n, s) } function wo(e, t, n, s) { var c = { lane: s, revertLane: 0, gesture: null, action: n, hasEagerState: !1, eagerState: null, next: null }; if (lc(e)) ap(t, c); else { var u = e.alternate; if (e.lanes === 0 && (u === null || u.lanes === 0) && (u = t.lastRenderedReducer, u !== null)) try { var v = t.lastRenderedState, x = u(v, n); if (c.hasEagerState = !0, c.eagerState = x, An(x, v)) return Hr(e, t, c, 0), $e === null && Ur(), !1 } catch { } finally { } if (n = Zu(e, t, c, s), n !== null) return un(n, e, s), sp(n, t, s), !0 } return !1 } function Od(e, t, n, s) { if (s = { lane: 2, revertLane: ff(), gesture: null, action: s, hasEagerState: !1, eagerState: null, next: null }, lc(e)) { if (t) throw Error(r(479)) } else t = Zu(e, n, s, 2), t !== null && un(t, e, 2) } function lc(e) { var t = e.alternate; return e === Se || t !== null && t === Se } function ap(e, t) { oi = Jr = !0; var n = e.pending; n === null ? t.next = t : (t.next = n.next, n.next = t), e.pending = t } function sp(e, t, n) { if ((n & 4194048) !== 0) { var s = t.lanes; s &= e.pendingLanes, n |= s, t.lanes = n, cm(e, n) } } var Eo = { readContext: Ft, use: tc, useCallback: ft, useContext: ft, useEffect: ft, useImperativeHandle: ft, useLayoutEffect: ft, useInsertionEffect: ft, useMemo: ft, useReducer: ft, useRef: ft, useState: ft, useDebugValue: ft, useDeferredValue: ft, useTransition: ft, useSyncExternalStore: ft, useId: ft, useHostTransitionStatus: ft, useFormState: ft, useActionState: ft, useOptimistic: ft, useMemoCache: ft, useCacheRefresh: ft }; Eo.useEffectEvent = ft; var lp = { readContext: Ft, use: tc, useCallback: function (e, t) { return Jt().memoizedState = [e, t === void 0 ? null : t], e }, useContext: Ft, useEffect: Q0, useImperativeHandle: function (e, t, n) { n = n != null ? n.concat([e]) : null, ac(4194308, 4, G0.bind(null, t, e), n) }, useLayoutEffect: function (e, t) { return ac(4194308, 4, e, t) }, useInsertionEffect: function (e, t) { ac(4, 2, e, t) }, useMemo: function (e, t) { var n = Jt(); t = t === void 0 ? null : t; var s = e(); if (rl) { is(!0); try { e() } finally { is(!1) } } return n.memoizedState = [s, t], s }, useReducer: function (e, t, n) { var s = Jt(); if (n !== void 0) { var c = n(t); if (rl) { is(!0); try { n(t) } finally { is(!1) } } } else c = t; return s.memoizedState = s.baseState = c, e = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: c }, s.queue = e, e = e.dispatch = P_.bind(null, Se, e), [s.memoizedState, e] }, useRef: function (e) { var t = Jt(); return e = { current: e }, t.memoizedState = e }, useState: function (e) { e = Ed(e); var t = e.queue, n = np.bind(null, Se, t); return t.dispatch = n, [e.memoizedState, n] }, useDebugValue: Td, useDeferredValue: function (e, t) { var n = Jt(); return Rd(n, e, t) }, useTransition: function () { var e = Ed(!1); return e = W0.bind(null, Se, e.queue, !0, !1), Jt().memoizedState = e, [!1, e] }, useSyncExternalStore: function (e, t, n) { var s = Se, c = Jt(); if (Le) { if (n === void 0) throw Error(r(407)); n = n() } else { if (n = t(), $e === null) throw Error(r(349)); (Be & 127) !== 0 || E0(s, t, n) } c.memoizedState = n; var u = { value: n, getSnapshot: t }; return c.queue = u, Q0(C0.bind(null, s, u, e), [e]), s.flags |= 2048, ci(9, { destroy: void 0 }, N0.bind(null, s, u, n, t), null), n }, useId: function () { var e = Jt(), t = $e.identifierPrefix; if (Le) { var n = fa, s = da; n = (s & ~(1 << 32 - xn(s) - 1)).toString(32) + n, t = "_" + t + "R_" + n, n = $r++, 0 < n && (t += "H" + n.toString(32)), t += "_" } else n = L_++, t = "_" + t + "r_" + n.toString(32) + "_"; return e.memoizedState = t }, useHostTransitionStatus: Bd, useFormState: D0, useActionState: D0, useOptimistic: function (e) { var t = Jt(); t.memoizedState = t.baseState = e; var n = { pending: null, lanes: 0, dispatch: null, lastRenderedReducer: null, lastRenderedState: null }; return t.queue = n, t = Od.bind(null, Se, !0, n), n.dispatch = t, [e, t] }, useMemoCache: Sd, useCacheRefresh: function () { return Jt().memoizedState = q_.bind(null, Se) }, useEffectEvent: function (e) { var t = Jt(), n = { impl: e }; return t.memoizedState = n, function () { if ((Ye & 2) !== 0) throw Error(r(440)); return n.impl.apply(void 0, arguments) } } }, Ld = { readContext: Ft, use: tc, useCallback: X0, useContext: Ft, useEffect: Cd, useImperativeHandle: K0, useInsertionEffect: Y0, useLayoutEffect: I0, useMemo: V0, useReducer: nc, useRef: P0, useState: function () { return nc(Ba) }, useDebugValue: Td, useDeferredValue: function (e, t) { var n = bt(); return Z0(n, Ze.memoizedState, e, t) }, useTransition: function () { var e = nc(Ba)[0], t = bt().memoizedState; return [typeof e == "boolean" ? e : jo(e), t] }, useSyncExternalStore: w0, useId: ep, useHostTransitionStatus: Bd, useFormState: U0, useActionState: U0, useOptimistic: function (e, t) { var n = bt(); return k0(n, Ze, e, t) }, useMemoCache: Sd, useCacheRefresh: tp }; Ld.useEffectEvent = F0; var ip = { readContext: Ft, use: tc, useCallback: X0, useContext: Ft, useEffect: Cd, useImperativeHandle: K0, useInsertionEffect: Y0, useLayoutEffect: I0, useMemo: V0, useReducer: wd, useRef: P0, useState: function () { return wd(Ba) }, useDebugValue: Td, useDeferredValue: function (e, t) { var n = bt(); return Ze === null ? Rd(n, e, t) : Z0(n, Ze.memoizedState, e, t) }, useTransition: function () { var e = wd(Ba)[0], t = bt().memoizedState; return [typeof e == "boolean" ? e : jo(e), t] }, useSyncExternalStore: w0, useId: ep, useHostTransitionStatus: Bd, useFormState: q0, useActionState: q0, useOptimistic: function (e, t) { var n = bt(); return Ze !== null ? k0(n, Ze, e, t) : (n.baseState = e, [e, n.queue.dispatch]) }, useMemoCache: Sd, useCacheRefresh: tp }; ip.useEffectEvent = F0; function Md(e, t, n, s) { t = e.memoizedState, n = n(s, t), n = n == null ? t : _({}, t, n), e.memoizedState = n, e.lanes === 0 && (e.updateQueue.baseState = n) } var zd = { enqueueSetState: function (e, t, n) { e = e._reactInternals; var s = Cn(), c = ms(s); c.payload = t, n != null && (c.callback = n), t = ps(e, c, s), t !== null && (un(t, e, s), bo(t, e, s)) }, enqueueReplaceState: function (e, t, n) { e = e._reactInternals; var s = Cn(), c = ms(s); c.tag = 1, c.payload = t, n != null && (c.callback = n), t = ps(e, c, s), t !== null && (un(t, e, s), bo(t, e, s)) }, enqueueForceUpdate: function (e, t) { e = e._reactInternals; var n = Cn(), s = ms(n); s.tag = 2, t != null && (s.callback = t), t = ps(e, s, n), t !== null && (un(t, e, n), bo(t, e, n)) } }; function op(e, t, n, s, c, u, v) { return e = e.stateNode, typeof e.shouldComponentUpdate == "function" ? e.shouldComponentUpdate(s, u, v) : t.prototype && t.prototype.isPureReactComponent ? !fo(n, s) || !fo(c, u) : !0 } function rp(e, t, n, s) { e = t.state, typeof t.componentWillReceiveProps == "function" && t.componentWillReceiveProps(n, s), typeof t.UNSAFE_componentWillReceiveProps == "function" && t.UNSAFE_componentWillReceiveProps(n, s), t.state !== e && zd.enqueueReplaceState(t, t.state, null) } function cl(e, t) { var n = t; if ("ref" in t) { n = {}; for (var s in t) s !== "ref" && (n[s] = t[s]) } if (e = e.defaultProps) { n === t && (n = _({}, n)); for (var c in e) n[c] === void 0 && (n[c] = e[c]) } return n } function cp(e) { Dr(e) } function up(e) { console.error(e) } function dp(e) { Dr(e) } function ic(e, t) { try { var n = e.onUncaughtError; n(t.value, { componentStack: t.stack }) } catch (s) { setTimeout(function () { throw s }) } } function fp(e, t, n) { try { var s = e.onCaughtError; s(n.value, { componentStack: n.stack, errorBoundary: t.tag === 1 ? t.stateNode : null }) } catch (c) { setTimeout(function () { throw c }) } } function Dd(e, t, n) { return n = ms(n), n.tag = 3, n.payload = { element: null }, n.callback = function () { ic(e, t) }, n } function hp(e) { return e = ms(e), e.tag = 3, e } function mp(e, t, n, s) { var c = n.type.getDerivedStateFromError; if (typeof c == "function") { var u = s.value; e.payload = function () { return c(u) }, e.callback = function () { fp(t, n, s) } } var v = n.stateNode; v !== null && typeof v.componentDidCatch == "function" && (e.callback = function () { fp(t, n, s), typeof c != "function" && (xs === null ? xs = new Set([this]) : xs.add(this)); var x = s.stack; this.componentDidCatch(s.value, { componentStack: x !== null ? x : "" }) }) } function Q_(e, t, n, s, c) { if (n.flags |= 32768, s !== null && typeof s == "object" && typeof s.then == "function") { if (t = n.alternate, t !== null && ti(t, n, c, !0), n = jn.current, n !== null) { switch (n.tag) { case 31: case 13: return In === null ? yc() : n.alternate === null && ht === 0 && (ht = 3), n.flags &= -257, n.flags |= 65536, n.lanes = c, s === Kr ? n.flags |= 16384 : (t = n.updateQueue, t === null ? n.updateQueue = new Set([s]) : t.add(s), cf(e, s, c)), !1; case 22: return n.flags |= 65536, s === Kr ? n.flags |= 16384 : (t = n.updateQueue, t === null ? (t = { transitions: null, markerInstances: null, retryQueue: new Set([s]) }, n.updateQueue = t) : (n = t.retryQueue, n === null ? t.retryQueue = new Set([s]) : n.add(s)), cf(e, s, c)), !1 }throw Error(r(435, n.tag)) } return cf(e, s, c), yc(), !1 } if (Le) return t = jn.current, t !== null ? ((t.flags & 65536) === 0 && (t.flags |= 256), t.flags |= 65536, t.lanes = c, s !== nd && (e = Error(r(422), { cause: s }), po(Pn(e, n)))) : (s !== nd && (t = Error(r(423), { cause: s }), po(Pn(t, n))), e = e.current.alternate, e.flags |= 65536, c &= -c, e.lanes |= c, s = Pn(s, n), c = Dd(e.stateNode, s, c), hd(e, c), ht !== 4 && (ht = 2)), !1; var u = Error(r(520), { cause: s }); if (u = Pn(u, n), Lo === null ? Lo = [u] : Lo.push(u), ht !== 4 && (ht = 2), t === null) return !0; s = Pn(s, n), n = t; do { switch (n.tag) { case 3: return n.flags |= 65536, e = c & -c, n.lanes |= e, e = Dd(n.stateNode, s, e), hd(n, e), !1; case 1: if (t = n.type, u = n.stateNode, (n.flags & 128) === 0 && (typeof t.getDerivedStateFromError == "function" || u !== null && typeof u.componentDidCatch == "function" && (xs === null || !xs.has(u)))) return n.flags |= 65536, c &= -c, n.lanes |= c, c = hp(c), mp(c, e, n, s), hd(n, c), !1 }n = n.return } while (n !== null); return !1 } var Ud = Error(r(461)), wt = !1; function Yt(e, t, n, s) { t.child = e === null ? y0(t, null, n, s) : ol(t, e.child, n, s) } function pp(e, t, n, s, c) { n = n.render; var u = t.ref; if ("ref" in s) { var v = {}; for (var x in s) x !== "ref" && (v[x] = s[x]) } else v = s; return al(t), s = _d(e, t, n, v, u, c), x = bd(), e !== null && !wt ? (xd(e, t, c), Oa(e, t, c)) : (Le && x && ed(t), t.flags |= 1, Yt(e, t, s, c), t.child) } function gp(e, t, n, s, c) { if (e === null) { var u = n.type; return typeof u == "function" && !Wu(u) && u.defaultProps === void 0 && n.compare === null ? (t.tag = 15, t.type = u, vp(e, t, u, s, c)) : (e = Pr(n.type, null, s, t, t.mode, c), e.ref = t.ref, e.return = t, t.child = e) } if (u = e.child, !Gd(e, c)) { var v = u.memoizedProps; if (n = n.compare, n = n !== null ? n : fo, n(v, s) && e.ref === t.ref) return Oa(e, t, c) } return t.flags |= 1, e = Na(u, s), e.ref = t.ref, e.return = t, t.child = e } function vp(e, t, n, s, c) { if (e !== null) { var u = e.memoizedProps; if (fo(u, s) && e.ref === t.ref) if (wt = !1, t.pendingProps = s = u, Gd(e, c)) (e.flags & 131072) !== 0 && (wt = !0); else return t.lanes = e.lanes, Oa(e, t, c) } return Hd(e, t, n, s, c) } function yp(e, t, n, s) { var c = s.children, u = e !== null ? e.memoizedState : null; if (e === null && t.stateNode === null && (t.stateNode = { _visibility: 1, _pendingMarkers: null, _retryCache: null, _transitions: null }), s.mode === "hidden") { if ((t.flags & 128) !== 0) { if (u = u !== null ? u.baseLanes | n : n, e !== null) { for (s = t.child = e.child, c = 0; s !== null;)c = c | s.lanes | s.childLanes, s = s.sibling; s = c & ~u } else s = 0, t.child = null; return _p(e, t, u, n, s) } if ((n & 536870912) !== 0) t.memoizedState = { baseLanes: 0, cachePool: null }, e !== null && Ir(t, u !== null ? u.cachePool : null), u !== null ? x0(t, u) : pd(), A0(t); else return s = t.lanes = 536870912, _p(e, t, u !== null ? u.baseLanes | n : n, n, s) } else u !== null ? (Ir(t, u.cachePool), x0(t, u), vs(), t.memoizedState = null) : (e !== null && Ir(t, null), pd(), vs()); return Yt(e, t, c, n), t.child } function No(e, t) { return e !== null && e.tag === 22 || t.stateNode !== null || (t.stateNode = { _visibility: 1, _pendingMarkers: null, _retryCache: null, _transitions: null }), t.sibling } function _p(e, t, n, s, c) { var u = cd(); return u = u === null ? null : { parent: St._currentValue, pool: u }, t.memoizedState = { baseLanes: n, cachePool: u }, e !== null && Ir(t, null), pd(), A0(t), e !== null && ti(e, t, s, !0), t.childLanes = c, null } function oc(e, t) { return t = cc({ mode: t.mode, children: t.children }, e.mode), t.ref = e.ref, e.child = t, t.return = e, t } function bp(e, t, n) { return ol(t, e.child, null, n), e = oc(t, t.pendingProps), e.flags |= 2, wn(t), t.memoizedState = null, e } function F_(e, t, n) { var s = t.pendingProps, c = (t.flags & 128) !== 0; if (t.flags &= -129, e === null) { if (Le) { if (s.mode === "hidden") return e = oc(t, s), t.lanes = 536870912, No(null, e); if (vd(t), (e = st) ? (e = B2(e, Yn), e = e !== null && e.data === "&" ? e : null, e !== null && (t.memoizedState = { dehydrated: e, treeContext: cs !== null ? { id: da, overflow: fa } : null, retryLane: 536870912, hydrationErrors: null }, n = a0(e), n.return = t, t.child = n, Qt = t, st = null)) : e = null, e === null) throw ds(t); return t.lanes = 536870912, null } return oc(t, s) } var u = e.memoizedState; if (u !== null) { var v = u.dehydrated; if (vd(t), c) if (t.flags & 256) t.flags &= -257, t = bp(e, t, n); else if (t.memoizedState !== null) t.child = e.child, t.flags |= 128, t = null; else throw Error(r(558)); else if (wt || ti(e, t, n, !1), c = (n & e.childLanes) !== 0, wt || c) { if (s = $e, s !== null && (v = um(s, n), v !== 0 && v !== u.retryLane)) throw u.retryLane = v, $s(e, v), un(s, e, v), Ud; yc(), t = bp(e, t, n) } else e = u.treeContext, st = Gn(v.nextSibling), Qt = t, Le = !0, us = null, Yn = !1, e !== null && i0(t, e), t = oc(t, s), t.flags |= 4096; return t } return e = Na(e.child, { mode: s.mode, children: s.children }), e.ref = t.ref, t.child = e, e.return = t, e } function rc(e, t) { var n = t.ref; if (n === null) e !== null && e.ref !== null && (t.flags |= 4194816); else { if (typeof n != "function" && typeof n != "object") throw Error(r(284)); (e === null || e.ref !== n) && (t.flags |= 4194816) } } function Hd(e, t, n, s, c) { return al(t), n = _d(e, t, n, s, void 0, c), s = bd(), e !== null && !wt ? (xd(e, t, c), Oa(e, t, c)) : (Le && s && ed(t), t.flags |= 1, Yt(e, t, n, c), t.child) } function xp(e, t, n, s, c, u) { return al(t), t.updateQueue = null, n = j0(t, s, n, c), S0(e), s = bd(), e !== null && !wt ? (xd(e, t, u), Oa(e, t, u)) : (Le && s && ed(t), t.flags |= 1, Yt(e, t, n, u), t.child) } function Ap(e, t, n, s, c) { if (al(t), t.stateNode === null) { var u = Wl, v = n.contextType; typeof v == "object" && v !== null && (u = Ft(v)), u = new n(s, u), t.memoizedState = u.state !== null && u.state !== void 0 ? u.state : null, u.updater = zd, t.stateNode = u, u._reactInternals = t, u = t.stateNode, u.props = s, u.state = t.memoizedState, u.refs = {}, dd(t), v = n.contextType, u.context = typeof v == "object" && v !== null ? Ft(v) : Wl, u.state = t.memoizedState, v = n.getDerivedStateFromProps, typeof v == "function" && (Md(t, n, v, s), u.state = t.memoizedState), typeof n.getDerivedStateFromProps == "function" || typeof u.getSnapshotBeforeUpdate == "function" || typeof u.UNSAFE_componentWillMount != "function" && typeof u.componentWillMount != "function" || (v = u.state, typeof u.componentWillMount == "function" && u.componentWillMount(), typeof u.UNSAFE_componentWillMount == "function" && u.UNSAFE_componentWillMount(), v !== u.state && zd.enqueueReplaceState(u, u.state, null), Ao(t, s, u, c), xo(), u.state = t.memoizedState), typeof u.componentDidMount == "function" && (t.flags |= 4194308), s = !0 } else if (e === null) { u = t.stateNode; var x = t.memoizedProps, N = cl(n, x); u.props = N; var z = u.context, Q = n.contextType; v = Wl, typeof Q == "object" && Q !== null && (v = Ft(Q)); var I = n.getDerivedStateFromProps; Q = typeof I == "function" || typeof u.getSnapshotBeforeUpdate == "function", x = t.pendingProps !== x, Q || typeof u.UNSAFE_componentWillReceiveProps != "function" && typeof u.componentWillReceiveProps != "function" || (x || z !== v) && rp(t, u, s, v), hs = !1; var U = t.memoizedState; u.state = U, Ao(t, s, u, c), xo(), z = t.memoizedState, x || U !== z || hs ? (typeof I == "function" && (Md(t, n, I, s), z = t.memoizedState), (N = hs || op(t, n, N, s, U, z, v)) ? (Q || typeof u.UNSAFE_componentWillMount != "function" && typeof u.componentWillMount != "function" || (typeof u.componentWillMount == "function" && u.componentWillMount(), typeof u.UNSAFE_componentWillMount == "function" && u.UNSAFE_componentWillMount()), typeof u.componentDidMount == "function" && (t.flags |= 4194308)) : (typeof u.componentDidMount == "function" && (t.flags |= 4194308), t.memoizedProps = s, t.memoizedState = z), u.props = s, u.state = z, u.context = v, s = N) : (typeof u.componentDidMount == "function" && (t.flags |= 4194308), s = !1) } else { u = t.stateNode, fd(e, t), v = t.memoizedProps, Q = cl(n, v), u.props = Q, I = t.pendingProps, U = u.context, z = n.contextType, N = Wl, typeof z == "object" && z !== null && (N = Ft(z)), x = n.getDerivedStateFromProps, (z = typeof x == "function" || typeof u.getSnapshotBeforeUpdate == "function") || typeof u.UNSAFE_componentWillReceiveProps != "function" && typeof u.componentWillReceiveProps != "function" || (v !== I || U !== N) && rp(t, u, s, N), hs = !1, U = t.memoizedState, u.state = U, Ao(t, s, u, c), xo(); var H = t.memoizedState; v !== I || U !== H || hs || e !== null && e.dependencies !== null && Fr(e.dependencies) ? (typeof x == "function" && (Md(t, n, x, s), H = t.memoizedState), (Q = hs || op(t, n, Q, s, U, H, N) || e !== null && e.dependencies !== null && Fr(e.dependencies)) ? (z || typeof u.UNSAFE_componentWillUpdate != "function" && typeof u.componentWillUpdate != "function" || (typeof u.componentWillUpdate == "function" && u.componentWillUpdate(s, H, N), typeof u.UNSAFE_componentWillUpdate == "function" && u.UNSAFE_componentWillUpdate(s, H, N)), typeof u.componentDidUpdate == "function" && (t.flags |= 4), typeof u.getSnapshotBeforeUpdate == "function" && (t.flags |= 1024)) : (typeof u.componentDidUpdate != "function" || v === e.memoizedProps && U === e.memoizedState || (t.flags |= 4), typeof u.getSnapshotBeforeUpdate != "function" || v === e.memoizedProps && U === e.memoizedState || (t.flags |= 1024), t.memoizedProps = s, t.memoizedState = H), u.props = s, u.state = H, u.context = N, s = Q) : (typeof u.componentDidUpdate != "function" || v === e.memoizedProps && U === e.memoizedState || (t.flags |= 4), typeof u.getSnapshotBeforeUpdate != "function" || v === e.memoizedProps && U === e.memoizedState || (t.flags |= 1024), s = !1) } return u = s, rc(e, t), s = (t.flags & 128) !== 0, u || s ? (u = t.stateNode, n = s && typeof n.getDerivedStateFromError != "function" ? null : u.render(), t.flags |= 1, e !== null && s ? (t.child = ol(t, e.child, null, c), t.child = ol(t, null, n, c)) : Yt(e, t, n, c), t.memoizedState = u.state, e = t.child) : e = Oa(e, t, c), e } function Sp(e, t, n, s) { return tl(), t.flags |= 256, Yt(e, t, n, s), t.child } var qd = { dehydrated: null, treeContext: null, retryLane: 0, hydrationErrors: null }; function Pd(e) { return { baseLanes: e, cachePool: f0() } } function Qd(e, t, n) { return e = e !== null ? e.childLanes & ~n : 0, t && (e |= Nn), e } function jp(e, t, n) { var s = t.pendingProps, c = !1, u = (t.flags & 128) !== 0, v; if ((v = u) || (v = e !== null && e.memoizedState === null ? !1 : (_t.current & 2) !== 0), v && (c = !0, t.flags &= -129), v = (t.flags & 32) !== 0, t.flags &= -33, e === null) { if (Le) { if (c ? gs(t) : vs(), (e = st) ? (e = B2(e, Yn), e = e !== null && e.data !== "&" ? e : null, e !== null && (t.memoizedState = { dehydrated: e, treeContext: cs !== null ? { id: da, overflow: fa } : null, retryLane: 536870912, hydrationErrors: null }, n = a0(e), n.return = t, t.child = n, Qt = t, st = null)) : e = null, e === null) throw ds(t); return wf(e) ? t.lanes = 32 : t.lanes = 536870912, null } var x = s.children; return s = s.fallback, c ? (vs(), c = t.mode, x = cc({ mode: "hidden", children: x }, c), s = el(s, c, n, null), x.return = t, s.return = t, x.sibling = s, t.child = x, s = t.child, s.memoizedState = Pd(n), s.childLanes = Qd(e, v, n), t.memoizedState = qd, No(null, s)) : (gs(t), Fd(t, x)) } var N = e.memoizedState; if (N !== null && (x = N.dehydrated, x !== null)) { if (u) t.flags & 256 ? (gs(t), t.flags &= -257, t = Yd(e, t, n)) : t.memoizedState !== null ? (vs(), t.child = e.child, t.flags |= 128, t = null) : (vs(), x = s.fallback, c = t.mode, s = cc({ mode: "visible", children: s.children }, c), x = el(x, c, n, null), x.flags |= 2, s.return = t, x.return = t, s.sibling = x, t.child = s, ol(t, e.child, null, n), s = t.child, s.memoizedState = Pd(n), s.childLanes = Qd(e, v, n), t.memoizedState = qd, t = No(null, s)); else if (gs(t), wf(x)) { if (v = x.nextSibling && x.nextSibling.dataset, v) var z = v.dgst; v = z, s = Error(r(419)), s.stack = "", s.digest = v, po({ value: s, source: null, stack: null }), t = Yd(e, t, n) } else if (wt || ti(e, t, n, !1), v = (n & e.childLanes) !== 0, wt || v) { if (v = $e, v !== null && (s = um(v, n), s !== 0 && s !== N.retryLane)) throw N.retryLane = s, $s(e, s), un(v, e, s), Ud; jf(x) || yc(), t = Yd(e, t, n) } else jf(x) ? (t.flags |= 192, t.child = e.child, t = null) : (e = N.treeContext, st = Gn(x.nextSibling), Qt = t, Le = !0, us = null, Yn = !1, e !== null && i0(t, e), t = Fd(t, s.children), t.flags |= 4096); return t } return c ? (vs(), x = s.fallback, c = t.mode, N = e.child, z = N.sibling, s = Na(N, { mode: "hidden", children: s.children }), s.subtreeFlags = N.subtreeFlags & 65011712, z !== null ? x = Na(z, x) : (x = el(x, c, n, null), x.flags |= 2), x.return = t, s.return = t, s.sibling = x, t.child = s, No(null, s), s = t.child, x = e.child.memoizedState, x === null ? x = Pd(n) : (c = x.cachePool, c !== null ? (N = St._currentValue, c = c.parent !== N ? { parent: N, pool: N } : c) : c = f0(), x = { baseLanes: x.baseLanes | n, cachePool: c }), s.memoizedState = x, s.childLanes = Qd(e, v, n), t.memoizedState = qd, No(e.child, s)) : (gs(t), n = e.child, e = n.sibling, n = Na(n, { mode: "visible", children: s.children }), n.return = t, n.sibling = null, e !== null && (v = t.deletions, v === null ? (t.deletions = [e], t.flags |= 16) : v.push(e)), t.child = n, t.memoizedState = null, n) } function Fd(e, t) { return t = cc({ mode: "visible", children: t }, e.mode), t.return = e, e.child = t } function cc(e, t) { return e = Sn(22, e, null, t), e.lanes = 0, e } function Yd(e, t, n) { return ol(t, e.child, null, n), e = Fd(t, t.pendingProps.children), e.flags |= 2, t.memoizedState = null, e } function wp(e, t, n) { e.lanes |= t; var s = e.alternate; s !== null && (s.lanes |= t), ld(e.return, t, n) } function Id(e, t, n, s, c, u) { var v = e.memoizedState; v === null ? e.memoizedState = { isBackwards: t, rendering: null, renderingStartTime: 0, last: s, tail: n, tailMode: c, treeForkCount: u } : (v.isBackwards = t, v.rendering = null, v.renderingStartTime = 0, v.last = s, v.tail = n, v.tailMode = c, v.treeForkCount = u) } function Ep(e, t, n) { var s = t.pendingProps, c = s.revealOrder, u = s.tail; s = s.children; var v = _t.current, x = (v & 2) !== 0; if (x ? (v = v & 1 | 2, t.flags |= 128) : v &= 1, Z(_t, v), Yt(e, t, s, n), s = Le ? mo : 0, !x && e !== null && (e.flags & 128) !== 0) e: for (e = t.child; e !== null;) { if (e.tag === 13) e.memoizedState !== null && wp(e, n, t); else if (e.tag === 19) wp(e, n, t); else if (e.child !== null) { e.child.return = e, e = e.child; continue } if (e === t) break e; for (; e.sibling === null;) { if (e.return === null || e.return === t) break e; e = e.return } e.sibling.return = e.return, e = e.sibling } switch (c) { case "forwards": for (n = t.child, c = null; n !== null;)e = n.alternate, e !== null && Wr(e) === null && (c = n), n = n.sibling; n = c, n === null ? (c = t.child, t.child = null) : (c = n.sibling, n.sibling = null), Id(t, !1, c, n, u, s); break; case "backwards": case "unstable_legacy-backwards": for (n = null, c = t.child, t.child = null; c !== null;) { if (e = c.alternate, e !== null && Wr(e) === null) { t.child = c; break } e = c.sibling, c.sibling = n, n = c, c = e } Id(t, !0, n, null, u, s); break; case "together": Id(t, !1, null, null, void 0, s); break; default: t.memoizedState = null }return t.child } function Oa(e, t, n) { if (e !== null && (t.dependencies = e.dependencies), bs |= t.lanes, (n & t.childLanes) === 0) if (e !== null) { if (ti(e, t, n, !1), (n & t.childLanes) === 0) return null } else return null; if (e !== null && t.child !== e.child) throw Error(r(153)); if (t.child !== null) { for (e = t.child, n = Na(e, e.pendingProps), t.child = n, n.return = t; e.sibling !== null;)e = e.sibling, n = n.sibling = Na(e, e.pendingProps), n.return = t; n.sibling = null } return t.child } function Gd(e, t) { return (e.lanes & t) !== 0 ? !0 : (e = e.dependencies, !!(e !== null && Fr(e))) } function Y_(e, t, n) { switch (t.tag) { case 3: At(t, t.stateNode.containerInfo), fs(t, St, e.memoizedState.cache), tl(); break; case 27: case 5: Aa(t); break; case 4: At(t, t.stateNode.containerInfo); break; case 10: fs(t, t.type, t.memoizedProps.value); break; case 31: if (t.memoizedState !== null) return t.flags |= 128, vd(t), null; break; case 13: var s = t.memoizedState; if (s !== null) return s.dehydrated !== null ? (gs(t), t.flags |= 128, null) : (n & t.child.childLanes) !== 0 ? jp(e, t, n) : (gs(t), e = Oa(e, t, n), e !== null ? e.sibling : null); gs(t); break; case 19: var c = (e.flags & 128) !== 0; if (s = (n & t.childLanes) !== 0, s || (ti(e, t, n, !1), s = (n & t.childLanes) !== 0), c) { if (s) return Ep(e, t, n); t.flags |= 128 } if (c = t.memoizedState, c !== null && (c.rendering = null, c.tail = null, c.lastEffect = null), Z(_t, _t.current), s) break; return null; case 22: return t.lanes = 0, yp(e, t, n, t.pendingProps); case 24: fs(t, St, e.memoizedState.cache) }return Oa(e, t, n) } function Np(e, t, n) { if (e !== null) if (e.memoizedProps !== t.pendingProps) wt = !0; else { if (!Gd(e, n) && (t.flags & 128) === 0) return wt = !1, Y_(e, t, n); wt = (e.flags & 131072) !== 0 } else wt = !1, Le && (t.flags & 1048576) !== 0 && l0(t, mo, t.index); switch (t.lanes = 0, t.tag) { case 16: e: { var s = t.pendingProps; if (e = ll(t.elementType), t.type = e, typeof e == "function") Wu(e) ? (s = cl(e, s), t.tag = 1, t = Ap(null, t, e, s, n)) : (t.tag = 0, t = Hd(null, t, e, s, n)); else { if (e != null) { var c = e.$$typeof; if (c === P) { t.tag = 11, t = pp(null, t, e, s, n); break e } else if (c === D) { t.tag = 14, t = gp(null, t, e, s, n); break e } } throw t = pe(e) || e, Error(r(306, t, "")) } } return t; case 0: return Hd(e, t, t.type, t.pendingProps, n); case 1: return s = t.type, c = cl(s, t.pendingProps), Ap(e, t, s, c, n); case 3: e: { if (At(t, t.stateNode.containerInfo), e === null) throw Error(r(387)); s = t.pendingProps; var u = t.memoizedState; c = u.element, fd(e, t), Ao(t, s, null, n); var v = t.memoizedState; if (s = v.cache, fs(t, St, s), s !== u.cache && id(t, [St], n, !0), xo(), s = v.element, u.isDehydrated) if (u = { element: s, isDehydrated: !1, cache: v.cache }, t.updateQueue.baseState = u, t.memoizedState = u, t.flags & 256) { t = Sp(e, t, s, n); break e } else if (s !== c) { c = Pn(Error(r(424)), t), po(c), t = Sp(e, t, s, n); break e } else { switch (e = t.stateNode.containerInfo, e.nodeType) { case 9: e = e.body; break; default: e = e.nodeName === "HTML" ? e.ownerDocument.body : e }for (st = Gn(e.firstChild), Qt = t, Le = !0, us = null, Yn = !0, n = y0(t, null, s, n), t.child = n; n;)n.flags = n.flags & -3 | 4096, n = n.sibling } else { if (tl(), s === c) { t = Oa(e, t, n); break e } Yt(e, t, s, n) } t = t.child } return t; case 26: return rc(e, t), e === null ? (n = U2(t.type, null, t.pendingProps, null)) ? t.memoizedState = n : Le || (n = t.type, e = t.pendingProps, s = wc(ye.current).createElement(n), s[Pt] = t, s[an] = e, It(s, n, e), Lt(s), t.stateNode = s) : t.memoizedState = U2(t.type, e.memoizedProps, t.pendingProps, e.memoizedState), null; case 27: return Aa(t), e === null && Le && (s = t.stateNode = M2(t.type, t.pendingProps, ye.current), Qt = t, Yn = !0, c = st, ws(t.type) ? (Ef = c, st = Gn(s.firstChild)) : st = c), Yt(e, t, t.pendingProps.children, n), rc(e, t), e === null && (t.flags |= 4194304), t.child; case 5: return e === null && Le && ((c = s = st) && (s = bb(s, t.type, t.pendingProps, Yn), s !== null ? (t.stateNode = s, Qt = t, st = Gn(s.firstChild), Yn = !1, c = !0) : c = !1), c || ds(t)), Aa(t), c = t.type, u = t.pendingProps, v = e !== null ? e.memoizedProps : null, s = u.children, xf(c, u) ? s = null : v !== null && xf(c, v) && (t.flags |= 32), t.memoizedState !== null && (c = _d(e, t, M_, null, null, n), Qo._currentValue = c), rc(e, t), Yt(e, t, s, n), t.child; case 6: return e === null && Le && ((e = n = st) && (n = xb(n, t.pendingProps, Yn), n !== null ? (t.stateNode = n, Qt = t, st = null, e = !0) : e = !1), e || ds(t)), null; case 13: return jp(e, t, n); case 4: return At(t, t.stateNode.containerInfo), s = t.pendingProps, e === null ? t.child = ol(t, null, s, n) : Yt(e, t, s, n), t.child; case 11: return pp(e, t, t.type, t.pendingProps, n); case 7: return Yt(e, t, t.pendingProps, n), t.child; case 8: return Yt(e, t, t.pendingProps.children, n), t.child; case 12: return Yt(e, t, t.pendingProps.children, n), t.child; case 10: return s = t.pendingProps, fs(t, t.type, s.value), Yt(e, t, s.children, n), t.child; case 9: return c = t.type._context, s = t.pendingProps.children, al(t), c = Ft(c), s = s(c), t.flags |= 1, Yt(e, t, s, n), t.child; case 14: return gp(e, t, t.type, t.pendingProps, n); case 15: return vp(e, t, t.type, t.pendingProps, n); case 19: return Ep(e, t, n); case 31: return F_(e, t, n); case 22: return yp(e, t, n, t.pendingProps); case 24: return al(t), s = Ft(St), e === null ? (c = cd(), c === null && (c = $e, u = od(), c.pooledCache = u, u.refCount++, u !== null && (c.pooledCacheLanes |= n), c = u), t.memoizedState = { parent: s, cache: c }, dd(t), fs(t, St, c)) : ((e.lanes & n) !== 0 && (fd(e, t), Ao(t, null, null, n), xo()), c = e.memoizedState, u = t.memoizedState, c.parent !== s ? (c = { parent: s, cache: s }, t.memoizedState = c, t.lanes === 0 && (t.memoizedState = t.updateQueue.baseState = c), fs(t, St, s)) : (s = u.cache, fs(t, St, s), s !== c.cache && id(t, [St], n, !0))), Yt(e, t, t.pendingProps.children, n), t.child; case 29: throw t.pendingProps }throw Error(r(156, t.tag)) } function La(e) { e.flags |= 4 } function Kd(e, t, n, s, c) { if ((t = (e.mode & 32) !== 0) && (t = !1), t) { if (e.flags |= 16777216, (c & 335544128) === c) if (e.stateNode.complete) e.flags |= 8192; else if (e2()) e.flags |= 8192; else throw il = Kr, ud } else e.flags &= -16777217 } function Cp(e, t) { if (t.type !== "stylesheet" || (t.state.loading & 4) !== 0) e.flags &= -16777217; else if (e.flags |= 16777216, !F2(t)) if (e2()) e.flags |= 8192; else throw il = Kr, ud } function uc(e, t) { t !== null && (e.flags |= 4), e.flags & 16384 && (t = e.tag !== 22 ? om() : 536870912, e.lanes |= t, hi |= t) } function Co(e, t) { if (!Le) switch (e.tailMode) { case "hidden": t = e.tail; for (var n = null; t !== null;)t.alternate !== null && (n = t), t = t.sibling; n === null ? e.tail = null : n.sibling = null; break; case "collapsed": n = e.tail; for (var s = null; n !== null;)n.alternate !== null && (s = n), n = n.sibling; s === null ? t || e.tail === null ? e.tail = null : e.tail.sibling = null : s.sibling = null } } function lt(e) { var t = e.alternate !== null && e.alternate.child === e.child, n = 0, s = 0; if (t) for (var c = e.child; c !== null;)n |= c.lanes | c.childLanes, s |= c.subtreeFlags & 65011712, s |= c.flags & 65011712, c.return = e, c = c.sibling; else for (c = e.child; c !== null;)n |= c.lanes | c.childLanes, s |= c.subtreeFlags, s |= c.flags, c.return = e, c = c.sibling; return e.subtreeFlags |= s, e.childLanes = n, t } function I_(e, t, n) { var s = t.pendingProps; switch (td(t), t.tag) { case 16: case 15: case 0: case 11: case 7: case 8: case 12: case 9: case 14: return lt(t), null; case 1: return lt(t), null; case 3: return n = t.stateNode, s = null, e !== null && (s = e.memoizedState.cache), t.memoizedState.cache !== s && (t.flags |= 2048), Ra(St), at(), n.pendingContext && (n.context = n.pendingContext, n.pendingContext = null), (e === null || e.child === null) && (ei(t) ? La(t) : e === null || e.memoizedState.isDehydrated && (t.flags & 256) === 0 || (t.flags |= 1024, ad())), lt(t), null; case 26: var c = t.type, u = t.memoizedState; return e === null ? (La(t), u !== null ? (lt(t), Cp(t, u)) : (lt(t), Kd(t, c, null, s, n))) : u ? u !== e.memoizedState ? (La(t), lt(t), Cp(t, u)) : (lt(t), t.flags &= -16777217) : (e = e.memoizedProps, e !== s && La(t), lt(t), Kd(t, c, e, s, n)), null; case 27: if (es(t), n = ye.current, c = t.type, e !== null && t.stateNode != null) e.memoizedProps !== s && La(t); else { if (!s) { if (t.stateNode === null) throw Error(r(166)); return lt(t), null } e = $.current, ei(t) ? o0(t) : (e = M2(c, s, n), t.stateNode = e, La(t)) } return lt(t), null; case 5: if (es(t), c = t.type, e !== null && t.stateNode != null) e.memoizedProps !== s && La(t); else { if (!s) { if (t.stateNode === null) throw Error(r(166)); return lt(t), null } if (u = $.current, ei(t)) o0(t); else { var v = wc(ye.current); switch (u) { case 1: u = v.createElementNS("http://www.w3.org/2000/svg", c); break; case 2: u = v.createElementNS("http://www.w3.org/1998/Math/MathML", c); break; default: switch (c) { case "svg": u = v.createElementNS("http://www.w3.org/2000/svg", c); break; case "math": u = v.createElementNS("http://www.w3.org/1998/Math/MathML", c); break; case "script": u = v.createElement("div"), u.innerHTML = "<script><\/script>", u = u.removeChild(u.firstChild); break; case "select": u = typeof s.is == "string" ? v.createElement("select", { is: s.is }) : v.createElement("select"), s.multiple ? u.multiple = !0 : s.size && (u.size = s.size); break; default: u = typeof s.is == "string" ? v.createElement(c, { is: s.is }) : v.createElement(c) } }u[Pt] = t, u[an] = s; e: for (v = t.child; v !== null;) { if (v.tag === 5 || v.tag === 6) u.appendChild(v.stateNode); else if (v.tag !== 4 && v.tag !== 27 && v.child !== null) { v.child.return = v, v = v.child; continue } if (v === t) break e; for (; v.sibling === null;) { if (v.return === null || v.return === t) break e; v = v.return } v.sibling.return = v.return, v = v.sibling } t.stateNode = u; e: switch (It(u, c, s), c) { case "button": case "input": case "select": case "textarea": s = !!s.autoFocus; break e; case "img": s = !0; break e; default: s = !1 }s && La(t) } } return lt(t), Kd(t, t.type, e === null ? null : e.memoizedProps, t.pendingProps, n), null; case 6: if (e && t.stateNode != null) e.memoizedProps !== s && La(t); else { if (typeof s != "string" && t.stateNode === null) throw Error(r(166)); if (e = ye.current, ei(t)) { if (e = t.stateNode, n = t.memoizedProps, s = null, c = Qt, c !== null) switch (c.tag) { case 27: case 5: s = c.memoizedProps }e[Pt] = t, e = !!(e.nodeValue === n || s !== null && s.suppressHydrationWarning === !0 || j2(e.nodeValue, n)), e || ds(t, !0) } else e = wc(e).createTextNode(s), e[Pt] = t, t.stateNode = e } return lt(t), null; case 31: if (n = t.memoizedState, e === null || e.memoizedState !== null) { if (s = ei(t), n !== null) { if (e === null) { if (!s) throw Error(r(318)); if (e = t.memoizedState, e = e !== null ? e.dehydrated : null, !e) throw Error(r(557)); e[Pt] = t } else tl(), (t.flags & 128) === 0 && (t.memoizedState = null), t.flags |= 4; lt(t), e = !1 } else n = ad(), e !== null && e.memoizedState !== null && (e.memoizedState.hydrationErrors = n), e = !0; if (!e) return t.flags & 256 ? (wn(t), t) : (wn(t), null); if ((t.flags & 128) !== 0) throw Error(r(558)) } return lt(t), null; case 13: if (s = t.memoizedState, e === null || e.memoizedState !== null && e.memoizedState.dehydrated !== null) { if (c = ei(t), s !== null && s.dehydrated !== null) { if (e === null) { if (!c) throw Error(r(318)); if (c = t.memoizedState, c = c !== null ? c.dehydrated : null, !c) throw Error(r(317)); c[Pt] = t } else tl(), (t.flags & 128) === 0 && (t.memoizedState = null), t.flags |= 4; lt(t), c = !1 } else c = ad(), e !== null && e.memoizedState !== null && (e.memoizedState.hydrationErrors = c), c = !0; if (!c) return t.flags & 256 ? (wn(t), t) : (wn(t), null) } return wn(t), (t.flags & 128) !== 0 ? (t.lanes = n, t) : (n = s !== null, e = e !== null && e.memoizedState !== null, n && (s = t.child, c = null, s.alternate !== null && s.alternate.memoizedState !== null && s.alternate.memoizedState.cachePool !== null && (c = s.alternate.memoizedState.cachePool.pool), u = null, s.memoizedState !== null && s.memoizedState.cachePool !== null && (u = s.memoizedState.cachePool.pool), u !== c && (s.flags |= 2048)), n !== e && n && (t.child.flags |= 8192), uc(t, t.updateQueue), lt(t), null); case 4: return at(), e === null && gf(t.stateNode.containerInfo), lt(t), null; case 10: return Ra(t.type), lt(t), null; case 19: if (Y(_t), s = t.memoizedState, s === null) return lt(t), null; if (c = (t.flags & 128) !== 0, u = s.rendering, u === null) if (c) Co(s, !1); else { if (ht !== 0 || e !== null && (e.flags & 128) !== 0) for (e = t.child; e !== null;) { if (u = Wr(e), u !== null) { for (t.flags |= 128, Co(s, !1), e = u.updateQueue, t.updateQueue = e, uc(t, e), t.subtreeFlags = 0, e = n, n = t.child; n !== null;)n0(n, e), n = n.sibling; return Z(_t, _t.current & 1 | 2), Le && Ca(t, s.treeForkCount), t.child } e = e.sibling } s.tail !== null && Tt() > pc && (t.flags |= 128, c = !0, Co(s, !1), t.lanes = 4194304) } else { if (!c) if (e = Wr(u), e !== null) { if (t.flags |= 128, c = !0, e = e.updateQueue, t.updateQueue = e, uc(t, e), Co(s, !0), s.tail === null && s.tailMode === "hidden" && !u.alternate && !Le) return lt(t), null } else 2 * Tt() - s.renderingStartTime > pc && n !== 536870912 && (t.flags |= 128, c = !0, Co(s, !1), t.lanes = 4194304); s.isBackwards ? (u.sibling = t.child, t.child = u) : (e = s.last, e !== null ? e.sibling = u : t.child = u, s.last = u) } return s.tail !== null ? (e = s.tail, s.rendering = e, s.tail = e.sibling, s.renderingStartTime = Tt(), e.sibling = null, n = _t.current, Z(_t, c ? n & 1 | 2 : n & 1), Le && Ca(t, s.treeForkCount), e) : (lt(t), null); case 22: case 23: return wn(t), gd(), s = t.memoizedState !== null, e !== null ? e.memoizedState !== null !== s && (t.flags |= 8192) : s && (t.flags |= 8192), s ? (n & 536870912) !== 0 && (t.flags & 128) === 0 && (lt(t), t.subtreeFlags & 6 && (t.flags |= 8192)) : lt(t), n = t.updateQueue, n !== null && uc(t, n.retryQueue), n = null, e !== null && e.memoizedState !== null && e.memoizedState.cachePool !== null && (n = e.memoizedState.cachePool.pool), s = null, t.memoizedState !== null && t.memoizedState.cachePool !== null && (s = t.memoizedState.cachePool.pool), s !== n && (t.flags |= 2048), e !== null && Y(sl), null; case 24: return n = null, e !== null && (n = e.memoizedState.cache), t.memoizedState.cache !== n && (t.flags |= 2048), Ra(St), lt(t), null; case 25: return null; case 30: return null }throw Error(r(156, t.tag)) } function G_(e, t) { switch (td(t), t.tag) { case 1: return e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null; case 3: return Ra(St), at(), e = t.flags, (e & 65536) !== 0 && (e & 128) === 0 ? (t.flags = e & -65537 | 128, t) : null; case 26: case 27: case 5: return es(t), null; case 31: if (t.memoizedState !== null) { if (wn(t), t.alternate === null) throw Error(r(340)); tl() } return e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null; case 13: if (wn(t), e = t.memoizedState, e !== null && e.dehydrated !== null) { if (t.alternate === null) throw Error(r(340)); tl() } return e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null; case 19: return Y(_t), null; case 4: return at(), null; case 10: return Ra(t.type), null; case 22: case 23: return wn(t), gd(), e !== null && Y(sl), e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null; case 24: return Ra(St), null; case 25: return null; default: return null } } function Tp(e, t) { switch (td(t), t.tag) { case 3: Ra(St), at(); break; case 26: case 27: case 5: es(t); break; case 4: at(); break; case 31: t.memoizedState !== null && wn(t); break; case 13: wn(t); break; case 19: Y(_t); break; case 10: Ra(t.type); break; case 22: case 23: wn(t), gd(), e !== null && Y(sl); break; case 24: Ra(St) } } function To(e, t) { try { var n = t.updateQueue, s = n !== null ? n.lastEffect : null; if (s !== null) { var c = s.next; n = c; do { if ((n.tag & e) === e) { s = void 0; var u = n.create, v = n.inst; s = u(), v.destroy = s } n = n.next } while (n !== c) } } catch (x) { Ve(t, t.return, x) } } function ys(e, t, n) { try { var s = t.updateQueue, c = s !== null ? s.lastEffect : null; if (c !== null) { var u = c.next; s = u; do { if ((s.tag & e) === e) { var v = s.inst, x = v.destroy; if (x !== void 0) { v.destroy = void 0, c = t; var N = n, z = x; try { z() } catch (Q) { Ve(c, N, Q) } } } s = s.next } while (s !== u) } } catch (Q) { Ve(t, t.return, Q) } } function Rp(e) { var t = e.updateQueue; if (t !== null) { var n = e.stateNode; try { b0(t, n) } catch (s) { Ve(e, e.return, s) } } } function kp(e, t, n) { n.props = cl(e.type, e.memoizedProps), n.state = e.memoizedState; try { n.componentWillUnmount() } catch (s) { Ve(e, t, s) } } function Ro(e, t) { try { var n = e.ref; if (n !== null) { switch (e.tag) { case 26: case 27: case 5: var s = e.stateNode; break; case 30: s = e.stateNode; break; default: s = e.stateNode }typeof n == "function" ? e.refCleanup = n(s) : n.current = s } } catch (c) { Ve(e, t, c) } } function ha(e, t) { var n = e.ref, s = e.refCleanup; if (n !== null) if (typeof s == "function") try { s() } catch (c) { Ve(e, t, c) } finally { e.refCleanup = null, e = e.alternate, e != null && (e.refCleanup = null) } else if (typeof n == "function") try { n(null) } catch (c) { Ve(e, t, c) } else n.current = null } function Bp(e) { var t = e.type, n = e.memoizedProps, s = e.stateNode; try { e: switch (t) { case "button": case "input": case "select": case "textarea": n.autoFocus && s.focus(); break e; case "img": n.src ? s.src = n.src : n.srcSet && (s.srcset = n.srcSet) } } catch (c) { Ve(e, e.return, c) } } function Xd(e, t, n) { try { var s = e.stateNode; mb(s, e.type, n, t), s[an] = t } catch (c) { Ve(e, e.return, c) } } function Op(e) { return e.tag === 5 || e.tag === 3 || e.tag === 26 || e.tag === 27 && ws(e.type) || e.tag === 4 } function Vd(e) { e: for (; ;) { for (; e.sibling === null;) { if (e.return === null || Op(e.return)) return null; e = e.return } for (e.sibling.return = e.return, e = e.sibling; e.tag !== 5 && e.tag !== 6 && e.tag !== 18;) { if (e.tag === 27 && ws(e.type) || e.flags & 2 || e.child === null || e.tag === 4) continue e; e.child.return = e, e = e.child } if (!(e.flags & 2)) return e.stateNode } } function Zd(e, t, n) { var s = e.tag; if (s === 5 || s === 6) e = e.stateNode, t ? (n.nodeType === 9 ? n.body : n.nodeName === "HTML" ? n.ownerDocument.body : n).insertBefore(e, t) : (t = n.nodeType === 9 ? n.body : n.nodeName === "HTML" ? n.ownerDocument.body : n, t.appendChild(e), n = n._reactRootContainer, n != null || t.onclick !== null || (t.onclick = wa)); else if (s !== 4 && (s === 27 && ws(e.type) && (n = e.stateNode, t = null), e = e.child, e !== null)) for (Zd(e, t, n), e = e.sibling; e !== null;)Zd(e, t, n), e = e.sibling } function dc(e, t, n) { var s = e.tag; if (s === 5 || s === 6) e = e.stateNode, t ? n.insertBefore(e, t) : n.appendChild(e); else if (s !== 4 && (s === 27 && ws(e.type) && (n = e.stateNode), e = e.child, e !== null)) for (dc(e, t, n), e = e.sibling; e !== null;)dc(e, t, n), e = e.sibling } function Lp(e) { var t = e.stateNode, n = e.memoizedProps; try { for (var s = e.type, c = t.attributes; c.length;)t.removeAttributeNode(c[0]); It(t, s, n), t[Pt] = e, t[an] = n } catch (u) { Ve(e, e.return, u) } } var Ma = !1, Et = !1, Wd = !1, Mp = typeof WeakSet == "function" ? WeakSet : Set, Mt = null; function K_(e, t) { if (e = e.containerInfo, _f = Bc, e = Km(e), Yu(e)) { if ("selectionStart" in e) var n = { start: e.selectionStart, end: e.selectionEnd }; else e: { n = (n = e.ownerDocument) && n.defaultView || window; var s = n.getSelection && n.getSelection(); if (s && s.rangeCount !== 0) { n = s.anchorNode; var c = s.anchorOffset, u = s.focusNode; s = s.focusOffset; try { n.nodeType, u.nodeType } catch { n = null; break e } var v = 0, x = -1, N = -1, z = 0, Q = 0, I = e, U = null; t: for (; ;) { for (var H; I !== n || c !== 0 && I.nodeType !== 3 || (x = v + c), I !== u || s !== 0 && I.nodeType !== 3 || (N = v + s), I.nodeType === 3 && (v += I.nodeValue.length), (H = I.firstChild) !== null;)U = I, I = H; for (; ;) { if (I === e) break t; if (U === n && ++z === c && (x = v), U === u && ++Q === s && (N = v), (H = I.nextSibling) !== null) break; I = U, U = I.parentNode } I = H } n = x === -1 || N === -1 ? null : { start: x, end: N } } else n = null } n = n || { start: 0, end: 0 } } else n = null; for (bf = { focusedElem: e, selectionRange: n }, Bc = !1, Mt = t; Mt !== null;)if (t = Mt, e = t.child, (t.subtreeFlags & 1028) !== 0 && e !== null) e.return = t, Mt = e; else for (; Mt !== null;) { switch (t = Mt, u = t.alternate, e = t.flags, t.tag) { case 0: if ((e & 4) !== 0 && (e = t.updateQueue, e = e !== null ? e.events : null, e !== null)) for (n = 0; n < e.length; n++)c = e[n], c.ref.impl = c.nextImpl; break; case 11: case 15: break; case 1: if ((e & 1024) !== 0 && u !== null) { e = void 0, n = t, c = u.memoizedProps, u = u.memoizedState, s = n.stateNode; try { var ne = cl(n.type, c); e = s.getSnapshotBeforeUpdate(ne, u), s.__reactInternalSnapshotBeforeUpdate = e } catch (he) { Ve(n, n.return, he) } } break; case 3: if ((e & 1024) !== 0) { if (e = t.stateNode.containerInfo, n = e.nodeType, n === 9) Sf(e); else if (n === 1) switch (e.nodeName) { case "HEAD": case "HTML": case "BODY": Sf(e); break; default: e.textContent = "" } } break; case 5: case 26: case 27: case 6: case 4: case 17: break; default: if ((e & 1024) !== 0) throw Error(r(163)) }if (e = t.sibling, e !== null) { e.return = t.return, Mt = e; break } Mt = t.return } } function zp(e, t, n) { var s = n.flags; switch (n.tag) { case 0: case 11: case 15: Da(e, n), s & 4 && To(5, n); break; case 1: if (Da(e, n), s & 4) if (e = n.stateNode, t === null) try { e.componentDidMount() } catch (v) { Ve(n, n.return, v) } else { var c = cl(n.type, t.memoizedProps); t = t.memoizedState; try { e.componentDidUpdate(c, t, e.__reactInternalSnapshotBeforeUpdate) } catch (v) { Ve(n, n.return, v) } } s & 64 && Rp(n), s & 512 && Ro(n, n.return); break; case 3: if (Da(e, n), s & 64 && (e = n.updateQueue, e !== null)) { if (t = null, n.child !== null) switch (n.child.tag) { case 27: case 5: t = n.child.stateNode; break; case 1: t = n.child.stateNode }try { b0(e, t) } catch (v) { Ve(n, n.return, v) } } break; case 27: t === null && s & 4 && Lp(n); case 26: case 5: Da(e, n), t === null && s & 4 && Bp(n), s & 512 && Ro(n, n.return); break; case 12: Da(e, n); break; case 31: Da(e, n), s & 4 && Hp(e, n); break; case 13: Da(e, n), s & 4 && qp(e, n), s & 64 && (e = n.memoizedState, e !== null && (e = e.dehydrated, e !== null && (n = nb.bind(null, n), Ab(e, n)))); break; case 22: if (s = n.memoizedState !== null || Ma, !s) { t = t !== null && t.memoizedState !== null || Et, c = Ma; var u = Et; Ma = s, (Et = t) && !u ? Ua(e, n, (n.subtreeFlags & 8772) !== 0) : Da(e, n), Ma = c, Et = u } break; case 30: break; default: Da(e, n) } } function Dp(e) { var t = e.alternate; t !== null && (e.alternate = null, Dp(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && Nu(t)), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null } var ot = null, ln = !1; function za(e, t, n) { for (n = n.child; n !== null;)Up(e, t, n), n = n.sibling } function Up(e, t, n) { if (bn && typeof bn.onCommitFiberUnmount == "function") try { bn.onCommitFiberUnmount($i, n) } catch { } switch (n.tag) { case 26: Et || ha(n, t), za(e, t, n), n.memoizedState ? n.memoizedState.count-- : n.stateNode && (n = n.stateNode, n.parentNode.removeChild(n)); break; case 27: Et || ha(n, t); var s = ot, c = ln; ws(n.type) && (ot = n.stateNode, ln = !1), za(e, t, n), Ho(n.stateNode), ot = s, ln = c; break; case 5: Et || ha(n, t); case 6: if (s = ot, c = ln, ot = null, za(e, t, n), ot = s, ln = c, ot !== null) if (ln) try { (ot.nodeType === 9 ? ot.body : ot.nodeName === "HTML" ? ot.ownerDocument.body : ot).removeChild(n.stateNode) } catch (u) { Ve(n, t, u) } else try { ot.removeChild(n.stateNode) } catch (u) { Ve(n, t, u) } break; case 18: ot !== null && (ln ? (e = ot, R2(e.nodeType === 9 ? e.body : e.nodeName === "HTML" ? e.ownerDocument.body : e, n.stateNode), xi(e)) : R2(ot, n.stateNode)); break; case 4: s = ot, c = ln, ot = n.stateNode.containerInfo, ln = !0, za(e, t, n), ot = s, ln = c; break; case 0: case 11: case 14: case 15: ys(2, n, t), Et || ys(4, n, t), za(e, t, n); break; case 1: Et || (ha(n, t), s = n.stateNode, typeof s.componentWillUnmount == "function" && kp(n, t, s)), za(e, t, n); break; case 21: za(e, t, n); break; case 22: Et = (s = Et) || n.memoizedState !== null, za(e, t, n), Et = s; break; default: za(e, t, n) } } function Hp(e, t) { if (t.memoizedState === null && (e = t.alternate, e !== null && (e = e.memoizedState, e !== null))) { e = e.dehydrated; try { xi(e) } catch (n) { Ve(t, t.return, n) } } } function qp(e, t) { if (t.memoizedState === null && (e = t.alternate, e !== null && (e = e.memoizedState, e !== null && (e = e.dehydrated, e !== null)))) try { xi(e) } catch (n) { Ve(t, t.return, n) } } function X_(e) { switch (e.tag) { case 31: case 13: case 19: var t = e.stateNode; return t === null && (t = e.stateNode = new Mp), t; case 22: return e = e.stateNode, t = e._retryCache, t === null && (t = e._retryCache = new Mp), t; default: throw Error(r(435, e.tag)) } } function fc(e, t) { var n = X_(e); t.forEach(function (s) { if (!n.has(s)) { n.add(s); var c = ab.bind(null, e, s); s.then(c, c) } }) } function on(e, t) { var n = t.deletions; if (n !== null) for (var s = 0; s < n.length; s++) { var c = n[s], u = e, v = t, x = v; e: for (; x !== null;) { switch (x.tag) { case 27: if (ws(x.type)) { ot = x.stateNode, ln = !1; break e } break; case 5: ot = x.stateNode, ln = !1; break e; case 3: case 4: ot = x.stateNode.containerInfo, ln = !0; break e }x = x.return } if (ot === null) throw Error(r(160)); Up(u, v, c), ot = null, ln = !1, u = c.alternate, u !== null && (u.return = null), c.return = null } if (t.subtreeFlags & 13886) for (t = t.child; t !== null;)Pp(t, e), t = t.sibling } var ea = null; function Pp(e, t) { var n = e.alternate, s = e.flags; switch (e.tag) { case 0: case 11: case 14: case 15: on(t, e), rn(e), s & 4 && (ys(3, e, e.return), To(3, e), ys(5, e, e.return)); break; case 1: on(t, e), rn(e), s & 512 && (Et || n === null || ha(n, n.return)), s & 64 && Ma && (e = e.updateQueue, e !== null && (s = e.callbacks, s !== null && (n = e.shared.hiddenCallbacks, e.shared.hiddenCallbacks = n === null ? s : n.concat(s)))); break; case 26: var c = ea; if (on(t, e), rn(e), s & 512 && (Et || n === null || ha(n, n.return)), s & 4) { var u = n !== null ? n.memoizedState : null; if (s = e.memoizedState, n === null) if (s === null) if (e.stateNode === null) { e: { s = e.type, n = e.memoizedProps, c = c.ownerDocument || c; t: switch (s) { case "title": u = c.getElementsByTagName("title")[0], (!u || u[no] || u[Pt] || u.namespaceURI === "http://www.w3.org/2000/svg" || u.hasAttribute("itemprop")) && (u = c.createElement(s), c.head.insertBefore(u, c.querySelector("head > title"))), It(u, s, n), u[Pt] = e, Lt(u), s = u; break e; case "link": var v = P2("link", "href", c).get(s + (n.href || "")); if (v) { for (var x = 0; x < v.length; x++)if (u = v[x], u.getAttribute("href") === (n.href == null || n.href === "" ? null : n.href) && u.getAttribute("rel") === (n.rel == null ? null : n.rel) && u.getAttribute("title") === (n.title == null ? null : n.title) && u.getAttribute("crossorigin") === (n.crossOrigin == null ? null : n.crossOrigin)) { v.splice(x, 1); break t } } u = c.createElement(s), It(u, s, n), c.head.appendChild(u); break; case "meta": if (v = P2("meta", "content", c).get(s + (n.content || ""))) { for (x = 0; x < v.length; x++)if (u = v[x], u.getAttribute("content") === (n.content == null ? null : "" + n.content) && u.getAttribute("name") === (n.name == null ? null : n.name) && u.getAttribute("property") === (n.property == null ? null : n.property) && u.getAttribute("http-equiv") === (n.httpEquiv == null ? null : n.httpEquiv) && u.getAttribute("charset") === (n.charSet == null ? null : n.charSet)) { v.splice(x, 1); break t } } u = c.createElement(s), It(u, s, n), c.head.appendChild(u); break; default: throw Error(r(468, s)) }u[Pt] = e, Lt(u), s = u } e.stateNode = s } else Q2(c, e.type, e.stateNode); else e.stateNode = q2(c, s, e.memoizedProps); else u !== s ? (u === null ? n.stateNode !== null && (n = n.stateNode, n.parentNode.removeChild(n)) : u.count--, s === null ? Q2(c, e.type, e.stateNode) : q2(c, s, e.memoizedProps)) : s === null && e.stateNode !== null && Xd(e, e.memoizedProps, n.memoizedProps) } break; case 27: on(t, e), rn(e), s & 512 && (Et || n === null || ha(n, n.return)), n !== null && s & 4 && Xd(e, e.memoizedProps, n.memoizedProps); break; case 5: if (on(t, e), rn(e), s & 512 && (Et || n === null || ha(n, n.return)), e.flags & 32) { c = e.stateNode; try { Yl(c, "") } catch (ne) { Ve(e, e.return, ne) } } s & 4 && e.stateNode != null && (c = e.memoizedProps, Xd(e, c, n !== null ? n.memoizedProps : c)), s & 1024 && (Wd = !0); break; case 6: if (on(t, e), rn(e), s & 4) { if (e.stateNode === null) throw Error(r(162)); s = e.memoizedProps, n = e.stateNode; try { n.nodeValue = s } catch (ne) { Ve(e, e.return, ne) } } break; case 3: if (Cc = null, c = ea, ea = Ec(t.containerInfo), on(t, e), ea = c, rn(e), s & 4 && n !== null && n.memoizedState.isDehydrated) try { xi(t.containerInfo) } catch (ne) { Ve(e, e.return, ne) } Wd && (Wd = !1, Qp(e)); break; case 4: s = ea, ea = Ec(e.stateNode.containerInfo), on(t, e), rn(e), ea = s; break; case 12: on(t, e), rn(e); break; case 31: on(t, e), rn(e), s & 4 && (s = e.updateQueue, s !== null && (e.updateQueue = null, fc(e, s))); break; case 13: on(t, e), rn(e), e.child.flags & 8192 && e.memoizedState !== null != (n !== null && n.memoizedState !== null) && (mc = Tt()), s & 4 && (s = e.updateQueue, s !== null && (e.updateQueue = null, fc(e, s))); break; case 22: c = e.memoizedState !== null; var N = n !== null && n.memoizedState !== null, z = Ma, Q = Et; if (Ma = z || c, Et = Q || N, on(t, e), Et = Q, Ma = z, rn(e), s & 8192) e: for (t = e.stateNode, t._visibility = c ? t._visibility & -2 : t._visibility | 1, c && (n === null || N || Ma || Et || ul(e)), n = null, t = e; ;) { if (t.tag === 5 || t.tag === 26) { if (n === null) { N = n = t; try { if (u = N.stateNode, c) v = u.style, typeof v.setProperty == "function" ? v.setProperty("display", "none", "important") : v.display = "none"; else { x = N.stateNode; var I = N.memoizedProps.style, U = I != null && I.hasOwnProperty("display") ? I.display : null; x.style.display = U == null || typeof U == "boolean" ? "" : ("" + U).trim() } } catch (ne) { Ve(N, N.return, ne) } } } else if (t.tag === 6) { if (n === null) { N = t; try { N.stateNode.nodeValue = c ? "" : N.memoizedProps } catch (ne) { Ve(N, N.return, ne) } } } else if (t.tag === 18) { if (n === null) { N = t; try { var H = N.stateNode; c ? k2(H, !0) : k2(N.stateNode, !1) } catch (ne) { Ve(N, N.return, ne) } } } else if ((t.tag !== 22 && t.tag !== 23 || t.memoizedState === null || t === e) && t.child !== null) { t.child.return = t, t = t.child; continue } if (t === e) break e; for (; t.sibling === null;) { if (t.return === null || t.return === e) break e; n === t && (n = null), t = t.return } n === t && (n = null), t.sibling.return = t.return, t = t.sibling } s & 4 && (s = e.updateQueue, s !== null && (n = s.retryQueue, n !== null && (s.retryQueue = null, fc(e, n)))); break; case 19: on(t, e), rn(e), s & 4 && (s = e.updateQueue, s !== null && (e.updateQueue = null, fc(e, s))); break; case 30: break; case 21: break; default: on(t, e), rn(e) } } function rn(e) { var t = e.flags; if (t & 2) { try { for (var n, s = e.return; s !== null;) { if (Op(s)) { n = s; break } s = s.return } if (n == null) throw Error(r(160)); switch (n.tag) { case 27: var c = n.stateNode, u = Vd(e); dc(e, u, c); break; case 5: var v = n.stateNode; n.flags & 32 && (Yl(v, ""), n.flags &= -33); var x = Vd(e); dc(e, x, v); break; case 3: case 4: var N = n.stateNode.containerInfo, z = Vd(e); Zd(e, z, N); break; default: throw Error(r(161)) } } catch (Q) { Ve(e, e.return, Q) } e.flags &= -3 } t & 4096 && (e.flags &= -4097) } function Qp(e) { if (e.subtreeFlags & 1024) for (e = e.child; e !== null;) { var t = e; Qp(t), t.tag === 5 && t.flags & 1024 && t.stateNode.reset(), e = e.sibling } } function Da(e, t) { if (t.subtreeFlags & 8772) for (t = t.child; t !== null;)zp(e, t.alternate, t), t = t.sibling } function ul(e) { for (e = e.child; e !== null;) { var t = e; switch (t.tag) { case 0: case 11: case 14: case 15: ys(4, t, t.return), ul(t); break; case 1: ha(t, t.return); var n = t.stateNode; typeof n.componentWillUnmount == "function" && kp(t, t.return, n), ul(t); break; case 27: Ho(t.stateNode); case 26: case 5: ha(t, t.return), ul(t); break; case 22: t.memoizedState === null && ul(t); break; case 30: ul(t); break; default: ul(t) }e = e.sibling } } function Ua(e, t, n) { for (n = n && (t.subtreeFlags & 8772) !== 0, t = t.child; t !== null;) { var s = t.alternate, c = e, u = t, v = u.flags; switch (u.tag) { case 0: case 11: case 15: Ua(c, u, n), To(4, u); break; case 1: if (Ua(c, u, n), s = u, c = s.stateNode, typeof c.componentDidMount == "function") try { c.componentDidMount() } catch (z) { Ve(s, s.return, z) } if (s = u, c = s.updateQueue, c !== null) { var x = s.stateNode; try { var N = c.shared.hiddenCallbacks; if (N !== null) for (c.shared.hiddenCallbacks = null, c = 0; c < N.length; c++)_0(N[c], x) } catch (z) { Ve(s, s.return, z) } } n && v & 64 && Rp(u), Ro(u, u.return); break; case 27: Lp(u); case 26: case 5: Ua(c, u, n), n && s === null && v & 4 && Bp(u), Ro(u, u.return); break; case 12: Ua(c, u, n); break; case 31: Ua(c, u, n), n && v & 4 && Hp(c, u); break; case 13: Ua(c, u, n), n && v & 4 && qp(c, u); break; case 22: u.memoizedState === null && Ua(c, u, n), Ro(u, u.return); break; case 30: break; default: Ua(c, u, n) }t = t.sibling } } function Jd(e, t) { var n = null; e !== null && e.memoizedState !== null && e.memoizedState.cachePool !== null && (n = e.memoizedState.cachePool.pool), e = null, t.memoizedState !== null && t.memoizedState.cachePool !== null && (e = t.memoizedState.cachePool.pool), e !== n && (e != null && e.refCount++, n != null && go(n)) } function $d(e, t) { e = null, t.alternate !== null && (e = t.alternate.memoizedState.cache), t = t.memoizedState.cache, t !== e && (t.refCount++, e != null && go(e)) } function ta(e, t, n, s) { if (t.subtreeFlags & 10256) for (t = t.child; t !== null;)Fp(e, t, n, s), t = t.sibling } function Fp(e, t, n, s) { var c = t.flags; switch (t.tag) { case 0: case 11: case 15: ta(e, t, n, s), c & 2048 && To(9, t); break; case 1: ta(e, t, n, s); break; case 3: ta(e, t, n, s), c & 2048 && (e = null, t.alternate !== null && (e = t.alternate.memoizedState.cache), t = t.memoizedState.cache, t !== e && (t.refCount++, e != null && go(e))); break; case 12: if (c & 2048) { ta(e, t, n, s), e = t.stateNode; try { var u = t.memoizedProps, v = u.id, x = u.onPostCommit; typeof x == "function" && x(v, t.alternate === null ? "mount" : "update", e.passiveEffectDuration, -0) } catch (N) { Ve(t, t.return, N) } } else ta(e, t, n, s); break; case 31: ta(e, t, n, s); break; case 13: ta(e, t, n, s); break; case 23: break; case 22: u = t.stateNode, v = t.alternate, t.memoizedState !== null ? u._visibility & 2 ? ta(e, t, n, s) : ko(e, t) : u._visibility & 2 ? ta(e, t, n, s) : (u._visibility |= 2, ui(e, t, n, s, (t.subtreeFlags & 10256) !== 0 || !1)), c & 2048 && Jd(v, t); break; case 24: ta(e, t, n, s), c & 2048 && $d(t.alternate, t); break; default: ta(e, t, n, s) } } function ui(e, t, n, s, c) { for (c = c && ((t.subtreeFlags & 10256) !== 0 || !1), t = t.child; t !== null;) { var u = e, v = t, x = n, N = s, z = v.flags; switch (v.tag) { case 0: case 11: case 15: ui(u, v, x, N, c), To(8, v); break; case 23: break; case 22: var Q = v.stateNode; v.memoizedState !== null ? Q._visibility & 2 ? ui(u, v, x, N, c) : ko(u, v) : (Q._visibility |= 2, ui(u, v, x, N, c)), c && z & 2048 && Jd(v.alternate, v); break; case 24: ui(u, v, x, N, c), c && z & 2048 && $d(v.alternate, v); break; default: ui(u, v, x, N, c) }t = t.sibling } } function ko(e, t) { if (t.subtreeFlags & 10256) for (t = t.child; t !== null;) { var n = e, s = t, c = s.flags; switch (s.tag) { case 22: ko(n, s), c & 2048 && Jd(s.alternate, s); break; case 24: ko(n, s), c & 2048 && $d(s.alternate, s); break; default: ko(n, s) }t = t.sibling } } var Bo = 8192; function di(e, t, n) { if (e.subtreeFlags & Bo) for (e = e.child; e !== null;)Yp(e, t, n), e = e.sibling } function Yp(e, t, n) { switch (e.tag) { case 26: di(e, t, n), e.flags & Bo && e.memoizedState !== null && Lb(n, ea, e.memoizedState, e.memoizedProps); break; case 5: di(e, t, n); break; case 3: case 4: var s = ea; ea = Ec(e.stateNode.containerInfo), di(e, t, n), ea = s; break; case 22: e.memoizedState === null && (s = e.alternate, s !== null && s.memoizedState !== null ? (s = Bo, Bo = 16777216, di(e, t, n), Bo = s) : di(e, t, n)); break; default: di(e, t, n) } } function Ip(e) { var t = e.alternate; if (t !== null && (e = t.child, e !== null)) { t.child = null; do t = e.sibling, e.sibling = null, e = t; while (e !== null) } } function Oo(e) { var t = e.deletions; if ((e.flags & 16) !== 0) { if (t !== null) for (var n = 0; n < t.length; n++) { var s = t[n]; Mt = s, Kp(s, e) } Ip(e) } if (e.subtreeFlags & 10256) for (e = e.child; e !== null;)Gp(e), e = e.sibling } function Gp(e) { switch (e.tag) { case 0: case 11: case 15: Oo(e), e.flags & 2048 && ys(9, e, e.return); break; case 3: Oo(e); break; case 12: Oo(e); break; case 22: var t = e.stateNode; e.memoizedState !== null && t._visibility & 2 && (e.return === null || e.return.tag !== 13) ? (t._visibility &= -3, hc(e)) : Oo(e); break; default: Oo(e) } } function hc(e) { var t = e.deletions; if ((e.flags & 16) !== 0) { if (t !== null) for (var n = 0; n < t.length; n++) { var s = t[n]; Mt = s, Kp(s, e) } Ip(e) } for (e = e.child; e !== null;) { switch (t = e, t.tag) { case 0: case 11: case 15: ys(8, t, t.return), hc(t); break; case 22: n = t.stateNode, n._visibility & 2 && (n._visibility &= -3, hc(t)); break; default: hc(t) }e = e.sibling } } function Kp(e, t) { for (; Mt !== null;) { var n = Mt; switch (n.tag) { case 0: case 11: case 15: ys(8, n, t); break; case 23: case 22: if (n.memoizedState !== null && n.memoizedState.cachePool !== null) { var s = n.memoizedState.cachePool.pool; s != null && s.refCount++ } break; case 24: go(n.memoizedState.cache) }if (s = n.child, s !== null) s.return = n, Mt = s; else e: for (n = e; Mt !== null;) { s = Mt; var c = s.sibling, u = s.return; if (Dp(s), s === n) { Mt = null; break e } if (c !== null) { c.return = u, Mt = c; break e } Mt = u } } } var V_ = { getCacheForType: function (e) { var t = Ft(St), n = t.data.get(e); return n === void 0 && (n = e(), t.data.set(e, n)), n }, cacheSignal: function () { return Ft(St).controller.signal } }, Z_ = typeof WeakMap == "function" ? WeakMap : Map, Ye = 0, $e = null, Ce = null, Be = 0, Xe = 0, En = null, _s = !1, fi = !1, ef = !1, Ha = 0, ht = 0, bs = 0, dl = 0, tf = 0, Nn = 0, hi = 0, Lo = null, cn = null, nf = !1, mc = 0, Xp = 0, pc = 1 / 0, gc = null, xs = null, Rt = 0, As = null, mi = null, qa = 0, af = 0, sf = null, Vp = null, Mo = 0, lf = null; function Cn() { return (Ye & 2) !== 0 && Be !== 0 ? Be & -Be : q.T !== null ? ff() : dm() } function Zp() { if (Nn === 0) if ((Be & 536870912) === 0 || Le) { var e = jr; jr <<= 1, (jr & 3932160) === 0 && (jr = 262144), Nn = e } else Nn = 536870912; return e = jn.current, e !== null && (e.flags |= 32), Nn } function un(e, t, n) { (e === $e && (Xe === 2 || Xe === 9) || e.cancelPendingCommit !== null) && (pi(e, 0), Ss(e, Be, Nn, !1)), to(e, n), ((Ye & 2) === 0 || e !== $e) && (e === $e && ((Ye & 2) === 0 && (dl |= n), ht === 4 && Ss(e, Be, Nn, !1)), ma(e)) } function Wp(e, t, n) { if ((Ye & 6) !== 0) throw Error(r(327)); var s = !n && (t & 127) === 0 && (t & e.expiredLanes) === 0 || eo(e, t), c = s ? $_(e, t) : rf(e, t, !0), u = s; do { if (c === 0) { fi && !s && Ss(e, t, 0, !1); break } else { if (n = e.current.alternate, u && !W_(n)) { c = rf(e, t, !1), u = !1; continue } if (c === 2) { if (u = t, e.errorRecoveryDisabledLanes & u) var v = 0; else v = e.pendingLanes & -536870913, v = v !== 0 ? v : v & 536870912 ? 536870912 : 0; if (v !== 0) { t = v; e: { var x = e; c = Lo; var N = x.current.memoizedState.isDehydrated; if (N && (pi(x, v).flags |= 256), v = rf(x, v, !1), v !== 2) { if (ef && !N) { x.errorRecoveryDisabledLanes |= u, dl |= u, c = 4; break e } u = cn, cn = c, u !== null && (cn === null ? cn = u : cn.push.apply(cn, u)) } c = v } if (u = !1, c !== 2) continue } } if (c === 1) { pi(e, 0), Ss(e, t, 0, !0); break } e: { switch (s = e, u = c, u) { case 0: case 1: throw Error(r(345)); case 4: if ((t & 4194048) !== t) break; case 6: Ss(s, t, Nn, !_s); break e; case 2: cn = null; break; case 3: case 5: break; default: throw Error(r(329)) }if ((t & 62914560) === t && (c = mc + 300 - Tt(), 10 < c)) { if (Ss(s, t, Nn, !_s), Er(s, 0, !0) !== 0) break e; qa = t, s.timeoutHandle = C2(Jp.bind(null, s, n, cn, gc, nf, t, Nn, dl, hi, _s, u, "Throttled", -0, 0), c); break e } Jp(s, n, cn, gc, nf, t, Nn, dl, hi, _s, u, null, -0, 0) } } break } while (!0); ma(e) } function Jp(e, t, n, s, c, u, v, x, N, z, Q, I, U, H) { if (e.timeoutHandle = -1, I = t.subtreeFlags, I & 8192 || (I & 16785408) === 16785408) { I = { stylesheets: null, count: 0, imgCount: 0, imgBytes: 0, suspenseyImages: [], waitingForImages: !0, waitingForViewTransition: !1, unsuspend: wa }, Yp(t, u, I); var ne = (u & 62914560) === u ? mc - Tt() : (u & 4194048) === u ? Xp - Tt() : 0; if (ne = Mb(I, ne), ne !== null) { qa = u, e.cancelPendingCommit = ne(i2.bind(null, e, t, u, n, s, c, v, x, N, Q, I, null, U, H)), Ss(e, u, v, !z); return } } i2(e, t, u, n, s, c, v, x, N) } function W_(e) { for (var t = e; ;) { var n = t.tag; if ((n === 0 || n === 11 || n === 15) && t.flags & 16384 && (n = t.updateQueue, n !== null && (n = n.stores, n !== null))) for (var s = 0; s < n.length; s++) { var c = n[s], u = c.getSnapshot; c = c.value; try { if (!An(u(), c)) return !1 } catch { return !1 } } if (n = t.child, t.subtreeFlags & 16384 && n !== null) n.return = t, t = n; else { if (t === e) break; for (; t.sibling === null;) { if (t.return === null || t.return === e) return !0; t = t.return } t.sibling.return = t.return, t = t.sibling } } return !0 } function Ss(e, t, n, s) { t &= ~tf, t &= ~dl, e.suspendedLanes |= t, e.pingedLanes &= ~t, s && (e.warmLanes |= t), s = e.expirationTimes; for (var c = t; 0 < c;) { var u = 31 - xn(c), v = 1 << u; s[u] = -1, c &= ~v } n !== 0 && rm(e, n, t) } function vc() { return (Ye & 6) === 0 ? (zo(0), !1) : !0 } function of() { if (Ce !== null) { if (Xe === 0) var e = Ce.return; else e = Ce, Ta = nl = null, Ad(e), li = null, yo = 0, e = Ce; for (; e !== null;)Tp(e.alternate, e), e = e.return; Ce = null } } function pi(e, t) { var n = e.timeoutHandle; n !== -1 && (e.timeoutHandle = -1, vb(n)), n = e.cancelPendingCommit, n !== null && (e.cancelPendingCommit = null, n()), qa = 0, of(), $e = e, Ce = n = Na(e.current, null), Be = t, Xe = 0, En = null, _s = !1, fi = eo(e, t), ef = !1, hi = Nn = tf = dl = bs = ht = 0, cn = Lo = null, nf = !1, (t & 8) !== 0 && (t |= t & 32); var s = e.entangledLanes; if (s !== 0) for (e = e.entanglements, s &= t; 0 < s;) { var c = 31 - xn(s), u = 1 << c; t |= e[c], s &= ~u } return Ha = t, Ur(), n } function $p(e, t) { Se = null, q.H = Eo, t === si || t === Gr ? (t = p0(), Xe = 3) : t === ud ? (t = p0(), Xe = 4) : Xe = t === Ud ? 8 : t !== null && typeof t == "object" && typeof t.then == "function" ? 6 : 1, En = t, Ce === null && (ht = 1, ic(e, Pn(t, e.current))) } function e2() { var e = jn.current; return e === null ? !0 : (Be & 4194048) === Be ? In === null : (Be & 62914560) === Be || (Be & 536870912) !== 0 ? e === In : !1 } function t2() { var e = q.H; return q.H = Eo, e === null ? Eo : e } function n2() { var e = q.A; return q.A = V_, e } function yc() { ht = 4, _s || (Be & 4194048) !== Be && jn.current !== null || (fi = !0), (bs & 134217727) === 0 && (dl & 134217727) === 0 || $e === null || Ss($e, Be, Nn, !1) } function rf(e, t, n) { var s = Ye; Ye |= 2; var c = t2(), u = n2(); ($e !== e || Be !== t) && (gc = null, pi(e, t)), t = !1; var v = ht; e: do try { if (Xe !== 0 && Ce !== null) { var x = Ce, N = En; switch (Xe) { case 8: of(), v = 6; break e; case 3: case 2: case 9: case 6: jn.current === null && (t = !0); var z = Xe; if (Xe = 0, En = null, gi(e, x, N, z), n && fi) { v = 0; break e } break; default: z = Xe, Xe = 0, En = null, gi(e, x, N, z) } } J_(), v = ht; break } catch (Q) { $p(e, Q) } while (!0); return t && e.shellSuspendCounter++, Ta = nl = null, Ye = s, q.H = c, q.A = u, Ce === null && ($e = null, Be = 0, Ur()), v } function J_() { for (; Ce !== null;)a2(Ce) } function $_(e, t) { var n = Ye; Ye |= 2; var s = t2(), c = n2(); $e !== e || Be !== t ? (gc = null, pc = Tt() + 500, pi(e, t)) : fi = eo(e, t); e: do try { if (Xe !== 0 && Ce !== null) { t = Ce; var u = En; t: switch (Xe) { case 1: Xe = 0, En = null, gi(e, t, u, 1); break; case 2: case 9: if (h0(u)) { Xe = 0, En = null, s2(t); break } t = function () { Xe !== 2 && Xe !== 9 || $e !== e || (Xe = 7), ma(e) }, u.then(t, t); break e; case 3: Xe = 7; break e; case 4: Xe = 5; break e; case 7: h0(u) ? (Xe = 0, En = null, s2(t)) : (Xe = 0, En = null, gi(e, t, u, 7)); break; case 5: var v = null; switch (Ce.tag) { case 26: v = Ce.memoizedState; case 5: case 27: var x = Ce; if (v ? F2(v) : x.stateNode.complete) { Xe = 0, En = null; var N = x.sibling; if (N !== null) Ce = N; else { var z = x.return; z !== null ? (Ce = z, _c(z)) : Ce = null } break t } }Xe = 0, En = null, gi(e, t, u, 5); break; case 6: Xe = 0, En = null, gi(e, t, u, 6); break; case 8: of(), ht = 6; break e; default: throw Error(r(462)) } } eb(); break } catch (Q) { $p(e, Q) } while (!0); return Ta = nl = null, q.H = s, q.A = c, Ye = n, Ce !== null ? 0 : ($e = null, Be = 0, Ur(), ht) } function eb() { for (; Ce !== null && !_n();)a2(Ce) } function a2(e) { var t = Np(e.alternate, e, Ha); e.memoizedProps = e.pendingProps, t === null ? _c(e) : Ce = t } function s2(e) { var t = e, n = t.alternate; switch (t.tag) { case 15: case 0: t = xp(n, t, t.pendingProps, t.type, void 0, Be); break; case 11: t = xp(n, t, t.pendingProps, t.type.render, t.ref, Be); break; case 5: Ad(t); default: Tp(n, t), t = Ce = n0(t, Ha), t = Np(n, t, Ha) }e.memoizedProps = e.pendingProps, t === null ? _c(e) : Ce = t } function gi(e, t, n, s) { Ta = nl = null, Ad(t), li = null, yo = 0; var c = t.return; try { if (Q_(e, c, t, n, Be)) { ht = 1, ic(e, Pn(n, e.current)), Ce = null; return } } catch (u) { if (c !== null) throw Ce = c, u; ht = 1, ic(e, Pn(n, e.current)), Ce = null; return } t.flags & 32768 ? (Le || s === 1 ? e = !0 : fi || (Be & 536870912) !== 0 ? e = !1 : (_s = e = !0, (s === 2 || s === 9 || s === 3 || s === 6) && (s = jn.current, s !== null && s.tag === 13 && (s.flags |= 16384))), l2(t, e)) : _c(t) } function _c(e) { var t = e; do { if ((t.flags & 32768) !== 0) { l2(t, _s); return } e = t.return; var n = I_(t.alternate, t, Ha); if (n !== null) { Ce = n; return } if (t = t.sibling, t !== null) { Ce = t; return } Ce = t = e } while (t !== null); ht === 0 && (ht = 5) } function l2(e, t) { do { var n = G_(e.alternate, e); if (n !== null) { n.flags &= 32767, Ce = n; return } if (n = e.return, n !== null && (n.flags |= 32768, n.subtreeFlags = 0, n.deletions = null), !t && (e = e.sibling, e !== null)) { Ce = e; return } Ce = e = n } while (e !== null); ht = 6, Ce = null } function i2(e, t, n, s, c, u, v, x, N) { e.cancelPendingCommit = null; do bc(); while (Rt !== 0); if ((Ye & 6) !== 0) throw Error(r(327)); if (t !== null) { if (t === e.current) throw Error(r(177)); if (u = t.lanes | t.childLanes, u |= Vu, Oy(e, n, u, v, x, N), e === $e && (Ce = $e = null, Be = 0), mi = t, As = e, qa = n, af = u, sf = c, Vp = s, (t.subtreeFlags & 10256) !== 0 || (t.flags & 10256) !== 0 ? (e.callbackNode = null, e.callbackPriority = 0, sb(Ke, function () { return d2(), null })) : (e.callbackNode = null, e.callbackPriority = 0), s = (t.flags & 13878) !== 0, (t.subtreeFlags & 13878) !== 0 || s) { s = q.T, q.T = null, c = X.p, X.p = 2, v = Ye, Ye |= 4; try { K_(e, t, n) } finally { Ye = v, X.p = c, q.T = s } } Rt = 1, o2(), r2(), c2() } } function o2() { if (Rt === 1) { Rt = 0; var e = As, t = mi, n = (t.flags & 13878) !== 0; if ((t.subtreeFlags & 13878) !== 0 || n) { n = q.T, q.T = null; var s = X.p; X.p = 2; var c = Ye; Ye |= 4; try { Pp(t, e); var u = bf, v = Km(e.containerInfo), x = u.focusedElem, N = u.selectionRange; if (v !== x && x && x.ownerDocument && Gm(x.ownerDocument.documentElement, x)) { if (N !== null && Yu(x)) { var z = N.start, Q = N.end; if (Q === void 0 && (Q = z), "selectionStart" in x) x.selectionStart = z, x.selectionEnd = Math.min(Q, x.value.length); else { var I = x.ownerDocument || document, U = I && I.defaultView || window; if (U.getSelection) { var H = U.getSelection(), ne = x.textContent.length, he = Math.min(N.start, ne), Je = N.end === void 0 ? he : Math.min(N.end, ne); !H.extend && he > Je && (v = Je, Je = he, he = v); var O = Im(x, he), k = Im(x, Je); if (O && k && (H.rangeCount !== 1 || H.anchorNode !== O.node || H.anchorOffset !== O.offset || H.focusNode !== k.node || H.focusOffset !== k.offset)) { var M = I.createRange(); M.setStart(O.node, O.offset), H.removeAllRanges(), he > Je ? (H.addRange(M), H.extend(k.node, k.offset)) : (M.setEnd(k.node, k.offset), H.addRange(M)) } } } } for (I = [], H = x; H = H.parentNode;)H.nodeType === 1 && I.push({ element: H, left: H.scrollLeft, top: H.scrollTop }); for (typeof x.focus == "function" && x.focus(), x = 0; x < I.length; x++) { var F = I[x]; F.element.scrollLeft = F.left, F.element.scrollTop = F.top } } Bc = !!_f, bf = _f = null } finally { Ye = c, X.p = s, q.T = n } } e.current = t, Rt = 2 } } function r2() { if (Rt === 2) { Rt = 0; var e = As, t = mi, n = (t.flags & 8772) !== 0; if ((t.subtreeFlags & 8772) !== 0 || n) { n = q.T, q.T = null; var s = X.p; X.p = 2; var c = Ye; Ye |= 4; try { zp(e, t.alternate, t) } finally { Ye = c, X.p = s, q.T = n } } Rt = 3 } } function c2() { if (Rt === 4 || Rt === 3) { Rt = 0, Ks(); var e = As, t = mi, n = qa, s = Vp; (t.subtreeFlags & 10256) !== 0 || (t.flags & 10256) !== 0 ? Rt = 5 : (Rt = 0, mi = As = null, u2(e, e.pendingLanes)); var c = e.pendingLanes; if (c === 0 && (xs = null), wu(n), t = t.stateNode, bn && typeof bn.onCommitFiberRoot == "function") try { bn.onCommitFiberRoot($i, t, void 0, (t.current.flags & 128) === 128) } catch { } if (s !== null) { t = q.T, c = X.p, X.p = 2, q.T = null; try { for (var u = e.onRecoverableError, v = 0; v < s.length; v++) { var x = s[v]; u(x.value, { componentStack: x.stack }) } } finally { q.T = t, X.p = c } } (qa & 3) !== 0 && bc(), ma(e), c = e.pendingLanes, (n & 261930) !== 0 && (c & 42) !== 0 ? e === lf ? Mo++ : (Mo = 0, lf = e) : Mo = 0, zo(0) } } function u2(e, t) { (e.pooledCacheLanes &= t) === 0 && (t = e.pooledCache, t != null && (e.pooledCache = null, go(t))) } function bc() { return o2(), r2(), c2(), d2() } function d2() { if (Rt !== 5) return !1; var e = As, t = af; af = 0; var n = wu(qa), s = q.T, c = X.p; try { X.p = 32 > n ? 32 : n, q.T = null, n = sf, sf = null; var u = As, v = qa; if (Rt = 0, mi = As = null, qa = 0, (Ye & 6) !== 0) throw Error(r(331)); var x = Ye; if (Ye |= 4, Gp(u.current), Fp(u, u.current, v, n), Ye = x, zo(0, !1), bn && typeof bn.onPostCommitFiberRoot == "function") try { bn.onPostCommitFiberRoot($i, u) } catch { } return !0 } finally { X.p = c, q.T = s, u2(e, t) } } function f2(e, t, n) { t = Pn(n, t), t = Dd(e.stateNode, t, 2), e = ps(e, t, 2), e !== null && (to(e, 2), ma(e)) } function Ve(e, t, n) { if (e.tag === 3) f2(e, e, n); else for (; t !== null;) { if (t.tag === 3) { f2(t, e, n); break } else if (t.tag === 1) { var s = t.stateNode; if (typeof t.type.getDerivedStateFromError == "function" || typeof s.componentDidCatch == "function" && (xs === null || !xs.has(s))) { e = Pn(n, e), n = hp(2), s = ps(t, n, 2), s !== null && (mp(n, s, t, e), to(s, 2), ma(s)); break } } t = t.return } } function cf(e, t, n) { var s = e.pingCache; if (s === null) { s = e.pingCache = new Z_; var c = new Set; s.set(t, c) } else c = s.get(t), c === void 0 && (c = new Set, s.set(t, c)); c.has(n) || (ef = !0, c.add(n), e = tb.bind(null, e, t, n), t.then(e, e)) } function tb(e, t, n) { var s = e.pingCache; s !== null && s.delete(t), e.pingedLanes |= e.suspendedLanes & n, e.warmLanes &= ~n, $e === e && (Be & n) === n && (ht === 4 || ht === 3 && (Be & 62914560) === Be && 300 > Tt() - mc ? (Ye & 2) === 0 && pi(e, 0) : tf |= n, hi === Be && (hi = 0)), ma(e) } function h2(e, t) { t === 0 && (t = om()), e = $s(e, t), e !== null && (to(e, t), ma(e)) } function nb(e) { var t = e.memoizedState, n = 0; t !== null && (n = t.retryLane), h2(e, n) } function ab(e, t) { var n = 0; switch (e.tag) { case 31: case 13: var s = e.stateNode, c = e.memoizedState; c !== null && (n = c.retryLane); break; case 19: s = e.stateNode; break; case 22: s = e.stateNode._retryCache; break; default: throw Error(r(314)) }s !== null && s.delete(t), h2(e, n) } function sb(e, t) { return ls(e, t) } var xc = null, vi = null, uf = !1, Ac = !1, df = !1, js = 0; function ma(e) { e !== vi && e.next === null && (vi === null ? xc = vi = e : vi = vi.next = e), Ac = !0, uf || (uf = !0, ib()) } function zo(e, t) { if (!df && Ac) { df = !0; do for (var n = !1, s = xc; s !== null;) { if (e !== 0) { var c = s.pendingLanes; if (c === 0) var u = 0; else { var v = s.suspendedLanes, x = s.pingedLanes; u = (1 << 31 - xn(42 | e) + 1) - 1, u &= c & ~(v & ~x), u = u & 201326741 ? u & 201326741 | 1 : u ? u | 2 : 0 } u !== 0 && (n = !0, v2(s, u)) } else u = Be, u = Er(s, s === $e ? u : 0, s.cancelPendingCommit !== null || s.timeoutHandle !== -1), (u & 3) === 0 || eo(s, u) || (n = !0, v2(s, u)); s = s.next } while (n); df = !1 } } function lb() { m2() } function m2() { Ac = uf = !1; var e = 0; js !== 0 && gb() && (e = js); for (var t = Tt(), n = null, s = xc; s !== null;) { var c = s.next, u = p2(s, t); u === 0 ? (s.next = null, n === null ? xc = c : n.next = c, c === null && (vi = n)) : (n = s, (e !== 0 || (u & 3) !== 0) && (Ac = !0)), s = c } Rt !== 0 && Rt !== 5 || zo(e), js !== 0 && (js = 0) } function p2(e, t) { for (var n = e.suspendedLanes, s = e.pingedLanes, c = e.expirationTimes, u = e.pendingLanes & -62914561; 0 < u;) { var v = 31 - xn(u), x = 1 << v, N = c[v]; N === -1 ? ((x & n) === 0 || (x & s) !== 0) && (c[v] = By(x, t)) : N <= t && (e.expiredLanes |= x), u &= ~x } if (t = $e, n = Be, n = Er(e, e === t ? n : 0, e.cancelPendingCommit !== null || e.timeoutHandle !== -1), s = e.callbackNode, n === 0 || e === t && (Xe === 2 || Xe === 9) || e.cancelPendingCommit !== null) return s !== null && s !== null && Ue(s), e.callbackNode = null, e.callbackPriority = 0; if ((n & 3) === 0 || eo(e, n)) { if (t = n & -n, t === e.callbackPriority) return t; switch (s !== null && Ue(s), wu(n)) { case 2: case 8: n = Wi; break; case 32: n = Ke; break; case 268435456: n = Ji; break; default: n = Ke }return s = g2.bind(null, e), n = ls(n, s), e.callbackPriority = t, e.callbackNode = n, t } return s !== null && s !== null && Ue(s), e.callbackPriority = 2, e.callbackNode = null, 2 } function g2(e, t) { if (Rt !== 0 && Rt !== 5) return e.callbackNode = null, e.callbackPriority = 0, null; var n = e.callbackNode; if (bc() && e.callbackNode !== n) return null; var s = Be; return s = Er(e, e === $e ? s : 0, e.cancelPendingCommit !== null || e.timeoutHandle !== -1), s === 0 ? null : (Wp(e, s, t), p2(e, Tt()), e.callbackNode != null && e.callbackNode === n ? g2.bind(null, e) : null) } function v2(e, t) { if (bc()) return null; Wp(e, t, !0) } function ib() { yb(function () { (Ye & 6) !== 0 ? ls(Zi, lb) : m2() }) } function ff() { if (js === 0) { var e = ni; e === 0 && (e = Sr, Sr <<= 1, (Sr & 261888) === 0 && (Sr = 256)), js = e } return js } function y2(e) { return e == null || typeof e == "symbol" || typeof e == "boolean" ? null : typeof e == "function" ? e : Rr("" + e) } function _2(e, t) { var n = t.ownerDocument.createElement("input"); return n.name = t.name, n.value = t.value, e.id && n.setAttribute("form", e.id), t.parentNode.insertBefore(n, t), e = new FormData(e), n.parentNode.removeChild(n), e } function ob(e, t, n, s, c) { if (t === "submit" && n && n.stateNode === c) { var u = y2((c[an] || null).action), v = s.submitter; v && (t = (t = v[an] || null) ? y2(t.formAction) : v.getAttribute("formAction"), t !== null && (u = t, v = null)); var x = new Lr("action", "action", null, s, c); e.push({ event: x, listeners: [{ instance: null, listener: function () { if (s.defaultPrevented) { if (js !== 0) { var N = v ? _2(c, v) : new FormData(c); kd(n, { pending: !0, data: N, method: c.method, action: u }, null, N) } } else typeof u == "function" && (x.preventDefault(), N = v ? _2(c, v) : new FormData(c), kd(n, { pending: !0, data: N, method: c.method, action: u }, u, N)) }, currentTarget: c }] }) } } for (var hf = 0; hf < Xu.length; hf++) { var mf = Xu[hf], rb = mf.toLowerCase(), cb = mf[0].toUpperCase() + mf.slice(1); $n(rb, "on" + cb) } $n(Zm, "onAnimationEnd"), $n(Wm, "onAnimationIteration"), $n(Jm, "onAnimationStart"), $n("dblclick", "onDoubleClick"), $n("focusin", "onFocus"), $n("focusout", "onBlur"), $n(w_, "onTransitionRun"), $n(E_, "onTransitionStart"), $n(N_, "onTransitionCancel"), $n($m, "onTransitionEnd"), Ql("onMouseEnter", ["mouseout", "mouseover"]), Ql("onMouseLeave", ["mouseout", "mouseover"]), Ql("onPointerEnter", ["pointerout", "pointerover"]), Ql("onPointerLeave", ["pointerout", "pointerover"]), Vs("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")), Vs("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")), Vs("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]), Vs("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")), Vs("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")), Vs("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" ")); var Do = "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(" "), ub = new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Do)); function b2(e, t) { t = (t & 4) !== 0; for (var n = 0; n < e.length; n++) { var s = e[n], c = s.event; s = s.listeners; e: { var u = void 0; if (t) for (var v = s.length - 1; 0 <= v; v--) { var x = s[v], N = x.instance, z = x.currentTarget; if (x = x.listener, N !== u && c.isPropagationStopped()) break e; u = x, c.currentTarget = z; try { u(c) } catch (Q) { Dr(Q) } c.currentTarget = null, u = N } else for (v = 0; v < s.length; v++) { if (x = s[v], N = x.instance, z = x.currentTarget, x = x.listener, N !== u && c.isPropagationStopped()) break e; u = x, c.currentTarget = z; try { u(c) } catch (Q) { Dr(Q) } c.currentTarget = null, u = N } } } } function Te(e, t) { var n = t[Eu]; n === void 0 && (n = t[Eu] = new Set); var s = e + "__bubble"; n.has(s) || (x2(t, e, 2, !1), n.add(s)) } function pf(e, t, n) { var s = 0; t && (s |= 4), x2(n, e, s, t) } var Sc = "_reactListening" + Math.random().toString(36).slice(2); function gf(e) { if (!e[Sc]) { e[Sc] = !0, mm.forEach(function (n) { n !== "selectionchange" && (ub.has(n) || pf(n, !1, e), pf(n, !0, e)) }); var t = e.nodeType === 9 ? e : e.ownerDocument; t === null || t[Sc] || (t[Sc] = !0, pf("selectionchange", !1, t)) } } function x2(e, t, n, s) { switch (Z2(t)) { case 2: var c = Ub; break; case 8: c = Hb; break; default: c = kf }n = c.bind(null, t, n, e), c = void 0, !Mu || t !== "touchstart" && t !== "touchmove" && t !== "wheel" || (c = !0), s ? c !== void 0 ? e.addEventListener(t, n, { capture: !0, passive: c }) : e.addEventListener(t, n, !0) : c !== void 0 ? e.addEventListener(t, n, { passive: c }) : e.addEventListener(t, n, !1) } function vf(e, t, n, s, c) { var u = s; if ((t & 1) === 0 && (t & 2) === 0 && s !== null) e: for (; ;) { if (s === null) return; var v = s.tag; if (v === 3 || v === 4) { var x = s.stateNode.containerInfo; if (x === c) break; if (v === 4) for (v = s.return; v !== null;) { var N = v.tag; if ((N === 3 || N === 4) && v.stateNode.containerInfo === c) return; v = v.return } for (; x !== null;) { if (v = Hl(x), v === null) return; if (N = v.tag, N === 5 || N === 6 || N === 26 || N === 27) { s = u = v; continue e } x = x.parentNode } } s = s.return } Em(function () { var z = u, Q = Ou(n), I = []; e: { var U = e0.get(e); if (U !== void 0) { var H = Lr, ne = e; switch (e) { case "keypress": if (Br(n) === 0) break e; case "keydown": case "keyup": H = a_; break; case "focusin": ne = "focus", H = Hu; break; case "focusout": ne = "blur", H = Hu; break; case "beforeblur": case "afterblur": H = Hu; break; case "click": if (n.button === 2) break e; case "auxclick": case "dblclick": case "mousedown": case "mousemove": case "mouseup": case "mouseout": case "mouseover": case "contextmenu": H = Tm; break; case "drag": case "dragend": case "dragenter": case "dragexit": case "dragleave": case "dragover": case "dragstart": case "drop": H = Iy; break; case "touchcancel": case "touchend": case "touchmove": case "touchstart": H = i_; break; case Zm: case Wm: case Jm: H = Xy; break; case $m: H = r_; break; case "scroll": case "scrollend": H = Fy; break; case "wheel": H = u_; break; case "copy": case "cut": case "paste": H = Zy; break; case "gotpointercapture": case "lostpointercapture": case "pointercancel": case "pointerdown": case "pointermove": case "pointerout": case "pointerover": case "pointerup": H = km; break; case "toggle": case "beforetoggle": H = f_ }var he = (t & 4) !== 0, Je = !he && (e === "scroll" || e === "scrollend"), O = he ? U !== null ? U + "Capture" : null : U; he = []; for (var k = z, M; k !== null;) { var F = k; if (M = F.stateNode, F = F.tag, F !== 5 && F !== 26 && F !== 27 || M === null || O === null || (F = so(k, O), F != null && he.push(Uo(k, F, M))), Je) break; k = k.return } 0 < he.length && (U = new H(U, ne, null, n, Q), I.push({ event: U, listeners: he })) } } if ((t & 7) === 0) { e: { if (U = e === "mouseover" || e === "pointerover", H = e === "mouseout" || e === "pointerout", U && n !== Bu && (ne = n.relatedTarget || n.fromElement) && (Hl(ne) || ne[Ul])) break e; if ((H || U) && (U = Q.window === Q ? Q : (U = Q.ownerDocument) ? U.defaultView || U.parentWindow : window, H ? (ne = n.relatedTarget || n.toElement, H = z, ne = ne ? Hl(ne) : null, ne !== null && (Je = f(ne), he = ne.tag, ne !== Je || he !== 5 && he !== 27 && he !== 6) && (ne = null)) : (H = null, ne = z), H !== ne)) { if (he = Tm, F = "onMouseLeave", O = "onMouseEnter", k = "mouse", (e === "pointerout" || e === "pointerover") && (he = km, F = "onPointerLeave", O = "onPointerEnter", k = "pointer"), Je = H == null ? U : ao(H), M = ne == null ? U : ao(ne), U = new he(F, k + "leave", H, n, Q), U.target = Je, U.relatedTarget = M, F = null, Hl(Q) === z && (he = new he(O, k + "enter", ne, n, Q), he.target = M, he.relatedTarget = Je, F = he), Je = F, H && ne) t: { for (he = db, O = H, k = ne, M = 0, F = O; F; F = he(F))M++; F = 0; for (var oe = k; oe; oe = he(oe))F++; for (; 0 < M - F;)O = he(O), M--; for (; 0 < F - M;)k = he(k), F--; for (; M--;) { if (O === k || k !== null && O === k.alternate) { he = O; break t } O = he(O), k = he(k) } he = null } else he = null; H !== null && A2(I, U, H, he, !1), ne !== null && Je !== null && A2(I, Je, ne, he, !0) } } e: { if (U = z ? ao(z) : window, H = U.nodeName && U.nodeName.toLowerCase(), H === "select" || H === "input" && U.type === "file") var qe = Hm; else if (Dm(U)) if (qm) qe = A_; else { qe = b_; var se = __ } else H = U.nodeName, !H || H.toLowerCase() !== "input" || U.type !== "checkbox" && U.type !== "radio" ? z && ku(z.elementType) && (qe = Hm) : qe = x_; if (qe && (qe = qe(e, z))) { Um(I, qe, n, Q); break e } se && se(e, U, z), e === "focusout" && z && U.type === "number" && z.memoizedProps.value != null && Ru(U, "number", U.value) } switch (se = z ? ao(z) : window, e) { case "focusin": (Dm(se) || se.contentEditable === "true") && (Xl = se, Iu = z, ho = null); break; case "focusout": ho = Iu = Xl = null; break; case "mousedown": Gu = !0; break; case "contextmenu": case "mouseup": case "dragend": Gu = !1, Xm(I, n, Q); break; case "selectionchange": if (j_) break; case "keydown": case "keyup": Xm(I, n, Q) }var je; if (Pu) e: { switch (e) { case "compositionstart": var Oe = "onCompositionStart"; break e; case "compositionend": Oe = "onCompositionEnd"; break e; case "compositionupdate": Oe = "onCompositionUpdate"; break e }Oe = void 0 } else Kl ? Mm(e, n) && (Oe = "onCompositionEnd") : e === "keydown" && n.keyCode === 229 && (Oe = "onCompositionStart"); Oe && (Bm && n.locale !== "ko" && (Kl || Oe !== "onCompositionStart" ? Oe === "onCompositionEnd" && Kl && (je = Nm()) : (rs = Q, zu = "value" in rs ? rs.value : rs.textContent, Kl = !0)), se = jc(z, Oe), 0 < se.length && (Oe = new Rm(Oe, e, null, n, Q), I.push({ event: Oe, listeners: se }), je ? Oe.data = je : (je = zm(n), je !== null && (Oe.data = je)))), (je = m_ ? p_(e, n) : g_(e, n)) && (Oe = jc(z, "onBeforeInput"), 0 < Oe.length && (se = new Rm("onBeforeInput", "beforeinput", null, n, Q), I.push({ event: se, listeners: Oe }), se.data = je)), ob(I, e, z, n, Q) } b2(I, t) }) } function Uo(e, t, n) { return { instance: e, listener: t, currentTarget: n } } function jc(e, t) { for (var n = t + "Capture", s = []; e !== null;) { var c = e, u = c.stateNode; if (c = c.tag, c !== 5 && c !== 26 && c !== 27 || u === null || (c = so(e, n), c != null && s.unshift(Uo(e, c, u)), c = so(e, t), c != null && s.push(Uo(e, c, u))), e.tag === 3) return s; e = e.return } return [] } function db(e) { if (e === null) return null; do e = e.return; while (e && e.tag !== 5 && e.tag !== 27); return e || null } function A2(e, t, n, s, c) { for (var u = t._reactName, v = []; n !== null && n !== s;) { var x = n, N = x.alternate, z = x.stateNode; if (x = x.tag, N !== null && N === s) break; x !== 5 && x !== 26 && x !== 27 || z === null || (N = z, c ? (z = so(n, u), z != null && v.unshift(Uo(n, z, N))) : c || (z = so(n, u), z != null && v.push(Uo(n, z, N)))), n = n.return } v.length !== 0 && e.push({ event: t, listeners: v }) } var fb = /\r\n?/g, hb = /\u0000|\uFFFD/g; function S2(e) {
return (typeof e == "string" ? e : "" + e).replace(fb, `
`).replace(hb, "")
} function j2(e, t) { return t = S2(t), S2(e) === t } function We(e, t, n, s, c, u) { switch (n) { case "children": typeof s == "string" ? t === "body" || t === "textarea" && s === "" || Yl(e, s) : (typeof s == "number" || typeof s == "bigint") && t !== "body" && Yl(e, "" + s); break; case "className": Cr(e, "class", s); break; case "tabIndex": Cr(e, "tabindex", s); break; case "dir": case "role": case "viewBox": case "width": case "height": Cr(e, n, s); break; case "style": jm(e, s, u); break; case "data": if (t !== "object") { Cr(e, "data", s); break } case "src": case "href": if (s === "" && (t !== "a" || n !== "href")) { e.removeAttribute(n); break } if (s == null || typeof s == "function" || typeof s == "symbol" || typeof s == "boolean") { e.removeAttribute(n); break } s = Rr("" + s), e.setAttribute(n, s); break; case "action": case "formAction": if (typeof s == "function") { e.setAttribute(n, "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 typeof u == "function" && (n === "formAction" ? (t !== "input" && We(e, t, "name", c.name, c, null), We(e, t, "formEncType", c.formEncType, c, null), We(e, t, "formMethod", c.formMethod, c, null), We(e, t, "formTarget", c.formTarget, c, null)) : (We(e, t, "encType", c.encType, c, null), We(e, t, "method", c.method, c, null), We(e, t, "target", c.target, c, null))); if (s == null || typeof s == "symbol" || typeof s == "boolean") { e.removeAttribute(n); break } s = Rr("" + s), e.setAttribute(n, s); break; case "onClick": s != null && (e.onclick = wa); break; case "onScroll": s != null && Te("scroll", e); break; case "onScrollEnd": s != null && Te("scrollend", e); break; case "dangerouslySetInnerHTML": if (s != null) { if (typeof s != "object" || !("__html" in s)) throw Error(r(61)); if (n = s.__html, n != null) { if (c.children != null) throw Error(r(60)); e.innerHTML = n } } break; case "multiple": e.multiple = s && typeof s != "function" && typeof s != "symbol"; break; case "muted": e.muted = s && typeof s != "function" && typeof s != "symbol"; break; case "suppressContentEditableWarning": case "suppressHydrationWarning": case "defaultValue": case "defaultChecked": case "innerHTML": case "ref": break; case "autoFocus": break; case "xlinkHref": if (s == null || typeof s == "function" || typeof s == "boolean" || typeof s == "symbol") { e.removeAttribute("xlink:href"); break } n = Rr("" + s), e.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", n); break; case "contentEditable": case "spellCheck": case "draggable": case "value": case "autoReverse": case "externalResourcesRequired": case "focusable": case "preserveAlpha": s != null && typeof s != "function" && typeof s != "symbol" ? e.setAttribute(n, "" + s) : e.removeAttribute(n); break; case "inert": 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": s && typeof s != "function" && typeof s != "symbol" ? e.setAttribute(n, "") : e.removeAttribute(n); break; case "capture": case "download": s === !0 ? e.setAttribute(n, "") : s !== !1 && s != null && typeof s != "function" && typeof s != "symbol" ? e.setAttribute(n, s) : e.removeAttribute(n); break; case "cols": case "rows": case "size": case "span": s != null && typeof s != "function" && typeof s != "symbol" && !isNaN(s) && 1 <= s ? e.setAttribute(n, s) : e.removeAttribute(n); break; case "rowSpan": case "start": s == null || typeof s == "function" || typeof s == "symbol" || isNaN(s) ? e.removeAttribute(n) : e.setAttribute(n, s); break; case "popover": Te("beforetoggle", e), Te("toggle", e), Nr(e, "popover", s); break; case "xlinkActuate": ja(e, "http://www.w3.org/1999/xlink", "xlink:actuate", s); break; case "xlinkArcrole": ja(e, "http://www.w3.org/1999/xlink", "xlink:arcrole", s); break; case "xlinkRole": ja(e, "http://www.w3.org/1999/xlink", "xlink:role", s); break; case "xlinkShow": ja(e, "http://www.w3.org/1999/xlink", "xlink:show", s); break; case "xlinkTitle": ja(e, "http://www.w3.org/1999/xlink", "xlink:title", s); break; case "xlinkType": ja(e, "http://www.w3.org/1999/xlink", "xlink:type", s); break; case "xmlBase": ja(e, "http://www.w3.org/XML/1998/namespace", "xml:base", s); break; case "xmlLang": ja(e, "http://www.w3.org/XML/1998/namespace", "xml:lang", s); break; case "xmlSpace": ja(e, "http://www.w3.org/XML/1998/namespace", "xml:space", s); break; case "is": Nr(e, "is", s); break; case "innerText": case "textContent": break; default: (!(2 < n.length) || n[0] !== "o" && n[0] !== "O" || n[1] !== "n" && n[1] !== "N") && (n = Py.get(n) || n, Nr(e, n, s)) } } function yf(e, t, n, s, c, u) { switch (n) { case "style": jm(e, s, u); break; case "dangerouslySetInnerHTML": if (s != null) { if (typeof s != "object" || !("__html" in s)) throw Error(r(61)); if (n = s.__html, n != null) { if (c.children != null) throw Error(r(60)); e.innerHTML = n } } break; case "children": typeof s == "string" ? Yl(e, s) : (typeof s == "number" || typeof s == "bigint") && Yl(e, "" + s); break; case "onScroll": s != null && Te("scroll", e); break; case "onScrollEnd": s != null && Te("scrollend", e); break; case "onClick": s != null && (e.onclick = wa); break; case "suppressContentEditableWarning": case "suppressHydrationWarning": case "innerHTML": case "ref": break; case "innerText": case "textContent": break; default: if (!pm.hasOwnProperty(n)) e: { if (n[0] === "o" && n[1] === "n" && (c = n.endsWith("Capture"), t = n.slice(2, c ? n.length - 7 : void 0), u = e[an] || null, u = u != null ? u[n] : null, typeof u == "function" && e.removeEventListener(t, u, c), typeof s == "function")) { typeof u != "function" && u !== null && (n in e ? e[n] = null : e.hasAttribute(n) && e.removeAttribute(n)), e.addEventListener(t, s, c); break e } n in e ? e[n] = s : s === !0 ? e.setAttribute(n, "") : Nr(e, n, s) } } } function It(e, t, n) { switch (t) { case "div": case "span": case "svg": case "path": case "a": case "g": case "p": case "li": break; case "img": Te("error", e), Te("load", e); var s = !1, c = !1, u; for (u in n) if (n.hasOwnProperty(u)) { var v = n[u]; if (v != null) switch (u) { case "src": s = !0; break; case "srcSet": c = !0; break; case "children": case "dangerouslySetInnerHTML": throw Error(r(137, t)); default: We(e, t, u, v, n, null) } } c && We(e, t, "srcSet", n.srcSet, n, null), s && We(e, t, "src", n.src, n, null); return; case "input": Te("invalid", e); var x = u = v = c = null, N = null, z = null; for (s in n) if (n.hasOwnProperty(s)) { var Q = n[s]; if (Q != null) switch (s) { case "name": c = Q; break; case "type": v = Q; break; case "checked": N = Q; break; case "defaultChecked": z = Q; break; case "value": u = Q; break; case "defaultValue": x = Q; break; case "children": case "dangerouslySetInnerHTML": if (Q != null) throw Error(r(137, t)); break; default: We(e, t, s, Q, n, null) } } bm(e, u, x, N, z, v, c, !1); return; case "select": Te("invalid", e), s = v = u = null; for (c in n) if (n.hasOwnProperty(c) && (x = n[c], x != null)) switch (c) { case "value": u = x; break; case "defaultValue": v = x; break; case "multiple": s = x; default: We(e, t, c, x, n, null) }t = u, n = v, e.multiple = !!s, t != null ? Fl(e, !!s, t, !1) : n != null && Fl(e, !!s, n, !0); return; case "textarea": Te("invalid", e), u = c = s = null; for (v in n) if (n.hasOwnProperty(v) && (x = n[v], x != null)) switch (v) { case "value": s = x; break; case "defaultValue": c = x; break; case "children": u = x; break; case "dangerouslySetInnerHTML": if (x != null) throw Error(r(91)); break; default: We(e, t, v, x, n, null) }Am(e, s, c, u); return; case "option": for (N in n) if (n.hasOwnProperty(N) && (s = n[N], s != null)) switch (N) { case "selected": e.selected = s && typeof s != "function" && typeof s != "symbol"; break; default: We(e, t, N, s, n, null) }return; case "dialog": Te("beforetoggle", e), Te("toggle", e), Te("cancel", e), Te("close", e); break; case "iframe": case "object": Te("load", e); break; case "video": case "audio": for (s = 0; s < Do.length; s++)Te(Do[s], e); break; case "image": Te("error", e), Te("load", e); break; case "details": Te("toggle", e); break; case "embed": case "source": case "link": Te("error", e), Te("load", e); case "area": case "base": case "br": case "col": case "hr": case "keygen": case "meta": case "param": case "track": case "wbr": case "menuitem": for (z in n) if (n.hasOwnProperty(z) && (s = n[z], s != null)) switch (z) { case "children": case "dangerouslySetInnerHTML": throw Error(r(137, t)); default: We(e, t, z, s, n, null) }return; default: if (ku(t)) { for (Q in n) n.hasOwnProperty(Q) && (s = n[Q], s !== void 0 && yf(e, t, Q, s, n, void 0)); return } }for (x in n) n.hasOwnProperty(x) && (s = n[x], s != null && We(e, t, x, s, n, null)) } function mb(e, t, n, s) { switch (t) { case "div": case "span": case "svg": case "path": case "a": case "g": case "p": case "li": break; case "input": var c = null, u = null, v = null, x = null, N = null, z = null, Q = null; for (H in n) { var I = n[H]; if (n.hasOwnProperty(H) && I != null) switch (H) { case "checked": break; case "value": break; case "defaultValue": N = I; default: s.hasOwnProperty(H) || We(e, t, H, null, s, I) } } for (var U in s) { var H = s[U]; if (I = n[U], s.hasOwnProperty(U) && (H != null || I != null)) switch (U) { case "type": u = H; break; case "name": c = H; break; case "checked": z = H; break; case "defaultChecked": Q = H; break; case "value": v = H; break; case "defaultValue": x = H; break; case "children": case "dangerouslySetInnerHTML": if (H != null) throw Error(r(137, t)); break; default: H !== I && We(e, t, U, H, s, I) } } Tu(e, v, x, N, z, Q, u, c); return; case "select": H = v = x = U = null; for (u in n) if (N = n[u], n.hasOwnProperty(u) && N != null) switch (u) { case "value": break; case "multiple": H = N; default: s.hasOwnProperty(u) || We(e, t, u, null, s, N) }for (c in s) if (u = s[c], N = n[c], s.hasOwnProperty(c) && (u != null || N != null)) switch (c) { case "value": U = u; break; case "defaultValue": x = u; break; case "multiple": v = u; default: u !== N && We(e, t, c, u, s, N) }t = x, n = v, s = H, U != null ? Fl(e, !!n, U, !1) : !!s != !!n && (t != null ? Fl(e, !!n, t, !0) : Fl(e, !!n, n ? [] : "", !1)); return; case "textarea": H = U = null; for (x in n) if (c = n[x], n.hasOwnProperty(x) && c != null && !s.hasOwnProperty(x)) switch (x) { case "value": break; case "children": break; default: We(e, t, x, null, s, c) }for (v in s) if (c = s[v], u = n[v], s.hasOwnProperty(v) && (c != null || u != null)) switch (v) { case "value": U = c; break; case "defaultValue": H = c; break; case "children": break; case "dangerouslySetInnerHTML": if (c != null) throw Error(r(91)); break; default: c !== u && We(e, t, v, c, s, u) }xm(e, U, H); return; case "option": for (var ne in n) if (U = n[ne], n.hasOwnProperty(ne) && U != null && !s.hasOwnProperty(ne)) switch (ne) { case "selected": e.selected = !1; break; default: We(e, t, ne, null, s, U) }for (N in s) if (U = s[N], H = n[N], s.hasOwnProperty(N) && U !== H && (U != null || H != null)) switch (N) { case "selected": e.selected = U && typeof U != "function" && typeof U != "symbol"; break; default: We(e, t, N, U, s, H) }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 he in n) U = n[he], n.hasOwnProperty(he) && U != null && !s.hasOwnProperty(he) && We(e, t, he, null, s, U); for (z in s) if (U = s[z], H = n[z], s.hasOwnProperty(z) && U !== H && (U != null || H != null)) switch (z) { case "children": case "dangerouslySetInnerHTML": if (U != null) throw Error(r(137, t)); break; default: We(e, t, z, U, s, H) }return; default: if (ku(t)) { for (var Je in n) U = n[Je], n.hasOwnProperty(Je) && U !== void 0 && !s.hasOwnProperty(Je) && yf(e, t, Je, void 0, s, U); for (Q in s) U = s[Q], H = n[Q], !s.hasOwnProperty(Q) || U === H || U === void 0 && H === void 0 || yf(e, t, Q, U, s, H); return } }for (var O in n) U = n[O], n.hasOwnProperty(O) && U != null && !s.hasOwnProperty(O) && We(e, t, O, null, s, U); for (I in s) U = s[I], H = n[I], !s.hasOwnProperty(I) || U === H || U == null && H == null || We(e, t, I, U, s, H) } function w2(e) { switch (e) { case "css": case "script": case "font": case "img": case "image": case "input": case "link": return !0; default: return !1 } } function pb() { if (typeof performance.getEntriesByType == "function") { for (var e = 0, t = 0, n = performance.getEntriesByType("resource"), s = 0; s < n.length; s++) { var c = n[s], u = c.transferSize, v = c.initiatorType, x = c.duration; if (u && x && w2(v)) { for (v = 0, x = c.responseEnd, s += 1; s < n.length; s++) { var N = n[s], z = N.startTime; if (z > x) break; var Q = N.transferSize, I = N.initiatorType; Q && w2(I) && (N = N.responseEnd, v += Q * (N < x ? 1 : (x - z) / (N - z))) } if (--s, t += 8 * (u + v) / (c.duration / 1e3), e++, 10 < e) break } } if (0 < e) return t / e / 1e6 } return navigator.connection && (e = navigator.connection.downlink, typeof e == "number") ? e : 5 } var _f = null, bf = null; function wc(e) { return e.nodeType === 9 ? e : e.ownerDocument } function E2(e) { switch (e) { case "http://www.w3.org/2000/svg": return 1; case "http://www.w3.org/1998/Math/MathML": return 2; default: return 0 } } function N2(e, t) { if (e === 0) switch (t) { case "svg": return 1; case "math": return 2; default: return 0 }return e === 1 && t === "foreignObject" ? 0 : e } function xf(e, t) { return e === "textarea" || e === "noscript" || typeof t.children == "string" || typeof t.children == "number" || typeof t.children == "bigint" || typeof t.dangerouslySetInnerHTML == "object" && t.dangerouslySetInnerHTML !== null && t.dangerouslySetInnerHTML.__html != null } var Af = null; function gb() { var e = window.event; return e && e.type === "popstate" ? e === Af ? !1 : (Af = e, !0) : (Af = null, !1) } var C2 = typeof setTimeout == "function" ? setTimeout : void 0, vb = typeof clearTimeout == "function" ? clearTimeout : void 0, T2 = typeof Promise == "function" ? Promise : void 0, yb = typeof queueMicrotask == "function" ? queueMicrotask : typeof T2 < "u" ? function (e) { return T2.resolve(null).then(e).catch(_b) } : C2; function _b(e) { setTimeout(function () { throw e }) } function ws(e) { return e === "head" } function R2(e, t) { var n = t, s = 0; do { var c = n.nextSibling; if (e.removeChild(n), c && c.nodeType === 8) if (n = c.data, n === "/$" || n === "/&") { if (s === 0) { e.removeChild(c), xi(t); return } s-- } else if (n === "$" || n === "$?" || n === "$~" || n === "$!" || n === "&") s++; else if (n === "html") Ho(e.ownerDocument.documentElement); else if (n === "head") { n = e.ownerDocument.head, Ho(n); for (var u = n.firstChild; u;) { var v = u.nextSibling, x = u.nodeName; u[no] || x === "SCRIPT" || x === "STYLE" || x === "LINK" && u.rel.toLowerCase() === "stylesheet" || n.removeChild(u), u = v } } else n === "body" && Ho(e.ownerDocument.body); n = c } while (n); xi(t) } function k2(e, t) { var n = e; e = 0; do { var s = n.nextSibling; if (n.nodeType === 1 ? t ? (n._stashedDisplay = n.style.display, n.style.display = "none") : (n.style.display = n._stashedDisplay || "", n.getAttribute("style") === "" && n.removeAttribute("style")) : n.nodeType === 3 && (t ? (n._stashedText = n.nodeValue, n.nodeValue = "") : n.nodeValue = n._stashedText || ""), s && s.nodeType === 8) if (n = s.data, n === "/$") { if (e === 0) break; e-- } else n !== "$" && n !== "$?" && n !== "$~" && n !== "$!" || e++; n = s } while (n) } function Sf(e) { var t = e.firstChild; for (t && t.nodeType === 10 && (t = t.nextSibling); t;) { var n = t; switch (t = t.nextSibling, n.nodeName) { case "HTML": case "HEAD": case "BODY": Sf(n), Nu(n); continue; case "SCRIPT": case "STYLE": continue; case "LINK": if (n.rel.toLowerCase() === "stylesheet") continue }e.removeChild(n) } } function bb(e, t, n, s) { for (; e.nodeType === 1;) { var c = n; if (e.nodeName.toLowerCase() !== t.toLowerCase()) { if (!s && (e.nodeName !== "INPUT" || e.type !== "hidden")) break } else if (s) { if (!e[no]) switch (t) { case "meta": if (!e.hasAttribute("itemprop")) break; return e; case "link": if (u = e.getAttribute("rel"), u === "stylesheet" && e.hasAttribute("data-precedence")) break; if (u !== c.rel || e.getAttribute("href") !== (c.href == null || c.href === "" ? null : c.href) || e.getAttribute("crossorigin") !== (c.crossOrigin == null ? null : c.crossOrigin) || e.getAttribute("title") !== (c.title == null ? null : c.title)) break; return e; case "style": if (e.hasAttribute("data-precedence")) break; return e; case "script": if (u = e.getAttribute("src"), (u !== (c.src == null ? null : c.src) || e.getAttribute("type") !== (c.type == null ? null : c.type) || e.getAttribute("crossorigin") !== (c.crossOrigin == null ? null : c.crossOrigin)) && u && e.hasAttribute("async") && !e.hasAttribute("itemprop")) break; return e; default: return e } } else if (t === "input" && e.type === "hidden") { var u = c.name == null ? null : "" + c.name; if (c.type === "hidden" && e.getAttribute("name") === u) return e } else return e; if (e = Gn(e.nextSibling), e === null) break } return null } function xb(e, t, n) { if (t === "") return null; for (; e.nodeType !== 3;)if ((e.nodeType !== 1 || e.nodeName !== "INPUT" || e.type !== "hidden") && !n || (e = Gn(e.nextSibling), e === null)) return null; return e } function B2(e, t) { for (; e.nodeType !== 8;)if ((e.nodeType !== 1 || e.nodeName !== "INPUT" || e.type !== "hidden") && !t || (e = Gn(e.nextSibling), e === null)) return null; return e } function jf(e) { return e.data === "$?" || e.data === "$~" } function wf(e) { return e.data === "$!" || e.data === "$?" && e.ownerDocument.readyState !== "loading" } function Ab(e, t) { var n = e.ownerDocument; if (e.data === "$~") e._reactRetry = t; else if (e.data !== "$?" || n.readyState !== "loading") t(); else { var s = function () { t(), n.removeEventListener("DOMContentLoaded", s) }; n.addEventListener("DOMContentLoaded", s), e._reactRetry = s } } function Gn(e) { for (; e != null; e = e.nextSibling) { var t = e.nodeType; if (t === 1 || t === 3) break; if (t === 8) { if (t = e.data, t === "$" || t === "$!" || t === "$?" || t === "$~" || t === "&" || t === "F!" || t === "F") break; if (t === "/$" || t === "/&") return null } } return e } var Ef = null; function O2(e) { e = e.nextSibling; for (var t = 0; e;) { if (e.nodeType === 8) { var n = e.data; if (n === "/$" || n === "/&") { if (t === 0) return Gn(e.nextSibling); t-- } else n !== "$" && n !== "$!" && n !== "$?" && n !== "$~" && n !== "&" || t++ } e = e.nextSibling } return null } function L2(e) { e = e.previousSibling; for (var t = 0; e;) { if (e.nodeType === 8) { var n = e.data; if (n === "$" || n === "$!" || n === "$?" || n === "$~" || n === "&") { if (t === 0) return e; t-- } else n !== "/$" && n !== "/&" || t++ } e = e.previousSibling } return null } function M2(e, t, n) { switch (t = wc(n), e) { case "html": if (e = t.documentElement, !e) throw Error(r(452)); return e; case "head": if (e = t.head, !e) throw Error(r(453)); return e; case "body": if (e = t.body, !e) throw Error(r(454)); return e; default: throw Error(r(451)) } } function Ho(e) { for (var t = e.attributes; t.length;)e.removeAttributeNode(t[0]); Nu(e) } var Kn = new Map, z2 = new Set; function Ec(e) { return typeof e.getRootNode == "function" ? e.getRootNode() : e.nodeType === 9 ? e : e.ownerDocument } var Pa = X.d; X.d = { f: Sb, r: jb, D: wb, C: Eb, L: Nb, m: Cb, X: Rb, S: Tb, M: kb }; function Sb() { var e = Pa.f(), t = vc(); return e || t } function jb(e) { var t = ql(e); t !== null && t.tag === 5 && t.type === "form" ? $0(t) : Pa.r(e) } var yi = typeof document > "u" ? null : document; function D2(e, t, n) { var s = yi; if (s && typeof t == "string" && t) { var c = Hn(t); c = 'link[rel="' + e + '"][href="' + c + '"]', typeof n == "string" && (c += '[crossorigin="' + n + '"]'), z2.has(c) || (z2.add(c), e = { rel: e, crossOrigin: n, href: t }, s.querySelector(c) === null && (t = s.createElement("link"), It(t, "link", e), Lt(t), s.head.appendChild(t))) } } function wb(e) { Pa.D(e), D2("dns-prefetch", e, null) } function Eb(e, t) { Pa.C(e, t), D2("preconnect", e, t) } function Nb(e, t, n) { Pa.L(e, t, n); var s = yi; if (s && e && t) { var c = 'link[rel="preload"][as="' + Hn(t) + '"]'; t === "image" && n && n.imageSrcSet ? (c += '[imagesrcset="' + Hn(n.imageSrcSet) + '"]', typeof n.imageSizes == "string" && (c += '[imagesizes="' + Hn(n.imageSizes) + '"]')) : c += '[href="' + Hn(e) + '"]'; var u = c; switch (t) { case "style": u = _i(e); break; case "script": u = bi(e) }Kn.has(u) || (e = _({ rel: "preload", href: t === "image" && n && n.imageSrcSet ? void 0 : e, as: t }, n), Kn.set(u, e), s.querySelector(c) !== null || t === "style" && s.querySelector(qo(u)) || t === "script" && s.querySelector(Po(u)) || (t = s.createElement("link"), It(t, "link", e), Lt(t), s.head.appendChild(t))) } } function Cb(e, t) { Pa.m(e, t); var n = yi; if (n && e) { var s = t && typeof t.as == "string" ? t.as : "script", c = 'link[rel="modulepreload"][as="' + Hn(s) + '"][href="' + Hn(e) + '"]', u = c; switch (s) { case "audioworklet": case "paintworklet": case "serviceworker": case "sharedworker": case "worker": case "script": u = bi(e) }if (!Kn.has(u) && (e = _({ rel: "modulepreload", href: e }, t), Kn.set(u, e), n.querySelector(c) === null)) { switch (s) { case "audioworklet": case "paintworklet": case "serviceworker": case "sharedworker": case "worker": case "script": if (n.querySelector(Po(u))) return }s = n.createElement("link"), It(s, "link", e), Lt(s), n.head.appendChild(s) } } } function Tb(e, t, n) { Pa.S(e, t, n); var s = yi; if (s && e) { var c = Pl(s).hoistableStyles, u = _i(e); t = t || "default"; var v = c.get(u); if (!v) { var x = { loading: 0, preload: null }; if (v = s.querySelector(qo(u))) x.loading = 5; else { e = _({ rel: "stylesheet", href: e, "data-precedence": t }, n), (n = Kn.get(u)) && Nf(e, n); var N = v = s.createElement("link"); Lt(N), It(N, "link", e), N._p = new Promise(function (z, Q) { N.onload = z, N.onerror = Q }), N.addEventListener("load", function () { x.loading |= 1 }), N.addEventListener("error", function () { x.loading |= 2 }), x.loading |= 4, Nc(v, t, s) } v = { type: "stylesheet", instance: v, count: 1, state: x }, c.set(u, v) } } } function Rb(e, t) { Pa.X(e, t); var n = yi; if (n && e) { var s = Pl(n).hoistableScripts, c = bi(e), u = s.get(c); u || (u = n.querySelector(Po(c)), u || (e = _({ src: e, async: !0 }, t), (t = Kn.get(c)) && Cf(e, t), u = n.createElement("script"), Lt(u), It(u, "link", e), n.head.appendChild(u)), u = { type: "script", instance: u, count: 1, state: null }, s.set(c, u)) } } function kb(e, t) { Pa.M(e, t); var n = yi; if (n && e) { var s = Pl(n).hoistableScripts, c = bi(e), u = s.get(c); u || (u = n.querySelector(Po(c)), u || (e = _({ src: e, async: !0, type: "module" }, t), (t = Kn.get(c)) && Cf(e, t), u = n.createElement("script"), Lt(u), It(u, "link", e), n.head.appendChild(u)), u = { type: "script", instance: u, count: 1, state: null }, s.set(c, u)) } } function U2(e, t, n, s) { var c = (c = ye.current) ? Ec(c) : null; if (!c) throw Error(r(446)); switch (e) { case "meta": case "title": return null; case "style": return typeof n.precedence == "string" && typeof n.href == "string" ? (t = _i(n.href), n = Pl(c).hoistableStyles, s = n.get(t), s || (s = { type: "style", instance: null, count: 0, state: null }, n.set(t, s)), s) : { type: "void", instance: null, count: 0, state: null }; case "link": if (n.rel === "stylesheet" && typeof n.href == "string" && typeof n.precedence == "string") { e = _i(n.href); var u = Pl(c).hoistableStyles, v = u.get(e); if (v || (c = c.ownerDocument || c, v = { type: "stylesheet", instance: null, count: 0, state: { loading: 0, preload: null } }, u.set(e, v), (u = c.querySelector(qo(e))) && !u._p && (v.instance = u, v.state.loading = 5), Kn.has(e) || (n = { rel: "preload", as: "style", href: n.href, crossOrigin: n.crossOrigin, integrity: n.integrity, media: n.media, hrefLang: n.hrefLang, referrerPolicy: n.referrerPolicy }, Kn.set(e, n), u || Bb(c, e, n, v.state))), t && s === null) throw Error(r(528, "")); return v } if (t && s !== null) throw Error(r(529, "")); return null; case "script": return t = n.async, n = n.src, typeof n == "string" && t && typeof t != "function" && typeof t != "symbol" ? (t = bi(n), n = Pl(c).hoistableScripts, s = n.get(t), s || (s = { type: "script", instance: null, count: 0, state: null }, n.set(t, s)), s) : { type: "void", instance: null, count: 0, state: null }; default: throw Error(r(444, e)) } } function _i(e) { return 'href="' + Hn(e) + '"' } function qo(e) { return 'link[rel="stylesheet"][' + e + "]" } function H2(e) { return _({}, e, { "data-precedence": e.precedence, precedence: null }) } function Bb(e, t, n, s) { e.querySelector('link[rel="preload"][as="style"][' + t + "]") ? s.loading = 1 : (t = e.createElement("link"), s.preload = t, t.addEventListener("load", function () { return s.loading |= 1 }), t.addEventListener("error", function () { return s.loading |= 2 }), It(t, "link", n), Lt(t), e.head.appendChild(t)) } function bi(e) { return '[src="' + Hn(e) + '"]' } function Po(e) { return "script[async]" + e } function q2(e, t, n) { if (t.count++, t.instance === null) switch (t.type) { case "style": var s = e.querySelector('style[data-href~="' + Hn(n.href) + '"]'); if (s) return t.instance = s, Lt(s), s; var c = _({}, n, { "data-href": n.href, "data-precedence": n.precedence, href: null, precedence: null }); return s = (e.ownerDocument || e).createElement("style"), Lt(s), It(s, "style", c), Nc(s, n.precedence, e), t.instance = s; case "stylesheet": c = _i(n.href); var u = e.querySelector(qo(c)); if (u) return t.state.loading |= 4, t.instance = u, Lt(u), u; s = H2(n), (c = Kn.get(c)) && Nf(s, c), u = (e.ownerDocument || e).createElement("link"), Lt(u); var v = u; return v._p = new Promise(function (x, N) { v.onload = x, v.onerror = N }), It(u, "link", s), t.state.loading |= 4, Nc(u, n.precedence, e), t.instance = u; case "script": return u = bi(n.src), (c = e.querySelector(Po(u))) ? (t.instance = c, Lt(c), c) : (s = n, (c = Kn.get(u)) && (s = _({}, n), Cf(s, c)), e = e.ownerDocument || e, c = e.createElement("script"), Lt(c), It(c, "link", s), e.head.appendChild(c), t.instance = c); case "void": return null; default: throw Error(r(443, t.type)) } else t.type === "stylesheet" && (t.state.loading & 4) === 0 && (s = t.instance, t.state.loading |= 4, Nc(s, n.precedence, e)); return t.instance } function Nc(e, t, n) { for (var s = n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'), c = s.length ? s[s.length - 1] : null, u = c, v = 0; v < s.length; v++) { var x = s[v]; if (x.dataset.precedence === t) u = x; else if (u !== c) break } u ? u.parentNode.insertBefore(e, u.nextSibling) : (t = n.nodeType === 9 ? n.head : n, t.insertBefore(e, t.firstChild)) } function Nf(e, t) { e.crossOrigin == null && (e.crossOrigin = t.crossOrigin), e.referrerPolicy == null && (e.referrerPolicy = t.referrerPolicy), e.title == null && (e.title = t.title) } function Cf(e, t) { e.crossOrigin == null && (e.crossOrigin = t.crossOrigin), e.referrerPolicy == null && (e.referrerPolicy = t.referrerPolicy), e.integrity == null && (e.integrity = t.integrity) } var Cc = null; function P2(e, t, n) { if (Cc === null) { var s = new Map, c = Cc = new Map; c.set(n, s) } else c = Cc, s = c.get(n), s || (s = new Map, c.set(n, s)); if (s.has(e)) return s; for (s.set(e, null), n = n.getElementsByTagName(e), c = 0; c < n.length; c++) { var u = n[c]; if (!(u[no] || u[Pt] || e === "link" && u.getAttribute("rel") === "stylesheet") && u.namespaceURI !== "http://www.w3.org/2000/svg") { var v = u.getAttribute(t) || ""; v = e + v; var x = s.get(v); x ? x.push(u) : s.set(v, [u]) } } return s } function Q2(e, t, n) { e = e.ownerDocument || e, e.head.insertBefore(n, t === "title" ? e.querySelector("head > title") : null) } function Ob(e, t, n) { if (n === 1 || t.itemProp != null) return !1; switch (e) { case "meta": case "title": return !0; case "style": if (typeof t.precedence != "string" || typeof t.href != "string" || t.href === "") break; return !0; case "link": if (typeof t.rel != "string" || typeof t.href != "string" || t.href === "" || t.onLoad || t.onError) break; switch (t.rel) { case "stylesheet": return e = t.disabled, typeof t.precedence == "string" && e == null; default: return !0 }case "script": if (t.async && typeof t.async != "function" && typeof t.async != "symbol" && !t.onLoad && !t.onError && t.src && typeof t.src == "string") return !0 }return !1 } function F2(e) { return !(e.type === "stylesheet" && (e.state.loading & 3) === 0) } function Lb(e, t, n, s) { if (n.type === "stylesheet" && (typeof s.media != "string" || matchMedia(s.media).matches !== !1) && (n.state.loading & 4) === 0) { if (n.instance === null) { var c = _i(s.href), u = t.querySelector(qo(c)); if (u) { t = u._p, t !== null && typeof t == "object" && typeof t.then == "function" && (e.count++, e = Tc.bind(e), t.then(e, e)), n.state.loading |= 4, n.instance = u, Lt(u); return } u = t.ownerDocument || t, s = H2(s), (c = Kn.get(c)) && Nf(s, c), u = u.createElement("link"), Lt(u); var v = u; v._p = new Promise(function (x, N) { v.onload = x, v.onerror = N }), It(u, "link", s), n.instance = u } e.stylesheets === null && (e.stylesheets = new Map), e.stylesheets.set(n, t), (t = n.state.preload) && (n.state.loading & 3) === 0 && (e.count++, n = Tc.bind(e), t.addEventListener("load", n), t.addEventListener("error", n)) } } var Tf = 0; function Mb(e, t) { return e.stylesheets && e.count === 0 && kc(e, e.stylesheets), 0 < e.count || 0 < e.imgCount ? function (n) { var s = setTimeout(function () { if (e.stylesheets && kc(e, e.stylesheets), e.unsuspend) { var u = e.unsuspend; e.unsuspend = null, u() } }, 6e4 + t); 0 < e.imgBytes && Tf === 0 && (Tf = 62500 * pb()); var c = setTimeout(function () { if (e.waitingForImages = !1, e.count === 0 && (e.stylesheets && kc(e, e.stylesheets), e.unsuspend)) { var u = e.unsuspend; e.unsuspend = null, u() } }, (e.imgBytes > Tf ? 50 : 800) + t); return e.unsuspend = n, function () { e.unsuspend = null, clearTimeout(s), clearTimeout(c) } } : null } function Tc() { if (this.count--, this.count === 0 && (this.imgCount === 0 || !this.waitingForImages)) { if (this.stylesheets) kc(this, this.stylesheets); else if (this.unsuspend) { var e = this.unsuspend; this.unsuspend = null, e() } } } var Rc = null; function kc(e, t) { e.stylesheets = null, e.unsuspend !== null && (e.count++, Rc = new Map, t.forEach(zb, e), Rc = null, Tc.call(e)) } function zb(e, t) { if (!(t.state.loading & 4)) { var n = Rc.get(e); if (n) var s = n.get(null); else { n = new Map, Rc.set(e, n); for (var c = e.querySelectorAll("link[data-precedence],style[data-precedence]"), u = 0; u < c.length; u++) { var v = c[u]; (v.nodeName === "LINK" || v.getAttribute("media") !== "not all") && (n.set(v.dataset.precedence, v), s = v) } s && n.set(null, s) } c = t.instance, v = c.getAttribute("data-precedence"), u = n.get(v) || s, u === s && n.set(null, c), n.set(v, c), this.count++, s = Tc.bind(this), c.addEventListener("load", s), c.addEventListener("error", s), u ? u.parentNode.insertBefore(c, u.nextSibling) : (e = e.nodeType === 9 ? e.head : e, e.insertBefore(c, e.firstChild)), t.state.loading |= 4 } } var Qo = { $$typeof: B, Provider: null, Consumer: null, _currentValue: W, _currentValue2: W, _threadCount: 0 }; function Db(e, t, n, s, c, u, v, x, N) { this.tag = 1, this.containerInfo = e, this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.callbackNode = this.next = this.pendingContext = this.context = this.cancelPendingCommit = null, this.callbackPriority = 0, this.expirationTimes = Su(-1), this.entangledLanes = this.shellSuspendCounter = this.errorRecoveryDisabledLanes = this.expiredLanes = this.warmLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = Su(0), this.hiddenUpdates = Su(null), this.identifierPrefix = s, this.onUncaughtError = c, this.onCaughtError = u, this.onRecoverableError = v, this.pooledCache = null, this.pooledCacheLanes = 0, this.formState = N, this.incompleteTransitions = new Map } function Y2(e, t, n, s, c, u, v, x, N, z, Q, I) { return e = new Db(e, t, n, v, N, z, Q, I, x), t = 1, u === !0 && (t |= 24), u = Sn(3, null, null, t), e.current = u, u.stateNode = e, t = od(), t.refCount++, e.pooledCache = t, t.refCount++, u.memoizedState = { element: s, isDehydrated: n, cache: t }, dd(u), e } function I2(e) { return e ? (e = Wl, e) : Wl } function G2(e, t, n, s, c, u) { c = I2(c), s.context === null ? s.context = c : s.pendingContext = c, s = ms(t), s.payload = { element: n }, u = u === void 0 ? null : u, u !== null && (s.callback = u), n = ps(e, s, t), n !== null && (un(n, e, t), bo(n, e, t)) } function K2(e, t) { if (e = e.memoizedState, e !== null && e.dehydrated !== null) { var n = e.retryLane; e.retryLane = n !== 0 && n < t ? n : t } } function Rf(e, t) { K2(e, t), (e = e.alternate) && K2(e, t) } function X2(e) { if (e.tag === 13 || e.tag === 31) { var t = $s(e, 67108864); t !== null && un(t, e, 67108864), Rf(e, 67108864) } } function V2(e) { if (e.tag === 13 || e.tag === 31) { var t = Cn(); t = ju(t); var n = $s(e, t); n !== null && un(n, e, t), Rf(e, t) } } var Bc = !0; function Ub(e, t, n, s) { var c = q.T; q.T = null; var u = X.p; try { X.p = 2, kf(e, t, n, s) } finally { X.p = u, q.T = c } } function Hb(e, t, n, s) { var c = q.T; q.T = null; var u = X.p; try { X.p = 8, kf(e, t, n, s) } finally { X.p = u, q.T = c } } function kf(e, t, n, s) { if (Bc) { var c = Bf(s); if (c === null) vf(e, t, s, Oc, n), W2(e, s); else if (Pb(c, e, t, n, s)) s.stopPropagation(); else if (W2(e, s), t & 4 && -1 < qb.indexOf(e)) { for (; c !== null;) { var u = ql(c); if (u !== null) switch (u.tag) { case 3: if (u = u.stateNode, u.current.memoizedState.isDehydrated) { var v = Xs(u.pendingLanes); if (v !== 0) { var x = u; for (x.pendingLanes |= 2, x.entangledLanes |= 2; v;) { var N = 1 << 31 - xn(v); x.entanglements[1] |= N, v &= ~N } ma(u), (Ye & 6) === 0 && (pc = Tt() + 500, zo(0)) } } break; case 31: case 13: x = $s(u, 2), x !== null && un(x, u, 2), vc(), Rf(u, 2) }if (u = Bf(s), u === null && vf(e, t, s, Oc, n), u === c) break; c = u } c !== null && s.stopPropagation() } else vf(e, t, s, null, n) } } function Bf(e) { return e = Ou(e), Of(e) } var Oc = null; function Of(e) { if (Oc = null, e = Hl(e), e !== null) { var t = f(e); if (t === null) e = null; else { var n = t.tag; if (n === 13) { if (e = h(t), e !== null) return e; e = null } else if (n === 31) { if (e = g(t), e !== null) return e; e = null } else if (n === 3) { if (t.stateNode.current.memoizedState.isDehydrated) return t.tag === 3 ? t.stateNode.containerInfo : null; e = null } else t !== e && (e = null) } } return Oc = e, null } function Z2(e) { switch (e) { 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 2; 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 8; case "message": switch (Sa()) { case Zi: return 2; case Wi: return 8; case Ke: case Jn: return 32; case Ji: return 268435456; default: return 32 }default: return 32 } } var Lf = !1, Es = null, Ns = null, Cs = null, Fo = new Map, Yo = new Map, Ts = [], qb = "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(" "); function W2(e, t) { switch (e) { case "focusin": case "focusout": Es = null; break; case "dragenter": case "dragleave": Ns = null; break; case "mouseover": case "mouseout": Cs = null; break; case "pointerover": case "pointerout": Fo.delete(t.pointerId); break; case "gotpointercapture": case "lostpointercapture": Yo.delete(t.pointerId) } } function Io(e, t, n, s, c, u) { return e === null || e.nativeEvent !== u ? (e = { blockedOn: t, domEventName: n, eventSystemFlags: s, nativeEvent: u, targetContainers: [c] }, t !== null && (t = ql(t), t !== null && X2(t)), e) : (e.eventSystemFlags |= s, t = e.targetContainers, c !== null && t.indexOf(c) === -1 && t.push(c), e) } function Pb(e, t, n, s, c) { switch (t) { case "focusin": return Es = Io(Es, e, t, n, s, c), !0; case "dragenter": return Ns = Io(Ns, e, t, n, s, c), !0; case "mouseover": return Cs = Io(Cs, e, t, n, s, c), !0; case "pointerover": var u = c.pointerId; return Fo.set(u, Io(Fo.get(u) || null, e, t, n, s, c)), !0; case "gotpointercapture": return u = c.pointerId, Yo.set(u, Io(Yo.get(u) || null, e, t, n, s, c)), !0 }return !1 } function J2(e) { var t = Hl(e.target); if (t !== null) { var n = f(t); if (n !== null) { if (t = n.tag, t === 13) { if (t = h(n), t !== null) { e.blockedOn = t, fm(e.priority, function () { V2(n) }); return } } else if (t === 31) { if (t = g(n), t !== null) { e.blockedOn = t, fm(e.priority, function () { V2(n) }); return } } else if (t === 3 && n.stateNode.current.memoizedState.isDehydrated) { e.blockedOn = n.tag === 3 ? n.stateNode.containerInfo : null; return } } } e.blockedOn = null } function Lc(e) { if (e.blockedOn !== null) return !1; for (var t = e.targetContainers; 0 < t.length;) { var n = Bf(e.nativeEvent); if (n === null) { n = e.nativeEvent; var s = new n.constructor(n.type, n); Bu = s, n.target.dispatchEvent(s), Bu = null } else return t = ql(n), t !== null && X2(t), e.blockedOn = n, !1; t.shift() } return !0 } function $2(e, t, n) { Lc(e) && n.delete(t) } function Qb() { Lf = !1, Es !== null && Lc(Es) && (Es = null), Ns !== null && Lc(Ns) && (Ns = null), Cs !== null && Lc(Cs) && (Cs = null), Fo.forEach($2), Yo.forEach($2) } function Mc(e, t) { e.blockedOn === t && (e.blockedOn = null, Lf || (Lf = !0, a.unstable_scheduleCallback(a.unstable_NormalPriority, Qb))) } var zc = null; function eg(e) { zc !== e && (zc = e, a.unstable_scheduleCallback(a.unstable_NormalPriority, function () { zc === e && (zc = null); for (var t = 0; t < e.length; t += 3) { var n = e[t], s = e[t + 1], c = e[t + 2]; if (typeof s != "function") { if (Of(s || n) === null) continue; break } var u = ql(n); u !== null && (e.splice(t, 3), t -= 3, kd(u, { pending: !0, data: c, method: n.method, action: s }, s, c)) } })) } function xi(e) { function t(N) { return Mc(N, e) } Es !== null && Mc(Es, e), Ns !== null && Mc(Ns, e), Cs !== null && Mc(Cs, e), Fo.forEach(t), Yo.forEach(t); for (var n = 0; n < Ts.length; n++) { var s = Ts[n]; s.blockedOn === e && (s.blockedOn = null) } for (; 0 < Ts.length && (n = Ts[0], n.blockedOn === null);)J2(n), n.blockedOn === null && Ts.shift(); if (n = (e.ownerDocument || e).$$reactFormReplay, n != null) for (s = 0; s < n.length; s += 3) { var c = n[s], u = n[s + 1], v = c[an] || null; if (typeof u == "function") v || eg(n); else if (v) { var x = null; if (u && u.hasAttribute("formAction")) { if (c = u, v = u[an] || null) x = v.formAction; else if (Of(c) !== null) continue } else x = v.action; typeof x == "function" ? n[s + 1] = x : (n.splice(s, 3), s -= 3), eg(n) } } } function tg() { function e(u) { u.canIntercept && u.info === "react-transition" && u.intercept({ handler: function () { return new Promise(function (v) { return c = v }) }, focusReset: "manual", scroll: "manual" }) } function t() { c !== null && (c(), c = null), s || setTimeout(n, 20) } function n() { if (!s && !navigation.transition) { var u = navigation.currentEntry; u && u.url != null && navigation.navigate(u.url, { state: u.getState(), info: "react-transition", history: "replace" }) } } if (typeof navigation == "object") { var s = !1, c = null; return navigation.addEventListener("navigate", e), navigation.addEventListener("navigatesuccess", t), navigation.addEventListener("navigateerror", t), setTimeout(n, 100), function () { s = !0, navigation.removeEventListener("navigate", e), navigation.removeEventListener("navigatesuccess", t), navigation.removeEventListener("navigateerror", t), c !== null && (c(), c = null) } } } function Mf(e) { this._internalRoot = e } Dc.prototype.render = Mf.prototype.render = function (e) { var t = this._internalRoot; if (t === null) throw Error(r(409)); var n = t.current, s = Cn(); G2(n, s, e, t, null, null) }, Dc.prototype.unmount = Mf.prototype.unmount = function () { var e = this._internalRoot; if (e !== null) { this._internalRoot = null; var t = e.containerInfo; G2(e.current, 2, null, e, null, null), vc(), t[Ul] = null } }; function Dc(e) { this._internalRoot = e } Dc.prototype.unstable_scheduleHydration = function (e) { if (e) { var t = dm(); e = { blockedOn: null, target: e, priority: t }; for (var n = 0; n < Ts.length && t !== 0 && t < Ts[n].priority; n++); Ts.splice(n, 0, e), n === 0 && J2(e) } }; var ng = l.version; if (ng !== "19.2.5") throw Error(r(527, ng, "19.2.5")); X.findDOMNode = function (e) { var t = e._reactInternals; if (t === void 0) throw typeof e.render == "function" ? Error(r(188)) : (e = Object.keys(e).join(","), Error(r(268, e))); return e = p(t), e = e !== null ? y(e) : null, e = e === null ? null : e.stateNode, e }; var Fb = { bundleType: 0, version: "19.2.5", rendererPackageName: "react-dom", currentDispatcherRef: q, reconcilerVersion: "19.2.5" }; if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") { var Uc = __REACT_DEVTOOLS_GLOBAL_HOOK__; if (!Uc.isDisabled && Uc.supportsFiber) try { $i = Uc.inject(Fb), bn = Uc } catch { } } return Ko.createRoot = function (e, t) { if (!d(e)) throw Error(r(299)); var n = !1, s = "", c = cp, u = up, v = dp; return t != null && (t.unstable_strictMode === !0 && (n = !0), t.identifierPrefix !== void 0 && (s = t.identifierPrefix), t.onUncaughtError !== void 0 && (c = t.onUncaughtError), t.onCaughtError !== void 0 && (u = t.onCaughtError), t.onRecoverableError !== void 0 && (v = t.onRecoverableError)), t = Y2(e, 1, !1, null, null, n, s, null, c, u, v, tg), e[Ul] = t.current, gf(e), new Mf(t) }, Ko.hydrateRoot = function (e, t, n) { if (!d(e)) throw Error(r(299)); var s = !1, c = "", u = cp, v = up, x = dp, N = null; return n != null && (n.unstable_strictMode === !0 && (s = !0), n.identifierPrefix !== void 0 && (c = n.identifierPrefix), n.onUncaughtError !== void 0 && (u = n.onUncaughtError), n.onCaughtError !== void 0 && (v = n.onCaughtError), n.onRecoverableError !== void 0 && (x = n.onRecoverableError), n.formState !== void 0 && (N = n.formState)), t = Y2(e, 1, !0, t, n ?? null, s, c, N, u, v, x, tg), t.context = I2(null), n = t.current, s = Cn(), s = ju(s), c = ms(s), c.callback = null, ps(n, c, s), n = s, t.current.lanes = n, to(t, n), ma(t), e[Ul] = t.current, gf(e), new Dc(t) }, Ko.version = "19.2.5", Ko
} var hg; function $b() { if (hg) return Hf.exports; hg = 1; function a() { if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function")) try { __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a) } catch (l) { console.error(l) } } return a(), Hf.exports = Jb(), Hf.exports } var ex = $b();/**
* react-router v7.14.2
*
* Copyright (c) Remix Software Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE.md file in the root directory of this source tree.
*
* @license MIT
*/var mg = "popstate"; function pg(a) { return typeof a == "object" && a != null && "pathname" in a && "search" in a && "hash" in a && "state" in a && "key" in a } function tx(a = {}) { function l(r, d) { var p; let f = (p = d.state) == null ? void 0 : p.masked, { pathname: h, search: g, hash: m } = f || r.location; return uh("", { pathname: h, search: g, hash: m }, d.state && d.state.usr || null, d.state && d.state.key || "default", f ? { pathname: r.location.pathname, search: r.location.search, hash: r.location.hash } : void 0) } function i(r, d) { return typeof d == "string" ? d : sr(d) } return ax(l, i, null, a) } function dt(a, l) { if (a === !1 || a === null || typeof a > "u") throw new Error(l) } function oa(a, l) { if (!a) { typeof console < "u" && console.warn(l); try { throw new Error(l) } catch { } } } function nx() { return Math.random().toString(36).substring(2, 10) } function gg(a, l) { return { usr: a.state, key: a.key, idx: l, masked: a.unstable_mask ? { pathname: a.pathname, search: a.search, hash: a.hash } : void 0 } } function uh(a, l, i = null, r, d) { return { pathname: typeof a == "string" ? a : a.pathname, search: "", hash: "", ...typeof l == "string" ? Gi(l) : l, state: i, key: l && l.key || r || nx(), unstable_mask: d } } function sr({ pathname: a = "/", search: l = "", hash: i = "" }) { return l && l !== "?" && (a += l.charAt(0) === "?" ? l : "?" + l), i && i !== "#" && (a += i.charAt(0) === "#" ? i : "#" + i), a } function Gi(a) { let l = {}; if (a) { let i = a.indexOf("#"); i >= 0 && (l.hash = a.substring(i), a = a.substring(0, i)); let r = a.indexOf("?"); r >= 0 && (l.search = a.substring(r), a = a.substring(0, r)), a && (l.pathname = a) } return l } function ax(a, l, i, r = {}) { let { window: d = document.defaultView, v5Compat: f = !1 } = r, h = d.history, g = "POP", m = null, p = y(); p == null && (p = 0, h.replaceState({ ...h.state, idx: p }, "")); function y() { return (h.state || { idx: null }).idx } function _() { g = "POP"; let E = y(), R = E == null ? null : E - p; p = E, m && m({ action: g, location: w.location, delta: R }) } function b(E, R) { g = "PUSH"; let L = pg(E) ? E : uh(w.location, E, R); p = y() + 1; let B = gg(L, p), P = w.createHref(L.unstable_mask || L); try { h.pushState(B, "", P) } catch (G) { if (G instanceof DOMException && G.name === "DataCloneError") throw G; d.location.assign(P) } f && m && m({ action: g, location: w.location, delta: 1 }) } function S(E, R) { g = "REPLACE"; let L = pg(E) ? E : uh(w.location, E, R); p = y(); let B = gg(L, p), P = w.createHref(L.unstable_mask || L); h.replaceState(B, "", P), f && m && m({ action: g, location: w.location, delta: 0 }) } function j(E) { return sx(E) } let w = { get action() { return g }, get location() { return a(d, h) }, listen(E) { if (m) throw new Error("A history only accepts one active listener"); return d.addEventListener(mg, _), m = E, () => { d.removeEventListener(mg, _), m = null } }, createHref(E) { return l(d, E) }, createURL: j, encodeLocation(E) { let R = j(E); return { pathname: R.pathname, search: R.search, hash: R.hash } }, push: b, replace: S, go(E) { return h.go(E) } }; return w } function sx(a, l = !1) { let i = "http://localhost"; typeof window < "u" && (i = window.location.origin !== "null" ? window.location.origin : window.location.href), dt(i, "No window.location.(origin|href) available to create URL"); let r = typeof a == "string" ? a : sr(a); return r = r.replace(/ $/, "%20"), !l && r.startsWith("//") && (r = i + r), new URL(r, i) } function K1(a, l, i = "/") { return lx(a, l, i, !1) } function lx(a, l, i, r) { let d = typeof l == "string" ? Gi(l) : l, f = Ja(d.pathname || "/", i); if (f == null) return null; let h = X1(a); ix(h); let g = null; for (let m = 0; g == null && m < h.length; ++m) { let p = vx(f); g = px(h[m], p, r) } return g } function X1(a, l = [], i = [], r = "", d = !1) { let f = (h, g, m = d, p) => { let y = { relativePath: p === void 0 ? h.path || "" : p, caseSensitive: h.caseSensitive === !0, childrenIndex: g, route: h }; if (y.relativePath.startsWith("/")) { if (!y.relativePath.startsWith(r) && m) return; dt(y.relativePath.startsWith(r), `Absolute route path "${y.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`), y.relativePath = y.relativePath.slice(r.length) } let _ = ia([r, y.relativePath]), b = i.concat(y); h.children && h.children.length > 0 && (dt(h.index !== !0, `Index routes must not have child routes. Please remove all child routes from route path "${_}".`), X1(h.children, l, b, _, m)), !(h.path == null && !h.index) && l.push({ path: _, score: hx(_, h.index), routesMeta: b }) }; return a.forEach((h, g) => { var m; if (h.path === "" || !((m = h.path) != null && m.includes("?"))) f(h, g); else for (let p of V1(h.path)) f(h, g, !0, p) }), l } function V1(a) { let l = a.split("/"); if (l.length === 0) return []; let [i, ...r] = l, d = i.endsWith("?"), f = i.replace(/\?$/, ""); if (r.length === 0) return d ? [f, ""] : [f]; let h = V1(r.join("/")), g = []; return g.push(...h.map(m => m === "" ? f : [f, m].join("/"))), d && g.push(...h), g.map(m => a.startsWith("/") && m === "" ? "/" : m) } function ix(a) { a.sort((l, i) => l.score !== i.score ? i.score - l.score : mx(l.routesMeta.map(r => r.childrenIndex), i.routesMeta.map(r => r.childrenIndex))) } var ox = /^:[\w-]+$/, rx = 3, cx = 2, ux = 1, dx = 10, fx = -2, vg = a => a === "*"; function hx(a, l) { let i = a.split("/"), r = i.length; return i.some(vg) && (r += fx), l && (r += cx), i.filter(d => !vg(d)).reduce((d, f) => d + (ox.test(f) ? rx : f === "" ? ux : dx), r) } function mx(a, l) { return a.length === l.length && a.slice(0, -1).every((r, d) => r === l[d]) ? a[a.length - 1] - l[l.length - 1] : 0 } function px(a, l, i = !1) { let { routesMeta: r } = a, d = {}, f = "/", h = []; for (let g = 0; g < r.length; ++g) { let m = r[g], p = g === r.length - 1, y = f === "/" ? l : l.slice(f.length) || "/", _ = su({ path: m.relativePath, caseSensitive: m.caseSensitive, end: p }, y), b = m.route; if (!_ && p && i && !r[r.length - 1].route.index && (_ = su({ path: m.relativePath, caseSensitive: m.caseSensitive, end: !1 }, y)), !_) return null; Object.assign(d, _.params), h.push({ params: d, pathname: ia([f, _.pathname]), pathnameBase: xx(ia([f, _.pathnameBase])), route: b }), _.pathnameBase !== "/" && (f = ia([f, _.pathnameBase])) } return h } function su(a, l) { typeof a == "string" && (a = { path: a, caseSensitive: !1, end: !0 }); let [i, r] = gx(a.path, a.caseSensitive, a.end), d = l.match(i); if (!d) return null; let f = d[0], h = f.replace(/(.)\/+$/, "$1"), g = d.slice(1); return { params: r.reduce((p, { paramName: y, isOptional: _ }, b) => { if (y === "*") { let j = g[b] || ""; h = f.slice(0, f.length - j.length).replace(/(.)\/+$/, "$1") } const S = g[b]; return _ && !S ? p[y] = void 0 : p[y] = (S || "").replace(/%2F/g, "/"), p }, {}), pathname: f, pathnameBase: h, pattern: a } } function gx(a, l = !1, i = !0) { oa(a === "*" || !a.endsWith("*") || a.endsWith("/*"), `Route path "${a}" will be treated as if it were "${a.replace(/\*$/, "/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${a.replace(/\*$/, "/*")}".`); let r = [], d = "^" + a.replace(/\/*\*?$/, "").replace(/^\/*/, "/").replace(/[\\.*+^${}|()[\]]/g, "\\$&").replace(/\/:([\w-]+)(\?)?/g, (h, g, m, p, y) => { if (r.push({ paramName: g, isOptional: m != null }), m) { let _ = y.charAt(p + h.length); return _ && _ !== "/" ? "/([^\\/]*)" : "(?:/([^\\/]*))?" } return "/([^\\/]+)" }).replace(/\/([\w-]+)\?(\/|$)/g, "(/$1)?$2"); return a.endsWith("*") ? (r.push({ paramName: "*" }), d += a === "*" || a === "/*" ? "(.*)$" : "(?:\\/(.+)|\\/*)$") : i ? d += "\\/*$" : a !== "" && a !== "/" && (d += "(?:(?=\\/|$))"), [new RegExp(d, l ? void 0 : "i"), r] } function vx(a) { try { return a.split("/").map(l => decodeURIComponent(l).replace(/\//g, "%2F")).join("/") } catch (l) { return oa(!1, `The URL path "${a}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${l}).`), a } } function Ja(a, l) { if (l === "/") return a; if (!a.toLowerCase().startsWith(l.toLowerCase())) return null; let i = l.endsWith("/") ? l.length - 1 : l.length, r = a.charAt(i); return r && r !== "/" ? null : a.slice(i) || "/" } var yx = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i; function _x(a, l = "/") { let { pathname: i, search: r = "", hash: d = "" } = typeof a == "string" ? Gi(a) : a, f; return i ? (i = Z1(i), i.startsWith("/") ? f = yg(i.substring(1), "/") : f = yg(i, l)) : f = l, { pathname: f, search: Ax(r), hash: Sx(d) } } function yg(a, l) { let i = lu(l).split("/"); return a.split("/").forEach(d => { d === ".." ? i.length > 1 && i.pop() : d !== "." && i.push(d) }), i.length > 1 ? i.join("/") : "/" } function Ff(a, l, i, r) { return `Cannot include a '${a}' character in a manually specified \`to.${l}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${i}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.` } function bx(a) { return a.filter((l, i) => i === 0 || l.route.path && l.route.path.length > 0) } function Uh(a) { let l = bx(a); return l.map((i, r) => r === l.length - 1 ? i.pathname : i.pathnameBase) } function fu(a, l, i, r = !1) { let d; typeof a == "string" ? d = Gi(a) : (d = { ...a }, dt(!d.pathname || !d.pathname.includes("?"), Ff("?", "pathname", "search", d)), dt(!d.pathname || !d.pathname.includes("#"), Ff("#", "pathname", "hash", d)), dt(!d.search || !d.search.includes("#"), Ff("#", "search", "hash", d))); let f = a === "" || d.pathname === "", h = f ? "/" : d.pathname, g; if (h == null) g = i; else { let _ = l.length - 1; if (!r && h.startsWith("..")) { let b = h.split("/"); for (; b[0] === "..";)b.shift(), _ -= 1; d.pathname = b.join("/") } g = _ >= 0 ? l[_] : "/" } let m = _x(d, g), p = h && h !== "/" && h.endsWith("/"), y = (f || h === ".") && i.endsWith("/"); return !m.pathname.endsWith("/") && (p || y) && (m.pathname += "/"), m } var Z1 = a => a.replace(/\/\/+/g, "/"), ia = a => Z1(a.join("/")), lu = a => a.replace(/\/+$/, ""), xx = a => lu(a).replace(/^\/*/, "/"), Ax = a => !a || a === "?" ? "" : a.startsWith("?") ? a : "?" + a, Sx = a => !a || a === "#" ? "" : a.startsWith("#") ? a : "#" + a, jx = class { constructor(a, l, i, r = !1) { this.status = a, this.statusText = l || "", this.internal = r, i instanceof Error ? (this.data = i.toString(), this.error = i) : this.data = i } }; function wx(a) { return a != null && typeof a.status == "number" && typeof a.statusText == "string" && typeof a.internal == "boolean" && "data" in a } function Ex(a) { let l = a.map(i => i.route.path).filter(Boolean); return ia(l) || "/" } var W1 = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u"; function J1(a, l) { let i = a; if (typeof i != "string" || !yx.test(i)) return { absoluteURL: void 0, isExternal: !1, to: i }; let r = i, d = !1; if (W1) try { let f = new URL(window.location.href), h = i.startsWith("//") ? new URL(f.protocol + i) : new URL(i), g = Ja(h.pathname, l); h.origin === f.origin && g != null ? i = g + h.search + h.hash : d = !0 } catch { oa(!1, `<Link to="${i}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`) } return { absoluteURL: r, isExternal: d, to: i } } Object.getOwnPropertyNames(Object.prototype).sort().join("\0"); var $1 = ["POST", "PUT", "PATCH", "DELETE"]; new Set($1); var Nx = ["GET", ...$1]; new Set(Nx); var Ki = A.createContext(null); Ki.displayName = "DataRouter"; var hu = A.createContext(null); hu.displayName = "DataRouterState"; var ev = A.createContext(!1); function Cx() { return A.useContext(ev) } var tv = A.createContext({ isTransitioning: !1 }); tv.displayName = "ViewTransition"; var Tx = A.createContext(new Map); Tx.displayName = "Fetchers"; var Rx = A.createContext(null); Rx.displayName = "Await"; var Mn = A.createContext(null); Mn.displayName = "Navigation"; var pr = A.createContext(null); pr.displayName = "Location"; var Wn = A.createContext({ outlet: null, matches: [], isDataRoute: !1 }); Wn.displayName = "Route"; var Hh = A.createContext(null); Hh.displayName = "RouteError"; var nv = "REACT_ROUTER_ERROR", kx = "REDIRECT", Bx = "ROUTE_ERROR_RESPONSE"; function Ox(a) { if (a.startsWith(`${nv}:${kx}:{`)) try { let l = JSON.parse(a.slice(28)); if (typeof l == "object" && l && typeof l.status == "number" && typeof l.statusText == "string" && typeof l.location == "string" && typeof l.reloadDocument == "boolean" && typeof l.replace == "boolean") return l } catch { } } function Lx(a) { if (a.startsWith(`${nv}:${Bx}:{`)) try { let l = JSON.parse(a.slice(40)); if (typeof l == "object" && l && typeof l.status == "number" && typeof l.statusText == "string") return new jx(l.status, l.statusText, l.data) } catch { } } function Mx(a, { relative: l } = {}) { dt(Xi(), "useHref() may be used only in the context of a <Router> component."); let { basename: i, navigator: r } = A.useContext(Mn), { hash: d, pathname: f, search: h } = gr(a, { relative: l }), g = f; return i !== "/" && (g = f === "/" ? i : ia([i, f])), r.createHref({ pathname: g, search: h, hash: d }) } function Xi() { return A.useContext(pr) != null } function Zt() { return dt(Xi(), "useLocation() may be used only in the context of a <Router> component."), A.useContext(pr).location } var av = "You should call navigate() in a React.useEffect(), not when your component is first rendered."; function sv(a) { A.useContext(Mn).static || A.useLayoutEffect(a) } function vn() { let { isDataRoute: a } = A.useContext(Wn); return a ? Wx() : zx() } function zx() { dt(Xi(), "useNavigate() may be used only in the context of a <Router> component."); let a = A.useContext(Ki), { basename: l, navigator: i } = A.useContext(Mn), { matches: r } = A.useContext(Wn), { pathname: d } = Zt(), f = JSON.stringify(Uh(r)), h = A.useRef(!1); return sv(() => { h.current = !0 }), A.useCallback((m, p = {}) => { if (oa(h.current, av), !h.current) return; if (typeof m == "number") { i.go(m); return } let y = fu(m, JSON.parse(f), d, p.relative === "path"); a == null && l !== "/" && (y.pathname = y.pathname === "/" ? l : ia([l, y.pathname])), (p.replace ? i.replace : i.push)(y, p.state, p) }, [l, i, f, d, a]) } var Dx = A.createContext(null); function Ux(a) { let l = A.useContext(Wn).outlet; return A.useMemo(() => l && A.createElement(Dx.Provider, { value: a }, l), [l, a]) } function Hx() { let { matches: a } = A.useContext(Wn), l = a[a.length - 1]; return (l == null ? void 0 : l.params) ?? {} } function gr(a, { relative: l } = {}) { let { matches: i } = A.useContext(Wn), { pathname: r } = Zt(), d = JSON.stringify(Uh(i)); return A.useMemo(() => fu(a, JSON.parse(d), r, l === "path"), [a, d, r, l]) } function qx(a, l) { return lv(a, l) } function lv(a, l, i) {
var E; dt(Xi(), "useRoutes() may be used only in the context of a <Router> component."); let { navigator: r } = A.useContext(Mn), { matches: d } = A.useContext(Wn), f = d[d.length - 1], h = f ? f.params : {}, g = f ? f.pathname : "/", m = f ? f.pathnameBase : "/", p = f && f.route; {
let R = p && p.path || ""; ov(g, !p || R.endsWith("*") || R.endsWith("*?"), `You rendered descendant <Routes> (or called \`useRoutes()\`) at "${g}" (under <Route path="${R}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
Please change the parent <Route path="${R}"> to <Route path="${R === "/" ? "*" : `${R}/*`}">.`)
} let y = Zt(), _; if (l) { let R = typeof l == "string" ? Gi(l) : l; dt(m === "/" || ((E = R.pathname) == null ? void 0 : E.startsWith(m)), `When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${m}" but pathname "${R.pathname}" was given in the \`location\` prop.`), _ = R } else _ = y; let b = _.pathname || "/", S = b; if (m !== "/") { let R = m.replace(/^\//, "").split("/"); S = "/" + b.replace(/^\//, "").split("/").slice(R.length).join("/") } let j = K1(a, { pathname: S }); oa(p || j != null, `No routes matched location "${_.pathname}${_.search}${_.hash}" `), oa(j == null || j[j.length - 1].route.element !== void 0 || j[j.length - 1].route.Component !== void 0 || j[j.length - 1].route.lazy !== void 0, `Matched leaf route at location "${_.pathname}${_.search}${_.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`); let w = Ix(j && j.map(R => Object.assign({}, R, { params: Object.assign({}, h, R.params), pathname: ia([m, r.encodeLocation ? r.encodeLocation(R.pathname.replace(/%/g, "%25").replace(/\?/g, "%3F").replace(/#/g, "%23")).pathname : R.pathname]), pathnameBase: R.pathnameBase === "/" ? m : ia([m, r.encodeLocation ? r.encodeLocation(R.pathnameBase.replace(/%/g, "%25").replace(/\?/g, "%3F").replace(/#/g, "%23")).pathname : R.pathnameBase]) })), d, i); return l && w ? A.createElement(pr.Provider, { value: { location: { pathname: "/", search: "", hash: "", state: null, key: "default", unstable_mask: void 0, ..._ }, navigationType: "POP" } }, w) : w
} function Px() { let a = Zx(), l = wx(a) ? `${a.status} ${a.statusText}` : a instanceof Error ? a.message : JSON.stringify(a), i = a instanceof Error ? a.stack : null, r = "rgba(200,200,200, 0.5)", d = { padding: "0.5rem", backgroundColor: r }, f = { padding: "2px 4px", backgroundColor: r }, h = null; return console.error("Error handled by React Router default ErrorBoundary:", a), h = A.createElement(A.Fragment, null, A.createElement("p", null, "💿 Hey developer 👋"), A.createElement("p", null, "You can provide a way better UX than this when your app throws errors by providing your own ", A.createElement("code", { style: f }, "ErrorBoundary"), " or", " ", A.createElement("code", { style: f }, "errorElement"), " prop on your route.")), A.createElement(A.Fragment, null, A.createElement("h2", null, "Unexpected Application Error!"), A.createElement("h3", { style: { fontStyle: "italic" } }, l), i ? A.createElement("pre", { style: d }, i) : null, h) } var Qx = A.createElement(Px, null), iv = class extends A.Component { constructor(a) { super(a), this.state = { location: a.location, revalidation: a.revalidation, error: a.error } } static getDerivedStateFromError(a) { return { error: a } } static getDerivedStateFromProps(a, l) { return l.location !== a.location || l.revalidation !== "idle" && a.revalidation === "idle" ? { error: a.error, location: a.location, revalidation: a.revalidation } : { error: a.error !== void 0 ? a.error : l.error, location: l.location, revalidation: a.revalidation || l.revalidation } } componentDidCatch(a, l) { this.props.onError ? this.props.onError(a, l) : console.error("React Router caught the following error during render", a) } render() { let a = this.state.error; if (this.context && typeof a == "object" && a && "digest" in a && typeof a.digest == "string") { const i = Lx(a.digest); i && (a = i) } let l = a !== void 0 ? A.createElement(Wn.Provider, { value: this.props.routeContext }, A.createElement(Hh.Provider, { value: a, children: this.props.component })) : this.props.children; return this.context ? A.createElement(Fx, { error: a }, l) : l } }; iv.contextType = ev; var Yf = new WeakMap; function Fx({ children: a, error: l }) { let { basename: i } = A.useContext(Mn); if (typeof l == "object" && l && "digest" in l && typeof l.digest == "string") { let r = Ox(l.digest); if (r) { let d = Yf.get(l); if (d) throw d; let f = J1(r.location, i); if (W1 && !Yf.get(l)) if (f.isExternal || r.reloadDocument) window.location.href = f.absoluteURL || f.to; else { const h = Promise.resolve().then(() => window.__reactRouterDataRouter.navigate(f.to, { replace: r.replace })); throw Yf.set(l, h), h } return A.createElement("meta", { httpEquiv: "refresh", content: `0;url=${f.absoluteURL || f.to}` }) } } return a } function Yx({ routeContext: a, match: l, children: i }) { let r = A.useContext(Ki); return r && r.static && r.staticContext && (l.route.errorElement || l.route.ErrorBoundary) && (r.staticContext._deepestRenderedBoundaryId = l.route.id), A.createElement(Wn.Provider, { value: a }, i) } function Ix(a, l = [], i) { let r = i == null ? void 0 : i.state; if (a == null) { if (!r) return null; if (r.errors) a = r.matches; else if (l.length === 0 && !r.initialized && r.matches.length > 0) a = r.matches; else return null } let d = a, f = r == null ? void 0 : r.errors; if (f != null) { let y = d.findIndex(_ => _.route.id && (f == null ? void 0 : f[_.route.id]) !== void 0); dt(y >= 0, `Could not find a matching route for errors on route IDs: ${Object.keys(f).join(",")}`), d = d.slice(0, Math.min(d.length, y + 1)) } let h = !1, g = -1; if (i && r) { h = r.renderFallback; for (let y = 0; y < d.length; y++) { let _ = d[y]; if ((_.route.HydrateFallback || _.route.hydrateFallbackElement) && (g = y), _.route.id) { let { loaderData: b, errors: S } = r, j = _.route.loader && !b.hasOwnProperty(_.route.id) && (!S || S[_.route.id] === void 0); if (_.route.lazy || j) { i.isStatic && (h = !0), g >= 0 ? d = d.slice(0, g + 1) : d = [d[0]]; break } } } } let m = i == null ? void 0 : i.onError, p = r && m ? (y, _) => { var b, S; m(y, { location: r.location, params: ((S = (b = r.matches) == null ? void 0 : b[0]) == null ? void 0 : S.params) ?? {}, unstable_pattern: Ex(r.matches), errorInfo: _ }) } : void 0; return d.reduceRight((y, _, b) => { let S, j = !1, w = null, E = null; r && (S = f && _.route.id ? f[_.route.id] : void 0, w = _.route.errorElement || Qx, h && (g < 0 && b === 0 ? (ov("route-fallback", !1, "No `HydrateFallback` element provided to render during initial hydration"), j = !0, E = null) : g === b && (j = !0, E = _.route.hydrateFallbackElement || null))); let R = l.concat(d.slice(0, b + 1)), L = () => { let B; return S ? B = w : j ? B = E : _.route.Component ? B = A.createElement(_.route.Component, null) : _.route.element ? B = _.route.element : B = y, A.createElement(Yx, { match: _, routeContext: { outlet: y, matches: R, isDataRoute: r != null }, children: B }) }; return r && (_.route.ErrorBoundary || _.route.errorElement || b === 0) ? A.createElement(iv, { location: r.location, revalidation: r.revalidation, component: w, error: S, children: L(), routeContext: { outlet: null, matches: R, isDataRoute: !0 }, onError: p }) : L() }, null) } function qh(a) { return `${a} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.` } function Gx(a) { let l = A.useContext(Ki); return dt(l, qh(a)), l } function Kx(a) { let l = A.useContext(hu); return dt(l, qh(a)), l } function Xx(a) { let l = A.useContext(Wn); return dt(l, qh(a)), l } function Ph(a) { let l = Xx(a), i = l.matches[l.matches.length - 1]; return dt(i.route.id, `${a} can only be used on routes that contain a unique "id"`), i.route.id } function Vx() { return Ph("useRouteId") } function Zx() { var r; let a = A.useContext(Hh), l = Kx("useRouteError"), i = Ph("useRouteError"); return a !== void 0 ? a : (r = l.errors) == null ? void 0 : r[i] } function Wx() { let { router: a } = Gx("useNavigate"), l = Ph("useNavigate"), i = A.useRef(!1); return sv(() => { i.current = !0 }), A.useCallback(async (d, f = {}) => { oa(i.current, av), i.current && (typeof d == "number" ? await a.navigate(d) : await a.navigate(d, { fromRouteId: l, ...f })) }, [a, l]) } var _g = {}; function ov(a, l, i) { !l && !_g[a] && (_g[a] = !0, oa(!1, i)) } A.memo(Jx); function Jx({ routes: a, future: l, state: i, isStatic: r, onError: d }) { return lv(a, void 0, { state: i, isStatic: r, onError: d }) } function Qi({ to: a, replace: l, state: i, relative: r }) { dt(Xi(), "<Navigate> may be used only in the context of a <Router> component."); let { static: d } = A.useContext(Mn); oa(!d, "<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change."); let { matches: f } = A.useContext(Wn), { pathname: h } = Zt(), g = vn(), m = fu(a, Uh(f), h, r === "path"), p = JSON.stringify(m); return A.useEffect(() => { g(JSON.parse(p), { replace: l, state: i, relative: r }) }, [g, p, r, l, i]), null } function mu(a) { return Ux(a.context) } function Qe(a) { dt(!1, "A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.") } function $x({ basename: a = "/", children: l = null, location: i, navigationType: r = "POP", navigator: d, static: f = !1, unstable_useTransitions: h }) { dt(!Xi(), "You cannot render a <Router> inside another <Router>. You should never have more than one in your app."); let g = a.replace(/^\/*/, "/"), m = A.useMemo(() => ({ basename: g, navigator: d, static: f, unstable_useTransitions: h, future: {} }), [g, d, f, h]); typeof i == "string" && (i = Gi(i)); let { pathname: p = "/", search: y = "", hash: _ = "", state: b = null, key: S = "default", unstable_mask: j } = i, w = A.useMemo(() => { let E = Ja(p, g); return E == null ? null : { location: { pathname: E, search: y, hash: _, state: b, key: S, unstable_mask: j }, navigationType: r } }, [g, p, y, _, b, S, r, j]); return oa(w != null, `<Router basename="${g}"> is not able to match the URL "${p}${y}${_}" because it does not start with the basename, so the <Router> won't render anything.`), w == null ? null : A.createElement(Mn.Provider, { value: m }, A.createElement(pr.Provider, { children: l, value: w })) } function eA({ children: a, location: l }) { return qx(dh(a), l) } function dh(a, l = []) { let i = []; return A.Children.forEach(a, (r, d) => { if (!A.isValidElement(r)) return; let f = [...l, d]; if (r.type === A.Fragment) { i.push.apply(i, dh(r.props.children, f)); return } dt(r.type === Qe, `[${typeof r.type == "string" ? r.type : r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`), dt(!r.props.index || !r.props.children, "An index route cannot have child routes."); let h = { id: r.props.id || f.join("-"), caseSensitive: r.props.caseSensitive, element: r.props.element, Component: r.props.Component, index: r.props.index, path: r.props.path, middleware: r.props.middleware, loader: r.props.loader, action: r.props.action, hydrateFallbackElement: r.props.hydrateFallbackElement, HydrateFallback: r.props.HydrateFallback, errorElement: r.props.errorElement, ErrorBoundary: r.props.ErrorBoundary, hasErrorBoundary: r.props.hasErrorBoundary === !0 || r.props.ErrorBoundary != null || r.props.errorElement != null, shouldRevalidate: r.props.shouldRevalidate, handle: r.props.handle, lazy: r.props.lazy }; r.props.children && (h.children = dh(r.props.children, f)), i.push(h) }), i } var $c = "get", eu = "application/x-www-form-urlencoded"; function pu(a) { return typeof HTMLElement < "u" && a instanceof HTMLElement } function tA(a) { return pu(a) && a.tagName.toLowerCase() === "button" } function nA(a) { return pu(a) && a.tagName.toLowerCase() === "form" } function aA(a) { return pu(a) && a.tagName.toLowerCase() === "input" } function sA(a) { return !!(a.metaKey || a.altKey || a.ctrlKey || a.shiftKey) } function lA(a, l) { return a.button === 0 && (!l || l === "_self") && !sA(a) } var qc = null; function iA() { if (qc === null) try { new FormData(document.createElement("form"), 0), qc = !1 } catch { qc = !0 } return qc } var oA = new Set(["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]); function If(a) { return a != null && !oA.has(a) ? (oa(!1, `"${a}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${eu}"`), null) : a } function rA(a, l) { let i, r, d, f, h; if (nA(a)) { let g = a.getAttribute("action"); r = g ? Ja(g, l) : null, i = a.getAttribute("method") || $c, d = If(a.getAttribute("enctype")) || eu, f = new FormData(a) } else if (tA(a) || aA(a) && (a.type === "submit" || a.type === "image")) { let g = a.form; if (g == null) throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>'); let m = a.getAttribute("formaction") || g.getAttribute("action"); if (r = m ? Ja(m, l) : null, i = a.getAttribute("formmethod") || g.getAttribute("method") || $c, d = If(a.getAttribute("formenctype")) || If(g.getAttribute("enctype")) || eu, f = new FormData(g, a), !iA()) { let { name: p, type: y, value: _ } = a; if (y === "image") { let b = p ? `${p}.` : ""; f.append(`${b}x`, "0"), f.append(`${b}y`, "0") } else p && f.append(p, _) } } else { if (pu(a)) throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">'); i = $c, r = null, d = eu, h = a } return f && d === "text/plain" && (h = f, f = void 0), { action: r, method: i.toLowerCase(), encType: d, formData: f, body: h } } Object.getOwnPropertyNames(Object.prototype).sort().join("\0"); function Qh(a, l) { if (a === !1 || a === null || typeof a > "u") throw new Error(l) } function rv(a, l, i, r) { let d = typeof a == "string" ? new URL(a, typeof window > "u" ? "server://singlefetch/" : window.location.origin) : a; return i ? d.pathname.endsWith("/") ? d.pathname = `${d.pathname}_.${r}` : d.pathname = `${d.pathname}.${r}` : d.pathname === "/" ? d.pathname = `_root.${r}` : l && Ja(d.pathname, l) === "/" ? d.pathname = `${lu(l)}/_root.${r}` : d.pathname = `${lu(d.pathname)}.${r}`, d } async function cA(a, l) { if (a.id in l) return l[a.id]; try { let i = await import(a.module); return l[a.id] = i, i } catch (i) { return console.error(`Error loading route module \`${a.module}\`, reloading page...`), console.error(i), window.__reactRouterContext && window.__reactRouterContext.isSpaMode, window.location.reload(), new Promise(() => { }) } } function uA(a) { return a == null ? !1 : a.href == null ? a.rel === "preload" && typeof a.imageSrcSet == "string" && typeof a.imageSizes == "string" : typeof a.rel == "string" && typeof a.href == "string" } async function dA(a, l, i) { let r = await Promise.all(a.map(async d => { let f = l.routes[d.route.id]; if (f) { let h = await cA(f, i); return h.links ? h.links() : [] } return [] })); return pA(r.flat(1).filter(uA).filter(d => d.rel === "stylesheet" || d.rel === "preload").map(d => d.rel === "stylesheet" ? { ...d, rel: "prefetch", as: "style" } : { ...d, rel: "prefetch" })) } function bg(a, l, i, r, d, f) { let h = (m, p) => i[p] ? m.route.id !== i[p].route.id : !0, g = (m, p) => { var y; return i[p].pathname !== m.pathname || ((y = i[p].route.path) == null ? void 0 : y.endsWith("*")) && i[p].params["*"] !== m.params["*"] }; return f === "assets" ? l.filter((m, p) => h(m, p) || g(m, p)) : f === "data" ? l.filter((m, p) => { var _; let y = r.routes[m.route.id]; if (!y || !y.hasLoader) return !1; if (h(m, p) || g(m, p)) return !0; if (m.route.shouldRevalidate) { let b = m.route.shouldRevalidate({ currentUrl: new URL(d.pathname + d.search + d.hash, window.origin), currentParams: ((_ = i[0]) == null ? void 0 : _.params) || {}, nextUrl: new URL(a, window.origin), nextParams: m.params, defaultShouldRevalidate: !0 }); if (typeof b == "boolean") return b } return !0 }) : [] } function fA(a, l, { includeHydrateFallback: i } = {}) { return hA(a.map(r => { let d = l.routes[r.route.id]; if (!d) return []; let f = [d.module]; return d.clientActionModule && (f = f.concat(d.clientActionModule)), d.clientLoaderModule && (f = f.concat(d.clientLoaderModule)), i && d.hydrateFallbackModule && (f = f.concat(d.hydrateFallbackModule)), d.imports && (f = f.concat(d.imports)), f }).flat(1)) } function hA(a) { return [...new Set(a)] } function mA(a) { let l = {}, i = Object.keys(a).sort(); for (let r of i) l[r] = a[r]; return l } function pA(a, l) { let i = new Set; return new Set(l), a.reduce((r, d) => { let f = JSON.stringify(mA(d)); return i.has(f) || (i.add(f), r.push({ key: f, link: d })), r }, []) } function Fh() { let a = A.useContext(Ki); return Qh(a, "You must render this element inside a <DataRouterContext.Provider> element"), a } function gA() { let a = A.useContext(hu); return Qh(a, "You must render this element inside a <DataRouterStateContext.Provider> element"), a } var Yh = A.createContext(void 0); Yh.displayName = "FrameworkContext"; function Ih() { let a = A.useContext(Yh); return Qh(a, "You must render this element inside a <HydratedRouter> element"), a } function vA(a, l) { let i = A.useContext(Yh), [r, d] = A.useState(!1), [f, h] = A.useState(!1), { onFocus: g, onBlur: m, onMouseEnter: p, onMouseLeave: y, onTouchStart: _ } = l, b = A.useRef(null); A.useEffect(() => { if (a === "render" && h(!0), a === "viewport") { let w = R => { R.forEach(L => { h(L.isIntersecting) }) }, E = new IntersectionObserver(w, { threshold: .5 }); return b.current && E.observe(b.current), () => { E.disconnect() } } }, [a]), A.useEffect(() => { if (r) { let w = setTimeout(() => { h(!0) }, 100); return () => { clearTimeout(w) } } }, [r]); let S = () => { d(!0) }, j = () => { d(!1), h(!1) }; return i ? a !== "intent" ? [f, b, {}] : [f, b, { onFocus: Xo(g, S), onBlur: Xo(m, j), onMouseEnter: Xo(p, S), onMouseLeave: Xo(y, j), onTouchStart: Xo(_, S) }] : [!1, b, {}] } function Xo(a, l) { return i => { a && a(i), i.defaultPrevented || l(i) } } function yA({ page: a, ...l }) { let i = Cx(), { router: r } = Fh(), d = A.useMemo(() => K1(r.routes, a, r.basename), [r.routes, a, r.basename]); return d ? i ? A.createElement(bA, { page: a, matches: d, ...l }) : A.createElement(xA, { page: a, matches: d, ...l }) : null } function _A(a) { let { manifest: l, routeModules: i } = Ih(), [r, d] = A.useState([]); return A.useEffect(() => { let f = !1; return dA(a, l, i).then(h => { f || d(h) }), () => { f = !0 } }, [a, l, i]), r } function bA({ page: a, matches: l, ...i }) { let r = Zt(), { future: d } = Ih(), { basename: f } = Fh(), h = A.useMemo(() => { if (a === r.pathname + r.search + r.hash) return []; let g = rv(a, f, d.unstable_trailingSlashAwareDataRequests, "rsc"), m = !1, p = []; for (let y of l) typeof y.route.shouldRevalidate == "function" ? m = !0 : p.push(y.route.id); return m && p.length > 0 && g.searchParams.set("_routes", p.join(",")), [g.pathname + g.search] }, [f, d.unstable_trailingSlashAwareDataRequests, a, r, l]); return A.createElement(A.Fragment, null, h.map(g => A.createElement("link", { key: g, rel: "prefetch", as: "fetch", href: g, ...i }))) } function xA({ page: a, matches: l, ...i }) { let r = Zt(), { future: d, manifest: f, routeModules: h } = Ih(), { basename: g } = Fh(), { loaderData: m, matches: p } = gA(), y = A.useMemo(() => bg(a, l, p, f, r, "data"), [a, l, p, f, r]), _ = A.useMemo(() => bg(a, l, p, f, r, "assets"), [a, l, p, f, r]), b = A.useMemo(() => { if (a === r.pathname + r.search + r.hash) return []; let w = new Set, E = !1; if (l.forEach(L => { var P; let B = f.routes[L.route.id]; !B || !B.hasLoader || (!y.some(G => G.route.id === L.route.id) && L.route.id in m && ((P = h[L.route.id]) != null && P.shouldRevalidate) || B.hasClientLoader ? E = !0 : w.add(L.route.id)) }), w.size === 0) return []; let R = rv(a, g, d.unstable_trailingSlashAwareDataRequests, "data"); return E && w.size > 0 && R.searchParams.set("_routes", l.filter(L => w.has(L.route.id)).map(L => L.route.id).join(",")), [R.pathname + R.search] }, [g, d.unstable_trailingSlashAwareDataRequests, m, r, f, y, l, a, h]), S = A.useMemo(() => fA(_, f), [_, f]), j = _A(_); return A.createElement(A.Fragment, null, b.map(w => A.createElement("link", { key: w, rel: "prefetch", as: "fetch", href: w, ...i })), S.map(w => A.createElement("link", { key: w, rel: "modulepreload", href: w, ...i })), j.map(({ key: w, link: E }) => A.createElement("link", { key: w, nonce: i.nonce, ...E, crossOrigin: E.crossOrigin ?? i.crossOrigin }))) } function AA(...a) { return l => { a.forEach(i => { typeof i == "function" ? i(l) : i != null && (i.current = l) }) } } var SA = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u"; try { SA && (window.__reactRouterVersion = "7.14.2") } catch { } function jA({ basename: a, children: l, unstable_useTransitions: i, window: r }) { let d = A.useRef(); d.current == null && (d.current = tx({ window: r, v5Compat: !0 })); let f = d.current, [h, g] = A.useState({ action: f.action, location: f.location }), m = A.useCallback(p => { i === !1 ? g(p) : A.startTransition(() => g(p)) }, [i]); return A.useLayoutEffect(() => f.listen(m), [f, m]), A.createElement($x, { basename: a, children: l, location: h.location, navigationType: h.action, navigator: f, unstable_useTransitions: i }) } var cv = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i, gn = A.forwardRef(function ({ onClick: l, discover: i = "render", prefetch: r = "none", relative: d, reloadDocument: f, replace: h, unstable_mask: g, state: m, target: p, to: y, preventScrollReset: _, viewTransition: b, unstable_defaultShouldRevalidate: S, ...j }, w) { let { basename: E, navigator: R, unstable_useTransitions: L } = A.useContext(Mn), B = typeof y == "string" && cv.test(y), P = J1(y, E); y = P.to; let G = Mx(y, { relative: d }), V = Zt(), D = null; if (g) { let ve = fu(g, [], V.unstable_mask ? V.unstable_mask.pathname : "/", !0); E !== "/" && (ve.pathname = ve.pathname === "/" ? E : ia([E, ve.pathname])), D = R.createHref(ve) } let [K, ee, re] = vA(r, j), ce = NA(y, { replace: h, unstable_mask: g, state: m, target: p, preventScrollReset: _, relative: d, viewTransition: b, unstable_defaultShouldRevalidate: S, unstable_useTransitions: L }); function ie(ve) { l && l(ve), ve.defaultPrevented || ce(ve) } let te = !(P.isExternal || f), pe = A.createElement("a", { ...j, ...re, href: (te ? D : void 0) || P.absoluteURL || G, onClick: te ? ie : l, ref: AA(w, ee), target: p, "data-discover": !B && i === "render" ? "true" : void 0 }); return K && !B ? A.createElement(A.Fragment, null, pe, A.createElement(yA, { page: G })) : pe }); gn.displayName = "Link"; var Fi = A.forwardRef(function ({ "aria-current": l = "page", caseSensitive: i = !1, className: r = "", end: d = !1, style: f, to: h, viewTransition: g, children: m, ...p }, y) { let _ = gr(h, { relative: p.relative }), b = Zt(), S = A.useContext(hu), { navigator: j, basename: w } = A.useContext(Mn), E = S != null && BA(_) && g === !0, R = j.encodeLocation ? j.encodeLocation(_).pathname : _.pathname, L = b.pathname, B = S && S.navigation && S.navigation.location ? S.navigation.location.pathname : null; i || (L = L.toLowerCase(), B = B ? B.toLowerCase() : null, R = R.toLowerCase()), B && w && (B = Ja(B, w) || B); const P = R !== "/" && R.endsWith("/") ? R.length - 1 : R.length; let G = L === R || !d && L.startsWith(R) && L.charAt(P) === "/", V = B != null && (B === R || !d && B.startsWith(R) && B.charAt(R.length) === "/"), D = { isActive: G, isPending: V, isTransitioning: E }, K = G ? l : void 0, ee; typeof r == "function" ? ee = r(D) : ee = [r, G ? "active" : null, V ? "pending" : null, E ? "transitioning" : null].filter(Boolean).join(" "); let re = typeof f == "function" ? f(D) : f; return A.createElement(gn, { ...p, "aria-current": K, className: ee, ref: y, style: re, to: h, viewTransition: g }, typeof m == "function" ? m(D) : m) }); Fi.displayName = "NavLink"; var wA = A.forwardRef(({ discover: a = "render", fetcherKey: l, navigate: i, reloadDocument: r, replace: d, state: f, method: h = $c, action: g, onSubmit: m, relative: p, preventScrollReset: y, viewTransition: _, unstable_defaultShouldRevalidate: b, ...S }, j) => { let { unstable_useTransitions: w } = A.useContext(Mn), E = RA(), R = kA(g, { relative: p }), L = h.toLowerCase() === "get" ? "get" : "post", B = typeof g == "string" && cv.test(g), P = G => { if (m && m(G), G.defaultPrevented) return; G.preventDefault(); let V = G.nativeEvent.submitter, D = (V == null ? void 0 : V.getAttribute("formmethod")) || h, K = () => E(V || G.currentTarget, { fetcherKey: l, method: D, navigate: i, replace: d, state: f, relative: p, preventScrollReset: y, viewTransition: _, unstable_defaultShouldRevalidate: b }); w && i !== !1 ? A.startTransition(() => K()) : K() }; return A.createElement("form", { ref: j, method: L, action: R, onSubmit: r ? m : P, ...S, "data-discover": !B && a === "render" ? "true" : void 0 }) }); wA.displayName = "Form"; function EA(a) { return `${a} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.` } function uv(a) { let l = A.useContext(Ki); return dt(l, EA(a)), l } function NA(a, { target: l, replace: i, unstable_mask: r, state: d, preventScrollReset: f, relative: h, viewTransition: g, unstable_defaultShouldRevalidate: m, unstable_useTransitions: p } = {}) { let y = vn(), _ = Zt(), b = gr(a, { relative: h }); return A.useCallback(S => { if (lA(S, l)) { S.preventDefault(); let j = i !== void 0 ? i : sr(_) === sr(b), w = () => y(a, { replace: j, unstable_mask: r, state: d, preventScrollReset: f, relative: h, viewTransition: g, unstable_defaultShouldRevalidate: m }); p ? A.startTransition(() => w()) : w() } }, [_, y, b, i, r, d, l, a, f, h, g, m, p]) } var CA = 0, TA = () => `__${String(++CA)}__`; function RA() { let { router: a } = uv("useSubmit"), { basename: l } = A.useContext(Mn), i = Vx(), r = a.fetch, d = a.navigate; return A.useCallback(async (f, h = {}) => { let { action: g, method: m, encType: p, formData: y, body: _ } = rA(f, l); if (h.navigate === !1) { let b = h.fetcherKey || TA(); await r(b, i, h.action || g, { unstable_defaultShouldRevalidate: h.unstable_defaultShouldRevalidate, preventScrollReset: h.preventScrollReset, formData: y, body: _, formMethod: h.method || m, formEncType: h.encType || p, flushSync: h.flushSync }) } else await d(h.action || g, { unstable_defaultShouldRevalidate: h.unstable_defaultShouldRevalidate, preventScrollReset: h.preventScrollReset, formData: y, body: _, formMethod: h.method || m, formEncType: h.encType || p, replace: h.replace, state: h.state, fromRouteId: i, flushSync: h.flushSync, viewTransition: h.viewTransition }) }, [r, d, l, i]) } function kA(a, { relative: l } = {}) { let { basename: i } = A.useContext(Mn), r = A.useContext(Wn); dt(r, "useFormAction must be used inside a RouteContext"); let [d] = r.matches.slice(-1), f = { ...gr(a || ".", { relative: l }) }, h = Zt(); if (a == null) { f.search = h.search; let g = new URLSearchParams(f.search), m = g.getAll("index"); if (m.some(y => y === "")) { g.delete("index"), m.filter(_ => _).forEach(_ => g.append("index", _)); let y = g.toString(); f.search = y ? `?${y}` : "" } } return (!a || a === ".") && d.route.index && (f.search = f.search ? f.search.replace(/^\?/, "?index&") : "?index"), i !== "/" && (f.pathname = f.pathname === "/" ? i : ia([i, f.pathname])), sr(f) } function BA(a, { relative: l } = {}) { let i = A.useContext(tv); dt(i != null, "`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?"); let { basename: r } = uv("useViewTransitionState"), d = gr(a, { relative: l }); if (!i.isTransitioning) return !1; let f = Ja(i.currentLocation.pathname, r) || i.currentLocation.pathname, h = Ja(i.nextLocation.pathname, r) || i.nextLocation.pathname; return su(d.pathname, h) != null || su(d.pathname, f) != null } const OA = "_btn_8fkbu_1", LA = "_primary_8fkbu_17", MA = "_danger_8fkbu_27", zA = "_ghost_8fkbu_37", DA = "_outline_8fkbu_47", xg = { btn: OA, primary: LA, danger: MA, ghost: zA, outline: DA }; function Ln({ variant: a, children: l, onClick: i, type: r = "button", disabled: d }) { return o.jsx("button", { type: r, className: `${xg.btn} ${xg[a]}`, onClick: i, disabled: d, children: l }) } const UA = "data:image/png;base64,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", HA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFMklEQVR4XtVbvW4TQRhMSWwipYYngCeACsp0pEsJFZTp8gapaXgD6F0gETsIWaRIARIopAAJJAcJCgq4s5M4/zE3l6y1nv253fXe2R5plOR2787f7PfN7u05c3MVIGksLiYbNx92W/XnaavWSFv1TrpZT7Kfg5xXv3fQhj7oi3P4OjOD7ub8ahZUexjguGzW271W/THfZ+qAkYsauMJaI3mzsMz3nThG0rky1jr8OSpHPuJ57fKHq4q1zkRKI9moP5nMqJtYoRBwZ/UDTAdLnzmma9RNLMkb8rRXbjadjF4OfINZIccRhFkaeebYmZCWNMV1390enOy9GAgc7j5T+kRkwnE5oUy3vzxLh8ELXPR/Kv1i0Xt2KCPte1t3OWYtyhLCqxzSyKl//GNdO+omQIQSysKtFGKO/tm/LY5tBEff1wenf17z4REcZ17B1w0llu4cr4I0wuizyelw9ndr2P+iv8fNI4iXDQWLpDRC8KApoMuzZND/uqb0Fzz59ZJPGSJiJphLQdM5mP3dpxxDlhm3lH7M3vs7fNpg/8OS0m8cctw5ktbCMnd0YT9LT8Dk3giIj4EHH5eGAeqEwXm64ygvAcws3O5CrRdc79UpnW1kkzvv7Th9KPYHV9c/+ramzCZBpdGst0eC93V+Dpyxv31POQfEqNrq3OYPmDFsOMxKjs+xsducXx0K4LuPZxKgyOQEdSbpMpI28XwFGMkCpbGALMB5d0c76vAHpCwWQrp6xqgeflpRju9v38/vgTWCrqRgsFwK3gK0JDPkhiKyAEdZgNxHNjnAZJJM2eQEdCJwFgULkLT9H3psAmCki6ALiAXTQe4fQ4D8Iel6Z1dptPEoq3MZsgAuDz3IBlxDnMOCmiB/BlkA/G6abm3Mp8Or11VqowsPPq/kN/cVIBTyvXFfmKLOW1yJ2IPmfyZMSfxelQCnWfD8ObzZrDWC1v+oVz4mWJUAMmGcOl8pZvZwFLLVjZrFqo+Pgy4mGAq+lyCmxBATTPFgpDlYSNm0TNOb7qEmBFhc8bVBni4DBRiMLQCgWweAwiRDgdWhyeSQgTLCBQgsARkmAQSLngEYLsGwsC7naJiXQEfTYKVNAJiR6ckOu0BFwPKYzxM7TPKxOALABAOmwSIBBE5+vxpxZ90mCUO+D2Yb+V5yWxQBMA2GLIRcBQBkk/QVgCG3xRAgXwiFLIV9BABE27QJsL9540H0h6FZEmD4xogbimgTAMTUJe/giOOhAug2RWMIEG0/AGbHfUAx9Ym/fQXAIkg3KyDL4m6IRNoSY9dn+grAxKwAU9XBWwB5Syz/YiN3sNAkgIBp9TaOANgms8FXAOVlqW8WgEUwZQPXLyC/KpOJrXAbcC0+p5CY/xkh06HLEtfkD7JJ6kwOPO9+ka6kQucPLuy9rT3i+HNwRx/a0pv7utIEk2Cu5LiHCHkwkmnKBtGOOjaVBcgbLQyku2+tq6zgDTGyQa5z+fhVIKOvwuQvUMjXEYA/hGx6qiwIHgjxAhMFxN9cJsgG8XJVgM8PMjkDFec3YdxSMJEF0IHPiUeH0RfwfVnqykkK4Dz6AiEPSS607RWaFlDj0vtrcgJlloJskjA53cvVOPRIfR3KKgfQ9C2QWPROexP4wrNCjmMslJkJsRlt5BlphEVS6dy0fA0uBsqaHWIw2O19cV0OHf4AE2M26qWlvQ2TF6LWyXd2J410EiKUXeshwEZDyJsmZzbr7akY8SJc/2NlWwkglFng2Lfk+8wM4M4YuW7T4d/nsz7oW5Wj/wdXGukMTSgLegAAAABJRU5ErkJggg==", qA = "/assets/BONK-CSOWwKRv.png", PA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAADAFBMVEVHcEz/fwD2kxr/AAD2khr0dQD3kxr//wD/qgD2kxr2khr2khr1khr2khr6lhr1khr2khn6lRn4kxr1khb2khn3kxr3kBi/fwD3kxr4khn3kxn3kRjzkBf4khr/VQD6lRn6lhr7lxv6lRr9mBv4lRn2khn6lhrMmQD5lRn4kxr3kxr3kxn3kxn2khn3kxn5lBn4lBn3kxn3lBr4lBkAZwD6lhr1khj5lRr4lBn5kRj3lBn3kxr2khr3kxn4lBn3khn1kRqqVQD8lhr3kxr3kxr2kBr0jxr7lhr3khn7lhr4lBn5lRr3kxr1kRv7lRr2kxn5lBn3khrykRj2kRj3lBn4khr2khn6lxr4lBj5lBrykhn2khn3kxr//////v33lBz///73lR33lB33kxv/nRz3lR7/mRv//fv//fz/nhz//vz2jAr3jQz//v73khj3lBv/mxv3jhD3kRX3kxn3kBT4lBr7lRr3jAz3jQ7//Pn3kRb/nxz/mBv+lxv5lBr3jxH//fr3jg/2iwr2jQz4njH80p/3khf+mRv/nBz3kBP/+/f816v//Pj5lRv7lhv/+vX5s137zpb4liH3jAr5qEf806H6t2b/+/b81ab6t2f82K34nS/7zJH4oTj4nC33iwn7wn3/mxz6w3/937r2jAz96M75tWH7zpj97Nf958z2iQX82rH7yo33lR/4myv+8N/4mCT6lRr6u2/+6tP3jg7969T4ojn5sFf+7tr++PD6v3j4ozz+9u36uWr2igb+69T82rD6uWz+8+b2iwj+7tz6vXL5pD72jQ75slr4pUD+797/+PD5sFj3liD96dD94sL4nzT+79z95sv//Pr3jxD5tmP+8+X948P93LX3myr7yo/5rlL94sP4qUj94L34pUH5tF/7wn/+7dj7xYX81KP/+fL5qkr6uGn81qj2hQD97Nj///37x4n6xYT95cf3mSf96tL7zZb2hwD+8eH5q03/mhv5rlT6wHn3lyP95cj8z5r7yYz+9Oj4oTf3hwD83LSsdU1lAAAAXHRSTlMABP4B/gL7AQP9/Pv++vX89476GJDqFgT9KI4pLWIDbfz9/v532NMFQY/W1fhe912nqa3sAeeHhu0V97m6zo2oawO/xGthYMLH6++F/Bzq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", QA = "data:image/png;base64,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", FA = "data:image/png;base64,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", YA = "/assets/DOGE-DGKVmDxD.png", IA = "data:image/png;base64,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", GA = "data:image/png;base64,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", KA = "/assets/JUP-B5soXSmJ.png", XA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACdUlEQVR4Xt3bPVIbURBFYTIrZAleCpFR6B3ZO2MpLMEZE2IpkEv+WlTPT0/PSKfqJDC3+74iGEE9np425PA6fJ716w/Pt9ePP5fDX+tzD4mHVp9/GDxopvm7xYNN1Xl3w6n8m4dZ4Lvzd8vzz8/nGwco0V27w8Jr6d7NsWCX9mjn8GP4Zal2Tx3s1UIosrH2Ww0X7037luGivWv/2Rxq3+fdLvv8cGNgncfh5d+e4/A9fL/QqyONwwHVuu+Cz1XrvpsYqtRdX2GuUncFDFTojrE4p0J3BAws8jj8dv5UzjPC3AU6P2Bgrs5divPn6tyAgak6rxr3TdV5AQNjdc7auH+szgkYSL16n3cz5/ODMwIGMs13Y59M8wEDmea7sU+m+YCBTPPd2CfTfMBApvlu7JNpPmAg03w39sk0HzCQab4b+2SaDxjINN+NfTLNBwxkmu/GPpnmAwYyzXdjn0zzAQOZ5ruxT6b5gIFM893YJ9N8wECm+W7sk2k+YCDTfDf2yTQfMJBpvhv7ZJoPGMg03419Ms0HDGSa78Y+meYDBjLNd2OfTPMBA5nmu7FPpvmAgdRt/yT2EvokOiNgYKzOWRv3j9U5AQNTdV417puq8wIG5urcpTh/rs4NGFhkwf2d6ntIzg8YqNAdY3FOhe4IGKjUXV9hrlJ33cRQte678NU1+irdl+KAUv+/IjP5fT7FqyNN5zTg3YF343F48zyzCcN3rv3LcNHetO9quHhr7ddC9f2dWRbcQ1pMKNWkPTbHgmvp3t1h4SrP/47jrt1yqPz8UPk+7yYcZqLOu1s8WKb5h8GDqs8/JB767Pk3QZ97ePbwU/8LaXkIU/qPRM8AAAAASUVORK5CYII=", VA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFR0lEQVR4XtWaPXMbRRjHVwU0gYxcMRMaWWlSMfYQGprYRRo8k4SGgUgepA4ayxTQSjP0WB8AnLRJgTvorCK06GTRS99A+gZa7jn7rNX/2bt99t6s/Gd+4/HtPm97d7u3ulOqIumrdi9kGaIdLHXQHqD9eyd99XJoKS4b09Yr9L+1YskXDMbbCumgU8dESyfoNDCPyqWn7RFLrGqm7T8xr0rEErljML/SpKfHZxh8a5i2f8N8C5W+Xsp44G3iv3Yf8y5E+qoVsGDbyxjzz6Ww+LklyJbTmmEdmfSenXkk35UQOuhbnOam13pEs3YqwZsjZpeJoHW6rshDRc32y3++0fWPP2AF+nBx9oT59SLL6sCceHDw+BNWRBFgHB+Uj9DYBzIvE4zng5JIT9oXaOgDuSgbjCkmfHRXLjEjT8hFVjqdjh4Oh+y4DYwrRaWJdlho4Au5yUKtVtOoRqPB+plgbBHhzlUliXXOALnJSpKw34aNJQcXKknYMQvkJqbf72Mtem9vjxVhkiTsF7Nz/0OWgwtlE3bKA7mLSdN8PmcFmdTrdX1wcBD9xTaTQgYBO+SB3MUEQYB1M7kGQsL87xcsjzSUqfB5/zV2yIuZnFSuSc8F5uBgqGJZGnMz+PGzzeSEokseC/MB80hhpWJZGgvBTIzOrlSz2YwV5gPmkYSKhQ1FYiY2GAyw1kStVitWmA+Yhw1Forcw2FA0G4l5CgvzAfNg0FZZy15X5YK2xBuJeQoLk1KjWJZ8DBalXv6ImRyt7T7C4qTQ1hzzMFhVOgAEJugjtJWCOWzkgweqABNcLpdYq1VZV4fR709ZDre54IGqaDz4aCNJqbA4CbVa8lVQ6ABEhViO26CzgolKNBqNmB1y+MX1fU+Px7e+LTkQhQ2AK5CtL3J4eIj1WoV2SDwAMaVeAYt3sMRZ+phgsohErqvgp9YjFjeJXAPQeHCPBcc+Jrg/sCEV2pmkTXpAtAxmehDCoDHDnx+zvi4bk52dHazVqrRNE8ZNIXwQCh8HLQ2MwQ/rszf7az25IJ1nD5ktEV8tdD92nz8MJ6ivb9suhk82CxBosViw2Lf2lvhWgps3yazhSna2bNBAoS8Jq4kxkQqUtFlKm/AQFQsbiLNfPmfOJdBzP/qS4DsAJIxN+PwypGJhg9HBG/QhpagBQL8pGD+IBO3Eb/owgAu0lzJ+c7T2IVDSLYB+E5m8PFemWAcDDJKEz+WHrCdJ/oLEpsvLy1zxFQo7IPTTM3VzQSsE2kqI7bvdLtZqFcb1mfxu4nFhJxujP57q3U/vRQHJJAk6o3Rfoz1i3vuERLZdIfpNg2q1Cju6IBOT3d1ddoygL0JwMOh//I4g69nHvFyoJGX55JXMTLK+5Gg2m1inVWjnc99HBN82VJqYgQAyM4mVdEUgNGgSjcfjDbvXv37JcnGhXNKT40s0koBzAt2npui9//7+fjTLE6enpxvtLuGzf/D2K5aDk4nwu2JmKIT24WRuQut1HtmWO4wrZV2hQGgs5ftnTZYwgVdEmmjQTk5OmA8C40mJ6xJLB/k+k8NbwqTX60X3MxVK0M7u/Pw89duB7vMmiyHn+Oy6Kk9Jt8pp0CydNhhpZHnvb6EfFZNVoYOxxWkmgrdHqYNBbadt+c9Zblr/mrVkFn14zJ1vOwV9LB1LF3gllE9BZx5VxZvk3ATtHuZdqPKuDuWScbbPIh78bsH8KlHe74oLIXx0x7wqF+2wWGLlstLBi+RPXu9SlmQLBeNtrcKnyFeazpSlCE/Cs/1ddZNbWbpZQhdRQbzIdbFRn+MTtC9L/wN/W3gBtRLmxAAAAABJRU5ErkJggg==", ZA = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFkklEQVR4Xu1aTWwbRRQer+2YqFHhQAkSEteKAxISQqjiUIk7cKJ34AAnznAgSkKlkjROg5AiUC9wIInamJA4DlAhFe4VJ+CE6IHmhyakFCe1d9fex75Zr72Zt7uenf1pJfuTvtiZ9ey+75uZtzOzy/aaTRhkMrFg0Dg0QCwYNA4NEAsGjUMDxIJB49AAsWDQODRALBg0Dg0QCwaNQwPEgkHjI2PA6fEngeUKwBgjx9LkQzdgt163hTP44meAmRpAsVgkv0mTmRiw0zTgUDd567rMcWrw/vQyzFUtzu5xjcGBYcJ2owE7eoOcL0mmZ0DDgFLe6dIoqFwzukL7cXarwevg9wvvTvEeguc5sCx6nZhM3IDb9f86rct4l57dBCKwH3M5R7yX5Q08VwsK+VH4u0Wvq8rkDMAW10bsltJgvirf2oS2yIVqHUqPafRYh5c2m/w6JAYFJmYABnRRobX9+NkNgMX1I1IuEnuZGEdUJmIAjs+5arh4EwBa4MIEy/779U/75HdRWdmqkniiMLYBjngamMsWtLuyg4BmzK/XSV2RzqkMp4L9D5bN23lGjCkKYxmA4jHRiYEiMflFBeqaqzXIua5suqIp7hwBFGIMhVgGaGyEBMtpJzKwsNMrot0zdeXmn+JRgvLmPTsetfmCsgG869tCifiq21WTgPyJnnv+BRKjDBUNaPBZnCgcOWXfAh8GVNcQSgYwrQiL3+8R8bz1I7RaksjWgKDMj8mqjwG6rvP6i4uLcHx8LB6WAl9L5HKkTIxThokaMFs9EZMv3AWPC1GIDLz13e+PhAEzP+jdwIIgGpDP5z1H5YD1NU3rfnc/xThlmKgBV370hukPrGsYBv9E8V4zogD3Dbxm4ueOT6z9mKgBs7X+PQDhBt5PfNtOJw/EQujlEbG+Si9I1ACcFSYBvMWaa+dP8HQx3CwExrWt03jDmKgByIAZayRYlVehvX4Obn35Dpyxr9VaOwdPPzUu/ozANE3I56Itk9UM0Ow1wIb/GuCvphiWGi6+/RLo3563xb8Cb7x4SjwciKjDQMkAnAkWA3rB/AaGcSTGlRkyMiB8GNwXo8oQeHsUYw2jsgHIT7aCd20AEhoLEVEolkicYYxlAGMFItwlbmBmjaWlJYi6LI5lQN1sw9WbOhHvMuuhMDY2RmLsx1gGIIOWxS5bfDcwfej2IkyMTYaxDQhLhi6zwB/7hyQ2GWZiwOXv0kuIlmUBK5Sg9MTjJDYZxjIAnwUsrG0TwX5MZIrog49WDZheBf747LULb5IY+1HZgJ2jY/5gQhQaxjQwvWpxA/ATe+OBT6xhVDZApuuLVNv/Ccflb1C8w4lrzkzwrr3cFuMNopIBeJGZdbp/L8M0MLnSM+GtDz6PNB2ObMCh0bSnm9Fbv2dA+J6hKnKs1DUBp8P7plwviGyAStf3smWlYwA+fby6dpcbMFmRXxRFMmD3/r/A8s8QUX4cCTCqIUaeIFC0mxSxF+CaVNQgMpIBUVq/XDX4LrFY/sue3LaZKlju2W5ClHl8npoB+Njs0+XfSXnbSm9ShHB6gZMLZIaBtAGsWISFG7RFg+kEIJanlAO7wJnhVOWoMzkqwX7jmGg5oUssCKKfmHAGGJAB8p1eMHnd2X4XtZzQJRYE0U9MP7LRcUF8NgtkbzJMzIACO0UEhrFcq0N5yztkxDDTA4qeqHTyQC4BA+7Y44ixUSIyjHjhS1u9t8XSWgwFgdm3QTSgcOYs3PrtV6IpkgH/6Dq89/FXRGQYvdtlM7Xst8fcu8HEdQsKI8Gv30oZcPigCQsb8u/+4UuNmIjc/1NP/T5wDZhaCc8DUgbc3tuFfq/BeYktfvbl1z0GZA8UPXmtxZNhbAPumbo9s6NCg4izwLnO22OGmX3rI1D0h8sdA0IS4f9u/ujxog9qpQAAAABJRU5ErkJggg==", WA = "data:image/png;base64,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", JA = "/assets/PUMP-ICTVsk_g.png", $A = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACbUlEQVR4Xu3Xy43cQAyE4Y3FcAqbu8+OwnAADmNtzAIeYD5Q6gcpqQVsAf9lWE1V8TZvbyfpz++PvyP4/nayUBb3LyuDV+P3lpAhz8Icl8hQZ2Oe02SQqzHfofLjq2DOcvnBVTF3ifzI6pg/JZffBXtMyaV3wz5DctldsVe3XHRX7NUll1Tx/dt7E99UYL9d+bgCS/bingz23JQPM1hoFvfOYM9QPprFAhX4jRns+yLNsxhc9Fe97cXeT2mcwcCZ8L6f3SP2fkrjDIbNBnZXxU57f0rTDIbMBv2POyt22z99AMO1Auqt9rcoLf+gN5y+CN/svdUzQtkBDLUVTM8evt3a4XyEww7gPPL04I5oj/MRTjuA88jnLPJs+fT0UlL+549fzUDOI8+W13mvp5f0AQwTBWrN97yRvzUfofwAzns9I/7WfITDD+A88kjL35qP8HUAfxilFcZ55Bn1t+YjLHUAfVveHk8vSxzA+ahXzwhLH0Bf5HU+yrIH0DPiG2HJAzjf8u15e1nmAP4m7uh500P6/0ArlPPI08L3MzsiSv4NtoI5jzx7+HZmxxZLH8A3o+97WO4A+iJ8k+F5gMoj7M1GPBG+y/BSPnuAB1shLdHr2fNXYP9PaRolCmuZXk/kq8LeT2mswFJRsb3ZEdj7KY0VWP6sknvY+0Was1j+6gPYN5SPMlj+ygPYc1M+zGD5WxzgIR9nWOEA9uuSSzJceQB7dctFWW53gIdcluXsA9hnSi69C/ZIyeWrY/4S+ZFVMXe5/OAqmPNQ+fGrMd9pMsjZmOcSGeoszLGEDFmN31tWBs/i/tvJQi18f5T+AQGOItJsWn6vAAAAAElFTkSuQmCC", e3 = "/assets/RAY-DjdDnD_x.png", t3 = "data:image/png;base64,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", n3 = "/assets/TRUMP-DhGGs5Yg.png", a3 = "data:image/png;base64,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", s3 = "/assets/UNI-D58z1jTz.png", l3 = "data:image/png;base64,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", i3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACaUlEQVR4Xu2aPW7CMBiGOQJH6BE4AkfoEThCj8ANIiWwsCAmNnoBJCQ2JtiYUBc2Bla2Vl9Vq+R1En/+xQY/0rMQ298PdpSU9nqZTCaTyfCpqu+onU4HmLI7iqIvBYxRb2CgeL1i6vZU1aYhULw6BwOkoDNw4XQcYin6TCZfDQunozW4YIoagwt1GBqM32lRvGFpaqpqLC3UYWgwvlJtcAGFocH4SsuywBLbwckMQ4PxWbKg84ITGYYG4zNlPCHKk1gOVyuW+8sFa6mB49vE+Gw70bzxmbg5n7HmGjjei63gQA/G2wAc5MkoGkDWMLzxdUnnVFUsB1rD6sy3WZaj/wbgRQP7sxnm7o23xUKKb+Rf8RvpgoaUzKOw3hn0oid9qGkTtG0Hy6U0llQdCxxPUpM/Tycc+ov1bpA+0FQwWq+la02aNAClb15gvQtc3QO4umjAvVYNqIEXmRJ0A8TPVbp4siNM59aLF+AghvfQYy5edy0+Shs1oBMcrFAFbfmP7VZ7l9A9RXVcCJynVAk9IOAkhZRsaMa7nZQHw3cstxmDJgiLwwFzdcb8eJTisdX+yYwm4CIW0lmlb+16u2FdNWiM0bnuUrt4geMmkKpzjeOtNS7+HlzUwqANcAoubmiwBngBgxgYpAFewWCaem+Adyz/ScJrA4KCwZl6a8BDwCQYemnAQ8FkFNIfSvBN0OqtMAowqVBGBSbnV8ZPXI9ATtSHkRYvkBN2axJg0q5MCkze1iTBIkxNGixG16egqvZSYSonkzkukzZUEBbZ5tMVL+A04WmLF2DB6EuARb9U8YKXLj6TyWQycfADMiVWaB1DBnAAAAAASUVORK5CYII=", o3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACP0lEQVR4Xu3US27cMBBFUS8302wwwwBZSZaRwAZakE+zSBX1IwFd4E7cVY/1NPDHx8PDZfz88evfFt2bFov1au7QePzR+t4weOjZ+v5teNjVes+leMxdetfpeMAIeuNp+PBoeu+h+Nioevch+Mjoev8uDJ9Fe3Rh6EzapQtDZ9M+KQybVXttwpCZ/cR+TQyZXftVcXl2X9gzxIDZTX0Al0tmcDcyi/uRYt83DCiZwd3ILO5Hin3fMKBkBndL9mBGyRL2/YYBkRncLdmDGSUj7L1gQGQGd7UXc7TE6zd7LxgSmcHdtX9+/3V8M2a17lv/bu8FgyIzuNubI2a1cte/2/sLQ2pmcLcno4R5tVxnPrX/8wEcqJnB3Wg/+nuEmdG+My/tP/0HiP6hOvfS/pd9gBK13yIyuSXtf8kHiGj9XqKV681q/9s+QOv3iNaeN6v9T/8AJa7KLWn/5wM4UDNDNG9mNBcRzZsZaf8vHIrMEM2bGc1lMbOkvRccjNyLeWfnqr0XHIzci3lH5JpV094LDkbuwawrctXe33C4ZC/maC/m1LTvGy6U7MUc7cWcmvZ9w4WSPZhRsgczWtq3iEuaxf3ILO63tGeIi5rB3ZoZ3N2iPau4vHYr7rXcintbtF8TA9a2cH6rNZzNar9NGDKr9kph2GzapwtDZ9Ee3Rg8i/bYheGj6/2H4COj6t2H4mOj6b2n4cN3632X4BF36V2X4jFX6z234WFn6/vD4KFH63tD4/G9mjstFot07+HhPP4Dgtj+dalEsHUAAAAASUVORK5CYII=", r3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFMklEQVR4XtVbvW4TQRhMSWwipYYngCeACsp0pEsJFZTp8gapaXgD6F0gETsIWaRIARIopAAJJAcJCgq4s5M4/zE3l6y1nv253fXe2R5plOR2787f7PfN7u05c3MVIGksLiYbNx92W/XnaavWSFv1TrpZT7Kfg5xXv3fQhj7oi3P4OjOD7ub8ahZUexjguGzW271W/THfZ+qAkYsauMJaI3mzsMz3nThG0rky1jr8OSpHPuJ57fKHq4q1zkRKI9moP5nMqJtYoRBwZ/UDTAdLnzmma9RNLMkb8rRXbjadjF4OfINZIccRhFkaeebYmZCWNMV1390enOy9GAgc7j5T+kRkwnE5oUy3vzxLh8ELXPR/Kv1i0Xt2KCPte1t3OWYtyhLCqxzSyKl//GNdO+omQIQSysKtFGKO/tm/LY5tBEff1wenf17z4REcZ17B1w0llu4cr4I0wuizyelw9ndr2P+iv8fNI4iXDQWLpDRC8KApoMuzZND/uqb0Fzz59ZJPGSJiJphLQdM5mP3dpxxDlhm3lH7M3vs7fNpg/8OS0m8cctw5ktbCMnd0YT9LT8Dk3giIj4EHH5eGAeqEwXm64ygvAcws3O5CrRdc79UpnW1kkzvv7Th9KPYHV9c/+ramzCZBpdGst0eC93V+Dpyxv31POQfEqNrq3OYPmDFsOMxKjs+xsducXx0K4LuPZxKgyOQEdSbpMpI28XwFGMkCpbGALMB5d0c76vAHpCwWQrp6xqgeflpRju9v38/vgTWCrqRgsFwK3gK0JDPkhiKyAEdZgNxHNjnAZJJM2eQEdCJwFgULkLT9H3psAmCki6ALiAXTQe4fQ4D8Iel6Z1dptPEoq3MZsgAuDz3IBlxDnMOCmiB/BlkA/G6abm3Mp8Or11VqowsPPq/kN/cVIBTyvXFfmKLOW1yJ2IPmfyZMSfxelQCnWfD8ObzZrDWC1v+oVz4mWJUAMmGcOl8pZvZwFLLVjZrFqo+Pgy4mGAq+lyCmxBATTPFgpDlYSNm0TNOb7qEmBFhc8bVBni4DBRiMLQCgWweAwiRDgdWhyeSQgTLCBQgsARkmAQSLngEYLsGwsC7naJiXQEfTYKVNAJiR6ckOu0BFwPKYzxM7TPKxOALABAOmwSIBBE5+vxpxZ90mCUO+D2Yb+V5yWxQBMA2GLIRcBQBkk/QVgCG3xRAgXwiFLIV9BABE27QJsL9540H0h6FZEmD4xogbimgTAMTUJe/giOOhAug2RWMIEG0/AGbHfUAx9Ym/fQXAIkg3KyDL4m6IRNoSY9dn+grAxKwAU9XBWwB5Syz/YiN3sNAkgIBp9TaOANgms8FXAOVlqW8WgEUwZQPXLyC/KpOJrXAbcC0+p5CY/xkh06HLEtfkD7JJ6kwOPO9+ka6kQucPLuy9rT3i+HNwRx/a0pv7utIEk2Cu5LiHCHkwkmnKBtGOOjaVBcgbLQyku2+tq6zgDTGyQa5z+fhVIKOvwuQvUMjXEYA/hGx6qiwIHgjxAhMFxN9cJsgG8XJVgM8PMjkDFec3YdxSMJEF0IHPiUeH0RfwfVnqykkK4Dz6AiEPSS607RWaFlDj0vtrcgJlloJskjA53cvVOPRIfR3KKgfQ9C2QWPROexP4wrNCjmMslJkJsRlt5BlphEVS6dy0fA0uBsqaHWIw2O19cV0OHf4AE2M26qWlvQ2TF6LWyXd2J410EiKUXeshwEZDyJsmZzbr7akY8SJc/2NlWwkglFng2Lfk+8wM4M4YuW7T4d/nsz7oW5Wj/wdXGukMTSgLegAAAABJRU5ErkJggg==", c3 = "data:image/png;base64,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", u3 = "/assets/WIF-CBkpySMY.png", d3 = Object.assign({}), f3 = Object.assign({ "./ARB.png": UA, "./BNB.png": HA, "./BONK.png": qA, "./BTC.png": PA, "./BUSD.png": QA, "./DAI.png": FA, "./DOGE.png": YA, "./ETH.png": IA, "./JTO.png": GA, "./JUP.png": KA, "./LINK.png": XA, "./ORCA.png": VA, "./PENGU.png": ZA, "./POPCAT.png": WA, "./PUMP.png": JA, "./PYTH.png": $A, "./RAY.png": e3, "./SOL.png": t3, "./TRUMP.png": n3, "./TRX.png": a3, "./UNI.png": s3, "./USDC.png": l3, "./USDT.png": i3, "./W.png": o3, "./WBNB.png": r3, "./WBTC.png": c3, "./WIF.png": u3 }); function h3(a) { return a.replace(/^\.\//, "").replace(/\.[^.]+$/, "").toUpperCase() } function dv(a, l) { for (const [i, r] of Object.entries(a)) l[h3(i)] = r } const _e = {}; dv(d3, _e); dv(f3, _e); function Vt(a) { return _e[a.toUpperCase()] } const m3 = "_field_e7lz9_1", p3 = "_compact_e7lz9_5", g3 = "_fieldError_e7lz9_9", v3 = "_fieldLabel_e7lz9_15", y3 = "_fieldInput_e7lz9_23", _3 = "_currency_e7lz9_49", b3 = "_currencyIcon_e7lz9_58", x3 = "_currencyRub_e7lz9_70", A3 = "_currencyUsdt_e7lz9_74", S3 = "_currencyHasLogo_e7lz9_79", j3 = "_currencyImg_e7lz9_83", Tn = { field: m3, compact: p3, fieldError: g3, fieldLabel: v3, fieldInput: y3, currency: _3, currencyIcon: b3, currencyRub: x3, currencyUsdt: A3, currencyHasLogo: S3, currencyImg: j3 }; function Ag({ label: a, value: l, currency: i, onChange: r, error: d, compact: f }) { const h = !r; return o.jsxs("div", { className: f ? `${Tn.field} ${Tn.compact}` : Tn.field, children: [a && o.jsx("div", { className: Tn.fieldLabel, children: a }), o.jsxs("div", { className: Tn.fieldInput, children: [o.jsx("input", { type: "text", value: l, onChange: r ? g => r(g.target.value) : void 0, readOnly: h, placeholder: "0", inputMode: h ? void 0 : "decimal" }), o.jsxs("div", { className: Tn.currency, children: [i === "USDT" && Vt("USDT") ? o.jsx("span", { className: `${Tn.currencyIcon} ${Tn.currencyHasLogo}`, children: o.jsx("img", { src: Vt("USDT"), alt: "USDT", className: Tn.currencyImg }) }) : o.jsx("span", { className: `${Tn.currencyIcon} ${i === "USDT" ? Tn.currencyUsdt : Tn.currencyRub}`, children: i === "USDT" ? "₮" : "₽" }), i] })] }), d && o.jsx("div", { className: Tn.fieldError, children: d })] }) } const w3 = "_swapWrap_172k4_1", E3 = "_compact_172k4_6", N3 = "_swapBtn_172k4_10", Pc = { swapWrap: w3, compact: E3, swapBtn: N3 }; function C3({ onClick: a, compact: l }) { return o.jsx("div", { className: l ? `${Pc.swapWrap} ${Pc.compact}` : Pc.swapWrap, children: o.jsx("button", { type: "button", className: Pc.swapBtn, onClick: a, "aria-label": "Поменять направление", children: o.jsx("svg", { width: 16, height: 16, viewBox: "0 0 16 16", fill: "none", children: o.jsx("path", { d: "M8 2v12M4 10l4 4 4-4", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }) }) }) }) } const T3 = "_field_zffpb_1", R3 = "_label_zffpb_7", k3 = "_wrap_zffpb_14", B3 = "_input_zffpb_18", O3 = "_readonly_zffpb_37", L3 = "_copied_zffpb_44", M3 = "_iconCheck_zffpb_59", z3 = "_iconLock_zffpb_68", D3 = "_withToggle_zffpb_76", U3 = "_togglePw_zffpb_80", pa = { field: T3, label: R3, wrap: k3, input: B3, readonly: O3, copied: L3, iconCheck: M3, iconLock: z3, withToggle: D3, togglePw: U3 }; function ke({ label: a, value: l, placeholder: i, type: r = "text", onChange: d, onBlur: f, readOnly: h, required: g, icon: m }) { const [p, y] = A.useState(!1), [_, b] = A.useState(!1), S = r === "password", j = S ? _ ? "text" : "password" : r, w = () => { h && navigator.clipboard.writeText(l).then(() => { y(!0), setTimeout(() => y(!1), 1500) }) }; return o.jsxs("div", { className: pa.field, children: [o.jsx("label", { className: pa.label, children: a }), o.jsxs("div", { className: pa.wrap, onClick: w, children: [o.jsx("input", { className: `${pa.input} ${S ? pa.withToggle : ""} ${h ? pa.readonly : ""} ${p ? pa.copied : ""}`, type: j, ...d ? { value: l, onChange: E => d(E.target.value) } : { defaultValue: l }, placeholder: i, readOnly: h, required: g, onBlur: f }), S && o.jsx("button", { type: "button", className: pa.togglePw, onClick: E => { E.stopPropagation(), b(R => !R) }, "aria-label": _ ? "Скрыть пароль" : "Показать пароль", children: _ ? o.jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", children: [o.jsx("path", { d: "M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94" }), o.jsx("path", { d: "M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19" }), o.jsx("line", { x1: "1", y1: "1", x2: "23", y2: "23" })] }) : o.jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", children: [o.jsx("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8S1 12 1 12z" }), o.jsx("circle", { cx: "12", cy: "12", r: "3" })] }) }), m === "check" && o.jsx("span", { className: pa.iconCheck, children: "✓" }), m === "lock" && o.jsx("span", { className: pa.iconLock, children: "🔒" })] })] }) } const H3 = "_notification_159u2_1", q3 = "_slideIn_159u2_1", P3 = "_notificationWrapper_159u2_19", Q3 = "_content_159u2_24", F3 = "_closing_159u2_30", Y3 = "_slideOut_159u2_1", I3 = "_icon_159u2_58", G3 = "_success_159u2_71", K3 = "_error_159u2_76", X3 = "_info_159u2_81", V3 = "_warning_159u2_86", Z3 = "_title_159u2_91", W3 = "_message_159u2_99", J3 = "_close_159u2_107", Qa = { notification: H3, slideIn: q3, notificationWrapper: P3, content: Q3, closing: F3, slideOut: Y3, icon: I3, success: G3, error: K3, info: X3, warning: V3, title: Z3, message: W3, close: J3 }, $3 = { success: "✓", error: "✕", info: "i", warning: "!" }, eS = { success: "Успех", error: "Ошибка", info: "Информация", warning: "Внимание" }; function $a({ message: a, status: l, onClose: i, title: r, duration: d }) { const [f, h] = A.useState(!1), g = A.useRef(null); function m() { h(!0) } function p() { f && i() } function y() { g.current !== null && (clearTimeout(g.current), g.current = null) } function _() { d && (y(), g.current = setTimeout(() => h(!0), d)) } A.useEffect(() => { _(); function j(w) { w.key === "Escape" && h(!0) } return window.addEventListener("keydown", j), () => { y(), window.removeEventListener("keydown", j) } }, [d]); const b = r ?? eS[l], S = l === "error" || l === "warning" ? "assertive" : "polite"; return o.jsxs("div", { className: `${Qa.notification} ${Qa[l]} ${f ? Qa.closing : ""}`, onAnimationEnd: p, onMouseEnter: y, onMouseLeave: _, role: "alert", "aria-live": S, children: [o.jsxs("div", { className: Qa.notificationWrapper, children: [o.jsx("span", { className: Qa.icon, children: $3[l] }), o.jsxs("div", { className: Qa.content, children: [o.jsx("p", { className: Qa.title, children: b }), o.jsx("p", { className: Qa.message, children: a })] })] }), o.jsx("button", { className: Qa.close, onClick: m, "aria-label": "Закрыть", children: "✕" })] }) } const tS = "_pill_3oadq_1", nS = { pill: tS }; function aS({ children: a }) { return o.jsx("span", { className: nS.pill, children: a }) } const sS = "_btn_ytb12_1", lS = { btn: sS }; function Zn({ label: a = "Подтвердить своп", onClick: l, type: i = "submit", disabled: r }) { return o.jsx("button", { type: i, className: lS.btn, onClick: l, disabled: r, children: a }) } const iS = "_field_1845i_1", oS = "_label_1845i_8", rS = "_trigger_1845i_15", cS = "_triggerOpen_1845i_41", uS = "_value_1845i_46", dS = "_placeholder_1845i_50", fS = "_arrow_1845i_54", hS = "_arrowOpen_1845i_61", mS = "_dropdown_1845i_65", pS = "_option_1845i_82", gS = "_optionSelected_1845i_95", na = { field: iS, label: oS, trigger: rS, triggerOpen: cS, value: uS, placeholder: dS, arrow: fS, arrowOpen: hS, dropdown: mS, option: pS, optionSelected: gS }; function Gh({ value: a, options: l, onChange: i, label: r, placeholder: d = "Выберите", id: f, disabled: h }) { const [g, m] = A.useState(!1), p = A.useRef(null), y = l.find(_ => _.value === a); return A.useEffect(() => { if (!g) return; const _ = S => { p.current && !p.current.contains(S.target) && m(!1) }, b = S => { S.key === "Escape" && m(!1) }; return document.addEventListener("mousedown", _), document.addEventListener("keydown", b), () => { document.removeEventListener("mousedown", _), document.removeEventListener("keydown", b) } }, [g]), o.jsxs("div", { className: na.field, ref: p, children: [r && o.jsx("label", { className: na.label, htmlFor: f, children: r }), o.jsxs("button", { type: "button", id: f, className: `${na.trigger} ${g ? na.triggerOpen : ""}`, onClick: () => !h && m(_ => !_), disabled: h, "aria-haspopup": "listbox", "aria-expanded": g, children: [o.jsx("span", { className: y ? na.value : na.placeholder, children: y ? y.label : d }), o.jsx("span", { className: `${na.arrow} ${g ? na.arrowOpen : ""}`, "aria-hidden": !0, children: "▾" })] }), g && o.jsx("ul", { className: na.dropdown, role: "listbox", children: l.map(_ => o.jsx("li", { role: "option", "aria-selected": _.value === a, className: `${na.option} ${_.value === a ? na.optionSelected : ""}`, onClick: () => { i(_.value), m(!1) }, children: _.label }, String(_.value))) })] }) } const vS = "_wrap_19cox_1", yS = "_fullscreen_19cox_9", _S = "_overlay_19cox_15", bS = "_overlayFadeIn_19cox_1", xS = "_spinner_19cox_33", AS = "_spin_19cox_33", SS = "_sm_19cox_42", jS = "_md_19cox_48", wS = "_lg_19cox_54", ES = "_label_19cox_60", NS = "_srOnly_19cox_67", fl = { wrap: vS, fullscreen: yS, overlay: _S, overlayFadeIn: bS, spinner: xS, spin: AS, sm: SS, md: jS, lg: wS, label: ES, srOnly: NS }; function zn({ size: a = "md", label: l, fullscreen: i, overlay: r, className: d }) { const f = [fl.wrap, i ? fl.fullscreen : "", r ? fl.overlay : "", d ?? ""].filter(Boolean).join(" "); return o.jsxs("div", { className: f, role: "status", "aria-live": "polite", "aria-busy": "true", children: [o.jsx("span", { className: `${fl.spinner} ${fl[a]}`, "aria-hidden": "true" }), l ? o.jsx("span", { className: fl.label, children: l }) : null, o.jsx("span", { className: fl.srOnly, children: l ?? "Загрузка" })] }) } const CS = "_icon_u3l5i_1", TS = "_logo_u3l5i_12", Sg = { icon: CS, logo: TS }; function kl({ letter: a, color: l, logo: i, size: r = 40 }) { return o.jsx("div", { className: Sg.icon, style: { background: i ? "transparent" : l, width: r, height: r, fontSize: r * .45 }, children: i ? o.jsx("img", { className: Sg.logo, src: i, alt: a, style: { width: r, height: r } }) : a }) } function RS(a) { const { once: l = !0, ...i } = a ?? {}, r = A.useRef(null), [d, f] = A.useState(!1); return A.useEffect(() => { const h = r.current; if (!h) return; const g = new IntersectionObserver(([m]) => { m.isIntersecting ? (f(!0), l && g.disconnect()) : l || f(!1) }, i); return g.observe(h), () => g.disconnect() }, [l]), { ref: r, inView: d } } const kS = "_section_1kaq1_1", BS = "_wrap_1kaq1_7", OS = "_descBlock_1kaq1_16", LS = "_descText_1kaq1_22", MS = "_right_1kaq1_33", zS = "_glow_1kaq1_37", DS = "_row_1kaq1_49", US = "_check_1kaq1_106", HS = "_text_1kaq1_120", ga = { section: kS, wrap: BS, descBlock: OS, descText: LS, right: MS, glow: zS, row: DS, check: US, text: HS }, qS = "_title_1ien9_1", PS = { title: qS }; function fv({ children: a }) { return o.jsx("h2", { className: PS.title, children: a }) } const jg = ["Вся деятельность компании соответствует законодательству Российской Федерации и требованиям регуляторов", "Вся документация компании открыта и доступна для ознакомления", "Операции защищены шифрованием уровня ERC-20 и проходят верификацию в блокчейне"]; function QS() { const [a, l] = A.useState(-1), { ref: i, inView: r } = RS({ threshold: .2 }); return o.jsx("section", { id: "about", className: ga.section, children: o.jsxs("div", { className: ga.wrap, children: [o.jsxs("div", { children: [o.jsx(aS, { children: "О КОМПАНИИ" }), o.jsx(fv, { children: "О нас" }), o.jsxs("div", { className: ga.descBlock, children: [o.jsx("p", { className: ga.descText, children: "ЭКСА — молодая финтех-компания в сфере цифровых активов. Наша миссия — сделать оборот цифровых активов простым, прозрачным и законным." }), o.jsx("p", { className: ga.descText, children: "Мы создаём инфраструктуру для операций с криптовалютой и комплексные решения для физических и юридических лиц." })] })] }), o.jsxs("div", { ref: i, className: ga.right, "data-inview": r || void 0, children: [o.jsx("div", { className: ga.glow }), jg.map((d, f) => o.jsxs("div", { className: ga.row, style: { transitionDelay: `${f * 150}ms` }, "data-hovered": a === f || void 0, "data-last": f === jg.length - 1 || void 0, onMouseEnter: () => l(f), onMouseLeave: () => l(-1), children: [o.jsx("div", { className: ga.check, children: "✓" }), o.jsx("span", { className: ga.text, children: d })] }, f))] })] }) }) } const iu = [{ min: 5e3, max: 3e4, pct: 8 }, { min: 30001, max: 1e5, pct: 6 }, { min: 100001, max: 6e5, pct: 4 }], Gf = iu[0].min, wg = iu[iu.length - 1].max; function FS(a) { return a <= Gf ? 0 : a >= wg ? 100 : (a - Gf) / (wg - Gf) * 100 } const YS = "_title_ujt2o_1", IS = "_table_ujt2o_8", GS = "_row_ujt2o_15", KS = "_range_ujt2o_31", XS = "_pct_ujt2o_36", VS = "_progressBar_ujt2o_43", ZS = "_progressFill_ujt2o_51", WS = "_summary_ujt2o_58", JS = "_summaryLabel_ujt2o_73", $S = "_summaryValue_ujt2o_78", Rn = { title: YS, table: IS, row: GS, range: KS, pct: XS, progressBar: VS, progressFill: ZS, summary: WS, summaryLabel: JS, summaryValue: $S }, Eg = a => a.toLocaleString("ru-RU"); function ej({ amount: a, progress: l, commission: i, effectiveRate: r }) { return o.jsxs("div", { children: [o.jsx("div", { className: Rn.title, children: "КОМИССИЯ СЕРВИСА" }), o.jsx("div", { className: Rn.table, children: iu.map((d, f) => o.jsxs("div", { className: Rn.row, "data-active": a >= d.min && a <= d.max || void 0, children: [o.jsxs("span", { className: Rn.range, children: [Eg(d.min), " ", Eg(d.max), " ₽"] }), o.jsxs("span", { className: Rn.pct, children: [d.pct, "%"] })] }, f)) }), o.jsx("div", { className: Rn.progressBar, children: o.jsx("div", { className: Rn.progressFill, style: { width: `${l}%` } }) }), o.jsxs("div", { className: Rn.summary, children: [o.jsx("span", { className: Rn.summaryLabel, children: "Комиссия" }), o.jsxs("span", { className: Rn.summaryValue, children: [i.toLocaleString("ru-RU", { maximumFractionDigits: 2 }), " ₽"] })] }), o.jsxs("div", { className: Rn.summary, children: [o.jsx("span", { className: Rn.summaryLabel, children: "Курс с комиссией" }), o.jsxs("span", { className: Rn.summaryValue, children: [r.toFixed(2), " ₽"] })] })] }) } var Vi = class { constructor() { this.listeners = new Set, this.subscribe = this.subscribe.bind(this) } subscribe(a) { return this.listeners.add(a), this.onSubscribe(), () => { this.listeners.delete(a), this.onUnsubscribe() } } hasListeners() { return this.listeners.size > 0 } onSubscribe() { } onUnsubscribe() { } }, bl, Os, Ti, M1, tj = (M1 = class extends Vi { constructor() { super(); le(this, bl); le(this, Os); le(this, Ti); J(this, Ti, l => { if (typeof window < "u" && window.addEventListener) { const i = () => l(); return window.addEventListener("visibilitychange", i, !1), () => { window.removeEventListener("visibilitychange", i) } } }) } onSubscribe() { C(this, Os) || this.setEventListener(C(this, Ti)) } onUnsubscribe() { var l; this.hasListeners() || ((l = C(this, Os)) == null || l.call(this), J(this, Os, void 0)) } setEventListener(l) { var i; J(this, Ti, l), (i = C(this, Os)) == null || i.call(this), J(this, Os, l(r => { typeof r == "boolean" ? this.setFocused(r) : this.onFocus() })) } setFocused(l) { C(this, bl) !== l && (J(this, bl, l), this.onFocus()) } onFocus() { const l = this.isFocused(); this.listeners.forEach(i => { i(l) }) } isFocused() { var l; return typeof C(this, bl) == "boolean" ? C(this, bl) : ((l = globalThis.document) == null ? void 0 : l.visibilityState) !== "hidden" } }, bl = new WeakMap, Os = new WeakMap, Ti = new WeakMap, M1), Kh = new tj, nj = { setTimeout: (a, l) => setTimeout(a, l), clearTimeout: a => clearTimeout(a), setInterval: (a, l) => setInterval(a, l), clearInterval: a => clearInterval(a) }, Ls, zh, z1, aj = (z1 = class { constructor() { le(this, Ls, nj); le(this, zh, !1) } setTimeoutProvider(a) { J(this, Ls, a) } setTimeout(a, l) { return C(this, Ls).setTimeout(a, l) } clearTimeout(a) { C(this, Ls).clearTimeout(a) } setInterval(a, l) { return C(this, Ls).setInterval(a, l) } clearInterval(a) { C(this, Ls).clearInterval(a) } }, Ls = new WeakMap, zh = new WeakMap, z1), _l = new aj; function sj(a) { setTimeout(a, 0) } var lj = typeof window > "u" || "Deno" in globalThis; function tn() { } function ij(a, l) { return typeof a == "function" ? a(l) : a } function fh(a) { return typeof a == "number" && a >= 0 && a !== 1 / 0 } function hv(a, l) { return Math.max(a + (l || 0) - Date.now(), 0) } function Fs(a, l) { return typeof a == "function" ? a(l) : a } function On(a, l) { return typeof a == "function" ? a(l) : a } function Ng(a, l) { const { type: i = "all", exact: r, fetchStatus: d, predicate: f, queryKey: h, stale: g } = a; if (h) { if (r) { if (l.queryHash !== Xh(h, l.options)) return !1 } else if (!lr(l.queryKey, h)) return !1 } if (i !== "all") { const m = l.isActive(); if (i === "active" && !m || i === "inactive" && m) return !1 } return !(typeof g == "boolean" && l.isStale() !== g || d && d !== l.state.fetchStatus || f && !f(l)) } function Cg(a, l) { const { exact: i, status: r, predicate: d, mutationKey: f } = a; if (f) { if (!l.options.mutationKey) return !1; if (i) { if (Bl(l.options.mutationKey) !== Bl(f)) return !1 } else if (!lr(l.options.mutationKey, f)) return !1 } return !(r && l.state.status !== r || d && !d(l)) } function Xh(a, l) { return ((l == null ? void 0 : l.queryKeyHashFn) || Bl)(a) } function Bl(a) { return JSON.stringify(a, (l, i) => hh(i) ? Object.keys(i).sort().reduce((r, d) => (r[d] = i[d], r), {}) : i) } function lr(a, l) { return a === l ? !0 : typeof a != typeof l ? !1 : a && l && typeof a == "object" && typeof l == "object" ? Object.keys(l).every(i => lr(a[i], l[i])) : !1 } var oj = Object.prototype.hasOwnProperty; function mv(a, l, i = 0) { if (a === l) return a; if (i > 500) return l; const r = Tg(a) && Tg(l); if (!r && !(hh(a) && hh(l))) return l; const f = (r ? a : Object.keys(a)).length, h = r ? l : Object.keys(l), g = h.length, m = r ? new Array(g) : {}; let p = 0; for (let y = 0; y < g; y++) { const _ = r ? y : h[y], b = a[_], S = l[_]; if (b === S) { m[_] = b, (r ? y < f : oj.call(a, _)) && p++; continue } if (b === null || S === null || typeof b != "object" || typeof S != "object") { m[_] = S; continue } const j = mv(b, S, i + 1); m[_] = j, j === b && p++ } return f === g && p === f ? a : m } function ou(a, l) { if (!l || Object.keys(a).length !== Object.keys(l).length) return !1; for (const i in a) if (a[i] !== l[i]) return !1; return !0 } function Tg(a) { return Array.isArray(a) && a.length === Object.keys(a).length } function hh(a) { if (!Rg(a)) return !1; const l = a.constructor; if (l === void 0) return !0; const i = l.prototype; return !(!Rg(i) || !i.hasOwnProperty("isPrototypeOf") || Object.getPrototypeOf(a) !== Object.prototype) } function Rg(a) { return Object.prototype.toString.call(a) === "[object Object]" } function rj(a) { return new Promise(l => { _l.setTimeout(l, a) }) } function mh(a, l, i) { return typeof i.structuralSharing == "function" ? i.structuralSharing(a, l) : i.structuralSharing !== !1 ? mv(a, l) : l } function cj(a, l, i = 0) { const r = [...a, l]; return i && r.length > i ? r.slice(1) : r } function uj(a, l, i = 0) { const r = [l, ...a]; return i && r.length > i ? r.slice(0, -1) : r } var Vh = Symbol(); function pv(a, l) { return !a.queryFn && (l != null && l.initialPromise) ? () => l.initialPromise : !a.queryFn || a.queryFn === Vh ? () => Promise.reject(new Error(`Missing queryFn: '${a.queryHash}'`)) : a.queryFn } function Zh(a, l) { return typeof a == "function" ? a(...l) : !!a } function dj(a, l, i) { let r = !1, d; return Object.defineProperty(a, "signal", { enumerable: !0, get: () => (d ?? (d = l()), r || (r = !0, d.aborted ? i() : d.addEventListener("abort", i, { once: !0 })), d) }), a } var ir = (() => { let a = () => lj; return { isServer() { return a() }, setIsServer(l) { a = l } } })(); function ph() { let a, l; const i = new Promise((d, f) => { a = d, l = f }); i.status = "pending", i.catch(() => { }); function r(d) { Object.assign(i, d), delete i.resolve, delete i.reject } return i.resolve = d => { r({ status: "fulfilled", value: d }), a(d) }, i.reject = d => { r({ status: "rejected", reason: d }), l(d) }, i } var fj = sj; function hj() { let a = [], l = 0, i = g => { g() }, r = g => { g() }, d = fj; const f = g => { l ? a.push(g) : d(() => { i(g) }) }, h = () => { const g = a; a = [], g.length && d(() => { r(() => { g.forEach(m => { i(m) }) }) }) }; return { batch: g => { let m; l++; try { m = g() } finally { l--, l || h() } return m }, batchCalls: g => (...m) => { f(() => { g(...m) }) }, schedule: f, setNotifyFunction: g => { i = g }, setBatchNotifyFunction: g => { r = g }, setScheduler: g => { d = g } } } var Ot = hj(), Ri, Ms, ki, D1, mj = (D1 = class extends Vi { constructor() { super(); le(this, Ri, !0); le(this, Ms); le(this, ki); J(this, ki, l => { if (typeof window < "u" && window.addEventListener) { const i = () => l(!0), r = () => l(!1); return window.addEventListener("online", i, !1), window.addEventListener("offline", r, !1), () => { window.removeEventListener("online", i), window.removeEventListener("offline", r) } } }) } onSubscribe() { C(this, Ms) || this.setEventListener(C(this, ki)) } onUnsubscribe() { var l; this.hasListeners() || ((l = C(this, Ms)) == null || l.call(this), J(this, Ms, void 0)) } setEventListener(l) { var i; J(this, ki, l), (i = C(this, Ms)) == null || i.call(this), J(this, Ms, l(this.setOnline.bind(this))) } setOnline(l) { C(this, Ri) !== l && (J(this, Ri, l), this.listeners.forEach(r => { r(l) })) } isOnline() { return C(this, Ri) } }, Ri = new WeakMap, Ms = new WeakMap, ki = new WeakMap, D1), ru = new mj; function pj(a) { return Math.min(1e3 * 2 ** a, 3e4) } function gv(a) { return (a ?? "online") === "online" ? ru.isOnline() : !0 } var gh = class extends Error { constructor(a) { super("CancelledError"), this.revert = a == null ? void 0 : a.revert, this.silent = a == null ? void 0 : a.silent } }; function vv(a) { let l = !1, i = 0, r; const d = ph(), f = () => d.status !== "pending", h = w => { var E; if (!f()) { const R = new gh(w); b(R), (E = a.onCancel) == null || E.call(a, R) } }, g = () => { l = !0 }, m = () => { l = !1 }, p = () => Kh.isFocused() && (a.networkMode === "always" || ru.isOnline()) && a.canRun(), y = () => gv(a.networkMode) && a.canRun(), _ = w => { f() || (r == null || r(), d.resolve(w)) }, b = w => { f() || (r == null || r(), d.reject(w)) }, S = () => new Promise(w => { var E; r = R => { (f() || p()) && w(R) }, (E = a.onPause) == null || E.call(a) }).then(() => { var w; r = void 0, f() || (w = a.onContinue) == null || w.call(a) }), j = () => { if (f()) return; let w; const E = i === 0 ? a.initialPromise : void 0; try { w = E ?? a.fn() } catch (R) { w = Promise.reject(R) } Promise.resolve(w).then(_).catch(R => { var V; if (f()) return; const L = a.retry ?? (ir.isServer() ? 0 : 3), B = a.retryDelay ?? pj, P = typeof B == "function" ? B(i, R) : B, G = L === !0 || typeof L == "number" && i < L || typeof L == "function" && L(i, R); if (l || !G) { b(R); return } i++, (V = a.onFail) == null || V.call(a, i, R), rj(P).then(() => p() ? void 0 : S()).then(() => { l ? b(R) : j() }) }) }; return { promise: d, status: () => d.status, cancel: h, continue: () => (r == null || r(), d), cancelRetry: g, continueRetry: m, canStart: y, start: () => (y() ? j() : S().then(j), d) } } var xl, U1, yv = (U1 = class { constructor() { le(this, xl) } destroy() { this.clearGcTimeout() } scheduleGc() { this.clearGcTimeout(), fh(this.gcTime) && J(this, xl, _l.setTimeout(() => { this.optionalRemove() }, this.gcTime)) } updateGcTime(a) { this.gcTime = Math.max(this.gcTime || 0, a ?? (ir.isServer() ? 1 / 0 : 300 * 1e3)) } clearGcTimeout() { C(this, xl) !== void 0 && (_l.clearTimeout(C(this, xl)), J(this, xl, void 0)) } }, xl = new WeakMap, U1); function gj(a) { return { onFetch: (l, i) => { var y, _, b, S, j; const r = l.options, d = (b = (_ = (y = l.fetchOptions) == null ? void 0 : y.meta) == null ? void 0 : _.fetchMore) == null ? void 0 : b.direction, f = ((S = l.state.data) == null ? void 0 : S.pages) || [], h = ((j = l.state.data) == null ? void 0 : j.pageParams) || []; let g = { pages: [], pageParams: [] }, m = 0; const p = async () => { let w = !1; const E = B => { dj(B, () => l.signal, () => w = !0) }, R = pv(l.options, l.fetchOptions), L = async (B, P, G) => { if (w) return Promise.reject(l.signal.reason); if (P == null && B.pages.length) return Promise.resolve(B); const D = (() => { const ce = { client: l.client, queryKey: l.queryKey, pageParam: P, direction: G ? "backward" : "forward", meta: l.options.meta }; return E(ce), ce })(), K = await R(D), { maxPages: ee } = l.options, re = G ? uj : cj; return { pages: re(B.pages, K, ee), pageParams: re(B.pageParams, P, ee) } }; if (d && f.length) { const B = d === "backward", P = B ? _v : vh, G = { pages: f, pageParams: h }, V = P(r, G); g = await L(G, V, B) } else { const B = a ?? f.length; do { const P = m === 0 ? h[0] ?? r.initialPageParam : vh(r, g); if (m > 0 && P == null) break; g = await L(g, P), m++ } while (m < B) } return g }; l.options.persister ? l.fetchFn = () => { var w, E; return (E = (w = l.options).persister) == null ? void 0 : E.call(w, p, { client: l.client, queryKey: l.queryKey, meta: l.options.meta, signal: l.signal }, i) } : l.fetchFn = p } } } function vh(a, { pages: l, pageParams: i }) { const r = l.length - 1; return l.length > 0 ? a.getNextPageParam(l[r], l, i[r], i) : void 0 } function _v(a, { pages: l, pageParams: i }) { var r; return l.length > 0 ? (r = a.getPreviousPageParam) == null ? void 0 : r.call(a, l[0], l, i[0], i) : void 0 } function vj(a, l) { return l ? vh(a, l) != null : !1 } function yj(a, l) { return !l || !a.getPreviousPageParam ? !1 : _v(a, l) != null } var Bi, Al, Oi, Vn, Sl, Ut, ur, jl, Bn, bv, Ga, H1, _j = (H1 = class extends yv { constructor(l) { super(); le(this, Bn); le(this, Bi); le(this, Al); le(this, Oi); le(this, Vn); le(this, Sl); le(this, Ut); le(this, ur); le(this, jl); J(this, jl, !1), J(this, ur, l.defaultOptions), this.setOptions(l.options), this.observers = [], J(this, Sl, l.client), J(this, Vn, C(this, Sl).getQueryCache()), this.queryKey = l.queryKey, this.queryHash = l.queryHash, J(this, Al, Bg(this.options)), this.state = l.state ?? C(this, Al), this.scheduleGc() } get meta() { return this.options.meta } get queryType() { return C(this, Bi) } get promise() { var l; return (l = C(this, Ut)) == null ? void 0 : l.promise } setOptions(l) { if (this.options = { ...C(this, ur), ...l }, l != null && l._type && J(this, Bi, l._type), this.updateGcTime(this.options.gcTime), this.state && this.state.data === void 0) { const i = Bg(this.options); i.data !== void 0 && (this.setState(kg(i.data, i.dataUpdatedAt)), J(this, Al, i)) } } optionalRemove() { !this.observers.length && this.state.fetchStatus === "idle" && C(this, Vn).remove(this) } setData(l, i) { const r = mh(this.state.data, l, this.options); return we(this, Bn, Ga).call(this, { data: r, type: "success", dataUpdatedAt: i == null ? void 0 : i.updatedAt, manual: i == null ? void 0 : i.manual }), r } setState(l) { we(this, Bn, Ga).call(this, { type: "setState", state: l }) } cancel(l) { var r, d; const i = (r = C(this, Ut)) == null ? void 0 : r.promise; return (d = C(this, Ut)) == null || d.cancel(l), i ? i.then(tn).catch(tn) : Promise.resolve() } destroy() { super.destroy(), this.cancel({ silent: !0 }) } get resetState() { return C(this, Al) } reset() { this.destroy(), this.setState(this.resetState) } isActive() { return this.observers.some(l => On(l.options.enabled, this) !== !1) } isDisabled() { return this.getObserversCount() > 0 ? !this.isActive() : this.options.queryFn === Vh || !this.isFetched() } isFetched() { return this.state.dataUpdateCount + this.state.errorUpdateCount > 0 } isStatic() { return this.getObserversCount() > 0 ? this.observers.some(l => Fs(l.options.staleTime, this) === "static") : !1 } isStale() { return this.getObserversCount() > 0 ? this.observers.some(l => l.getCurrentResult().isStale) : this.state.data === void 0 || this.state.isInvalidated } isStaleByTime(l = 0) { return this.state.data === void 0 ? !0 : l === "static" ? !1 : this.state.isInvalidated ? !0 : !hv(this.state.dataUpdatedAt, l) } onFocus() { var i; const l = this.observers.find(r => r.shouldFetchOnWindowFocus()); l == null || l.refetch({ cancelRefetch: !1 }), (i = C(this, Ut)) == null || i.continue() } onOnline() { var i; const l = this.observers.find(r => r.shouldFetchOnReconnect()); l == null || l.refetch({ cancelRefetch: !1 }), (i = C(this, Ut)) == null || i.continue() } addObserver(l) { this.observers.includes(l) || (this.observers.push(l), this.clearGcTimeout(), C(this, Vn).notify({ type: "observerAdded", query: this, observer: l })) } removeObserver(l) { this.observers.includes(l) && (this.observers = this.observers.filter(i => i !== l), this.observers.length || (C(this, Ut) && (C(this, jl) || we(this, Bn, bv).call(this) ? C(this, Ut).cancel({ revert: !0 }) : C(this, Ut).cancelRetry()), this.scheduleGc()), C(this, Vn).notify({ type: "observerRemoved", query: this, observer: l })) } getObserversCount() { return this.observers.length } invalidate() { this.state.isInvalidated || we(this, Bn, Ga).call(this, { type: "invalidate" }) } async fetch(l, i) { var p, y, _, b, S, j, w, E, R, L, B; if (this.state.fetchStatus !== "idle" && ((p = C(this, Ut)) == null ? void 0 : p.status()) !== "rejected") { if (this.state.data !== void 0 && (i != null && i.cancelRefetch)) this.cancel({ silent: !0 }); else if (C(this, Ut)) return C(this, Ut).continueRetry(), C(this, Ut).promise } if (l && this.setOptions(l), !this.options.queryFn) { const P = this.observers.find(G => G.options.queryFn); P && this.setOptions(P.options) } const r = new AbortController, d = P => { Object.defineProperty(P, "signal", { enumerable: !0, get: () => (J(this, jl, !0), r.signal) }) }, f = () => { const P = pv(this.options, i), V = (() => { const D = { client: C(this, Sl), queryKey: this.queryKey, meta: this.meta }; return d(D), D })(); return J(this, jl, !1), this.options.persister ? this.options.persister(P, V, this) : P(V) }, g = (() => { const P = { fetchOptions: i, options: this.options, queryKey: this.queryKey, client: C(this, Sl), state: this.state, fetchFn: f }; return d(P), P })(), m = C(this, Bi) === "infinite" ? gj(this.options.pages) : this.options.behavior; m == null || m.onFetch(g, this), J(this, Oi, this.state), (this.state.fetchStatus === "idle" || this.state.fetchMeta !== ((y = g.fetchOptions) == null ? void 0 : y.meta)) && we(this, Bn, Ga).call(this, { type: "fetch", meta: (_ = g.fetchOptions) == null ? void 0 : _.meta }), J(this, Ut, vv({ initialPromise: i == null ? void 0 : i.initialPromise, fn: g.fetchFn, onCancel: P => { P instanceof gh && P.revert && this.setState({ ...C(this, Oi), fetchStatus: "idle" }), r.abort() }, onFail: (P, G) => { we(this, Bn, Ga).call(this, { type: "failed", failureCount: P, error: G }) }, onPause: () => { we(this, Bn, Ga).call(this, { type: "pause" }) }, onContinue: () => { we(this, Bn, Ga).call(this, { type: "continue" }) }, retry: g.options.retry, retryDelay: g.options.retryDelay, networkMode: g.options.networkMode, canRun: () => !0 })); try { const P = await C(this, Ut).start(); if (P === void 0) throw new Error(`${this.queryHash} data is undefined`); return this.setData(P), (S = (b = C(this, Vn).config).onSuccess) == null || S.call(b, P, this), (w = (j = C(this, Vn).config).onSettled) == null || w.call(j, P, this.state.error, this), P } catch (P) { if (P instanceof gh) { if (P.silent) return C(this, Ut).promise; if (P.revert) { if (this.state.data === void 0) throw P; return this.state.data } } throw we(this, Bn, Ga).call(this, { type: "error", error: P }), (R = (E = C(this, Vn).config).onError) == null || R.call(E, P, this), (B = (L = C(this, Vn).config).onSettled) == null || B.call(L, this.state.data, P, this), P } finally { this.scheduleGc() } } }, Bi = new WeakMap, Al = new WeakMap, Oi = new WeakMap, Vn = new WeakMap, Sl = new WeakMap, Ut = new WeakMap, ur = new WeakMap, jl = new WeakMap, Bn = new WeakSet, bv = function () { return this.state.fetchStatus === "paused" && this.state.status === "pending" }, Ga = function (l) { const i = r => { switch (l.type) { case "failed": return { ...r, fetchFailureCount: l.failureCount, fetchFailureReason: l.error }; case "pause": return { ...r, fetchStatus: "paused" }; case "continue": return { ...r, fetchStatus: "fetching" }; case "fetch": return { ...r, ...xv(r.data, this.options), fetchMeta: l.meta ?? null }; case "success": const d = { ...r, ...kg(l.data, l.dataUpdatedAt), dataUpdateCount: r.dataUpdateCount + 1, ...!l.manual && { fetchStatus: "idle", fetchFailureCount: 0, fetchFailureReason: null } }; return J(this, Oi, l.manual ? d : void 0), d; case "error": const f = l.error; return { ...r, error: f, errorUpdateCount: r.errorUpdateCount + 1, errorUpdatedAt: Date.now(), fetchFailureCount: r.fetchFailureCount + 1, fetchFailureReason: f, fetchStatus: "idle", status: "error", isInvalidated: !0 }; case "invalidate": return { ...r, isInvalidated: !0 }; case "setState": return { ...r, ...l.state } } }; this.state = i(this.state), Ot.batch(() => { this.observers.forEach(r => { r.onQueryUpdate() }), C(this, Vn).notify({ query: this, type: "updated", action: l }) }) }, H1); function xv(a, l) { return { fetchFailureCount: 0, fetchFailureReason: null, fetchStatus: gv(l.networkMode) ? "fetching" : "paused", ...a === void 0 && { error: null, status: "pending" } } } function kg(a, l) { return { data: a, dataUpdatedAt: l ?? Date.now(), error: null, isInvalidated: !1, status: "success" } } function Bg(a) { const l = typeof a.initialData == "function" ? a.initialData() : a.initialData, i = l !== void 0, r = i ? typeof a.initialDataUpdatedAt == "function" ? a.initialDataUpdatedAt() : a.initialDataUpdatedAt : 0; return { data: l, dataUpdateCount: 0, dataUpdatedAt: i ? r ?? Date.now() : 0, error: null, errorUpdateCount: 0, errorUpdatedAt: 0, fetchFailureCount: 0, fetchFailureReason: null, fetchMeta: null, isInvalidated: !1, status: i ? "success" : "pending", fetchStatus: "idle" } } var mn, ze, dr, en, wl, Li, Ka, zs, fr, Mi, zi, El, Nl, Ds, Di, Ge, tr, yh, _h, bh, xh, Ah, Sh, jh, Sv, q1, Av = (q1 = class extends Vi { constructor(l, i) { super(); le(this, Ge); le(this, mn); le(this, ze); le(this, dr); le(this, en); le(this, wl); le(this, Li); le(this, Ka); le(this, zs); le(this, fr); le(this, Mi); le(this, zi); le(this, El); le(this, Nl); le(this, Ds); le(this, Di, new Set); this.options = i, J(this, mn, l), J(this, zs, null), J(this, Ka, ph()), this.bindMethods(), this.setOptions(i) } bindMethods() { this.refetch = this.refetch.bind(this) } onSubscribe() { this.listeners.size === 1 && (C(this, ze).addObserver(this), Og(C(this, ze), this.options) ? we(this, Ge, tr).call(this) : this.updateResult(), we(this, Ge, xh).call(this)) } onUnsubscribe() { this.hasListeners() || this.destroy() } shouldFetchOnReconnect() { return wh(C(this, ze), this.options, this.options.refetchOnReconnect) } shouldFetchOnWindowFocus() { return wh(C(this, ze), this.options, this.options.refetchOnWindowFocus) } destroy() { this.listeners = new Set, we(this, Ge, Ah).call(this), we(this, Ge, Sh).call(this), C(this, ze).removeObserver(this) } setOptions(l) { const i = this.options, r = C(this, ze); if (this.options = C(this, mn).defaultQueryOptions(l), this.options.enabled !== void 0 && typeof this.options.enabled != "boolean" && typeof this.options.enabled != "function" && typeof On(this.options.enabled, C(this, ze)) != "boolean") throw new Error("Expected enabled to be a boolean or a callback that returns a boolean"); we(this, Ge, jh).call(this), C(this, ze).setOptions(this.options), i._defaulted && !ou(this.options, i) && C(this, mn).getQueryCache().notify({ type: "observerOptionsUpdated", query: C(this, ze), observer: this }); const d = this.hasListeners(); d && Lg(C(this, ze), r, this.options, i) && we(this, Ge, tr).call(this), this.updateResult(), d && (C(this, ze) !== r || On(this.options.enabled, C(this, ze)) !== On(i.enabled, C(this, ze)) || Fs(this.options.staleTime, C(this, ze)) !== Fs(i.staleTime, C(this, ze))) && we(this, Ge, yh).call(this); const f = we(this, Ge, _h).call(this); d && (C(this, ze) !== r || On(this.options.enabled, C(this, ze)) !== On(i.enabled, C(this, ze)) || f !== C(this, Ds)) && we(this, Ge, bh).call(this, f) } getOptimisticResult(l) { const i = C(this, mn).getQueryCache().build(C(this, mn), l), r = this.createResult(i, l); return xj(this, r) && (J(this, en, r), J(this, Li, this.options), J(this, wl, C(this, ze).state)), r } getCurrentResult() { return C(this, en) } trackResult(l, i) { return new Proxy(l, { get: (r, d) => (this.trackProp(d), i == null || i(d), d === "promise" && (this.trackProp("data"), !this.options.experimental_prefetchInRender && C(this, Ka).status === "pending" && C(this, Ka).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))), Reflect.get(r, d)) }) } trackProp(l) { C(this, Di).add(l) } getCurrentQuery() { return C(this, ze) } refetch({ ...l } = {}) { return this.fetch({ ...l }) } fetchOptimistic(l) { const i = C(this, mn).defaultQueryOptions(l), r = C(this, mn).getQueryCache().build(C(this, mn), i); return r.fetch().then(() => this.createResult(r, i)) } fetch(l) { return we(this, Ge, tr).call(this, { ...l, cancelRefetch: l.cancelRefetch ?? !0 }).then(() => (this.updateResult(), C(this, en))) } createResult(l, i) { var ee; const r = C(this, ze), d = this.options, f = C(this, en), h = C(this, wl), g = C(this, Li), p = l !== r ? l.state : C(this, dr), { state: y } = l; let _ = { ...y }, b = !1, S; if (i._optimisticResults) { const re = this.hasListeners(), ce = !re && Og(l, i), ie = re && Lg(l, r, i, d); (ce || ie) && (_ = { ..._, ...xv(y.data, l.options) }), i._optimisticResults === "isRestoring" && (_.fetchStatus = "idle") } let { error: j, errorUpdatedAt: w, status: E } = _; S = _.data; let R = !1; if (i.placeholderData !== void 0 && S === void 0 && E === "pending") { let re; f != null && f.isPlaceholderData && i.placeholderData === (g == null ? void 0 : g.placeholderData) ? (re = f.data, R = !0) : re = typeof i.placeholderData == "function" ? i.placeholderData((ee = C(this, zi)) == null ? void 0 : ee.state.data, C(this, zi)) : i.placeholderData, re !== void 0 && (E = "success", S = mh(f == null ? void 0 : f.data, re, i), b = !0) } if (i.select && S !== void 0 && !R) if (f && S === (h == null ? void 0 : h.data) && i.select === C(this, fr)) S = C(this, Mi); else try { J(this, fr, i.select), S = i.select(S), S = mh(f == null ? void 0 : f.data, S, i), J(this, Mi, S), J(this, zs, null) } catch (re) { J(this, zs, re) } C(this, zs) && (j = C(this, zs), S = C(this, Mi), w = Date.now(), E = "error"); const L = _.fetchStatus === "fetching", B = E === "pending", P = E === "error", G = B && L, V = S !== void 0, K = { status: E, fetchStatus: _.fetchStatus, isPending: B, isSuccess: E === "success", isError: P, isInitialLoading: G, isLoading: G, data: S, dataUpdatedAt: _.dataUpdatedAt, error: j, errorUpdatedAt: w, failureCount: _.fetchFailureCount, failureReason: _.fetchFailureReason, errorUpdateCount: _.errorUpdateCount, isFetched: l.isFetched(), isFetchedAfterMount: _.dataUpdateCount > p.dataUpdateCount || _.errorUpdateCount > p.errorUpdateCount, isFetching: L, isRefetching: L && !B, isLoadingError: P && !V, isPaused: _.fetchStatus === "paused", isPlaceholderData: b, isRefetchError: P && V, isStale: Wh(l, i), refetch: this.refetch, promise: C(this, Ka), isEnabled: On(i.enabled, l) !== !1 }; if (this.options.experimental_prefetchInRender) { const re = K.data !== void 0, ce = K.status === "error" && !re, ie = ve => { ce ? ve.reject(K.error) : re && ve.resolve(K.data) }, te = () => { const ve = J(this, Ka, K.promise = ph()); ie(ve) }, pe = C(this, Ka); switch (pe.status) { case "pending": l.queryHash === r.queryHash && ie(pe); break; case "fulfilled": (ce || K.data !== pe.value) && te(); break; case "rejected": (!ce || K.error !== pe.reason) && te(); break } } return K } updateResult() { const l = C(this, en), i = this.createResult(C(this, ze), this.options); if (J(this, wl, C(this, ze).state), J(this, Li, this.options), C(this, wl).data !== void 0 && J(this, zi, C(this, ze)), ou(i, l)) return; J(this, en, i); const r = () => { if (!l) return !0; const { notifyOnChangeProps: d } = this.options, f = typeof d == "function" ? d() : d; if (f === "all" || !f && !C(this, Di).size) return !0; const h = new Set(f ?? C(this, Di)); return this.options.throwOnError && h.add("error"), Object.keys(C(this, en)).some(g => { const m = g; return C(this, en)[m] !== l[m] && h.has(m) }) }; we(this, Ge, Sv).call(this, { listeners: r() }) } onQueryUpdate() { this.updateResult(), this.hasListeners() && we(this, Ge, xh).call(this) } }, mn = new WeakMap, ze = new WeakMap, dr = new WeakMap, en = new WeakMap, wl = new WeakMap, Li = new WeakMap, Ka = new WeakMap, zs = new WeakMap, fr = new WeakMap, Mi = new WeakMap, zi = new WeakMap, El = new WeakMap, Nl = new WeakMap, Ds = new WeakMap, Di = new WeakMap, Ge = new WeakSet, tr = function (l) { we(this, Ge, jh).call(this); let i = C(this, ze).fetch(this.options, l); return l != null && l.throwOnError || (i = i.catch(tn)), i }, yh = function () { we(this, Ge, Ah).call(this); const l = Fs(this.options.staleTime, C(this, ze)); if (ir.isServer() || C(this, en).isStale || !fh(l)) return; const r = hv(C(this, en).dataUpdatedAt, l) + 1; J(this, El, _l.setTimeout(() => { C(this, en).isStale || this.updateResult() }, r)) }, _h = function () { return (typeof this.options.refetchInterval == "function" ? this.options.refetchInterval(C(this, ze)) : this.options.refetchInterval) ?? !1 }, bh = function (l) { we(this, Ge, Sh).call(this), J(this, Ds, l), !(ir.isServer() || On(this.options.enabled, C(this, ze)) === !1 || !fh(C(this, Ds)) || C(this, Ds) === 0) && J(this, Nl, _l.setInterval(() => { (this.options.refetchIntervalInBackground || Kh.isFocused()) && we(this, Ge, tr).call(this) }, C(this, Ds))) }, xh = function () { we(this, Ge, yh).call(this), we(this, Ge, bh).call(this, we(this, Ge, _h).call(this)) }, Ah = function () { C(this, El) !== void 0 && (_l.clearTimeout(C(this, El)), J(this, El, void 0)) }, Sh = function () { C(this, Nl) !== void 0 && (_l.clearInterval(C(this, Nl)), J(this, Nl, void 0)) }, jh = function () { const l = C(this, mn).getQueryCache().build(C(this, mn), this.options); if (l === C(this, ze)) return; const i = C(this, ze); J(this, ze, l), J(this, dr, l.state), this.hasListeners() && (i == null || i.removeObserver(this), l.addObserver(this)) }, Sv = function (l) { Ot.batch(() => { l.listeners && this.listeners.forEach(i => { i(C(this, en)) }), C(this, mn).getQueryCache().notify({ query: C(this, ze), type: "observerResultsUpdated" }) }) }, q1); function bj(a, l) { return On(l.enabled, a) !== !1 && a.state.data === void 0 && !(a.state.status === "error" && On(l.retryOnMount, a) === !1) } function Og(a, l) { return bj(a, l) || a.state.data !== void 0 && wh(a, l, l.refetchOnMount) } function wh(a, l, i) { if (On(l.enabled, a) !== !1 && Fs(l.staleTime, a) !== "static") { const r = typeof i == "function" ? i(a) : i; return r === "always" || r !== !1 && Wh(a, l) } return !1 } function Lg(a, l, i, r) { return (a !== l || On(r.enabled, a) === !1) && (!i.suspense || a.state.status !== "error") && Wh(a, i) } function Wh(a, l) { return On(l.enabled, a) !== !1 && a.isStaleByTime(Fs(l.staleTime, a)) } function xj(a, l) { return !ou(a.getCurrentResult(), l) } var Aj = class extends Av { constructor(a, l) { super(a, l) } bindMethods() { super.bindMethods(), this.fetchNextPage = this.fetchNextPage.bind(this), this.fetchPreviousPage = this.fetchPreviousPage.bind(this) } setOptions(a) { a._type = "infinite", super.setOptions(a) } getOptimisticResult(a) { return a._type = "infinite", super.getOptimisticResult(a) } fetchNextPage(a) { return this.fetch({ ...a, meta: { fetchMore: { direction: "forward" } } }) } fetchPreviousPage(a) { return this.fetch({ ...a, meta: { fetchMore: { direction: "backward" } } }) } createResult(a, l) { var j, w; const { state: i } = a, r = super.createResult(a, l), { isFetching: d, isRefetching: f, isError: h, isRefetchError: g } = r, m = (w = (j = i.fetchMeta) == null ? void 0 : j.fetchMore) == null ? void 0 : w.direction, p = h && m === "forward", y = d && m === "forward", _ = h && m === "backward", b = d && m === "backward"; return { ...r, fetchNextPage: this.fetchNextPage, fetchPreviousPage: this.fetchPreviousPage, hasNextPage: vj(l, i.data), hasPreviousPage: yj(l, i.data), isFetchNextPageError: p, isFetchingNextPage: y, isFetchPreviousPageError: _, isFetchingPreviousPage: b, isRefetchError: g && !p && !_, isRefetching: f && !y && !b } } }, hr, va, Xt, Cl, ya, Bs, P1, Sj = (P1 = class extends yv { constructor(l) { super(); le(this, ya); le(this, hr); le(this, va); le(this, Xt); le(this, Cl); J(this, hr, l.client), this.mutationId = l.mutationId, J(this, Xt, l.mutationCache), J(this, va, []), this.state = l.state || jv(), this.setOptions(l.options), this.scheduleGc() } setOptions(l) { this.options = l, this.updateGcTime(this.options.gcTime) } get meta() { return this.options.meta } addObserver(l) { C(this, va).includes(l) || (C(this, va).push(l), this.clearGcTimeout(), C(this, Xt).notify({ type: "observerAdded", mutation: this, observer: l })) } removeObserver(l) { J(this, va, C(this, va).filter(i => i !== l)), this.scheduleGc(), C(this, Xt).notify({ type: "observerRemoved", mutation: this, observer: l }) } optionalRemove() { C(this, va).length || (this.state.status === "pending" ? this.scheduleGc() : C(this, Xt).remove(this)) } continue() { var l; return ((l = C(this, Cl)) == null ? void 0 : l.continue()) ?? this.execute(this.state.variables) } async execute(l) { var h, g, m, p, y, _, b, S, j, w, E, R, L, B, P, G, V, D; const i = () => { we(this, ya, Bs).call(this, { type: "continue" }) }, r = { client: C(this, hr), meta: this.options.meta, mutationKey: this.options.mutationKey }; J(this, Cl, vv({ fn: () => this.options.mutationFn ? this.options.mutationFn(l, r) : Promise.reject(new Error("No mutationFn found")), onFail: (K, ee) => { we(this, ya, Bs).call(this, { type: "failed", failureCount: K, error: ee }) }, onPause: () => { we(this, ya, Bs).call(this, { type: "pause" }) }, onContinue: i, retry: this.options.retry ?? 0, retryDelay: this.options.retryDelay, networkMode: this.options.networkMode, canRun: () => C(this, Xt).canRun(this) })); const d = this.state.status === "pending", f = !C(this, Cl).canStart(); try { if (d) i(); else { we(this, ya, Bs).call(this, { type: "pending", variables: l, isPaused: f }), C(this, Xt).config.onMutate && await C(this, Xt).config.onMutate(l, this, r); const ee = await ((g = (h = this.options).onMutate) == null ? void 0 : g.call(h, l, r)); ee !== this.state.context && we(this, ya, Bs).call(this, { type: "pending", context: ee, variables: l, isPaused: f }) } const K = await C(this, Cl).start(); return await ((p = (m = C(this, Xt).config).onSuccess) == null ? void 0 : p.call(m, K, l, this.state.context, this, r)), await ((_ = (y = this.options).onSuccess) == null ? void 0 : _.call(y, K, l, this.state.context, r)), await ((S = (b = C(this, Xt).config).onSettled) == null ? void 0 : S.call(b, K, null, this.state.variables, this.state.context, this, r)), await ((w = (j = this.options).onSettled) == null ? void 0 : w.call(j, K, null, l, this.state.context, r)), we(this, ya, Bs).call(this, { type: "success", data: K }), K } catch (K) { try { await ((R = (E = C(this, Xt).config).onError) == null ? void 0 : R.call(E, K, l, this.state.context, this, r)) } catch (ee) { Promise.reject(ee) } try { await ((B = (L = this.options).onError) == null ? void 0 : B.call(L, K, l, this.state.context, r)) } catch (ee) { Promise.reject(ee) } try { await ((G = (P = C(this, Xt).config).onSettled) == null ? void 0 : G.call(P, void 0, K, this.state.variables, this.state.context, this, r)) } catch (ee) { Promise.reject(ee) } try { await ((D = (V = this.options).onSettled) == null ? void 0 : D.call(V, void 0, K, l, this.state.context, r)) } catch (ee) { Promise.reject(ee) } throw we(this, ya, Bs).call(this, { type: "error", error: K }), K } finally { C(this, Xt).runNext(this) } } }, hr = new WeakMap, va = new WeakMap, Xt = new WeakMap, Cl = new WeakMap, ya = new WeakSet, Bs = function (l) { const i = r => { switch (l.type) { case "failed": return { ...r, failureCount: l.failureCount, failureReason: l.error }; case "pause": return { ...r, isPaused: !0 }; case "continue": return { ...r, isPaused: !1 }; case "pending": return { ...r, context: l.context, data: void 0, failureCount: 0, failureReason: null, error: null, isPaused: l.isPaused, status: "pending", variables: l.variables, submittedAt: Date.now() }; case "success": return { ...r, data: l.data, failureCount: 0, failureReason: null, error: null, status: "success", isPaused: !1 }; case "error": return { ...r, data: void 0, error: l.error, failureCount: r.failureCount + 1, failureReason: l.error, isPaused: !1, status: "error" } } }; this.state = i(this.state), Ot.batch(() => { C(this, va).forEach(r => { r.onMutationUpdate(l) }), C(this, Xt).notify({ mutation: this, type: "updated", action: l }) }) }, P1); function jv() { return { context: void 0, data: void 0, error: null, failureCount: 0, failureReason: null, isPaused: !1, status: "idle", variables: void 0, submittedAt: 0 } } var Xa, la, mr, Q1, jj = (Q1 = class extends Vi { constructor(l = {}) { super(); le(this, Xa); le(this, la); le(this, mr); this.config = l, J(this, Xa, new Set), J(this, la, new Map), J(this, mr, 0) } build(l, i, r) { const d = new Sj({ client: l, mutationCache: this, mutationId: ++Hc(this, mr)._, options: l.defaultMutationOptions(i), state: r }); return this.add(d), d } add(l) { C(this, Xa).add(l); const i = Qc(l); if (typeof i == "string") { const r = C(this, la).get(i); r ? r.push(l) : C(this, la).set(i, [l]) } this.notify({ type: "added", mutation: l }) } remove(l) { if (C(this, Xa).delete(l)) { const i = Qc(l); if (typeof i == "string") { const r = C(this, la).get(i); if (r) if (r.length > 1) { const d = r.indexOf(l); d !== -1 && r.splice(d, 1) } else r[0] === l && C(this, la).delete(i) } } this.notify({ type: "removed", mutation: l }) } canRun(l) { const i = Qc(l); if (typeof i == "string") { const r = C(this, la).get(i), d = r == null ? void 0 : r.find(f => f.state.status === "pending"); return !d || d === l } else return !0 } runNext(l) { var r; const i = Qc(l); if (typeof i == "string") { const d = (r = C(this, la).get(i)) == null ? void 0 : r.find(f => f !== l && f.state.isPaused); return (d == null ? void 0 : d.continue()) ?? Promise.resolve() } else return Promise.resolve() } clear() { Ot.batch(() => { C(this, Xa).forEach(l => { this.notify({ type: "removed", mutation: l }) }), C(this, Xa).clear(), C(this, la).clear() }) } getAll() { return Array.from(C(this, Xa)) } find(l) { const i = { exact: !0, ...l }; return this.getAll().find(r => Cg(i, r)) } findAll(l = {}) { return this.getAll().filter(i => Cg(l, i)) } notify(l) { Ot.batch(() => { this.listeners.forEach(i => { i(l) }) }) } resumePausedMutations() { const l = this.getAll().filter(i => i.state.isPaused); return Ot.batch(() => Promise.all(l.map(i => i.continue().catch(tn)))) } }, Xa = new WeakMap, la = new WeakMap, mr = new WeakMap, Q1); function Qc(a) { var l; return (l = a.options.scope) == null ? void 0 : l.id } var Va, Us, pn, Za, Wa, tu, Eh, F1, wj = (F1 = class extends Vi { constructor(i, r) { super(); le(this, Wa); le(this, Va); le(this, Us); le(this, pn); le(this, Za); J(this, Va, i), this.setOptions(r), this.bindMethods(), we(this, Wa, tu).call(this) } bindMethods() { this.mutate = this.mutate.bind(this), this.reset = this.reset.bind(this) } setOptions(i) { var d; const r = this.options; this.options = C(this, Va).defaultMutationOptions(i), ou(this.options, r) || C(this, Va).getMutationCache().notify({ type: "observerOptionsUpdated", mutation: C(this, pn), observer: this }), r != null && r.mutationKey && this.options.mutationKey && Bl(r.mutationKey) !== Bl(this.options.mutationKey) ? this.reset() : ((d = C(this, pn)) == null ? void 0 : d.state.status) === "pending" && C(this, pn).setOptions(this.options) } onUnsubscribe() { var i; this.hasListeners() || (i = C(this, pn)) == null || i.removeObserver(this) } onMutationUpdate(i) { we(this, Wa, tu).call(this), we(this, Wa, Eh).call(this, i) } getCurrentResult() { return C(this, Us) } reset() { var i; (i = C(this, pn)) == null || i.removeObserver(this), J(this, pn, void 0), we(this, Wa, tu).call(this), we(this, Wa, Eh).call(this) } mutate(i, r) { var d; return J(this, Za, r), (d = C(this, pn)) == null || d.removeObserver(this), J(this, pn, C(this, Va).getMutationCache().build(C(this, Va), this.options)), C(this, pn).addObserver(this), C(this, pn).execute(i) } }, Va = new WeakMap, Us = new WeakMap, pn = new WeakMap, Za = new WeakMap, Wa = new WeakSet, tu = function () { var r; const i = ((r = C(this, pn)) == null ? void 0 : r.state) ?? jv(); J(this, Us, { ...i, isPending: i.status === "pending", isSuccess: i.status === "success", isError: i.status === "error", isIdle: i.status === "idle", mutate: this.mutate, reset: this.reset }) }, Eh = function (i) { Ot.batch(() => { var r, d, f, h, g, m, p, y; if (C(this, Za) && this.hasListeners()) { const _ = C(this, Us).variables, b = C(this, Us).context, S = { client: C(this, Va), meta: this.options.meta, mutationKey: this.options.mutationKey }; if ((i == null ? void 0 : i.type) === "success") { try { (d = (r = C(this, Za)).onSuccess) == null || d.call(r, i.data, _, b, S) } catch (j) { Promise.reject(j) } try { (h = (f = C(this, Za)).onSettled) == null || h.call(f, i.data, null, _, b, S) } catch (j) { Promise.reject(j) } } else if ((i == null ? void 0 : i.type) === "error") { try { (m = (g = C(this, Za)).onError) == null || m.call(g, i.error, _, b, S) } catch (j) { Promise.reject(j) } try { (y = (p = C(this, Za)).onSettled) == null || y.call(p, void 0, i.error, _, b, S) } catch (j) { Promise.reject(j) } } } this.listeners.forEach(_ => { _(C(this, Us)) }) }) }, F1), _a, Y1, Ej = (Y1 = class extends Vi { constructor(l = {}) { super(); le(this, _a); this.config = l, J(this, _a, new Map) } build(l, i, r) { const d = i.queryKey, f = i.queryHash ?? Xh(d, i); let h = this.get(f); return h || (h = new _j({ client: l, queryKey: d, queryHash: f, options: l.defaultQueryOptions(i), state: r, defaultOptions: l.getQueryDefaults(d) }), this.add(h)), h } add(l) { C(this, _a).has(l.queryHash) || (C(this, _a).set(l.queryHash, l), this.notify({ type: "added", query: l })) } remove(l) { const i = C(this, _a).get(l.queryHash); i && (l.destroy(), i === l && C(this, _a).delete(l.queryHash), this.notify({ type: "removed", query: l })) } clear() { Ot.batch(() => { this.getAll().forEach(l => { this.remove(l) }) }) } get(l) { return C(this, _a).get(l) } getAll() { return [...C(this, _a).values()] } find(l) { const i = { exact: !0, ...l }; return this.getAll().find(r => Ng(i, r)) } findAll(l = {}) { const i = this.getAll(); return Object.keys(l).length > 0 ? i.filter(r => Ng(l, r)) : i } notify(l) { Ot.batch(() => { this.listeners.forEach(i => { i(l) }) }) } onFocus() { Ot.batch(() => { this.getAll().forEach(l => { l.onFocus() }) }) } onOnline() { Ot.batch(() => { this.getAll().forEach(l => { l.onOnline() }) }) } }, _a = new WeakMap, Y1), vt, Hs, qs, Ui, Hi, Ps, qi, Pi, I1, Nj = (I1 = class { constructor(a = {}) { le(this, vt); le(this, Hs); le(this, qs); le(this, Ui); le(this, Hi); le(this, Ps); le(this, qi); le(this, Pi); J(this, vt, a.queryCache || new Ej), J(this, Hs, a.mutationCache || new jj), J(this, qs, a.defaultOptions || {}), J(this, Ui, new Map), J(this, Hi, new Map), J(this, Ps, 0) } mount() { Hc(this, Ps)._++, C(this, Ps) === 1 && (J(this, qi, Kh.subscribe(async a => { a && (await this.resumePausedMutations(), C(this, vt).onFocus()) })), J(this, Pi, ru.subscribe(async a => { a && (await this.resumePausedMutations(), C(this, vt).onOnline()) }))) } unmount() { var a, l; Hc(this, Ps)._--, C(this, Ps) === 0 && ((a = C(this, qi)) == null || a.call(this), J(this, qi, void 0), (l = C(this, Pi)) == null || l.call(this), J(this, Pi, void 0)) } isFetching(a) { return C(this, vt).findAll({ ...a, fetchStatus: "fetching" }).length } isMutating(a) { return C(this, Hs).findAll({ ...a, status: "pending" }).length } getQueryData(a) { var i; const l = this.defaultQueryOptions({ queryKey: a }); return (i = C(this, vt).get(l.queryHash)) == null ? void 0 : i.state.data } ensureQueryData(a) { const l = this.defaultQueryOptions(a), i = C(this, vt).build(this, l), r = i.state.data; return r === void 0 ? this.fetchQuery(a) : (a.revalidateIfStale && i.isStaleByTime(Fs(l.staleTime, i)) && this.prefetchQuery(l), Promise.resolve(r)) } getQueriesData(a) { return C(this, vt).findAll(a).map(({ queryKey: l, state: i }) => { const r = i.data; return [l, r] }) } setQueryData(a, l, i) { const r = this.defaultQueryOptions({ queryKey: a }), d = C(this, vt).get(r.queryHash), f = d == null ? void 0 : d.state.data, h = ij(l, f); if (h !== void 0) return C(this, vt).build(this, r).setData(h, { ...i, manual: !0 }) } setQueriesData(a, l, i) { return Ot.batch(() => C(this, vt).findAll(a).map(({ queryKey: r }) => [r, this.setQueryData(r, l, i)])) } getQueryState(a) { var i; const l = this.defaultQueryOptions({ queryKey: a }); return (i = C(this, vt).get(l.queryHash)) == null ? void 0 : i.state } removeQueries(a) { const l = C(this, vt); Ot.batch(() => { l.findAll(a).forEach(i => { l.remove(i) }) }) } resetQueries(a, l) { const i = C(this, vt); return Ot.batch(() => (i.findAll(a).forEach(r => { r.reset() }), this.refetchQueries({ type: "active", ...a }, l))) } cancelQueries(a, l = {}) { const i = { revert: !0, ...l }, r = Ot.batch(() => C(this, vt).findAll(a).map(d => d.cancel(i))); return Promise.all(r).then(tn).catch(tn) } invalidateQueries(a, l = {}) { return Ot.batch(() => (C(this, vt).findAll(a).forEach(i => { i.invalidate() }), (a == null ? void 0 : a.refetchType) === "none" ? Promise.resolve() : this.refetchQueries({ ...a, type: (a == null ? void 0 : a.refetchType) ?? (a == null ? void 0 : a.type) ?? "active" }, l))) } refetchQueries(a, l = {}) { const i = { ...l, cancelRefetch: l.cancelRefetch ?? !0 }, r = Ot.batch(() => C(this, vt).findAll(a).filter(d => !d.isDisabled() && !d.isStatic()).map(d => { let f = d.fetch(void 0, i); return i.throwOnError || (f = f.catch(tn)), d.state.fetchStatus === "paused" ? Promise.resolve() : f })); return Promise.all(r).then(tn) } fetchQuery(a) { const l = this.defaultQueryOptions(a); l.retry === void 0 && (l.retry = !1); const i = C(this, vt).build(this, l); return i.isStaleByTime(Fs(l.staleTime, i)) ? i.fetch(l) : Promise.resolve(i.state.data) } prefetchQuery(a) { return this.fetchQuery(a).then(tn).catch(tn) } fetchInfiniteQuery(a) { return a._type = "infinite", this.fetchQuery(a) } prefetchInfiniteQuery(a) { return this.fetchInfiniteQuery(a).then(tn).catch(tn) } ensureInfiniteQueryData(a) { return a._type = "infinite", this.ensureQueryData(a) } resumePausedMutations() { return ru.isOnline() ? C(this, Hs).resumePausedMutations() : Promise.resolve() } getQueryCache() { return C(this, vt) } getMutationCache() { return C(this, Hs) } getDefaultOptions() { return C(this, qs) } setDefaultOptions(a) { J(this, qs, a) } setQueryDefaults(a, l) { C(this, Ui).set(Bl(a), { queryKey: a, defaultOptions: l }) } getQueryDefaults(a) { const l = [...C(this, Ui).values()], i = {}; return l.forEach(r => { lr(a, r.queryKey) && Object.assign(i, r.defaultOptions) }), i } setMutationDefaults(a, l) { C(this, Hi).set(Bl(a), { mutationKey: a, defaultOptions: l }) } getMutationDefaults(a) { const l = [...C(this, Hi).values()], i = {}; return l.forEach(r => { lr(a, r.mutationKey) && Object.assign(i, r.defaultOptions) }), i } defaultQueryOptions(a) { if (a._defaulted) return a; const l = { ...C(this, qs).queries, ...this.getQueryDefaults(a.queryKey), ...a, _defaulted: !0 }; return l.queryHash || (l.queryHash = Xh(l.queryKey, l)), l.refetchOnReconnect === void 0 && (l.refetchOnReconnect = l.networkMode !== "always"), l.throwOnError === void 0 && (l.throwOnError = !!l.suspense), !l.networkMode && l.persister && (l.networkMode = "offlineFirst"), l.queryFn === Vh && (l.enabled = !1), l } defaultMutationOptions(a) { return a != null && a._defaulted ? a : { ...C(this, qs).mutations, ...(a == null ? void 0 : a.mutationKey) && this.getMutationDefaults(a.mutationKey), ...a, _defaulted: !0 } } clear() { C(this, vt).clear(), C(this, Hs).clear() } }, vt = new WeakMap, Hs = new WeakMap, qs = new WeakMap, Ui = new WeakMap, Hi = new WeakMap, Ps = new WeakMap, qi = new WeakMap, Pi = new WeakMap, I1), wv = A.createContext(void 0), Wt = a => { const l = A.useContext(wv); if (!l) throw new Error("No QueryClient set, use QueryClientProvider to set one"); return l }, Cj = ({ client: a, children: l }) => (A.useEffect(() => (a.mount(), () => { a.unmount() }), [a]), o.jsx(wv.Provider, { value: a, children: l })), Ev = A.createContext(!1), Tj = () => A.useContext(Ev); Ev.Provider; function Rj() { let a = !1; return { clearReset: () => { a = !1 }, reset: () => { a = !0 }, isReset: () => a } } var kj = A.createContext(Rj()), Bj = () => A.useContext(kj), Oj = (a, l, i) => { const r = i != null && i.state.error && typeof a.throwOnError == "function" ? Zh(a.throwOnError, [i.state.error, i]) : a.throwOnError; (a.suspense || a.experimental_prefetchInRender || r) && (l.isReset() || (a.retryOnMount = !1)) }, Lj = a => { A.useEffect(() => { a.clearReset() }, [a]) }, Mj = ({ result: a, errorResetBoundary: l, throwOnError: i, query: r, suspense: d }) => a.isError && !l.isReset() && !a.isFetching && r && (d && a.data === void 0 || Zh(i, [a.error, r])), zj = a => { if (a.suspense) { const i = d => d === "static" ? d : Math.max(d ?? 1e3, 1e3), r = a.staleTime; a.staleTime = typeof r == "function" ? (...d) => i(r(...d)) : i(r), typeof a.gcTime == "number" && (a.gcTime = Math.max(a.gcTime, 1e3)) } }, Dj = (a, l) => a.isLoading && a.isFetching && !l, Uj = (a, l) => (a == null ? void 0 : a.suspense) && l.isPending, Mg = (a, l, i) => l.fetchOptimistic(a).catch(() => { i.clearReset() }); function Nv(a, l, i) { var b, S, j, w; const r = Tj(), d = Bj(), f = Wt(), h = f.defaultQueryOptions(a); (S = (b = f.getDefaultOptions().queries) == null ? void 0 : b._experimental_beforeQuery) == null || S.call(b, h); const g = f.getQueryCache().get(h.queryHash); h._optimisticResults = r ? "isRestoring" : "optimistic", zj(h), Oj(h, d, g), Lj(d); const m = !f.getQueryCache().get(h.queryHash), [p] = A.useState(() => new l(f, h)), y = p.getOptimisticResult(h), _ = !r && a.subscribed !== !1; if (A.useSyncExternalStore(A.useCallback(E => { const R = _ ? p.subscribe(Ot.batchCalls(E)) : tn; return p.updateResult(), R }, [p, _]), () => p.getCurrentResult(), () => p.getCurrentResult()), A.useEffect(() => { p.setOptions(h) }, [h, p]), Uj(h, y)) throw Mg(h, p, d); if (Mj({ result: y, errorResetBoundary: d, throwOnError: h.throwOnError, query: g, suspense: h.suspense })) throw y.error; if ((w = (j = f.getDefaultOptions().queries) == null ? void 0 : j._experimental_afterQuery) == null || w.call(j, h, y), h.experimental_prefetchInRender && !ir.isServer() && Dj(y, r)) { const E = m ? Mg(h, p, d) : g == null ? void 0 : g.promise; E == null || E.catch(tn).finally(() => { p.updateResult() }) } return h.notifyOnChangeProps ? y : p.trackResult(y) } function Ct(a, l) { return Nv(a, Av) } function yt(a, l) { const i = Wt(), [r] = A.useState(() => new wj(i, a)); A.useEffect(() => { r.setOptions(a) }, [r, a]); const d = A.useSyncExternalStore(A.useCallback(h => r.subscribe(Ot.batchCalls(h)), [r]), () => r.getCurrentResult(), () => r.getCurrentResult()), f = A.useCallback((h, g) => { r.mutate(h, g).catch(tn) }, [r]); if (d.error && Zh(r.options.throwOnError, [d.error])) throw d.error; return { ...d, mutate: f, mutateAsync: d.mutate } } function Hj(a, l) { return Nv(a, Aj) } const Cv = "https://app.auth.elcsa.ru/v1"; let nr = null, yl = null; function Jh() { nr = null, yl = null } function nn() { return nr ? Promise.resolve(nr) : yl || (yl = fetch(`${Cv}/csrf/token`, { credentials: "include" }).then(a => a.json()).then(a => (nr = a.token, yl = null, nr)).catch(a => { throw yl = null, a }), yl) } const qj = Object.freeze(Object.defineProperty({ __proto__: null, clearCsrfCache: Jh, getCsrfToken: nn }, Symbol.toStringTag, { value: "Module" })), Pj = "modulepreload", Qj = function (a) { return "/" + a }, zg = {}, Fj = function (l, i, r) { let d = Promise.resolve(); if (i && i.length > 0) { let h = function (p) { return Promise.all(p.map(y => Promise.resolve(y).then(_ => ({ status: "fulfilled", value: _ }), _ => ({ status: "rejected", reason: _ })))) }; document.getElementsByTagName("link"); const g = document.querySelector("meta[property=csp-nonce]"), m = (g == null ? void 0 : g.nonce) || (g == null ? void 0 : g.getAttribute("nonce")); d = h(i.map(p => { if (p = Qj(p), p in zg) return; zg[p] = !0; const y = p.endsWith(".css"), _ = y ? '[rel="stylesheet"]' : ""; if (document.querySelector(`link[href="${p}"]${_}`)) return; const b = document.createElement("link"); if (b.rel = y ? "stylesheet" : Pj, y || (b.as = "script"), b.crossOrigin = "", b.href = p, m && b.setAttribute("nonce", m), document.head.appendChild(b), y) return new Promise((S, j) => { b.addEventListener("load", S), b.addEventListener("error", () => j(new Error(`Unable to preload CSS for ${p}`))) }) })) } function f(h) { const g = new Event("vite:preloadError", { cancelable: !0 }); if (g.payload = h, window.dispatchEvent(g), !g.defaultPrevented) throw h } return d.then(h => { for (const g of h || []) g.status === "rejected" && f(g.reason); return l().catch(f) }) }; let Kf = null; const Nt = { get: () => Kf, set: a => { Kf = a }, clear: () => { Kf = null } }, Yj = "https://app.auth.elcsa.ru/v1/jwt/refresh"; async function ca() { const { getCsrfToken: a, clearCsrfCache: l } = await Fj(async () => { const { getCsrfToken: f, clearCsrfCache: h } = await Promise.resolve().then(() => qj); return { getCsrfToken: f, clearCsrfCache: h } }, []); l(); const i = await a(), r = await fetch(Yj, { method: "POST", credentials: "include", headers: { "X-CSRF-Token": i } }); if (!r.ok) throw new Error("Unauthorized"); const d = await r.json(); return d.access_token && Nt.set(d.access_token), d.access_token ?? d.result ?? !0 } const Ij = "https://app.payment.elcsa.ru"; async function vr(a, l, i) { const r = await nn(), d = await fetch(`${Ij}${a}`, { ...l, credentials: "include", headers: { "X-CSRF-Token": r, ...l.headers } }); if (d.status === 401 && i) try { return await ca(), vr(a, l, !1) } catch { throw new Error("Unauthorized") } const f = await d.json(); if (!d.ok) throw f; return f } function Gj() { return vr("/payment/config", {}, !0) } function Kj(a) { return vr(`/payment/quote?usdt_amount=${a}`, {}, !0) } function Xj(a) { return vr(`/payment/quote/rub?total_rub=${a}`, {}, !0) } const Nh = 20; function Vj(a, l = Nh) { return vr(`/payment/payments?offset=${a}&limit=${l}`, {}, !0) } function Zj() { return Ct({ queryKey: ["payment", "config"], queryFn: Gj, staleTime: 6e4 }) } function Wj(a) { return Ct({ queryKey: ["payment", "quote", a], queryFn: () => Kj(a), enabled: a > 0, staleTime: 3e4, retry: !1 }) } function Tv(a) { return Ct({ queryKey: ["payment", "quote", "rub", a], queryFn: () => Xj(a), enabled: a > 0, staleTime: 3e4, retry: !1 }) } function Jj() { return Hj({ queryKey: ["payment", "operations"], queryFn: ({ pageParam: a }) => Vj(a), initialPageParam: 0, getNextPageParam: (a, l) => { if (!(a.operations.length < Nh)) return l.length * Nh }, staleTime: 3e4 }) } function ba(a, l) { const [i, r] = A.useState(a); return A.useEffect(() => { const d = setTimeout(() => r(a), l); return () => clearTimeout(d) }, [a, l]), i } const Rv = 80, $j = 21, nu = 5e3, Dg = "Сумма слишком большая и превышает 600 000 ₽", Ug = a => a.replace(/[^0-9.]/g, ""); function ew({ rateFallback: a = 0 } = {}) { const [l, i] = A.useState("usdt_to_rub"), [r, d] = A.useState("1000"), [f, h] = A.useState(String(nu)), { data: g } = Zj(), m = Number(g == null ? void 0 : g.usdt_exchange_rate) || a, p = Number(g == null ? void 0 : g.gas_fee) || $j, y = l === "usdt_to_rub", _ = Number.parseFloat(r) || 0, b = ba(_, 400), { data: S, isError: j } = Wj(y ? b : 0), w = Number.parseFloat(f) || 0, E = ba(w, 400), { data: R, isError: L } = Tv(y ? 0 : E), B = !y && w > 0 && w < nu, P = (S == null ? void 0 : S.total_price) ?? "", G = Number(P) || 0, V = (R == null ? void 0 : R.usdt_amount) ?? "", D = Number(V) || 0, K = y ? Number(S == null ? void 0 : S.service_fee) || 0 : Number(R == null ? void 0 : R.service_fee) || 0, ee = y ? G : w, re = y ? _ > 0 ? G / _ : 0 : D > 0 ? w / D : 0; function ce() { i(pe => pe === "usdt_to_rub" ? "rub_to_usdt" : "usdt_to_rub") } const ie = y ? { value: r, currency: "USDT", onChange: pe => d(Ug(pe)), error: j ? Dg : void 0 } : { value: f, currency: "RUB", onChange: pe => h(Ug(pe)), error: B ? `Минимальная сумма: ${nu.toLocaleString("ru-RU")}` : L ? Dg : void 0 }; return { isUsdtToRub: y, gasPriceRub: p, configUsdtRate: m, convert: ie, pay: y ? { value: P, currency: "RUB" } : { value: V, currency: "USDT" }, onSwap: ce, commission: { amount: ee, progress: FS(ee), commission: K, effectiveRate: re }, numUsdt: _, usdtFromRubNum: D, rubTotal: P, rubTotalNum: G, numRubInput: w, usdtFromRub: V, rubBelowMin: B } } const ae = { HOME: "/", WALLET: "/wallet", WALLET_CHAIN: "/wallet/:chain", SWAP: "/swap", BRIDGE: "/bridge", LOGIN: "/login", REGISTER: "/register", REGISTER_TEST: "/register-test", CONVERTER_TEST: "/converter-test", PROFILE: "/profile", PROFILE_DETAILS: "/profile/details", PROFILE_SECURITY: "/profile/security", PROFILE_MNEMONIC: "/profile/mnemonic", PROFILE_TRANSACTIONS: "/profile/transactions", SEED_PHRASE: "/seed-phrase", CONVERTER: "/converter", KYC: "/kyc", STAKING: "/staking", POOLS: "/pools", RESTORE_PASSWORD: "/restore-password", PUBLICHNAYA_OFERTA: "/publichnaya-oferta", POLITIKA_PERSONALNYH_DANNYH: "/politika-personalnyh-dannyh", POLITIKA_COOKIE: "/politika-cookie", SOGLASIE_PERSONALNYH_DANNYH: "/soglasie-personalnyh-dannyh", REESTR_PD_RKN: "/reestr-pd-rkn", TRANSACTIONS: "/transactions" }, tw = "_section_tz8mb_1", nw = "_wrap_tz8mb_6", aw = "_header_tz8mb_17", sw = "_subtitle_tz8mb_26", lw = "_pills_tz8mb_33", iw = "_pill_tz8mb_33", ow = "_pillValue_tz8mb_47", rw = "_body_tz8mb_57", cw = "_tabs_tz8mb_63", uw = "_tab_tz8mb_63", dw = "_payBtn_tz8mb_95", kn = { section: tw, wrap: nw, header: aw, subtitle: sw, pills: lw, pill: iw, pillValue: ow, body: rw, tabs: cw, tab: uw, payBtn: dw }; function fw() { const { gasPriceRub: a, configUsdtRate: l, convert: i, pay: r, onSwap: d, commission: f } = ew({ rateFallback: Rv }); return o.jsx("section", { className: kn.section, id: "converter", children: o.jsxs("div", { className: kn.wrap, children: [o.jsxs("div", { className: kn.header, children: [o.jsxs("div", { children: [o.jsx(fv, { children: "Конвертация" }), o.jsx("div", { className: kn.subtitle, children: "Данные обновляются в реальном времени" })] }), o.jsxs("div", { className: kn.pills, children: [o.jsxs("div", { className: kn.pill, children: ["Цена газа в RUB ", o.jsxs("span", { className: kn.pillValue, children: [a.toFixed(2), " RUB"] })] }), o.jsxs("div", { className: kn.pill, children: ["USDT/RUB ", o.jsxs("span", { className: kn.pillValue, children: [l.toFixed(2), " ₽"] })] })] })] }), o.jsxs("div", { className: kn.body, children: [o.jsxs("div", { children: [o.jsx("div", { className: kn.tabs, children: o.jsx("div", { className: kn.tab, "data-active": !0, children: "КУПИТЬ" }) }), o.jsx(Ag, { compact: !0, ...i }), o.jsx(C3, { compact: !0, onClick: d }), o.jsx(Ag, { compact: !0, ...r })] }), o.jsx(ej, { ...f })] }), o.jsx(gn, { to: ae.CONVERTER, className: kn.payBtn, children: "Перейти к оплате" })] }) }) } const hw = "data:image/svg+xml,%3csvg%20width='48'%20height='48'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M4.827%201.094a3.733%203.733%200%2000-3.733%203.733v6.533a3.733%203.733%200%20003.733%203.734h6.533a3.733%203.733%200%20003.734-3.734V4.827a3.733%203.733%200%2000-3.734-3.733H4.827zm5.454%207a2.187%202.187%200%2011-4.375%200%202.187%202.187%200%20014.375%200zm1.313%200a3.5%203.5%200%2011-7%200%203.5%203.5%200%20017%200zm.469-2.938a1.25%201.25%200%20100-2.5%201.25%201.25%200%20000%202.5z'%20fill='%23000'%3e%3c/path%3e%3c/svg%3e", mw = "data:image/svg+xml,%3csvg%20width='48'%20height='48'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.108%207.617C5.4%205.768%208.262%204.55%209.694%203.961c4.088-1.682%204.938-1.974%205.492-1.984.68-.011.86.551.804%201.137-.221%202.302-1.18%207.887-1.668%2010.465-.43%202.277-1.958%201.292-3.338.397-1.296-.84-2.028-1.362-3.286-2.182-1.453-.947-.511-1.467.317-2.318.217-.223%203.984-3.61%204.057-3.918.06-.256-.167-.333-.373-.286-.13.029-2.2%201.382-6.21%204.058-.588.399-1.12.593-1.597.583-.66-.014-2.26-.583-3.88-1.492-.097-.277.399-.53%201.096-.804z'%20fill='%23000'%3e%3c/path%3e%3c/svg%3e", pw = "data:image/svg+xml,%3csvg%20width='48'%20height='48'%20viewBox='0%200%2016%2016'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.733%2011.784c-.708-1.191-1.221-2.408-1.221-3.823%200-3.566%202.905-6.457%206.488-6.457%203.583%200%206.488%202.891%206.488%206.457%200%203.565-2.905%206.456-6.488%206.456-1.332%200-2.496-.452-3.64-1.079-.734.18-1.468.362-2.2.55.195-.7.387-1.402.573-2.104zM0%2016s2.944-.768%204.147-1.06A7.995%207.995%200%20008%2015.92c4.418%200%208-3.564%208-7.96S12.418%200%208%200%200%203.564%200%207.96c0%201.479.405%202.862%201.11%204.048C.929%2012.693%200%2016%200%2016zm8.118-6.637a501.25%20501.25%200%2000-1.265-1.26c-.545-.576-.646-1.11-.392-1.298l.52-.298a.675.675%200%2000.248-.924l-.78-1.344a.681.681%200%2000-.928-.248L5%204.29c-1.685.968.271%204.078%201.09%204.892l.944.94c.818.814%203.943%202.76%204.916%201.084l.3-.517a.674.674%200%2000-.249-.924l-1.35-.776a.682.682%200%2000-.929.247l-.3.517c-.188.252-.725.152-1.305-.39z'%20fill='%23000'%3e%3c/path%3e%3c/svg%3e", gw = "_footer_1qm30_1", vw = "_top_1qm30_11", yw = "_col_1qm30_18", _w = "_heading_1qm30_35", bw = "_companyName_1qm30_44", xw = "_phone_1qm30_51", Aw = "_email_1qm30_58", Sw = "_socialIcons_1qm30_62", jw = "_socialLink_1qm30_67", ww = "_divider_1qm30_94", Ew = "_bottom_1qm30_99", Kt = { footer: gw, top: vw, col: yw, heading: _w, companyName: bw, phone: xw, email: Aw, socialIcons: Sw, socialLink: jw, divider: ww, bottom: Ew }, Nw = [{ href: "https://t.me/+UU4vqX4ENMJhMjBi", icon: mw, label: "Telegram" }, { href: "#", icon: pw, label: "WhatsApp" }, { href: "#", icon: hw, label: "Instagram" }]; function Is() { return o.jsxs("footer", { className: Kt.footer, children: [o.jsxs("div", { className: Kt.top, children: [o.jsxs("div", { className: Kt.col, children: [o.jsx("p", { className: Kt.companyName, children: "ООО «ЭКСА»" }), o.jsx("p", { children: "ИНН 9810001062" }), o.jsx("p", { children: "ОГРН 1257800060990" })] }), o.jsxs("div", { className: Kt.col, children: [o.jsx("h4", { className: Kt.heading, children: "О компании" }), o.jsx(gn, { to: ae.PUBLICHNAYA_OFERTA, children: "Публичная оферта" }), o.jsx(gn, { to: ae.POLITIKA_PERSONALNYH_DANNYH, children: "Политика персональных данных" }), o.jsx(gn, { to: ae.POLITIKA_COOKIE, children: "Политика cookie" }), o.jsx(gn, { to: ae.SOGLASIE_PERSONALNYH_DANNYH, children: "Согласие на обработку данных" }), o.jsx(gn, { to: ae.REESTR_PD_RKN, children: "Реестр Роскомнадзора" })] }), o.jsxs("div", { className: Kt.col, children: [o.jsx("p", { className: Kt.phone, children: "+7 (812) 123-33-23" }), o.jsx("h4", { className: Kt.heading, children: "Адрес" }), o.jsx("p", { children: "196158, г. Санкт-Петербург, Московское шоссе, 25А, к.1, ПОМЕЩ. 3-Н" }), o.jsx("a", { href: "mailto:company@elcsa.ru", className: Kt.email, children: "company@elcsa.ru" })] }), o.jsxs("div", { className: Kt.col, children: [o.jsx("h4", { className: Kt.heading, children: "Мы в соцсетях" }), o.jsx("div", { className: Kt.socialIcons, children: Nw.map(({ href: a, icon: l, label: i }) => o.jsx("a", { href: a, className: Kt.socialLink, "aria-label": i, children: o.jsx("img", { src: l, alt: i }) }, i)) })] })] }), o.jsx("div", { className: Kt.divider }), o.jsxs("div", { className: Kt.bottom, children: [o.jsx("p", { children: "© 2026. Все права защищены." }), o.jsx("p", { children: "Компания не является кредитной организацией." })] })] }) } const xa = "/assets/logo-full-white-DEb7oTyu.png", Cw = "_nav_omfvd_1", Tw = "_logo_omfvd_16", Rw = "_right_omfvd_22", kw = "_link_omfvd_28", Bw = "_btn_omfvd_47", Vo = { nav: Cw, logo: Tw, right: Rw, link: kw, btn: Bw }; function Ll() { const a = Zt(), l = vn(), i = r => { var d; r.preventDefault(), a.pathname === ae.HOME ? (d = document.getElementById("about")) == null || d.scrollIntoView({ behavior: "smooth" }) : l(ae.HOME, { state: { scrollTo: "about" } }) }; return o.jsxs("nav", { className: Vo.nav, children: [o.jsx("a", { className: Vo.logo, href: "/", children: o.jsx("img", { src: xa, alt: "ЭКСА" }) }), o.jsxs("div", { className: Vo.right, children: [o.jsx("a", { className: Vo.link, href: "#about", onClick: i, children: "О нас" }), o.jsx(gn, { className: Vo.btn, to: ae.WALLET, children: "Личный кабинет" })] })] }) } function Ow() { const a = A.useRef(null); return A.useEffect(() => { const l = a.current; if (!l || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return; if (window.matchMedia("(hover: hover) and (pointer: fine)").matches) { const d = h => { const g = l.getBoundingClientRect(), m = ((h.clientX - g.left) / g.width - .5) * 2, p = ((h.clientY - g.top) / g.height - .5) * 2; l.style.setProperty("--mx", m.toFixed(3)), l.style.setProperty("--my", p.toFixed(3)) }, f = () => { l.style.setProperty("--mx", "0"), l.style.setProperty("--my", "0") }; return l.addEventListener("mousemove", d), l.addEventListener("mouseleave", f), () => { l.removeEventListener("mousemove", d), l.removeEventListener("mouseleave", f) } } let i = 0; const r = () => { i || (i = requestAnimationFrame(() => { i = 0; const d = l.getBoundingClientRect(), f = Math.min(Math.max(-d.top / d.height, 0), 1); l.style.setProperty("--mx", (f * .6).toFixed(3)), l.style.setProperty("--my", (f * -1.4).toFixed(3)) })) }; return r(), window.addEventListener("scroll", r, { passive: !0 }), () => { window.removeEventListener("scroll", r), cancelAnimationFrame(i) } }, []), a } const Ai = [{ rub: "10 000 ₽", usdt: "≈ 125.3 USDT" }, { rub: "25 000 ₽", usdt: "≈ 313.3 USDT" }, { rub: "50 000 ₽", usdt: "≈ 626.5 USDT" }, { rub: "100 000 ₽", usdt: "≈ 1 253.1 USDT" }], Lw = 40, Mw = 75, zw = 3500, Dw = 900; function kv() { const [a, l] = A.useState(Ai[0].rub), [i, r] = A.useState(Ai[0].usdt), [d, f] = A.useState(null), [h, g] = A.useState(!0); return A.useEffect(() => { if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) return; let m = !0; const p = S => new Promise(j => setTimeout(j, S)), y = async (S, j) => { for (let w = S.length - 1; w >= 0 && m; w--)j(S.slice(0, w)), await p(Lw) }, _ = async (S, j) => { for (let w = 1; w <= S.length && m; w++)j(S.slice(0, w)), await p(Mw) }; return (async () => { let S = 0; for (; m;) { if (await p(zw), !m) return; const j = Ai[S % Ai.length], w = Ai[(S + 1) % Ai.length]; if (g(!1), f("rub"), await y(j.rub, l), await _(w.rub, l), f(null), await p(Dw), !m) return; f("usdt"), await y(j.usdt, r), await _(w.usdt, r), f(null), g(!0), S++ } })(), () => { m = !1 } }, []), { rub: a, usdt: i, active: d, settled: h } } function Uw(a = 7) { const l = A.useRef(null); return A.useEffect(() => { const i = l.current; if (!i || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return; const r = f => { const h = i.getBoundingClientRect(), g = (f.clientX - h.left) / h.width - .5, m = (f.clientY - h.top) / h.height - .5; i.style.setProperty("--ry", `${(g * a).toFixed(2)}deg`), i.style.setProperty("--rx", `${(-m * a).toFixed(2)}deg`) }, d = () => { i.style.setProperty("--rx", "0deg"), i.style.setProperty("--ry", "0deg") }; return i.addEventListener("mousemove", r), i.addEventListener("mouseleave", d), () => { i.removeEventListener("mousemove", r), i.removeEventListener("mouseleave", d) } }, [a]), l } const Hw = "_flow_1b0po_1", qw = "_card_1b0po_12", Pw = "_cardRub_1b0po_22", Qw = "_cardEksa_1b0po_33", Fw = "_cardUsdt_1b0po_47", Yw = "_eksaLogo_1b0po_58", Iw = "_ghost_1b0po_65", Gw = "_ghostBtc_1b0po_80", Kw = "_ghostEth_1b0po_86", Xw = "_logoCircle_1b0po_92", Vw = "_logoRub_1b0po_103", Zw = "_logoUsdt_1b0po_108", Ww = "_logoHasImg_1b0po_114", Jw = "_logoImg_1b0po_118", $w = "_ghostImg_1b0po_126", eE = "_badge_1b0po_133", tE = "_caret_1b0po_150", nE = "_badgeRub_1b0po_159", aE = "_badgeUsdt_1b0po_163", sE = "_status_1b0po_167", lE = "_statusPending_1b0po_179", iE = "_statusDot_1b0po_183", oE = "_path_1b0po_197", rE = "_dashLine_1b0po_205", cE = "_spark_1b0po_209", uE = "_traveler_1b0po_287", Ne = { flow: Hw, card: qw, cardRub: Pw, cardEksa: Qw, cardUsdt: Fw, eksaLogo: Yw, ghost: Iw, ghostBtc: Gw, ghostEth: Kw, logoCircle: Xw, logoRub: Vw, logoUsdt: Zw, logoHasImg: Ww, logoImg: Jw, ghostImg: $w, badge: eE, caret: tE, badgeRub: nE, badgeUsdt: aE, status: sE, statusPending: lE, statusDot: iE, path: oE, dashLine: rE, spark: cE, traveler: uE }, Zo = "M60 68 C100 160, 250 140, 210 230 C170 310, 300 320, 350 360", Hg = Vt("BTC"), qg = Vt("ETH"), Xf = Vt("USDT"); function dE() { const { rub: a, usdt: l, active: i, settled: r } = kv(), d = Uw(); return o.jsxs("div", { className: Ne.flow, ref: d, children: [o.jsx("div", { className: `${Ne.ghost} ${Ne.ghostBtc}`, children: Hg ? o.jsx("img", { src: Hg, alt: "BTC", className: Ne.ghostImg }) : o.jsx("span", { style: { fontSize: 20, color: "#F7931A" }, children: "₿" }) }), o.jsx("div", { className: `${Ne.ghost} ${Ne.ghostEth}`, children: qg ? o.jsx("img", { src: qg, alt: "ETH", className: Ne.ghostImg }) : o.jsx("span", { style: { fontSize: 20, color: "#627EEA" }, children: "Ξ" }) }), o.jsxs("div", { className: `${Ne.card} ${Ne.cardRub}`, children: [o.jsx("div", { className: `${Ne.logoCircle} ${Ne.logoRub}`, children: "₽" }), o.jsxs("div", { className: `${Ne.badge} ${Ne.badgeRub}`, children: [a, i === "rub" && o.jsx("span", { className: Ne.caret })] })] }), o.jsx("div", { className: `${Ne.card} ${Ne.cardEksa}`, children: o.jsx("img", { src: xa, alt: "ЭКСА", className: Ne.eksaLogo }) }), o.jsxs("div", { className: `${Ne.card} ${Ne.cardUsdt}`, children: [o.jsx("div", { className: `${Ne.logoCircle} ${Ne.logoUsdt} ${Xf ? Ne.logoHasImg : ""}`, children: Xf ? o.jsx("img", { src: Xf, alt: "USDT", className: Ne.logoImg }) : "₮" }), o.jsxs("div", { className: `${Ne.badge} ${Ne.badgeUsdt}`, children: [l, i === "usdt" && o.jsx("span", { className: Ne.caret })] }), o.jsxs("div", { className: `${Ne.status} ${r ? "" : Ne.statusPending}`, children: [o.jsx("span", { className: Ne.statusDot }), r ? "✓ Зачислено" : "Конвертация…"] })] }), o.jsxs("svg", { className: Ne.path, viewBox: "0 0 420 460", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: [o.jsx("defs", { children: o.jsxs("linearGradient", { id: "pathGrad", x1: "0", y1: "0", x2: "1", y2: "1", children: [o.jsx("stop", { offset: "0%", stopColor: "rgba(255,255,255,0.4)" }), o.jsx("stop", { offset: "100%", stopColor: "#26A17B" })] }) }), o.jsx("path", { className: Ne.dashLine, d: Zo, stroke: "url(#pathGrad)", strokeWidth: 2, strokeDasharray: "8 6", fill: "none" }), o.jsx("path", { d: Zo, stroke: "url(#pathGrad)", strokeWidth: 8, strokeDasharray: "8 6", opacity: .08, fill: "none" }), o.jsxs("g", { className: Ne.traveler, children: [o.jsx("circle", { r: 8, fill: "#26A17B", opacity: .25, children: o.jsx("animateMotion", { dur: "5s", repeatCount: "indefinite", path: Zo }) }), o.jsx("circle", { r: 3.5, fill: "#26A17B", children: o.jsx("animateMotion", { dur: "5s", repeatCount: "indefinite", path: Zo }) }), o.jsx("circle", { r: 2, fill: "#fff", opacity: .7, children: o.jsx("animateMotion", { dur: "5s", begin: "-2.5s", repeatCount: "indefinite", path: Zo }) })] }), o.jsx("circle", { className: Ne.spark, cx: 80, cy: 110, r: 3, fill: "#fff", opacity: .5 }), o.jsx("circle", { className: Ne.spark, cx: 140, cy: 160, r: 2.5, fill: "#fff", opacity: .4 }), o.jsx("circle", { className: Ne.spark, cx: 220, cy: 200, r: 3, fill: "#fff", opacity: .3 }), o.jsx("circle", { className: Ne.spark, cx: 200, cy: 270, r: 2.5, fill: "#26A17B", opacity: .35 }), o.jsx("circle", { className: Ne.spark, cx: 260, cy: 310, r: 3, fill: "#26A17B", opacity: .25 }), o.jsx("circle", { className: Ne.spark, cx: 320, cy: 345, r: 2, fill: "#26A17B", opacity: .2 })] })] }) } const fE = "_card_1wd5u_70", hE = "_statusPill_1wd5u_104", mE = "_statusPillPending_1wd5u_120", pE = "_statusDot_1wd5u_126", gE = "_flowRow_1wd5u_139", vE = "_curBlock_1wd5u_146", yE = "_curIcon_1wd5u_154", _E = "_rub_1wd5u_165", bE = "_usdt_1wd5u_173", xE = "_hasLogo_1wd5u_184", AE = "_curIconImg_1wd5u_189", SE = "_flowLine_1wd5u_200", jE = "_curAmount_1wd5u_204", wE = "_caret_1wd5u_215", EE = "_curLabel_1wd5u_224", NE = "_curCheck_1wd5u_232", CE = "_curCheckPending_1wd5u_244", TE = "_bridge_1wd5u_248", RE = "_bridgeLine_1wd5u_257", kE = "_bridgeDot_1wd5u_266", BE = "_bridgeLabel_1wd5u_280", OE = "_divider_1wd5u_288", LE = "_details_1wd5u_294", ME = "_detailRow_1wd5u_302", zE = "_detailLabel_1wd5u_311", DE = "_detailValue_1wd5u_317", UE = "_green_1wd5u_324", Me = { card: fE, statusPill: hE, statusPillPending: mE, statusDot: pE, flowRow: gE, curBlock: vE, curIcon: yE, rub: _E, usdt: bE, hasLogo: xE, curIconImg: AE, flowLine: SE, curAmount: jE, caret: wE, curLabel: EE, curCheck: NE, curCheckPending: CE, bridge: TE, bridgeLine: RE, bridgeDot: kE, bridgeLabel: BE, divider: OE, details: LE, detailRow: ME, detailLabel: zE, detailValue: DE, green: UE }, Vf = Vt("USDT"); function Pg({ begin: a }) { return o.jsxs("svg", { width: 48, height: 12, viewBox: "0 0 48 12", fill: "none", "aria-hidden": "true", children: [o.jsx("line", { x1: 0, y1: 6, x2: 36, y2: 6, stroke: "currentColor", strokeWidth: 1.5, strokeDasharray: "4 3", className: Me.flowLine }), o.jsx("path", { d: "M34 2l6 4-6 4", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round", fill: "none" }), o.jsx("circle", { r: 2.5, fill: "#26A17B", className: Me.bridgeDot, children: o.jsx("animateMotion", { dur: "0.9s", begin: a, repeatCount: "indefinite", path: "M0 6 H40" }) })] }) } function HE() { const { rub: a, usdt: l, active: i, settled: r } = kv(), d = !r && i === null; return o.jsxs("div", { className: Me.card, children: [o.jsxs("div", { className: `${Me.statusPill} ${r ? "" : Me.statusPillPending}`, children: [o.jsx("span", { className: Me.statusDot }), r ? "Операция завершена" : "Конвертация…"] }), o.jsxs("div", { className: Me.flowRow, "data-transferring": d || void 0, children: [o.jsxs("div", { className: Me.curBlock, children: [o.jsx("div", { className: `${Me.curIcon} ${Me.rub}`, children: "₽" }), o.jsxs("div", { className: Me.curAmount, children: [a, i === "rub" && o.jsx("span", { className: Me.caret })] }), o.jsx("div", { className: Me.curLabel, children: "Отправлено" })] }), o.jsxs("div", { className: Me.bridge, children: [o.jsx("div", { className: Me.bridgeLine, children: o.jsx(Pg, {}) }), o.jsx("div", { className: Me.bridgeLabel, children: o.jsx("img", { src: xa, alt: "ЭКСА" }) }), o.jsx("div", { className: Me.bridgeLine, children: o.jsx(Pg, { begin: "-0.45s" }) })] }), o.jsxs("div", { className: Me.curBlock, children: [o.jsx("div", { className: `${Me.curIcon} ${Me.usdt} ${Vf ? Me.hasLogo : ""}`, children: Vf ? o.jsx("img", { src: Vf, alt: "USDT", className: Me.curIconImg }) : "₮" }), o.jsxs("div", { className: Me.curAmount, children: [l, i === "usdt" && o.jsx("span", { className: Me.caret })] }), o.jsxs("div", { className: `${Me.curCheck} ${r ? "" : Me.curCheckPending}`, children: [r && o.jsx("svg", { width: 12, height: 12, viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", children: o.jsx("path", { d: "M2 6l3 3 5-5", stroke: "#26A17B", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }) }), r ? "Зачислено" : "Ожидание…"] })] })] }), o.jsx("div", { className: Me.divider }), o.jsxs("div", { className: Me.details, children: [o.jsxs("div", { className: Me.detailRow, children: [o.jsx("span", { className: Me.detailLabel, children: "Курс" }), o.jsxs("span", { className: Me.detailValue, children: [Rv.toFixed(2), " ₽ / USDT"] })] }), o.jsxs("div", { className: Me.detailRow, children: [o.jsx("span", { className: Me.detailLabel, children: "Комиссия" }), o.jsx("span", { className: `${Me.detailValue} ${Me.green}`, children: "0%" })] })] })] }) } const qE = "_hero_1dknf_1", PE = "_orbs_1dknf_11", QE = "_orb_1dknf_11", FE = "_orbPurple_1dknf_34", YE = "_content_1dknf_60", IE = "_left_1dknf_72", GE = "_desktop_1dknf_80", KE = "_mobile_1dknf_84", XE = "_right_1dknf_88", VE = "_title_1dknf_95", ZE = "_line2_1dknf_103", WE = "_reflection_1dknf_114", JE = "_ctaRow_1dknf_125", $E = "_cta_1dknf_125", dn = { hero: qE, orbs: PE, orb: QE, orbPurple: FE, content: YE, left: IE, desktop: GE, mobile: KE, right: XE, title: VE, line2: ZE, reflection: WE, ctaRow: JE, cta: $E }; function eN() { const a = Ow(); return o.jsxs("section", { className: dn.hero, ref: a, children: [o.jsx("div", { className: dn.orbs, "aria-hidden": "true", children: o.jsx("div", { className: `${dn.orb} ${dn.orbPurple}` }) }), o.jsxs("div", { className: dn.content, children: [o.jsxs("div", { className: dn.left, children: [o.jsx("div", { className: dn.desktop, children: o.jsx(dE, {}) }), o.jsx("div", { className: dn.mobile, children: o.jsx(HE, {}) })] }), o.jsxs("div", { className: dn.right, children: [o.jsxs("h1", { className: dn.title, children: ["Ваш мост", o.jsx("span", { className: dn.reflection, "aria-hidden": "true", children: "Ваш мост" }), o.jsxs("span", { className: dn.line2, children: ["в мир", o.jsx("br", {}), "цифровых", o.jsx("br", {}), "активов"] })] }), o.jsx("div", { className: dn.ctaRow, children: o.jsx(gn, { to: ae.REGISTER, className: dn.cta, children: "Зарегистрироваться" }) })] })] })] }) } const Qg = [{ name: "Bitcoin", ticker: "BTC", cls: "btc", icon: "₿", speed: 30, color: "rgba(247,147,26,0.8)", fee: "~0.0001 BTC", confirm: "~10 мин" }, { name: "Ethereum", ticker: "ETH", cls: "eth", icon: "Ξ", speed: 60, color: "rgba(98,126,234,0.8)", fee: "~215 Gwei", confirm: "~15 сек" }, { name: "Tron", ticker: "TRX", cls: "trx", icon: "◈", speed: 90, color: "rgba(255,6,10,0.8)", fee: "~1 TRX", confirm: "~3 сек" }, { name: "Solana", ticker: "SOL", cls: "sol", icon: "◎", speed: 98, color: "rgba(153,69,255,0.8)", fee: "~0.000005 SOL", confirm: "~1 сек" }, { name: "BSC Chain", ticker: "BNB", cls: "bnb", icon: "◆", speed: 88, color: "rgba(243,186,47,0.8)", fee: "~0.0005 BNB", confirm: "~3 сек" }], tN = "_section_ajevh_1", nN = "_wrap_ajevh_6", aN = "_title_ajevh_11", sN = "_tableWrap_ajevh_18", lN = "_table_ajevh_18", iN = "_name_ajevh_52", oN = "_icon_ajevh_58", rN = "_icon_btc_ajevh_71", cN = "_icon_eth_ajevh_75", uN = "_icon_trx_ajevh_79", dN = "_icon_sol_ajevh_83", fN = "_icon_bnb_ajevh_87", hN = "_iconHasLogo_ajevh_92", mN = "_iconImg_ajevh_96", pN = "_label_ajevh_103", gN = "_ticker_ajevh_108", vN = "_speedBar_ajevh_114", yN = "_speedFill_ajevh_122", _N = "_fee_ajevh_135", bN = "_confirm_ajevh_141", xN = "_footnote_ajevh_146", AN = "_cards_ajevh_154", SN = "_card_ajevh_154", jN = "_cardHead_ajevh_173", wN = "_cardRow_ajevh_182", EN = "_cardKey_ajevh_190", Fe = { section: tN, wrap: nN, title: aN, tableWrap: sN, table: lN, name: iN, icon: oN, icon_btc: rN, icon_eth: cN, icon_trx: uN, icon_sol: dN, icon_bnb: fN, iconHasLogo: hN, iconImg: mN, label: pN, ticker: gN, speedBar: vN, speedFill: yN, fee: _N, confirm: bN, footnote: xN, cards: AN, card: SN, cardHead: jN, cardRow: wN, cardKey: EN }; function Fg({ ticker: a, cls: l, glyph: i }) { const r = Vt(a); return o.jsx("div", { className: `${Fe.icon} ${Fe[`icon_${l}`]} ${r ? Fe.iconHasLogo : ""}`, children: r ? o.jsx("img", { src: r, alt: a, className: Fe.iconImg }) : i }) } function NN() { const a = A.useRef(null), [l, i] = A.useState(!1); return A.useEffect(() => { const r = a.current; if (!r) return; const d = new IntersectionObserver(f => { var h; (h = f[0]) != null && h.isIntersecting && (i(!0), d.disconnect()) }, { threshold: .3 }); return d.observe(r), () => d.disconnect() }, []), o.jsx("section", { ref: a, className: Fe.section, children: o.jsxs("div", { className: Fe.wrap, children: [o.jsx("h2", { className: Fe.title, children: "Поддерживаемые сети" }), o.jsx("div", { className: Fe.tableWrap, children: o.jsxs("table", { className: Fe.table, children: [o.jsx("thead", { children: o.jsxs("tr", { children: [o.jsx("th", { children: "Сеть" }), o.jsx("th", { children: "Скорость" }), o.jsx("th", { children: "Комиссия" }), o.jsx("th", { children: "Подтверждение" })] }) }), o.jsx("tbody", { children: Qg.map(r => o.jsxs("tr", { children: [o.jsx("td", { children: o.jsxs("div", { className: Fe.name, children: [o.jsx(Fg, { ticker: r.ticker, cls: r.cls, glyph: r.icon }), o.jsx("span", { className: Fe.label, children: r.name }), o.jsx("span", { className: Fe.ticker, children: r.ticker })] }) }), o.jsx("td", { children: o.jsx("div", { className: Fe.speedBar, children: o.jsx("div", { className: Fe.speedFill, style: { width: l ? `${r.speed}%` : "0%", background: r.color } }) }) }), o.jsx("td", { children: o.jsx("span", { className: Fe.fee, children: r.fee }) }), o.jsx("td", { children: o.jsx("span", { className: Fe.confirm, children: r.confirm }) })] }, r.ticker)) })] }) }), o.jsx("div", { className: Fe.cards, "data-inview": l || void 0, children: Qg.map((r, d) => o.jsxs("div", { className: Fe.card, style: { transitionDelay: `${d * 80}ms` }, children: [o.jsxs("div", { className: Fe.cardHead, children: [o.jsx(Fg, { ticker: r.ticker, cls: r.cls, glyph: r.icon }), o.jsx("span", { className: Fe.label, children: r.name }), o.jsx("span", { className: Fe.ticker, children: r.ticker })] }), o.jsxs("div", { className: Fe.cardRow, children: [o.jsx("span", { className: Fe.cardKey, children: "Скорость" }), o.jsx("div", { className: Fe.speedBar, children: o.jsx("div", { className: Fe.speedFill, style: { width: l ? `${r.speed}%` : "0%", background: r.color } }) })] }), o.jsxs("div", { className: Fe.cardRow, children: [o.jsx("span", { className: Fe.cardKey, children: "Комиссия" }), o.jsx("span", { className: Fe.fee, children: r.fee })] }), o.jsxs("div", { className: Fe.cardRow, children: [o.jsx("span", { className: Fe.cardKey, children: "Подтверждение" }), o.jsx("span", { className: Fe.confirm, children: r.confirm })] })] }, r.ticker)) }), o.jsx("div", { className: Fe.footnote, children: "* Комиссии и время подтверждения указаны приблизительно и зависят от загруженности сети" })] }) }) } function CN() { const a = Zt(); return A.useEffect(() => { var l; ((l = a.state) == null ? void 0 : l.scrollTo) === "about" && requestAnimationFrame(() => { var i; (i = document.getElementById("about")) == null || i.scrollIntoView({ behavior: "smooth" }) }) }, [a.state]), o.jsxs(o.Fragment, { children: [o.jsx(Ll, {}), o.jsxs("main", { children: [o.jsx(eN, {}), o.jsx(QS, {}), o.jsx(fw, {}), o.jsx(NN, {})] }), o.jsx(Is, {})] }) } async function Ch(a, l, i) { const r = await nn(), d = Nt.get(), f = { "Content-Type": "application/json", "X-CSRF-Token": r, ...d ? { Authorization: `Bearer ${d}` } : {}, ...l.headers }, h = await fetch(`${Cv}${a}`, { ...l, credentials: "include", headers: f }); if (h.status === 401 && i) try { return await ca(), Ch(a, l, !1) } catch { throw Nt.clear(), new Error("Unauthorized") } const g = await h.json(); if (!h.ok) throw g; return g } const yr = { get: a => Ch(a, {}, !0), post: (a, l) => Ch(a, { method: "POST", body: JSON.stringify(l) }, !0) }; function TN(a) { return yr.post("/auth/registration/start", a) } function RN(a) { return yr.post("/auth/registration/complete", a) } function kN(a) { return yr.post("/auth/login/start", a) } function BN(a) { return yr.post("/auth/login/complete", a) } async function ON() { const a = await nn(); return yr.post("/auth/logout", { _csrf: a }) } const _r = "https://app.users.elcsa.ru"; async function $h() { const a = await nn(), l = Nt.get(); return { "X-CSRF-Token": a, ...l ? { Authorization: `Bearer ${l}` } : {} } } async function LN() { const a = await $h(), l = await fetch(`${_r}/me/`, { credentials: "include", headers: a }), i = await l.json(); if (!l.ok) throw i; return i } async function MN(a) { const l = await $h(), i = await fetch(`${_r}/me/settings/avatar`, { method: "PATCH", credentials: "include", headers: { "Content-Type": "application/json", ...l }, body: JSON.stringify(a) }), r = await i.json(); if (!i.ok) throw r; return r } async function zN(a) { const l = await nn(), i = await fetch(`${_r}/me/settings/password/forgot/start`, { method: "POST", credentials: "include", headers: { "Content-Type": "application/json", "X-CSRF-Token": l }, body: JSON.stringify(a) }); if (!i.ok) throw await i.json().catch(() => ({})) } async function DN(a) { const l = await $h(), i = await fetch(`${_r}/me/settings/phone`, { method: "PATCH", credentials: "include", headers: { "Content-Type": "application/json", ...l }, body: JSON.stringify({ phone: a }) }); if (!i.ok) throw await i.json().catch(() => ({})) } async function UN(a) { const l = await nn(), i = await fetch(`${_r}/me/settings/password/forgot/complete`, { method: "POST", credentials: "include", headers: { "Content-Type": "application/json", "X-CSRF-Token": l }, body: JSON.stringify(a) }); if (!i.ok) throw await i.json().catch(() => ({})) } const HN = a => a ? a[0].toUpperCase() + a.slice(1).toLowerCase() : ""; function Bv(a) { return a.account_type !== "individual" } function Ov(a) { return [a.last_name, a.first_name, a.middle_name].filter(Boolean).map(HN).join(" ") } function qN(a) { var l; return Bv(a) ? ((l = a.legal_entity) == null ? void 0 : l.name) ?? "" : Ov(a) } function yn(a) { return Ct({ queryKey: ["me"], queryFn: LN, staleTime: 1 / 0, gcTime: 1 / 0, retry: !1, ...a }) } function PN() { const a = Wt(); return yt({ mutationFn: MN, onSuccess: l => { a.setQueryData(["me"], l) } }) } function QN() { const a = Wt(); return yt({ mutationFn: DN, onSuccess: () => { a.invalidateQueries({ queryKey: ["me"] }) } }) } const gu = ["auth"]; function FN() { return Ct({ queryKey: gu, queryFn: ca, retry: !1, staleTime: 1 / 0, gcTime: 1 / 0, refetchOnWindowFocus: !1 }) } function Lv() { const { data: a, isLoading: l, isError: i } = FN(); return { isAuthenticated: !!a && !i, isLoading: l } } const YN = "https://app.b2b.elcsa.ru"; async function br(a, l, i) { const r = await nn(), d = await fetch(`${YN}${a}`, { ...l, credentials: "include", headers: { "X-CSRF-Token": r, ...l.headers } }); if (d.status === 401 && i) try { return await ca(), br(a, l, !1) } catch { throw new Error("Unauthorized") } const f = await d.json(); if (!d.ok) throw f; return f } function IN(a) { return br("/purchase-requests", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(a) }, !0) } function GN(a = 50, l = 0) { return br(`/purchase-requests?limit=${a}&offset=${l}`, {}, !0) } function KN() { return br("/v1/organizations/wallets", {}, !0) } function XN() { return br("/v1/organizations/wallets/balances", {}, !0) } function VN() { const a = Wt(); return yt({ mutationFn: IN, onSuccess: () => { a.invalidateQueries({ queryKey: ["b2b", "purchase-requests"] }) } }) } function Mv() { return Ct({ queryKey: ["b2b", "purchase-requests"], queryFn: () => GN(), staleTime: 3e4 }) } const Th = 5e5, or = [{ days: 3, rate: .05 }, { days: 4, rate: .04636 }, { days: 5, rate: .04273 }, { days: 6, rate: .03909 }, { days: 7, rate: .03545 }, { days: 8, rate: .03182 }, { days: 9, rate: .02818 }, { days: 10, rate: .02455 }, { days: 11, rate: .02091 }, { days: 12, rate: .01727 }, { days: 13, rate: .01364 }, { days: 14, rate: .01 }], Qs = a => a.toLocaleString("ru-RU", { maximumFractionDigits: 0 }); function Rh(a) { const l = a % 10, i = a % 100; return l === 1 && i !== 11 ? `${a} день` : l >= 2 && l <= 4 && (i < 10 || i >= 20) ? `${a} дня` : `${a} дней` } function ZN(a) { var l; return ((l = or.find(i => i.days === a)) == null ? void 0 : l.rate) ?? or[0].rate } function WN(a, l) { const i = ZN(l), r = a * i; return { rate: i, commission: r, total: a + r } } function JN(a) { const { name: l, contact: i, days: r, amount: d, commission: f, total: h } = a; return [l && `Имя: ${l}`, i && `Контакт: ${i}`, `Срок ожидания: ${Rh(r)}`, `Сумма: ${Qs(d)}`, `Комиссия: ≈${Qs(f)}`, `Итого: ≈${Qs(h)}`].filter(Boolean).join("; ") } function $N(a) { var l, i, r, d; return { name: ((i = (l = a == null ? void 0 : a.match(/Имя:\s*([^;]+)/)) == null ? void 0 : l[1]) == null ? void 0 : i.trim()) ?? "", contact: ((d = (r = a == null ? void 0 : a.match(/Контакт:\s*([^;]+)/)) == null ? void 0 : r[1]) == null ? void 0 : d.trim()) ?? "" } } function e4(a) { return a.reduce((l, i) => !l || (i.created_at ?? "") > (l.created_at ?? "") ? i : l, null) } const zv = "https://app.cryptowallet.elcsa.ru", em = ["ETH", "BSC", "BTC", "TRX", "SOL"]; async function Ml(a, l = !0) { const i = await nn(), r = Nt.get(), d = await fetch(`${zv}${a}`, { credentials: "include", headers: { "X-CSRF-Token": i, ...r ? { Authorization: `Bearer ${r}` } : {} } }); if (d.status === 401 && l) try { return await ca(), Ml(a, !1) } catch { throw Nt.clear(), new Error("Unauthorized") } const f = await d.json(); if (!d.ok) throw f; return f } async function ua(a, l, i = !0, r = {}) { const d = await nn(), f = Nt.get(), h = await fetch(`${zv}${a}`, { method: "POST", credentials: "include", headers: { "Content-Type": "application/json", "X-CSRF-Token": d, ...f ? { Authorization: `Bearer ${f}` } : {}, ...r }, body: JSON.stringify(l) }); if (h.status === 401 && i) try { return await ca(), ua(a, l, !1, r) } catch { throw Nt.clear(), new Error("Unauthorized") } const g = await h.json(); if (!h.ok) throw g; return g } async function t4() { return (await Ml("/api/wallets")).data } async function n4(a) { return (await Ml(`/api/wallets/${a}/balance`)).data } async function a4(a, l) { return ua(`/api/wallets/${a}/send`, l) } async function s4() { return (await Ml("/api/wallets/portfolio")).data } const l4 = { ETH: "ETH", BNB: "BSC", BTC: "BTC", TRX: "TRX", SOL: "SOL" }; function Dv(a, l) { const i = a == null ? void 0 : a.toUpperCase(); return em.includes(i) ? i : (l ? l4[l.toUpperCase()] : void 0) ?? null } function cu(a) { const l = typeof a == "number" ? a : parseFloat(a ?? ""); return Number.isFinite(l) ? l : 0 } function Yg(a) { return { raw: a.raw, formatted: a.formatted, decimals: a.decimals, usdPrice: cu(a.usd_price), usdValue: cu(a.usd_value) } } function i4(a, l) { const i = {}; for (const [r, d] of Object.entries(a.tokens ?? {})) i[r] = Yg(d); return { chain: l, address: a.address, native: Yg(a.native), tokens: i, totalUsd: cu(a.total_usd), stale: !1, lastUpdated: 0 } } async function Uv() { const a = await XN(), l = {}; for (const i of a.items ?? []) { const r = Dv(i.chain, i.native_symbol); r && (l[r] = i4(i, r)) } return { totalUsd: cu(a.total_usd), hasErrors: !!a.has_errors, perChain: l } } const o4 = { raw: "0", formatted: "0", decimals: 0, usdPrice: 0, usdValue: 0 }; async function r4(a) { const i = (await Uv()).perChain[a]; return i ? { chain: a, address: i.address, native: i.native, tokens: i.tokens } : { chain: a, address: "", native: o4, tokens: {} } } async function c4() { const a = await KN(), l = []; for (const i of a ?? []) { const r = Dv(i.chain); r && l.push({ chain: r, address: i.address, derivationPath: i.derivation_path }) } return l } async function u4() { return (await Ml("/api/tokens")).data } async function d4() { var l; const a = await Ml("/api/jumper/tokens?chains=1,56,1151111081099710,728126428,20000000000001"); return ((l = a.data) == null ? void 0 : l.tokens) ?? a.tokens ?? {} } async function f4(a) { var r; const l = new URLSearchParams({ fromChain: a.fromChain, toChain: a.toChain, fromToken: a.fromToken, toToken: a.toToken, fromAmount: a.fromAmount, fromAddress: a.fromAddress, toAddress: a.toAddress, slippage: String(a.slippage) }).toString(), i = await Ml(`/api/jumper/quote-best?${l}`); return ((r = i.data) == null ? void 0 : r.body) ?? i.body ?? i } async function h4(a) { var i; const l = await ua("/api/bridge/execute", a, !0, { "Idempotency-Key": crypto.randomUUID() }); return ((i = l.data) == null ? void 0 : i.data) ?? l } async function m4(a) { return ua("/api/relay/quote", a) } async function p4(a) { return ua("/api/relay/execute/swap", a) } async function g4(a, l) { const i = `relay-${a.toLowerCase()}-${Date.now()}`; return ua(`/api/wallets/${a}/sign-raw-evm-tx`, l, !0, { "Idempotency-Key": i }) } async function v4(a) { return ua("/api/wallets/SOL/sign-and-broadcast-tx", a) } async function Hv(a) { return (await ua("/api/wallets/TRX/swap/quote", a)).data } async function y4(a) { return ua("/api/wallets/TRX/swap", { quoteId: a }, !0, { "Idempotency-Key": `trx-${Date.now()}` }) } async function _4() { await ua("/api/wallets/create", {}) } async function b4() { return (await ua("/api/wallets/mnemonic/reveal", { confirm: "I_UNDERSTAND_SEED_IS_SECRET" })).data.mnemonic } function tm() { const { data: a } = yn(); return { isLegal: (a == null ? void 0 : a.account_type) === "legal_entity", ready: !!a } } function Yi(a) { const { isLegal: l, ready: i } = tm(); return Ct({ queryKey: ["wallet", "balance", a, l ? "org" : "self"], queryFn: l ? () => r4(a) : () => n4(a), enabled: i, staleTime: 3e4 }) } function x4() { return yt({ mutationFn: ({ chain: a, ...l }) => a4(a, l) }) } function vu() { const { isLegal: a, ready: l } = tm(); return Ct({ queryKey: ["wallet", "addresses", a ? "org" : "self"], queryFn: a ? c4 : t4, enabled: l, staleTime: 600 * 1e3 }) } function yu() { const { isLegal: a, ready: l } = tm(); return Ct({ queryKey: ["wallet", "portfolio", a ? "org" : "self"], queryFn: a ? Uv : s4, enabled: l, staleTime: 3e4 }) } function A4() { return Ct({ queryKey: ["wallet", "tokens"], queryFn: u4, staleTime: 600 * 1e3 }) } function S4() { return Ct({ queryKey: ["wallet", "jumper", "tokens"], queryFn: d4, staleTime: 600 * 1e3 }) } function j4() { return yt({ mutationFn: a => f4(a) }) } function w4() { return yt({ mutationFn: a => h4(a) }) } function E4() { return yt({ mutationFn: _4 }) } function qv(a = !0) { return Ct({ queryKey: ["wallet", "mnemonic"], queryFn: b4, staleTime: 1 / 0, retry: !1, enabled: a }) } function Pv(a) { return Ct({ queryKey: ["relay", "quote", a == null ? void 0 : a.originChainId, a == null ? void 0 : a.destinationChainId, a == null ? void 0 : a.originCurrency, a == null ? void 0 : a.destinationCurrency, a == null ? void 0 : a.amount], queryFn: () => m4(a), enabled: !!a, staleTime: 1e4 }) } function N4() { return yt({ mutationFn: a => p4(a) }) } function C4() { return yt({ mutationFn: ({ chain: a, txData: l }) => a === "SOL" ? v4(l) : g4(a, l) }) } function T4(a) { return Ct({ queryKey: ["trx", "quote", a == null ? void 0 : a.from, a == null ? void 0 : a.to, a == null ? void 0 : a.amountHuman], queryFn: () => Hv(a), enabled: !!a, staleTime: 1e4 }) } function R4() { return yt({ mutationFn: Hv }) } function k4() { return yt({ mutationFn: a => y4(a) }) } const B4 = "_card_2hfzd_1", O4 = "_label_2hfzd_18", L4 = "_amountRow_2hfzd_27", M4 = "_amount_2hfzd_27", z4 = "_toggle_2hfzd_40", D4 = "_actions_2hfzd_69", U4 = "_btn_2hfzd_74", Fa = { card: B4, label: O4, amountRow: L4, amount: M4, toggle: z4, actions: D4, btn: U4 }, H4 = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%2020010904//EN'%20'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'%3e%3csvg%20version='1.0'%20xmlns='http://www.w3.org/2000/svg'%20width='309.147797pt'%20height='144.859221pt'%20viewBox='0%200%20309.147797%20144.859221'%20preserveAspectRatio='xMidYMid%20meet'%3e%3cmetadata%3e%20Created%20by%20potrace%201.16,%20written%20by%20Peter%20Selinger%202001-2019%20%3c/metadata%3e%3crect%20width='100%25'%20height='100%25'%20fill='none'/%3e%3cg%20transform='translate(-8.181291,146.963747)%20scale(0.100000,-0.100000)'%20fill='%23ffffff'%20stroke='none'%3e%3cpath%20d='M685%201459%20c-328%20-55%20-585%20-344%20-602%20-679%20-14%20-267%20104%20-496%20334%20-643%20282%20-183%20645%20-142%20888%2098%2098%2096%20128%20143%20325%20490%2084%20149%20172%20300%20195%20336%20180%20279%20488%20420%20765%20350%20253%20-64%20426%20-222%20507%20-466%2024%20-70%2027%20-96%2027%20-205%200%20-109%20-3%20-135%20-27%20-207%20-49%20-148%20-167%20-293%20-306%20-377%20-261%20-159%20-617%20-110%20-830%20114%20-30%2032%20-73%2089%20-96%20126%20-43%2070%20-75%2094%20-75%2055%200%20-29%20113%20-194%20163%20-236%20141%20-122%20290%20-185%20453%20-193%20126%20-6%20219%2010%20318%2053%20206%2089%20356%20258%20426%20480%2030%2095%2031%20257%202%20367%20-37%20138%20-111%20259%20-219%20357%20-81%2075%20-234%20154%20-338%20176%20-249%2052%20-515%20-37%20-697%20-234%20-76%20-82%20-145%20-187%20-283%20-436%20-161%20-288%20-191%20-340%20-242%20-412%20-81%20-115%20-208%20-214%20-342%20-266%20-64%20-25%20-94%20-31%20-189%20-35%20-146%20-6%20-213%208%20-341%2070%20-88%2042%20-117%2062%20-181%20127%20-166%20169%20-236%20408%20-181%20623%2063%20245%20223%20419%20461%20499%20211%2071%20430%2028%20628%20-124%2055%20-41%20134%20-138%20184%20-222%2026%20-43%2048%20-52%2048%20-20%200%2019%20-53%20108%20-101%20170%20-147%20193%20-433%20305%20-674%20264z'/%3e%3cpath%20d='M2339%201018%20c-51%20-95%20-108%20-198%20-126%20-228%20-18%20-30%20-33%20-61%20-33%20-69%200%20-13%2053%20-102%20191%20-323%2040%20-65%2059%20-87%2073%20-85%2026%203%20198%20279%20183%20293%20-8%209%20-85%20-89%20-132%20-168%20-26%20-44%20-49%20-77%20-51%20-75%20-17%2016%20-174%20280%20-170%20285%203%203%2042%20-16%2087%20-42%2077%20-45%2082%20-47%20105%20-31%2030%2020%2032%2039%202%2031%20-17%20-4%20-51%2012%20-125%2057%20-57%2034%20-103%2067%20-103%2074%200%2019%20194%20374%20204%20375%209%200%2048%20-66%20158%20-272%2048%20-90%2054%20-98%2070%20-82%209%209%20-1%2037%20-46%20124%20-96%20187%20-166%20308%20-180%20308%20-7%200%20-55%20-78%20-107%20-172z'/%3e%3cpath%20d='M688%201083%20l-3%20-38%20-57%20-3%20c-50%20-3%20-58%20-6%20-58%20-22%200%20-16%207%20-20%2030%20-20%20l30%200%20-2%20-247%20-3%20-248%20-27%20-3%20c-30%20-4%20-38%20-26%20-12%20-36%209%20-3%2035%20-6%2059%20-6%2043%200%2044%200%2047%20-37%202%20-27%208%20-39%2021%20-41%2014%20-3%2017%204%2017%2037%200%2037%203%2041%2024%2041%2021%200%2025%20-5%2028%20-37%204%20-52%2032%20-52%2036%20-2%203%2036%205%2037%2050%2044%2059%209%2093%2026%20125%2065%2054%2063%2048%20152%20-15%20214%20l-40%2040%2021%2037%20c12%2020%2021%2049%2021%2063%200%2065%20-58%20137%20-120%20151%20-23%205%20-30%2012%20-30%2030%200%2034%20-10%2055%20-26%2055%20-8%200%20-14%20-10%20-14%20-24%200%20-39%20-11%20-56%20-35%20-56%20-20%200%20-24%206%20-27%2037%20-2%2026%20-8%2039%20-20%2041%20-13%202%20-17%20-5%20-20%20-35z%20m176%20-97%20c42%20-18%2066%20-51%2066%20-94%200%20-76%20-42%20-102%20-165%20-102%20l-85%200%200%20105%200%20105%2075%200%20c42%200%2090%20-6%20109%20-14z%20m67%20-253%20c41%20-24%2062%20-83%2049%20-133%20-19%20-72%20-87%20-103%20-218%20-98%20l-77%203%20-3%20109%20c-1%2061%200%20116%202%20123%208%2021%20210%2018%20247%20-4z'/%3e%3c/g%3e%3c/svg%3e", q4 = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%2020010904//EN'%20'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'%3e%3csvg%20version='1.0'%20xmlns='http://www.w3.org/2000/svg'%20width='735.823910pt'%20height='388.545063pt'%20viewBox='0%200%20735.823910%20388.545063'%20preserveAspectRatio='xMidYMid%20meet'%3e%3cmetadata%3e%20Created%20by%20potrace%201.16,%20written%20by%20Peter%20Selinger%202001-2019%20%3c/metadata%3e%3crect%20width='100%25'%20height='100%25'%20fill='none'/%3e%3cg%20transform='translate(-7.217511,405.779758)%20scale(0.100000,-0.100000)'%20fill='%23ffffff'%20stroke='none'%3e%3cpath%20d='M1798%204049%20c-430%20-42%20-842%20-238%20-1148%20-548%20-301%20-304%20-486%20-664%20-555%20-1081%20-25%20-154%20-31%20-424%20-11%20-560%2078%20-530%20310%20-943%20721%20-1283%20108%20-89%20335%20-218%20495%20-280%20396%20-155%20886%20-166%201300%20-28%20135%2045%20358%20157%20475%20239%20266%20185%20495%20448%20625%20720%2024%2050%2047%2092%2050%2092%203%200%2034%20-57%2070%20-127%20192%20-377%20514%20-681%20905%20-855%20474%20-212%201031%20-221%201510%20-26%20569%20233%20990%20720%201136%201313%20126%20515%2051%201029%20-217%201487%20-254%20433%20-705%20771%20-1187%20887%20-194%2047%20-261%2055%20-447%2055%20-245%201%20-433%20-30%20-660%20-109%20-263%20-91%20-537%20-269%20-741%20-481%20-117%20-122%20-269%20-344%20-338%20-492%20-14%20-29%20-27%20-52%20-31%20-52%20-3%200%20-21%2030%20-39%2068%20-103%20210%20-277%20437%20-456%20595%20-395%20347%20-927%20517%20-1457%20466z%20m432%20-83%20c648%20-87%201206%20-513%201457%20-1113%2058%20-139%2070%20-143%20109%20-40%2086%20229%20283%20517%20465%20681%20172%20156%20423%20309%20613%20375%20241%2085%20441%20116%20686%20108%20197%20-7%20344%20-32%20523%20-91%20549%20-180%20993%20-630%201176%20-1194%2072%20-221%2086%20-314%2086%20-587%20-1%20-268%20-10%20-343%20-70%20-540%20-168%20-552%20-569%20-985%20-1113%20-1199%20-194%20-76%20-520%20-130%20-722%20-120%20-606%2032%20-1137%20334%20-1468%20835%20-54%2082%20-134%20237%20-172%20334%20-46%20115%20-55%20113%20-110%20-22%20-174%20-433%20-499%20-773%20-932%20-978%20-184%20-87%20-403%20-143%20-642%20-165%20-291%20-26%20-662%2047%20-937%20185%20-449%20225%20-784%20611%20-938%201082%20-71%20216%20-86%20314%20-86%20583%200%20183%204%20256%2018%20330%2091%20489%20342%20897%20733%201191%20256%20193%20549%20309%20889%20352%2076%2010%20340%205%20435%20-7z'/%3e%3cpath%20d='M5120%202656%20c0%20-459%20-2%20-515%20-16%20-520%20-9%20-3%20-78%20-6%20-155%20-6%20l-139%200%200%20-55%200%20-55%20155%200%20156%200%20-3%20-127%20-3%20-128%20-150%20-5%20-150%20-5%20-3%20-47%20-3%20-48%20155%200%20156%200%202%20-327%203%20-328%2055%200%2055%200%203%20327%202%20328%20363%202%20362%203%200%2045%200%2045%20-360%205%20-360%205%20-3%20127%20-3%20126%20383%204%20383%204%2082%2027%20c246%2082%20396%20288%20395%20542%200%20234%20-134%20436%20-345%20522%20-109%2045%20-207%2053%20-629%2053%20l-388%200%200%20-514z%20m940%20375%20c171%20-60%20266%20-168%20306%20-351%2052%20-230%20-99%20-468%20-337%20-531%20-47%20-13%20-722%20-26%20-765%20-15%20l-24%206%200%20461%200%20461%20378%20-4%20c362%20-4%20380%20-5%20442%20-27z'/%3e%3cpath%20d='M1199%203044%20c-5%20-7%20-8%20-75%20-7%20-155%20l3%20-144%20300%20-5%20300%20-5%203%20-317%202%20-318%20190%200%20c174%200%20190%201%20191%2018%200%209%201%20152%202%20317%20l2%20300%20303%203%20302%202%200%20155%20c0%20117%20-3%20155%20-12%20156%20-7%200%20-363%201%20-791%202%20-571%201%20-781%20-1%20-788%20-9z'/%3e%3cpath%20d='M1555%202404%20c-279%20-30%20-473%20-77%20-561%20-137%20-209%20-141%2095%20-294%20668%20-336%2064%20-5%20121%20-12%20127%20-15%208%20-5%2011%20-136%2011%20-437%20l0%20-429%20193%202%20192%203%203%20433%20c2%20403%203%20432%2020%20432%209%200%2082%207%20162%2015%20357%2035%20609%20109%20668%20195%2077%20115%20-127%20217%20-528%20264%20-240%2028%20-269%2029%20-276%2011%20-4%20-9%20-3%20-20%202%20-25%205%20-5%2070%20-14%20144%20-20%20276%20-23%20501%20-75%20562%20-129%2043%20-39%2033%20-63%20-45%20-100%20-321%20-157%20-1451%20-161%20-1799%20-8%20-68%2030%20-94%2062%20-75%2092%2040%2062%20261%20118%20577%20145%2074%207%20139%2015%20143%2019%204%204%205%2015%201%2024%20-7%2020%20-13%2020%20-189%201z'/%3e%3cpath%20d='M3365%202095%20c-30%20-30%20-31%20-54%20-4%20-89%2040%20-50%20119%20-21%20119%2044%200%2064%20-70%2091%20-115%2045z'/%3e%3cpath%20d='M3726%202099%20c-52%20-41%20-24%20-119%2044%20-119%2031%200%2044%208%2059%2037%2017%2033%2014%2051%20-14%2078%20-30%2030%20-54%2031%20-89%204z'/%3e%3cpath%20d='M4100%202113%20c-42%20-17%20-53%20-80%20-19%20-114%2028%20-28%2076%20-22%20102%2013%2018%2024%2019%2030%207%2058%20-16%2039%20-53%2057%20-90%2043z'/%3e%3c/g%3e%3c/svg%3e"; function P4() { var m; const { data: a, isLoading: l } = yu(), [i, r] = A.useState("usd"), d = Tv(i === "rub" ? nu : 0), f = Number((m = d.data) == null ? void 0 : m.usdt_exchange_rate) || 0, h = l || !a || a.totalUsd == null ? null : a.totalUsd; let g; return i === "usd" ? g = h == null ? "$—" : `$${h.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` : g = h == null || f <= 0 ? "— ₽" : `${(h * f).toLocaleString("ru-RU", { minimumFractionDigits: 2, maximumFractionDigits: 2 })} ₽`, o.jsxs("div", { className: Fa.card, children: [o.jsxs("div", { className: Fa.left, children: [o.jsx("div", { className: Fa.label, children: "Общий баланс" }), o.jsxs("div", { className: Fa.amountRow, children: [o.jsx("div", { className: Fa.amount, children: g }), o.jsx("button", { type: "button", className: Fa.toggle, onClick: () => r(p => p === "usd" ? "rub" : "usd"), "aria-label": "Переключить валюту", children: i === "usd" ? "₽" : "$" })] })] }), o.jsxs("div", { className: Fa.actions, children: [o.jsxs(gn, { to: ae.CONVERTER, className: Fa.btn, type: "button", children: [o.jsx("img", { src: q4, alt: "swap" }), "Пополнить кошелёк"] }), o.jsxs(gn, { to: ae.SWAP, className: Fa.btn, type: "button", children: [o.jsx("img", { src: H4, alt: "topup" }), "Своп / Бридж"] })] })] }) } function nt(a, l = 8) { const i = typeof a == "number" ? a.toString() : a, r = i.indexOf("."); return r === -1 ? i : i.slice(0, r + 1 + l) } const Q4 = [{ ticker: "BTC", name: "Bitcoin", logo: _e.BTC, color: "#F7931A", price: "$66,916.00", change: .12, bal: "0.003295", usd: "$220.57", fav: !0 }, { ticker: "ETH", name: "Ethereum", logo: _e.ETH, color: "#627EEA", price: "$2,053.97", change: -.12, bal: "0.07636", usd: "$156.51", fav: !1 }, { ticker: "SOL", name: "Solana", logo: _e.SOL, color: "#9945FF", price: "$163.84", change: -1.57, bal: "0.07636", usd: "$156.51", fav: !1 }, { ticker: "TRX", name: "Tron", logo: _e.TRX, color: "#FF060A", price: "$0.1197", change: 1.33, bal: "0.07636", usd: "$156.51", fav: !1 }, { ticker: "BNB", name: "BNB", logo: _e.BNB, color: "#F3BA2F", price: "$0.00", change: 0, bal: "0.00000", usd: "$0.00", fav: !1 }], F4 = { BTC: "BTC", ETH: "ETH", SOL: "SOL", TRX: "TRX", BSC: "BNB" }, Y4 = { BTC: "Bitcoin", ETH: "Ethereum", SOL: "Solana", TRX: "Tron", BSC: "BNB" }, Qv = "#2A2D3A"; function Fv(a) { return a == null ? "$—" : `$${a.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` } function Yv(a) { return a == null ? "$—" : a >= 1 ? `$${a.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` : `$${a.toLocaleString("en-US", { minimumFractionDigits: 4, maximumFractionDigits: 6 })}` } function Iv(a) { return Q4.find(l => l.ticker === a) } function Gv(a, l) { const i = F4[a], r = Iv(i); return { id: `${a}-${i}`, chain: a, ticker: i, name: Y4[a], logo: Vt(i) ?? (r == null ? void 0 : r.logo), color: (r == null ? void 0 : r.color) ?? Qv, price: Yv(l.usdPrice), change: 0, bal: nt(l.formatted), usd: Fv(l.usdValue), usdValue: l.usdValue, fav: !1 } } function Kv(a, l, i) { const r = Iv(l); return { id: `${a}-${l}`, chain: a, ticker: l, name: (r == null ? void 0 : r.name) ?? l, logo: Vt(l) ?? (r == null ? void 0 : r.logo), color: (r == null ? void 0 : r.color) ?? Qv, price: Yv(i.usdPrice), change: 0, bal: nt(i.formatted), usd: Fv(i.usdValue), usdValue: i.usdValue, fav: !1 } } function Ig(a) { return parseFloat(a.formatted) > 0 } function I4(a) { const { data: l, isLoading: i } = Yi(a); if (!l) return { rows: [], isLoading: i }; const r = Gv(a, l.native), d = Object.entries(l.tokens ?? {}).map(([f, h]) => Kv(a, f, h)); return { rows: [r, ...d], isLoading: i } } function G4() { var f; const { data: a, isLoading: l } = yu(), { data: i } = yn(), r = (i == null ? void 0 : i.account_type) === "legal_entity"; if (!a) return { rows: [], isLoading: l }; const d = []; for (const h of em) { const g = (f = a.perChain) == null ? void 0 : f[h]; if (!g) continue; const m = []; g.native && (r || Ig(g.native)) && m.push(Gv(h, g.native)); for (const [p, y] of Object.entries(g.tokens ?? {})) !r && !Ig(y) || m.push(Kv(h, p, y)); m.sort((p, y) => (y.usdValue ?? 0) - (p.usdValue ?? 0)), d.push(...m) } return { rows: d, isLoading: l } } const K4 = { ETH: ["USDT", "USDC", "DAI", "WBTC", "LINK", "UNI"], BSC: ["USDT", "USDC", "BUSD", "WBNB", "DOGE"], BTC: [], TRX: ["USDT", "USDC"], SOL: ["USDC", "USDT", "RAY", "BONK", "JTO", "PYTH", "WIF", "JUP", "ORCA", "MNGO", "MSOL", "STSOL", "SAMO", "ATLAS"] }, X4 = { ETH: { label: "Ethereum", nativeSymbol: "ETH", hasToken: !0, hasFeeTier: !0, addressPlaceholder: "0x…", unit: "wei", color: "#627EEA", nativeDecimals: 18 }, BSC: { label: "BSC Chain", nativeSymbol: "BSC", hasToken: !0, hasFeeTier: !1, addressPlaceholder: "0x…", unit: "wei", color: "#F3BA2F", nativeDecimals: 18 }, BTC: { label: "Bitcoin", nativeSymbol: "BTC", hasToken: !1, hasFeeTier: !0, addressPlaceholder: "bc1q…", unit: "satoshi", color: "#F7931A", nativeDecimals: 8 }, TRX: { label: "Tron", nativeSymbol: "TRX", hasToken: !0, hasFeeTier: !1, addressPlaceholder: "T…", unit: "sun", color: "#FF060A", nativeDecimals: 6 }, SOL: { label: "Solana", nativeSymbol: "SOL", hasToken: !0, hasFeeTier: !1, addressPlaceholder: "Fg3R…", unit: "lamport", color: "#9945FF", nativeDecimals: 9 } }, V4 = { BTC: "BTC", ETH: "ETH", SOL: "SOL", TRX: "TRX", BSC: "BSC" }, Z4 = "_overlay_1hejd_1", W4 = "_dialog_1hejd_14", J4 = "_dialogIn_1hejd_1", $4 = "_header_1hejd_37", eC = "_title_1hejd_44", tC = "_close_1hejd_50", nC = "_selectsRow_1hejd_72", aC = "_selectGroup_1hejd_79", sC = "_selectLabel_1hejd_83", lC = "_selectTrigger_1hejd_93", iC = "_selectTriggerOpen_1hejd_112", oC = "_selectValue_1hejd_117", rC = "_chevron_1hejd_125", cC = "_chevronOpen_1hejd_131", uC = "_tokenDot_1hejd_137", dC = "_speedDot_1hejd_158", fC = "_speedDot_slow_1hejd_165", hC = "_speedDot_normal_1hejd_170", mC = "_speedDot_fast_1hejd_175", pC = "_dropdown_1hejd_182", gC = "_dropdownItem_1hejd_195", vC = "_dropdownItemActive_1hejd_215", yC = "_dropdownTicker_1hejd_220", _C = "_dropdownName_1hejd_225", bC = "_field_1hejd_233", xC = "_fieldLabel_1hejd_237", AC = "_input_1hejd_247", SC = "_amountWrap_1hejd_283", jC = "_amountInput_1hejd_287", wC = "_amountTicker_1hejd_291", EC = "_maxHint_1hejd_304", NC = "_maxBtn_1hejd_314", CC = "_errorMsg_1hejd_333", TC = "_submitBtn_1hejd_346", de = { overlay: Z4, dialog: W4, dialogIn: J4, header: $4, title: eC, close: tC, selectsRow: nC, selectGroup: aC, selectLabel: sC, selectTrigger: lC, selectTriggerOpen: iC, selectValue: oC, chevron: rC, chevronOpen: cC, tokenDot: uC, speedDot: dC, speedDot_slow: fC, speedDot_normal: hC, speedDot_fast: mC, dropdown: pC, dropdownItem: gC, dropdownItemActive: vC, dropdownTicker: yC, dropdownName: _C, field: bC, fieldLabel: xC, input: AC, amountWrap: SC, amountInput: jC, amountTicker: wC, maxHint: EC, maxBtn: NC, errorMsg: CC, submitBtn: TC }, Gg = [{ value: "slow", label: "Медленно" }, { value: "normal", label: "Нормально" }, { value: "fast", label: "Быстро" }]; function RC(a) { var l; if (a instanceof Error) return a.message; if (a && typeof a == "object") { const i = a; if (typeof i.message == "string") return i.message; if (typeof i.error == "string") return i.error; if (Array.isArray(i.detail) && ((l = i.detail[0]) != null && l.msg)) return String(i.detail[0].msg) } return "Что-то пошло не так. Попробуйте ещё раз." } function kC({ open: a, onClose: l, network: i, tokens: r = [], initialToken: d = "" }) { var ie; const f = X4[i], h = K4[i], [g, m] = A.useState(d), [p, y] = A.useState("normal"), [_, b] = A.useState(""), [S, j] = A.useState(""), [w, E] = A.useState(null), R = x4(), L = ((ie = Gg.find(te => te.value === p)) == null ? void 0 : ie.label) ?? "Нормально", B = g === "" ? f.nativeSymbol : g, P = r.find(te => te.ticker === (g === "" ? f.nativeSymbol : g)); if (A.useEffect(() => { m(d) }, [d]), A.useEffect(() => { m("") }, [i]), A.useEffect(() => { R.isSuccess && l() }, [R.isSuccess, l]), A.useEffect(() => { if (!a) { b(""), j(""), E(null), R.reset(); return } const te = pe => { pe.key === "Escape" && l() }; return document.addEventListener("keydown", te), () => document.removeEventListener("keydown", te) }, [a, l]), !a) return null; const G = f.hasToken, V = f.hasFeeTier, D = G || V, K = G && V ? 2 : 1; function ee() { w ? E(null) : l() } function re(te, pe) { const [ve, q = ""] = te.split("."), X = q.slice(0, pe).padEnd(pe, "0"); return (BigInt(ve || "0") * 10n ** BigInt(pe) + BigInt(X || "0")).toString() } function ce() { const pe = g === "" ? re(S, f.nativeDecimals) : S; R.mutate({ chain: i, to: _, amount: pe, ...g ? { token: g } : {}, ...f.hasFeeTier ? { feeTier: p } : {} }) } return o.jsx("div", { className: de.overlay, onClick: ee, children: o.jsxs("div", { className: de.dialog, onClick: te => te.stopPropagation(), children: [o.jsxs("div", { className: de.header, children: [o.jsxs("div", { className: de.headerLeft, children: [o.jsx("span", { className: de.chainDot, style: { background: f.color } }), o.jsxs("span", { className: de.title, children: ["Отправить · ", f.label] })] }), o.jsx("button", { className: de.close, onClick: l, type: "button", "aria-label": "Закрыть", children: o.jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", children: o.jsx("path", { d: "M1 1l12 12M13 1L1 13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) }) })] }), D && o.jsxs("div", { className: de.selectsRow, style: { gridTemplateColumns: `repeat(${K}, 1fr)` }, children: [G && o.jsxs("div", { className: de.selectGroup, children: [o.jsx("label", { className: de.selectLabel, children: "Токен" }), o.jsxs("button", { type: "button", className: `${de.selectTrigger} ${w === "token" ? de.selectTriggerOpen : ""}`, onClick: () => E(te => te === "token" ? null : "token"), children: [o.jsx("span", { className: de.tokenDot, style: { background: f.color }, children: Vt(B) ? o.jsx("img", { src: Vt(B), alt: B }) : B[0] }), o.jsx("span", { className: de.selectValue, children: B }), o.jsx("svg", { className: `${de.chevron} ${w === "token" ? de.chevronOpen : ""}`, width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", children: o.jsx("path", { d: "M2 4l4 4 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) })] }), w === "token" && o.jsxs("div", { className: de.dropdown, children: [o.jsxs("button", { type: "button", className: `${de.dropdownItem} ${g === "" ? de.dropdownItemActive : ""}`, onClick: () => { m(""), E(null) }, children: [o.jsx("span", { className: de.tokenDot, style: { background: f.color }, children: Vt(f.nativeSymbol) ? o.jsx("img", { src: Vt(f.nativeSymbol), alt: f.nativeSymbol }) : f.nativeSymbol[0] }), o.jsx("span", { className: de.dropdownTicker, children: f.nativeSymbol }), o.jsx("span", { className: de.dropdownName, children: "Нативный" })] }), h.map(te => o.jsxs("button", { type: "button", className: `${de.dropdownItem} ${g === te ? de.dropdownItemActive : ""}`, onClick: () => { m(te), E(null) }, children: [o.jsx("span", { className: de.tokenDot, style: { background: "rgba(255,255,255,0.12)" }, children: Vt(te) ? o.jsx("img", { src: Vt(te), alt: te }) : te[0] }), o.jsx("span", { className: de.dropdownTicker, children: te })] }, te))] })] }), V && o.jsxs("div", { className: de.selectGroup, children: [o.jsx("label", { className: de.selectLabel, children: "Скорость" }), o.jsxs("button", { type: "button", className: `${de.selectTrigger} ${w === "speed" ? de.selectTriggerOpen : ""}`, onClick: () => E(te => te === "speed" ? null : "speed"), children: [o.jsx("span", { className: `${de.speedDot} ${de[`speedDot_${p}`]}` }), o.jsx("span", { className: de.selectValue, children: L }), o.jsx("svg", { className: `${de.chevron} ${w === "speed" ? de.chevronOpen : ""}`, width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", children: o.jsx("path", { d: "M2 4l4 4 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) })] }), w === "speed" && o.jsx("div", { className: de.dropdown, children: Gg.map(te => o.jsxs("button", { type: "button", className: `${de.dropdownItem} ${te.value === p ? de.dropdownItemActive : ""}`, onClick: () => { y(te.value), E(null) }, children: [o.jsx("span", { className: `${de.speedDot} ${de[`speedDot_${te.value}`]}` }), o.jsx("span", { children: te.label })] }, te.value)) })] })] }), o.jsxs("div", { className: de.field, children: [o.jsx("label", { className: de.fieldLabel, children: "Адрес кошелька" }), o.jsx("input", { className: de.input, type: "text", placeholder: f.addressPlaceholder, value: _, onChange: te => b(te.target.value), autoComplete: "off", spellCheck: !1 })] }), o.jsxs("div", { className: de.field, children: [o.jsx("label", { className: de.fieldLabel, children: "Количество" }), o.jsxs("div", { className: de.amountWrap, children: [o.jsx("input", { className: `${de.input} ${de.amountInput}`, type: "number", placeholder: "0.00", value: S, onChange: te => j(te.target.value), min: "0", step: "any" }), o.jsx("span", { className: de.amountTicker, children: B })] }), P && o.jsxs("div", { className: de.maxHint, children: ["Макс:", " ", o.jsxs("button", { type: "button", className: de.maxBtn, onClick: () => j(P.bal), children: [P.bal, " ", B] })] })] }), R.isError && o.jsx("div", { className: de.errorMsg, children: RC(R.error) }), o.jsx("button", { className: de.submitBtn, type: "button", disabled: R.isPending, onClick: ce, children: R.isPending ? "Отправка…" : "Отправить" })] }) }) } var BC = Object.defineProperty, uu = Object.getOwnPropertySymbols, Xv = Object.prototype.hasOwnProperty, Vv = Object.prototype.propertyIsEnumerable, Kg = (a, l, i) => l in a ? BC(a, l, { enumerable: !0, configurable: !0, writable: !0, value: i }) : a[l] = i, kh = (a, l) => { for (var i in l || (l = {})) Xv.call(l, i) && Kg(a, i, l[i]); if (uu) for (var i of uu(l)) Vv.call(l, i) && Kg(a, i, l[i]); return a }, Bh = (a, l) => { var i = {}; for (var r in a) Xv.call(a, r) && l.indexOf(r) < 0 && (i[r] = a[r]); if (a != null && uu) for (var r of uu(a)) l.indexOf(r) < 0 && Vv.call(a, r) && (i[r] = a[r]); return i };/**
* @license QR Code generator library (TypeScript)
* Copyright (c) Project Nayuki.
* SPDX-License-Identifier: MIT
*/var Ol; (a => { const l = class Re { constructor(m, p, y, _) { if (this.version = m, this.errorCorrectionLevel = p, this.modules = [], this.isFunction = [], m < Re.MIN_VERSION || m > Re.MAX_VERSION) throw new RangeError("Version value out of range"); if (_ < -1 || _ > 7) throw new RangeError("Mask value out of range"); this.size = m * 4 + 17; let b = []; for (let j = 0; j < this.size; j++)b.push(!1); for (let j = 0; j < this.size; j++)this.modules.push(b.slice()), this.isFunction.push(b.slice()); this.drawFunctionPatterns(); const S = this.addEccAndInterleave(y); if (this.drawCodewords(S), _ == -1) { let j = 1e9; for (let w = 0; w < 8; w++) { this.applyMask(w), this.drawFormatBits(w); const E = this.getPenaltyScore(); E < j && (_ = w, j = E), this.applyMask(w) } } d(0 <= _ && _ <= 7), this.mask = _, this.applyMask(_), this.drawFormatBits(_), this.isFunction = [] } static encodeText(m, p) { const y = a.QrSegment.makeSegments(m); return Re.encodeSegments(y, p) } static encodeBinary(m, p) { const y = a.QrSegment.makeBytes(m); return Re.encodeSegments([y], p) } static encodeSegments(m, p, y = 1, _ = 40, b = -1, S = !0) { if (!(Re.MIN_VERSION <= y && y <= _ && _ <= Re.MAX_VERSION) || b < -1 || b > 7) throw new RangeError("Invalid value"); let j, w; for (j = y; ; j++) { const B = Re.getNumDataCodewords(j, p) * 8, P = h.getTotalBits(m, j); if (P <= B) { w = P; break } if (j >= _) throw new RangeError("Data too long") } for (const B of [Re.Ecc.MEDIUM, Re.Ecc.QUARTILE, Re.Ecc.HIGH]) S && w <= Re.getNumDataCodewords(j, B) * 8 && (p = B); let E = []; for (const B of m) { i(B.mode.modeBits, 4, E), i(B.numChars, B.mode.numCharCountBits(j), E); for (const P of B.getData()) E.push(P) } d(E.length == w); const R = Re.getNumDataCodewords(j, p) * 8; d(E.length <= R), i(0, Math.min(4, R - E.length), E), i(0, (8 - E.length % 8) % 8, E), d(E.length % 8 == 0); for (let B = 236; E.length < R; B ^= 253)i(B, 8, E); let L = []; for (; L.length * 8 < E.length;)L.push(0); return E.forEach((B, P) => L[P >>> 3] |= B << 7 - (P & 7)), new Re(j, p, L, b) } getModule(m, p) { return 0 <= m && m < this.size && 0 <= p && p < this.size && this.modules[p][m] } getModules() { return this.modules } drawFunctionPatterns() { for (let y = 0; y < this.size; y++)this.setFunctionModule(6, y, y % 2 == 0), this.setFunctionModule(y, 6, y % 2 == 0); this.drawFinderPattern(3, 3), this.drawFinderPattern(this.size - 4, 3), this.drawFinderPattern(3, this.size - 4); const m = this.getAlignmentPatternPositions(), p = m.length; for (let y = 0; y < p; y++)for (let _ = 0; _ < p; _++)y == 0 && _ == 0 || y == 0 && _ == p - 1 || y == p - 1 && _ == 0 || this.drawAlignmentPattern(m[y], m[_]); this.drawFormatBits(0), this.drawVersion() } drawFormatBits(m) { const p = this.errorCorrectionLevel.formatBits << 3 | m; let y = p; for (let b = 0; b < 10; b++)y = y << 1 ^ (y >>> 9) * 1335; const _ = (p << 10 | y) ^ 21522; d(_ >>> 15 == 0); for (let b = 0; b <= 5; b++)this.setFunctionModule(8, b, r(_, b)); this.setFunctionModule(8, 7, r(_, 6)), this.setFunctionModule(8, 8, r(_, 7)), this.setFunctionModule(7, 8, r(_, 8)); for (let b = 9; b < 15; b++)this.setFunctionModule(14 - b, 8, r(_, b)); for (let b = 0; b < 8; b++)this.setFunctionModule(this.size - 1 - b, 8, r(_, b)); for (let b = 8; b < 15; b++)this.setFunctionModule(8, this.size - 15 + b, r(_, b)); this.setFunctionModule(8, this.size - 8, !0) } drawVersion() { if (this.version < 7) return; let m = this.version; for (let y = 0; y < 12; y++)m = m << 1 ^ (m >>> 11) * 7973; const p = this.version << 12 | m; d(p >>> 18 == 0); for (let y = 0; y < 18; y++) { const _ = r(p, y), b = this.size - 11 + y % 3, S = Math.floor(y / 3); this.setFunctionModule(b, S, _), this.setFunctionModule(S, b, _) } } drawFinderPattern(m, p) { for (let y = -4; y <= 4; y++)for (let _ = -4; _ <= 4; _++) { const b = Math.max(Math.abs(_), Math.abs(y)), S = m + _, j = p + y; 0 <= S && S < this.size && 0 <= j && j < this.size && this.setFunctionModule(S, j, b != 2 && b != 4) } } drawAlignmentPattern(m, p) { for (let y = -2; y <= 2; y++)for (let _ = -2; _ <= 2; _++)this.setFunctionModule(m + _, p + y, Math.max(Math.abs(_), Math.abs(y)) != 1) } setFunctionModule(m, p, y) { this.modules[p][m] = y, this.isFunction[p][m] = !0 } addEccAndInterleave(m) { const p = this.version, y = this.errorCorrectionLevel; if (m.length != Re.getNumDataCodewords(p, y)) throw new RangeError("Invalid argument"); const _ = Re.NUM_ERROR_CORRECTION_BLOCKS[y.ordinal][p], b = Re.ECC_CODEWORDS_PER_BLOCK[y.ordinal][p], S = Math.floor(Re.getNumRawDataModules(p) / 8), j = _ - S % _, w = Math.floor(S / _); let E = []; const R = Re.reedSolomonComputeDivisor(b); for (let B = 0, P = 0; B < _; B++) { let G = m.slice(P, P + w - b + (B < j ? 0 : 1)); P += G.length; const V = Re.reedSolomonComputeRemainder(G, R); B < j && G.push(0), E.push(G.concat(V)) } let L = []; for (let B = 0; B < E[0].length; B++)E.forEach((P, G) => { (B != w - b || G >= j) && L.push(P[B]) }); return d(L.length == S), L } drawCodewords(m) { if (m.length != Math.floor(Re.getNumRawDataModules(this.version) / 8)) throw new RangeError("Invalid argument"); let p = 0; for (let y = this.size - 1; y >= 1; y -= 2) { y == 6 && (y = 5); for (let _ = 0; _ < this.size; _++)for (let b = 0; b < 2; b++) { const S = y - b, w = (y + 1 & 2) == 0 ? this.size - 1 - _ : _; !this.isFunction[w][S] && p < m.length * 8 && (this.modules[w][S] = r(m[p >>> 3], 7 - (p & 7)), p++) } } d(p == m.length * 8) } applyMask(m) { if (m < 0 || m > 7) throw new RangeError("Mask value out of range"); for (let p = 0; p < this.size; p++)for (let y = 0; y < this.size; y++) { let _; switch (m) { case 0: _ = (y + p) % 2 == 0; break; case 1: _ = p % 2 == 0; break; case 2: _ = y % 3 == 0; break; case 3: _ = (y + p) % 3 == 0; break; case 4: _ = (Math.floor(y / 3) + Math.floor(p / 2)) % 2 == 0; break; case 5: _ = y * p % 2 + y * p % 3 == 0; break; case 6: _ = (y * p % 2 + y * p % 3) % 2 == 0; break; case 7: _ = ((y + p) % 2 + y * p % 3) % 2 == 0; break; default: throw new Error("Unreachable") }!this.isFunction[p][y] && _ && (this.modules[p][y] = !this.modules[p][y]) } } getPenaltyScore() { let m = 0; for (let b = 0; b < this.size; b++) { let S = !1, j = 0, w = [0, 0, 0, 0, 0, 0, 0]; for (let E = 0; E < this.size; E++)this.modules[b][E] == S ? (j++, j == 5 ? m += Re.PENALTY_N1 : j > 5 && m++) : (this.finderPenaltyAddHistory(j, w), S || (m += this.finderPenaltyCountPatterns(w) * Re.PENALTY_N3), S = this.modules[b][E], j = 1); m += this.finderPenaltyTerminateAndCount(S, j, w) * Re.PENALTY_N3 } for (let b = 0; b < this.size; b++) { let S = !1, j = 0, w = [0, 0, 0, 0, 0, 0, 0]; for (let E = 0; E < this.size; E++)this.modules[E][b] == S ? (j++, j == 5 ? m += Re.PENALTY_N1 : j > 5 && m++) : (this.finderPenaltyAddHistory(j, w), S || (m += this.finderPenaltyCountPatterns(w) * Re.PENALTY_N3), S = this.modules[E][b], j = 1); m += this.finderPenaltyTerminateAndCount(S, j, w) * Re.PENALTY_N3 } for (let b = 0; b < this.size - 1; b++)for (let S = 0; S < this.size - 1; S++) { const j = this.modules[b][S]; j == this.modules[b][S + 1] && j == this.modules[b + 1][S] && j == this.modules[b + 1][S + 1] && (m += Re.PENALTY_N2) } let p = 0; for (const b of this.modules) p = b.reduce((S, j) => S + (j ? 1 : 0), p); const y = this.size * this.size, _ = Math.ceil(Math.abs(p * 20 - y * 10) / y) - 1; return d(0 <= _ && _ <= 9), m += _ * Re.PENALTY_N4, d(0 <= m && m <= 2568888), m } getAlignmentPatternPositions() { if (this.version == 1) return []; { const m = Math.floor(this.version / 7) + 2, p = this.version == 32 ? 26 : Math.ceil((this.version * 4 + 4) / (m * 2 - 2)) * 2; let y = [6]; for (let _ = this.size - 7; y.length < m; _ -= p)y.splice(1, 0, _); return y } } static getNumRawDataModules(m) { if (m < Re.MIN_VERSION || m > Re.MAX_VERSION) throw new RangeError("Version number out of range"); let p = (16 * m + 128) * m + 64; if (m >= 2) { const y = Math.floor(m / 7) + 2; p -= (25 * y - 10) * y - 55, m >= 7 && (p -= 36) } return d(208 <= p && p <= 29648), p } static getNumDataCodewords(m, p) { return Math.floor(Re.getNumRawDataModules(m) / 8) - Re.ECC_CODEWORDS_PER_BLOCK[p.ordinal][m] * Re.NUM_ERROR_CORRECTION_BLOCKS[p.ordinal][m] } static reedSolomonComputeDivisor(m) { if (m < 1 || m > 255) throw new RangeError("Degree out of range"); let p = []; for (let _ = 0; _ < m - 1; _++)p.push(0); p.push(1); let y = 1; for (let _ = 0; _ < m; _++) { for (let b = 0; b < p.length; b++)p[b] = Re.reedSolomonMultiply(p[b], y), b + 1 < p.length && (p[b] ^= p[b + 1]); y = Re.reedSolomonMultiply(y, 2) } return p } static reedSolomonComputeRemainder(m, p) { let y = p.map(_ => 0); for (const _ of m) { const b = _ ^ y.shift(); y.push(0), p.forEach((S, j) => y[j] ^= Re.reedSolomonMultiply(S, b)) } return y } static reedSolomonMultiply(m, p) { if (m >>> 8 || p >>> 8) throw new RangeError("Byte out of range"); let y = 0; for (let _ = 7; _ >= 0; _--)y = y << 1 ^ (y >>> 7) * 285, y ^= (p >>> _ & 1) * m; return d(y >>> 8 == 0), y } finderPenaltyCountPatterns(m) { const p = m[1]; d(p <= this.size * 3); const y = p > 0 && m[2] == p && m[3] == p * 3 && m[4] == p && m[5] == p; return (y && m[0] >= p * 4 && m[6] >= p ? 1 : 0) + (y && m[6] >= p * 4 && m[0] >= p ? 1 : 0) } finderPenaltyTerminateAndCount(m, p, y) { return m && (this.finderPenaltyAddHistory(p, y), p = 0), p += this.size, this.finderPenaltyAddHistory(p, y), this.finderPenaltyCountPatterns(y) } finderPenaltyAddHistory(m, p) { p[0] == 0 && (m += this.size), p.pop(), p.unshift(m) } }; l.MIN_VERSION = 1, l.MAX_VERSION = 40, l.PENALTY_N1 = 3, l.PENALTY_N2 = 3, l.PENALTY_N3 = 40, l.PENALTY_N4 = 10, l.ECC_CODEWORDS_PER_BLOCK = [[-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], [-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], [-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], [-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]], l.NUM_ERROR_CORRECTION_BLOCKS = [[-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], [-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], [-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], [-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]], a.QrCode = l; function i(g, m, p) { if (m < 0 || m > 31 || g >>> m) throw new RangeError("Value out of range"); for (let y = m - 1; y >= 0; y--)p.push(g >>> y & 1) } function r(g, m) { return (g >>> m & 1) != 0 } function d(g) { if (!g) throw new Error("Assertion error") } const f = class gt { constructor(m, p, y) { if (this.mode = m, this.numChars = p, this.bitData = y, p < 0) throw new RangeError("Invalid argument"); this.bitData = y.slice() } static makeBytes(m) { let p = []; for (const y of m) i(y, 8, p); return new gt(gt.Mode.BYTE, m.length, p) } static makeNumeric(m) { if (!gt.isNumeric(m)) throw new RangeError("String contains non-numeric characters"); let p = []; for (let y = 0; y < m.length;) { const _ = Math.min(m.length - y, 3); i(parseInt(m.substring(y, y + _), 10), _ * 3 + 1, p), y += _ } return new gt(gt.Mode.NUMERIC, m.length, p) } static makeAlphanumeric(m) { if (!gt.isAlphanumeric(m)) throw new RangeError("String contains unencodable characters in alphanumeric mode"); let p = [], y; for (y = 0; y + 2 <= m.length; y += 2) { let _ = gt.ALPHANUMERIC_CHARSET.indexOf(m.charAt(y)) * 45; _ += gt.ALPHANUMERIC_CHARSET.indexOf(m.charAt(y + 1)), i(_, 11, p) } return y < m.length && i(gt.ALPHANUMERIC_CHARSET.indexOf(m.charAt(y)), 6, p), new gt(gt.Mode.ALPHANUMERIC, m.length, p) } static makeSegments(m) { return m == "" ? [] : gt.isNumeric(m) ? [gt.makeNumeric(m)] : gt.isAlphanumeric(m) ? [gt.makeAlphanumeric(m)] : [gt.makeBytes(gt.toUtf8ByteArray(m))] } static makeEci(m) { let p = []; if (m < 0) throw new RangeError("ECI assignment value out of range"); if (m < 128) i(m, 8, p); else if (m < 16384) i(2, 2, p), i(m, 14, p); else if (m < 1e6) i(6, 3, p), i(m, 21, p); else throw new RangeError("ECI assignment value out of range"); return new gt(gt.Mode.ECI, 0, p) } static isNumeric(m) { return gt.NUMERIC_REGEX.test(m) } static isAlphanumeric(m) { return gt.ALPHANUMERIC_REGEX.test(m) } getData() { return this.bitData.slice() } static getTotalBits(m, p) { let y = 0; for (const _ of m) { const b = _.mode.numCharCountBits(p); if (_.numChars >= 1 << b) return 1 / 0; y += 4 + b + _.bitData.length } return y } static toUtf8ByteArray(m) { m = encodeURI(m); let p = []; for (let y = 0; y < m.length; y++)m.charAt(y) != "%" ? p.push(m.charCodeAt(y)) : (p.push(parseInt(m.substring(y + 1, y + 3), 16)), y += 2); return p } }; f.NUMERIC_REGEX = /^[0-9]*$/, f.ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\/:-]*$/, f.ALPHANUMERIC_CHARSET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:"; let h = f; a.QrSegment = f })(Ol || (Ol = {})); (a => { (l => { const i = class { constructor(d, f) { this.ordinal = d, this.formatBits = f } }; i.LOW = new i(0, 1), i.MEDIUM = new i(1, 0), i.QUARTILE = new i(2, 3), i.HIGH = new i(3, 2), l.Ecc = i })(a.QrCode || (a.QrCode = {})) })(Ol || (Ol = {})); (a => { (l => { const i = class { constructor(d, f) { this.modeBits = d, this.numBitsCharCount = f } numCharCountBits(d) { return this.numBitsCharCount[Math.floor((d + 7) / 17)] } }; i.NUMERIC = new i(1, [10, 12, 14]), i.ALPHANUMERIC = new i(2, [9, 11, 13]), i.BYTE = new i(4, [8, 16, 16]), i.KANJI = new i(8, [8, 10, 12]), i.ECI = new i(7, [0, 0, 0]), l.Mode = i })(a.QrSegment || (a.QrSegment = {})) })(Ol || (Ol = {})); var Ni = Ol;/**
* @license qrcode.react
* Copyright (c) Paul O'Shannessy
* SPDX-License-Identifier: ISC
*/var OC = { L: Ni.QrCode.Ecc.LOW, M: Ni.QrCode.Ecc.MEDIUM, Q: Ni.QrCode.Ecc.QUARTILE, H: Ni.QrCode.Ecc.HIGH }, Zv = 128, Wv = "L", Jv = "#FFFFFF", $v = "#000000", ey = !1, ty = 1, LC = 4, MC = 0, zC = .1; function ny(a, l = 0) { const i = []; return a.forEach(function (r, d) { let f = null; r.forEach(function (h, g) { if (!h && f !== null) { i.push(`M${f + l} ${d + l}h${g - f}v1H${f + l}z`), f = null; return } if (g === r.length - 1) { if (!h) return; f === null ? i.push(`M${g + l},${d + l} h1v1H${g + l}z`) : i.push(`M${f + l},${d + l} h${g + 1 - f}v1H${f + l}z`); return } h && f === null && (f = g) }) }), i.join("") } function ay(a, l) { return a.slice().map((i, r) => r < l.y || r >= l.y + l.h ? i : i.map((d, f) => f < l.x || f >= l.x + l.w ? d : !1)) } function DC(a, l, i, r) { if (r == null) return null; const d = a.length + i * 2, f = Math.floor(l * zC), h = d / l, g = (r.width || f) * h, m = (r.height || f) * h, p = r.x == null ? a.length / 2 - g / 2 : r.x * h, y = r.y == null ? a.length / 2 - m / 2 : r.y * h, _ = r.opacity == null ? 1 : r.opacity; let b = null; if (r.excavate) { let j = Math.floor(p), w = Math.floor(y), E = Math.ceil(g + p - j), R = Math.ceil(m + y - w); b = { x: j, y: w, w: E, h: R } } const S = r.crossOrigin; return { x: p, y, h: m, w: g, excavation: b, opacity: _, crossOrigin: S } } function UC(a, l) { return l != null ? Math.max(Math.floor(l), 0) : a ? LC : MC } function sy({ value: a, level: l, minVersion: i, includeMargin: r, marginSize: d, imageSettings: f, size: h, boostLevel: g }) { let m = Bt.useMemo(() => { const j = (Array.isArray(a) ? a : [a]).reduce((w, E) => (w.push(...Ni.QrSegment.makeSegments(E)), w), []); return Ni.QrCode.encodeSegments(j, OC[l], i, void 0, void 0, g) }, [a, l, i, g]); const { cells: p, margin: y, numCells: _, calculatedImageSettings: b } = Bt.useMemo(() => { let S = m.getModules(); const j = UC(r, d), w = S.length + j * 2, E = DC(S, h, j, f); return { cells: S, margin: j, numCells: w, calculatedImageSettings: E } }, [m, h, f, r, d]); return { qrcode: m, margin: y, cells: p, numCells: _, calculatedImageSettings: b } } var HC = (function () { try { new Path2D().addPath(new Path2D) } catch { return !1 } return !0 })(), qC = Bt.forwardRef(function (l, i) { const r = l, { value: d, size: f = Zv, level: h = Wv, bgColor: g = Jv, fgColor: m = $v, includeMargin: p = ey, minVersion: y = ty, boostLevel: _, marginSize: b, imageSettings: S } = r, w = Bh(r, ["value", "size", "level", "bgColor", "fgColor", "includeMargin", "minVersion", "boostLevel", "marginSize", "imageSettings"]), { style: E } = w, R = Bh(w, ["style"]), L = S == null ? void 0 : S.src, B = Bt.useRef(null), P = Bt.useRef(null), G = Bt.useCallback(pe => { B.current = pe, typeof i == "function" ? i(pe) : i && (i.current = pe) }, [i]), [V, D] = Bt.useState(!1), { margin: K, cells: ee, numCells: re, calculatedImageSettings: ce } = sy({ value: d, level: h, minVersion: y, boostLevel: _, includeMargin: p, marginSize: b, imageSettings: S, size: f }); Bt.useEffect(() => { if (B.current != null) { const pe = B.current, ve = pe.getContext("2d"); if (!ve) return; let q = ee; const X = P.current, W = ce != null && X !== null && X.complete && X.naturalHeight !== 0 && X.naturalWidth !== 0; W && ce.excavation != null && (q = ay(ee, ce.excavation)); const ue = window.devicePixelRatio || 1; pe.height = pe.width = f * ue; const be = f / re * ue; ve.scale(be, be), ve.fillStyle = g, ve.fillRect(0, 0, re, re), ve.fillStyle = m, HC ? ve.fill(new Path2D(ny(q, K))) : ee.forEach(function (T, Y) { T.forEach(function (Z, $) { Z && ve.fillRect($ + K, Y + K, 1, 1) }) }), ce && (ve.globalAlpha = ce.opacity), W && ve.drawImage(X, ce.x + K, ce.y + K, ce.w, ce.h) } }), Bt.useEffect(() => { D(!1) }, [L]); const ie = kh({ height: f, width: f }, E); let te = null; return L != null && (te = Bt.createElement("img", { src: L, key: L, style: { display: "none" }, onLoad: () => { D(!0) }, ref: P, crossOrigin: ce == null ? void 0 : ce.crossOrigin })), Bt.createElement(Bt.Fragment, null, Bt.createElement("canvas", kh({ style: ie, height: f, width: f, ref: G, role: "img" }, R)), te) }); qC.displayName = "QRCodeCanvas"; var ly = Bt.forwardRef(function (l, i) { const r = l, { value: d, size: f = Zv, level: h = Wv, bgColor: g = Jv, fgColor: m = $v, includeMargin: p = ey, minVersion: y = ty, boostLevel: _, title: b, marginSize: S, imageSettings: j } = r, w = Bh(r, ["value", "size", "level", "bgColor", "fgColor", "includeMargin", "minVersion", "boostLevel", "title", "marginSize", "imageSettings"]), { margin: E, cells: R, numCells: L, calculatedImageSettings: B } = sy({ value: d, level: h, minVersion: y, boostLevel: _, includeMargin: p, marginSize: S, imageSettings: j, size: f }); let P = R, G = null; j != null && B != null && (B.excavation != null && (P = ay(R, B.excavation)), G = Bt.createElement("image", { href: j.src, height: B.h, width: B.w, x: B.x + E, y: B.y + E, preserveAspectRatio: "none", opacity: B.opacity, crossOrigin: B.crossOrigin })); const V = ny(P, E); return Bt.createElement("svg", kh({ height: f, width: f, viewBox: `0 0 ${L} ${L}`, ref: i, role: "img" }, w), !!b && Bt.createElement("title", null, b), Bt.createElement("path", { fill: g, d: `M0,0 h${L}v${L}H0z`, shapeRendering: "crispEdges" }), Bt.createElement("path", { fill: m, d: V, shapeRendering: "crispEdges" }), G) }); ly.displayName = "QRCodeSVG"; const PC = "_overlay_1nlll_6", QC = "_dialog_1nlll_18", FC = "_header_1nlll_27", YC = "_title_1nlll_34", IC = "_closeBtn_1nlll_40", GC = "_body_1nlll_55", KC = "_qrWrap_1nlll_62", XC = "_label_1nlll_71", VC = "_fieldRow_1nlll_77", ZC = "_addressInput_1nlll_82", WC = "_copyBtn_1nlll_101", JC = "_copyBtnDone_1nlll_127", $C = "_skeleton_1nlll_132", e5 = "_error_1nlll_145", fn = { overlay: PC, dialog: QC, header: FC, title: YC, closeBtn: IC, body: GC, qrWrap: KC, label: XC, fieldRow: VC, addressInput: ZC, copyBtn: WC, copyBtnDone: JC, skeleton: $C, error: e5 }, t5 = { ETH: "Ethereum", BSC: "BSC Smart Chain", BTC: "Bitcoin", TRX: "Tron", SOL: "Solana" }; function n5({ open: a, onClose: l, chain: i }) { const { data: r, isLoading: d, isError: f } = vu(), [h, g] = A.useState(!1); if (A.useEffect(() => { if (!a) return; function b(S) { S.key === "Escape" && l() } return window.addEventListener("keydown", b), () => window.removeEventListener("keydown", b) }, [a, l]), A.useEffect(() => { a || g(!1) }, [a]), !a) return null; const m = r == null ? void 0 : r.find(b => b.chain === i), p = (m == null ? void 0 : m.address) ?? ""; function y() { p && navigator.clipboard.writeText(p).then(() => { g(!0), setTimeout(() => g(!1), 2e3) }) } function _(b) { b.target === b.currentTarget && l() } return o.jsx("div", { className: fn.overlay, onMouseDown: _, children: o.jsxs("div", { className: fn.dialog, children: [o.jsxs("div", { className: fn.header, children: [o.jsxs("span", { className: fn.title, children: ["Получить ", t5[i]] }), o.jsx("button", { className: fn.closeBtn, type: "button", onClick: l, "aria-label": "Закрыть", children: "✕" })] }), o.jsxs("div", { className: fn.body, children: [d && o.jsx("div", { className: fn.skeleton }), f && o.jsx("p", { className: fn.error, children: "Не удалось загрузить адрес. Попробуйте позже." }), !d && !f && o.jsxs(o.Fragment, { children: [o.jsxs("label", { className: fn.label, children: ["Ваш ", i, "-адрес"] }), o.jsxs("div", { className: fn.fieldRow, children: [o.jsx("input", { className: fn.addressInput, type: "text", readOnly: !0, value: p, onFocus: b => b.target.select() }), o.jsx("button", { className: `${fn.copyBtn} ${h ? fn.copyBtnDone : ""}`, type: "button", onClick: y, disabled: !p, children: h ? "Скопировано!" : "Копировать" })] }), p && o.jsx("div", { className: fn.qrWrap, children: o.jsx(ly, { value: p, size: 196, level: "M", bgColor: "#ffffff", fgColor: "#000000", marginSize: 2 }) })] })] })] }) }) } const a5 = "_wrap_5us7x_1", s5 = "_loading_5us7x_9", l5 = "_table_5us7x_14", i5 = "_thStar_5us7x_44", o5 = "_groupHeader_5us7x_49", r5 = "_groupHeaderInner_5us7x_58", c5 = "_groupLabel_5us7x_66", u5 = "_groupIcon_5us7x_77", d5 = "_groupTotal_5us7x_83", f5 = "_mobileGroupHeader_5us7x_90", h5 = "_right_5us7x_99", m5 = "_center_5us7x_103", p5 = "_btnGroup_5us7x_108", g5 = "_star_5us7x_114", v5 = "_starOn_5us7x_129", y5 = "_tokId_5us7x_133", _5 = "_tokLogo_5us7x_139", b5 = "_tokLogoImg_5us7x_153", x5 = "_price_5us7x_177", A5 = "_balCol_5us7x_204", S5 = "_sendBtn_5us7x_217", j5 = "_receiveBtn_5us7x_240", w5 = "_noFont_5us7x_263", E5 = "_mobileList_5us7x_268", N5 = "_card_5us7x_272", C5 = "_cardInfo_5us7x_284", T5 = "_cardTop_5us7x_289", R5 = "_cardTicker_5us7x_296", k5 = "_cardName_5us7x_302", B5 = "_cardBalCrypto_5us7x_308", O5 = "_cardBot_5us7x_315", L5 = "_cardPrice_5us7x_321", M5 = "_cardBalUsd_5us7x_333", z5 = "_mobileActions_5us7x_354", ge = { wrap: a5, loading: s5, table: l5, thStar: i5, groupHeader: o5, groupHeaderInner: r5, groupLabel: c5, groupIcon: u5, groupTotal: d5, mobileGroupHeader: f5, right: h5, center: m5, btnGroup: p5, star: g5, starOn: v5, tokId: y5, tokLogo: _5, tokLogoImg: b5, price: x5, balCol: A5, sendBtn: S5, receiveBtn: j5, noFont: w5, mobileList: E5, card: N5, cardInfo: C5, cardTop: T5, cardTicker: R5, cardName: k5, cardBalCrypto: B5, cardBot: O5, cardPrice: L5, cardBalUsd: M5, mobileActions: z5 }, Xg = { BTC: { label: "Bitcoin", icon: _e.BTC }, ETH: { label: "Ethereum", icon: _e.ETH }, SOL: { label: "Solana", icon: _e.SOL }, TRX: { label: "Tron", icon: _e.TRX }, BSC: { label: "BNB Chain", icon: _e.BNB } }; function Vg(a) { return `$${a.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` } function D5(a) { const l = [], i = new Map; for (const r of a) { const d = r.chain ?? "ETH"; let f = i.get(d); f || (f = { chain: d, rows: [], totalUsd: 0 }, i.set(d, f), l.push(f)), f.rows.push(r), f.totalUsd += r.usdValue ?? 0 } return l } function Zg(a) { return a.id ?? a.ticker } function iy({ rows: a, isLoading: l, fallbackChain: i = "ETH", groupByChain: r = !1 }) { const [d, f] = A.useState({}), [h, g] = A.useState({ open: !1, network: "ETH" }), [m, p] = A.useState({ open: !1, chain: "ETH" }); function y(D) { return D.chain ?? V4[D.ticker] ?? i } function _(D) { g({ open: !0, network: y(D) }) } function b() { g(D => ({ ...D, open: !1 })) } function S(D) { p({ open: !0, chain: y(D) }) } function j() { p(D => ({ ...D, open: !1 })) } function w(D) { f(K => ({ ...K, [D]: !K[D] })) } const E = o.jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "#4A6DFF", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: o.jsx("path", { d: "M7 17L17 7M17 7H7M17 7v10" }) }), R = o.jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "#00C48C", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: o.jsx("path", { d: "M17 7L7 17M7 17H17M7 17V7" }) }); function L(D) { const K = Zg(D); return o.jsxs("tr", { children: [o.jsx("td", { children: o.jsx("button", { className: `${ge.star} ${d[K] ? ge.starOn : ""}`, onClick: () => w(K), type: "button", "aria-label": d[K] ? "Убрать из избранного" : "В избранное", children: "★" }) }), o.jsx("td", { children: o.jsxs("div", { className: ge.tokId, children: [o.jsx("div", { className: ge.tokLogo, style: { background: D.logo ? "transparent" : D.color }, children: D.logo ? o.jsx("img", { src: D.logo, alt: D.ticker, className: ge.tokLogoImg }) : D.ticker[0] }), o.jsxs("div", { className: ge.balCol, children: [o.jsx("b", { className: ge.cardTicker, children: D.ticker }), o.jsx("span", { className: ge.noFont, children: D.name })] })] }) }), o.jsx("td", { className: ge.right, children: o.jsx("span", { className: ge.price, children: D.price }) }), o.jsx("td", { className: ge.right, children: o.jsxs("div", { className: ge.balCol, children: [o.jsx("b", { children: D.bal }), o.jsx("span", { children: D.usd })] }) }), o.jsx("td", { className: ge.center, children: o.jsxs("div", { className: ge.btnGroup, children: [o.jsxs("button", { className: ge.receiveBtn, type: "button", onClick: ee => { ee.stopPropagation(), S(D) }, children: [R, "Получить"] }), o.jsxs("button", { className: ge.sendBtn, type: "button", onClick: ee => { ee.stopPropagation(), _(D) }, children: [E, "Отправить"] })] }) })] }, K) } function B(D) { const K = Zg(D); return o.jsxs("div", { className: ge.card, children: [o.jsx("button", { className: `${ge.star} ${d[K] ? ge.starOn : ""}`, onClick: () => w(K), type: "button", "aria-label": d[K] ? "Убрать из избранного" : "В избранное", children: "★" }), o.jsx("div", { className: ge.tokLogo, style: { background: D.logo ? "transparent" : D.color }, children: D.logo ? o.jsx("img", { src: D.logo, alt: D.ticker, className: ge.tokLogoImg }) : D.ticker[0] }), o.jsxs("div", { className: ge.cardInfo, children: [o.jsxs("div", { className: ge.cardTop, children: [o.jsxs("div", { children: [o.jsx("span", { className: ge.cardTicker, children: D.ticker }), o.jsx("span", { className: ge.cardName, children: D.name })] }), o.jsx("span", { className: ge.cardBalCrypto, children: D.bal })] }), o.jsxs("div", { className: ge.cardBot, children: [o.jsx("span", { className: ge.cardPrice, children: D.price }), o.jsx("span", { className: ge.cardBalUsd, children: D.usd })] })] })] }, K) } function P(D) { const K = Xg[D.chain]; return o.jsx("tr", { className: ge.groupHeader, children: o.jsx("td", { colSpan: 5, children: o.jsxs("div", { className: ge.groupHeaderInner, children: [o.jsxs("span", { className: ge.groupLabel, children: [o.jsx("img", { src: K.icon, alt: "", className: ge.groupIcon }), K.label] }), o.jsx("span", { className: ge.groupTotal, children: Vg(D.totalUsd) })] }) }) }, `h-${D.chain}`) } function G(D) { const K = Xg[D.chain]; return o.jsxs("div", { className: ge.mobileGroupHeader, children: [o.jsxs("span", { className: ge.groupLabel, children: [o.jsx("img", { src: K.icon, alt: "", className: ge.groupIcon }), K.label] }), o.jsx("span", { className: ge.groupTotal, children: Vg(D.totalUsd) })] }, `mh-${D.chain}`) } const V = r ? D5(a) : null; return o.jsxs(o.Fragment, { children: [o.jsxs("div", { className: `${ge.wrap} ${l ? ge.loading : ""}`, children: [o.jsxs("table", { className: ge.table, children: [o.jsx("thead", { children: o.jsxs("tr", { children: [o.jsx("th", { className: ge.thStar, children: "☆" }), o.jsx("th", { children: "Токены" }), o.jsx("th", { className: ge.right, children: "Цена" }), o.jsx("th", { className: ge.right, children: "Баланс" }), o.jsx("th", { className: ge.center })] }) }), o.jsx("tbody", { children: V ? V.map(D => o.jsxs(A.Fragment, { children: [P(D), D.rows.map(L)] }, D.chain)) : a.map(L) })] }), o.jsx("div", { className: ge.mobileList, children: V ? V.map(D => o.jsxs(A.Fragment, { children: [G(D), D.rows.map(B)] }, D.chain)) : a.map(B) })] }), o.jsxs("div", { className: ge.mobileActions, children: [o.jsxs("button", { className: ge.receiveBtn, type: "button", onClick: () => a[0] && S(a[0]), children: [R, "Получить"] }), o.jsxs("button", { className: ge.sendBtn, type: "button", onClick: () => a[0] && _(a[0]), children: [E, "Отправить"] })] }), o.jsx(kC, { open: h.open, onClose: b, network: h.network, tokens: a }), o.jsx(n5, { open: m.open, onClose: j, chain: m.chain })] }) } function U5({ chain: a }) { const { rows: l, isLoading: i } = I4(a); return o.jsx(iy, { rows: l, isLoading: i, fallbackChain: a }) } function H5() { const { rows: a, isLoading: l } = G4(); return o.jsx(iy, { rows: a, isLoading: l, groupByChain: !0 }) } const q5 = "_nav_16wm3_1", P5 = "_logo_16wm3_12", Q5 = "_menu_16wm3_18", F5 = "_menuLink_16wm3_28", Y5 = "_menuLinkActive_16wm3_44", I5 = "_right_16wm3_60", G5 = "_accountWrapper_16wm3_66", K5 = "_account_16wm3_66", X5 = "_avatar_16wm3_86", V5 = "_dropdown_16wm3_94", Z5 = "_dropdownItem_16wm3_120", W5 = "_danger_16wm3_139", J5 = "_burger_16wm3_144", $5 = "_burgerOpen_16wm3_181", eT = "_mobileMenu_16wm3_195", tT = "_mobileMenuOpen_16wm3_212", nT = "_mobileLink_16wm3_217", aT = "_mobileLinkActive_16wm3_245", xt = { nav: q5, logo: P5, menu: Q5, menuLink: F5, menuLinkActive: Y5, right: I5, accountWrapper: G5, account: K5, avatar: X5, dropdown: V5, dropdownItem: Z5, danger: W5, burger: J5, burgerOpen: $5, mobileMenu: eT, mobileMenuOpen: tT, mobileLink: nT, mobileLinkActive: aT }, sT = a => a ? a[0].toUpperCase() + a.slice(1).toLowerCase() : "", Zf = [{ to: ae.PROFILE, label: "Личный кабинет" }, { to: ae.WALLET, label: "Кошелёк" }, { to: ae.STAKING, label: "Стейкинг" }, { to: ae.POOLS, label: "Пулы" }]; function nm() { var S; const [a, l] = A.useState(!1), [i, r] = A.useState(!1), [d, f] = A.useState(!1), h = A.useRef(null), g = vn(), m = Wt(), { data: p } = yn(), y = p ? [p.first_name, p.middle_name].filter(Boolean).map(sT).join(" ") : "", { mutate: _ } = yt({ mutationFn: ON, onSuccess: () => { Nt.clear(), m.clear(), m.setQueryData(gu, null), g(ae.HOME) }, onError: () => f(!0) }); A.useEffect(() => { function j(w) { h.current && !h.current.contains(w.target) && l(!1) } return document.addEventListener("mousedown", j), () => document.removeEventListener("mousedown", j) }, []), A.useEffect(() => (document.body.style.overflow = i ? "hidden" : "", () => { document.body.style.overflow = "" }), [i]); function b() { _(), l(!1), r(!1) } return o.jsxs(o.Fragment, { children: [o.jsxs("nav", { className: xt.nav, children: [o.jsx("a", { href: "/", className: xt.logo, children: o.jsx("img", { src: xa, alt: "ЭКСА" }) }), o.jsx("div", { className: xt.menu, children: Zf.map(j => o.jsx(Fi, { to: j.to, className: ({ isActive: w }) => `${xt.menuLink} ${w ? xt.menuLinkActive : ""}`, children: j.label }, j.to)) }), o.jsxs("div", { className: xt.right, children: [o.jsxs("div", { className: xt.accountWrapper, ref: h, children: [o.jsxs("button", { className: xt.account, onClick: () => l(j => !j), children: [p != null && p.avatar_link ? o.jsx("img", { src: p.avatar_link, alt: "", className: xt.avatar }) : o.jsx("div", { className: xt.avatar }), o.jsx("span", { children: y || ((S = p == null ? void 0 : p.legal_entity) == null ? void 0 : S.name) || "" })] }), a && o.jsx("div", { className: xt.dropdown, children: o.jsx("button", { className: `${xt.dropdownItem} ${xt.danger}`, onClick: b, children: "Выйти" }) })] }), o.jsxs("button", { className: `${xt.burger} ${i ? xt.burgerOpen : ""}`, onClick: () => r(j => !j), "aria-label": "Меню", "aria-expanded": i, children: [o.jsx("span", {}), o.jsx("span", {}), o.jsx("span", {})] })] })] }), o.jsxs("div", { className: `${xt.mobileMenu} ${i ? xt.mobileMenuOpen : ""}`, children: [Zf.map((j, w) => o.jsx(Fi, { to: j.to, onClick: () => r(!1), style: { transitionDelay: i ? `${.08 + w * .05}s` : "0s" }, className: ({ isActive: E }) => `${xt.mobileLink} ${E ? xt.mobileLinkActive : ""}`, children: j.label }, j.to)), o.jsx("button", { className: `${xt.mobileLink} ${xt.danger}`, style: { transitionDelay: i ? `${.08 + Zf.length * .05}s` : "0s" }, onClick: b, children: "Выйти" })] }), d && o.jsx($a, { status: "error", title: "Ошибка сервера", message: "Произошла ошибка сервера", onClose: () => f(!1), duration: 5e3 })] }) } const lT = "_tabs_1ne0a_1", iT = "_tab_1ne0a_1", oT = "_active_1ne0a_31", rT = "_icon_1ne0a_37", hl = { tabs: lT, tab: iT, active: oT, icon: rT }, cT = [{ chain: "BTC", label: "BTC", icon: _e.BTC }, { chain: "ETH", label: "ETH", icon: _e.ETH }, { chain: "SOL", label: "SOL", icon: _e.SOL }, { chain: "TRX", label: "TRX", icon: _e.TRX }, { chain: "BSC", label: "BSC", icon: _e.BNB }], uT = o.jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [o.jsx("ellipse", { cx: "12", cy: "6", rx: "8", ry: "3" }), o.jsx("path", { d: "M4 6v6c0 1.66 3.58 3 8 3s8-1.34 8-3V6" }), o.jsx("path", { d: "M4 12v6c0 1.66 3.58 3 8 3s8-1.34 8-3v-6" })] }); function dT() { return o.jsxs("div", { className: hl.tabs, children: [o.jsxs(Fi, { to: "/wallet", end: !0, className: ({ isActive: a }) => `${hl.tab} ${a ? hl.active : ""}`, children: [o.jsx("span", { className: hl.icon, children: uT }), o.jsx("span", { children: "Все монеты" })] }), cT.map(a => o.jsxs(Fi, { to: `/wallet/${a.chain.toLowerCase()}`, className: ({ isActive: l }) => `${hl.tab} ${l ? hl.active : ""}`, children: [o.jsx("img", { src: a.icon, alt: a.label, className: hl.icon }), o.jsx("span", { children: a.label })] }, a.chain))] }) } const fT = "_page_10fz2_1", hT = "_main_10fz2_8", mT = "_glow_10fz2_17", pT = "_error_10fz2_29", gT = "_noWallet_10fz2_38", Wo = { page: fT, main: hT, glow: mT, error: pT, noWallet: gT }; function Wg() { var b; const { data: a, isLoading: l, isError: i } = yn(), { error: r, isLoading: d } = yu(), { mutate: f, isPending: h } = E4(), g = vn(), { chain: m } = Hx(), p = (b = r == null ? void 0 : r.error) == null ? void 0 : b.includes("No wallets"); if (i) return o.jsx("div", { className: Wo.error, children: "Произошла ошибка. Попробуйте обновить страницу." }); if (a && !a.kyc_verified) return o.jsx(Qi, { to: ae.KYC, replace: !0 }); const y = m == null ? void 0 : m.toUpperCase(), _ = y && em.includes(y) ? y : void 0; return o.jsxs("div", { className: Wo.page, children: [o.jsx(nm, {}), o.jsxs("main", { className: Wo.main, children: [o.jsx("div", { className: Wo.glow }), l || d ? o.jsx(zn, { fullscreen: !0, label: "Загрузка" }) : p ? o.jsxs("div", { className: Wo.noWallet, children: [o.jsx("p", { children: "У вас пока нет кошелька. Создайте его, чтобы начать." }), o.jsx(Ln, { variant: "outline", onClick: () => f(void 0, { onSuccess: () => g(ae.SEED_PHRASE) }), disabled: h, children: h ? "Создание..." : "Создать кошелёк" })] }) : o.jsxs(o.Fragment, { children: [o.jsx(P4, {}), o.jsx(dT, {}), _ ? o.jsx(U5, { chain: _ }) : o.jsx(H5, {})] })] })] }) } const oy = _e.BTC, ry = _e.ETH, cy = _e.SOL, uy = _e.TRX, dy = _e.ARB, fy = _e.USDC, hy = _e.USDT, vT = _e.DAI, yT = _e.BUSD, _T = _e.WBTC, bT = _e.LINK, xT = _e.UNI, AT = _e.WBNB, ST = _e.DOGE, jT = _e.JUP, wT = _e.WIF, ET = _e.BONK, NT = _e.RAY, CT = _e.ORCA, TT = _e.PYTH, RT = _e.JTO, kT = _e.W, BT = _e.PUMP, OT = _e.POPCAT, LT = _e.TRUMP, MT = _e.PENGU, Oh = { BTC: { symbol: "BTC", letter: "₿", logo: oy, color: "#F7931A", network: "BITCOIN", balance: 0, usdRate: 67412, decimals: 8 }, ETH: { symbol: "ETH", letter: "E", logo: ry, color: "#627EEA", network: "ETHEREUM", balance: 0, usdRate: 3521, decimals: 18 }, SOL: { symbol: "SOL", letter: "S", logo: cy, color: "#9945FF", network: "SOLANA", balance: .994, usdRate: 163.84, decimals: 9 }, TRX: { symbol: "TRX", letter: "T", logo: uy, color: "#FF060A", network: "TRON", balance: 0, usdRate: .12, decimals: 6 }, ARB: { symbol: "ARB", letter: "A", logo: dy, color: "#4A6DFF", network: "ARBITRUM", balance: 0, usdRate: .92, decimals: 18 }, USDC: { symbol: "USDC", letter: "$", logo: fy, color: "#2775CA", network: "SOLANA", balance: 0, usdRate: 1, decimals: 6 }, USDT: { symbol: "USDT", letter: "$", logo: hy, color: "#26A17B", network: "ETHEREUM", balance: 0, usdRate: 1, decimals: 6 } }, zT = Object.values(Oh), Lh = { BTC: { letter: "₿", logo: oy, color: "#F7931A" }, ETH: { letter: "E", logo: ry, color: "#627EEA" }, BSC: { letter: "B", color: "#F3BA2F" }, SOL: { letter: "S", logo: cy, color: "#9945FF" }, TRX: { letter: "T", logo: uy, color: "#FF060A" }, ARB: { letter: "A", logo: dy, color: "#4A6DFF" }, USDC: { letter: "$", logo: fy, color: "#2775CA" }, USDT: { letter: "$", logo: hy, color: "#26A17B" }, DAI: { letter: "D", logo: vT, color: "#F5AC37" }, BUSD: { letter: "B", logo: yT, color: "#F0B90B" }, WBTC: { letter: "W", logo: _T, color: "#F7931A" }, LINK: { letter: "L", logo: bT, color: "#2A5ADA" }, UNI: { letter: "U", logo: xT, color: "#FF007A" }, WBNB: { letter: "W", logo: AT, color: "#F3BA2F" }, DOGE: { letter: "D", logo: ST, color: "#C2A633" }, JUP: { letter: "J", logo: jT, color: "#C7A52D" }, WIF: { letter: "W", logo: wT, color: "#9333EA" }, BONK: { letter: "B", logo: ET, color: "#FF8C00" }, RAY: { letter: "R", logo: NT, color: "#5AC4BE" }, ORCA: { letter: "O", logo: CT, color: "#1B8EF2" }, PYTH: { letter: "P", logo: TT, color: "#8B5CF6" }, JTO: { letter: "J", logo: RT, color: "#06B6D4" }, W: { letter: "W", logo: kT, color: "#6B7280" }, PUMP: { letter: "P", logo: BT, color: "#00D4AA" }, POPCAT: { letter: "P", logo: OT, color: "#FF6B6B" }, TRUMP: { letter: "T", logo: LT, color: "#E63946" }, PENGU: { letter: "P", logo: MT, color: "#60A5FA" } }, DT = { ETH: "ETH", BSC: "BSC", BTC: "BTC", TRX: "TRX", SOL: "SOL" }; function my(a) { const l = [], i = DT[a.chain] ?? a.chain, r = Lh[i]; l.push({ symbol: i, letter: (r == null ? void 0 : r.letter) ?? i[0], color: (r == null ? void 0 : r.color) ?? "#888", logo: r == null ? void 0 : r.logo, network: a.chain, balance: parseFloat(a.native.formatted), usdRate: a.native.usdPrice, decimals: a.native.decimals }); for (const [d, f] of Object.entries(a.tokens ?? {})) { const h = Lh[d]; l.push({ symbol: d, letter: (h == null ? void 0 : h.letter) ?? d[0], color: (h == null ? void 0 : h.color) ?? "#888", logo: h == null ? void 0 : h.logo, network: a.chain, balance: parseFloat(f.formatted), usdRate: f.usdPrice, decimals: f.decimals }) } return l } const Jg = 82.2578; function py() { const [a, l] = A.useState("0"), [i, r] = A.useState(Oh.SOL), [d, f] = A.useState(Oh.USDC), [h, g] = A.useState(!1), m = parseFloat(a) || 0, p = (m * Jg).toFixed(4), y = (m * i.usdRate).toFixed(2), _ = (m * Jg * d.usdRate).toFixed(2); function b(E) { l(E) } function S(E) { const R = E >= 100 ? 99 : E; l((i.balance * R / 100).toFixed(4)) } function j() { r(d), f(i) } function w() { g(!0), setTimeout(() => g(!1), 400) } return { fromAmount: a, toAmount: p, fromUsd: y, toUsd: _, fromToken: i, toToken: d, isRefreshing: h, setFromAmount: b, setPercent: S, swapTokens: j, refreshRate: w, setFromToken: r, setToToken: f } } const UT = "_wrap_18yiu_1", HT = "_trigger_18yiu_6", qT = "_name_18yiu_22", PT = "_chevron_18yiu_29", QT = "_chevronOpen_18yiu_37", FT = "_dropdown_18yiu_41", YT = "_dropdownWrapper_18yiu_47", IT = "_option_18yiu_60", GT = "_optionActive_18yiu_78", KT = "_optionInfo_18yiu_82", XT = "_optionSymbol_18yiu_90", VT = "_optionNetwork_18yiu_96", ZT = "_check_18yiu_103", WT = "_triggerCompact_18yiu_110", JT = "_nameCompact_18yiu_116", $t = { wrap: UT, trigger: HT, name: qT, chevron: PT, chevronOpen: QT, dropdown: FT, dropdownWrapper: YT, option: IT, optionActive: GT, optionInfo: KT, optionSymbol: XT, optionNetwork: VT, check: ZT, triggerCompact: WT, nameCompact: JT }; function $g({ value: a, options: l, onChange: i, compact: r = !1 }) { const [d, f] = A.useState(!1), h = A.useRef(null); A.useEffect(() => { function m(p) { h.current && !h.current.contains(p.target) && f(!1) } return document.addEventListener("mousedown", m), () => document.removeEventListener("mousedown", m) }, []); function g(m) { i(m), f(!1) } return o.jsxs("div", { className: $t.wrap, ref: h, children: [o.jsxs("button", { className: `${$t.trigger} ${r ? $t.triggerCompact : ""}`, onClick: () => f(m => !m), children: [o.jsx(kl, { letter: a.letter, color: a.color, logo: a.logo, size: r ? 24 : 40 }), o.jsx("span", { className: `${$t.name} ${r ? $t.nameCompact : ""}`, children: a.symbol }), o.jsx("span", { className: `${$t.chevron} ${d ? $t.chevronOpen : ""}`, children: "▾" })] }), d && o.jsx("div", { className: $t.dropdownWrapper, children: o.jsx("div", { className: $t.dropdown, children: l.map(m => o.jsxs("button", { className: `${$t.option} ${m.symbol === a.symbol ? $t.optionActive : ""}`, onClick: () => g(m), children: [o.jsx(kl, { letter: m.letter, color: m.color, logo: m.logo, size: 32 }), o.jsxs("div", { className: $t.optionInfo, children: [o.jsx("span", { className: $t.optionSymbol, children: m.symbol }), o.jsx("span", { className: $t.optionNetwork, children: m.network })] }), m.symbol === a.symbol && o.jsx("span", { className: $t.check, children: "✓" })] }, m.symbol)) }) })] }) } const $T = "_wrapper_1bdz0_1", eR = "_pillsOuter_1bdz0_8", tR = "_card_1bdz0_13", nR = "_top_1bdz0_20", aR = "_label_1bdz0_33", sR = "_networkPills_1bdz0_54", lR = "_networkBtn_1bdz0_60", iR = "_networkBtnActive_1bdz0_79", oR = "_pillsInner_1bdz0_85", rR = "_pill_1bdz0_8", cR = "_selectTop_1bdz0_109", uR = "_selectMid_1bdz0_113", dR = "_mid_1bdz0_118", fR = "_input_1bdz0_126", hR = "_display_1bdz0_142", mR = "_displayLoading_1bdz0_153", pR = "_int_1bdz0_157", gR = "_dec_1bdz0_162", vR = "_bottom_1bdz0_167", yR = "_usd_1bdz0_173", _R = "_balance_1bdz0_182", bR = "_max_1bdz0_190", mt = { wrapper: $T, pillsOuter: eR, card: tR, top: nR, label: aR, networkPills: sR, networkBtn: lR, networkBtnActive: iR, pillsInner: oR, pill: rR, selectTop: cR, selectMid: uR, mid: dR, input: fR, display: hR, displayLoading: mR, int: pR, dec: gR, bottom: vR, usd: yR, balance: _R, max: bR }, xR = ["ETH", "BSC", "TRX", "SOL"], AR = [25, 50, 100]; function du({ mode: a, token: l, tokenOptions: i, amount: r, usd: d, onTokenChange: f, onAmountChange: h, onSetPercent: g, selectedNetwork: m, onNetworkChange: p, hideNetworkSelect: y, loading: _ }) { const [b, S] = nt(r, 8).split("."), j = g && o.jsx(o.Fragment, { children: AR.map(w => o.jsxs("button", { className: mt.pill, onClick: () => g(w), children: [w, "%"] }, w)) }); return o.jsxs("div", { className: mt.wrapper, children: [a === "from" && j && o.jsx("div", { className: mt.pillsOuter, children: j }), o.jsxs("div", { className: mt.card, children: [o.jsxs("div", { className: mt.top, children: [o.jsx("div", { className: mt.label, children: a === "from" && !y && o.jsx("div", { className: mt.networkPills, children: xR.map(w => o.jsx("button", { className: `${mt.networkBtn} ${w === m ? mt.networkBtnActive : ""}`, onClick: () => p == null ? void 0 : p(w), children: w }, w)) }) }), a === "from" && j && o.jsx("div", { className: mt.pillsInner, children: j }), o.jsx("div", { className: mt.selectTop, children: o.jsx($g, { value: l, options: i, onChange: f, compact: !0 }) })] }), o.jsxs("div", { className: mt.mid, children: [a === "from" ? o.jsx("input", { className: mt.input, type: "text", value: r, onChange: w => { const E = w.target.value; (/^(\d+\.?\d*|\.?\d*)$/.test(E) || E === "") && (h == null || h(E)) }, placeholder: "0" }) : o.jsxs("div", { className: `${mt.display} ${_ ? mt.displayLoading : ""}`, children: [o.jsx("span", { className: mt.int, children: b }), S && o.jsxs("span", { className: mt.dec, children: [".", S] })] }), o.jsx("div", { className: mt.selectMid, children: o.jsx($g, { value: l, options: i, onChange: f }) })] }), o.jsxs("div", { className: mt.bottom, children: [d && o.jsxs("span", { className: mt.usd, children: ["≈ $", d] }), o.jsxs("span", { className: mt.balance, children: [o.jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "var(--text-secondary)", strokeWidth: "2", children: [o.jsx("rect", { x: "2", y: "6", width: "20", height: "14", rx: "3" }), o.jsx("path", { d: "M6 6V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2" })] }), nt(l.balance, 8), a === "from" && g && o.jsx("button", { className: mt.max, onClick: () => g(100), children: "МАКС" })] })] })] })] }) } const SR = "_wrap_wqzoz_1", jR = "_line_wqzoz_11", wR = "_circle_wqzoz_19", Wf = { wrap: SR, line: jR, circle: wR }; function ER({ onClick: a }) { const [l, i] = A.useState(!1); function r() { i(!0), setTimeout(() => i(!1), 300), a() } return o.jsxs("div", { className: Wf.wrap, children: [o.jsx("div", { className: Wf.line }), o.jsx("button", { className: Wf.circle, style: { transform: l ? "rotate(180deg)" : "rotate(0deg)" }, onClick: r, "aria-label": "Поменять токены", children: "⇅" })] }) } const NR = "_panel_16d4z_1", CR = "_row_16d4z_10", TR = "_label_16d4z_22", RR = "_value_16d4z_30", kR = "_link_16d4z_36", Jo = { panel: NR, row: CR, label: TR, value: RR, link: kR }; function BR({ gasFee: a, serviceFee: l, serviceFeeToken: i }) { const r = [{ label: "ПРОВАЙДЕР", value: "ЛУЧШИЙ", link: !1 }, { label: "СКОЛЬЖЕНИЕ", value: "АВТО (0.5%)", link: !0 }, { label: "СЕТЕВОЙ СБОР", value: a ? `$${a}` : "—", link: !1 }, { label: "СЕРВИСНЫЙ СБОР", value: l ? `$${l}` : "—", link: !1 }, { label: i ? `СЕРВИСНЫЙ СБОР (${i.symbol})` : "СЕРВИСНЫЙ СБОР В ТОКЕНАХ", value: i ? nt(i.amount, 8) : "—", link: !1 }]; return o.jsx("div", { className: Jo.panel, children: r.map(({ label: d, value: f, link: h }) => o.jsxs("div", { className: Jo.row, children: [o.jsx("span", { className: Jo.label, children: d }), o.jsx("span", { className: `${Jo.value} ${h ? Jo.link : ""}`, children: f })] }, d)) }) } const OR = "_overlay_7i74m_1", LR = "_closing_7i74m_13", MR = "_card_7i74m_17", zR = "_header_7i74m_54", DR = "_title_7i74m_60", UR = "_closeBtn_7i74m_66", HR = "_flow_7i74m_81", qR = "_token_7i74m_87", PR = "_tokenLabel_7i74m_97", QR = "_tokenAmount_7i74m_105", FR = "_tokenUsd_7i74m_111", YR = "_arrow_7i74m_116", IR = "_details_7i74m_123", GR = "_row_7i74m_129", KR = "_rowLabel_7i74m_135", XR = "_rowValue_7i74m_140", VR = "_impact_7i74m_146", ZR = "_warning_7i74m_150", WR = "_confirmBtn_7i74m_162", Ie = { overlay: OR, closing: LR, card: MR, header: zR, title: DR, closeBtn: UR, flow: HR, token: qR, tokenLabel: PR, tokenAmount: QR, tokenUsd: FR, arrow: YR, details: IR, row: GR, rowLabel: KR, rowValue: XR, impact: VR, warning: ZR, confirmBtn: WR }; function JR({ data: a, insufficientBalance: l, onConfirm: i, onClose: r }) { const { details: d, fees: f } = a, { currencyIn: h, currencyOut: g, totalImpact: m, rate: p } = d, [y, _] = A.useState(!1), b = A.useRef("close"), S = parseFloat(m.percent), j = parseFloat(p).toFixed(4); function w() { b.current = "close", _(!0) } function E() { b.current = "confirm", _(!0) } function R() { y && (b.current === "confirm" ? i() : r()) } return o.jsx("div", { className: `${Ie.overlay} ${y ? Ie.closing : ""}`, onClick: w, children: o.jsxs("div", { className: `${Ie.card} ${y ? Ie.closing : ""}`, onClick: L => L.stopPropagation(), onAnimationEnd: R, children: [o.jsxs("div", { className: Ie.header, children: [o.jsx("span", { className: Ie.title, children: "Подтвердить своп" }), o.jsx("button", { className: Ie.closeBtn, onClick: w, children: "×" })] }), o.jsxs("div", { className: Ie.flow, children: [o.jsxs("div", { className: Ie.token, children: [o.jsx("span", { className: Ie.tokenLabel, children: "Отдаёте" }), o.jsxs("span", { className: Ie.tokenAmount, children: [h.amountFormatted, " ", h.currency.symbol] }), o.jsxs("span", { className: Ie.tokenUsd, children: ["≈ $", h.amountUsd] })] }), o.jsx("div", { className: Ie.arrow, children: "↓" }), o.jsxs("div", { className: Ie.token, children: [o.jsx("span", { className: Ie.tokenLabel, children: "Получаете" }), o.jsxs("span", { className: Ie.tokenAmount, children: [g.amountFormatted, " ", g.currency.symbol] }), o.jsxs("span", { className: Ie.tokenUsd, children: ["≈ $", g.amountUsd] })] })] }), o.jsxs("div", { className: Ie.details, children: [o.jsxs("div", { className: Ie.row, children: [o.jsx("span", { className: Ie.rowLabel, children: "Курс" }), o.jsxs("span", { className: Ie.rowValue, children: ["1 ", h.currency.symbol, " = ", j, " ", g.currency.symbol] })] }), o.jsxs("div", { className: Ie.row, children: [o.jsx("span", { className: Ie.rowLabel, children: "Комиссия сети" }), o.jsxs("span", { className: Ie.rowValue, children: ["$", f.gas.amountUsd] })] }), o.jsxs("div", { className: Ie.row, children: [o.jsx("span", { className: Ie.rowLabel, children: "Влияние на цену" }), o.jsxs("span", { className: `${Ie.rowValue} ${S < 0 ? Ie.impact : ""}`, children: [m.percent, "%"] })] })] }), l && o.jsx("p", { className: Ie.warning, children: "Введённое количество превышает баланс кошелька — своп будет отклонён." }), o.jsx("button", { className: Ie.confirmBtn, onClick: E, children: "Подтвердить" })] }) }) } const $R = "_overlay_1gvk2_1", e8 = "_closing_1gvk2_13", t8 = "_card_1gvk2_17", n8 = "_header_1gvk2_54", a8 = "_title_1gvk2_60", s8 = "_closeBtn_1gvk2_66", l8 = "_flow_1gvk2_81", i8 = "_token_1gvk2_87", o8 = "_tokenLabel_1gvk2_97", r8 = "_tokenAmount_1gvk2_105", c8 = "_minOut_1gvk2_111", u8 = "_arrow_1gvk2_116", d8 = "_details_1gvk2_123", f8 = "_row_1gvk2_129", h8 = "_rowLabel_1gvk2_135", m8 = "_rowValue_1gvk2_140", p8 = "_warning_1gvk2_146", g8 = "_confirmBtn_1gvk2_158", pt = { overlay: $R, closing: e8, card: t8, header: n8, title: a8, closeBtn: s8, flow: l8, token: i8, tokenLabel: o8, tokenAmount: r8, minOut: c8, arrow: u8, details: d8, row: f8, rowLabel: h8, rowValue: m8, warning: p8, confirmBtn: g8 }; function v8({ quote: a, fromSymbol: l, toSymbol: i, amountHuman: r, insufficientBalance: d, onConfirm: f, onClose: h }) { const { expectedOutFormatted: g, minOutFormatted: m, fees: p } = a, [y, _] = A.useState(!1), b = A.useRef("close"); function S() { b.current = "close", _(!0) } function j() { b.current = "confirm", _(!0) } function w() { y && (b.current === "confirm" ? f() : h()) } return o.jsx("div", { className: `${pt.overlay} ${y ? pt.closing : ""}`, onClick: S, children: o.jsxs("div", { className: `${pt.card} ${y ? pt.closing : ""}`, onClick: E => E.stopPropagation(), onAnimationEnd: w, children: [o.jsxs("div", { className: pt.header, children: [o.jsx("span", { className: pt.title, children: "Подтвердить своп" }), o.jsx("button", { className: pt.closeBtn, onClick: S, children: "×" })] }), o.jsxs("div", { className: pt.flow, children: [o.jsxs("div", { className: pt.token, children: [o.jsx("span", { className: pt.tokenLabel, children: "Отдаёте" }), o.jsxs("span", { className: pt.tokenAmount, children: [r, " ", l] })] }), o.jsx("div", { className: pt.arrow, children: "↓" }), o.jsxs("div", { className: pt.token, children: [o.jsx("span", { className: pt.tokenLabel, children: "Получаете" }), o.jsxs("span", { className: pt.tokenAmount, children: [g, " ", i] }), o.jsxs("span", { className: pt.minOut, children: ["Минимум: ", m, " ", i] })] })] }), o.jsx("div", { className: pt.details, children: o.jsxs("div", { className: pt.row, children: [o.jsx("span", { className: pt.rowLabel, children: "Комиссия сети" }), o.jsxs("span", { className: pt.rowValue, children: [p.network.amountFormatted, " ", p.network.asset, " (≈$", p.network.amountUsd, ")"] })] }) }), d && o.jsx("p", { className: pt.warning, children: "Введённое количество превышает баланс кошелька — своп будет отклонён." }), o.jsx("button", { className: pt.confirmBtn, onClick: j, children: "Подтвердить" })] }) }) } const y8 = "_form_1fk2f_1", _8 = { form: y8 }, b8 = { ETH: 1, BSC: 56, SOL: 792703809 }, e1 = { SOL: "11111111111111111111111111111111", DEFAULT: "0x0000000000000000000000000000000000000000" }; function t1(a) { return e1[a] ?? e1.DEFAULT } function x8() { var Ue, _n, Ks, Tt, Sa, Zi, Wi; const a = vn(), l = Wt(), { fromAmount: i, fromUsd: r, fromToken: d, toToken: f, setFromAmount: h, setPercent: g, swapTokens: m, setFromToken: p, setToToken: y } = py(), [_, b] = A.useState("ETH"), [S, j] = A.useState(null), [w, E] = A.useState(null), [R, L] = A.useState(null), B = _ === "TRX", { data: P } = Yi(_), { data: G } = A4(), V = P ? my(P) : zT, D = B || !G ? V : V.filter(Ke => Ke.symbol === _ || G.some(Jn => Jn.chain === _ && Jn.symbol === Ke.symbol)); A.useEffect(() => { D.length !== 0 && (p(Ke => D.find(Jn => Jn.symbol === Ke.symbol) ?? D[0]), y(Ke => D.find(Jn => Jn.symbol === Ke.symbol) ?? D[1] ?? D[0])) }, [P, _, G]); const K = ba(i, 500), { data: ee } = vu(), re = parseFloat(K), ce = b8[_], ie = (Ue = ee == null ? void 0 : ee.find(Ke => Ke.chain === _)) == null ? void 0 : Ue.address, te = d.symbol === _, pe = f.symbol === _, ve = te ? t1(_) : ((_n = G == null ? void 0 : G.find(Ke => Ke.chain === _ && Ke.symbol === d.symbol)) == null ? void 0 : _n.contract) ?? void 0, q = pe ? t1(_) : ((Ks = G == null ? void 0 : G.find(Ke => Ke.chain === _ && Ke.symbol === f.symbol)) == null ? void 0 : Ks.contract) ?? void 0, X = !B && ce && ie && ve && q && re > 0 ? { user: ie, recipient: ie, originChainId: ce, destinationChainId: ce, originCurrency: ve, destinationCurrency: q, amount: Math.round(re * Math.pow(10, d.decimals)).toString(), tradeType: "EXACT_INPUT" } : null, { data: W, isFetching: ue } = Pv(X), { mutate: be, isPending: T } = N4(), { mutate: Y, isPending: Z } = C4(), $ = B && re > 0 ? { from: d.symbol, to: f.symbol, amountHuman: K } : null, { data: fe, isFetching: ye } = T4($), { mutate: De, isPending: At } = R4(), { mutate: at, isPending: Aa } = k4(), es = Z || Aa, ts = (parseFloat(i) || 0) > d.balance, zl = B ? (fe == null ? void 0 : fe.expectedOutFormatted) ?? "0" : (W == null ? void 0 : W.details.currencyOut.amountFormatted) ?? "0", Dn = B || W == null ? void 0 : W.details.currencyOut.amountUsd, ns = B ? ye : ue, as = B ? (Tt = fe == null ? void 0 : fe.fees.network.amountUsd) == null ? void 0 : Tt.toString() : W == null ? void 0 : W.fees.gas.amountUsd, Dl = (Zi = (Sa = W == null ? void 0 : W.appCommission) == null ? void 0 : Sa.usd) == null ? void 0 : Zi.toString(), Gs = (Wi = W == null ? void 0 : W.appCommission) == null ? void 0 : Wi.inToken, ss = B ? re <= 0 || At : !X || T; function ls() { if (B) { if (!$) return; De($, { onSuccess: Ke => E(Ke) }) } else { if (!X) return; be(X, { onSuccess: Ke => j(Ke) }) } } return o.jsxs("div", { className: _8.form, children: [o.jsx(du, { mode: "from", token: d, tokenOptions: D, amount: i, usd: r, onAmountChange: h, onSetPercent: g, onTokenChange: p, selectedNetwork: _, onNetworkChange: b }), o.jsx(ER, { onClick: m }), o.jsx(du, { mode: "to", token: f, tokenOptions: D, amount: zl, usd: Dn, onTokenChange: y, loading: ns }), o.jsx(BR, { gasFee: as, serviceFee: Dl, serviceFeeToken: Gs }), o.jsx(Zn, { label: T || At ? "Загрузка..." : void 0, onClick: ls, disabled: ss }), S && o.jsx(JR, { data: S, insufficientBalance: ts, onClose: () => j(null), onConfirm: () => { var Jn, Ji; const Ke = (Ji = (Jn = S.steps[0]) == null ? void 0 : Jn.items[0]) == null ? void 0 : Ji.data; Ke && (L(null), Y({ chain: _, txData: Ke }, { onSuccess: () => { l.invalidateQueries({ queryKey: ["wallet", "balance", _] }), l.invalidateQueries({ queryKey: ["wallet", "portfolio"] }), a(`${ae.WALLET}/${_.toLowerCase()}`) }, onError: Ar => { L(Ar instanceof Error ? Ar.message : "Не удалось подписать транзакцию") } })), j(null) } }), w && o.jsx(v8, { quote: w, fromSymbol: d.symbol, toSymbol: f.symbol, amountHuman: i, insufficientBalance: ts, onClose: () => E(null), onConfirm: () => { L(null), at(w.quoteId, { onSuccess: () => { l.invalidateQueries({ queryKey: ["wallet", "balance", "TRX"] }), l.invalidateQueries({ queryKey: ["wallet", "portfolio"] }), a(`${ae.WALLET}/${_.toLowerCase()}`) }, onError: Ke => { L(Ke instanceof Error ? Ke.message : "Не удалось выполнить свап") } }), E(null) } }), es && o.jsx($a, { status: "warning", message: "Обработка транзакции...", onClose: () => { } }), R && o.jsx($a, { status: "error", message: R, onClose: () => L(null), duration: 5e3 })] }) } const A8 = "_tabs_1sxhr_1", S8 = "_tab_1sxhr_1", j8 = "_active_1sxhr_19", w8 = "_inactive_1sxhr_24", ml = { tabs: A8, tab: S8, active: j8, inactive: w8 }; function gy({ active: a }) { const l = vn(); return o.jsxs("div", { className: ml.tabs, children: [o.jsx("button", { className: `${ml.tab} ${a === "swap" ? ml.active : ml.inactive}`, onClick: () => l(ae.SWAP), children: "СВОП" }), o.jsx("button", { className: `${ml.tab} ${a === "bridge" ? ml.active : ml.inactive}`, onClick: () => l(ae.BRIDGE), children: "БРИДЖ" })] }) } const E8 = "_content_1pe49_1", N8 = { content: E8 }; function C8() { return o.jsxs(o.Fragment, { children: [o.jsx(gy, { active: "swap" }), o.jsx("div", { className: N8.content, children: o.jsx(x8, {}) })] }) } function ra(a, l) { const [i, r = ""] = a.split("."), d = r.slice(0, l).padEnd(l, "0"); return `${i}${d}`.replace(/^0+(?=\d)/, "") || "0" } function rr(a, l) { const i = a.padStart(l + 1, "0"), r = i.slice(0, i.length - l), d = i.slice(i.length - l).replace(/0+$/, ""); return d ? `${r}.${d}` : r } const T8 = "_wrap_1zbpm_1", R8 = "_label_1zbpm_9", k8 = "_select_1zbpm_19", Jf = { wrap: T8, label: R8, select: k8 }; function n1({ label: a, value: l, onChange: i, options: r }) { return o.jsxs("div", { className: Jf.wrap, children: [o.jsx("span", { className: Jf.label, children: a }), o.jsx("div", { className: Jf.select, children: o.jsx(Gh, { value: l, onChange: i, options: r.map(d => ({ value: d, label: d })) }) })] }) } const B8 = "_panel_1dg55_1", O8 = "_row_1dg55_10", L8 = "_label_1dg55_22", M8 = "_value_1dg55_30", Fc = { panel: B8, row: O8, label: L8, value: M8 }; function z8({ serviceFee: a, serviceFeeToken: l }) { const i = [{ label: "СЕРВИСНЫЙ СБОР", value: a ? `$${a}` : "—" }, { label: l ? `СЕРВИСНЫЙ СБОР (${l.symbol})` : "СЕРВИСНЫЙ СБОР В ТОКЕНАХ", value: l ? nt(l.amount, 8) : "—" }]; return o.jsx("div", { className: Fc.panel, children: i.map(({ label: r, value: d }) => o.jsxs("div", { className: Fc.row, children: [o.jsx("span", { className: Fc.label, children: r }), o.jsx("span", { className: Fc.value, children: d })] }, r)) }) } const D8 = "_overlay_lnhqe_1", U8 = "_closing_lnhqe_13", H8 = "_card_lnhqe_17", q8 = "_header_lnhqe_54", P8 = "_title_lnhqe_60", Q8 = "_closeBtn_lnhqe_66", F8 = "_flow_lnhqe_81", Y8 = "_token_lnhqe_87", I8 = "_tokenLabel_lnhqe_97", G8 = "_tokenAmount_lnhqe_105", K8 = "_minOut_lnhqe_111", X8 = "_arrow_lnhqe_116", V8 = "_details_lnhqe_123", Z8 = "_row_lnhqe_129", W8 = "_rowLabel_lnhqe_135", J8 = "_rowValue_lnhqe_140", $8 = "_warning_lnhqe_146", ek = "_confirmBtn_lnhqe_158", it = { overlay: D8, closing: U8, card: H8, header: q8, title: P8, closeBtn: Q8, flow: F8, token: Y8, tokenLabel: I8, tokenAmount: G8, minOut: K8, arrow: X8, details: V8, row: Z8, rowLabel: W8, rowValue: J8, warning: $8, confirmBtn: ek }; function tk({ quote: a, fromAmountHuman: l, insufficientBalance: i, isExecuting: r, onConfirm: d, onClose: f }) { const { action: h, estimate: g, toolDetails: m } = a, p = h.toToken.symbol, y = h.fromToken.symbol, [_, b] = A.useState(!1); function S() { b(!0) } function j() { _ && f() } const w = nt(rr(g.toAmount, h.toToken.decimals), 8), E = nt(rr(g.toAmountMin, h.toToken.decimals), 8), R = (g.feeCosts ?? []).reduce((L, B) => L + (parseFloat(B.amountUSD) || 0), 0).toFixed(2); return o.jsx("div", { className: `${it.overlay} ${_ ? it.closing : ""}`, onClick: S, children: o.jsxs("div", { className: `${it.card} ${_ ? it.closing : ""}`, onClick: L => L.stopPropagation(), onAnimationEnd: j, children: [o.jsxs("div", { className: it.header, children: [o.jsx("span", { className: it.title, children: "Подтвердить бридж" }), o.jsx("button", { className: it.closeBtn, onClick: S, children: "×" })] }), o.jsxs("div", { className: it.flow, children: [o.jsxs("div", { className: it.token, children: [o.jsx("span", { className: it.tokenLabel, children: "Отдаёте" }), o.jsxs("span", { className: it.tokenAmount, children: [l, " ", y] })] }), o.jsx("div", { className: it.arrow, children: "↓" }), o.jsxs("div", { className: it.token, children: [o.jsx("span", { className: it.tokenLabel, children: "Получаете" }), o.jsxs("span", { className: it.tokenAmount, children: [w, " ", p] }), o.jsxs("span", { className: it.minOut, children: ["Минимум: ", E, " ", p] })] })] }), o.jsxs("div", { className: it.details, children: [o.jsxs("div", { className: it.row, children: [o.jsx("span", { className: it.rowLabel, children: "Комиссия" }), o.jsxs("span", { className: it.rowValue, children: ["≈$", R] })] }), o.jsxs("div", { className: it.row, children: [o.jsx("span", { className: it.rowLabel, children: "Мост" }), o.jsx("span", { className: it.rowValue, children: m.name })] })] }), i && o.jsx("p", { className: it.warning, children: "Введённое количество превышает баланс кошелька — бридж будет отклонён." }), o.jsx("button", { className: it.confirmBtn, onClick: d, disabled: r, children: r ? "Обработка..." : "Подтвердить бридж" })] }) }) } const nk = "_form_htwuf_1", a1 = { form: nk }, $f = ["ETH", "BSC", "SOL", "TRX", "BTC"], Ei = { ETH: "1", BSC: "56", SOL: "1151111081099710", TRX: "728126428", BTC: "20000000000001" }, ak = Object.fromEntries(Object.entries(Ei).map(([a, l]) => [l, a])), s1 = { ETH: 1, BSC: 56, SOL: 792703809, TRX: 728126428, BTC: 8253038 }; function sk(a) { const l = Lh[a.symbol]; return { symbol: a.symbol, letter: (l == null ? void 0 : l.letter) ?? a.symbol[0], color: (l == null ? void 0 : l.color) ?? "#888", logo: a.logoURI ?? (l == null ? void 0 : l.logo) ?? Vt(a.symbol), network: ak[String(a.chainId)] ?? a.symbol, balance: 0, usdRate: parseFloat(a.priceUSD) || 0, decimals: a.decimals } } function lk(a) { const l = {}; for (const i of my(a)) l[i.symbol] = i.balance; return l } function ik() { var Dn, ns, as, Dl, Gs, ss, ls; const a = vn(), l = Wt(), { fromAmount: i, fromUsd: r, fromToken: d, toToken: f, setFromAmount: h, setPercent: g, setFromToken: m, setToToken: p } = py(), [y, _] = A.useState("ETH"), [b, S] = A.useState("BSC"), [j, w] = A.useState(null), [E, R] = A.useState(null), { data: L, isLoading: B } = S4(), { data: P } = Yi(y), { data: G } = Yi(b), { data: V } = vu(), { mutate: D, isPending: K } = j4(), { mutate: ee, isPending: re } = w4(); function ce(Ue, _n) { const Ks = ((L == null ? void 0 : L[Ei[Ue]]) ?? []).map(sk); if (!_n) return Ks; const Tt = lk(_n); return Ks.map(Sa => Tt[Sa.symbol] != null ? { ...Sa, balance: Tt[Sa.symbol] } : Sa) } const ie = ce(y, P), te = ce(b, G); A.useEffect(() => { ie.length !== 0 && m(Ue => ie.find(_n => _n.symbol === Ue.symbol) ?? ie[0]) }, [L, P, y]), A.useEffect(() => { te.length !== 0 && p(Ue => te.find(_n => _n.symbol === Ue.symbol) ?? te[0]) }, [L, G, b]); const pe = parseFloat(i), ve = (pe || 0) > d.balance, q = (Dn = L == null ? void 0 : L[Ei[y]]) == null ? void 0 : Dn.find(Ue => Ue.symbol === d.symbol), X = (ns = L == null ? void 0 : L[Ei[b]]) == null ? void 0 : ns.find(Ue => Ue.symbol === f.symbol), W = (as = V == null ? void 0 : V.find(Ue => Ue.chain === y)) == null ? void 0 : as.address, ue = (Dl = V == null ? void 0 : V.find(Ue => Ue.chain === b)) == null ? void 0 : Dl.address, be = q && X && W && ue && pe > 0 ? { fromChain: Ei[y], toChain: Ei[b], fromToken: q.address, toToken: X.address, fromAmount: ra(i, d.decimals), fromAddress: W, toAddress: ue, slippage: .005 } : null, T = ba(i, 500), Y = parseFloat(T), Z = s1[y], $ = s1[b], fe = q && X && W && ue && Z && $ && Y > 0 ? { user: W, recipient: ue, originChainId: Z, destinationChainId: $, originCurrency: q.address, destinationCurrency: X.address, amount: ra(T, d.decimals), tradeType: "EXACT_INPUT" } : null, { data: ye, isFetching: De } = Pv(fe), At = (ss = (Gs = ye == null ? void 0 : ye.appCommission) == null ? void 0 : Gs.usd) == null ? void 0 : ss.toString(), at = (ls = ye == null ? void 0 : ye.appCommission) == null ? void 0 : ls.inToken, Aa = ye ? ye.details.currencyOut.amountFormatted : j ? nt(rr(j.estimate.toAmount, j.action.toToken.decimals), 8) : "0"; function es(Ue) { _(Ue), Ue === b && S($f.find(_n => _n !== Ue) ?? b) } function ts() { be && (R(null), D(be, { onSuccess: Ue => w(Ue), onError: Ue => R(Ue instanceof Error ? Ue.message : "Не удалось получить котировку") })) } function zl() { j && (R(null), ee({ provider: "jumper", fromChain: j.action.fromChainId, toChain: j.action.toChainId, fromToken: j.action.fromToken.address, toToken: j.action.toToken.address, fromAmount: j.action.fromAmount, fromAddress: j.action.fromAddress, toAddress: j.action.toAddress, acceptedMinOut: j.estimate.toAmountMin }, { onSuccess: () => { l.invalidateQueries({ queryKey: ["wallet", "balance", y] }), l.invalidateQueries({ queryKey: ["wallet", "balance", b] }), l.invalidateQueries({ queryKey: ["wallet", "portfolio"] }), w(null), a(ae.WALLET_CHAIN.replace(":chain", b.toLowerCase())) }, onError: Ue => R(Ue instanceof Error ? Ue.message : "Не удалось выполнить бридж") })) } return B || !L ? o.jsx("div", { className: a1.form, children: o.jsx(zn, { fullscreen: !0, label: "Загрузка" }) }) : o.jsxs("div", { className: a1.form, children: [o.jsx(n1, { label: "ИЗ", value: y, onChange: es, options: $f }), o.jsx(du, { mode: "from", token: d, tokenOptions: ie, amount: i, usd: r, onAmountChange: h, onSetPercent: g, onTokenChange: m, hideNetworkSelect: !0 }), o.jsx(n1, { label: "В", value: b, onChange: S, options: $f.filter(Ue => Ue !== y) }), o.jsx(du, { mode: "to", token: f, tokenOptions: te, amount: Aa, onTokenChange: p, hideNetworkSelect: !0, loading: De }), o.jsx(z8, { serviceFee: At, serviceFeeToken: at }), o.jsx(Zn, { label: K ? "Загрузка..." : "Подтвердить бридж", onClick: ts, disabled: !be || K }), j && o.jsx(tk, { quote: j, fromAmountHuman: i, insufficientBalance: ve, isExecuting: re, onConfirm: zl, onClose: () => w(null) }), E && o.jsx($a, { status: "error", message: E, onClose: () => R(null), duration: 5e3 })] }) } const ok = "_content_1pe49_1", rk = { content: ok }; function ck() { return o.jsxs(o.Fragment, { children: [o.jsx(gy, { active: "bridge" }), o.jsx("div", { className: rk.content, children: o.jsx(ik, {}) })] }) } var Mh = function (a, l) { return Mh = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (i, r) { i.__proto__ = r } || function (i, r) { for (var d in r) Object.prototype.hasOwnProperty.call(r, d) && (i[d] = r[d]) }, Mh(a, l) }; function uk(a, l) { if (typeof l != "function" && l !== null) throw new TypeError("Class extends value " + String(l) + " is not a constructor or null"); Mh(a, l); function i() { this.constructor = a } a.prototype = l === null ? Object.create(l) : (i.prototype = l.prototype, new i) } var Ht = function () { return Ht = Object.assign || function (l) { for (var i, r = 1, d = arguments.length; r < d; r++) { i = arguments[r]; for (var f in i) Object.prototype.hasOwnProperty.call(i, f) && (l[f] = i[f]) } return l }, Ht.apply(this, arguments) }; var eh, l1; function dk() { if (l1) return eh; l1 = 1; var a = !1, l, i, r, d, f, h, g, m, p, y, _, b, S, j, w; function E() { if (!a) { a = !0; var L = navigator.userAgent, B = /(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(L), P = /(Mac OS X)|(Windows)|(Linux)/.exec(L); if (b = /\b(iPhone|iP[ao]d)/.exec(L), S = /\b(iP[ao]d)/.exec(L), y = /Android/i.exec(L), j = /FBAN\/\w+;/i.exec(L), w = /Mobile/i.exec(L), _ = !!/Win64/.exec(L), B) { l = B[1] ? parseFloat(B[1]) : B[5] ? parseFloat(B[5]) : NaN, l && document && document.documentMode && (l = document.documentMode); var G = /(?:Trident\/(\d+.\d+))/.exec(L); h = G ? parseFloat(G[1]) + 4 : l, i = B[2] ? parseFloat(B[2]) : NaN, r = B[3] ? parseFloat(B[3]) : NaN, d = B[4] ? parseFloat(B[4]) : NaN, d ? (B = /(?:Chrome\/(\d+\.\d+))/.exec(L), f = B && B[1] ? parseFloat(B[1]) : NaN) : f = NaN } else l = i = r = f = d = NaN; if (P) { if (P[1]) { var V = /(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(L); g = V ? parseFloat(V[1].replace("_", ".")) : !0 } else g = !1; m = !!P[2], p = !!P[3] } else g = m = p = !1 } } var R = { ie: function () { return E() || l }, ieCompatibilityMode: function () { return E() || h > l }, ie64: function () { return R.ie() && _ }, firefox: function () { return E() || i }, opera: function () { return E() || r }, webkit: function () { return E() || d }, safari: function () { return R.webkit() }, chrome: function () { return E() || f }, windows: function () { return E() || m }, osx: function () { return E() || g }, linux: function () { return E() || p }, iphone: function () { return E() || b }, mobile: function () { return E() || b || S || y || w }, nativeApp: function () { return E() || j }, android: function () { return E() || y }, ipad: function () { return E() || S } }; return eh = R, eh } var th, i1; function fk() { if (i1) return th; i1 = 1; var a = !!(typeof window < "u" && window.document && window.document.createElement), l = { canUseDOM: a, canUseWorkers: typeof Worker < "u", canUseEventListeners: a && !!(window.addEventListener || window.attachEvent), canUseViewport: a && !!window.screen, isInWorker: !a }; return th = l, th } var nh, o1; function hk() {
if (o1) return nh; o1 = 1; var a = fk(), l; a.canUseDOM && (l = document.implementation && document.implementation.hasFeature && document.implementation.hasFeature("", "") !== !0);/**
* Checks if an event is supported in the current execution environment.
*
* NOTE: This will not work correctly for non-generic events such as `change`,
* `reset`, `load`, `error`, and `select`.
*
* Borrows from Modernizr.
*
* @param {string} eventNameSuffix Event name, e.g. "click".
* @param {?boolean} capture Check if the capture phase is supported.
* @return {boolean} True if the event is supported.
* @internal
* @license Modernizr 3.0.0pre (Custom Build) | MIT
*/function i(r, d) { if (!a.canUseDOM || d && !("addEventListener" in document)) return !1; var f = "on" + r, h = f in document; if (!h) { var g = document.createElement("div"); g.setAttribute(f, "return;"), h = typeof g[f] == "function" } return !h && l && r === "wheel" && (h = document.implementation.hasFeature("Events.wheel", "3.0")), h } return nh = i, nh
} var ah, r1; function mk() { if (r1) return ah; r1 = 1; var a = dk(), l = hk(), i = 10, r = 40, d = 800; function f(h) { var g = 0, m = 0, p = 0, y = 0; return "detail" in h && (m = h.detail), "wheelDelta" in h && (m = -h.wheelDelta / 120), "wheelDeltaY" in h && (m = -h.wheelDeltaY / 120), "wheelDeltaX" in h && (g = -h.wheelDeltaX / 120), "axis" in h && h.axis === h.HORIZONTAL_AXIS && (g = m, m = 0), p = g * i, y = m * i, "deltaY" in h && (y = h.deltaY), "deltaX" in h && (p = h.deltaX), (p || y) && h.deltaMode && (h.deltaMode == 1 ? (p *= r, y *= r) : (p *= d, y *= d)), p && !g && (g = p < 1 ? -1 : 1), y && !m && (m = y < 1 ? -1 : 1), { spinX: g, spinY: m, pixelX: p, pixelY: y } } return f.getEventType = function () { return a.firefox() ? "DOMMouseScroll" : l("wheel") ? "wheel" : "mousewheel" }, ah = f, ah } var sh, c1; function pk() { return c1 || (c1 = 1, sh = mk()), sh } var gk = pk(); const vk = G1(gk); function yk(a, l, i, r, d, f) { f === void 0 && (f = 0); var h = Ii(a, l, f), g = h.width, m = h.height, p = Math.min(g, i), y = Math.min(m, r); return p > y * d ? { width: y * d, height: y } : { width: p, height: p / d } } function _k(a) { return a.width > a.height ? a.width / a.naturalWidth : a.height / a.naturalHeight } function $o(a, l, i, r, d) { d === void 0 && (d = 0); var f = Ii(l.width, l.height, d), h = f.width, g = f.height; return { x: u1(a.x, h, i.width, r), y: u1(a.y, g, i.height, r) } } function u1(a, l, i, r) { var d = Math.abs(l * r / 2 - i / 2); return _u(a, -d, d) } function d1(a, l) { return Math.sqrt(Math.pow(a.y - l.y, 2) + Math.pow(a.x - l.x, 2)) } function f1(a, l) { return Math.atan2(l.y - a.y, l.x - a.x) * 180 / Math.PI } function bk(a, l, i, r, d, f, h) { f === void 0 && (f = 0), h === void 0 && (h = !0); var g = h ? xk : Ak, m = Ii(l.width, l.height, f), p = Ii(l.naturalWidth, l.naturalHeight, f), y = { x: g(100, ((m.width - i.width / d) / 2 - a.x / d) / m.width * 100), y: g(100, ((m.height - i.height / d) / 2 - a.y / d) / m.height * 100), width: g(100, i.width / m.width * 100 / d), height: g(100, i.height / m.height * 100 / d) }, _ = Math.round(g(p.width, y.width * p.width / 100)), b = Math.round(g(p.height, y.height * p.height / 100)), S = p.width >= p.height * r, j = S ? { width: Math.round(b * r), height: b } : { width: _, height: Math.round(_ / r) }, w = Ht(Ht({}, j), { x: Math.round(g(p.width - j.width, y.x * p.width / 100)), y: Math.round(g(p.height - j.height, y.y * p.height / 100)) }); return { croppedAreaPercentages: y, croppedAreaPixels: w } } function xk(a, l) { return Math.min(a, Math.max(0, l)) } function Ak(a, l) { return l } function Sk(a, l, i, r, d, f) { var h = Ii(l.width, l.height, i), g = _u(r.width / h.width * (100 / a.width), d, f), m = { x: g * h.width / 2 - r.width / 2 - h.width * g * (a.x / 100), y: g * h.height / 2 - r.height / 2 - h.height * g * (a.y / 100) }; return { crop: m, zoom: g } } function jk(a, l, i) { var r = _k(l); return i.height > i.width ? i.height / (a.height * r) : i.width / (a.width * r) } function wk(a, l, i, r, d, f) { i === void 0 && (i = 0); var h = Ii(l.naturalWidth, l.naturalHeight, i), g = _u(jk(a, l, r), d, f), m = r.height > r.width ? r.height / a.height : r.width / a.width, p = { x: ((h.width - a.width) / 2 - a.x) * m, y: ((h.height - a.height) / 2 - a.y) * m }; return { crop: p, zoom: g } } function h1(a, l) { return { x: (l.x + a.x) / 2, y: (l.y + a.y) / 2 } } function Ek(a) { return a * Math.PI / 180 } function Ii(a, l, i) { var r = Ek(i); return { width: Math.abs(Math.cos(r) * a) + Math.abs(Math.sin(r) * l), height: Math.abs(Math.sin(r) * a) + Math.abs(Math.cos(r) * l) } } function _u(a, l, i) { return Math.min(Math.max(a, l), i) } function Yc() { for (var a = [], l = 0; l < arguments.length; l++)a[l] = arguments[l]; return a.filter(function (i) { return typeof i == "string" && i.length > 0 }).join(" ").trim() } var Nk = `.reactEasyCrop_Container {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: hidden;
user-select: none;
touch-action: none;
cursor: move;
display: flex;
justify-content: center;
align-items: center;
}
.reactEasyCrop_Image,
.reactEasyCrop_Video {
will-change: transform; /* this improves performances and prevent painting issues on iOS Chrome */
}
.reactEasyCrop_Contain {
max-width: 100%;
max-height: 100%;
margin: auto;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.reactEasyCrop_Cover_Horizontal {
width: 100%;
height: auto;
}
.reactEasyCrop_Cover_Vertical {
width: auto;
height: 100%;
}
.reactEasyCrop_CropArea {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
border: 1px solid rgba(255, 255, 255, 0.5);
box-sizing: border-box;
box-shadow: 0 0 0 9999em;
color: rgba(0, 0, 0, 0.5);
overflow: hidden;
}
.reactEasyCrop_CropAreaRound {
border-radius: 50%;
}
.reactEasyCrop_CropAreaGrid::before {
content: ' ';
box-sizing: border-box;
position: absolute;
border: 1px solid rgba(255, 255, 255, 0.5);
top: 0;
bottom: 0;
left: 33.33%;
right: 33.33%;
border-top: 0;
border-bottom: 0;
}
.reactEasyCrop_CropAreaGrid::after {
content: ' ';
box-sizing: border-box;
position: absolute;
border: 1px solid rgba(255, 255, 255, 0.5);
top: 33.33%;
bottom: 33.33%;
left: 0;
right: 0;
border-left: 0;
border-right: 0;
}
`, Ck = 1, Tk = 3, Rk = 1, kk = (function (a) { uk(l, a); function l() { var i = a !== null && a.apply(this, arguments) || this; return i.cropperRef = A.createRef(), i.imageRef = A.createRef(), i.videoRef = A.createRef(), i.containerPosition = { x: 0, y: 0 }, i.containerRef = null, i.styleRef = null, i.containerRect = null, i.mediaSize = { width: 0, height: 0, naturalWidth: 0, naturalHeight: 0 }, i.dragStartPosition = { x: 0, y: 0 }, i.dragStartCrop = { x: 0, y: 0 }, i.gestureZoomStart = 0, i.gestureRotationStart = 0, i.isTouching = !1, i.lastPinchDistance = 0, i.lastPinchRotation = 0, i.rafDragTimeout = null, i.rafPinchTimeout = null, i.wheelTimer = null, i.currentDoc = typeof document < "u" ? document : null, i.currentWindow = typeof window < "u" ? window : null, i.resizeObserver = null, i.previousCropSize = null, i.isInitialized = !1, i.state = { cropSize: null, hasWheelJustStarted: !1, mediaObjectFit: void 0 }, i.initResizeObserver = function () { if (!(typeof window.ResizeObserver > "u" || !i.containerRef)) { var r = !0; i.resizeObserver = new window.ResizeObserver(function (d) { if (r) { r = !1; return } i.computeSizes() }), i.resizeObserver.observe(i.containerRef) } }, i.preventZoomSafari = function (r) { return r.preventDefault() }, i.cleanEvents = function () { i.currentDoc && (i.currentDoc.removeEventListener("mousemove", i.onMouseMove), i.currentDoc.removeEventListener("mouseup", i.onDragStopped), i.currentDoc.removeEventListener("touchmove", i.onTouchMove), i.currentDoc.removeEventListener("touchend", i.onDragStopped), i.currentDoc.removeEventListener("gesturechange", i.onGestureChange), i.currentDoc.removeEventListener("gestureend", i.onGestureEnd), i.currentDoc.removeEventListener("scroll", i.onScroll)) }, i.clearScrollEvent = function () { i.containerRef && i.containerRef.removeEventListener("wheel", i.onWheel), i.wheelTimer && clearTimeout(i.wheelTimer) }, i.onMediaLoad = function () { var r = i.computeSizes(); r && (i.previousCropSize = r, i.emitCropData(), i.setInitialCrop(r), i.isInitialized = !0), i.props.onMediaLoaded && i.props.onMediaLoaded(i.mediaSize) }, i.setInitialCrop = function (r) { if (i.props.initialCroppedAreaPercentages) { var d = Sk(i.props.initialCroppedAreaPercentages, i.mediaSize, i.props.rotation, r, i.props.minZoom, i.props.maxZoom), f = d.crop, h = d.zoom; i.props.onCropChange(f), i.props.onZoomChange && i.props.onZoomChange(h) } else if (i.props.initialCroppedAreaPixels) { var g = wk(i.props.initialCroppedAreaPixels, i.mediaSize, i.props.rotation, r, i.props.minZoom, i.props.maxZoom), f = g.crop, h = g.zoom; i.props.onCropChange(f), i.props.onZoomChange && i.props.onZoomChange(h) } }, i.computeSizes = function () { var r, d, f, h, g, m, p = i.imageRef.current || i.videoRef.current; if (p && i.containerRef) { i.containerRect = i.containerRef.getBoundingClientRect(), i.saveContainerPosition(); var y = i.containerRect.width / i.containerRect.height, _ = ((r = i.imageRef.current) === null || r === void 0 ? void 0 : r.naturalWidth) || ((d = i.videoRef.current) === null || d === void 0 ? void 0 : d.videoWidth) || 0, b = ((f = i.imageRef.current) === null || f === void 0 ? void 0 : f.naturalHeight) || ((h = i.videoRef.current) === null || h === void 0 ? void 0 : h.videoHeight) || 0, S = p.offsetWidth < _ || p.offsetHeight < b, j = _ / b, w = void 0; if (S) switch (i.state.mediaObjectFit) { default: case "contain": w = y > j ? { width: i.containerRect.height * j, height: i.containerRect.height } : { width: i.containerRect.width, height: i.containerRect.width / j }; break; case "horizontal-cover": w = { width: i.containerRect.width, height: i.containerRect.width / j }; break; case "vertical-cover": w = { width: i.containerRect.height * j, height: i.containerRect.height }; break } else w = { width: p.offsetWidth, height: p.offsetHeight }; i.mediaSize = Ht(Ht({}, w), { naturalWidth: _, naturalHeight: b }), i.props.setMediaSize && i.props.setMediaSize(i.mediaSize); var E = i.props.cropSize ? i.props.cropSize : yk(i.mediaSize.width, i.mediaSize.height, i.containerRect.width, i.containerRect.height, i.props.aspect, i.props.rotation); return (((g = i.state.cropSize) === null || g === void 0 ? void 0 : g.height) !== E.height || ((m = i.state.cropSize) === null || m === void 0 ? void 0 : m.width) !== E.width) && i.props.onCropSizeChange && i.props.onCropSizeChange(E), i.setState({ cropSize: E }, i.recomputeCropPosition), i.props.setCropSize && i.props.setCropSize(E), E } }, i.saveContainerPosition = function () { if (i.containerRef) { var r = i.containerRef.getBoundingClientRect(); i.containerPosition = { x: r.left, y: r.top } } }, i.onMouseDown = function (r) { i.currentDoc && (r.preventDefault(), i.currentDoc.addEventListener("mousemove", i.onMouseMove), i.currentDoc.addEventListener("mouseup", i.onDragStopped), i.saveContainerPosition(), i.onDragStart(l.getMousePoint(r))) }, i.onMouseMove = function (r) { return i.onDrag(l.getMousePoint(r)) }, i.onScroll = function (r) { i.currentDoc && (r.preventDefault(), i.saveContainerPosition()) }, i.onTouchStart = function (r) { i.currentDoc && (i.isTouching = !0, !(i.props.onTouchRequest && !i.props.onTouchRequest(r)) && (i.currentDoc.addEventListener("touchmove", i.onTouchMove, { passive: !1 }), i.currentDoc.addEventListener("touchend", i.onDragStopped), i.saveContainerPosition(), r.touches.length === 2 ? i.onPinchStart(r) : r.touches.length === 1 && i.onDragStart(l.getTouchPoint(r.touches[0])))) }, i.onTouchMove = function (r) { r.preventDefault(), r.touches.length === 2 ? i.onPinchMove(r) : r.touches.length === 1 && i.onDrag(l.getTouchPoint(r.touches[0])) }, i.onGestureStart = function (r) { i.currentDoc && (r.preventDefault(), i.currentDoc.addEventListener("gesturechange", i.onGestureChange), i.currentDoc.addEventListener("gestureend", i.onGestureEnd), i.gestureZoomStart = i.props.zoom, i.gestureRotationStart = i.props.rotation) }, i.onGestureChange = function (r) { if (r.preventDefault(), !i.isTouching) { var d = l.getMousePoint(r), f = i.gestureZoomStart - 1 + r.scale; if (i.setNewZoom(f, d, { shouldUpdatePosition: !0 }), i.props.onRotationChange) { var h = i.gestureRotationStart + r.rotation; i.props.onRotationChange(h) } } }, i.onGestureEnd = function (r) { i.cleanEvents() }, i.onDragStart = function (r) { var d, f, h = r.x, g = r.y; i.dragStartPosition = { x: h, y: g }, i.dragStartCrop = Ht({}, i.props.crop), (f = (d = i.props).onInteractionStart) === null || f === void 0 || f.call(d) }, i.onDrag = function (r) { var d = r.x, f = r.y; i.currentWindow && (i.rafDragTimeout && i.currentWindow.cancelAnimationFrame(i.rafDragTimeout), i.rafDragTimeout = i.currentWindow.requestAnimationFrame(function () { if (i.state.cropSize && !(d === void 0 || f === void 0)) { var h = d - i.dragStartPosition.x, g = f - i.dragStartPosition.y, m = { x: i.dragStartCrop.x + h, y: i.dragStartCrop.y + g }, p = i.props.restrictPosition ? $o(m, i.mediaSize, i.state.cropSize, i.props.zoom, i.props.rotation) : m; i.props.onCropChange(p) } })) }, i.onDragStopped = function () { var r, d; i.isTouching = !1, i.cleanEvents(), i.emitCropData(), (d = (r = i.props).onInteractionEnd) === null || d === void 0 || d.call(r) }, i.onWheel = function (r) { if (i.currentWindow && !(i.props.onWheelRequest && !i.props.onWheelRequest(r))) { r.preventDefault(); var d = l.getMousePoint(r), f = vk(r).pixelY, h = i.props.zoom - f * i.props.zoomSpeed / 200; i.setNewZoom(h, d, { shouldUpdatePosition: !0 }), i.state.hasWheelJustStarted || i.setState({ hasWheelJustStarted: !0 }, function () { var g, m; return (m = (g = i.props).onInteractionStart) === null || m === void 0 ? void 0 : m.call(g) }), i.wheelTimer && clearTimeout(i.wheelTimer), i.wheelTimer = i.currentWindow.setTimeout(function () { return i.setState({ hasWheelJustStarted: !1 }, function () { var g, m; return (m = (g = i.props).onInteractionEnd) === null || m === void 0 ? void 0 : m.call(g) }) }, 250) } }, i.getPointOnContainer = function (r, d) { var f = r.x, h = r.y; if (!i.containerRect) throw new Error("The Cropper is not mounted"); return { x: i.containerRect.width / 2 - (f - d.x), y: i.containerRect.height / 2 - (h - d.y) } }, i.getPointOnMedia = function (r) { var d = r.x, f = r.y, h = i.props, g = h.crop, m = h.zoom; return { x: (d + g.x) / m, y: (f + g.y) / m } }, i.setNewZoom = function (r, d, f) { var h = f === void 0 ? {} : f, g = h.shouldUpdatePosition, m = g === void 0 ? !0 : g; if (!(!i.state.cropSize || !i.props.onZoomChange)) { var p = _u(r, i.props.minZoom, i.props.maxZoom); if (m) { var y = i.getPointOnContainer(d, i.containerPosition), _ = i.getPointOnMedia(y), b = { x: _.x * p - y.x, y: _.y * p - y.y }, S = i.props.restrictPosition ? $o(b, i.mediaSize, i.state.cropSize, p, i.props.rotation) : b; i.props.onCropChange(S) } i.props.onZoomChange(p) } }, i.getCropData = function () { if (!i.state.cropSize) return null; var r = i.props.restrictPosition ? $o(i.props.crop, i.mediaSize, i.state.cropSize, i.props.zoom, i.props.rotation) : i.props.crop; return bk(r, i.mediaSize, i.state.cropSize, i.getAspect(), i.props.zoom, i.props.rotation, i.props.restrictPosition) }, i.emitCropData = function () { var r = i.getCropData(); if (r) { var d = r.croppedAreaPercentages, f = r.croppedAreaPixels; i.props.onCropComplete && i.props.onCropComplete(d, f), i.props.onCropAreaChange && i.props.onCropAreaChange(d, f) } }, i.emitCropAreaChange = function () { var r = i.getCropData(); if (r) { var d = r.croppedAreaPercentages, f = r.croppedAreaPixels; i.props.onCropAreaChange && i.props.onCropAreaChange(d, f) } }, i.recomputeCropPosition = function () { var r, d; if (i.state.cropSize) { var f = i.props.crop; if (i.isInitialized && (!((r = i.previousCropSize) === null || r === void 0) && r.width) && (!((d = i.previousCropSize) === null || d === void 0) && d.height)) { var h = Math.abs(i.previousCropSize.width - i.state.cropSize.width) > 1e-6 || Math.abs(i.previousCropSize.height - i.state.cropSize.height) > 1e-6; if (h) { var g = i.state.cropSize.width / i.previousCropSize.width, m = i.state.cropSize.height / i.previousCropSize.height; f = { x: i.props.crop.x * g, y: i.props.crop.y * m } } } var p = i.props.restrictPosition ? $o(f, i.mediaSize, i.state.cropSize, i.props.zoom, i.props.rotation) : f; i.previousCropSize = i.state.cropSize, i.props.onCropChange(p), i.emitCropData() } }, i.onKeyDown = function (r) { var d, f, h = i.props, g = h.crop, m = h.onCropChange, p = h.keyboardStep, y = h.zoom, _ = h.rotation, b = p; if (i.state.cropSize) { r.shiftKey && (b *= .2); var S = Ht({}, g); switch (r.key) { case "ArrowUp": S.y -= b, r.preventDefault(); break; case "ArrowDown": S.y += b, r.preventDefault(); break; case "ArrowLeft": S.x -= b, r.preventDefault(); break; case "ArrowRight": S.x += b, r.preventDefault(); break; default: return }i.props.restrictPosition && (S = $o(S, i.mediaSize, i.state.cropSize, y, _)), r.repeat || (f = (d = i.props).onInteractionStart) === null || f === void 0 || f.call(d), m(S) } }, i.onKeyUp = function (r) { var d, f; switch (r.key) { case "ArrowUp": case "ArrowDown": case "ArrowLeft": case "ArrowRight": r.preventDefault(); break; default: return }i.emitCropData(), (f = (d = i.props).onInteractionEnd) === null || f === void 0 || f.call(d) }, i } return l.prototype.componentDidMount = function () { !this.currentDoc || !this.currentWindow || (this.containerRef && (this.containerRef.ownerDocument && (this.currentDoc = this.containerRef.ownerDocument), this.currentDoc.defaultView && (this.currentWindow = this.currentDoc.defaultView), this.initResizeObserver(), typeof window.ResizeObserver > "u" && this.currentWindow.addEventListener("resize", this.computeSizes), this.props.zoomWithScroll && this.containerRef.addEventListener("wheel", this.onWheel, { passive: !1 }), this.containerRef.addEventListener("gesturestart", this.onGestureStart)), this.currentDoc.addEventListener("scroll", this.onScroll), this.props.disableAutomaticStylesInjection || (this.styleRef = this.currentDoc.createElement("style"), this.styleRef.setAttribute("type", "text/css"), this.props.nonce && this.styleRef.setAttribute("nonce", this.props.nonce), this.styleRef.innerHTML = Nk, this.currentDoc.head.appendChild(this.styleRef)), this.imageRef.current && this.imageRef.current.complete && this.onMediaLoad(), this.props.setImageRef && this.props.setImageRef(this.imageRef), this.props.setVideoRef && this.props.setVideoRef(this.videoRef), this.props.setCropperRef && this.props.setCropperRef(this.cropperRef)) }, l.prototype.componentWillUnmount = function () { var i, r; !this.currentDoc || !this.currentWindow || (typeof window.ResizeObserver > "u" && this.currentWindow.removeEventListener("resize", this.computeSizes), (i = this.resizeObserver) === null || i === void 0 || i.disconnect(), this.containerRef && this.containerRef.removeEventListener("gesturestart", this.preventZoomSafari), this.styleRef && ((r = this.styleRef.parentNode) === null || r === void 0 || r.removeChild(this.styleRef)), this.cleanEvents(), this.props.zoomWithScroll && this.clearScrollEvent()) }, l.prototype.componentDidUpdate = function (i) { var r, d, f, h, g, m, p, y, _; i.rotation !== this.props.rotation ? (this.computeSizes(), this.recomputeCropPosition()) : i.aspect !== this.props.aspect ? this.computeSizes() : i.objectFit !== this.props.objectFit ? this.computeSizes() : i.zoom !== this.props.zoom ? this.recomputeCropPosition() : ((r = i.cropSize) === null || r === void 0 ? void 0 : r.height) !== ((d = this.props.cropSize) === null || d === void 0 ? void 0 : d.height) || ((f = i.cropSize) === null || f === void 0 ? void 0 : f.width) !== ((h = this.props.cropSize) === null || h === void 0 ? void 0 : h.width) ? this.computeSizes() : (((g = i.crop) === null || g === void 0 ? void 0 : g.x) !== ((m = this.props.crop) === null || m === void 0 ? void 0 : m.x) || ((p = i.crop) === null || p === void 0 ? void 0 : p.y) !== ((y = this.props.crop) === null || y === void 0 ? void 0 : y.y)) && this.emitCropAreaChange(), i.zoomWithScroll !== this.props.zoomWithScroll && this.containerRef && (this.props.zoomWithScroll ? this.containerRef.addEventListener("wheel", this.onWheel, { passive: !1 }) : this.clearScrollEvent()), i.video !== this.props.video && ((_ = this.videoRef.current) === null || _ === void 0 || _.load()); var b = this.getObjectFit(); b !== this.state.mediaObjectFit && this.setState({ mediaObjectFit: b }, this.computeSizes) }, l.prototype.getAspect = function () { var i = this.props, r = i.cropSize, d = i.aspect; return r ? r.width / r.height : d }, l.prototype.getObjectFit = function () { var i, r, d, f; if (this.props.objectFit === "cover") { var h = this.imageRef.current || this.videoRef.current; if (h && this.containerRef) { this.containerRect = this.containerRef.getBoundingClientRect(); var g = this.containerRect.width / this.containerRect.height, m = ((i = this.imageRef.current) === null || i === void 0 ? void 0 : i.naturalWidth) || ((r = this.videoRef.current) === null || r === void 0 ? void 0 : r.videoWidth) || 0, p = ((d = this.imageRef.current) === null || d === void 0 ? void 0 : d.naturalHeight) || ((f = this.videoRef.current) === null || f === void 0 ? void 0 : f.videoHeight) || 0, y = m / p; return y < g ? "horizontal-cover" : "vertical-cover" } return "horizontal-cover" } return this.props.objectFit }, l.prototype.onPinchStart = function (i) { var r = l.getTouchPoint(i.touches[0]), d = l.getTouchPoint(i.touches[1]); this.lastPinchDistance = d1(r, d), this.lastPinchRotation = f1(r, d), this.onDragStart(h1(r, d)) }, l.prototype.onPinchMove = function (i) { var r = this; if (!(!this.currentDoc || !this.currentWindow)) { var d = l.getTouchPoint(i.touches[0]), f = l.getTouchPoint(i.touches[1]), h = h1(d, f); this.onDrag(h), this.rafPinchTimeout && this.currentWindow.cancelAnimationFrame(this.rafPinchTimeout), this.rafPinchTimeout = this.currentWindow.requestAnimationFrame(function () { var g = d1(d, f), m = r.props.zoom * (g / r.lastPinchDistance); r.setNewZoom(m, h, { shouldUpdatePosition: !1 }), r.lastPinchDistance = g; var p = f1(d, f), y = r.props.rotation + (p - r.lastPinchRotation); r.props.onRotationChange && r.props.onRotationChange(y), r.lastPinchRotation = p }) } }, l.prototype.render = function () { var i = this, r, d = this.props, f = d.image, h = d.video, g = d.mediaProps, m = d.cropperProps, p = d.transform, y = d.crop, _ = y.x, b = y.y, S = d.rotation, j = d.zoom, w = d.cropShape, E = d.showGrid, R = d.roundCropAreaPixels, L = d.style, B = L.containerStyle, P = L.cropAreaStyle, G = L.mediaStyle, V = d.classes, D = V.containerClassName, K = V.cropAreaClassName, ee = V.mediaClassName, re = (r = this.state.mediaObjectFit) !== null && r !== void 0 ? r : this.getObjectFit(); return A.createElement("div", { onMouseDown: this.onMouseDown, onTouchStart: this.onTouchStart, ref: function (ie) { return i.containerRef = ie }, "data-testid": "container", style: B, className: Yc("reactEasyCrop_Container", D) }, f ? A.createElement("img", Ht({ alt: "", className: Yc("reactEasyCrop_Image", re === "contain" && "reactEasyCrop_Contain", re === "horizontal-cover" && "reactEasyCrop_Cover_Horizontal", re === "vertical-cover" && "reactEasyCrop_Cover_Vertical", ee) }, g, { src: f, ref: this.imageRef, style: Ht(Ht({}, G), { transform: p || "translate(".concat(_, "px, ").concat(b, "px) rotate(").concat(S, "deg) scale(").concat(j, ")") }), onLoad: this.onMediaLoad })) : h && A.createElement("video", Ht({ autoPlay: !0, playsInline: !0, loop: !0, muted: !0, className: Yc("reactEasyCrop_Video", re === "contain" && "reactEasyCrop_Contain", re === "horizontal-cover" && "reactEasyCrop_Cover_Horizontal", re === "vertical-cover" && "reactEasyCrop_Cover_Vertical", ee) }, g, { ref: this.videoRef, onLoadedMetadata: this.onMediaLoad, style: Ht(Ht({}, G), { transform: p || "translate(".concat(_, "px, ").concat(b, "px) rotate(").concat(S, "deg) scale(").concat(j, ")") }), controls: !1 }), (Array.isArray(h) ? h : [{ src: h }]).map(function (ce) { return A.createElement("source", Ht({ key: ce.src }, ce)) })), this.state.cropSize && A.createElement("div", Ht({ ref: this.cropperRef, style: Ht(Ht({}, P), { width: R ? Math.round(this.state.cropSize.width) : this.state.cropSize.width, height: R ? Math.round(this.state.cropSize.height) : this.state.cropSize.height }), tabIndex: 0, onKeyDown: this.onKeyDown, onKeyUp: this.onKeyUp, "data-testid": "cropper", className: Yc("reactEasyCrop_CropArea", w === "round" && "reactEasyCrop_CropAreaRound", E && "reactEasyCrop_CropAreaGrid", K) }, m))) }, l.defaultProps = { zoom: 1, rotation: 0, aspect: 4 / 3, maxZoom: Tk, minZoom: Ck, cropShape: "rect", objectFit: "contain", showGrid: !0, style: {}, classes: {}, mediaProps: {}, cropperProps: {}, zoomSpeed: 1, restrictPosition: !0, zoomWithScroll: !0, keyboardStep: Rk }, l.getMousePoint = function (i) { return { x: Number(i.clientX), y: Number(i.clientY) } }, l.getTouchPoint = function (i) { return { x: Number(i.clientX), y: Number(i.clientY) } }, l })(A.Component); function Bk(a) { return new Promise((l, i) => { const r = new Image; r.onload = () => l(r), r.onerror = () => i(new Error("Не удалось загрузить изображение")), r.src = a }) } async function Ok(a, l, i = 512) { const r = await Bk(a), d = document.createElement("canvas"); d.width = i, d.height = i; const f = d.getContext("2d"); if (!f) throw new Error("Canvas 2D context недоступен"); return f.drawImage(r, l.x, l.y, l.width, l.height, 0, 0, i, i), new Promise((h, g) => { d.toBlob(m => { m ? h(m) : g(new Error("Пустой Blob после обрезки")) }, "image/jpeg", .9) }) } const Lk = "_backdrop_1cfz6_1", Mk = "_card_1cfz6_12", zk = "_title_1cfz6_25", Dk = "_cropArea_1cfz6_31", Uk = "_controls_1cfz6_40", Hk = "_zoom_1cfz6_52", qk = "_actions_1cfz6_57", Pk = "_error_1cfz6_63", ks = { backdrop: Lk, card: Mk, title: zk, cropArea: Dk, controls: Uk, zoom: Hk, actions: qk, error: Pk }; function Qk({ imageSrc: a, isSaving: l, onCancel: i, onConfirm: r }) { const [d, f] = A.useState({ x: 0, y: 0 }), [h, g] = A.useState(1), [m, p] = A.useState(null), [y, _] = A.useState(null), b = A.useCallback((j, w) => { p(w) }, []); A.useEffect(() => { const j = w => { w.key === "Escape" && !l && i() }; return window.addEventListener("keydown", j), () => window.removeEventListener("keydown", j) }, [i, l]); const S = async () => { if (m) { _(null); try { const j = await Ok(a, m); await r(j) } catch { _("Не удалось обрезать изображение") } } }; return o.jsx("div", { className: ks.backdrop, onClick: l ? void 0 : i, children: o.jsxs("div", { className: ks.card, onClick: j => j.stopPropagation(), children: [o.jsx("h3", { className: ks.title, children: "Выберите область аватара" }), o.jsx("div", { className: ks.cropArea, children: o.jsx(kk, { image: a, crop: d, zoom: h, aspect: 1, cropShape: "round", showGrid: !1, onCropChange: f, onZoomChange: g, onCropComplete: b }) }), o.jsxs("div", { className: ks.controls, children: [o.jsx("label", { htmlFor: "avatar-zoom", children: "Масштаб" }), o.jsx("input", { id: "avatar-zoom", className: ks.zoom, type: "range", min: 1, max: 3, step: .01, value: h, onChange: j => g(Number(j.target.value)) })] }), y && o.jsx("span", { className: ks.error, children: y }), o.jsxs("div", { className: ks.actions, children: [o.jsx(Ln, { variant: "ghost", onClick: i, disabled: l, children: "Отмена" }), o.jsx(Ln, { variant: "primary", onClick: S, disabled: l || !m, children: l ? "Загрузка..." : "Сохранить" })] })] }) }) } const Fk = "_col_nam4n_1", Yk = "_avatar_nam4n_10", Ik = "_avatarImg_nam4n_31", Gk = "_error_nam4n_38", Kk = "_overlay_nam4n_44", Xk = "_addPhoto_nam4n_69", Si = { col: Fk, avatar: Yk, avatarImg: Ik, error: Gk, overlay: Kk, addPhoto: Xk }; function Vk(a) { return new Promise((l, i) => { const r = new FileReader; r.onload = () => { const d = r.result, f = d.indexOf(","); l(f >= 0 ? d.slice(f + 1) : d) }, r.onerror = () => i(r.error), r.readAsDataURL(a) }) } function Zk() { const { data: a } = yn(), { mutateAsync: l, isPending: i } = PN(), r = A.useRef(null), [d, f] = A.useState(null), [h, g] = A.useState(!1), [m, p] = A.useState(null), y = (a == null ? void 0 : a.avatar_link) ?? null, _ = y && !h; A.useEffect(() => { g(!1) }, [y]), A.useEffect(() => () => { m && URL.revokeObjectURL(m) }, [m]); const b = () => { var E; i || (E = r.current) == null || E.click() }, S = E => { var L; const R = (L = E.target.files) == null ? void 0 : L[0]; E.target.value = "", R && (f(null), p(URL.createObjectURL(R))) }, j = () => { m && URL.revokeObjectURL(m), p(null) }, w = async E => { try { const R = await Vk(E); await l({ photo_base64: R, decoded_bytes: String(E.size) }), j() } catch { f("Не удалось загрузить фото"), j() } }; return o.jsxs("div", { className: Si.col, children: [o.jsxs("div", { className: Si.avatar, onClick: b, children: [_ ? o.jsx("img", { src: y, alt: "avatar", className: Si.avatarImg, referrerPolicy: "no-referrer", onError: () => { console.warn("[avatar] failed to load", y), g(!0) } }) : o.jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [o.jsx("circle", { cx: "12", cy: "8", r: "4" }), o.jsx("path", { d: "M4 20c0-4 4-7 8-7s8 3 8 7" })] }), o.jsx("div", { className: Si.overlay, children: o.jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "#fff", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [o.jsx("path", { d: "M23 19a2 2 0 01-2 2H3a2 2 0 01-2-2V8a2 2 0 012-2h4l2-3h6l2 3h4a2 2 0 012 2z" }), o.jsx("circle", { cx: "12", cy: "13", r: "4" })] }) })] }), o.jsx("input", { ref: r, type: "file", accept: "image/*", onChange: S, hidden: !0 }), o.jsx("div", { className: Si.addPhoto, children: o.jsx(Ln, { variant: "ghost", onClick: b, disabled: i, children: i ? "ЗАГРУЗКА..." : "ДОБАВИТЬ ФОТО" }) }), d && o.jsx("span", { className: Si.error, children: d }), m && o.jsx(Qk, { imageSrc: m, isSaving: i, onCancel: j, onConfirm: w })] }) } const Wk = "_card_17od5_1", Jk = "_title_17od5_8", $k = "_actions_17od5_17", lh = { card: Wk, title: Jk, actions: $k }; function Tl({ title: a, children: l, actions: i }) { return o.jsxs("div", { className: lh.card, children: [o.jsx("div", { className: lh.title, children: a }), l, i && o.jsx("div", { className: lh.actions, children: i })] }) } function e6(a) { return a == null ? "$—" : `$${a.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` } const t6 = "_profileTop_1107i_2", n6 = "_userInfo_1107i_6", a6 = "_userName_1107i_26", s6 = "_userBalance_1107i_33", Ic = { profileTop: t6, userInfo: n6, userName: a6, userBalance: s6 }; function l6() { const { data: a } = yn(), { data: l } = yu(), i = a ? qN(a) : ""; return o.jsxs("div", { className: Ic.profileTop, children: [o.jsx(Zk, {}), o.jsxs("div", { className: Ic.userInfo, children: [o.jsx("span", { className: Ic.userName, children: i }), o.jsx("span", { className: Ic.userBalance, children: e6(l == null ? void 0 : l.totalUsd) })] })] }) } const i6 = "_menu_nxjwi_1", o6 = "_summary_nxjwi_7", r6 = "_nav_nxjwi_11", c6 = "_item_nxjwi_17", u6 = "_itemActive_nxjwi_35", d6 = "_select_nxjwi_42", pl = { menu: i6, summary: o6, nav: r6, item: c6, itemActive: u6, select: d6 }, au = [{ to: ae.PROFILE_DETAILS, label: "Данные профиля" }, { to: ae.PROFILE_SECURITY, label: "Безопасность" }, { to: ae.PROFILE_TRANSACTIONS, label: "Транзакции" }, { to: ae.PROFILE_MNEMONIC, label: "Мнемоническая фраза" }], f6 = au.map(({ to: a, label: l }) => ({ value: a, label: l })); function h6() { var r; const a = vn(), { pathname: l } = Zt(), i = ((r = au.find(d => l.startsWith(d.to))) == null ? void 0 : r.to) ?? au[0].to; return o.jsxs("aside", { className: pl.menu, children: [o.jsx("div", { className: pl.summary, children: o.jsx(l6, {}) }), o.jsx("div", { className: pl.select, children: o.jsx(Gh, { value: i, options: f6, onChange: d => a(d), label: "Раздел профиля" }) }), o.jsx("nav", { className: pl.nav, children: au.map(({ to: d, label: f }) => o.jsx(Fi, { to: d, className: ({ isActive: h }) => h ? `${pl.item} ${pl.itemActive}` : pl.item, children: f }, d)) })] }) } function m6(a) { const l = QN(), [i, r] = A.useState(""), [d, f] = A.useState(""), [h, g] = A.useState(null); A.useEffect(() => { a != null && (r(a), f(a)) }, [a]); function m(y) { r(y.replace(/[^\d+\s()-]/g, "")) } function p() { const y = i.trim(); y === d || l.isPending || l.mutate(y, { onSuccess: () => { f(y), g({ status: "success", message: "Номер телефона обновлён" }) }, onError: () => { g({ status: "error", message: "Не удалось обновить номер телефона" }) } }) } return { phone: i, onPhoneChange: m, onPhoneBlur: p, notification: h, dismissNotification: () => g(null) } } const p6 = "_grid2_1y7u3_1", g6 = "_grid1_1y7u3_7", Ci = { grid2: p6, grid1: g6 }; function v6({ data: a }) { const l = Ov(a), { phone: i, onPhoneChange: r, onPhoneBlur: d, notification: f, dismissNotification: h } = m6(a.phone); return o.jsxs(o.Fragment, { children: [o.jsx(Tl, { title: "Личные данные", children: o.jsxs("div", { className: Ci.grid2, children: [o.jsx(ke, { label: "Полное ФИО", value: l, placeholder: "Например: Иванов Иван Иванович", readOnly: !0 }), o.jsx(ke, { label: "Адрес электронной почты", value: a.email ?? "", type: "email", icon: "check", placeholder: "example@mail.ru", readOnly: !0 }), o.jsx(ke, { label: "Серия и номер паспорта", value: a.passport_data ?? "", placeholder: "0000 000000", readOnly: !0 }), o.jsx(ke, { label: "Номер телефона", value: i, onChange: r, onBlur: d, type: "tel", placeholder: "+7 (999) 000-00-00" })] }) }), o.jsx(Tl, { title: "Верификация", children: o.jsxs("div", { className: Ci.grid2, children: [o.jsx(ke, { label: "ИНН", value: a.inn ?? "", readOnly: !0, icon: "lock", placeholder: "000000000000" }), o.jsx(ke, { label: "ID аккаунта", value: a.id ?? "", readOnly: !0, icon: "lock", placeholder: "ECSA-00000000" })] }) }), f && o.jsx($a, { status: f.status, message: f.message, onClose: h, duration: 5e3 })] }) } function y6({ data: a }) { const l = a.legal_entity; return l ? o.jsxs(o.Fragment, { children: [o.jsx(Tl, { title: "Данные организации", children: o.jsxs("div", { className: Ci.grid2, children: [o.jsx(ke, { label: "Наименование", value: l.name ?? "", placeholder: "ООО «Ромашка»", readOnly: !0 }), o.jsx(ke, { label: "Краткое наименование", value: l.short_name ?? "", placeholder: "Ромашка", readOnly: !0 }), o.jsx(ke, { label: "ИНН", value: l.inn ?? "", readOnly: !0, icon: "lock", placeholder: "000000000000" }), o.jsx(ke, { label: "ОГРН", value: l.ogrn ?? "", placeholder: "1027700132195", readOnly: !0 }), o.jsx(ke, { label: "КПП", value: l.kpp ?? "", placeholder: "770801001", readOnly: !0 }), o.jsx(ke, { label: "Адрес электронной почты", value: a.email ?? "", type: "email", icon: "check", placeholder: "org@mail.ru", readOnly: !0 })] }) }), o.jsx(Tl, { title: "Адреса", children: o.jsxs("div", { className: Ci.grid2, children: [o.jsx(ke, { label: "Юридический адрес", value: l.legal_address ?? "", placeholder: "г. Москва, ул. Тверская, д. 1", readOnly: !0 }), o.jsx(ke, { label: "Фактический адрес", value: l.actual_address ?? "", placeholder: "г. Москва, ул. Тверская, д. 1", readOnly: !0 })] }) }), o.jsx(Tl, { title: "Контакты и верификация", children: o.jsxs("div", { className: Ci.grid2, children: [o.jsx(ke, { label: "Контактное лицо", value: l.contact_person ?? "", placeholder: "Иванов Иван Иванович", readOnly: !0 }), o.jsx(ke, { label: "Контактный телефон", value: l.contact_phone ?? "", type: "tel", placeholder: "+7 (999) 000-00-00", readOnly: !0 }), o.jsx(ke, { label: "Статус", value: l.status ?? "", placeholder: "active", readOnly: !0 }), o.jsx(ke, { label: "ID аккаунта", value: a.id ?? "", readOnly: !0, icon: "lock", placeholder: "ECSA-00000000" })] }) })] }) : null } function _6() { const { data: a } = yn(); return a ? Bv(a) ? o.jsx(y6, { data: a }) : o.jsx(v6, { data: a }) : null } function b6() { const { data: a } = vu(); return o.jsx(Tl, { title: "Безопасность", children: o.jsx("div", { className: Ci.grid1, children: a == null ? void 0 : a.map(({ chain: l, address: i }) => o.jsx(ke, { label: `Адрес ${l}`, readOnly: !0, icon: "lock", value: i, placeholder: "—" }, l)) }) }) } const x6 = "_kycBanner_2th6o_1", A6 = { kycBanner: x6 }; function S6() { const { data: a } = yn(); return !a || a.kyc_verified ? null : o.jsx("div", { className: A6.kycBanner, children: "Для полного доступа к платформе необходимо пройти верификацию личности (KYC)" }) } const j6 = "_page_wlsc9_1", w6 = "_menu_wlsc9_12", E6 = "_content_wlsc9_16", ih = { page: j6, menu: w6, content: E6 }; function N6() { return o.jsxs("div", { className: ih.page, children: [o.jsx("div", { className: ih.menu, children: o.jsx(h6, {}) }), o.jsxs("main", { className: ih.content, children: [o.jsx(S6, {}), o.jsx(mu, {})] })] }) } function C6() { const { isLoading: a } = yn(); return a ? o.jsx(zn, { fullscreen: !0, label: "Загрузка" }) : o.jsx(_6, {}) } function T6() { const { isLoading: a } = yn(); return a ? o.jsx(zn, { fullscreen: !0, label: "Загрузка" }) : o.jsx(b6, {}) } const m1 = 52; function R6(a) { const [l, i] = A.useState(!1), [r, d] = A.useState(m1), [f, h] = A.useState(!1), g = A.useRef(null), m = A.useCallback(() => { g.current && clearInterval(g.current), d(m1), g.current = setInterval(() => { d(_ => _ <= 1 ? (clearInterval(g.current), i(!0), 0) : _ - 1) }, 1e3) }, []); A.useEffect(() => (m(), () => { g.current && clearInterval(g.current) }), [m]); const p = A.useCallback(() => { i(_ => _ ? (m(), !1) : (g.current && clearInterval(g.current), !0)) }, [m]), y = A.useCallback(() => { navigator.clipboard.writeText(a.join(" ")).then(() => { h(!0), setTimeout(() => h(!1), 1500) }) }, [a]); return { hidden: l, countdown: r, copied: f, handleHide: p, handleCopy: y } } const k6 = "_content_o6p8v_1", B6 = "_titleRow_o6p8v_6", O6 = "_title_o6p8v_6", L6 = "_titleButtons_o6p8v_19", M6 = "_btnFixed_o6p8v_26", z6 = "_subtitle_o6p8v_34", D6 = "_countdown_o6p8v_42", U6 = "_seedGrid_o6p8v_47", H6 = "_seedCard_o6p8v_54", q6 = "_seedNum_o6p8v_73", P6 = "_seedWord_o6p8v_80", Q6 = "_seedWordHidden_o6p8v_88", F6 = "_warning_o6p8v_93", Y6 = "_warningIcon_o6p8v_101", I6 = "_warningText_o6p8v_107", G6 = "_profileLinkRow_o6p8v_115", K6 = "_profileLink_o6p8v_115", zt = { content: k6, titleRow: B6, title: O6, titleButtons: L6, btnFixed: M6, subtitle: z6, countdown: D6, seedGrid: U6, seedCard: H6, seedNum: q6, seedWord: P6, seedWordHidden: Q6, warning: F6, warningIcon: Y6, warningText: I6, profileLinkRow: G6, profileLink: K6 }; function vy({ words: a, showProfileLink: l = !0 }) { const { hidden: i, countdown: r, copied: d, handleHide: f, handleCopy: h } = R6(a); return o.jsxs("div", { className: zt.content, children: [o.jsxs("div", { className: zt.titleRow, children: [o.jsx("h1", { className: zt.title, children: "СИД ФРАЗА" }), o.jsxs("div", { className: zt.titleButtons, children: [o.jsx("div", { className: zt.btnFixed, children: o.jsx(Ln, { variant: "outline", onClick: f, children: i ? "ПОКАЗАТЬ" : "СКРЫТЬ" }) }), o.jsx("div", { className: zt.btnFixed, children: o.jsx(Ln, { variant: "outline", onClick: h, children: d ? "СКОПИРОВАНО" : "КОПИРОВАТЬ" }) })] })] }), !i && o.jsxs("div", { className: zt.subtitle, children: ["АВТОМАТИЧЕСКОЕ СКРЫТИЕ ЧЕРЕЗ", " ", o.jsx("span", { className: zt.countdown, children: r }), "С"] }), o.jsx("div", { className: zt.seedGrid, children: a.map((g, m) => o.jsxs("div", { className: zt.seedCard, children: [o.jsxs("span", { className: zt.seedNum, children: [m + 1, "."] }), o.jsx("span", { className: `${zt.seedWord} ${i ? zt.seedWordHidden : ""}`, children: i ? "•••••" : g })] }, m)) }), o.jsxs("div", { className: zt.warning, children: [o.jsx("span", { className: zt.warningIcon, children: "⚠️" }), o.jsx("p", { className: zt.warningText, children: "Никогда не передавайте сид-фразу третьим лицам. Тот, кто знает фразу — владеет кошельком." })] }), l && o.jsx("div", { className: zt.profileLinkRow, children: o.jsx(gn, { to: ae.PROFILE, className: zt.profileLink, children: "Перейти в профиль" }) })] }) } const X6 = "_hint_1wz0k_1", V6 = { hint: X6 }; function Z6() { const [a, l] = A.useState(!1), { data: i, isLoading: r } = qv(a); if (!a) return o.jsx(Tl, { title: "Мнемоническая фраза", actions: o.jsx(Ln, { variant: "danger", onClick: () => l(!0), children: "Показать мнемонику" }), children: o.jsx("p", { className: V6.hint, children: "Сид-фраза из 12 слов для восстановления кошелька. Никогда не передавайте её третьим лицам." }) }); if (r) return o.jsx(zn, { fullscreen: !0, label: "Загрузка" }); const d = i ? i.split(" ") : []; return o.jsx(vy, { words: d, showProfileLink: !1 }) } function cr(a) { return a ? new Date(a).toLocaleString("ru-RU", { day: "2-digit", month: "2-digit", year: "numeric", hour: "2-digit", minute: "2-digit" }) : "—" } function W6(a) { return a ? a.length <= 16 ? a : `${a.slice(0, 8)}${a.slice(-6)}` : "—" } function am(a) { return Number(a).toLocaleString("ru-RU") } const J6 = { pending: "Ожидание", money_accepted: "Деньги получены", web3_processing: "Обработка в сети", web3_hash_error: "Ошибка хэша", web3_balance_problem: "Проблема с балансом", receipt_error: "Ошибка чека", completed: "Завершён", usdt_delivered: "USDT отправлен" }, $6 = "_badge_1d3cq_1", e7 = "_status_pending_1d3cq_10", t7 = "_status_completed_1d3cq_15", n7 = "_status_money_accepted_1d3cq_20", a7 = "_status_web3_processing_1d3cq_25", s7 = "_status_web3_hash_error_1d3cq_30", l7 = "_status_web3_balance_problem_1d3cq_35", i7 = "_status_receipt_error_1d3cq_40", o7 = "_status_usdt_delivered_1d3cq_45", p1 = { badge: $6, status_pending: e7, status_completed: t7, status_money_accepted: n7, status_web3_processing: a7, status_web3_hash_error: s7, status_web3_balance_problem: l7, status_receipt_error: i7, status_usdt_delivered: o7 }; function yy({ status: a }) { return o.jsx("span", { className: `${p1.badge} ${p1[`status_${a}`] ?? ""}`, children: J6[a] ?? a }) } const r7 = { created: "Создан", waiting_usdt: "Ожидание USDT", usdt_underpaid: "USDT недоплачен", usdt_received: "USDT получен", wallet_error: "Ошибка кошелька", payout_processing: "Выплата в обработке", payout_completed: "Выплата завершена", payout_failed: "Выплата не прошла", cancelled: "Отменён", expired: "Истёк" }, c7 = "_badge_lkcaw_1", u7 = "_status_usdt_received_lkcaw_11", d7 = "_status_payout_completed_lkcaw_12", f7 = "_status_created_lkcaw_18", h7 = "_status_waiting_usdt_lkcaw_23", m7 = "_status_payout_processing_lkcaw_24", p7 = "_status_usdt_underpaid_lkcaw_30", g7 = "_status_wallet_error_lkcaw_31", v7 = "_status_payout_failed_lkcaw_32", y7 = "_status_expired_lkcaw_33", _7 = "_status_cancelled_lkcaw_39", g1 = { badge: c7, status_usdt_received: u7, status_payout_completed: d7, status_created: f7, status_waiting_usdt: h7, status_payout_processing: m7, status_usdt_underpaid: p7, status_wallet_error: g7, status_payout_failed: v7, status_expired: y7, status_cancelled: _7 }; function _y({ status: a }) { return o.jsx("span", { className: `${g1.badge} ${g1[`status_${a}`] ?? ""}`, children: r7[a] ?? a }) } const b7 = "_button_1q7wx_1", x7 = { button: b7 }; function A7({ value: a }) { const [l, i] = A.useState(!1); function r() { navigator.clipboard.writeText(a).then(() => { i(!0), setTimeout(() => i(!1), 1500) }) } return o.jsx("button", { className: x7.button, onClick: r, type: "button", title: "Скопировать", children: l ? o.jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: o.jsx("polyline", { points: "20 6 9 17 4 12" }) }) : o.jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [o.jsx("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2" }), o.jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })] }) }) } const S7 = "_item_3k64v_1", j7 = "_summary_3k64v_8", w7 = "_summaryLeft_3k64v_25", E7 = "_opType_3k64v_34", N7 = "_summaryDate_3k64v_46", C7 = "_summaryRight_3k64v_53", T7 = "_amount_3k64v_60", R7 = "_totalAmount_3k64v_68", k7 = "_chevron_3k64v_76", B7 = "_chevronOpen_3k64v_82", O7 = "_bodyOuter_3k64v_86", L7 = "_bodyOuterOpen_3k64v_92", M7 = "_bodyInner_3k64v_96", z7 = "_body_3k64v_86", D7 = "_col_3k64v_108", U7 = "_colTitle_3k64v_113", H7 = "_infoRow_3k64v_122", q7 = "_infoRowTotal_3k64v_135", P7 = "_infoLabel_3k64v_140", Q7 = "_infoValue_3k64v_141", F7 = "_infoValueRow_3k64v_160", Y7 = "_infoLink_3k64v_166", xe = { item: S7, summary: j7, summaryLeft: w7, opType: E7, summaryDate: N7, summaryRight: C7, amount: T7, totalAmount: R7, chevron: k7, chevronOpen: B7, bodyOuter: O7, bodyOuterOpen: L7, bodyInner: M7, body: z7, col: D7, colTitle: U7, infoRow: H7, infoRowTotal: q7, infoLabel: P7, infoValue: Q7, infoValueRow: F7, infoLink: Y7 }; function I7({ op: a }) { const [l, i] = A.useState(!1); return (a.type === "withdrawal" || !a.payment) && !!a.withdrawal && a.withdrawal ? o.jsx(v1, { isOpen: l, onToggle: () => i(d => !d), summary: X7(a.withdrawal), children: V7(a.withdrawal) }) : a.payment ? o.jsx(v1, { isOpen: l, onToggle: () => i(d => !d), summary: G7(a.payment), children: K7(a.payment) }) : null } function v1({ isOpen: a, onToggle: l, summary: i, children: r }) { return o.jsxs("div", { className: xe.item, children: [o.jsxs("button", { className: xe.summary, onClick: l, type: "button", "aria-expanded": a, children: [i, o.jsx("svg", { className: `${xe.chevron} ${a ? xe.chevronOpen : ""}`, width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: o.jsx("polyline", { points: "6 9 12 15 18 9" }) })] }), o.jsx("div", { className: `${xe.bodyOuter} ${a ? xe.bodyOuterOpen : ""}`, children: o.jsx("div", { className: xe.bodyInner, children: o.jsx("div", { className: xe.body, children: r }) }) })] }) } function G7(a) { return o.jsxs(o.Fragment, { children: [o.jsxs("span", { className: xe.summaryLeft, children: [o.jsx("span", { className: xe.opType, children: "Платёж" }), o.jsx("span", { className: xe.summaryDate, children: cr(a.created_at) }), a.status && o.jsx(yy, { status: a.status })] }), o.jsx("span", { className: xe.summaryRight, children: a.itpay_paid_amount && o.jsxs("span", { className: xe.totalAmount, children: [am(a.itpay_paid_amount), " ₽"] }) })] }) } function K7(a) { return o.jsxs(o.Fragment, { children: [o.jsxs("div", { className: xe.col, children: [o.jsx("p", { className: xe.colTitle, children: "Платёж" }), o.jsxs("div", { className: xe.infoRow, children: [o.jsx("span", { className: xe.infoLabel, children: "Статус" }), a.status ? o.jsx(yy, { status: a.status }) : o.jsx("span", { className: xe.infoValue, children: "—" })] }), o.jsx(sa, { label: "Оплачено", value: a.itpay_paid_amount || "—" }), o.jsx(sa, { label: "Истекает", value: cr(a.expired_date ?? "") })] }), o.jsxs("div", { className: xe.col, children: [o.jsx("p", { className: xe.colTitle, children: "Транзакция" }), o.jsxs("div", { className: xe.infoRow, children: [o.jsx("span", { className: xe.infoLabel, children: "Хэш транзакции" }), o.jsxs("span", { className: xe.infoValueRow, children: [o.jsx("span", { className: xe.infoValue, title: a.web3_transaction_hash || void 0, children: W6(a.web3_transaction_hash ?? "") }), a.web3_transaction_hash && o.jsx(A7, { value: a.web3_transaction_hash })] })] }), o.jsxs("div", { className: xe.infoRow, children: [o.jsx("span", { className: xe.infoLabel, children: "Чек" }), a.receipt_cloudekassir_link ? o.jsx("a", { href: a.receipt_cloudekassir_link, target: "_blank", rel: "noopener noreferrer", className: xe.infoLink, children: "Открыть →" }) : o.jsx("span", { className: xe.infoValue, children: "—" })] })] })] }) } function X7(a) { return o.jsxs(o.Fragment, { children: [o.jsxs("span", { className: xe.summaryLeft, children: [o.jsx("span", { className: xe.opType, children: "Вывод СБП" }), o.jsx("span", { className: xe.summaryDate, children: cr(a.created_at ?? "") }), a.status && o.jsx(_y, { status: a.status })] }), o.jsxs("span", { className: xe.summaryRight, children: [a.usdt_amount && o.jsxs("span", { className: xe.amount, children: [a.usdt_amount, " USDT"] }), a.rub_amount && o.jsxs("span", { className: xe.totalAmount, children: [am(a.rub_amount), " ₽"] })] })] }) } function V7(a) { return o.jsxs(o.Fragment, { children: [o.jsxs("div", { className: xe.col, children: [o.jsx("p", { className: xe.colTitle, children: "Вывод (СБП)" }), o.jsxs("div", { className: xe.infoRow, children: [o.jsx("span", { className: xe.infoLabel, children: "Статус" }), a.status ? o.jsx(_y, { status: a.status }) : o.jsx("span", { className: xe.infoValue, children: "—" })] }), o.jsx(sa, { label: "Банк", value: a.bank_name || "—" }), o.jsx(sa, { label: "Телефон", value: a.phone || "—" }), o.jsx(sa, { label: "Создан", value: cr(a.payout_created_at ?? a.created_at ?? "") }), o.jsx(sa, { label: "Завершён", value: cr(a.payout_completed_at ?? "") }), a.provider_error && o.jsx(sa, { label: "Ошибка", value: a.provider_error })] }), o.jsxs("div", { className: xe.col, children: [o.jsx("p", { className: xe.colTitle, children: "Суммы" }), o.jsx(sa, { label: "Сумма USDT", value: a.usdt_amount ? `${a.usdt_amount} USDT` : "—" }), o.jsx(sa, { label: "Курс обмена", value: a.usdt_exchange_rate ? `1 USDT = ${a.usdt_exchange_rate}` : "—" }), o.jsx(sa, { label: "Сервисный сбор", value: a.service_fee_usdt ? `${a.service_fee_usdt} USDT` : "—" }), o.jsx(sa, { label: "Сумма к выводу", value: a.rub_amount ? `${am(a.rub_amount)}` : "—", emphasised: !0 })] })] }) } function sa({ label: a, value: l, emphasised: i }) { return o.jsxs("div", { className: `${xe.infoRow} ${i ? xe.infoRowTotal : ""}`, children: [o.jsx("span", { className: xe.infoLabel, children: a }), o.jsx("span", { className: xe.infoValue, children: l })] }) } const Z7 = "_list_gxp0d_1", W7 = "_empty_gxp0d_9", J7 = "_statusError_gxp0d_23", $7 = "_loadMore_gxp0d_30", eB = "_loadMoreBtn_gxp0d_38", er = { list: Z7, empty: W7, statusError: J7, loadMore: $7, loadMoreBtn: eB }; function tB() { const { data: a, isLoading: l, isError: i, fetchNextPage: r, hasNextPage: d, isFetchingNextPage: f } = Jj(), h = (a == null ? void 0 : a.pages.flatMap(g => g.operations)) ?? []; return l ? o.jsx(zn, { fullscreen: !0, label: "Загрузка" }) : i ? o.jsx("p", { className: er.statusError, children: "Не удалось загрузить операции. Попробуйте обновить страницу." }) : h.length === 0 ? o.jsx("p", { className: er.empty, children: "У вас пока нет операций." }) : o.jsxs(o.Fragment, { children: [o.jsx("div", { className: er.list, children: h.map((g, m) => { var p, y; return o.jsx(I7, { op: g }, ((p = g.payment) == null ? void 0 : p.id) ?? ((y = g.withdrawal) == null ? void 0 : y.id) ?? m) }) }), d && o.jsx("div", { className: er.loadMore, children: o.jsx("button", { className: er.loadMoreBtn, onClick: () => r(), disabled: f, type: "button", children: f ? "Загрузка..." : "Загрузить ещё" }) })] }) } const nB = "_status_1yzxr_1", aB = "_statusError_1yzxr_8", sB = "_empty_1yzxr_15", lB = "_tableWrap_1yzxr_22", iB = "_table_1yzxr_22", oB = "_mono_1yzxr_53", rB = "_statusBadge_1yzxr_57", Ya = { status: nB, statusError: aB, empty: sB, tableWrap: lB, table: iB, mono: oB, statusBadge: rB }; function y1(a, l) { return a ? `${a} ${l}` : "—" } function cB(a) { if (!a) return "—"; const l = new Date(a); return Number.isNaN(l.getTime()) ? "—" : l.toLocaleString("ru-RU") } function uB() { const { data: a, isLoading: l, isError: i } = Mv(); return l ? o.jsx("p", { className: Ya.status, children: "Загрузка..." }) : i ? o.jsx("p", { className: Ya.statusError, children: "Не удалось загрузить заявки. Попробуйте обновить страницу." }) : !a || a.items.length === 0 ? o.jsx("p", { className: Ya.empty, children: "У вас пока нет заявок." }) : o.jsx("div", { className: Ya.tableWrap, children: o.jsxs("table", { className: Ya.table, children: [o.jsx("thead", { children: o.jsxs("tr", { children: [o.jsx("th", { children: "USDT" }), o.jsx("th", { children: "Сумма ₽" }), o.jsx("th", { children: "Курс" }), o.jsx("th", { children: "Статус" }), o.jsx("th", { children: "Создана" })] }) }), o.jsx("tbody", { children: a.items.map(r => o.jsxs("tr", { children: [o.jsx("td", { className: Ya.mono, children: y1(r.usdt_amount, "USDT") }), o.jsx("td", { className: Ya.mono, children: y1(r.rub_amount, "₽") }), o.jsx("td", { className: Ya.mono, children: r.exchange_rate ?? "—" }), o.jsx("td", { children: o.jsx("span", { className: Ya.statusBadge, children: r.status }) }), o.jsx("td", { children: cB(r.created_at) })] }, r.id)) })] }) }) } const dB = "_panel_11333_1", fB = "_tabs_11333_6", hB = "_tab_11333_6", Gc = { panel: dB, tabs: fB, tab: hB }; function mB() { const { data: a, isLoading: l } = yn(), [i, r] = A.useState("transactions"); if (l) return o.jsx(zn, { fullscreen: !0, label: "Загрузка" }); const d = !!a && a.account_type !== "individual", f = d ? i : "transactions"; return o.jsxs("div", { className: Gc.panel, children: [d && o.jsxs("div", { className: Gc.tabs, children: [o.jsx("button", { type: "button", className: Gc.tab, "data-active": f === "transactions" || void 0, onClick: () => r("transactions"), children: "Транзакции" }), o.jsx("button", { type: "button", className: Gc.tab, "data-active": f === "requests" || void 0, onClick: () => r("requests"), children: "Заявки" })] }), f === "transactions" ? o.jsx(tB, {}) : o.jsx(uB, {})] }) } function pB() { return o.jsx(mB, {}) } const gB = "_card_1erii_1", vB = "_logo_1erii_10", yB = "_title_1erii_20", _B = "_twoCol_1erii_29", bB = "_leftCol_1erii_36", xB = "_rightCol_1erii_42", AB = "_codeHint_1erii_48", SB = "_error_1erii_55", jB = "_submitWrapper_1erii_62", wB = "_footer_1erii_66", EB = "_forgot_1erii_73", NB = "_divider_1erii_88", Xn = { card: gB, logo: vB, title: yB, twoCol: _B, leftCol: bB, rightCol: xB, codeHint: AB, error: SB, submitWrapper: jB, footer: wB, forgot: EB, divider: NB }; function _1(a) { var i, r; const l = a; return ((r = (i = l == null ? void 0 : l.detail) == null ? void 0 : i[0]) == null ? void 0 : r.msg) ?? "Произошла ошибка" } function CB() { const [a, l] = A.useState(""), [i, r] = A.useState(""), [d, f] = A.useState(""), [h, g] = A.useState(!1), m = Wt(), p = vn(), y = yt({ mutationFn: kN, onSuccess: () => g(!0) }), _ = yt({ mutationFn: BN, onSuccess: async ({ access_token: w }) => { Jh(), m.clear(), w && Nt.set(w), await m.invalidateQueries({ queryKey: gu }), p(ae.PROFILE) } }), b = () => { a && y.mutate({ email: a }) }, S = w => { w.preventDefault(), _.mutate({ email: a, password: i, code: d }) }, j = (y.isError ? _1(y.error) : null) ?? (_.isError ? _1(_.error) : null); return { email: a, setEmail: l, password: i, setPassword: r, verificationCode: d, setVerificationCode: f, codeSent: h, isLoadingCode: y.isPending, isLoadingSubmit: _.isPending, error: j, handleRequestCode: b, handleSubmit: S } } function TB() { const { email: a, setEmail: l, password: i, setPassword: r, verificationCode: d, setVerificationCode: f, codeSent: h, isLoadingCode: g, isLoadingSubmit: m, error: p, handleRequestCode: y, handleSubmit: _ } = CB(), b = vn(); return o.jsxs("form", { className: Xn.card, onSubmit: _, children: [o.jsx("div", { className: Xn.logo, children: o.jsx("img", { src: xa, alt: "ЭКСА" }) }), o.jsx("h1", { className: Xn.title, children: "Войти в кошелёк ЭКСА" }), o.jsxs("div", { className: Xn.twoCol, children: [o.jsxs("div", { className: Xn.leftCol, children: [o.jsx(ke, { label: "Адрес электронной почты", type: "email", value: a, onChange: l, placeholder: "example@mail.ru", required: !0 }), o.jsx(ke, { label: "Пароль", type: "password", value: i, onChange: r, placeholder: "••••••••", required: !0 })] }), o.jsxs("div", { className: Xn.rightCol, children: [o.jsx(Ln, { variant: "ghost", type: "button", onClick: y, disabled: h || g, children: g ? "Отправка..." : h ? "Код отправлен" : "Получить код на email" }), o.jsx("span", { className: Xn.codeHint, children: "Код не пришёл" }), o.jsx(ke, { label: "Ввести код", type: "text", value: d, onChange: f, placeholder: "000 000", required: !0 })] })] }), p && o.jsx("p", { className: Xn.error, children: p }), o.jsx("div", { className: Xn.submitWrapper, children: o.jsx(Zn, { label: m ? "Вход..." : "Войти", disabled: m }) }), o.jsxs("div", { className: Xn.footer, children: [o.jsx("a", { className: Xn.forgot, onClick: () => b(ae.RESTORE_PASSWORD), children: "Забыли пароль?" }), o.jsx("div", { className: Xn.divider, children: o.jsx("span", { children: "или" }) }), o.jsx(Ln, { variant: "outline", type: "button", onClick: () => b(ae.REGISTER), children: "Создать новый кошелёк" })] })] }) } const RB = "_page_a6ygb_1", kB = { page: RB }; function BB() { return o.jsx("div", { className: kB.page, children: o.jsx(TB, {}) }) } function b1(a) { var i, r; const l = a; return ((r = (i = l == null ? void 0 : l.detail) == null ? void 0 : i[0]) == null ? void 0 : r.msg) ?? "Произошла ошибка" } function OB() { const a = vn(), l = Wt(), [i, r] = A.useState(""), [d, f] = A.useState(""), [h, g] = A.useState(""), [m, p] = A.useState(""), [y, _] = A.useState(!1), [b, S] = A.useState(null), j = yt({ mutationFn: TN, onSuccess: () => _(!0) }), w = yt({ mutationFn: RN, onSuccess: async ({ access_token: B }) => { Jh(), l.clear(), B && Nt.set(B), await l.invalidateQueries({ queryKey: gu }), a(ae.WALLET) } }), E = () => { i && j.mutate({ email: i }) }, R = B => { if (B.preventDefault(), d !== h) { S("Пароли не совпадают"); return } S(null), w.mutate({ email: i, password: d, confirm_password: h, code: m }) }, L = b ?? (j.isError ? b1(j.error) : null) ?? (w.isError ? b1(w.error) : null); return { email: i, setEmail: r, password: d, setPassword: f, confirmPassword: h, setConfirmPassword: g, verificationCode: m, setVerificationCode: p, codeSent: y, isLoadingCode: j.isPending, isLoadingSubmit: w.isPending, error: L, handleRequestCode: E, handleSubmit: R } } const LB = "_card_4lgff_1", MB = "_logo_4lgff_10", zB = "_title_4lgff_20", DB = "_typeSelect_4lgff_29", UB = "_back_4lgff_39", HB = "_legalInfo_4lgff_55", qB = "_legalIntro_4lgff_61", PB = "_docsBlock_4lgff_67", QB = "_emailBlock_4lgff_68", FB = "_docsLabel_4lgff_74", YB = "_docsList_4lgff_80", IB = "_emailLink_4lgff_94", GB = "_legalDone_4lgff_105", KB = "_legalDoneTitle_4lgff_113", XB = "_legalDoneText_4lgff_119", VB = "_twoCol_4lgff_125", ZB = "_leftCol_4lgff_132", WB = "_rightCol_4lgff_138", JB = "_codeHint_4lgff_149", $B = "_error_4lgff_156", e9 = "_submitWrapper_4lgff_163", t9 = "_legal_4lgff_55", ct = { card: LB, logo: MB, title: zB, typeSelect: DB, back: UB, legalInfo: HB, legalIntro: qB, docsBlock: PB, emailBlock: QB, docsLabel: FB, docsList: YB, emailLink: IB, legalDone: GB, legalDoneTitle: KB, legalDoneText: XB, twoCol: VB, leftCol: ZB, rightCol: WB, codeHint: JB, error: $B, submitWrapper: e9, legal: t9 }; function n9() { const { email: a, setEmail: l, password: i, setPassword: r, confirmPassword: d, setConfirmPassword: f, verificationCode: h, setVerificationCode: g, codeSent: m, isLoadingCode: p, isLoadingSubmit: y, error: _, handleRequestCode: b, handleSubmit: S } = OB(); return o.jsxs("form", { onSubmit: S, children: [o.jsxs("div", { className: ct.twoCol, children: [o.jsxs("div", { className: ct.leftCol, children: [o.jsx(ke, { label: "Введите адрес электронной почты", type: "email", value: a, onChange: l, placeholder: "example@mail.ru", required: !0 }), o.jsx(ke, { label: "Придумайте пароль", type: "password", value: i, onChange: r, placeholder: "••••••••", required: !0 }), o.jsx(ke, { label: "Повторите пароль", type: "password", value: d, onChange: f, placeholder: "••••••••", required: !0 })] }), o.jsxs("div", { className: ct.rightCol, children: [o.jsx(Ln, { variant: "ghost", type: "button", onClick: b, disabled: m || p, children: p ? "Отправка..." : m ? "Код отправлен" : "Получить проверочный код" }), o.jsx("span", { className: ct.codeHint, children: "Код не пришёл" }), o.jsx(ke, { label: "Ввести код", type: "text", value: h, onChange: g, placeholder: "000 000", required: !0 })] })] }), _ && o.jsx("p", { className: ct.error, children: _ }), o.jsx("div", { className: ct.submitWrapper, children: o.jsx(Zn, { label: y ? "Создание..." : "Создать", disabled: y }) }), o.jsxs("p", { className: ct.legal, children: ["Нажимая «Создать», вы принимаете", o.jsx("br", {}), o.jsx("a", { href: "#", children: "Пользовательское соглашение" }), " и ", o.jsx("a", { href: "#", children: "Политику конфиденциальности" })] })] }) } const x1 = "company@elcsa.ru", a9 = ["Устав организации в действующей редакции", "Решение (протокол) о создании организации и о назначении руководителя", "Выписка по расчётному счёту из банка за последние шесть месяцев", "Выписка из Единого государственного реестра юридических лиц (ЕГРЮЛ)", "Идентификатор электронного документооборота (ЭДО)", "Реквизиты расчётного счёта: номер Р/С, БИК и наименование банка"]; function s9() { const [a, l] = A.useState(!1); return a ? o.jsxs("div", { className: ct.legalDone, children: [o.jsx("h2", { className: ct.legalDoneTitle, children: "Спасибо!" }), o.jsx("p", { className: ct.legalDoneText, children: "Мы получили уведомление об отправке документов. После проверки мы свяжемся с вами по указанному адресу электронной почты." })] }) : o.jsxs("div", { className: ct.legalInfo, children: [o.jsx("p", { className: ct.legalIntro, children: "Для регистрации юридического лица отправьте перечисленные ниже документы на нашу электронную почту. После проверки мы свяжемся с вами для завершения регистрации." }), o.jsxs("div", { className: ct.docsBlock, children: [o.jsx("span", { className: ct.docsLabel, children: "Необходимые документы" }), o.jsx("ul", { className: ct.docsList, children: a9.map(i => o.jsx("li", { children: i }, i)) })] }), o.jsxs("div", { className: ct.emailBlock, children: [o.jsx("span", { className: ct.docsLabel, children: "Адрес для отправки документов" }), o.jsx("a", { href: `mailto:${x1}`, className: ct.emailLink, children: x1 })] }), o.jsx("div", { className: ct.submitWrapper, children: o.jsx(Zn, { label: "Документы отправлены", type: "button", onClick: () => l(!0) }) })] }) } function l9() { const [a, l] = A.useState(null); return o.jsxs("div", { className: ct.card, children: [o.jsx("div", { className: ct.logo, children: o.jsx("img", { src: xa, alt: "ЭКСА" }) }), o.jsx("h1", { className: ct.title, children: "Создать кошелёк ЭКСА" }), a === null ? o.jsxs("div", { className: ct.typeSelect, children: [o.jsx(Ln, { variant: "primary", onClick: () => l("individual"), children: "Зарегистрироваться как физическое лицо" }), o.jsx(Ln, { variant: "outline", onClick: () => l("legal"), children: "Зарегистрироваться как юридическое лицо" })] }) : o.jsxs(o.Fragment, { children: [o.jsx("button", { type: "button", className: ct.back, onClick: () => l(null), children: "← Назад к выбору" }), a === "individual" ? o.jsx(n9, {}) : o.jsx(s9, {})] })] }) } const i9 = "_page_a6ygb_1", o9 = { page: i9 }; function r9() { return o.jsx("div", { className: o9.page, children: o.jsx(l9, {}) }) } const c9 = "_page_1bkwz_1", u9 = "_card_1bkwz_9", d9 = "_logo_1bkwz_18", f9 = "_title_1bkwz_28", h9 = "_typeSwitch_1bkwz_38", m9 = "_typeOption_1bkwz_49", p9 = "_typeOptionActive_1bkwz_66", g9 = "_twoCol_1bkwz_71", v9 = "_leftCol_1bkwz_78", y9 = "_rightCol_1bkwz_84", _9 = "_codeHint_1bkwz_90", b9 = "_backButton_1bkwz_98", x9 = "_documentsSubtitle_1bkwz_131", A9 = "_documentsList_1bkwz_137", S9 = "_documentItem_1bkwz_146", j9 = "_documentName_1bkwz_157", w9 = "_attachButton_1bkwz_163", E9 = "_fileInput_1bkwz_181", N9 = "_submitWrapper_1bkwz_192", C9 = "_legal_1bkwz_196", et = { page: c9, card: u9, logo: d9, title: f9, typeSwitch: h9, typeOption: m9, typeOptionActive: p9, twoCol: g9, leftCol: v9, rightCol: y9, codeHint: _9, backButton: b9, documentsSubtitle: x9, documentsList: A9, documentItem: S9, documentName: j9, attachButton: w9, fileInput: E9, submitWrapper: N9, legal: C9 }, T9 = ["Свидетельство о государственной регистрации (ОГРН)", "Свидетельство о постановке на учёт в налоговом органе (ИНН)", "Устав организации (действующая редакция)", "Решение/протокол о назначении руководителя", "Документ, подтверждающий полномочия лица, открывающего счёт", "Карточка с образцами подписей и оттиска печати"]; function R9() { const [a, l] = A.useState(""), [i, r] = A.useState(""), [d, f] = A.useState(""), [h, g] = A.useState(""), [m, p] = A.useState("individual"), [y, _] = A.useState("info"), b = m === "legal", S = w => { w.preventDefault(), _("documents") }, j = w => { w.preventDefault() }; return o.jsx("div", { className: et.page, children: y === "info" ? o.jsxs("form", { className: et.card, onSubmit: S, children: [o.jsx("div", { className: et.logo, children: o.jsx("img", { src: xa, alt: "ЭКСА" }) }), o.jsx("h1", { className: et.title, children: "Создать кошелёк ЭКСА" }), o.jsxs("div", { className: et.typeSwitch, role: "tablist", "aria-label": "Тип регистрации", children: [o.jsx("button", { type: "button", role: "tab", "aria-selected": !b, className: `${et.typeOption} ${b ? "" : et.typeOptionActive}`, onClick: () => p("individual"), children: "Физическое лицо" }), o.jsx("button", { type: "button", role: "tab", "aria-selected": b, className: `${et.typeOption} ${b ? et.typeOptionActive : ""}`, onClick: () => p("legal"), children: "Юридическое лицо" })] }), o.jsxs("div", { className: et.twoCol, children: [o.jsxs("div", { className: et.leftCol, children: [o.jsx(ke, { label: b ? "Введите корпоративный email" : "Введите адрес электронной почты", type: "email", value: a, onChange: l, placeholder: b ? "name@company.ru" : "example@mail.ru" }), o.jsx(ke, { label: "Придумайте пароль", type: "password", value: i, onChange: r, placeholder: "••••••••" }), o.jsx(ke, { label: "Повторите пароль", type: "password", value: d, onChange: f, placeholder: "••••••••" })] }), o.jsxs("div", { className: et.rightCol, children: [o.jsx(Ln, { variant: "ghost", type: "button", children: "Получить проверочный код" }), o.jsx("span", { className: et.codeHint, children: "Код не пришёл" }), o.jsx(ke, { label: "Ввести код", type: "text", value: h, onChange: g, placeholder: "000 000" })] })] }), o.jsx("div", { className: et.submitWrapper, children: o.jsx(Zn, { label: "Создать" }) }), o.jsxs("p", { className: et.legal, children: ["Нажимая «Создать», вы принимаете", o.jsx("br", {}), o.jsx("a", { href: "#", children: "Пользовательское соглашение" }), " и ", o.jsx("a", { href: "#", children: "Политику конфиденциальности" })] })] }) : o.jsxs("form", { className: et.card, onSubmit: j, children: [o.jsx("div", { className: et.logo, children: o.jsx("img", { src: xa, alt: "ЭКСА" }) }), o.jsx("button", { type: "button", className: et.backButton, onClick: () => _("info"), children: "← Назад к данным" }), o.jsx("h1", { className: et.title, children: "Прикрепите документы" }), o.jsx("p", { className: et.documentsSubtitle, children: "Для открытия счёта юридическому лицу прикрепите сканы или фотографии следующих документов:" }), o.jsx("ul", { className: et.documentsList, children: T9.map(w => o.jsxs("li", { className: et.documentItem, children: [o.jsx("span", { className: et.documentName, children: w }), o.jsxs("label", { className: et.attachButton, children: ["Прикрепить", o.jsx("input", { type: "file", className: et.fileInput, multiple: !0 })] })] }, w)) }), o.jsx("div", { className: et.submitWrapper, children: o.jsx(Zn, { label: "Создать аккаунт" }) })] }) }) } function k9() { const [a, l] = A.useState(""), [i, r] = A.useState(""), [d, f] = A.useState(""), [h, g] = A.useState(or[0].days), [m, p] = A.useState(null), { mutate: y, isPending: _ } = VN(), { data: b } = Mv(), [S, j] = A.useState(!1); A.useEffect(() => { if (S || !b) return; const D = e4(b.items); if (!D) return; const K = $N(D.comment); K.name && r(K.name), K.contact && f(K.contact), j(!0) }, [S, b]); const w = Number(a.replace(/\D/g, "")) || 0, E = w > 0 && w < Th, { rate: R, commission: L, total: B } = WN(w, h), P = D => { const K = D.replace(/\D/g, ""); l(K ? Qs(Number(K)) : "") }, G = w > 0 && !E && !_; return { amount: a, name: i, contact: d, days: h, setName: r, setContact: f, setDays: g, onAmountChange: P, numAmount: w, belowMin: E, rate: R, commission: L, total: B, onSubmit: D => { if (D.preventDefault(), !G) return; const K = JN({ name: i, contact: d, days: h, amount: w, commission: L, total: B }); y({ rub_amount: w, comment: K }, { onSuccess: () => { p("success"), l(""), r(""), f(""), g(or[0].days) }, onError: () => p("error") }) }, isPending: _, canSubmit: G, notice: m, dismissNotice: () => p(null) } } const B9 = "_wrap_12wuz_1", O9 = "_header_12wuz_12", L9 = "_title_12wuz_16", M9 = "_subtitle_12wuz_21", z9 = "_body_12wuz_29", D9 = "_formCol_12wuz_35", U9 = "_hint_12wuz_41", H9 = "_infoCol_12wuz_48", q9 = "_infoTitle_12wuz_53", P9 = "_infoRow_12wuz_60", Q9 = "_infoLabel_12wuz_76", F9 = "_infoValue_12wuz_81", Y9 = "_note_12wuz_87", I9 = "_submitBtn_12wuz_94", tt = { wrap: B9, header: O9, title: L9, subtitle: M9, body: z9, formCol: D9, hint: U9, infoCol: H9, infoTitle: q9, infoRow: P9, infoLabel: Q9, infoValue: F9, note: Y9, submitBtn: I9 }; function G9() { const { amount: a, name: l, contact: i, days: r, setName: d, setContact: f, setDays: h, onAmountChange: g, numAmount: m, belowMin: p, rate: y, commission: _, total: b, onSubmit: S, isPending: j, canSubmit: w, notice: E, dismissNotice: R } = k9(); return o.jsxs("form", { className: tt.wrap, onSubmit: S, children: [o.jsxs("div", { className: tt.header, children: [o.jsx("h1", { className: tt.title, children: "Оставить заявку" }), o.jsx("p", { className: tt.subtitle, children: "Конвертация крупных объёмов по индивидуальному курсу. Оставьте заявку — менеджер свяжется с вами, подтвердит актуальный курс и сопроводит сделку." })] }), o.jsxs("div", { className: tt.body, children: [o.jsxs("div", { className: tt.formCol, children: [o.jsx(ke, { label: "Объём заявки, ₽", type: "text", value: a, onChange: g, placeholder: "от 500 000" }), p && o.jsxs("p", { className: tt.hint, children: ["Минимальный объём заявки — ", Qs(Th), " ₽"] }), o.jsx(Gh, { id: "term", label: "Срок ожидания операции", value: r, onChange: h, options: or.map(L => ({ value: L.days, label: `${Rh(L.days)} — комиссия ${(L.rate * 100).toFixed(3)} %` })) }), o.jsx(ke, { label: "Как к вам обращаться", type: "text", value: l, onChange: d, placeholder: "Имя" }), o.jsx(ke, { label: "Email или телефон для связи", type: "text", value: i, onChange: f, placeholder: "example@mail.ru / +7 900 000-00-00" })] }), o.jsxs("div", { className: tt.infoCol, children: [o.jsx("div", { className: tt.infoTitle, children: "УСЛОВИЯ" }), o.jsxs("div", { className: tt.infoRow, children: [o.jsx("span", { className: tt.infoLabel, children: "Минимальный объём" }), o.jsxs("span", { className: tt.infoValue, children: [Qs(Th), " ₽"] })] }), o.jsxs("div", { className: tt.infoRow, children: [o.jsx("span", { className: tt.infoLabel, children: "Срок ожидания" }), o.jsx("span", { className: tt.infoValue, children: Rh(r) })] }), o.jsxs("div", { className: tt.infoRow, children: [o.jsx("span", { className: tt.infoLabel, children: "Ставка комиссии" }), o.jsxs("span", { className: tt.infoValue, children: [(y * 100).toFixed(3), " %"] })] }), o.jsxs("div", { className: tt.infoRow, children: [o.jsx("span", { className: tt.infoLabel, children: "Сумма комиссии" }), o.jsx("span", { className: tt.infoValue, children: m > 0 ? `${Qs(_)}` : "—" })] }), o.jsxs("div", { className: tt.infoRow, "data-accent": !0, children: [o.jsx("span", { className: tt.infoLabel, children: "Итого к оплате" }), o.jsx("span", { className: tt.infoValue, children: m > 0 ? `${Qs(b)}` : "—" })] }), o.jsx("p", { className: tt.note, children: "Итоговая комиссия рассчитывается индивидуально и зависит от объёма, валюты и направления сделки." })] })] }), o.jsx("button", { type: "submit", className: tt.submitBtn, disabled: !w, children: j ? "Отправляем..." : "Оставить заявку" }), E && o.jsx($a, { status: E, message: E === "success" ? "Заявка отправлена" : "Не удалось отправить заявку", onClose: R, duration: 5e3 })] }) } const K9 = "_notice_a6bcd_1", X9 = "_title_a6bcd_11", V9 = "_text_a6bcd_16", oh = { notice: K9, title: X9, text: V9 }; function Z9() { const { data: a, isLoading: l } = yn(); return l ? o.jsx(zn, { fullscreen: !0, size: "lg", label: "Загрузка данных аккаунта" }) : !!a && a.account_type !== "individual" ? o.jsx(G9, {}) : o.jsxs("div", { className: oh.notice, children: [o.jsx("h1", { className: oh.title, children: "Покупка временно недоступна" }), o.jsx("p", { className: oh.text, children: "В настоящий момент покупка валюты невозможна. Мы работаем над восстановлением сервиса — попробуйте, пожалуйста, позже." })] }) } const W9 = "_page_1mk6w_1", J9 = "_main_1mk6w_8", $9 = "_glow_1mk6w_17", rh = { page: W9, main: J9, glow: $9 }; function eO() { const { data: a, isLoading: l } = qv(), i = a ? a.split(" ") : []; return o.jsxs("div", { className: rh.page, children: [o.jsx(nm, {}), o.jsxs("main", { className: rh.main, children: [o.jsx("div", { className: rh.glow }), !l && o.jsx(vy, { words: i })] })] }) } const tO = "https://app.kyc.elcsa.ru"; function nO() { return by(!0) } async function by(a) { const l = await nn(), i = await fetch(`${tO}/kyc/create`, { method: "POST", credentials: "include", headers: { "Content-Type": "application/json", "X-CSRF-Token": l }, body: JSON.stringify({}) }); if (i.status === 401 && a) try { return await ca(), by(!1) } catch { throw Nt.clear(), new Error("Unauthorized") } const r = await i.json(); if (!i.ok) throw r; return r } function aO() { const a = yt({ mutationFn: nO }); return { trigger: a.mutate, data: a.data, isLoading: a.isPending, isError: a.isError } } const sO = "_backdrop_1do7s_1", lO = "_modal_1do7s_12", iO = "_closeBtn_1do7s_22", oO = "_body_1do7s_40", rO = "_qrBlock_1do7s_47", cO = "_qrImage_1do7s_55", uO = "_linkBtn_1do7s_63", gl = { backdrop: sO, modal: lO, closeBtn: iO, body: oO, qrBlock: rO, qrImage: cO, linkBtn: uO }; function dO({ data: a, onClose: l }) { return o.jsx("div", { className: gl.backdrop, onClick: l, children: o.jsxs("div", { className: gl.modal, onClick: i => i.stopPropagation(), children: [o.jsx("button", { className: gl.closeBtn, onClick: l, type: "button", children: "×" }), o.jsx("div", { className: gl.body, children: o.jsxs("div", { className: gl.qrBlock, children: [o.jsx("img", { className: gl.qrImage, src: a.qr_code, alt: "QR-код для верификации" }), o.jsx("a", { className: gl.linkBtn, href: a.link, target: "_blank", rel: "noopener noreferrer", children: "Перейти к верификации" })] }) })] }) }) } const fO = "_card_omb8e_1", hO = "_logo_omb8e_13", mO = "_iconWrapper_omb8e_21", pO = "_description_omb8e_34", gO = "_buttonWrapper_omb8e_42", vO = "_error_omb8e_47", ji = { card: fO, logo: hO, iconWrapper: mO, description: pO, buttonWrapper: gO, error: vO }; function yO() { const { trigger: a, data: l, isLoading: i, isError: r } = aO(), d = vn(), f = Wt(), { data: h } = yn({ refetchInterval: l ? 5e3 : !1 }); A.useEffect(() => { h != null && h.kyc_verified && d(ae.SEED_PHRASE, { replace: !0 }) }, [h == null ? void 0 : h.kyc_verified, d]); const g = () => { f.invalidateQueries({ queryKey: ["me"] }) }; return o.jsxs(o.Fragment, { children: [o.jsxs("div", { className: ji.card, children: [o.jsx("div", { className: ji.logo, children: o.jsx("img", { src: xa, alt: "ЭКСА" }) }), o.jsx("div", { className: ji.iconWrapper, children: o.jsxs("svg", { width: "38", height: "38", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [o.jsx("path", { d: "M12 2L3 6v6c0 5.25 3.75 10.15 9 11.35C17.25 22.15 21 17.25 21 12V6l-9-4z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), o.jsx("path", { d: "M9 12l2 2 4-4", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) }), o.jsx("p", { className: ji.description, children: "Для продолжения работы необходимо пройти KYC верификацию" }), o.jsx("div", { className: ji.buttonWrapper, children: o.jsx(Zn, { label: i ? "Загрузка..." : "Подтвердить личность", type: "button", onClick: () => a(), disabled: i }) }), r && o.jsx("p", { className: ji.error, children: "Произошла ошибка. Попробуй перезагрузить страницу и попробовать снова." })] }), l && o.jsx(dO, { data: l, onClose: g })] }) } const _O = "_page_6lnfw_1", bO = { page: _O }; function xO() { const { data: a, isLoading: l } = yn(); return l ? null : a != null && a.kyc_verified ? o.jsx(Qi, { to: ae.PROFILE, replace: !0 }) : o.jsx("div", { className: bO.page, children: o.jsx(yO, {}) }) } const AO = "_card_mzeuq_1", SO = "_logo_mzeuq_10", jO = "_title_mzeuq_20", wO = "_fields_mzeuq_29", EO = "_emailRow_mzeuq_35", NO = "_error_mzeuq_41", CO = "_submitWrapper_mzeuq_48", TO = "_footer_mzeuq_52", RO = "_back_mzeuq_58", Ia = { card: AO, logo: SO, title: jO, fields: wO, emailRow: EO, error: NO, submitWrapper: CO, footer: TO, back: RO }; function kO() { const [a, l] = A.useState(""), [i, r] = A.useState(!1), [d, f] = A.useState(!1), [h, g] = A.useState(""), [m, p] = A.useState(""), [y, _] = A.useState(""), [b, S] = A.useState(""), [j, w] = A.useState(!1), [E, R] = A.useState(null), L = vn(); async function B() { S(""), f(!0); try { await zN({ email: a }), r(!0), R({ status: "success", message: `Код отправлен на ${a}` }) } catch { R({ status: "error", message: "Не удалось отправить письмо. Проверьте email и попробуйте снова." }) } finally { f(!1) } } async function P(G) { if (G.preventDefault(), S(""), m !== y) { S("Пароли не совпадают"); return } w(!0); try { await UN({ email: a, code: h, new_password: m, confirm_password: y }), L(ae.LOGIN) } catch { S("Не удалось изменить пароль. Проверьте код и попробуйте снова.") } finally { w(!1) } } return o.jsxs(o.Fragment, { children: [o.jsxs("form", { className: Ia.card, onSubmit: P, children: [o.jsx("div", { className: Ia.logo, children: o.jsx("img", { src: xa, alt: "ЭКСА" }) }), o.jsx("h1", { className: Ia.title, children: "Восстановление пароля" }), o.jsxs("div", { className: Ia.fields, children: [o.jsxs("div", { className: Ia.emailRow, children: [o.jsx(ke, { label: "E-Mail", type: "email", value: a, onChange: l, placeholder: "example@mail.com", required: !0 }), o.jsx(Zn, { label: d ? "Отправка..." : "Получить код", disabled: d || !a, type: "button", onClick: B })] }), i && o.jsxs(o.Fragment, { children: [o.jsx(ke, { label: "Код с почты", type: "text", value: h, onChange: g, placeholder: "000 000", required: !0 }), o.jsx(ke, { label: "Новый пароль", type: "password", value: m, onChange: p, placeholder: "••••••••", required: !0 }), o.jsx(ke, { label: "Повторить пароль", type: "password", value: y, onChange: _, placeholder: "••••••••", required: !0 })] })] }), b && o.jsx("p", { className: Ia.error, children: b }), i && o.jsx("div", { className: Ia.submitWrapper, children: o.jsx(Zn, { label: j ? "Сохранение..." : "Изменить пароль", disabled: j }) }), o.jsx("div", { className: Ia.footer, children: o.jsx("a", { className: Ia.back, onClick: () => L(ae.LOGIN), children: "Вернуться ко входу" }) })] }), E && o.jsx($a, { status: E.status, message: E.message, onClose: () => R(null), duration: 5e3 })] }) } const BO = "_page_6lnfw_1", OO = { page: BO }; function LO() { return o.jsx("div", { className: OO.page, children: o.jsx(kO, {}) }) } const MO = "_main_kb81i_4", zO = "_container_kb81i_12", DO = "_title_kb81i_18", UO = "_subtitle_kb81i_26", HO = "_section_kb81i_34", qO = "_sectionTitle_kb81i_38", PO = "_subheading_kb81i_47", QO = "_text_kb81i_55", FO = "_example_kb81i_62", YO = "_warning_kb81i_72", IO = "_emphasis_kb81i_83", GO = "_list_kb81i_87", KO = "_definitions_kb81i_102", XO = "_definition_kb81i_102", VO = "_goals_kb81i_117", ZO = "_goal_kb81i_117", WO = "_infoBox_kb81i_2", JO = "_linkBlock_kb81i_166", $O = "_button_kb81i_174", qt = { main: MO, container: zO, title: DO, subtitle: UO, section: HO, sectionTitle: qO, subheading: PO, text: QO, example: FO, warning: YO, emphasis: IO, list: GO, definitions: KO, definition: XO, goals: VO, goal: ZO, infoBox: WO, linkBlock: JO, button: $O }; function A1(a) { return typeof a == "string" ? a : o.jsxs(o.Fragment, { children: [o.jsx("strong", { children: a.strong }), a.text ? ` ${a.text}` : null] }) } function eL({ block: a }) { switch (a.kind) { case "text": return o.jsx("p", { className: a.variant ? `${qt.text} ${qt[a.variant]}` : qt.text, children: a.text }); case "subheading": return o.jsx("h4", { className: qt.subheading, children: a.text }); case "list": return o.jsx("ul", { className: qt.list, children: a.items.map((l, i) => o.jsx("li", { children: A1(l) }, i)) }); case "definitions": return o.jsx("div", { className: qt.definitions, children: a.items.map((l, i) => o.jsxs("div", { className: qt.definition, children: [o.jsx("strong", { children: l.term }), " ", l.text] }, i)) }); case "goals": return o.jsx("div", { className: qt.goals, children: a.items.map((l, i) => o.jsxs("div", { className: qt.goal, children: [o.jsx("strong", { children: l.title }), o.jsx("ul", { children: l.items.map((r, d) => o.jsx("li", { children: r }, d)) })] }, i)) }); case "infoBox": return o.jsx("div", { className: qt.infoBox, children: a.lines.map((l, i) => o.jsx("p", { children: A1(l) }, i)) }); case "link": return o.jsx("div", { className: qt.linkBlock, children: o.jsx("a", { href: a.href, target: "_blank", rel: "noopener noreferrer", className: qt.button, children: a.text }) }) } } function xr({ doc: a }) { return o.jsx("main", { className: qt.main, children: o.jsxs("div", { className: qt.container, children: [o.jsx("h1", { className: qt.title, children: a.title }), a.subtitle && o.jsx("h2", { className: qt.subtitle, children: a.subtitle }), a.sections.map((l, i) => o.jsxs("section", { className: qt.section, children: [l.title && o.jsx("h3", { className: qt.sectionTitle, children: l.title }), l.blocks.map((r, d) => o.jsx(eL, { block: r }, d))] }, i))] }) }) } const tL = { title: "ПУБЛИЧНЫЙ ДОГОВОР ОФЕРТЫ", subtitle: "ООО ЭКСА", sections: [{ title: "Агентский договор", blocks: [{ kind: "text", text: "Настоящая оферта на заключение агентского договора (далее Оферта, Договор) является публичным предложением Общества с ограниченной ответственностью «ЭКСА», заключить договор на условиях и в порядке, определенных настоящей Офертой." }, { kind: "text", text: "Акцепт оферты производится в соответствии с пунктом 2 статьи 437 Гражданского кодекса Российской Федерации и равносилен заключению агентского договора в письменной форме." }] }, { title: "Основные понятия и определения действующего договора", blocks: [{ kind: "definitions", items: [{ term: "Агент", text: " юридическое лицо или индивидуальный предприниматель, зарегистрированный на территории Российской Федерации, в установленном действующим законодательством порядке." }, { term: "Принципал", text: " сторона агентского договора, по поручению которой агент осуществляет юридические и иные действия от своего имени, но за счет принципала либо от имени и за счет принципала." }, { term: "Агентский договор", text: " соглашение, по которому агент обязуется за вознаграждение совершать по поручению принципала юридические и иные действия от своего имени, но за счет принципала либо от имени и за счет принципала в соответствии с п. 1 ст. 1005 Гражданского Кодекса Российской Федерации." }, { term: "Личный кабинета Агента", text: " ресурс, размещенный на сайте Принципала, предназначенный для взаимодействия Агента и Принципала." }, { term: "Отчетный период", text: " период для взаиморасчетов с Агентом, равный одному календарному кварталу с даты активации любой из услуг, предоставляемой Принципалу." }, { term: "Отчет о сумме начислений (Отчет)", text: " отчет, формируемый в Личном кабинете Агента на основании данных систем учета Принципала." }, { term: "Оферта (Договор)", text: " настоящий документ, который отражает предложение и намерение ООО «ЭКСА» считать заключенным договор с лицом, которым будет принято предложение на условиях, изложенных ниже." }] }] }, { title: "1. Акцепт оферты и заключение агентского договора", blocks: [{ kind: "text", text: "Акцепт настоящей Оферты и заключение Агентского договора осуществляется Принципалом в процессе регистрации в Личном кабинете Принципала (на сайте Агента), при прочтении текста настоящей Оферты, путем проставления специальной отметки (галочки) напротив фразы «Я ознакомился с Офертой и принимаю ее условия» и нажатия кнопки «Подписать»." }, { kind: "text", text: "Особый порядок принятия условий Оферты путем проставления специальной отметки (галочки) определяется интерфейсом Личного кабинета Принципала. Принципал не может зарегистрироваться в Личном кабинете и получить к нему доступ без подтверждения принятия условий Оферты." }, { kind: "text", text: "Принимая Оферту, Принципал подтверждает, что прочел и полностью согласен с документами, размещенными на сайте в разделе, предназначенном для Принципала, которые являются неотъемлемой частью настоящей Оферты (Договора) и обязательны для исполнения Сторонами." }] }, { title: "2. Общие положения", blocks: [{ kind: "text", text: "Публикуемые на сайте Агента документы (формы, требования, правила и т.п.), устанавливающие порядок и условия выполнения действий, предусмотренных настоящим Договором, являются неотъемлемой частью настоящего Договора и обязательны для исполнения Сторонами. Принципал обязан использовать формы документов, утвержденных Агентом, и не вправе вносить в них какие-либо изменения или дополнения." }, { kind: "text", text: "Агент обязуется уведомлять Принципала обо всех изменениях в документах, связанных с исполнением настоящего Договора, путем направления электронных сообщений (через Личный кабинет или на электронную почту Принципала) или размещением уведомлений об изменениях на сайте Агентов в разделе, предназначенном для размещения объявлений." }] }, { title: "3. Предмет договора", blocks: [{ kind: "text", text: "По настоящему Договору Принципал поручает, а Агент принимает на себя обязательство совершать от имени и за счет Принципала указанные действия, а Принципал обязуется выплатить Агенту вознаграждение за совершенные действия." }, { kind: "text", text: "По настоящему Договору Агент совершает следующие действия:" }, { kind: "list", items: ["Консультирование Принципала об услугах Агента, включая, помимо прочего, порядок активации и оказания услуг, работу в Личном кабинете Принципала и иные дополнительные услуги, оказываемые Агентом;", "Совершение сделок и иных юридических действий Агентом от своего имени, но за счёт Принципала."] }, { kind: "text", text: "Настоящий Договор действует на территории Российской Федерации и иного иностранного государства." }, { kind: "text", text: "Права и обязанности по сделкам, совершенным Агентом во исполнение настоящего Договора, возникают непосредственно у Принципала." }] }, { title: "4. Права и обязанности сторон", blocks: [{ kind: "text", text: "Агент обязуется совершать действия, составляющие предмет настоящего Договора, в соответствии с законными интересами Принципала, сообщать Принципалу по его требованию все сведения о ходе исполнения настоящего Договора, передавать Принципалу в течение 7 рабочих дней имущество, полученное по сделкам." }, { kind: "text", text: "Агент несет ответственность за сохранность документов и персональных данных, переданных ему Принципалом для исполнения настоящего Договора." }, { kind: "text", text: "Принципал обязан без промедления принять отчет Агента, все предоставленные им документы, обеспечить Агента документами и материалами, необходимыми для выполнения настоящего Договора, возместить Агенту понесенные расходы и выплатить обусловленное Договором агентское вознаграждение." }] }, { title: "5. Агентское вознаграждение и порядок оплаты", blocks: [{ kind: "text", text: "Сумма вознаграждения Агента по настоящему Договору составляет:" }, { kind: "list", items: ["8% от 5 000 до 30 000 рублей", "6% от 30 000 до 100 000 рублей", "4% от 100 000 до 600 000 рублей"] }, { kind: "text", text: "Вознаграждение выплачивается Агенту с момента подписания настоящего Договора об исполнении поручения Агентом от своего имени, но за счет Принципала." }, { kind: "text", text: "Принципал возмещает следующие расходы Агента в сумме не более 30 000 рублей на оплату банковских услуг и иных комиссий." }] }, { title: "6. Ответственность сторон", blocks: [{ kind: "text", text: "В случае нарушения Агентом сроков, установленных Договором для передачи Принципалу полученного имущества, Принципал вправе предъявить требование об уплате неустойки в размере 0,1% от непереданной суммы за каждый день просрочки." }, { kind: "text", text: "В случае нарушения Принципалом сроков уплаты вознаграждения или возмещения расходов, Агент вправе предъявить требование об уплате неустойки в размере 0,1% от не уплаченной в срок суммы за каждый день просрочки." }] }, { title: "7. Форс-мажор", blocks: [{ kind: "text", text: "Стороны освобождаются от ответственности за частичное или полное неисполнение обязательств по настоящему Договору, если это неисполнение явилось следствием возникших после заключения настоящего Договора обстоятельств непреодолимой силы." }, { kind: "text", text: "При наступлении форс-мажорных обстоятельств каждая Сторона должна без промедления известить о них в письменном виде другую Сторону с указанием характера обстоятельств и их влияния на исполнение обязательств." }] }, { title: "8. Конфиденциальность", blocks: [{ kind: "text", text: "Стороны принимают все необходимые меры для того, чтобы их сотрудники, агенты, правопреемники без предварительного согласия другой Стороны не информировали третьих лиц о конфиденциальной информации и персональных данных Сторон настоящего Договора." }] }, { title: "9. Изменение и прекращение договора", blocks: [{ kind: "text", text: "Настоящий договор вступает в силу с момента его подписания и действует до момента исполнения сторонами своих обязательств по настоящему договору." }, { kind: "text", text: "Настоящий Договор может быть изменен или прекращен по письменному соглашению Сторон, а также в других случаях, предусмотренных законодательством Российской Федерации." }, { kind: "text", text: "Принципал вправе в любое время отказаться от исполнения настоящего Договора путем направления письменного уведомления Агенту за 3 рабочих дня." }] }, { title: "10. Заключительные положения", blocks: [{ kind: "text", text: "Ни одна из сторон не вправе передавать свои права и обязанности по настоящему договору третьим лицам без согласия другой стороны." }, { kind: "text", text: "Сообщения Стороны могут направлять по факсу, электронной почте или другим способом связи при условии, что он позволяет достоверно установить, от кого исходило сообщение и кому оно адресовано." }, { kind: "text", text: "Споры, вытекающие из настоящего Договора, разрешаются в досудебном порядке. При неурегулировании возникших разногласий спор разрешается в Арбитражном суде г. Санкт–Петербурга и Ленинградской области с обязательным соблюдением претензионного порядка." }] }, { title: "Реквизиты сторон", blocks: [{ kind: "infoBox", lines: ["Общество с ограниченной ответственностью «ЭКСА»", "196246, г. Санкт-Петербург, Московский р-н, Московское шоссе, д.25к1 литера в, помещ. 3-Н", "ИНН / КПП: 9810001062 / 781001001", "ОГРН: 1257800060990", "ОКПО / ОКАТО / ОКТМО: 68342261 / 40284000000 / 40377000000", "Руководитель: Кленин Михаил Васильевич", "Электронная почта: company@elcsa.ru", 'Наименование банка: ФИЛИАЛ "САНКТ-ПЕТЕРБУРГСКИЙ" АО "АЛЬФА-БАНК"', "Корреспондентский счет: 30101810600000000786", "БИК: 044030786", "Расчетный счет: 40702810632250004861"] }] }] }; function nL() { return o.jsxs(o.Fragment, { children: [o.jsx(Ll, {}), o.jsx(xr, { doc: tL }), o.jsx(Is, {})] }) } const aL = { title: "ПОЛИТИКА ОБРАБОТКИ ПЕРСОНАЛЬНЫХ ДАННЫХ", subtitle: "ООО «ЭКСА»", sections: [{ title: "1. Общие положения", blocks: [{ kind: "text", text: "Настоящая Политика обработки персональных данных разработана в соответствии с Федеральным законом от 27.07.2006 № 152-ФЗ «О персональных данных» и определяет порядок обработки персональных данных и меры по обеспечению безопасности персональных данных, предпринимаемые ООО «ЭКСА»." }, { kind: "text", text: "Оператор ставит своей важнейшей целью и условием осуществления своей деятельности соблюдение прав и свобод человека и гражданина при обработке его персональных данных, в том числе защиты права на неприкосновенность частной жизни, личную и семейную тайну." }, { kind: "text", text: "Настоящая Политика действует в отношении всех персональных данных, которые обрабатываются Оператором с использованием средств автоматизации и без использования таких средств." }, { kind: "subheading", text: "1.4. Основные понятия" }, { kind: "definitions", items: [{ term: "Автоматизированная обработка персональных данных", text: "— обработка персональных данных с помощью средств вычислительной техники." }, { term: "Обработка персональных данных", text: "— любое действие или совокупность действий, совершаемых с использованием средств автоматизации или без использования таких средств с персональными данными, включая сбор, запись, систематизацию, накопление, хранение, уточнение, извлечение, использование, передачу, обезличивание, блокирование, удаление, уничтожение." }, { term: "Оператор", text: "— юридическое или физическое лицо, организующие и осуществляющие обработку персональных данных." }, { term: "Персональные данные", text: "— любая информация, относящаяся к прямо или косвенно определенному или определяемому физическому лицу." }, { term: "Пользователь", text: "— любой посетитель веб-сайта https://elcsa.ru." }] }] }, { title: "2. Сведения об операторе", blocks: [{ kind: "list", items: ["Полное наименование: Общество с ограниченной ответственностью «ЭКСА»", "Сокращенное наименование: ООО «ЭКСА»", "ИНН: 9810001062", "ОГРН: 1257800060990", "Юридический адрес: 196246, город Санкт-Петербург, Московское шоссе, дом 25, корпус 1, литера В, помещение 3-н", "Электронная почта: company@elcsa.ru", "Веб-сайт: https://elcsa.ru"] }] }, { title: "3. Общие цели обработки персональных данных", blocks: [{ kind: "subheading", text: "3.1.1. Основная деятельность:" }, { kind: "list", items: ["Предоставление услуг по конвертации иного имущества", "Осуществление операций на криптовалютных рынках", "Предоставление услуг в области блокчейн технологий", "Обеспечение функционирования интернет-платформы и мобильных приложений"] }, { kind: "subheading", text: "3.1.2. Обеспечение безопасности:" }, { kind: "list", items: ["Предотвращение мошенничества и отмывания денежных средств", "Обеспечение безопасности платежных операций", "Выполнение требований по противодействию легализации доходов", "Идентификация и верификация клиентов"] }, { kind: "subheading", text: "3.1.3. Соблюдение законодательства:" }, { kind: "list", items: ["Исполнение требований российского и международного законодательства", "Взаимодействие с контролирующими и правоохранительными органами", "Ведение обязательной отчетности и документооборота", "Соблюдение налогового законодательства"] }] }, { title: "4. Цели сбора персональных данных", blocks: [{ kind: "goals", items: [{ title: "Регистрация и идентификация пользователей:", items: ["Создание учетной записи на веб-сайте", "Верификация личности в соответствии с требованиями законодательства", "Подтверждение права на осуществление операций"] }, { title: "Обработка платежей и финансовых операций:", items: ["Осуществление операций по конвертации криптовалют", "Проведение расчетов и переводов денежных средств", "Ведение учета и истории транзакций"] }, { title: "Коммуникация с клиентами:", items: ["Предоставление технической поддержки", "Уведомления о состоянии операций и счетов", "Информирование об изменениях в условиях предоставления услуг"] }] }] }, { title: "5. Правовые основания обработки персональных данных", blocks: [{ kind: "subheading", text: "5.1.1. Согласие субъекта персональных данных:" }, { kind: "list", items: ["Обработка персональных данных в маркетинговых целях", "Использование файлов cookie и метрик", "Персонализация сервисов и предложений"] }, { kind: "subheading", text: "5.1.2. Необходимость исполнения договора:" }, { kind: "list", items: ["Регистрация и ведение учетных записей пользователей", "Осуществление финансовых операций и переводов", "Предоставление доступа к платформе и сервисам", "Техническая поддержка и обслуживание клиентов"] }, { kind: "subheading", text: "5.1.3. Соблюдение правовой обязанности:" }, { kind: "list", items: ["Выполнение требований валютного законодательства", "Противодействие легализации доходов, полученных преступным путем", "Соблюдение требований по налоговому учету и отчетности"] }] }, { title: "6. Объем и категории обрабатываемых персональных данных", blocks: [{ kind: "subheading", text: "6.1.1. Пользователи веб-сайта и мобильного приложения:" }, { kind: "list", items: ["Зарегистрированные пользователи", "Посетители сайта без регистрации", "Потенциальные клиенты", "Бывшие клиенты"] }, { kind: "subheading", text: "6.2.1. Идентификационные данные:" }, { kind: "list", items: ["Фамилия, имя, отчество", "Дата рождения", "Гражданство"] }, { kind: "subheading", text: "6.2.3. Контактная информация:" }, { kind: "list", items: ["Номера телефонов (мобильный, домашний, рабочий)", "Адреса электронной почты"] }, { kind: "subheading", text: "6.2.4. Финансовая информация:" }, { kind: "list", items: ["Номера банковских счетов и карт", "Реквизиты кошельков криптовалют", "История операций и транзакций", "Данные о доходах и источниках средств"] }, { kind: "subheading", text: "6.2.5. Техническая информация:" }, { kind: "list", items: ["IP-адреса устройств", "Данные о браузере и операционной системе", "Файлы cookie и локальное хранилище", "Логи действий на сайте"] }] }, { title: "7. Порядок и условия обработки персональных данных", blocks: [{ kind: "subheading", text: "7.1. Принципы обработки персональных данных:" }, { kind: "list", items: ["Обработка осуществляется на законной и справедливой основе", "Обработка ограничивается достижением конкретных, заранее определенных целей", "Содержание и объем данных соответствуют заявленным целям", "Обрабатываемые персональные данные являются точными и актуальными"] }, { kind: "subheading", text: "7.4. Сроки обработки персональных данных:" }, { kind: "list", items: ["Персональные данные обрабатываются в течение времени, необходимого для достижения целей", "После достижения целей персональные данные подлежат уничтожению или обезличиванию", "Сроки хранения определяются требованиями законодательства"] }, { kind: "subheading", text: "7.5. Места обработки персональных данных:" }, { kind: "list", items: ["Основные серверы и хранилища данных расположены на территории Российской Федерации", "Резервные копии могут храниться в дата-центрах на территории РФ"] }] }, { title: "8. Актуализация, исправление, удаление и уничтожение персональных данных", blocks: [{ kind: "subheading", text: "8.2.2. Процедура исправления:" }, { kind: "list", items: ["Рассмотрение запроса в течение 30 дней", "Проверка обоснованности требования об исправлении", "Внесение изменений во все информационные системы", "Уведомление субъекта о проведенных исправлениях"] }, { kind: "subheading", text: "8.3.2. Процедура удаления:" }, { kind: "list", items: ["Проверка наличия законных оснований для продолжения обработки", "Удаление из всех информационных систем и баз данных", "Удаление резервных копий (кроме архивных)", "Уведомление субъекта о выполненном удалении"] }] }, { title: "9. Ответы на запросы субъектов персональных данных", blocks: [{ kind: "subheading", text: "9.1.1. Право на информацию:" }, { kind: "list", items: ["Подтверждение факта обработки персональных данных", "Правовые основания и цели обработки", "Применяемые способы обработки", "Наименование и местонахождение оператора", "Лица, имеющие доступ к персональным данным"] }, { kind: "subheading", text: "9.2.2. Сроки рассмотрения:" }, { kind: "list", items: ["Срок рассмотрения запроса составляет 30 дней с момента получения", "Срок может быть продлен на 30 дней при большом объеме информации", "О продлении срока субъект уведомляется в течение 30 дней"] }, { kind: "subheading", text: "9.4. Плата за предоставление информации:" }, { kind: "list", items: ["Первый запрос в течение года обрабатывается бесплатно", "За повторные запросы может взиматься плата в размере расходов", "Субъект уведомляется о размере платы до предоставления информации"] }] }, { title: "10. Обеспечение безопасности персональных данных", blocks: [{ kind: "subheading", text: "10.1. Правовые меры:" }, { kind: "list", items: ["Назначение ответственного за организацию обработки персональных данных", "Принятие локальных актов по вопросам обработки персональных данных", "Ознакомление работников с требованиями законодательства", "Применение мер ответственности за нарушение требований"] }, { kind: "subheading", text: "10.3. Технические меры:" }, { kind: "list", items: ["Предотвращение несанкционированного доступа к персональным данным", "Своевременное обнаружение фактов несанкционированного доступа", "Возможность незамедлительного восстановления персональных данных", "Постоянный контроль за обеспечением уровня защищенности"] }, { kind: "subheading", text: "10.4. Конкретные технические решения:" }, { kind: "list", items: ["Использование сертифицированных средств защиты информации", "Шифрование персональных данных при передаче и хранении", "Применение межсетевых экранов и систем обнаружения вторжений", "Резервное копирование и обеспечение отказоустойчивости", "Антивирусная защита и обновление программного обеспечения"] }] }, { title: "12. Заключительные положения", blocks: [{ kind: "subheading", text: "12.2. Жалобы и обращения:" }, { kind: "list", items: ["Субъекты персональных данных могут обратиться к Оператору по вопросам обработки", "Жалобы рассматриваются в установленном законом порядке", "При неурегулировании разногласий возможно обращение в Роскомнадзор или суд"] }, { kind: "subheading", text: "12.4. Контактная информация для обращений:" }, { kind: "infoBox", lines: ["Почтовый адрес: 196246, г. Санкт-Петербург, Московское ш., д. 25, к. 1, лит. В, пом. 3-н", "Электронная почта: company@elcsa.ru"] }] }] }; function sL() { return o.jsxs(o.Fragment, { children: [o.jsx(Ll, {}), o.jsx(xr, { doc: aL }), o.jsx(Is, {})] }) } const lL = { title: "ПОЛИТИКА ИСПОЛЬЗОВАНИЯ ФАЙЛОВ COOKIE", sections: [{ title: "Общие положения и терминология", blocks: [{ kind: "text", text: "Настоящая Политика использования файлов cookie устанавливает порядок обработки файлов cookie и содержащихся в них персональных данных ООО «ЭКСА» при использовании пользователями интернет-ресурса https://elcsa.ru." }, { kind: "text", text: "Файлы cookie — это текстовые файлы небольшого размера, которые устанавливаются на пользовательское устройство при посещении интернет-ресурса или совершении на нем определенных действий. Файлы cookie остаются сохраненными на устройстве даже после покидания ресурса, что позволяет «узнавать» пользователя при последующих посещениях." }, { kind: "text", text: "К персональным данным относится не сам файл cookie, а его содержимое — уникальные идентификаторы, IP-адреса, информация о предпочтениях пользователя и другие данные, позволяющие прямо или косвенно идентифицировать физическое лицо." }] }, { title: "Оператор персональных данных", blocks: [{ kind: "text", text: "Оператором персональных данных, содержащихся в файлах cookie, является:" }, { kind: "infoBox", lines: ["ООО «ЭКСА»", "ИНН: 9810001062", "ОГРН: 1257800060990", "Юридический адрес: 196246, город Санкт-Петербург, Московское ш, д. 25 к. 1 литера В, помещ. 3-н"] }, { kind: "text", text: "Оператор определяет цели обработки персональных данных, их состав, а также действия с персональными данными, включая случаи использования сторонних файлов cookie." }] }, { title: "Категории файлов cookie и их назначение", blocks: [{ kind: "subheading", text: "1. Строго необходимые (технические) файлы cookie" }, { kind: "text", text: "Данные файлы обеспечивают работу интернет-ресурса и предоставление необходимого уровня сервиса: авторизацию, навигацию, отображение контента в соответствии с параметрами устройства, обеспечение безопасности." }, { kind: "text", text: "Обработка таких файлов cookie осуществляется на основании п. 5 ч. 1 ст. 6 ФЗ № 152 (заключение и исполнение договора). Согласие на использование строго необходимых файлов cookie не требуется." }, { kind: "text", variant: "example", text: "Примеры: файлы сессий (PHPSESSID), настройки безопасности, файлы аутентификации." }, { kind: "subheading", text: "2. Функциональные файлы cookie" }, { kind: "text", text: "Используются для запоминания пользовательских предпочтений и персонализации взаимодействия с сайтом: сохранение выбранного языка, региона, настроек отображения, размера шрифта." }, { kind: "text", text: "Обработка осуществляется на основании согласия субъекта персональных данных, поскольку данная обработка не является строго необходимой для функционирования сайта." }, { kind: "text", variant: "example", text: "Примеры: настройки языка интерфейса, предпочтения отображения, настройки доступности." }, { kind: "subheading", text: "3. Аналитические файлы cookie" }, { kind: "text", text: "Собирают информацию о взаимодействии пользователей с интернет-ресурсом для анализа его использования, выявления популярных разделов, обнаружения ошибок и улучшения пользовательского опыта. Могут содержать персональные данные, включая IP-адреса пользователей." }, { kind: "text", text: "Обработка осуществляется на основании согласия субъекта персональных данных." }, { kind: "subheading", text: "4. Маркетинговые файлы cookie" }, { kind: "text", text: "Используются для отслеживания пользователей в целях персонализированной рекламы, анализа эффективности рекламных кампаний, ретаргетинга." }, { kind: "text", text: "Обработка осуществляется исключительно на основании согласия субъекта персональных данных." }, { kind: "text", variant: "example", text: "Примеры: пиксели социальных сетей, рекламные идентификаторы, файлы ретаргетинга." }] }, { title: "Правовые основания обработки персональных данных", blocks: [{ kind: "text", text: "Обработка персональных данных, содержащихся в файлах cookie, осуществляется на следующих правовых основаниях:" }, { kind: "list", items: [{ strong: "Согласие субъекта персональных данных", text: "— для функциональных, аналитических и маркетинговых файлов cookie" }, { strong: "Заключение и исполнение договора", text: "— для строго необходимых файлов cookie, обеспечивающих работу интернет-ресурса" }, { strong: "Законные интересы оператора", text: "— в исключительных случаях, когда отсутствуют иные основания" }] }] }, { title: "Порядок получения согласия", blocks: [{ kind: "subheading", text: "Принципы получения согласия:" }, { kind: "list", items: ["Согласие должно быть получено до начала обработки персональных данных", "Информация об использовании файлов cookie размещается на первом уровне интернет-ресурса", "Предоставляется возможность выбора категорий файлов cookie", "Используются активные формулировки вместо пассивных"] }, { kind: "subheading", text: "Критерии действительного согласия:" }, { kind: "list", items: [{ strong: "Добровольность", text: "— согласие дается по свободной воле субъекта" }, { strong: "Конкретность", text: "— четко определены цели обработки" }, { strong: "Информированность", text: "— предоставлена полная информация об обработке" }, { strong: "Однозначность", text: "— согласие выражено в недвусмысленной форме" }] }] }, { title: "Сторонние файлы cookie", blocks: [{ kind: "subheading", text: "Использование сторонних сервисов:" }, { kind: "text", text: "Наш интернет-ресурс использует файлы cookie сторонних сервисов, включая:" }, { kind: "list", items: ["Яндекс.Метрика (ООО «ЯНДЕКС», Россия)", "Социальные сети и сервисы интеграции"] }, { kind: "subheading", text: "Обеспечение защиты:" }, { kind: "list", items: ["Получено согласие на передачу", "Применяются дополнительные меры защиты данных", "Контролируется соблюдение принципов обработки персональных данных получателями"] }] }, { title: "Сроки обработки и хранения", blocks: [{ kind: "subheading", text: "Категории по срокам хранения:" }, { kind: "list", items: ["Сеансовые cookie — удаляются автоматически при закрытии браузера", "Постоянные cookie — хранятся установленный период или до удаления пользователем"] }, { kind: "subheading", text: "Конкретные сроки:" }, { kind: "list", items: ["Необходимые файлы cookie — до 12 месяцев", "Функциональные файлы cookie — до 12 месяцев", "Аналитические файлы cookie — до 24 месяцев", "Маркетинговые файлы cookie — до 24 месяцев"] }, { kind: "text", text: "По истечении установленных сроков файлы cookie удаляются автоматически. Пользователь может удалить файлы cookie досрочно через настройки браузера или отозвать согласие на их обработку." }] }, { title: "Права субъектов персональных данных", blocks: [{ kind: "subheading", text: "Право на информацию:" }, { kind: "list", items: ["Получение информации о обработке персональных данных", "Сведения о правовых основаниях и целях обработки", "Информация о сроках обработки и составе данных"] }, { kind: "subheading", text: "Право на доступ:" }, { kind: "list", items: ["Получение подтверждения факта обработки", "Ознакомление с обрабатываемыми персональными данными", "Получение информации об источниках персональных данных"] }, { kind: "subheading", text: "Право на уточнение, блокирование, удаление:" }, { kind: "list", items: ["Требование уточнения неточных данных", "Блокирование недостоверных данных", "Удаление незаконно полученных данных"] }, { kind: "subheading", text: "Право на отзыв согласия:" }, { kind: "list", items: ["Отзыв согласия в любое время", "Прекращение обработки после отзыва согласия", "Сохранение права на обжалование действий оператора"] }] }, { title: "Способы управления файлами cookie", blocks: [{ kind: "subheading", text: "Управление через настройки сайта:" }, { kind: "list", items: ["Использование баннера согласия на файлы cookie", "Изменение настроек в любое время через интерфейс сайта", "Отзыв согласия на использование отдельных категорий файлов cookie"] }, { kind: "subheading", text: "Управление через браузер:" }, { kind: "text", text: "Большинство браузеров позволяют контролировать файлы cookie:" }, { kind: "list", items: ["Блокировка — запрет установки новых файлов cookie", "Удаление — очистка существующих файлов cookie", "Уведомления — получение предупреждений при установке файлов cookie", "Селективная настройка — разрешение файлов cookie только для определенных сайтов"] }, { kind: "subheading", text: "Инструкции для популярных браузеров:" }, { kind: "list", items: ["Google Chrome: Настройки → Конфиденциальность и безопасность → Файлы cookie", "Mozilla Firefox: Настройки → Приватность и Защита → Файлы cookie", "Safari: Настройки → Конфиденциальность → Файлы cookie", "Microsoft Edge: Настройки → Файлы cookie и разрешения сайтов"] }, { kind: "text", variant: "warning", text: "Блокировка необходимых файлов cookie может привести к ограничению функциональности интернет-ресурса." }] }, { title: "Меры безопасности", blocks: [{ kind: "text", text: "Оператор применяет правовые, организационные и технические меры для защиты персональных данных:" }, { kind: "subheading", text: "Правовые меры:" }, { kind: "list", items: ["Назначение ответственного за организацию обработки персональных данных", "Ознакомление сотрудников с требованиями законодательства", "Заключение соглашений о неразглашении персональных данных"] }, { kind: "subheading", text: "Организационные меры:" }, { kind: "list", items: ["Определение перечня лиц, допущенных к обработке персональных данных", "Установление правил доступа к персональным данным", "Контроль за соблюдением требований по защите персональных данных"] }, { kind: "subheading", text: "Технические меры:" }, { kind: "list", items: ["Использование средств защиты информации", "Применение криптографических средств защиты", "Обеспечение целостности и доступности персональных данных", "Регулярное обновление систем защиты информации"] }] }, { title: "Контактная информация и обращения", blocks: [{ kind: "text", text: "Для реализации прав субъекта персональных данных обращайтесь к нам:" }, { kind: "infoBox", lines: ["ООО «ЭКСА»", "ИНН: 9810001062", "ОГРН: 1257800060990", "Юридический адрес: 196246, город Санкт-Петербург, Московское ш, д. 25 к. 1 литера В, помещ. 3-н", "Email компании: company@elcsa.ru"] }, { kind: "subheading", text: "Порядок рассмотрения обращений:" }, { kind: "list", items: ["Срок рассмотрения обращений — до 30 дней с момента получения", "Обращения рассматриваются в письменной форме", "Ответ направляется способом, указанным в обращении", "При отказе в удовлетворении требований указываются мотивированные основания"] }] }] }; function iL() { return o.jsxs(o.Fragment, { children: [o.jsx(Ll, {}), o.jsx(xr, { doc: lL }), o.jsx(Is, {})] }) } const oL = { title: "СОГЛАСИЕ НА ОБРАБОТКУ ПЕРСОНАЛЬНЫХ ДАННЫХ", subtitle: "ООО «ЭКСА»", sections: [{ title: "Преамбула", blocks: [{ kind: "text", text: "Я, субъект персональных данных, действуя своей волей и в своем интересе, в соответствии с требованиями Федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных», предоставляю ООО «ЭКСА» согласие на обработку моих персональных данных на условиях и для целей, определенных настоящим Согласием." }] }, { title: "1. Сведения об операторе", blocks: [{ kind: "infoBox", lines: ["Полное наименование: Общество с ограниченной ответственностью «ЭКСА»", "ИНН: 9810001062", "ОГРН: 1257800060990", "Юридический адрес: 196246, город Санкт-Петербург, Московское шоссе, дом 25, корпус 1, литера В, помещение 3-н", "Электронная почта: company@elcsa.ru", "Веб-сайт: https://elcsa.ru"] }] }, { title: "2. Правовые основания обработки", blocks: [{ kind: "text", text: "Настоящее согласие предоставляется на основании пункта 1 части 1 статьи 6 Федерального закона «О персональных данных» и является правовым основанием для обработки персональных данных Оператором." }, { kind: "text", text: "Согласие дается добровольно, своей волей и в своих интересах." }, { kind: "text", text: "Субъект персональных данных понимает последствия предоставления согласия, включая возможные риски, связанные с обработкой персональных данных." }] }, { title: "3. Цели обработки персональных данных", blocks: [{ kind: "subheading", text: "3.1. Основные цели:" }, { kind: "list", items: ["Регистрация и ведение учетной записи на веб-сайте и в мобильном приложении", "Идентификация и верификация личности в соответствии с требованиями законодательства", "Предоставление услуг по обмену криптовалют и электронных денежных средств", "Проведение финансовых операций, переводов и расчетов", "Ведение учета и истории операций"] }, { kind: "subheading", text: "3.2. Дополнительные цели:" }, { kind: "list", items: ["Обеспечение безопасности операций и предотвращение мошенничества", "Выполнение требований по противодействию легализации доходов", "Соблюдение требований валютного, налогового и иного применимого законодательства", "Предоставление технической поддержки и клиентского сервиса", "Рассылка уведомлений о состоянии операций и изменениях в условиях"] }, { kind: "subheading", text: "3.3. Маркетинговые цели (при дополнительном согласии):" }, { kind: "list", items: ["Направление информационных и рекламных материалов", "Проведение маркетинговых исследований и опросов", "Персонализация предложений и услуг", "Анализ предпочтений и поведения для улучшения сервисов"] }, { kind: "subheading", text: "3.4. Аналитические цели:" }, { kind: "list", items: ["Анализ использования веб-сайта и мобильного приложения", "Улучшение качества предоставляемых услуг", "Разработка новых продуктов и сервисов", "Создание статистических отчетов в обезличенном виде"] }] }, { title: "4. Перечень персональных данных", blocks: [{ kind: "subheading", text: "4.1. Идентификационные данные:" }, { kind: "list", items: ["Фамилия, имя, отчество", "Дата рождения", "Гражданство"] }, { kind: "subheading", text: "4.2. Документы, удостоверяющие личность:" }, { kind: "list", items: ["Серия и номер паспорта гражданина Российской Федерации", "Дата выдачи и код подразделения", "Адрес регистрации по месту жительства", "Цифровые копии (сканы) документов"] }, { kind: "subheading", text: "4.3. Контактная информация:" }, { kind: "list", items: ["Номера телефонов (мобильный, домашний, рабочий)", "Адреса электронной почты", "Почтовые адреса (фактического проживания, для корреспонденции)"] }, { kind: "subheading", text: "4.4. Финансовая информация:" }, { kind: "list", items: ["Номера банковских счетов и реквизиты банковских карт", "Реквизиты криптовалютных кошельков и адресов", "Информация о доходах и источниках происхождения денежных средств", "История финансовых операций и транзакций"] }, { kind: "subheading", text: "4.5. Техническая информация:" }, { kind: "list", items: ["IP-адреса устройств, с которых осуществляется доступ к сервисам", "Информация о браузере, операционной системе и устройстве", "Файлы cookie и данные локального хранилища", "Логи действий и история использования сервисов"] }, { kind: "subheading", text: "4.6. Дополнительная информация:" }, { kind: "list", items: ["Фотографии для процедур верификации", "Видеозаписи процедур видеоидентификации", "Биометрические данные (при использовании соответствующих технологий)", "Информация о семейном положении и профессиональной деятельности"] }] }, { title: "5. Перечень действий с персональными данными", blocks: [{ kind: "text", text: "Согласие распространяется на следующие действия (операции) с персональными данными:" }, { kind: "list", items: ["Сбор, запись и первичная обработка персональных данных", "Накопление и систематизация в базах данных", "Создание резервных копий и архивирование", "Извлечение, использование и анализ данных", "Уточнение, обновление и актуализация информации", "Передача данных третьим лицам", "Обезличивание и удаление данных", "Автоматизированная обработка и профилирование"] }] }, { title: "6. Лица, которым могут быть переданы персональные данные", blocks: [{ kind: "subheading", text: "6.1. Сотрудники Оператора:" }, { kind: "list", items: ["Уполномоченные сотрудники, непосредственно участвующие в обработке", "Сотрудники службы безопасности и комплаенса", "Сотрудники технической поддержки", "Руководящий состав в рамках их полномочий"] }, { kind: "subheading", text: "6.2. Государственные и муниципальные органы:" }, { kind: "list", items: ["Федеральная служба по финансовому мониторингу", "Федеральная налоговая служба", "Правоохранительные органы (при наличии законных требований)", "Суды и органы исполнения судебных решений"] }, { kind: "subheading", text: "6.3. Партнеры и контрагенты:" }, { kind: "list", items: ["Банки и платежные системы", "Операторы электронных денежных средств", "Поставщики технологических решений", "Аудиторские и консалтинговые организации"] }] }, { title: "7. Сроки обработки персональных данных", blocks: [{ kind: "subheading", text: "7.1. Общие принципы:" }, { kind: "text", text: "Персональные данные обрабатываются в течение времени, необходимого для достижения целей обработки. После достижения целей данные подлежат уничтожению или обезличиванию." }, { kind: "subheading", text: "7.2. Конкретные сроки обработки:" }, { kind: "list", items: [{ strong: "Данные активных клиентов:", text: "в течение всего периода отношений плюс 5 лет после прекращения" }, { strong: "Данные для идентификации:", text: "5 лет с момента прекращения отношений" }, { strong: "Финансовая информация:", text: "5 лет с даты совершения операции" }, { strong: "Маркетинговые данные:", text: "до отзыва согласия, но не более 3 лет" }, { strong: "Техническая информация:", text: "1 год для безопасности, 6 месяцев для логов" }] }] }, { title: "8. Права субъекта персональных данных", blocks: [{ kind: "subheading", text: "8.1. Право на информацию:" }, { kind: "list", items: ["Получение подтверждения факта обработки персональных данных", "Получение информации о целях и способах обработки", "Информация о сроках обработки и составе данных", "Сведения о лицах, которым передаются данные"] }, { kind: "subheading", text: "8.2. Право на доступ:" }, { kind: "list", items: ["Получение копий обрабатываемых персональных данных", "Ознакомление с историей обработки и изменений", "Получение информации об источниках персональных данных"] }, { kind: "subheading", text: "8.3. Право на исправление и удаление:" }, { kind: "list", items: ["Требование исправления неточных или неполных данных", "Требование удаления персональных данных при наличии оснований", "Удаление данных после отзыва согласия"] }, { kind: "subheading", text: "8.4. Право на отзыв согласия:" }, { kind: "list", items: ["Согласие может быть отозвано в любое время", "Отзыв оформляется в письменной форме", "После отзыва обработка прекращается в разумные сроки"] }, { kind: "subheading", text: "8.5. Право на обжалование:" }, { kind: "list", items: ["Обращение к Оператору с жалобами на действия по обработке данных", "Обращение в Роскомнадзор или его территориальные органы", "Обращение в суд для защиты нарушенных прав"] }, { kind: "subheading", text: "8.6. Порядок реализации прав:" }, { kind: "list", items: ["Обращения направляются на адрес: company@elcsa.ru", "Обращения рассматриваются в течение 30 дней", "При необходимости срок может быть продлен на 30 дней"] }] }, { title: "9. Заключительные положения", blocks: [{ kind: "subheading", text: "9.1. Действие согласия:" }, { kind: "list", items: ["Согласие действует с момента его предоставления", "Согласие действует до его отзыва или до достижения целей обработки", "При существенных изменениях целей требуется новое согласие"] }, { kind: "subheading", text: "9.2. Форма предоставления согласия:" }, { kind: "list", items: ["Согласие может быть предоставлено в письменной форме", "Согласие может быть предоставлено в электронной форме", "Согласие может выражаться путем совершения конклюдентных действий"] }, { kind: "subheading", text: "9.3. Последствия непредоставления согласия:" }, { kind: "list", items: ["Отказ в предоставлении согласия может повлечь невозможность регистрации", "Отказ может ограничить доступ к отдельным услугам", "Отказ в согласии на маркетинг не влияет на основные услуги", "Субъект вправе предоставить частичное согласие"] }, { kind: "subheading", text: "9.4. Контактная информация:" }, { kind: "infoBox", lines: ["Почтовый адрес: 196246, г. Санкт-Петербург, Московское ш., д. 25, к. 1, лит. В, пом. 3-н", "Электронная почта: company@elcsa.ru", "Ответственное лицо: Кленин Михаил Васильевич", "Официальный сайт: https://elcsa.ru"] }, { kind: "subheading", text: "9.5. Подтверждение понимания:" }, { kind: "text", variant: "emphasis", text: "Предоставляя настоящее согласие, я подтверждаю, что:" }, { kind: "list", items: ["Ознакомлен с содержанием согласия и понимаю его значение", "Понимаю цели и способы обработки моих персональных данных", "Знаю о своих правах и способах их реализации", "Согласие предоставляется добровольно и осознанно", "Имею возможность отозвать согласие в любое время"] }] }] }; function rL() { return o.jsxs(o.Fragment, { children: [o.jsx(Ll, {}), o.jsx(xr, { doc: oL }), o.jsx(Is, {})] }) } const cL = { title: "Реестр операторов персональных данных", subtitle: "ООО «ЭКСА»", sections: [{ blocks: [{ kind: "text", text: "Информация об операторе персональных данных размещена в реестре операторов персональных данных Федеральной службы по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор)." }, { kind: "text", text: "Вы можете просмотреть информацию об операторе в реестре Роскомнадзора, перейдя по ссылке ниже:" }, { kind: "link", href: "https://pd.rkn.gov.ru/operators-registry/operators-list/?act=search&name_full=%D0%91%D0%B8%D1%82%D1%84%D0%BE%D1%80%D1%81&inn=9810001062&regn=", text: "Открыть реестр Роскомнадзора" }, { kind: "text", text: "Реестр содержит информацию об операторах персональных данных, включая сведения о целях и методах обработки персональных данных, а также меры по обеспечению безопасности персональных данных." }] }, { title: "Информация об операторе", blocks: [{ kind: "infoBox", lines: [{ strong: "Наименование:", text: "ООО «ЭКСА»" }, { strong: "ИНН:", text: "9810001062" }, { strong: "ОГРН:", text: "1257800060990" }, { strong: "Юридический адрес:", text: "196246, город Санкт-Петербург, Московское шоссе, дом 25, корпус 1, литера В, помещение 3-н" }, { strong: "Контактная информация:", text: "company@elcsa.ru" }] }] }, { title: "О Роскомнадзоре", blocks: [{ kind: "text", text: "Федеральная служба по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор) — это федеральный орган исполнительной власти, осуществляющий функции по контролю и надзору в области персональных данных." }, { kind: "text", text: "Роскомнадзор ведет реестр операторов персональных данных в соответствии с требованиями Федерального закона «О персональных данных». Реестр является открытой информационной системой и доступен всем заинтересованным лицам." }] }] }; function uL() { return o.jsxs(o.Fragment, { children: [o.jsx(Ll, {}), o.jsx(xr, { doc: cL }), o.jsx(Is, {})] }) } const xy = { ETH: { symbol: "ETH", aprLabel: "APR", protocol: "Lido" }, SOL: { symbol: "SOL", aprLabel: "APY", protocol: "Нативный" } }, dL = [{ chain: "ETH", label: "ETH · Lido" }, { chain: "SOL", label: "SOL · нативный" }], fL = { active: { label: "Активна", variant: "active" }, activating: { label: "Активируется", variant: "muted" }, deactivating: { label: "Деактивация", variant: "muted" }, inactive: { label: "Завершена", variant: "ready" } }, hL = "_toggle_xc9o8_1", mL = "_tab_xc9o8_6", pL = "_active_xc9o8_18", gL = "_inactive_xc9o8_23", Kc = { toggle: hL, tab: mL, active: pL, inactive: gL }; function vL({ value: a, onChange: l }) { return o.jsx("div", { className: Kc.toggle, children: dL.map(({ chain: i, label: r }) => o.jsx("button", { className: `${Kc.tab} ${a === i ? Kc.active : Kc.inactive}`, onClick: () => l(i), children: r }, i)) }) } const Ay = "https://app.cryptowallet.elcsa.ru", Rl = { ETH: 18, SOL: 9 }; async function sm(a, l = !0) { const i = await nn(), r = Nt.get(), d = await fetch(`${Ay}${a}`, { credentials: "include", headers: { "X-CSRF-Token": i, ...r ? { Authorization: `Bearer ${r}` } : {} } }); if (d.status === 401 && l) try { return await ca(), sm(a, !1) } catch { throw Nt.clear(), new Error("Unauthorized") } const f = await d.json(); if (!d.ok) throw f; return f } async function Ys(a, l, i = !0, r = {}) { const d = await nn(), f = Nt.get(), h = await fetch(`${Ay}${a}`, { method: "POST", credentials: "include", headers: { "Content-Type": "application/json", "X-CSRF-Token": d, ...f ? { Authorization: `Bearer ${f}` } : {}, ...r }, body: JSON.stringify(l) }); if (h.status === 401 && i) try { return await ca(), Ys(a, l, !1, r) } catch { throw Nt.clear(), new Error("Unauthorized") } const g = await h.json(); if (!h.ok) throw g; return g } function bu() { return { "Idempotency-Key": crypto.randomUUID() } } async function yL(a, l) { const i = ra(l, Rl[a]); if (a === "ETH") { const h = (await Ys("/api/wallets/ETH/stake/quote", { amount: i })).data; return { chain: a, amountHuman: h.amountWeiHuman, feeHuman: h.appFeeWeiHuman, afterFeeHuman: h.stakeAmountWeiHuman, resultHuman: h.expectedStEthWeiHuman, aprPercent: h.aprPercent } } const d = (await Ys("/api/wallets/SOL/stake/quote", { amount: i })).data; return { chain: a, amountHuman: d.amountLamportsHuman, feeHuman: d.appFeeLamportsHuman, afterFeeHuman: d.stakeLamportsHuman, resultHuman: d.stakeLamportsHuman, aprPercent: d.estApyPercent, validator: d.validator } } async function _L(a, l) { const i = ra(l, Rl[a]); await Ys(`/api/wallets/${a}/stake`, { amount: i }, !0, bu()) } async function bL() { return (await sm("/api/wallets/ETH/stake/positions")).data } async function xL() { return (await sm("/api/wallets/SOL/stake/positions")).data } async function AL(a, l) { const i = ra(a, Rl.ETH); return (await Ys("/api/wallets/ETH/unstake", { amount: i, mode: l }, !0, bu())).data } async function SL(a) { return (await Ys("/api/wallets/SOL/unstake", { stakeAccount: a }, !0, bu())).data } async function jL(a) { await Ys("/api/wallets/ETH/unstake/claim", { requestId: a }, !0, bu()) } async function wL(a, l) { return (await Ys(`/api/wallets/${a}/op-cost`, { token: a, amountHuman: l })).data } function ar(a) { if (a && typeof a == "object" && "error" in a) { const l = a.error; if (typeof l == "string") return l } return a instanceof Error ? a.message === "Unauthorized" ? "Сессия истекла — перезагрузите страницу." : a.message : "Произошла ошибка. Попробуйте ещё раз." } function EL(a, l) { if (a.chain === "ETH") { const r = BigInt(ra(a.stEthBalanceWeiHuman, Rl.ETH)), d = BigInt(ra(l, Rl.ETH)); return { ...a, stEthBalanceWeiHuman: rr((r + d).toString(), Rl.ETH), optimistic: !0 } } const i = { stakeAccount: "pending", lamportsHuman: l, state: "activating", validator: a.validator, optimistic: !0 }; return { ...a, positions: [i, ...a.positions] } } function NL(a, l) { const i = parseFloat(l); return Ct({ queryKey: ["staking", "quote", a, l], queryFn: () => yL(a, l), enabled: Number.isFinite(i) && i > 0, staleTime: 15e3, retry: !1 }) } function CL(a, l) { const i = parseFloat(l); return Ct({ queryKey: ["staking", "op-cost", a, l], queryFn: () => wL(a, l), enabled: Number.isFinite(i) && i > 0, staleTime: 15e3, retry: !1 }) } function TL(a) { return Ct({ queryKey: ["staking", "positions", a], queryFn: () => a === "ETH" ? bL() : xL(), staleTime: 3e4, retry: !1 }) } function RL() { const a = Wt(); return yt({ mutationFn: ({ chain: l, amountHuman: i }) => _L(l, i), onMutate: async ({ chain: l, amountHuman: i }) => { const r = ["staking", "positions", l]; await a.cancelQueries({ queryKey: r }); const d = a.getQueryData(r); return d && a.setQueryData(r, EL(d, i)), { key: r, previous: d } }, onError: (l, i, r) => { r != null && r.previous && a.setQueryData(r.key, r.previous) }, onSettled: (l, i, { chain: r }) => { a.invalidateQueries({ queryKey: ["wallet", "balance", r] }), setTimeout(() => { a.invalidateQueries({ queryKey: ["staking", "positions", r] }), a.invalidateQueries({ queryKey: ["wallet", "balance", r] }) }, 6e3) } }) } function kL() { const a = Wt(); return yt({ mutationFn: l => l.chain === "ETH" ? AL(l.amountHuman, l.mode) : SL(l.stakeAccount), onSuccess: (l, i) => { a.invalidateQueries({ queryKey: ["staking", "positions", i.chain] }), a.invalidateQueries({ queryKey: ["wallet", "balance", i.chain] }) } }) } function BL() { const a = Wt(); return yt({ mutationFn: l => jL(l), onSuccess: () => { a.invalidateQueries({ queryKey: ["staking", "positions", "ETH"] }), a.invalidateQueries({ queryKey: ["wallet", "balance", "ETH"] }) } }) } const OL = "_panel_jl9ez_1", LL = "_row_jl9ez_13", ML = "_label_jl9ez_26", zL = "_value_jl9ez_31", DL = "_success_jl9ez_39", UL = "_highlight_jl9ez_43", HL = "_rowTotal_jl9ez_48", qL = "_valueLg_jl9ez_55", vl = { panel: OL, row: LL, label: ML, value: zL, success: DL, highlight: UL, rowTotal: HL, valueLg: qL }; function PL({ rows: a, loading: l }) { return o.jsx("div", { className: vl.panel, "data-loading": l ? "true" : void 0, children: a.map(({ label: i, value: r, accent: d, emphasis: f }) => o.jsxs("div", { className: `${vl.row} ${f ? vl.rowTotal : ""}`, children: [o.jsx("span", { className: vl.label, children: i }), o.jsx("span", { className: `${vl.value} ${f ? vl.valueLg : ""} ${d ? vl[d] : ""}`, children: r })] }, i)) }) } const QL = "_wrapper_1y6dk_1", FL = "_pillsOuter_1y6dk_7", YL = "_card_1y6dk_12", IL = "_top_1y6dk_19", GL = "_tag_1y6dk_27", KL = "_right_1y6dk_35", XL = "_apr_1y6dk_41", VL = "_pillsInner_1y6dk_52", ZL = "_pill_1y6dk_7", WL = "_mid_1y6dk_75", JL = "_input_1y6dk_83", $L = "_token_1y6dk_99", eM = "_bottom_1y6dk_109", tM = "_balance_1y6dk_116", nM = "_max_1y6dk_124", aM = "_hint_1y6dk_139", sM = "_stakeBtn_1y6dk_147", lM = "_stakeBtnDisabled_1y6dk_151", Dt = { wrapper: QL, pillsOuter: FL, card: YL, top: IL, tag: GL, right: KL, apr: XL, pillsInner: VL, pill: ZL, mid: WL, input: JL, token: $L, bottom: eM, balance: tM, max: nM, hint: aM, stakeBtn: sM, stakeBtnDisabled: lM }, iM = [25, 50, 100], wi = "—"; function S1(a) { return `$${a.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` } function oM(a, l, i, r, d) { var L, B, P; const f = a.symbol === "ETH", h = `Годовая доходность (${a.aprLabel})`, g = (L = i == null ? void 0 : i.appCommission) == null ? void 0 : L.usd, m = g != null ? S1(g) : wi, p = (l == null ? void 0 : l.aprPercent) != null ? `${l.aprPercent}%` : wi, y = f ? "Вы получите" : "Делегируется валидатору", _ = l ? f ? `${nt(l.resultHuman, 8)} stETH` : `${nt(l.resultHuman, 8)} SOL` : wi, b = (P = (B = i == null ? void 0 : i.balance) == null ? void 0 : B.gas) == null ? void 0 : P.needReserve, S = b != null && parseFloat(String(b)) || 0, j = b != null ? `${nt(String(b), 8)} ${a.symbol}` : wi, w = Math.max(0, r - S), E = b != null && r > 0 ? `${nt(w.toString(), 8)} ${a.symbol}` : wi, R = d > 0 && r > 0 ? S1(r * d) : wi; return [{ label: "Сетевой сбор (газ)", value: j }, { label: "Сумма в стейкинг", value: E }, { label: "Комиссия сервиса (0.7%)", value: m }, { label: h, value: p, accent: "success" }, { label: "Итого к списанию", value: R }, { label: y, value: _, accent: "highlight", emphasis: !0 }] } function rM({ chain: a, amount: l, onAmountChange: i, onStake: r, isStaking: d }) { var re, ce; const f = xy[a], h = Rl[a], { data: g } = Yi(a), m = (g == null ? void 0 : g.native.formatted) ?? "0", p = parseFloat(m) || 0, y = ba(l, 400), { data: _, isError: b } = CL(a, y), S = ((ce = (re = _ == null ? void 0 : _.balance) == null ? void 0 : re.gas) == null ? void 0 : ce.needReserve) != null ? String(_.balance.gas.needReserve) : null; function j(ie) { if ((parseFloat(ie) || 0) <= 0) return "0"; if (S != null) { const pe = BigInt(ra(ie, h)), ve = BigInt(ra(S, h)), q = pe > ve ? pe - ve : 0n; return rr(q.toString(), h) } return b ? ie : "0" } const w = j(l), E = j(y), R = parseFloat(w) || 0, { data: L, isFetching: B } = NL(a, E), P = parseFloat(l) || 0, G = P > 0 && P <= p, V = G && S != null && R <= 0, D = G && R > 0 && !d, K = ie => { ie >= 100 ? i(m) : i((p * ie / 100).toString()) }, ee = o.jsx(o.Fragment, { children: iM.map(ie => o.jsxs("button", { className: Dt.pill, onClick: () => K(ie), "aria-label": `${ie}% от баланса`, children: [ie, "%"] }, ie)) }); return o.jsxs("div", { className: Dt.wrapper, children: [o.jsx("div", { className: Dt.pillsOuter, children: ee }), o.jsxs("div", { className: Dt.card, children: [o.jsxs("div", { className: Dt.top, children: [o.jsx("span", { className: Dt.tag, children: "Сумма к списанию" }), o.jsxs("div", { className: Dt.right, children: [o.jsxs("span", { className: Dt.apr, children: [f.aprLabel, " ", (L == null ? void 0 : L.aprPercent) != null ? `${L.aprPercent}%` : "—"] }), o.jsx("div", { className: Dt.pillsInner, children: ee })] })] }), o.jsxs("div", { className: Dt.mid, children: [o.jsx("input", { className: Dt.input, type: "text", inputMode: "decimal", value: l, onChange: ie => { const te = ie.target.value; (/^(\d+\.?\d*|\.?\d*)$/.test(te) || te === "") && i(te) }, placeholder: "0", "aria-label": `Сумма к списанию в ${f.symbol}` }), o.jsxs("div", { className: Dt.token, children: [o.jsx(kl, { letter: f.symbol[0], color: "var(--grad-center)", logo: _e[f.symbol], size: 28 }), o.jsx("span", { children: f.symbol })] })] }), o.jsx("div", { className: Dt.bottom, children: o.jsxs("span", { className: Dt.balance, children: ["Баланс: ", nt(m, 6), " ", f.symbol, o.jsx("button", { className: Dt.max, onClick: () => K(100), "aria-label": "Использовать весь баланс", children: "МАКС" })] }) }), o.jsx(PL, { rows: oM(f, L, _, P, (g == null ? void 0 : g.native.usdPrice) ?? 0), loading: B }), V && o.jsx("p", { className: Dt.hint, children: "Сумма меньше сетевого сбора (газ)." }), o.jsx("div", { className: `${Dt.stakeBtn} ${D ? "" : Dt.stakeBtnDisabled}`, children: o.jsx(Zn, { label: d ? "Отправка…" : "Застейкать", type: "button", onClick: () => r(w), disabled: !D }) })] })] }) } const cM = "_notice_y8uqt_1", uM = "_icon_y8uqt_14", dM = "_compact_y8uqt_29", ch = { notice: cM, icon: uM, compact: dM }; function Sy({ compact: a }) { return o.jsxs("div", { className: `${ch.notice} ${a ? ch.compact : ""}`, children: [o.jsx("span", { className: ch.icon, "aria-hidden": "true", children: "!" }), o.jsx("span", { children: "Вывод средств из стейкинга может занимать до 2 недель." })] }) } const fM = "_panel_156jb_1", hM = "_inner_156jb_8", mM = "_body_156jb_16", pM = "_head_156jb_45", gM = "_title_156jb_51", vM = "_total_156jb_59", yM = "_totalUnit_156jb_65", _M = "_subhead_156jb_70", bM = "_list_156jb_79", xM = "_pos_156jb_85", AM = "_pending_156jb_93", SM = "_reqCard_156jb_108", jM = "_posTop_156jb_112", wM = "_coin_156jb_120", EM = "_amount_156jb_129", NM = "_meta_156jb_136", CM = "_badge_156jb_143", TM = "_badgeActive_156jb_151", RM = "_badgeReady_156jb_156", kM = "_badgeMuted_156jb_161", BM = "_btn_156jb_166", OM = "_btnPrimary_156jb_189", LM = "_note_156jb_201", MM = "_empty_156jb_208", zM = "_emptyState_156jb_215", DM = "_emptyIcon_156jb_227", UM = "_emptyTitle_156jb_239", HM = "_emptyText_156jb_246", me = { panel: fM, inner: hM, body: mM, head: pM, title: gM, total: vM, totalUnit: yM, subhead: _M, list: bM, pos: xM, pending: AM, reqCard: SM, posTop: jM, coin: wM, amount: EM, meta: NM, badge: CM, badgeActive: TM, badgeReady: RM, badgeMuted: kM, btn: BM, btnPrimary: OM, note: LM, empty: MM, emptyState: zM, emptyIcon: DM, emptyTitle: UM, emptyText: HM }; function qM({ chain: a, onUnstakeEth: l, onUnstakeSol: i, onClaim: r, unstakePending: d, claimPending: f }) { var E; const { data: h, isLoading: g, isError: m, error: p } = TL(a), y = { active: me.badgeActive, ready: me.badgeReady, muted: me.badgeMuted }, _ = (h == null ? void 0 : h.chain) === "ETH" ? h.stEthBalanceWeiHuman : (h == null ? void 0 : h.chain) === "SOL" ? h.positions.reduce((R, L) => R + (parseFloat(L.lamportsHuman) || 0), 0).toString() : "0", b = a === "ETH" ? "stETH" : "SOL", S = (h == null ? void 0 : h.chain) === "ETH" && (parseFloat(h.stEthBalanceWeiHuman) || 0) < 1e-11 && h.withdrawalRequests.length === 0, j = (h == null ? void 0 : h.chain) === "SOL" && h.positions.length === 0, w = S || j; return o.jsx("div", { className: me.panel, children: o.jsxs("div", { className: me.inner, children: [o.jsxs("div", { className: me.head, children: [o.jsx("span", { className: me.title, children: "Мои позиции" }), o.jsxs("div", { className: me.total, children: [nt(m ? "0" : _, 6), " ", o.jsx("span", { className: me.totalUnit, children: b })] })] }), o.jsxs("div", { className: me.body, children: [!g && !m && !w && o.jsx(Sy, { compact: !0 }), g && o.jsx(zn, { label: "Загрузка позиций" }), m && o.jsx("div", { className: me.empty, children: ar(p) }), !g && !m && (w || (h == null ? void 0 : h.chain) === "ETH" && (parseFloat(h.stEthBalanceWeiHuman) || 0) < 1e-14) && o.jsxs("div", { className: me.emptyState, children: [o.jsx("span", { className: me.emptyIcon, "aria-hidden": !0, children: o.jsxs("svg", { width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", children: [o.jsx("path", { d: "M3 7.5 12 3l9 4.5-9 4.5z" }), o.jsx("path", { d: "M3 12.5 12 17l9-4.5" }), o.jsx("path", { d: "M3 16.5 12 21l9-4.5" })] }) }), o.jsx("p", { className: me.emptyTitle, children: "Активных позиций пока нет" }), o.jsx("p", { className: me.emptyText, children: "На данный момент у Вас нет активных позиций стейкинга." })] }), !m && (h == null ? void 0 : h.chain) === "ETH" && !w && o.jsxs(o.Fragment, { children: [(parseFloat(h.stEthBalanceWeiHuman) || 0) > 1e-14 && o.jsx("div", { className: me.list, children: o.jsxs("div", { className: `${me.pos} ${h.optimistic ? me.pending : ""}`, children: [o.jsxs("div", { className: me.posTop, children: [o.jsxs("span", { className: me.coin, children: [o.jsx(kl, { letter: "E", color: "var(--grad-center)", logo: _e.ETH, size: 24 }), "stETH"] }), o.jsxs("span", { className: `${me.badge} ${me.badgeActive}`, children: ["Активна", h.aprPercent != null ? ` · APR ${h.aprPercent}%` : ""] })] }), o.jsx("div", { className: me.amount, children: nt(h.stEthBalanceWeiHuman, 8) }), o.jsx("button", { className: me.btn, onClick: () => l(h.stEthBalanceWeiHuman), disabled: d, children: "Вывести" })] }) }), (parseFloat((E = h.withdrawalRequests[0]) == null ? void 0 : E.amountStEthWeiHuman) || 0) > 1e-14 && o.jsxs(o.Fragment, { children: [o.jsx("div", { className: me.subhead, children: "Заявки на вывод" }), o.jsx("div", { className: me.list, children: h.withdrawalRequests.map(R => { const L = R.isFinalized && !R.isClaimed; return o.jsxs("div", { className: `${me.pos} ${L ? me.reqCard : ""}`, children: [o.jsxs("div", { className: me.posTop, children: [o.jsxs("span", { className: me.coin, children: ["Заявка #", R.requestId] }), o.jsx("span", { className: `${me.badge} ${R.isClaimed ? me.badgeMuted : L ? me.badgeReady : me.badgeMuted}`, children: R.isClaimed ? "Выведено" : L ? "Готово к выводу" : "В очереди" })] }), o.jsxs("div", { className: me.amount, children: [nt(R.amountStEthWeiHuman, 8), " ETH"] }), L ? o.jsx("button", { className: `${me.btn} ${me.btnPrimary}`, onClick: () => r(R.requestId), disabled: f, children: "Забрать ETH" }) : R.isClaimed ? null : o.jsx("div", { className: me.note, children: "Ожидает финализации в Lido" })] }, R.requestId) }) })] })] }), !m && (h == null ? void 0 : h.chain) === "SOL" && !w && o.jsx("div", { className: me.list, children: h.positions.map(R => { const L = fL[R.state]; return o.jsxs("div", { className: `${me.pos} ${R.optimistic ? me.pending : ""}`, children: [o.jsxs("div", { className: me.posTop, children: [o.jsxs("span", { className: me.coin, children: [o.jsx(kl, { letter: "S", color: "var(--grad-center)", logo: _e.SOL, size: 24 }), "SOL"] }), o.jsx("span", { className: `${me.badge} ${y[L.variant]}`, children: L.label })] }), o.jsx("div", { className: me.amount, children: nt(R.lamportsHuman, 8) }), o.jsxs("div", { className: me.meta, children: ["Валидатор: ", R.validator, " · ", R.stakeAccount] }), R.state === "active" && o.jsx("button", { className: me.btn, onClick: () => i(R), disabled: d, children: "Вывести" }), R.state === "inactive" && o.jsx("button", { className: `${me.btn} ${me.btnPrimary}`, onClick: () => i(R), disabled: d, children: "Вывести средства" }), R.state === "deactivating" && o.jsx("div", { className: me.note, children: "Разблокируется через 12 эпохи" }), R.state === "activating" && o.jsx("div", { className: me.note, children: "Активируется…" })] }, R.stakeAccount) }) })] })] }) }) } const PM = "_overlay_17qoe_1", QM = "_card_17qoe_13", FM = "_header_17qoe_25", YM = "_title_17qoe_31", IM = "_closeBtn_17qoe_37", GM = "_token_17qoe_52", KM = "_tokenLabel_17qoe_62", XM = "_tokenAmount_17qoe_70", VM = "_modes_17qoe_77", ZM = "_mode_17qoe_77", WM = "_modeActive_17qoe_101", JM = "_modeTitle_17qoe_106", $M = "_modeDesc_17qoe_112", ez = "_solNote_17qoe_118", tz = "_confirmBtn_17qoe_125", kt = { overlay: PM, card: QM, header: FM, title: YM, closeBtn: IM, token: GM, tokenLabel: KM, tokenAmount: XM, modes: VM, mode: ZM, modeActive: WM, modeTitle: JM, modeDesc: $M, solNote: ez, confirmBtn: tz }; function j1({ chain: a, symbol: l, amount: i, solState: r, pending: d, onConfirm: f, onClose: h }) { const [g, m] = A.useState("swap"); A.useEffect(() => { function b(S) { S.key === "Escape" && h() } return document.addEventListener("keydown", b), () => document.removeEventListener("keydown", b) }, [h]); const p = a === "SOL" && r === "inactive", y = d ? "Отправка…" : a === "ETH" ? "Подтвердить вывод" : p ? "Вывести средства" : "Запустить деактивацию", _ = a === "SOL" || a === "ETH" && g === "queue"; return o.jsx("div", { className: kt.overlay, onClick: h, children: o.jsxs("div", { className: kt.card, onClick: b => b.stopPropagation(), children: [o.jsxs("div", { className: kt.header, children: [o.jsx("span", { className: kt.title, children: "Вывод из стейкинга" }), o.jsx("button", { className: kt.closeBtn, onClick: h, children: "×" })] }), o.jsxs("div", { className: kt.token, children: [o.jsx("span", { className: kt.tokenLabel, children: "Сумма" }), o.jsxs("span", { className: kt.tokenAmount, children: [i, " ", a === "ETH" ? "stETH" : l] })] }), a === "ETH" && o.jsxs("div", { className: kt.modes, children: [o.jsxs("button", { className: `${kt.mode} ${g === "swap" ? kt.modeActive : ""}`, onClick: () => m("swap"), children: [o.jsx("span", { className: kt.modeTitle, children: "Мгновенно" }), o.jsx("span", { className: kt.modeDesc, children: "Своп stETH → ETH через Curve" })] }), o.jsxs("button", { className: `${kt.mode} ${g === "queue" ? kt.modeActive : ""}`, onClick: () => m("queue"), children: [o.jsx("span", { className: kt.modeTitle, children: "Очередь" }), o.jsx("span", { className: kt.modeDesc, children: "Заявка в Lido Withdrawal Queue" })] })] }), a === "SOL" && !p && o.jsx("p", { className: kt.solNote, children: "Средства разблокируются через 12 эпохи. После завершения вернитесь и подтвердите вывод." }), _ && o.jsx(Sy, {}), o.jsx("button", { className: kt.confirmBtn, onClick: () => f(a === "ETH" ? g : void 0), disabled: d, children: y })] }) }) } const nz = "_widget_wxtkp_1", az = "_grid_wxtkp_7", w1 = { widget: nz, grid: az }; function sz() { const [a, l] = A.useState("ETH"), [i, r] = A.useState(""), [d, f] = A.useState(null), [h, g] = A.useState(null), m = RL(), p = kL(), y = BL(); function _(w) { l(w), r("") } function b(w) { m.mutate({ chain: a, amountHuman: w }, { onSuccess: () => { g({ status: "success", message: `Стейкинг ${nt(w, 6)} ${xy[a].symbol} выполнен` }), r("") }, onError: E => g({ status: "error", message: ar(E) }) }) } function S(w) { if ((d == null ? void 0 : d.kind) === "eth") { const E = w ?? "swap"; p.mutate({ chain: "ETH", amountHuman: d.amount, mode: E }, { onSuccess: () => { f(null), g({ status: "success", message: E === "queue" ? "Заявка на вывод добавлена в очередь Lido" : "Вывод stETH → ETH выполнен" }) }, onError: R => g({ status: "error", message: ar(R) }) }) } else (d == null ? void 0 : d.kind) === "sol" && p.mutate({ chain: "SOL", stakeAccount: d.position.stakeAccount }, { onSuccess: E => { f(null); const R = "action" in E && E.action === "withdraw"; g({ status: "success", message: R ? "Средства выведены на кошелёк" : "Деактивация запущена — вывод через 12 эпохи" }) }, onError: E => g({ status: "error", message: ar(E) }) }) } function j(w) { y.mutate(w, { onSuccess: () => g({ status: "success", message: "ETH забран на кошелёк" }), onError: E => g({ status: "error", message: ar(E) }) }) } return o.jsxs("div", { className: w1.widget, children: [o.jsx(vL, { value: a, onChange: _ }), o.jsxs("div", { className: w1.grid, children: [o.jsx(rM, { chain: a, amount: i, onAmountChange: r, onStake: b, isStaking: m.isPending }), o.jsx(qM, { chain: a, onUnstakeEth: w => f({ kind: "eth", amount: w }), onUnstakeSol: w => f({ kind: "sol", position: w }), onClaim: j, unstakePending: p.isPending, claimPending: y.isPending })] }), (d == null ? void 0 : d.kind) === "eth" && o.jsx(j1, { chain: "ETH", symbol: "ETH", amount: d.amount, pending: p.isPending, onConfirm: S, onClose: () => f(null) }), (d == null ? void 0 : d.kind) === "sol" && o.jsx(j1, { chain: "SOL", symbol: "SOL", amount: d.position.lamportsHuman, solState: d.position.state, pending: p.isPending, onConfirm: S, onClose: () => f(null) }), h && o.jsx($a, { status: h.status, message: h.message, onClose: () => g(null), duration: 5e3 })] }) } const lz = "_page_1j4fk_1", iz = "_head_1j4fk_8", oz = "_title_1j4fk_12", rz = "_subtitle_1j4fk_19", Xc = { page: lz, head: iz, title: oz, subtitle: rz }; function cz() { return o.jsxs("div", { className: Xc.page, children: [o.jsxs("header", { className: Xc.head, children: [o.jsx("h1", { className: Xc.title, children: "Стейкинг" }), o.jsx("p", { className: Xc.subtitle, children: "Выберите сеть и укажите, сколько монет хотите застейкать. Ваши средства отправляются в стейкинг и начинают приносить доход (APR). Все ваши вклады видны в блоке «Мои позиции», откуда их можно вывести вместе с накопленной наградой. Учтите, что вывод средств занимает некоторое время. Комиссия сервиса — 0.7%." })] }), o.jsx(sz, {})] }) } const jy = "https://app.cryptowallet.elcsa.ru"; async function lm(a, l = !0) { const i = await nn(), r = Nt.get(), d = await fetch(`${jy}${a}`, { credentials: "include", headers: { "X-CSRF-Token": i, ...r ? { Authorization: `Bearer ${r}` } : {} } }); if (d.status === 401 && l) try { return await ca(), lm(a, !1) } catch { throw Nt.clear(), new Error("Unauthorized") } const f = await d.json(); if (!d.ok) throw f; return f } async function xu(a, l, i = !0, r = {}) { const d = await nn(), f = Nt.get(), h = await fetch(`${jy}${a}`, { method: "POST", credentials: "include", headers: { "Content-Type": "application/json", "X-CSRF-Token": d, ...f ? { Authorization: `Bearer ${f}` } : {}, ...r }, body: JSON.stringify(l) }); if (h.status === 401 && i) try { return await ca(), xu(a, l, !1, r) } catch { throw Nt.clear(), new Error("Unauthorized") } const g = await h.json(); if (!h.ok) throw g; return g } function wy() { return { "Idempotency-Key": crypto.randomUUID() } } async function uz() { return (await lm("/api/wallets/ETH/lp/pools")).data } function Ey(a) { const { pool: l, amount0Human: i, amount1Human: r, priceLower: d, priceUpper: f, slippageBps: h, useNativeEth: g } = a; return { pool: l.poolAddress, priceLower: d, priceUpper: f, amount0Desired: ra(i || "0", l.decimals0), amount1Desired: ra(r || "0", l.decimals1), ...h != null ? { slippageBps: h } : {}, ...g != null ? { useNativeEth: g } : {} } } async function dz(a) { return (await xu("/api/wallets/ETH/lp/quote", Ey(a))).data } async function fz(a) { return (await xu("/api/wallets/ETH/lp/add", Ey(a), !0, wy())).data } async function hz(a, l = 100) { return (await xu("/api/wallets/ETH/lp/remove", { tokenId: a, percent: l }, !0, wy())).data } async function mz() { return (await lm("/api/wallets/ETH/lp/positions")).data } function Vc(a) { if (a && typeof a == "object" && "error" in a) { const l = a.error; if (typeof l == "string") return l } return a instanceof Error ? a.message === "Unauthorized" ? "Сессия истекла — перезагрузите страницу." : a.message : "Произошла ошибка. Попробуйте ещё раз." } function pz() { return Ct({ queryKey: ["pools", "list"], queryFn: uz, staleTime: 3e4, retry: !1 }) } function gz() { return Ct({ queryKey: ["pools", "positions"], queryFn: mz, staleTime: 3e4, retry: !1 }) } function vz(a) { const l = a != null && a.priceLower > 0 && a.priceUpper > 0 && (parseFloat(a.amount0Human) > 0 || parseFloat(a.amount1Human) > 0); return Ct({ queryKey: ["pools", "quote", a == null ? void 0 : a.pool.poolAddress, a == null ? void 0 : a.priceLower, a == null ? void 0 : a.priceUpper, a == null ? void 0 : a.amount0Human, a == null ? void 0 : a.amount1Human, a == null ? void 0 : a.slippageBps, a == null ? void 0 : a.useNativeEth], queryFn: () => dz(a), enabled: l, staleTime: 15e3, retry: !1 }) } function yz() { const a = Wt(); return yt({ mutationFn: l => fz(l), onSettled: () => { setTimeout(() => { a.invalidateQueries({ queryKey: ["wallet", "balance", "ETH"] }), a.invalidateQueries({ queryKey: ["pools", "positions"] }) }, 1500), setTimeout(() => { a.invalidateQueries({ queryKey: ["pools", "positions"] }), a.invalidateQueries({ queryKey: ["wallet", "balance", "ETH"] }) }, 6e3) } }) } function _z() { const a = Wt(); return yt({ mutationFn: ({ tokenId: l, percent: i }) => hz(l, i), onSuccess: () => { a.invalidateQueries({ queryKey: ["pools", "positions"] }), a.invalidateQueries({ queryKey: ["wallet", "balance", "ETH"] }) } }) } const bz = { WETH: "ETH", WBTC: "BTC" }; function ut(a) { return bz[a] ?? a } function Au(a) { return `${a / 1e4}%` } const xz = "_card_1uvgu_1", Az = "_head_1uvgu_8", Sz = "_title_1uvgu_12", jz = "_scroll_1uvgu_20", wz = "_message_1uvgu_24", Ez = "_spinnerWrap_1uvgu_31", Nz = "_table_1uvgu_38", Cz = "_thLeft_1uvgu_55", Tz = "_sortable_1uvgu_59", Rz = "_arrow_1uvgu_69", kz = "_row_1uvgu_73", Bz = "_rowSelected_1uvgu_74", Oz = "_tdLeft_1uvgu_96", Lz = "_tdAction_1uvgu_100", Mz = "_mono_1uvgu_104", zz = "_apr_1uvgu_108", Dz = "_pairName_1uvgu_113", Uz = "_fee_1uvgu_118", Hz = "_btn_1uvgu_128", qz = "_btnSelected_1uvgu_129", rt = { card: xz, head: Az, title: Sz, scroll: jz, message: wz, spinnerWrap: Ez, table: Nz, thLeft: Cz, sortable: Tz, arrow: Rz, row: kz, rowSelected: Bz, tdLeft: Oz, tdAction: Lz, mono: Mz, apr: zz, pairName: Dz, fee: Uz, btn: Hz, btnSelected: qz }, Ny = "—"; function E1(a) { return a == null ? Ny : a >= 1e6 ? `$${(a / 1e6).toFixed(2)}M` : a >= 1e3 ? `$${(a / 1e3).toFixed(2)}K` : `$${a.toFixed(2)}` } function Pz(a) { return a.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 }) } function Qz(a) { return a == null ? Ny : `${parseFloat(a.toFixed(3))}%` } function N1(a) { return `${ut(a.symbol0)}/${ut(a.symbol1)}` } function Fz(a, l, i, r) { if (i === "pair") { const g = N1(a).localeCompare(N1(l)); return r === "asc" ? g : -g } const d = a[i], f = l[i]; if (d == null && f == null) return 0; if (d == null) return 1; if (f == null) return -1; const h = d - f; return r === "asc" ? h : -h } function Yz({ pools: a, selected: l, onSelect: i, loading: r, error: d }) { const [f, h] = A.useState(null), [g, m] = A.useState(null); function p(S) { if (f !== S) { h(S), m("desc"); return } g === "desc" ? m("asc") : g === "asc" ? (h(null), m(null)) : m("desc") } const y = A.useMemo(() => !f || !g ? a : [...a].sort((S, j) => Fz(S, j, f, g)), [a, f, g]); function _(S) { return f !== S || !g ? "" : g === "desc" ? " ▼" : " ▲" } const b = [{ key: "pair", label: "Пул", align: "left" }, { key: "feeTier", label: "Комиссия", align: "right" }, { key: "currentPrice", label: "Цена", align: "right" }, { key: "tvlUSD", label: "TVL", align: "right" }, { key: "volumeUSD24h", label: "Объём 24ч", align: "right" }, { key: "aprPercent", label: "APR", align: "right" }]; return o.jsxs("div", { className: rt.card, children: [o.jsx("div", { className: rt.head, children: o.jsx("span", { className: rt.title, children: "Курируемые пулы" }) }), r && o.jsx("div", { className: rt.spinnerWrap, children: o.jsx(zn, { label: "Загрузка пулов" }) }), !r && d && o.jsx("div", { className: rt.message, children: d }), !r && !d && a.length === 0 && o.jsx("div", { className: rt.message, children: "Курируемых пулов пока нет." }), !r && !d && a.length > 0 && o.jsx("div", { className: rt.scroll, children: o.jsxs("table", { className: rt.table, children: [o.jsx("thead", { children: o.jsxs("tr", { children: [b.map(S => o.jsxs("th", { className: `${rt.sortable} ${S.align === "left" ? rt.thLeft : ""}`, onClick: () => p(S.key), "aria-sort": f === S.key ? g === "asc" ? "ascending" : "descending" : "none", children: [S.label, o.jsx("span", { className: rt.arrow, children: _(S.key) })] }, S.key)), o.jsx("th", { "aria-label": "Действие" })] }) }), o.jsx("tbody", { children: y.map(S => { const j = S.poolAddress === l; return o.jsxs("tr", { className: j ? rt.rowSelected : rt.row, onClick: () => i(S.poolAddress), children: [o.jsx("td", { className: rt.tdLeft, children: o.jsxs("span", { className: rt.pairName, children: [ut(S.symbol0), "/", ut(S.symbol1)] }) }), o.jsx("td", { children: o.jsx("span", { className: rt.fee, children: Au(S.feeTier) }) }), o.jsx("td", { className: rt.mono, children: Pz(S.currentPrice) }), o.jsx("td", { className: rt.mono, children: E1(S.tvlUSD) }), o.jsx("td", { className: rt.mono, children: E1(S.volumeUSD24h) }), o.jsx("td", { className: `${rt.mono} ${rt.apr}`, children: Qz(S.aprPercent) }), o.jsx("td", { className: rt.tdAction, children: o.jsx("button", { type: "button", className: j ? rt.btnSelected : rt.btn, onClick: w => { w.stopPropagation(), i(S.poolAddress) }, children: j ? "Выбран" : "Выбрать" }) })] }, S.poolAddress) }) })] }) })] }) } const Iz = "_card_9umyw_1", Gz = "_top_9umyw_8", Kz = "_pair_9umyw_16", Xz = "_fee_9umyw_25", Vz = "_tag_9umyw_34", Zz = "_amounts_9umyw_44", Wz = "_amountField_9umyw_51", Jz = "_balance_9umyw_57", $z = "_amountRow_9umyw_64", eD = "_amountInput_9umyw_75", tD = "_token_9umyw_91", nD = "_range_9umyw_101", aD = "_priceField_9umyw_108", sD = "_priceLabel_9umyw_118", lD = "_priceInput_9umyw_124", iD = "_quote_9umyw_140", oD = "_quoteRow_9umyw_147", rD = "_quoteLabel_9umyw_160", cD = "_quoteValue_9umyw_165", uD = "_feeValue_9umyw_173", dD = "_success_9umyw_178", fD = "_warning_9umyw_182", hD = "_submit_9umyw_190", mD = "_placeholder_9umyw_195", pD = "_placeholderTitle_9umyw_207", gD = "_placeholderText_9umyw_214", Ee = { card: Iz, top: Gz, pair: Kz, fee: Xz, tag: Vz, amounts: Zz, amountField: Wz, balance: Jz, amountRow: $z, amountInput: eD, token: tD, range: nD, priceField: aD, priceLabel: sD, priceInput: lD, quote: iD, quoteRow: oD, quoteLabel: rD, quoteValue: cD, feeValue: uD, success: dD, warning: fD, submit: hD, placeholder: mD, placeholderTitle: pD, placeholderText: gD }, Zc = "—", im = /^(\d+\.?\d*|\.?\d*)$/; function C1(a, l) { var i; return a ? ut(l) === a.chain ? a.native.formatted : ((i = a.tokens[l]) == null ? void 0 : i.formatted) ?? "0" : "0" } function T1({ symbol: a, value: l, onChange: i, balance: r }) { return o.jsxs("div", { className: Ee.amountField, children: [o.jsxs("div", { className: Ee.amountRow, children: [o.jsx("input", { className: Ee.amountInput, type: "text", inputMode: "decimal", value: l, onChange: d => { const f = d.target.value; (im.test(f) || f === "") && i(f) }, placeholder: "0", "aria-label": `Сумма ${a}` }), o.jsx("div", { className: Ee.token, children: o.jsx("span", { children: a }) })] }), o.jsxs("span", { className: Ee.balance, children: ["Баланс: ", nt(r, 6), " ", a] })] }) } function R1({ label: a, value: l, onChange: i }) { return o.jsxs("label", { className: Ee.priceField, children: [o.jsx("span", { className: Ee.priceLabel, children: a }), o.jsx("input", { className: Ee.priceInput, type: "text", inputMode: "decimal", value: l, onChange: r => { const d = r.target.value; (im.test(d) || d === "") && i(d) }, placeholder: "0" })] }) } function vD({ pool: a, quote: l, quoteFetching: i, pending: r, amount0: d, amount1: f, priceLower: h, priceUpper: g, slippage: m, onAmount0Change: p, onAmount1Change: y, onPriceLowerChange: _, onPriceUpperChange: b, onSlippageChange: S, onSubmit: j }) { const { data: w } = Yi("ETH"); if (!a) return o.jsx("div", { className: Ee.card, children: o.jsxs("div", { className: Ee.placeholder, children: [o.jsx("p", { className: Ee.placeholderTitle, children: "Выберите пул" }), o.jsx("p", { className: Ee.placeholderText, children: "Выберите пул в таблице выше, чтобы внести ликвидность." })] }) }); const E = l == null ? void 0 : l.balance, R = (E == null ? void 0 : E.sufficient) === !1, L = (l == null ? void 0 : l.aprPercent) != null ? `${l.aprPercent}%` : Zc, B = (l == null ? void 0 : l.appFeeTotalUsd) != null ? `$${l.appFeeTotalUsd.toFixed(2)}` : Zc, P = l ? nt(l.amount0DesiredHuman, 8) : Zc, G = l ? nt(l.amount1DesiredHuman, 8) : Zc, V = E && E.token1.sufficient === !1 ? E.token1 : E == null ? void 0 : E.token0, D = !!l && !R && !r; return o.jsxs("div", { className: Ee.card, children: [o.jsxs("div", { className: Ee.top, children: [o.jsxs("span", { className: Ee.pair, children: [ut(a.symbol0), "/", ut(a.symbol1)] }), o.jsx("span", { className: Ee.fee, children: Au(a.feeTier) })] }), o.jsx("span", { className: Ee.tag, children: "Суммы взноса" }), o.jsxs("div", { className: Ee.amounts, children: [o.jsx(T1, { symbol: ut(a.symbol0), value: d, onChange: p, balance: C1(w, a.symbol0) }), o.jsx(T1, { symbol: ut(a.symbol1), value: f, onChange: y, balance: C1(w, a.symbol1) })] }), o.jsxs("span", { className: Ee.tag, children: ["Диапазон цен (", ut(a.symbol1), " за ", ut(a.symbol0), ")"] }), o.jsxs("div", { className: Ee.range, children: [o.jsx(R1, { label: "Мин.", value: h, onChange: _ }), o.jsx(R1, { label: "Макс.", value: g, onChange: b }), o.jsxs("label", { className: Ee.priceField, children: [o.jsx("span", { className: Ee.priceLabel, children: "Проскальзывание, %" }), o.jsx("input", { className: Ee.priceInput, type: "text", inputMode: "decimal", value: m, onChange: K => { const ee = K.target.value; (im.test(ee) || ee === "") && S(ee) }, placeholder: "1" })] })] }), o.jsxs("div", { className: Ee.quote, "data-loading": i ? "true" : void 0, children: [o.jsxs("div", { className: Ee.quoteRow, children: [o.jsxs("span", { className: Ee.quoteLabel, children: ["Взнос ", ut(a.symbol0)] }), o.jsx("span", { className: Ee.quoteValue, children: P })] }), o.jsxs("div", { className: Ee.quoteRow, children: [o.jsxs("span", { className: Ee.quoteLabel, children: ["Взнос ", ut(a.symbol1)] }), o.jsx("span", { className: Ee.quoteValue, children: G })] }), o.jsxs("div", { className: Ee.quoteRow, children: [o.jsx("span", { className: Ee.quoteLabel, children: "Комиссия сервиса (0.7%)" }), o.jsx("span", { className: `${Ee.quoteValue} ${Ee.feeValue}`, children: B })] }), o.jsxs("div", { className: Ee.quoteRow, children: [o.jsx("span", { className: Ee.quoteLabel, children: "Годовая доходность (APR)" }), o.jsx("span", { className: `${Ee.quoteValue} ${Ee.success}`, children: L })] })] }), R && o.jsxs("p", { className: Ee.warning, children: ["Недостаточно средств", V ? `: не хватает ${ut(V.symbol)}` : "", ". Пополните баланс."] }), o.jsx("div", { className: Ee.submit, children: o.jsx(Zn, { label: r ? "Отправка…" : "Внести в пул", type: "button", onClick: j, disabled: !D }) })] }) } const yD = "_panel_1yqb9_1", _D = "_inner_1yqb9_8", bD = "_body_1yqb9_15", xD = "_head_1yqb9_60", AD = "_title_1yqb9_66", SD = "_total_1yqb9_74", jD = "_totalUnit_1yqb9_80", wD = "_list_1yqb9_85", ED = "_message_1yqb9_91", ND = "_pos_1yqb9_98", CD = "_posTop_1yqb9_105", TD = "_coin_1yqb9_113", RD = "_fee_1yqb9_122", kD = "_badge_1yqb9_131", BD = "_badgeActive_1yqb9_139", OD = "_badgeWarn_1yqb9_144", LD = "_rows_1yqb9_149", MD = "_row_1yqb9_149", zD = "_label_1yqb9_163", DD = "_value_1yqb9_168", UD = "_success_1yqb9_176", HD = "_btn_1yqb9_180", qD = "_emptyState_1yqb9_203", PD = "_emptyTitle_1yqb9_215", QD = "_emptyText_1yqb9_222", He = { panel: yD, inner: _D, body: bD, head: xD, title: AD, total: SD, totalUnit: jD, list: wD, message: ED, pos: ND, posTop: CD, coin: TD, fee: RD, badge: kD, badgeActive: BD, badgeWarn: OD, rows: LD, row: MD, label: zD, value: DD, success: UD, btn: HD, emptyState: qD, emptyTitle: PD, emptyText: QD }; function FD({ positions: a, onRemove: l, removePending: i, isLoading: r, error: d }) { const f = a.length === 0; return o.jsx("div", { className: He.panel, children: o.jsxs("div", { className: He.inner, children: [o.jsxs("div", { className: He.head, children: [o.jsx("span", { className: He.title, children: "Мои позиции" }), o.jsxs("div", { className: He.total, children: [a.length, " ", o.jsx("span", { className: He.totalUnit, children: "NFT" })] })] }), o.jsxs("div", { className: He.body, children: [r && o.jsx(zn, { label: "Загрузка позиций" }), !r && d && o.jsx("div", { className: He.message, children: d }), !r && !d && f && o.jsxs("div", { className: He.emptyState, children: [o.jsx("p", { className: He.emptyTitle, children: "Активных позиций пока нет" }), o.jsx("p", { className: He.emptyText, children: "На данный момент у Вас нет позиций в пулах ликвидности." })] }), !r && !d && !f && o.jsx("div", { className: He.list, children: a.map(h => o.jsxs("div", { className: He.pos, children: [o.jsxs("div", { className: He.posTop, children: [o.jsxs("span", { className: He.coin, children: [ut(h.symbol0), "/", ut(h.symbol1), o.jsx("span", { className: He.fee, children: Au(h.feeTier) })] }), o.jsx("span", { className: `${He.badge} ${h.inRange ? He.badgeActive : He.badgeWarn}`, children: h.inRange ? "В диапазоне" : "Вне диапазона" })] }), o.jsxs("div", { className: He.rows, children: [o.jsxs("div", { className: He.row, children: [o.jsx("span", { className: He.label, children: "Диапазон цен" }), o.jsxs("span", { className: He.value, children: [h.priceLower, " ", h.priceUpper] })] }), o.jsxs("div", { className: He.row, children: [o.jsx("span", { className: He.label, children: ut(h.symbol0) }), o.jsx("span", { className: He.value, children: nt(h.currentAmount0Human, 8) })] }), o.jsxs("div", { className: He.row, children: [o.jsx("span", { className: He.label, children: ut(h.symbol1) }), o.jsx("span", { className: He.value, children: nt(h.currentAmount1Human, 8) })] }), o.jsxs("div", { className: He.row, children: [o.jsx("span", { className: He.label, children: "Комиссии к выводу" }), o.jsxs("span", { className: `${He.value} ${He.success}`, children: [nt(h.feesOwed0Human, 8), " ", ut(h.symbol0), " · ", nt(h.feesOwed1Human, 8), " ", ut(h.symbol1)] })] })] }), o.jsx("button", { className: He.btn, onClick: () => l(h.tokenId), disabled: i, children: "Вывести" })] }, h.tokenId)) })] })] }) }) } const YD = "_overlay_mbhaz_1", ID = "_card_mbhaz_13", GD = "_header_mbhaz_25", KD = "_title_mbhaz_31", XD = "_closeBtn_mbhaz_37", VD = "_token_mbhaz_52", ZD = "_tokenLabel_mbhaz_62", WD = "_tokenAmount_mbhaz_70", JD = "_tokenMeta_mbhaz_77", $D = "_modes_mbhaz_83", eU = "_mode_mbhaz_83", tU = "_modeActive_mbhaz_107", nU = "_note_mbhaz_112", aU = "_confirmBtn_mbhaz_119", hn = { overlay: YD, card: ID, header: GD, title: KD, closeBtn: XD, token: VD, tokenLabel: ZD, tokenAmount: WD, tokenMeta: JD, modes: $D, mode: eU, modeActive: tU, note: nU, confirmBtn: aU }, sU = [25, 50, 100]; function lU({ position: a, pending: l, onConfirm: i, onClose: r }) { const [d, f] = A.useState(100); return A.useEffect(() => { function h(g) { g.key === "Escape" && r() } return document.addEventListener("keydown", h), () => document.removeEventListener("keydown", h) }, [r]), o.jsx("div", { className: hn.overlay, onClick: r, children: o.jsxs("div", { className: hn.card, onClick: h => h.stopPropagation(), children: [o.jsxs("div", { className: hn.header, children: [o.jsx("span", { className: hn.title, children: "Вывод ликвидности" }), o.jsx("button", { className: hn.closeBtn, onClick: r, children: "×" })] }), o.jsxs("div", { className: hn.token, children: [o.jsx("span", { className: hn.tokenLabel, children: "Позиция" }), o.jsxs("span", { className: hn.tokenAmount, children: [ut(a.symbol0), "/", ut(a.symbol1)] }), o.jsxs("span", { className: hn.tokenMeta, children: [Au(a.feeTier), " · #", a.tokenId] })] }), o.jsx("div", { className: hn.modes, children: sU.map(h => o.jsxs("button", { className: `${hn.mode} ${d === h ? hn.modeActive : ""}`, onClick: () => f(h), children: [h, "%"] }, h)) }), d === 100 && o.jsx("p", { className: hn.note, children: "При выводе 100% позиция (NFT) будет сожжена." }), o.jsx("button", { className: hn.confirmBtn, onClick: () => i(d), disabled: l, children: l ? "Отправка…" : "Подтвердить вывод" })] }) }) } const iU = "_widget_za8nj_1", oU = "_grid_za8nj_7", k1 = { widget: iU, grid: oU }, B1 = .05; function rU() { var W; const a = pz(), l = gz(), i = yz(), r = _z(), d = a.data ?? [], f = ((W = l.data) == null ? void 0 : W.positions) ?? [], [h, g] = A.useState(null), [m, p] = A.useState(""), [y, _] = A.useState(""), [b, S] = A.useState(""), [j, w] = A.useState(""), [E, R] = A.useState("1"), L = !1, [B, P] = A.useState(null), [G, V] = A.useState(null), D = d.find(ue => ue.poolAddress === h) ?? null; function K(ue) { g(ue); const be = d.find(T => T.poolAddress === ue); be && (S((be.currentPrice * (1 - B1)).toFixed(2)), w((be.currentPrice * (1 + B1)).toFixed(2))), p(""), _("") } A.useEffect(() => { !h && d.length > 0 && K(d[0].poolAddress) }, [d, h]); const ee = ba(m, 400), re = ba(y, 400), ce = ba(b, 400), ie = ba(j, 400), te = ba(E, 400), pe = A.useMemo(() => { if (!D) return null; const ue = parseFloat(te); return { pool: D, amount0Human: ee, amount1Human: re, priceLower: parseFloat(ce) || 0, priceUpper: parseFloat(ie) || 0, slippageBps: Number.isFinite(ue) ? Math.round(ue * 100) : void 0, useNativeEth: L } }, [D, ee, re, ce, ie, te, L]), ve = vz(pe); function q() { if (!D) return; const ue = parseFloat(E), be = { pool: D, amount0Human: m, amount1Human: y, priceLower: parseFloat(b) || 0, priceUpper: parseFloat(j) || 0, slippageBps: Number.isFinite(ue) ? Math.round(ue * 100) : void 0, useNativeEth: L }; V({ status: "info", message: "Внесение в пул может занять несколько минут…" }), i.mutate(be, { onSuccess: () => { V({ status: "success", message: `Депозит в пул ${ut(D.symbol0)}/${ut(D.symbol1)} выполнен` }), p(""), _("") }, onError: T => V({ status: "error", message: Vc(T) }) }) } function X(ue) { B && r.mutate({ tokenId: B.tokenId, percent: ue }, { onSuccess: () => { P(null), V({ status: "success", message: "Ликвидность выведена на кошелёк" }) }, onError: be => V({ status: "error", message: Vc(be) }) }) } return o.jsxs("div", { className: k1.widget, children: [o.jsx(Yz, { pools: d, selected: h, onSelect: K, loading: a.isLoading, error: a.isError ? Vc(a.error) : null }), o.jsxs("div", { className: k1.grid, children: [o.jsx(vD, { pool: D, quote: ve.data, quoteFetching: ve.isFetching, pending: i.isPending, amount0: m, amount1: y, priceLower: b, priceUpper: j, slippage: E, onAmount0Change: p, onAmount1Change: _, onPriceLowerChange: S, onPriceUpperChange: w, onSlippageChange: R, onSubmit: q }), o.jsx(FD, { positions: f, onRemove: ue => P(f.find(be => be.tokenId === ue) ?? null), removePending: r.isPending, isLoading: l.isLoading, error: l.isError ? Vc(l.error) : null })] }), B && o.jsx(lU, { position: B, pending: r.isPending, onConfirm: X, onClose: () => P(null) }), G && o.jsx($a, { status: G.status, message: G.message, onClose: () => V(null), duration: 5e3 })] }) } const cU = "_page_1j4fk_1", uU = "_head_1j4fk_8", dU = "_title_1j4fk_12", fU = "_subtitle_1j4fk_19", Wc = { page: cU, head: uU, title: dU, subtitle: fU }; function hU() { return o.jsxs("div", { className: Wc.page, children: [o.jsxs("header", { className: Wc.head, children: [o.jsx("h1", { className: Wc.title, children: "Пулы" }), o.jsx("p", { className: Wc.subtitle, children: "Выберите пул из списка, укажите, количество каждого токена, и задайте диапазон цен, в котором ваши деньги будут работать. Пока цена остаётся в этом диапазоне, вы зарабатываете на комиссиях с каждой сделки в пуле (это и есть APR). Внесённая позиция учитывается как NFT в блоке «Мои позиции», откуда её можно вывести вместе с накопленными комиссиями. Комиссия сервиса на депозит — 0.7%." })] }), o.jsx(rU, {})] }) } const mU = "_page_1f1vh_1", pU = "_rain_1f1vh_14", gU = "_drop_1f1vh_21", vU = "_content_1f1vh_49", yU = "_code_1f1vh_56", _U = "_digit_1f1vh_63", bU = "_coin_1f1vh_73", xU = "_title_1f1vh_90", AU = "_subtitle_1f1vh_97", SU = "_button_1f1vh_104", aa = { page: mU, rain: pU, drop: gU, content: vU, code: yU, digit: _U, coin: bU, title: xU, subtitle: AU, button: SU }, O1 = [{ letter: "₿", color: "#f7931a" }, { letter: "Ξ", color: "#627eea" }, { letter: "₮", color: "#26a17b" }, { letter: "◎", color: "#9945ff" }, { letter: "$", color: "#2775ca" }, { letter: "₽", color: "#4a6dff" }, { letter: "Ʉ", color: "#00d4ff" }], jU = [{ left: 6, size: 34, delay: 0, duration: 7.5 }, { left: 18, size: 26, delay: 2.1, duration: 9 }, { left: 29, size: 44, delay: 4.3, duration: 6.5 }, { left: 41, size: 22, delay: 1.2, duration: 10 }, { left: 54, size: 38, delay: 3.4, duration: 8 }, { left: 67, size: 28, delay: .6, duration: 9.5 }, { left: 78, size: 48, delay: 2.8, duration: 7 }, { left: 88, size: 24, delay: 5, duration: 8.5 }, { left: 95, size: 32, delay: 1.7, duration: 9.2 }]; function wU() { return o.jsxs(o.Fragment, { children: [o.jsx(Ll, {}), o.jsxs("main", { className: aa.page, children: [o.jsx("div", { className: aa.rain, "aria-hidden": "true", children: jU.map((a, l) => { const i = O1[l % O1.length]; return o.jsx("span", { className: aa.drop, style: { left: `${a.left}%`, animationDelay: `${a.delay}s`, animationDuration: `${a.duration}s` }, children: o.jsx(kl, { letter: i.letter, color: i.color, size: a.size }) }, l) }) }), o.jsxs("div", { className: aa.content, children: [o.jsxs("div", { className: aa.code, "aria-hidden": "true", children: [o.jsx("span", { className: aa.digit, children: "4" }), o.jsx("span", { className: aa.coin, children: o.jsx(kl, { letter: "₿", color: "#f7931a", size: 140 }) }), o.jsx("span", { className: aa.digit, children: "4" })] }), o.jsx("h1", { className: aa.title, children: "Такой страницы не существует" }), o.jsx("p", { className: aa.subtitle, children: "Похоже, курс этого маршрута обнулился. Проверьте адрес или вернитесь на главную." }), o.jsx(gn, { to: ae.HOME, className: aa.button, children: "На главную" })] })] }), o.jsx(Is, {})] }) } const EU = "_page_uz94v_1", NU = "_main_uz94v_8", CU = "_center_uz94v_13", Jc = { page: EU, main: NU, center: CU }; function L1({ footer: a = !1, center: l = !1 }) { return o.jsxs("div", { className: Jc.page, children: [o.jsx(nm, {}), o.jsx("main", { className: l ? `${Jc.main} ${Jc.center}` : Jc.main, children: o.jsx(mu, {}) }), a && o.jsx(Is, {})] }) } function TU() { const { pathname: a } = Zt(); return A.useEffect(() => { window.scrollTo(0, 0) }, [a]), null } function RU() { const { isAuthenticated: a, isLoading: l } = Lv(), i = Zt(); return l ? o.jsx(zn, { overlay: !0, size: "lg", label: "Загрузка" }) : a ? o.jsx(mu, {}) : o.jsx(Qi, { to: ae.LOGIN, state: { from: i }, replace: !0 }) } function kU() { var d, f; const { isAuthenticated: a, isLoading: l } = Lv(), r = ((f = (d = Zt().state) == null ? void 0 : d.from) == null ? void 0 : f.pathname) ?? ae.WALLET; return l ? o.jsx(zn, { overlay: !0, size: "lg", label: "Загрузка" }) : a ? o.jsx(Qi, { to: r, replace: !0 }) : o.jsx(mu, {}) } function BU() { return o.jsxs(jA, { children: [o.jsx(TU, {}), o.jsxs(eA, { children: [o.jsx(Qe, { path: ae.HOME, element: o.jsx(CN, {}) }), o.jsx(Qe, { path: ae.PUBLICHNAYA_OFERTA, element: o.jsx(nL, {}) }), o.jsx(Qe, { path: ae.POLITIKA_PERSONALNYH_DANNYH, element: o.jsx(sL, {}) }), o.jsx(Qe, { path: ae.POLITIKA_COOKIE, element: o.jsx(iL, {}) }), o.jsx(Qe, { path: ae.SOGLASIE_PERSONALNYH_DANNYH, element: o.jsx(rL, {}) }), o.jsx(Qe, { path: ae.REESTR_PD_RKN, element: o.jsx(uL, {}) }), o.jsx(Qe, { path: ae.REGISTER_TEST, element: o.jsx(R9, {}) }), o.jsxs(Qe, { element: o.jsx(kU, {}), children: [o.jsx(Qe, { path: ae.LOGIN, element: o.jsx(BB, {}) }), o.jsx(Qe, { path: ae.REGISTER, element: o.jsx(r9, {}) }), o.jsx(Qe, { path: ae.RESTORE_PASSWORD, element: o.jsx(LO, {}) })] }), o.jsxs(Qe, { element: o.jsx(RU, {}), children: [o.jsx(Qe, { element: o.jsx(L1, { footer: !0, center: !0 }), children: o.jsx(Qe, { path: ae.CONVERTER, element: o.jsx(Z9, {}) }) }), o.jsxs(Qe, { element: o.jsx(L1, { footer: !0 }), children: [o.jsx(Qe, { path: ae.SWAP, element: o.jsx(C8, {}) }), o.jsx(Qe, { path: ae.BRIDGE, element: o.jsx(ck, {}) }), o.jsx(Qe, { path: ae.STAKING, element: o.jsx(cz, {}) }), o.jsx(Qe, { path: ae.POOLS, element: o.jsx(hU, {}) }), o.jsxs(Qe, { path: ae.PROFILE, element: o.jsx(N6, {}), children: [o.jsx(Qe, { index: !0, element: o.jsx(Qi, { to: "details", replace: !0 }) }), o.jsx(Qe, { path: "details", element: o.jsx(C6, {}) }), o.jsx(Qe, { path: "security", element: o.jsx(T6, {}) }), o.jsx(Qe, { path: "mnemonic", element: o.jsx(Z6, {}) }), o.jsx(Qe, { path: "transactions", element: o.jsx(pB, {}) })] })] }), o.jsx(Qe, { path: ae.TRANSACTIONS, element: o.jsx(Qi, { to: ae.PROFILE_TRANSACTIONS, replace: !0 }) }), o.jsx(Qe, { path: ae.WALLET, element: o.jsx(Wg, {}) }), o.jsx(Qe, { path: ae.WALLET_CHAIN, element: o.jsx(Wg, {}) }), o.jsx(Qe, { path: ae.SEED_PHRASE, element: o.jsx(eO, {}) }), o.jsx(Qe, { path: ae.KYC, element: o.jsx(xO, {}) })] }), o.jsx(Qe, { path: "*", element: o.jsx(wU, {}) })] })] }) } const OU = new Nj({ defaultOptions: { queries: { retry: !1 } } }); function LU({ children: a }) { return o.jsx(Cj, { client: OU, children: a }) } function MU() { return o.jsx(LU, { children: o.jsx(BU, {}) }) } ex.createRoot(document.getElementById("root")).render(o.jsx(A.StrictMode, { children: o.jsx(MU, {}) }));