diff --git a/webui/dist/assets/index-APyqA5yn.js b/webui/dist/assets/index-CcCiBqqZ.js similarity index 83% rename from webui/dist/assets/index-APyqA5yn.js rename to webui/dist/assets/index-CcCiBqqZ.js index ca377b6b..ba92bec5 100644 --- a/webui/dist/assets/index-APyqA5yn.js +++ b/webui/dist/assets/index-CcCiBqqZ.js @@ -1,44 +1,44 @@ -function XV(e,t){for(var n=0;nr[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const s of a)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(a){if(a.ep)return;a.ep=!0;const s=n(a);fetch(a.href,s)}})();var Np=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function At(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var O0={exports:{}},Yd={};var Gk;function ZV(){if(Gk)return Yd;Gk=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,a,s){var l=null;if(s!==void 0&&(l=""+s),a.key!==void 0&&(l=""+a.key),"key"in a){s={};for(var u in a)u!=="key"&&(s[u]=a[u])}else s=a;return a=s.ref,{$$typeof:e,type:r,key:l,ref:a!==void 0?a:null,props:s}}return Yd.Fragment=t,Yd.jsx=n,Yd.jsxs=n,Yd}var Yk;function QV(){return Yk||(Yk=1,O0.exports=ZV()),O0.exports}var i=QV(),E0={exports:{}},Ze={};var Kk;function JV(){if(Kk)return Ze;Kk=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),g=Symbol.iterator;function x(I){return I===null||typeof I!="object"?null:(I=g&&I[g]||I["@@iterator"],typeof I=="function"?I:null)}var j={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,b={};function N(I,z,Y){this.props=I,this.context=z,this.refs=b,this.updater=Y||j}N.prototype.isReactComponent={},N.prototype.setState=function(I,z){if(typeof I!="object"&&typeof I!="function"&&I!=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,I,z,"setState")},N.prototype.forceUpdate=function(I){this.updater.enqueueForceUpdate(this,I,"forceUpdate")};function E(){}E.prototype=N.prototype;function O(I,z,Y){this.props=I,this.context=z,this.refs=b,this.updater=Y||j}var A=O.prototype=new E;A.constructor=O,w(A,N.prototype),A.isPureReactComponent=!0;var C=Array.isArray;function k(){}var T={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function R(I,z,Y){var te=Y.ref;return{$$typeof:e,type:I,key:z,ref:te!==void 0?te:null,props:Y}}function B(I,z){return R(I.type,z,I.props)}function $(I){return typeof I=="object"&&I!==null&&I.$$typeof===e}function H(I){var z={"=":"=0",":":"=2"};return"$"+I.replace(/[=:]/g,function(Y){return z[Y]})}var V=/\/+/g;function q(I,z){return typeof I=="object"&&I!==null&&I.key!=null?H(""+I.key):z.toString(36)}function G(I){switch(I.status){case"fulfilled":return I.value;case"rejected":throw I.reason;default:switch(typeof I.status=="string"?I.then(k,k):(I.status="pending",I.then(function(z){I.status==="pending"&&(I.status="fulfilled",I.value=z)},function(z){I.status==="pending"&&(I.status="rejected",I.reason=z)})),I.status){case"fulfilled":return I.value;case"rejected":throw I.reason}}throw I}function L(I,z,Y,te,ae){var ge=typeof I;(ge==="undefined"||ge==="boolean")&&(I=null);var ee=!1;if(I===null)ee=!0;else switch(ge){case"bigint":case"string":case"number":ee=!0;break;case"object":switch(I.$$typeof){case e:case t:ee=!0;break;case m:return ee=I._init,L(ee(I._payload),z,Y,te,ae)}}if(ee)return ae=ae(I),ee=te===""?"."+q(I,0):te,C(ae)?(Y="",ee!=null&&(Y=ee.replace(V,"$&/")+"/"),L(ae,z,Y,"",function(we){return we})):ae!=null&&($(ae)&&(ae=B(ae,Y+(ae.key==null||I&&I.key===ae.key?"":(""+ae.key).replace(V,"$&/")+"/")+ee)),z.push(ae)),1;ee=0;var Se=te===""?".":te+":";if(C(I))for(var re=0;re>>1,J=L[K];if(0>>1;Ka(Y,U))tea(ae,Y)?(L[K]=ae,L[te]=U,K=te):(L[K]=Y,L[z]=U,K=z);else if(tea(ae,U))L[K]=ae,L[te]=U,K=te;else break e}}return D}function a(L,D){var U=L.sortIndex-D.sortIndex;return U!==0?U:L.id-D.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var l=Date,u=l.now();e.unstable_now=function(){return l.now()-u}}var d=[],f=[],m=1,p=null,g=3,x=!1,j=!1,w=!1,b=!1,N=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function A(L){for(var D=n(f);D!==null;){if(D.callback===null)r(f);else if(D.startTime<=L)r(f),D.sortIndex=D.expirationTime,t(d,D);else break;D=n(f)}}function C(L){if(w=!1,A(L),!j)if(n(d)!==null)j=!0,k||(k=!0,H());else{var D=n(f);D!==null&&G(C,D.startTime-L)}}var k=!1,T=-1,M=5,R=-1;function B(){return b?!0:!(e.unstable_now()-RL&&B());){var K=p.callback;if(typeof K=="function"){p.callback=null,g=p.priorityLevel;var J=K(p.expirationTime<=L);if(L=e.unstable_now(),typeof J=="function"){p.callback=J,A(L),D=!0;break t}p===n(d)&&r(d),A(L)}else r(d);p=n(d)}if(p!==null)D=!0;else{var I=n(f);I!==null&&G(C,I.startTime-L),D=!1}}break e}finally{p=null,g=U,x=!1}D=void 0}}finally{D?H():k=!1}}}var H;if(typeof O=="function")H=function(){O($)};else if(typeof MessageChannel<"u"){var V=new MessageChannel,q=V.port2;V.port1.onmessage=$,H=function(){q.postMessage(null)}}else H=function(){N($,0)};function G(L,D){T=N(function(){L(e.unstable_now())},D)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(L){L.callback=null},e.unstable_forceFrameRate=function(L){0>L||125K?(L.sortIndex=U,t(f,L),n(d)===null&&L===n(f)&&(w?(E(T),T=-1):w=!0,G(C,U-K))):(L.sortIndex=J,t(d,L),j||x||(j=!0,k||(k=!0,H()))),L},e.unstable_shouldYield=B,e.unstable_wrapCallback=function(L){var D=g;return function(){var U=g;g=D;try{return L.apply(this,arguments)}finally{g=U}}}})(k0)),k0}var Qk;function tG(){return Qk||(Qk=1,T0.exports=eG()),T0.exports}var M0={exports:{}},cr={};var Jk;function nG(){if(Jk)return cr;Jk=1;var e=Eh();function t(d){var f="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),M0.exports=nG(),M0.exports}var tM;function rG(){if(tM)return Kd;tM=1;var e=tG(),t=Eh(),n=JL();function r(o){var c="https://react.dev/errors/"+o;if(1J||(o.current=K[J],K[J]=null,J--)}function Y(o,c){J++,K[J]=o.current,o.current=c}var te=I(null),ae=I(null),ge=I(null),ee=I(null);function Se(o,c){switch(Y(ge,c),Y(ae,o),Y(te,null),c.nodeType){case 9:case 11:o=(o=c.documentElement)&&(o=o.namespaceURI)?vk(o):0;break;default:if(o=c.tagName,c=c.namespaceURI)c=vk(c),o=gk(c,o);else switch(o){case"svg":o=1;break;case"math":o=2;break;default:o=0}}z(te),Y(te,o)}function re(){z(te),z(ae),z(ge)}function we(o){o.memoizedState!==null&&Y(ee,o);var c=te.current,h=gk(c,o.type);c!==h&&(Y(ae,o),Y(te,h))}function je(o){ae.current===o&&(z(te),z(ae)),ee.current===o&&(z(ee),Hd._currentValue=U)}var fe,Le;function Oe(o){if(fe===void 0)try{throw Error()}catch(h){var c=h.stack.trim().match(/\n( *(at )?)/);fe=c&&c[1]||"",Le=-1r[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const s of a)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(a){if(a.ep)return;a.ep=!0;const s=n(a);fetch(a.href,s)}})();var Np=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function At(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var E0={exports:{}},Yd={};var Gk;function ZV(){if(Gk)return Yd;Gk=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,a,s){var l=null;if(s!==void 0&&(l=""+s),a.key!==void 0&&(l=""+a.key),"key"in a){s={};for(var u in a)u!=="key"&&(s[u]=a[u])}else s=a;return a=s.ref,{$$typeof:e,type:r,key:l,ref:a!==void 0?a:null,props:s}}return Yd.Fragment=t,Yd.jsx=n,Yd.jsxs=n,Yd}var Yk;function QV(){return Yk||(Yk=1,E0.exports=ZV()),E0.exports}var i=QV(),A0={exports:{}},Ze={};var Kk;function JV(){if(Kk)return Ze;Kk=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),g=Symbol.iterator;function x(I){return I===null||typeof I!="object"?null:(I=g&&I[g]||I["@@iterator"],typeof I=="function"?I:null)}var j={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,b={};function N(I,z,Y){this.props=I,this.context=z,this.refs=b,this.updater=Y||j}N.prototype.isReactComponent={},N.prototype.setState=function(I,z){if(typeof I!="object"&&typeof I!="function"&&I!=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,I,z,"setState")},N.prototype.forceUpdate=function(I){this.updater.enqueueForceUpdate(this,I,"forceUpdate")};function E(){}E.prototype=N.prototype;function O(I,z,Y){this.props=I,this.context=z,this.refs=b,this.updater=Y||j}var A=O.prototype=new E;A.constructor=O,w(A,N.prototype),A.isPureReactComponent=!0;var C=Array.isArray;function k(){}var T={H:null,A:null,T:null,S:null},M=Object.prototype.hasOwnProperty;function R(I,z,Y){var te=Y.ref;return{$$typeof:e,type:I,key:z,ref:te!==void 0?te:null,props:Y}}function B(I,z){return R(I.type,z,I.props)}function $(I){return typeof I=="object"&&I!==null&&I.$$typeof===e}function H(I){var z={"=":"=0",":":"=2"};return"$"+I.replace(/[=:]/g,function(Y){return z[Y]})}var V=/\/+/g;function q(I,z){return typeof I=="object"&&I!==null&&I.key!=null?H(""+I.key):z.toString(36)}function G(I){switch(I.status){case"fulfilled":return I.value;case"rejected":throw I.reason;default:switch(typeof I.status=="string"?I.then(k,k):(I.status="pending",I.then(function(z){I.status==="pending"&&(I.status="fulfilled",I.value=z)},function(z){I.status==="pending"&&(I.status="rejected",I.reason=z)})),I.status){case"fulfilled":return I.value;case"rejected":throw I.reason}}throw I}function L(I,z,Y,te,ae){var ge=typeof I;(ge==="undefined"||ge==="boolean")&&(I=null);var ee=!1;if(I===null)ee=!0;else switch(ge){case"bigint":case"string":case"number":ee=!0;break;case"object":switch(I.$$typeof){case e:case t:ee=!0;break;case m:return ee=I._init,L(ee(I._payload),z,Y,te,ae)}}if(ee)return ae=ae(I),ee=te===""?"."+q(I,0):te,C(ae)?(Y="",ee!=null&&(Y=ee.replace(V,"$&/")+"/"),L(ae,z,Y,"",function(we){return we})):ae!=null&&($(ae)&&(ae=B(ae,Y+(ae.key==null||I&&I.key===ae.key?"":(""+ae.key).replace(V,"$&/")+"/")+ee)),z.push(ae)),1;ee=0;var Se=te===""?".":te+":";if(C(I))for(var re=0;re>>1,J=L[K];if(0>>1;Ka(Y,U))tea(ae,Y)?(L[K]=ae,L[te]=U,K=te):(L[K]=Y,L[z]=U,K=z);else if(tea(ae,U))L[K]=ae,L[te]=U,K=te;else break e}}return D}function a(L,D){var U=L.sortIndex-D.sortIndex;return U!==0?U:L.id-D.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var l=Date,u=l.now();e.unstable_now=function(){return l.now()-u}}var d=[],f=[],m=1,p=null,g=3,x=!1,j=!1,w=!1,b=!1,N=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function A(L){for(var D=n(f);D!==null;){if(D.callback===null)r(f);else if(D.startTime<=L)r(f),D.sortIndex=D.expirationTime,t(d,D);else break;D=n(f)}}function C(L){if(w=!1,A(L),!j)if(n(d)!==null)j=!0,k||(k=!0,H());else{var D=n(f);D!==null&&G(C,D.startTime-L)}}var k=!1,T=-1,M=5,R=-1;function B(){return b?!0:!(e.unstable_now()-RL&&B());){var K=p.callback;if(typeof K=="function"){p.callback=null,g=p.priorityLevel;var J=K(p.expirationTime<=L);if(L=e.unstable_now(),typeof J=="function"){p.callback=J,A(L),D=!0;break t}p===n(d)&&r(d),A(L)}else r(d);p=n(d)}if(p!==null)D=!0;else{var I=n(f);I!==null&&G(C,I.startTime-L),D=!1}}break e}finally{p=null,g=U,x=!1}D=void 0}}finally{D?H():k=!1}}}var H;if(typeof O=="function")H=function(){O($)};else if(typeof MessageChannel<"u"){var V=new MessageChannel,q=V.port2;V.port1.onmessage=$,H=function(){q.postMessage(null)}}else H=function(){N($,0)};function G(L,D){T=N(function(){L(e.unstable_now())},D)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(L){L.callback=null},e.unstable_forceFrameRate=function(L){0>L||125K?(L.sortIndex=U,t(f,L),n(d)===null&&L===n(f)&&(w?(E(T),T=-1):w=!0,G(C,U-K))):(L.sortIndex=J,t(d,L),j||x||(j=!0,k||(k=!0,H()))),L},e.unstable_shouldYield=B,e.unstable_wrapCallback=function(L){var D=g;return function(){var U=g;g=D;try{return L.apply(this,arguments)}finally{g=U}}}})(M0)),M0}var Qk;function tG(){return Qk||(Qk=1,k0.exports=eG()),k0.exports}var P0={exports:{}},cr={};var Jk;function nG(){if(Jk)return cr;Jk=1;var e=Eh();function t(d){var f="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),P0.exports=nG(),P0.exports}var tM;function rG(){if(tM)return Kd;tM=1;var e=tG(),t=Eh(),n=JL();function r(o){var c="https://react.dev/errors/"+o;if(1J||(o.current=K[J],K[J]=null,J--)}function Y(o,c){J++,K[J]=o.current,o.current=c}var te=I(null),ae=I(null),ge=I(null),ee=I(null);function Se(o,c){switch(Y(ge,c),Y(ae,o),Y(te,null),c.nodeType){case 9:case 11:o=(o=c.documentElement)&&(o=o.namespaceURI)?vk(o):0;break;default:if(o=c.tagName,c=c.namespaceURI)c=vk(c),o=gk(c,o);else switch(o){case"svg":o=1;break;case"math":o=2;break;default:o=0}}z(te),Y(te,o)}function re(){z(te),z(ae),z(ge)}function we(o){o.memoizedState!==null&&Y(ee,o);var c=te.current,h=gk(c,o.type);c!==h&&(Y(ae,o),Y(te,h))}function je(o){ae.current===o&&(z(te),z(ae)),ee.current===o&&(z(ee),Hd._currentValue=U)}var fe,Le;function Oe(o){if(fe===void 0)try{throw Error()}catch(h){var c=h.stack.trim().match(/\n( *(at )?)/);fe=c&&c[1]||"",Le=-1)":-1S||X[v]!==se[S]){var pe=` `+X[v].replace(" at new "," at ");return o.displayName&&pe.includes("")&&(pe=pe.replace("",o.displayName)),pe}while(1<=v&&0<=S);break}}}finally{We=!1,Error.prepareStackTrace=h}return(h=o?o.displayName||o.name:"")?Oe(h):""}function Ae(o,c){switch(o.tag){case 26:case 27:case 5:return Oe(o.type);case 16:return Oe("Lazy");case 13:return o.child!==c&&c!==null?Oe("Suspense Fallback"):Oe("Suspense");case 19:return Oe("SuspenseList");case 0:case 15:return be(o.type,!1);case 11:return be(o.type.render,!1);case 1:return be(o.type,!0);case 31:return Oe("Activity");default:return""}}function ke(o){try{var c="",h=null;do c+=Ae(o,h),h=o,o=o.return;while(o);return c}catch(v){return` Error generating stack: `+v.message+` -`+v.stack}}var Qt=Object.prototype.hasOwnProperty,St=e.unstable_scheduleCallback,Tt=e.unstable_cancelCallback,Sn=e.unstable_shouldYield,le=e.unstable_requestPaint,ue=e.unstable_now,Ve=e.unstable_getCurrentPriorityLevel,Mn=e.unstable_ImmediatePriority,$l=e.unstable_UserBlockingPriority,Il=e.unstable_NormalPriority,dx=e.unstable_LowPriority,fm=e.unstable_IdlePriority,fx=e.log,hx=e.unstable_setDisableYieldValue,bo=null,br=null;function Qa(o){if(typeof fx=="function"&&hx(o),br&&typeof br.setStrictMode=="function")try{br.setStrictMode(bo,o)}catch{}}var lr=Math.clz32?Math.clz32:Gt,mx=Math.log,it=Math.LN2;function Gt(o){return o>>>=0,o===0?32:31-(mx(o)/it|0)|0}var Ye=256,wt=262144,qn=4194304;function st(o){var c=o&42;if(c!==0)return c;switch(o&-o){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 o&261888;case 262144:case 524288:case 1048576:case 2097152:return o&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return o&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return o}}function Ll(o,c,h){var v=o.pendingLanes;if(v===0)return 0;var S=0,_=o.suspendedLanes,P=o.pingedLanes;o=o.warmLanes;var F=v&134217727;return F!==0?(v=F&~_,v!==0?S=st(v):(P&=F,P!==0?S=st(P):h||(h=F&~o,h!==0&&(S=st(h))))):(F=v&~_,F!==0?S=st(F):P!==0?S=st(P):h||(h=v&~o,h!==0&&(S=st(h)))),S===0?0:c!==0&&c!==S&&(c&_)===0&&(_=S&-S,h=c&-c,_>=h||_===32&&(h&4194048)!==0)?c:S}function wo(o,c){return(o.pendingLanes&~(o.suspendedLanes&~o.pingedLanes)&c)===0}function px(o,c){switch(o){case 1:case 2:case 4:case 8:case 64:return c+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 c+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 Bl(){var o=qn;return qn<<=1,(qn&62914560)===0&&(qn=4194304),o}function jo(o){for(var c=[],h=0;31>h;h++)c.push(o);return c}function ad(o,c){o.pendingLanes|=c,c!==268435456&&(o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0)}function LW(o,c,h,v,S,_){var P=o.pendingLanes;o.pendingLanes=h,o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0,o.expiredLanes&=h,o.entangledLanes&=h,o.errorRecoveryDisabledLanes&=h,o.shellSuspendCounter=0;var F=o.entanglements,X=o.expirationTimes,se=o.hiddenUpdates;for(h=P&~h;0"u")return null;try{return o.activeElement||o.body}catch{return o.body}}var HW=/[\n"\\]/g;function da(o){return o.replace(HW,function(c){return"\\"+c.charCodeAt(0).toString(16)+" "})}function wx(o,c,h,v,S,_,P,F){o.name="",P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"?o.type=P:o.removeAttribute("type"),c!=null?P==="number"?(c===0&&o.value===""||o.value!=c)&&(o.value=""+ua(c)):o.value!==""+ua(c)&&(o.value=""+ua(c)):P!=="submit"&&P!=="reset"||o.removeAttribute("value"),c!=null?jx(o,P,ua(c)):h!=null?jx(o,P,ua(h)):v!=null&&o.removeAttribute("value"),S==null&&_!=null&&(o.defaultChecked=!!_),S!=null&&(o.checked=S&&typeof S!="function"&&typeof S!="symbol"),F!=null&&typeof F!="function"&&typeof F!="symbol"&&typeof F!="boolean"?o.name=""+ua(F):o.removeAttribute("name")}function uA(o,c,h,v,S,_,P,F){if(_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"&&(o.type=_),c!=null||h!=null){if(!(_!=="submit"&&_!=="reset"||c!=null)){bx(o);return}h=h!=null?""+ua(h):"",c=c!=null?""+ua(c):h,F||c===o.value||(o.value=c),o.defaultValue=c}v=v??S,v=typeof v!="function"&&typeof v!="symbol"&&!!v,o.checked=F?o.checked:!!v,o.defaultChecked=!!v,P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"&&(o.name=P),bx(o)}function jx(o,c,h){c==="number"&&pm(o.ownerDocument)===o||o.defaultValue===""+h||(o.defaultValue=""+h)}function Wl(o,c,h,v){if(o=o.options,c){c={};for(var S=0;S"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ox=!1;if(Ai)try{var ld={};Object.defineProperty(ld,"passive",{get:function(){Ox=!0}}),window.addEventListener("test",ld,ld),window.removeEventListener("test",ld,ld)}catch{Ox=!1}var ys=null,Ex=null,gm=null;function gA(){if(gm)return gm;var o,c=Ex,h=c.length,v,S="value"in ys?ys.value:ys.textContent,_=S.length;for(o=0;o=dd),SA=" ",_A=!1;function NA(o,c){switch(o){case"keyup":return y7.indexOf(c.keyCode)!==-1;case"keydown":return c.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function CA(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var Kl=!1;function b7(o,c){switch(o){case"compositionend":return CA(c);case"keypress":return c.which!==32?null:(_A=!0,SA);case"textInput":return o=c.data,o===SA&&_A?null:o;default:return null}}function w7(o,c){if(Kl)return o==="compositionend"||!Px&&NA(o,c)?(o=gA(),gm=Ex=ys=null,Kl=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(c.ctrlKey||c.altKey||c.metaKey)||c.ctrlKey&&c.altKey){if(c.char&&1=c)return{node:h,offset:c-o};o=v}e:{for(;h;){if(h.nextSibling){h=h.nextSibling;break e}h=h.parentNode}h=void 0}h=RA(h)}}function $A(o,c){return o&&c?o===c?!0:o&&o.nodeType===3?!1:c&&c.nodeType===3?$A(o,c.parentNode):"contains"in o?o.contains(c):o.compareDocumentPosition?!!(o.compareDocumentPosition(c)&16):!1:!1}function IA(o){o=o!=null&&o.ownerDocument!=null&&o.ownerDocument.defaultView!=null?o.ownerDocument.defaultView:window;for(var c=pm(o.document);c instanceof o.HTMLIFrameElement;){try{var h=typeof c.contentWindow.location.href=="string"}catch{h=!1}if(h)o=c.contentWindow;else break;c=pm(o.document)}return c}function $x(o){var c=o&&o.nodeName&&o.nodeName.toLowerCase();return c&&(c==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||c==="textarea"||o.contentEditable==="true")}var A7=Ai&&"documentMode"in document&&11>=document.documentMode,Xl=null,Ix=null,pd=null,Lx=!1;function LA(o,c,h){var v=h.window===h?h.document:h.nodeType===9?h:h.ownerDocument;Lx||Xl==null||Xl!==pm(v)||(v=Xl,"selectionStart"in v&&$x(v)?v={start:v.selectionStart,end:v.selectionEnd}:(v=(v.ownerDocument&&v.ownerDocument.defaultView||window).getSelection(),v={anchorNode:v.anchorNode,anchorOffset:v.anchorOffset,focusNode:v.focusNode,focusOffset:v.focusOffset}),pd&&md(pd,v)||(pd=v,v=up(Ix,"onSelect"),0>=P,S-=P,Ja=1<<32-lr(c)+S|h<at?(ht=Ie,Ie=null):ht=Ie.sibling;var yt=de(ne,Ie,ie[at],ye);if(yt===null){Ie===null&&(Ie=ht);break}o&&Ie&&yt.alternate===null&&c(ne,Ie),Z=_(yt,Z,at),gt===null?ze=yt:gt.sibling=yt,gt=yt,Ie=ht}if(at===ie.length)return h(ne,Ie),mt&&ki(ne,at),ze;if(Ie===null){for(;atat?(ht=Ie,Ie=null):ht=Ie.sibling;var zs=de(ne,Ie,yt.value,ye);if(zs===null){Ie===null&&(Ie=ht);break}o&&Ie&&zs.alternate===null&&c(ne,Ie),Z=_(zs,Z,at),gt===null?ze=zs:gt.sibling=zs,gt=zs,Ie=ht}if(yt.done)return h(ne,Ie),mt&&ki(ne,at),ze;if(Ie===null){for(;!yt.done;at++,yt=ie.next())yt=xe(ne,yt.value,ye),yt!==null&&(Z=_(yt,Z,at),gt===null?ze=yt:gt.sibling=yt,gt=yt);return mt&&ki(ne,at),ze}for(Ie=v(Ie);!yt.done;at++,yt=ie.next())yt=me(Ie,ne,at,yt.value,ye),yt!==null&&(o&&yt.alternate!==null&&Ie.delete(yt.key===null?at:yt.key),Z=_(yt,Z,at),gt===null?ze=yt:gt.sibling=yt,gt=yt);return o&&Ie.forEach(function(KV){return c(ne,KV)}),mt&&ki(ne,at),ze}function zt(ne,Z,ie,ye){if(typeof ie=="object"&&ie!==null&&ie.type===w&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case x:e:{for(var ze=ie.key;Z!==null;){if(Z.key===ze){if(ze=ie.type,ze===w){if(Z.tag===7){h(ne,Z.sibling),ye=S(Z,ie.props.children),ye.return=ne,ne=ye;break e}}else if(Z.elementType===ze||typeof ze=="object"&&ze!==null&&ze.$$typeof===M&&Po(ze)===Z.type){h(ne,Z.sibling),ye=S(Z,ie.props),wd(ye,ie),ye.return=ne,ne=ye;break e}h(ne,Z);break}else c(ne,Z);Z=Z.sibling}ie.type===w?(ye=Eo(ie.props.children,ne.mode,ye,ie.key),ye.return=ne,ne=ye):(ye=Om(ie.type,ie.key,ie.props,null,ne.mode,ye),wd(ye,ie),ye.return=ne,ne=ye)}return P(ne);case j:e:{for(ze=ie.key;Z!==null;){if(Z.key===ze)if(Z.tag===4&&Z.stateNode.containerInfo===ie.containerInfo&&Z.stateNode.implementation===ie.implementation){h(ne,Z.sibling),ye=S(Z,ie.children||[]),ye.return=ne,ne=ye;break e}else{h(ne,Z);break}else c(ne,Z);Z=Z.sibling}ye=Wx(ie,ne.mode,ye),ye.return=ne,ne=ye}return P(ne);case M:return ie=Po(ie),zt(ne,Z,ie,ye)}if(G(ie))return Me(ne,Z,ie,ye);if(H(ie)){if(ze=H(ie),typeof ze!="function")throw Error(r(150));return ie=ze.call(ie),Fe(ne,Z,ie,ye)}if(typeof ie.then=="function")return zt(ne,Z,Rm(ie),ye);if(ie.$$typeof===O)return zt(ne,Z,Tm(ne,ie),ye);Dm(ne,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,Z!==null&&Z.tag===6?(h(ne,Z.sibling),ye=S(Z,ie),ye.return=ne,ne=ye):(h(ne,Z),ye=Hx(ie,ne.mode,ye),ye.return=ne,ne=ye),P(ne)):h(ne,Z)}return function(ne,Z,ie,ye){try{bd=0;var ze=zt(ne,Z,ie,ye);return oc=null,ze}catch(Ie){if(Ie===sc||Ie===Mm)throw Ie;var gt=Hr(29,Ie,null,ne.mode);return gt.lanes=ye,gt.return=ne,gt}finally{}}}var Do=o2(!0),l2=o2(!1),Ss=!1;function rb(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ab(o,c){o=o.updateQueue,c.updateQueue===o&&(c.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,callbacks:null})}function _s(o){return{lane:o,tag:0,payload:null,callback:null,next:null}}function Ns(o,c,h){var v=o.updateQueue;if(v===null)return null;if(v=v.shared,(jt&2)!==0){var S=v.pending;return S===null?c.next=c:(c.next=S.next,S.next=c),v.pending=c,c=Cm(o),WA(o,null,h),c}return Nm(o,v,c,h),Cm(o)}function jd(o,c,h){if(c=c.updateQueue,c!==null&&(c=c.shared,(h&4194048)!==0)){var v=c.lanes;v&=o.pendingLanes,h|=v,c.lanes=h,JE(o,h)}}function ib(o,c){var h=o.updateQueue,v=o.alternate;if(v!==null&&(v=v.updateQueue,h===v)){var S=null,_=null;if(h=h.firstBaseUpdate,h!==null){do{var P={lane:h.lane,tag:h.tag,payload:h.payload,callback:null,next:null};_===null?S=_=P:_=_.next=P,h=h.next}while(h!==null);_===null?S=_=c:_=_.next=c}else S=_=c;h={baseState:v.baseState,firstBaseUpdate:S,lastBaseUpdate:_,shared:v.shared,callbacks:v.callbacks},o.updateQueue=h;return}o=h.lastBaseUpdate,o===null?h.firstBaseUpdate=c:o.next=c,h.lastBaseUpdate=c}var sb=!1;function Sd(){if(sb){var o=ic;if(o!==null)throw o}}function _d(o,c,h,v){sb=!1;var S=o.updateQueue;Ss=!1;var _=S.firstBaseUpdate,P=S.lastBaseUpdate,F=S.shared.pending;if(F!==null){S.shared.pending=null;var X=F,se=X.next;X.next=null,P===null?_=se:P.next=se,P=X;var pe=o.alternate;pe!==null&&(pe=pe.updateQueue,F=pe.lastBaseUpdate,F!==P&&(F===null?pe.firstBaseUpdate=se:F.next=se,pe.lastBaseUpdate=X))}if(_!==null){var xe=S.baseState;P=0,pe=se=X=null,F=_;do{var de=F.lane&-536870913,me=de!==F.lane;if(me?(ft&de)===de:(v&de)===de){de!==0&&de===ac&&(sb=!0),pe!==null&&(pe=pe.next={lane:0,tag:F.tag,payload:F.payload,callback:null,next:null});e:{var Me=o,Fe=F;de=c;var zt=h;switch(Fe.tag){case 1:if(Me=Fe.payload,typeof Me=="function"){xe=Me.call(zt,xe,de);break e}xe=Me;break e;case 3:Me.flags=Me.flags&-65537|128;case 0:if(Me=Fe.payload,de=typeof Me=="function"?Me.call(zt,xe,de):Me,de==null)break e;xe=p({},xe,de);break e;case 2:Ss=!0}}de=F.callback,de!==null&&(o.flags|=64,me&&(o.flags|=8192),me=S.callbacks,me===null?S.callbacks=[de]:me.push(de))}else me={lane:de,tag:F.tag,payload:F.payload,callback:F.callback,next:null},pe===null?(se=pe=me,X=xe):pe=pe.next=me,P|=de;if(F=F.next,F===null){if(F=S.shared.pending,F===null)break;me=F,F=me.next,me.next=null,S.lastBaseUpdate=me,S.shared.pending=null}}while(!0);pe===null&&(X=xe),S.baseState=X,S.firstBaseUpdate=se,S.lastBaseUpdate=pe,_===null&&(S.shared.lanes=0),Ts|=P,o.lanes=P,o.memoizedState=xe}}function c2(o,c){if(typeof o!="function")throw Error(r(191,o));o.call(c)}function u2(o,c){var h=o.callbacks;if(h!==null)for(o.callbacks=null,o=0;o_?_:8;var P=L.T,F={};L.T=F,Nb(o,!1,c,h);try{var X=S(),se=L.S;if(se!==null&&se(F,X),X!==null&&typeof X=="object"&&typeof X.then=="function"){var pe=L7(X,v);Od(o,c,pe,Kr(o))}else Od(o,c,v,Kr(o))}catch(xe){Od(o,c,{then:function(){},status:"rejected",reason:xe},Kr())}finally{D.p=_,P!==null&&F.types!==null&&(P.types=F.types),L.T=P}}function H7(){}function Sb(o,c,h,v){if(o.tag!==5)throw Error(r(476));var S=F2(o).queue;q2(o,S,c,U,h===null?H7:function(){return U2(o),h(v)})}function F2(o){var c=o.memoizedState;if(c!==null)return c;c={memoizedState:U,baseState:U,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Di,lastRenderedState:U},next:null};var h={};return c.next={memoizedState:h,baseState:h,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Di,lastRenderedState:h},next:null},o.memoizedState=c,o=o.alternate,o!==null&&(o.memoizedState=c),c}function U2(o){var c=F2(o);c.next===null&&(c=o.alternate.memoizedState),Od(o,c.next.queue,{},Kr())}function _b(){return tr(Hd)}function H2(){return jn().memoizedState}function W2(){return jn().memoizedState}function W7(o){for(var c=o.return;c!==null;){switch(c.tag){case 24:case 3:var h=Kr();o=_s(h);var v=Ns(c,o,h);v!==null&&(Mr(v,c,h),jd(v,c,h)),c={cache:Jx()},o.payload=c;return}c=c.return}}function V7(o,c,h){var v=Kr();h={lane:v,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null},Wm(o)?G2(c,h):(h=Fx(o,c,h,v),h!==null&&(Mr(h,o,v),Y2(h,c,v)))}function V2(o,c,h){var v=Kr();Od(o,c,h,v)}function Od(o,c,h,v){var S={lane:v,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null};if(Wm(o))G2(c,S);else{var _=o.alternate;if(o.lanes===0&&(_===null||_.lanes===0)&&(_=c.lastRenderedReducer,_!==null))try{var P=c.lastRenderedState,F=_(P,h);if(S.hasEagerState=!0,S.eagerState=F,Ur(F,P))return Nm(o,c,S,0),Ht===null&&_m(),!1}catch{}finally{}if(h=Fx(o,c,S,v),h!==null)return Mr(h,o,v),Y2(h,c,v),!0}return!1}function Nb(o,c,h,v){if(v={lane:2,revertLane:r0(),gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null},Wm(o)){if(c)throw Error(r(479))}else c=Fx(o,h,v,2),c!==null&&Mr(c,o,2)}function Wm(o){var c=o.alternate;return o===et||c!==null&&c===et}function G2(o,c){cc=Lm=!0;var h=o.pending;h===null?c.next=c:(c.next=h.next,h.next=c),o.pending=c}function Y2(o,c,h){if((h&4194048)!==0){var v=c.lanes;v&=o.pendingLanes,h|=v,c.lanes=h,JE(o,h)}}var Ed={readContext:tr,use:qm,useCallback:gn,useContext:gn,useEffect:gn,useImperativeHandle:gn,useLayoutEffect:gn,useInsertionEffect:gn,useMemo:gn,useReducer:gn,useRef:gn,useState:gn,useDebugValue:gn,useDeferredValue:gn,useTransition:gn,useSyncExternalStore:gn,useId:gn,useHostTransitionStatus:gn,useFormState:gn,useActionState:gn,useOptimistic:gn,useMemoCache:gn,useCacheRefresh:gn};Ed.useEffectEvent=gn;var K2={readContext:tr,use:qm,useCallback:function(o,c){return wr().memoizedState=[o,c===void 0?null:c],o},useContext:tr,useEffect:M2,useImperativeHandle:function(o,c,h){h=h!=null?h.concat([o]):null,Um(4194308,4,$2.bind(null,c,o),h)},useLayoutEffect:function(o,c){return Um(4194308,4,o,c)},useInsertionEffect:function(o,c){Um(4,2,o,c)},useMemo:function(o,c){var h=wr();c=c===void 0?null:c;var v=o();if($o){Qa(!0);try{o()}finally{Qa(!1)}}return h.memoizedState=[v,c],v},useReducer:function(o,c,h){var v=wr();if(h!==void 0){var S=h(c);if($o){Qa(!0);try{h(c)}finally{Qa(!1)}}}else S=c;return v.memoizedState=v.baseState=S,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:S},v.queue=o,o=o.dispatch=V7.bind(null,et,o),[v.memoizedState,o]},useRef:function(o){var c=wr();return o={current:o},c.memoizedState=o},useState:function(o){o=yb(o);var c=o.queue,h=V2.bind(null,et,c);return c.dispatch=h,[o.memoizedState,h]},useDebugValue:wb,useDeferredValue:function(o,c){var h=wr();return jb(h,o,c)},useTransition:function(){var o=yb(!1);return o=q2.bind(null,et,o.queue,!0,!1),wr().memoizedState=o,[!1,o]},useSyncExternalStore:function(o,c,h){var v=et,S=wr();if(mt){if(h===void 0)throw Error(r(407));h=h()}else{if(h=c(),Ht===null)throw Error(r(349));(ft&127)!==0||v2(v,c,h)}S.memoizedState=h;var _={value:h,getSnapshot:c};return S.queue=_,M2(y2.bind(null,v,_,o),[o]),v.flags|=2048,dc(9,{destroy:void 0},g2.bind(null,v,_,h,c),null),h},useId:function(){var o=wr(),c=Ht.identifierPrefix;if(mt){var h=ei,v=Ja;h=(v&~(1<<32-lr(v)-1)).toString(32)+h,c="_"+c+"R_"+h,h=Bm++,0<\/script>",_=_.removeChild(_.firstChild);break;case"select":_=typeof v.is=="string"?P.createElement("select",{is:v.is}):P.createElement("select"),v.multiple?_.multiple=!0:v.size&&(_.size=v.size);break;default:_=typeof v.is=="string"?P.createElement(S,{is:v.is}):P.createElement(S)}}_[Jn]=c,_[Cr]=v;e:for(P=c.child;P!==null;){if(P.tag===5||P.tag===6)_.appendChild(P.stateNode);else if(P.tag!==4&&P.tag!==27&&P.child!==null){P.child.return=P,P=P.child;continue}if(P===c)break e;for(;P.sibling===null;){if(P.return===null||P.return===c)break e;P=P.return}P.sibling.return=P.return,P=P.sibling}c.stateNode=_;e:switch(rr(_,S,v),S){case"button":case"input":case"select":case"textarea":v=!!v.autoFocus;break e;case"img":v=!0;break e;default:v=!1}v&&Ii(c)}}return en(c),Bb(c,c.type,o===null?null:o.memoizedProps,c.pendingProps,h),null;case 6:if(o&&c.stateNode!=null)o.memoizedProps!==v&&Ii(c);else{if(typeof v!="string"&&c.stateNode===null)throw Error(r(166));if(o=ge.current,nc(c)){if(o=c.stateNode,h=c.memoizedProps,v=null,S=er,S!==null)switch(S.tag){case 27:case 5:v=S.memoizedProps}o[Jn]=c,o=!!(o.nodeValue===h||v!==null&&v.suppressHydrationWarning===!0||mk(o.nodeValue,h)),o||ws(c,!0)}else o=dp(o).createTextNode(v),o[Jn]=c,c.stateNode=o}return en(c),null;case 31:if(h=c.memoizedState,o===null||o.memoizedState!==null){if(v=nc(c),h!==null){if(o===null){if(!v)throw Error(r(318));if(o=c.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(r(557));o[Jn]=c}else Ao(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;en(c),o=!1}else h=Kx(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=h),o=!0;if(!o)return c.flags&256?(Vr(c),c):(Vr(c),null);if((c.flags&128)!==0)throw Error(r(558))}return en(c),null;case 13:if(v=c.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(S=nc(c),v!==null&&v.dehydrated!==null){if(o===null){if(!S)throw Error(r(318));if(S=c.memoizedState,S=S!==null?S.dehydrated:null,!S)throw Error(r(317));S[Jn]=c}else Ao(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;en(c),S=!1}else S=Kx(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=S),S=!0;if(!S)return c.flags&256?(Vr(c),c):(Vr(c),null)}return Vr(c),(c.flags&128)!==0?(c.lanes=h,c):(h=v!==null,o=o!==null&&o.memoizedState!==null,h&&(v=c.child,S=null,v.alternate!==null&&v.alternate.memoizedState!==null&&v.alternate.memoizedState.cachePool!==null&&(S=v.alternate.memoizedState.cachePool.pool),_=null,v.memoizedState!==null&&v.memoizedState.cachePool!==null&&(_=v.memoizedState.cachePool.pool),_!==S&&(v.flags|=2048)),h!==o&&h&&(c.child.flags|=8192),Xm(c,c.updateQueue),en(c),null);case 4:return re(),o===null&&o0(c.stateNode.containerInfo),en(c),null;case 10:return Pi(c.type),en(c),null;case 19:if(z(wn),v=c.memoizedState,v===null)return en(c),null;if(S=(c.flags&128)!==0,_=v.rendering,_===null)if(S)Td(v,!1);else{if(yn!==0||o!==null&&(o.flags&128)!==0)for(o=c.child;o!==null;){if(_=Im(o),_!==null){for(c.flags|=128,Td(v,!1),o=_.updateQueue,c.updateQueue=o,Xm(c,o),c.subtreeFlags=0,o=h,h=c.child;h!==null;)VA(h,o),h=h.sibling;return Y(wn,wn.current&1|2),mt&&ki(c,v.treeForkCount),c.child}o=o.sibling}v.tail!==null&&ue()>tp&&(c.flags|=128,S=!0,Td(v,!1),c.lanes=4194304)}else{if(!S)if(o=Im(_),o!==null){if(c.flags|=128,S=!0,o=o.updateQueue,c.updateQueue=o,Xm(c,o),Td(v,!0),v.tail===null&&v.tailMode==="hidden"&&!_.alternate&&!mt)return en(c),null}else 2*ue()-v.renderingStartTime>tp&&h!==536870912&&(c.flags|=128,S=!0,Td(v,!1),c.lanes=4194304);v.isBackwards?(_.sibling=c.child,c.child=_):(o=v.last,o!==null?o.sibling=_:c.child=_,v.last=_)}return v.tail!==null?(o=v.tail,v.rendering=o,v.tail=o.sibling,v.renderingStartTime=ue(),o.sibling=null,h=wn.current,Y(wn,S?h&1|2:h&1),mt&&ki(c,v.treeForkCount),o):(en(c),null);case 22:case 23:return Vr(c),lb(),v=c.memoizedState!==null,o!==null?o.memoizedState!==null!==v&&(c.flags|=8192):v&&(c.flags|=8192),v?(h&536870912)!==0&&(c.flags&128)===0&&(en(c),c.subtreeFlags&6&&(c.flags|=8192)):en(c),h=c.updateQueue,h!==null&&Xm(c,h.retryQueue),h=null,o!==null&&o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(h=o.memoizedState.cachePool.pool),v=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(v=c.memoizedState.cachePool.pool),v!==h&&(c.flags|=2048),o!==null&&z(Mo),null;case 24:return h=null,o!==null&&(h=o.memoizedState.cache),c.memoizedState.cache!==h&&(c.flags|=2048),Pi(_n),en(c),null;case 25:return null;case 30:return null}throw Error(r(156,c.tag))}function Z7(o,c){switch(Gx(c),c.tag){case 1:return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 3:return Pi(_n),re(),o=c.flags,(o&65536)!==0&&(o&128)===0?(c.flags=o&-65537|128,c):null;case 26:case 27:case 5:return je(c),null;case 31:if(c.memoizedState!==null){if(Vr(c),c.alternate===null)throw Error(r(340));Ao()}return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 13:if(Vr(c),o=c.memoizedState,o!==null&&o.dehydrated!==null){if(c.alternate===null)throw Error(r(340));Ao()}return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 19:return z(wn),null;case 4:return re(),null;case 10:return Pi(c.type),null;case 22:case 23:return Vr(c),lb(),o!==null&&z(Mo),o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 24:return Pi(_n),null;case 25:return null;default:return null}}function xT(o,c){switch(Gx(c),c.tag){case 3:Pi(_n),re();break;case 26:case 27:case 5:je(c);break;case 4:re();break;case 31:c.memoizedState!==null&&Vr(c);break;case 13:Vr(c);break;case 19:z(wn);break;case 10:Pi(c.type);break;case 22:case 23:Vr(c),lb(),o!==null&&z(Mo);break;case 24:Pi(_n)}}function kd(o,c){try{var h=c.updateQueue,v=h!==null?h.lastEffect:null;if(v!==null){var S=v.next;h=S;do{if((h.tag&o)===o){v=void 0;var _=h.create,P=h.inst;v=_(),P.destroy=v}h=h.next}while(h!==S)}}catch(F){Mt(c,c.return,F)}}function Es(o,c,h){try{var v=c.updateQueue,S=v!==null?v.lastEffect:null;if(S!==null){var _=S.next;v=_;do{if((v.tag&o)===o){var P=v.inst,F=P.destroy;if(F!==void 0){P.destroy=void 0,S=c;var X=h,se=F;try{se()}catch(pe){Mt(S,X,pe)}}}v=v.next}while(v!==_)}}catch(pe){Mt(c,c.return,pe)}}function bT(o){var c=o.updateQueue;if(c!==null){var h=o.stateNode;try{u2(c,h)}catch(v){Mt(o,o.return,v)}}}function wT(o,c,h){h.props=Io(o.type,o.memoizedProps),h.state=o.memoizedState;try{h.componentWillUnmount()}catch(v){Mt(o,c,v)}}function Md(o,c){try{var h=o.ref;if(h!==null){switch(o.tag){case 26:case 27:case 5:var v=o.stateNode;break;case 30:v=o.stateNode;break;default:v=o.stateNode}typeof h=="function"?o.refCleanup=h(v):h.current=v}}catch(S){Mt(o,c,S)}}function ti(o,c){var h=o.ref,v=o.refCleanup;if(h!==null)if(typeof v=="function")try{v()}catch(S){Mt(o,c,S)}finally{o.refCleanup=null,o=o.alternate,o!=null&&(o.refCleanup=null)}else if(typeof h=="function")try{h(null)}catch(S){Mt(o,c,S)}else h.current=null}function jT(o){var c=o.type,h=o.memoizedProps,v=o.stateNode;try{e:switch(c){case"button":case"input":case"select":case"textarea":h.autoFocus&&v.focus();break e;case"img":h.src?v.src=h.src:h.srcSet&&(v.srcset=h.srcSet)}}catch(S){Mt(o,o.return,S)}}function zb(o,c,h){try{var v=o.stateNode;xV(v,o.type,h,c),v[Cr]=c}catch(S){Mt(o,o.return,S)}}function ST(o){return o.tag===5||o.tag===3||o.tag===26||o.tag===27&&Ds(o.type)||o.tag===4}function qb(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||ST(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.tag===27&&Ds(o.type)||o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function Fb(o,c,h){var v=o.tag;if(v===5||v===6)o=o.stateNode,c?(h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h).insertBefore(o,c):(c=h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h,c.appendChild(o),h=h._reactRootContainer,h!=null||c.onclick!==null||(c.onclick=Ei));else if(v!==4&&(v===27&&Ds(o.type)&&(h=o.stateNode,c=null),o=o.child,o!==null))for(Fb(o,c,h),o=o.sibling;o!==null;)Fb(o,c,h),o=o.sibling}function Zm(o,c,h){var v=o.tag;if(v===5||v===6)o=o.stateNode,c?h.insertBefore(o,c):h.appendChild(o);else if(v!==4&&(v===27&&Ds(o.type)&&(h=o.stateNode),o=o.child,o!==null))for(Zm(o,c,h),o=o.sibling;o!==null;)Zm(o,c,h),o=o.sibling}function _T(o){var c=o.stateNode,h=o.memoizedProps;try{for(var v=o.type,S=c.attributes;S.length;)c.removeAttributeNode(S[0]);rr(c,v,h),c[Jn]=o,c[Cr]=h}catch(_){Mt(o,o.return,_)}}var Li=!1,On=!1,Ub=!1,NT=typeof WeakSet=="function"?WeakSet:Set,Un=null;function Q7(o,c){if(o=o.containerInfo,u0=yp,o=IA(o),$x(o)){if("selectionStart"in o)var h={start:o.selectionStart,end:o.selectionEnd};else e:{h=(h=o.ownerDocument)&&h.defaultView||window;var v=h.getSelection&&h.getSelection();if(v&&v.rangeCount!==0){h=v.anchorNode;var S=v.anchorOffset,_=v.focusNode;v=v.focusOffset;try{h.nodeType,_.nodeType}catch{h=null;break e}var P=0,F=-1,X=-1,se=0,pe=0,xe=o,de=null;t:for(;;){for(var me;xe!==h||S!==0&&xe.nodeType!==3||(F=P+S),xe!==_||v!==0&&xe.nodeType!==3||(X=P+v),xe.nodeType===3&&(P+=xe.nodeValue.length),(me=xe.firstChild)!==null;)de=xe,xe=me;for(;;){if(xe===o)break t;if(de===h&&++se===S&&(F=P),de===_&&++pe===v&&(X=P),(me=xe.nextSibling)!==null)break;xe=de,de=xe.parentNode}xe=me}h=F===-1||X===-1?null:{start:F,end:X}}else h=null}h=h||{start:0,end:0}}else h=null;for(d0={focusedElem:o,selectionRange:h},yp=!1,Un=c;Un!==null;)if(c=Un,o=c.child,(c.subtreeFlags&1028)!==0&&o!==null)o.return=c,Un=o;else for(;Un!==null;){switch(c=Un,_=c.alternate,o=c.flags,c.tag){case 0:if((o&4)!==0&&(o=c.updateQueue,o=o!==null?o.events:null,o!==null))for(h=0;h title"))),rr(_,v,h),_[Jn]=o,Fn(_),v=_;break e;case"link":var P=kk("link","href",S).get(v+(h.href||""));if(P){for(var F=0;Fzt&&(P=zt,zt=Fe,Fe=P);var ne=DA(F,Fe),Z=DA(F,zt);if(ne&&Z&&(me.rangeCount!==1||me.anchorNode!==ne.node||me.anchorOffset!==ne.offset||me.focusNode!==Z.node||me.focusOffset!==Z.offset)){var ie=xe.createRange();ie.setStart(ne.node,ne.offset),me.removeAllRanges(),Fe>zt?(me.addRange(ie),me.extend(Z.node,Z.offset)):(ie.setEnd(Z.node,Z.offset),me.addRange(ie))}}}}for(xe=[],me=F;me=me.parentNode;)me.nodeType===1&&xe.push({element:me,left:me.scrollLeft,top:me.scrollTop});for(typeof F.focus=="function"&&F.focus(),F=0;Fh?32:h,L.T=null,h=Xb,Xb=null;var _=Ms,P=Ui;if(Pn=0,vc=Ms=null,Ui=0,(jt&6)!==0)throw Error(r(331));var F=jt;if(jt|=4,$T(_.current),PT(_,_.current,P,h),jt=F,Ld(0,!1),br&&typeof br.onPostCommitFiberRoot=="function")try{br.onPostCommitFiberRoot(bo,_)}catch{}return!0}finally{D.p=S,L.T=v,ek(o,c)}}function nk(o,c,h){c=ha(h,c),c=Ab(o.stateNode,c,2),o=Ns(o,c,2),o!==null&&(ad(o,2),ni(o))}function Mt(o,c,h){if(o.tag===3)nk(o,o,h);else for(;c!==null;){if(c.tag===3){nk(c,o,h);break}else if(c.tag===1){var v=c.stateNode;if(typeof c.type.getDerivedStateFromError=="function"||typeof v.componentDidCatch=="function"&&(ks===null||!ks.has(v))){o=ha(h,o),h=rT(2),v=Ns(c,h,2),v!==null&&(aT(h,v,c,o),ad(v,2),ni(v));break}}c=c.return}}function e0(o,c,h){var v=o.pingCache;if(v===null){v=o.pingCache=new tV;var S=new Set;v.set(c,S)}else S=v.get(c),S===void 0&&(S=new Set,v.set(c,S));S.has(h)||(Vb=!0,S.add(h),o=sV.bind(null,o,c,h),c.then(o,o))}function sV(o,c,h){var v=o.pingCache;v!==null&&v.delete(c),o.pingedLanes|=o.suspendedLanes&h,o.warmLanes&=~h,Ht===o&&(ft&h)===h&&(yn===4||yn===3&&(ft&62914560)===ft&&300>ue()-ep?(jt&2)===0&&gc(o,0):Gb|=h,pc===ft&&(pc=0)),ni(o)}function rk(o,c){c===0&&(c=Bl()),o=Oo(o,c),o!==null&&(ad(o,c),ni(o))}function oV(o){var c=o.memoizedState,h=0;c!==null&&(h=c.retryLane),rk(o,h)}function lV(o,c){var h=0;switch(o.tag){case 31:case 13:var v=o.stateNode,S=o.memoizedState;S!==null&&(h=S.retryLane);break;case 19:v=o.stateNode;break;case 22:v=o.stateNode._retryCache;break;default:throw Error(r(314))}v!==null&&v.delete(c),rk(o,h)}function cV(o,c){return St(o,c)}var op=null,xc=null,t0=!1,lp=!1,n0=!1,Rs=0;function ni(o){o!==xc&&o.next===null&&(xc===null?op=xc=o:xc=xc.next=o),lp=!0,t0||(t0=!0,dV())}function Ld(o,c){if(!n0&&lp){n0=!0;do for(var h=!1,v=op;v!==null;){if(o!==0){var S=v.pendingLanes;if(S===0)var _=0;else{var P=v.suspendedLanes,F=v.pingedLanes;_=(1<<31-lr(42|o)+1)-1,_&=S&~(P&~F),_=_&201326741?_&201326741|1:_?_|2:0}_!==0&&(h=!0,ok(v,_))}else _=ft,_=Ll(v,v===Ht?_:0,v.cancelPendingCommit!==null||v.timeoutHandle!==-1),(_&3)===0||wo(v,_)||(h=!0,ok(v,_));v=v.next}while(h);n0=!1}}function uV(){ak()}function ak(){lp=t0=!1;var o=0;Rs!==0&&wV()&&(o=Rs);for(var c=ue(),h=null,v=op;v!==null;){var S=v.next,_=ik(v,c);_===0?(v.next=null,h===null?op=S:h.next=S,S===null&&(xc=h)):(h=v,(o!==0||(_&3)!==0)&&(lp=!0)),v=S}Pn!==0&&Pn!==5||Ld(o),Rs!==0&&(Rs=0)}function ik(o,c){for(var h=o.suspendedLanes,v=o.pingedLanes,S=o.expirationTimes,_=o.pendingLanes&-62914561;0<_;){var P=31-lr(_),F=1<F)break;var pe=X.transferSize,xe=X.initiatorType;pe&&pk(xe)&&(X=X.responseEnd,P+=pe*(X"u"?null:document;function Ok(o,c,h){var v=bc;if(v&&typeof c=="string"&&c){var S=da(c);S='link[rel="'+o+'"][href="'+S+'"]',typeof h=="string"&&(S+='[crossorigin="'+h+'"]'),Ck.has(S)||(Ck.add(S),o={rel:o,crossOrigin:h,href:c},v.querySelector(S)===null&&(c=v.createElement("link"),rr(c,"link",o),Fn(c),v.head.appendChild(c)))}}function TV(o){Hi.D(o),Ok("dns-prefetch",o,null)}function kV(o,c){Hi.C(o,c),Ok("preconnect",o,c)}function MV(o,c,h){Hi.L(o,c,h);var v=bc;if(v&&o&&c){var S='link[rel="preload"][as="'+da(c)+'"]';c==="image"&&h&&h.imageSrcSet?(S+='[imagesrcset="'+da(h.imageSrcSet)+'"]',typeof h.imageSizes=="string"&&(S+='[imagesizes="'+da(h.imageSizes)+'"]')):S+='[href="'+da(o)+'"]';var _=S;switch(c){case"style":_=wc(o);break;case"script":_=jc(o)}xa.has(_)||(o=p({rel:"preload",href:c==="image"&&h&&h.imageSrcSet?void 0:o,as:c},h),xa.set(_,o),v.querySelector(S)!==null||c==="style"&&v.querySelector(Fd(_))||c==="script"&&v.querySelector(Ud(_))||(c=v.createElement("link"),rr(c,"link",o),Fn(c),v.head.appendChild(c)))}}function PV(o,c){Hi.m(o,c);var h=bc;if(h&&o){var v=c&&typeof c.as=="string"?c.as:"script",S='link[rel="modulepreload"][as="'+da(v)+'"][href="'+da(o)+'"]',_=S;switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":_=jc(o)}if(!xa.has(_)&&(o=p({rel:"modulepreload",href:o},c),xa.set(_,o),h.querySelector(S)===null)){switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(h.querySelector(Ud(_)))return}v=h.createElement("link"),rr(v,"link",o),Fn(v),h.head.appendChild(v)}}}function RV(o,c,h){Hi.S(o,c,h);var v=bc;if(v&&o){var S=Ul(v).hoistableStyles,_=wc(o);c=c||"default";var P=S.get(_);if(!P){var F={loading:0,preload:null};if(P=v.querySelector(Fd(_)))F.loading=5;else{o=p({rel:"stylesheet",href:o,"data-precedence":c},h),(h=xa.get(_))&&y0(o,h);var X=P=v.createElement("link");Fn(X),rr(X,"link",o),X._p=new Promise(function(se,pe){X.onload=se,X.onerror=pe}),X.addEventListener("load",function(){F.loading|=1}),X.addEventListener("error",function(){F.loading|=2}),F.loading|=4,hp(P,c,v)}P={type:"stylesheet",instance:P,count:1,state:F},S.set(_,P)}}}function DV(o,c){Hi.X(o,c);var h=bc;if(h&&o){var v=Ul(h).hoistableScripts,S=jc(o),_=v.get(S);_||(_=h.querySelector(Ud(S)),_||(o=p({src:o,async:!0},c),(c=xa.get(S))&&x0(o,c),_=h.createElement("script"),Fn(_),rr(_,"link",o),h.head.appendChild(_)),_={type:"script",instance:_,count:1,state:null},v.set(S,_))}}function $V(o,c){Hi.M(o,c);var h=bc;if(h&&o){var v=Ul(h).hoistableScripts,S=jc(o),_=v.get(S);_||(_=h.querySelector(Ud(S)),_||(o=p({src:o,async:!0,type:"module"},c),(c=xa.get(S))&&x0(o,c),_=h.createElement("script"),Fn(_),rr(_,"link",o),h.head.appendChild(_)),_={type:"script",instance:_,count:1,state:null},v.set(S,_))}}function Ek(o,c,h,v){var S=(S=ge.current)?fp(S):null;if(!S)throw Error(r(446));switch(o){case"meta":case"title":return null;case"style":return typeof h.precedence=="string"&&typeof h.href=="string"?(c=wc(h.href),h=Ul(S).hoistableStyles,v=h.get(c),v||(v={type:"style",instance:null,count:0,state:null},h.set(c,v)),v):{type:"void",instance:null,count:0,state:null};case"link":if(h.rel==="stylesheet"&&typeof h.href=="string"&&typeof h.precedence=="string"){o=wc(h.href);var _=Ul(S).hoistableStyles,P=_.get(o);if(P||(S=S.ownerDocument||S,P={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},_.set(o,P),(_=S.querySelector(Fd(o)))&&!_._p&&(P.instance=_,P.state.loading=5),xa.has(o)||(h={rel:"preload",as:"style",href:h.href,crossOrigin:h.crossOrigin,integrity:h.integrity,media:h.media,hrefLang:h.hrefLang,referrerPolicy:h.referrerPolicy},xa.set(o,h),_||IV(S,o,h,P.state))),c&&v===null)throw Error(r(528,""));return P}if(c&&v!==null)throw Error(r(529,""));return null;case"script":return c=h.async,h=h.src,typeof h=="string"&&c&&typeof c!="function"&&typeof c!="symbol"?(c=jc(h),h=Ul(S).hoistableScripts,v=h.get(c),v||(v={type:"script",instance:null,count:0,state:null},h.set(c,v)),v):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,o))}}function wc(o){return'href="'+da(o)+'"'}function Fd(o){return'link[rel="stylesheet"]['+o+"]"}function Ak(o){return p({},o,{"data-precedence":o.precedence,precedence:null})}function IV(o,c,h,v){o.querySelector('link[rel="preload"][as="style"]['+c+"]")?v.loading=1:(c=o.createElement("link"),v.preload=c,c.addEventListener("load",function(){return v.loading|=1}),c.addEventListener("error",function(){return v.loading|=2}),rr(c,"link",h),Fn(c),o.head.appendChild(c))}function jc(o){return'[src="'+da(o)+'"]'}function Ud(o){return"script[async]"+o}function Tk(o,c,h){if(c.count++,c.instance===null)switch(c.type){case"style":var v=o.querySelector('style[data-href~="'+da(h.href)+'"]');if(v)return c.instance=v,Fn(v),v;var S=p({},h,{"data-href":h.href,"data-precedence":h.precedence,href:null,precedence:null});return v=(o.ownerDocument||o).createElement("style"),Fn(v),rr(v,"style",S),hp(v,h.precedence,o),c.instance=v;case"stylesheet":S=wc(h.href);var _=o.querySelector(Fd(S));if(_)return c.state.loading|=4,c.instance=_,Fn(_),_;v=Ak(h),(S=xa.get(S))&&y0(v,S),_=(o.ownerDocument||o).createElement("link"),Fn(_);var P=_;return P._p=new Promise(function(F,X){P.onload=F,P.onerror=X}),rr(_,"link",v),c.state.loading|=4,hp(_,h.precedence,o),c.instance=_;case"script":return _=jc(h.src),(S=o.querySelector(Ud(_)))?(c.instance=S,Fn(S),S):(v=h,(S=xa.get(_))&&(v=p({},h),x0(v,S)),o=o.ownerDocument||o,S=o.createElement("script"),Fn(S),rr(S,"link",v),o.head.appendChild(S),c.instance=S);case"void":return null;default:throw Error(r(443,c.type))}else c.type==="stylesheet"&&(c.state.loading&4)===0&&(v=c.instance,c.state.loading|=4,hp(v,h.precedence,o));return c.instance}function hp(o,c,h){for(var v=h.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),S=v.length?v[v.length-1]:null,_=S,P=0;P title"):null)}function LV(o,c,h){if(h===1||c.itemProp!=null)return!1;switch(o){case"meta":case"title":return!0;case"style":if(typeof c.precedence!="string"||typeof c.href!="string"||c.href==="")break;return!0;case"link":if(typeof c.rel!="string"||typeof c.href!="string"||c.href===""||c.onLoad||c.onError)break;switch(c.rel){case"stylesheet":return o=c.disabled,typeof c.precedence=="string"&&o==null;default:return!0}case"script":if(c.async&&typeof c.async!="function"&&typeof c.async!="symbol"&&!c.onLoad&&!c.onError&&c.src&&typeof c.src=="string")return!0}return!1}function Pk(o){return!(o.type==="stylesheet"&&(o.state.loading&3)===0)}function BV(o,c,h,v){if(h.type==="stylesheet"&&(typeof v.media!="string"||matchMedia(v.media).matches!==!1)&&(h.state.loading&4)===0){if(h.instance===null){var S=wc(v.href),_=c.querySelector(Fd(S));if(_){c=_._p,c!==null&&typeof c=="object"&&typeof c.then=="function"&&(o.count++,o=pp.bind(o),c.then(o,o)),h.state.loading|=4,h.instance=_,Fn(_);return}_=c.ownerDocument||c,v=Ak(v),(S=xa.get(S))&&y0(v,S),_=_.createElement("link"),Fn(_);var P=_;P._p=new Promise(function(F,X){P.onload=F,P.onerror=X}),rr(_,"link",v),h.instance=_}o.stylesheets===null&&(o.stylesheets=new Map),o.stylesheets.set(h,c),(c=h.state.preload)&&(h.state.loading&3)===0&&(o.count++,h=pp.bind(o),c.addEventListener("load",h),c.addEventListener("error",h))}}var b0=0;function zV(o,c){return o.stylesheets&&o.count===0&&gp(o,o.stylesheets),0b0?50:800)+c);return o.unsuspend=h,function(){o.unsuspend=null,clearTimeout(v),clearTimeout(S)}}:null}function pp(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)gp(this,this.stylesheets);else if(this.unsuspend){var o=this.unsuspend;this.unsuspend=null,o()}}}var vp=null;function gp(o,c){o.stylesheets=null,o.unsuspend!==null&&(o.count++,vp=new Map,c.forEach(qV,o),vp=null,pp.call(o))}function qV(o,c){if(!(c.state.loading&4)){var h=vp.get(o);if(h)var v=h.get(null);else{h=new Map,vp.set(o,h);for(var S=o.querySelectorAll("link[data-precedence],style[data-precedence]"),_=0;_"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),A0.exports=rG(),A0.exports}var iG=aG();const v_=new WeakMap,sG=new WeakMap,vv={current:[]};let P0=!1,jf=0;const hf=new Set,Cp=new Map;function e5(e){for(const t of e){if(vv.current.includes(t))continue;vv.current.push(t),t.recompute();const n=sG.get(t);if(n)for(const r of n){const a=v_.get(r);a?.length&&e5(a)}}}function oG(e){const t={prevVal:e.prevState,currentVal:e.state};for(const n of e.listeners)n(t)}function lG(e){const t={prevVal:e.prevState,currentVal:e.state};for(const n of e.listeners)n(t)}function t5(e){if(jf>0&&!Cp.has(e)&&Cp.set(e,e.prevState),hf.add(e),!(jf>0)&&!P0)try{for(P0=!0;hf.size>0;){const t=Array.from(hf);hf.clear();for(const n of t){const r=Cp.get(n)??n.prevState;n.prevState=r,oG(n)}for(const n of t){const r=v_.get(n);r&&(vv.current.push(n),e5(r))}for(const n of t){const r=v_.get(n);if(r)for(const a of r)lG(a)}}}finally{P0=!1,vv.current=[],Cp.clear()}}function Sf(e){jf++;try{e()}finally{if(jf--,jf===0){const t=hf.values().next().value;t&&t5(t)}}}function cG(e){return typeof e=="function"}class uG{constructor(t,n){this.listeners=new Set,this.subscribe=r=>{var a,s;this.listeners.add(r);const l=(s=(a=this.options)==null?void 0:a.onSubscribe)==null?void 0:s.call(a,r,this);return()=>{this.listeners.delete(r),l?.()}},this.prevState=t,this.state=t,this.options=n}setState(t){var n,r,a;this.prevState=this.state,(n=this.options)!=null&&n.updateFn?this.state=this.options.updateFn(this.prevState)(t):cG(t)?this.state=t(this.prevState):this.state=t,(a=(r=this.options)==null?void 0:r.onUpdate)==null||a.call(r),t5(this)}}const Ks="__TSR_index",rM="popstate",aM="beforeunload";function dG(e){let t=e.getLocation();const n=new Set,r=l=>{t=e.getLocation(),n.forEach(u=>u({location:t,action:l}))},a=l=>{e.notifyOnIndexChange??!0?r(l):t=e.getLocation()},s=async({task:l,navigateOpts:u,...d})=>{if(u?.ignoreBlocker??!1){l();return}const m=e.getBlockers?.()??[],p=d.type==="PUSH"||d.type==="REPLACE";if(typeof document<"u"&&m.length&&p)for(const g of m){const x=gv(d.path,d.state);if(await g.blockerFn({currentLocation:t,nextLocation:x,action:d.type})){e.onBlocked?.();return}}l()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:l=>(n.add(l),()=>{n.delete(l)}),push:(l,u,d)=>{const f=t.state[Ks];u=iM(f+1,u),s({task:()=>{e.pushState(l,u),r({type:"PUSH"})},navigateOpts:d,type:"PUSH",path:l,state:u})},replace:(l,u,d)=>{const f=t.state[Ks];u=iM(f,u),s({task:()=>{e.replaceState(l,u),r({type:"REPLACE"})},navigateOpts:d,type:"REPLACE",path:l,state:u})},go:(l,u)=>{s({task:()=>{e.go(l),a({type:"GO",index:l})},navigateOpts:u,type:"GO"})},back:l=>{s({task:()=>{e.back(l?.ignoreBlocker??!1),a({type:"BACK"})},navigateOpts:l,type:"BACK"})},forward:l=>{s({task:()=>{e.forward(l?.ignoreBlocker??!1),a({type:"FORWARD"})},navigateOpts:l,type:"FORWARD"})},canGoBack:()=>t.state[Ks]!==0,createHref:l=>e.createHref(l),block:l=>{if(!e.setBlockers)return()=>{};const u=e.getBlockers?.()??[];return e.setBlockers([...u,l]),()=>{const d=e.getBlockers?.()??[];e.setBlockers?.(d.filter(f=>f!==l))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function iM(e,t){t||(t={});const n=EC();return{...t,key:n,__TSR_key:n,[Ks]:e}}function fG(e){const t=typeof document<"u"?window:void 0,n=t.history.pushState,r=t.history.replaceState;let a=[];const s=()=>a,l=M=>a=M,u=(M=>M),d=(()=>gv(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){const M=EC();t.history.replaceState({[Ks]:0,key:M,__TSR_key:M},"")}let f=d(),m,p=!1,g=!1,x=!1,j=!1;const w=()=>f;let b,N;const E=()=>{b&&(T._ignoreSubscribers=!0,(b.isPush?t.history.pushState:t.history.replaceState)(b.state,"",b.href),T._ignoreSubscribers=!1,b=void 0,N=void 0,m=void 0)},O=(M,R,B)=>{const $=u(R);N||(m=f),f=gv(R,B),b={href:$,state:B,isPush:b?.isPush||M==="push"},N||(N=Promise.resolve().then(()=>E()))},A=M=>{f=d(),T.notify({type:M})},C=async()=>{if(g){g=!1;return}const M=d(),R=M.state[Ks]-f.state[Ks],B=R===1,$=R===-1,H=!B&&!$||p;p=!1;const V=H?"GO":$?"BACK":"FORWARD",q=H?{type:"GO",index:R}:{type:$?"BACK":"FORWARD"};if(x)x=!1;else{const G=s();if(typeof document<"u"&&G.length){for(const L of G)if(await L.blockerFn({currentLocation:f,nextLocation:M,action:V})){g=!0,t.history.go(1),T.notify(q);return}}}f=d(),T.notify(q)},k=M=>{if(j){j=!1;return}let R=!1;const B=s();if(typeof document<"u"&&B.length)for(const $ of B){const H=$.enableBeforeUnload??!0;if(H===!0){R=!0;break}if(typeof H=="function"&&H()===!0){R=!0;break}}if(R)return M.preventDefault(),M.returnValue=""},T=dG({getLocation:w,getLength:()=>t.history.length,pushState:(M,R)=>O("push",M,R),replaceState:(M,R)=>O("replace",M,R),back:M=>(M&&(x=!0),j=!0,t.history.back()),forward:M=>{M&&(x=!0),j=!0,t.history.forward()},go:M=>{p=!0,t.history.go(M)},createHref:M=>u(M),flush:E,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(aM,k,{capture:!0}),t.removeEventListener(rM,C)},onBlocked:()=>{m&&f!==m&&(f=m)},getBlockers:s,setBlockers:l,notifyOnIndexChange:!1});return t.addEventListener(aM,k,{capture:!0}),t.addEventListener(rM,C),t.history.pushState=function(...M){const R=n.apply(t.history,M);return T._ignoreSubscribers||A("PUSH"),R},t.history.replaceState=function(...M){const R=r.apply(t.history,M);return T._ignoreSubscribers||A("REPLACE"),R},T}function gv(e,t){const n=e.indexOf("#"),r=e.indexOf("?"),a=EC();return{href:e,pathname:e.substring(0,n>0?r>0?Math.min(n,r):n:r>0?r:e.length),hash:n>-1?e.substring(n):"",search:r>-1?e.slice(r,n===-1?void 0:n):"",state:t||{[Ks]:0,key:a,__TSR_key:a}}}function EC(){return(Math.random()+1).toString(36).substring(7)}function g_(e){return e[e.length-1]}function hG(e){return typeof e=="function"}function el(e,t){return hG(e)?e(t):e}const mG=Object.prototype.hasOwnProperty;function _a(e,t){if(e===t)return e;const n=t,r=lM(e)&&lM(n);if(!r&&!(yv(e)&&yv(n)))return n;const a=r?e:sM(e);if(!a)return n;const s=r?n:sM(n);if(!s)return n;const l=a.length,u=s.length,d=r?new Array(u):{};let f=0;for(let m=0;m"u")return!0;const n=t.prototype;return!(!oM(n)||!n.hasOwnProperty("isPrototypeOf"))}function oM(e){return Object.prototype.toString.call(e)==="[object Object]"}function lM(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function tl(e,t,n){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0,a=e.length;ra||!tl(e[l],t[l],n)))return!1;return a===s}return!1}function tu(e){let t,n;const r=new Promise((a,s)=>{t=a,n=s});return r.status="pending",r.resolve=a=>{r.status="resolved",r.value=a,t(a),e?.(a)},r.reject=a=>{r.status="rejected",n(a)},r}function Xs(e){return!!(e&&typeof e=="object"&&typeof e.then=="function")}const pG=Array.from(new Map([["%","%25"],["\\","%5C"]]).values());function cM(e,t=pG){function n(a,s,l=0){for(let u=l;u{try{return decodeURI(u)}catch{return u}})}}if(e===""||!/%[0-9A-Fa-f]{2}/g.test(e))return e;const r=e.replaceAll(/%[0-9a-f]{2}/g,a=>a.toUpperCase());return n(r,t)}var vG="Invariant failed";function pr(e,t){if(!e)throw new Error(vG)}const mi=0,cl=1,nu=2,ru=3;function ts(e){return AC(e.filter(t=>t!==void 0).join("/"))}function AC(e){return e.replace(/\/{2,}/g,"/")}function TC(e){return e==="/"?e:e.replace(/^\/{1,}/,"")}function Zs(e){return e==="/"?e:e.replace(/\/{1,}$/,"")}function av(e){return Zs(TC(e))}function xv(e,t){return e?.endsWith("/")&&e!=="/"&&e!==`${t}/`?e.slice(0,-1):e}function gG(e,t,n){return xv(e,n)===xv(t,n)}function yG(e){const{type:t,value:n}=e;if(t===mi)return n;const{prefixSegment:r,suffixSegment:a}=e;if(t===cl){const s=n.substring(1);if(r&&a)return`${r}{$${s}}${a}`;if(r)return`${r}{$${s}}`;if(a)return`{$${s}}${a}`}if(t===ru){const s=n.substring(1);return r&&a?`${r}{-$${s}}${a}`:r?`${r}{-$${s}}`:a?`{-$${s}}${a}`:`{-$${s}}`}if(t===nu){if(r&&a)return`${r}{$}${a}`;if(r)return`${r}{$}`;if(a)return`{$}${a}`}return n}function xG({base:e,to:t,trailingSlash:n="never",parseCache:r}){let a=au(e,r).slice();const s=au(t,r);a.length>1&&g_(a)?.value==="/"&&a.pop();for(let d=0,f=s.length;d1&&(g_(a).value==="/"?n==="never"&&a.pop():n==="always"&&a.push({type:mi,value:"/"}));const l=a.map(yG);return ts(l)}const au=(e,t)=>{if(!e)return[];const n=t?.get(e);if(n)return n;const r=NG(e);return t?.set(e,r),r},bG=/^\$.{1,}$/,wG=/^(.*?)\{(\$[a-zA-Z_$][a-zA-Z0-9_$]*)\}(.*)$/,jG=/^(.*?)\{-(\$[a-zA-Z_$][a-zA-Z0-9_$]*)\}(.*)$/,SG=/^\$$/,_G=/^(.*?)\{\$\}(.*)$/;function NG(e){e=AC(e);const t=[];if(e.slice(0,1)==="/"&&(e=e.substring(1),t.push({type:mi,value:"/"})),!e)return t;const n=e.split("/").filter(Boolean);return t.push(...n.map(r=>{const a=r.match(_G);if(a){const u=a[1],d=a[2];return{type:nu,value:"$",prefixSegment:u||void 0,suffixSegment:d||void 0}}const s=r.match(jG);if(s){const u=s[1],d=s[2],f=s[3];return{type:ru,value:d,prefixSegment:u||void 0,suffixSegment:f||void 0}}const l=r.match(wG);if(l){const u=l[1],d=l[2],f=l[3];return{type:cl,value:""+d,prefixSegment:u||void 0,suffixSegment:f||void 0}}if(bG.test(r)){const u=r.substring(1);return{type:cl,value:"$"+u,prefixSegment:void 0,suffixSegment:void 0}}return SG.test(r)?{type:nu,value:"$",prefixSegment:void 0,suffixSegment:void 0}:{type:mi,value:r}})),e.slice(-1)==="/"&&(e=e.substring(1),t.push({type:mi,value:"/"})),t}function R0({path:e,params:t,decodeCharMap:n,parseCache:r}){const a=au(e,r);function s(f){const m=t[f],p=typeof m=="string";return f==="*"||f==="_splat"?p?encodeURI(m):m:p?CG(m,n):m}let l=!1;const u={},d=ts(a.map(f=>{if(f.type===mi)return f.value;if(f.type===nu){u._splat=t._splat,u["*"]=t._splat;const m=f.prefixSegment||"",p=f.suffixSegment||"";if(!t._splat)return l=!0,m||p?`${m}${p}`:void 0;const g=s("_splat");return`${m}${g}${p}`}if(f.type===cl){const m=f.value.substring(1);!l&&!(m in t)&&(l=!0),u[m]=t[m];const p=f.prefixSegment||"",g=f.suffixSegment||"";return`${p}${s(m)??"undefined"}${g}`}if(f.type===ru){const m=f.value.substring(1),p=f.prefixSegment||"",g=f.suffixSegment||"";return!(m in t)||t[m]==null?p||g?`${p}${g}`:void 0:(u[m]=t[m],`${p}${s(m)??""}${g}`)}return f.value}));return{usedParams:u,interpolatedPath:d,isMissingParams:l}}function CG(e,t){let n=encodeURIComponent(e);if(t)for(const[r,a]of t)n=n.replaceAll(r,a);return n}function y_(e,t,n){const r=OG(e,t,n);if(!(t.to&&!r))return r??{}}function OG(e,{to:t,fuzzy:n,caseSensitive:r},a){const s=t,l=au(e.startsWith("/")?e:`/${e}`,a),u=au(s.startsWith("/")?s:`/${s}`,a),d={};return EG(l,u,d,n,r)?d:void 0}function EG(e,t,n,r,a){let s=0,l=0;for(;sw.value)));p&&j.startsWith(p)&&(j=j.slice(p.length)),g&&j.endsWith(g)&&(j=j.slice(0,j.length-g.length)),m=j}else m=decodeURI(ts(f.map(p=>p.value)));return n["*"]=m,n._splat=m,!0}if(d.type===mi){if(d.value==="/"&&!u?.value){l++;continue}if(u){if(a){if(d.value!==u.value)return!1}else if(d.value.toLowerCase()!==u.value.toLowerCase())return!1;s++,l++;continue}else return!1}if(d.type===cl){if(!u||u.value==="/")return!1;let f="",m=!1;if(d.prefixSegment||d.suffixSegment){const p=d.prefixSegment||"",g=d.suffixSegment||"",x=u.value;if(p&&!x.startsWith(p)||g&&!x.endsWith(g))return!1;let j=x;p&&j.startsWith(p)&&(j=j.slice(p.length)),g&&j.endsWith(g)&&(j=j.slice(0,j.length-g.length)),f=decodeURIComponent(j),m=!0}else f=decodeURIComponent(u.value),m=!0;m&&(n[d.value.substring(1)]=f,s++),l++;continue}if(d.type===ru){if(!u){l++;continue}if(u.value==="/"){l++;continue}let f="",m=!1;if(d.prefixSegment||d.suffixSegment){const p=d.prefixSegment||"",g=d.suffixSegment||"",x=u.value;if((!p||x.startsWith(p))&&(!g||x.endsWith(g))){let j=x;p&&j.startsWith(p)&&(j=j.slice(p.length)),g&&j.endsWith(g)&&(j=j.slice(0,j.length-g.length)),f=decodeURIComponent(j),m=!0}}else{let p=!0;for(let g=l+1;g=t.length)return n["**"]=ts(e.slice(s).map(f=>f.value)),!!r&&t[t.length-1]?.value!=="/";if(l=e.length){for(let f=l;f{if(r.isRoot||!r.path)return;const s=TC(r.fullPath);let l=au(s),u=0;for(;l.length>u+1&&l[u]?.value==="/";)u++;u>0&&(l=l.slice(u));let d=0,f=!1;const m=l.map((p,g)=>{if(p.value==="/")return AG;if(p.type===mi)return TG;let x;p.type===cl?x=kG:p.type===ru?(x=MG,d++):x=PG;for(let j=g+1;j{const s=Math.min(r.scores.length,a.scores.length);for(let l=0;la.parsed[l].value?1:-1;return r.index-a.index}).map((r,a)=>(r.child.rank=a,r.child))}function BG({routeTree:e,initRoute:t}){const n={},r={},a=l=>{l.forEach((u,d)=>{t?.(u,d);const f=n[u.id];if(pr(!f,`Duplicate routes found with id: ${String(u.id)}`),n[u.id]=u,!u.isRoot&&u.path){const p=Zs(u.fullPath);(!r[p]||u.fullPath.endsWith("/"))&&(r[p]=u)}const m=u.children;m?.length&&a(m)})};a([e]);const s=LG(Object.values(n));return{routesById:n,routesByPath:r,flatRoutes:s}}function Wa(e){return!!e?.isNotFound}function zG(){try{if(typeof window<"u"&&typeof window.sessionStorage=="object")return window.sessionStorage}catch{}}const bv="tsr-scroll-restoration-v1_3",qG=(e,t)=>{let n;return(...r)=>{n||(n=setTimeout(()=>{e(...r),n=null},t))}};function FG(){const e=zG();if(!e)return null;const t=e.getItem(bv);let n=t?JSON.parse(t):{};return{state:n,set:r=>(n=el(r,n)||n,e.setItem(bv,JSON.stringify(n)))}}const Op=FG(),x_=e=>e.state.__TSR_key||e.href;function UG(e){const t=[];let n;for(;n=e.parentNode;)t.push(`${e.tagName}:nth-child(${Array.prototype.indexOf.call(n.children,e)+1})`),e=n;return`${t.reverse().join(" > ")}`.toLowerCase()}let wv=!1;function n5({storageKey:e,key:t,behavior:n,shouldScrollRestoration:r,scrollToTopSelectors:a,location:s}){let l;try{l=JSON.parse(sessionStorage.getItem(e)||"{}")}catch(f){console.error(f);return}const u=t||window.history.state?.__TSR_key,d=l[u];wv=!0;e:{if(r&&d&&Object.keys(d).length>0){for(const p in d){const g=d[p];if(p==="window")window.scrollTo({top:g.scrollY,left:g.scrollX,behavior:n});else if(p){const x=document.querySelector(p);x&&(x.scrollLeft=g.scrollX,x.scrollTop=g.scrollY)}}break e}const f=(s??window.location).hash.split("#",2)[1];if(f){const p=window.history.state?.__hashScrollIntoViewOptions??!0;if(p){const g=document.getElementById(f);g&&g.scrollIntoView(p)}break e}const m={top:0,left:0,behavior:n};if(window.scrollTo(m),a)for(const p of a){if(p==="window")continue;const g=typeof p=="function"?p():document.querySelector(p);g&&g.scrollTo(m)}}wv=!1}function HG(e,t){if(!Op&&!e.isServer||((e.options.scrollRestoration??!1)&&(e.isScrollRestoring=!0),e.isServer||e.isScrollRestorationSetup||!Op))return;e.isScrollRestorationSetup=!0,wv=!1;const r=e.options.getScrollRestorationKey||x_;window.history.scrollRestoration="manual";const a=s=>{if(wv||!e.isScrollRestoring)return;let l="";if(s.target===document||s.target===window)l="window";else{const d=s.target.getAttribute("data-scroll-restoration-id");d?l=`[data-scroll-restoration-id="${d}"]`:l=UG(s.target)}const u=r(e.state.location);Op.set(d=>{const f=d[u]||={},m=f[l]||={};if(l==="window")m.scrollX=window.scrollX||0,m.scrollY=window.scrollY||0;else if(l){const p=document.querySelector(l);p&&(m.scrollX=p.scrollLeft||0,m.scrollY=p.scrollTop||0)}return d})};typeof document<"u"&&document.addEventListener("scroll",qG(a,100),!0),e.subscribe("onRendered",s=>{const l=r(s.toLocation);if(!e.resetNextScroll){e.resetNextScroll=!0;return}typeof e.options.scrollRestoration=="function"&&!e.options.scrollRestoration({location:e.latestLocation})||(n5({storageKey:bv,key:l,behavior:e.options.scrollRestorationBehavior,shouldScrollRestoration:e.isScrollRestoring,scrollToTopSelectors:e.options.scrollToTopSelectors,location:e.history.location}),e.isScrollRestoring&&Op.set(u=>(u[l]||={},u)))})}function WG(e){if(typeof document<"u"&&document.querySelector){const t=e.state.location.state.__hashScrollIntoViewOptions??!0;if(t&&e.state.location.hash!==""){const n=document.getElementById(e.state.location.hash);n&&n.scrollIntoView(t)}}}function VG(e,t=String){const n=new URLSearchParams;for(const r in e){const a=e[r];a!==void 0&&n.set(r,t(a))}return n.toString()}function D0(e){return e?e==="false"?!1:e==="true"?!0:+e*0===0&&+e+""===e?+e:e:""}function GG(e){const t=new URLSearchParams(e),n={};for(const[r,a]of t.entries()){const s=n[r];s==null?n[r]=D0(a):Array.isArray(s)?s.push(D0(a)):n[r]=[s,D0(a)]}return n}const YG=XG(JSON.parse),KG=ZG(JSON.stringify,JSON.parse);function XG(e){return t=>{t[0]==="?"&&(t=t.substring(1));const n=GG(t);for(const r in n){const a=n[r];if(typeof a=="string")try{n[r]=e(a)}catch{}}return n}}function ZG(e,t){const n=typeof t=="function";function r(a){if(typeof a=="object"&&a!==null)try{return e(a)}catch{}else if(n&&typeof a=="string")try{return t(a),e(a)}catch{}return a}return a=>{const s=VG(a,r);return s?`?${s}`:""}}const ea="__root__";function r5(e){if(e.statusCode=e.statusCode||e.code||307,!e.reloadDocument&&typeof e.href=="string")try{new URL(e.href),e.reloadDocument=!0}catch{}const t=new Headers(e.headers);e.href&&t.get("Location")===null&&t.set("Location",e.href);const n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function ci(e){return e instanceof Response&&!!e.options}function QG(e){const t=new Map;let n,r;const a=s=>{s.next&&(s.prev?(s.prev.next=s.next,s.next.prev=s.prev,s.next=void 0,r&&(r.next=s,s.prev=r)):(s.next.prev=void 0,n=s.next,s.next=void 0,r&&(s.prev=r,r.next=s)),r=s)};return{get(s){const l=t.get(s);if(l)return a(l),l.value},set(s,l){if(t.size>=e&&n){const d=n;t.delete(d.key),d.next&&(n=d.next,d.next.prev=void 0),d===r&&(r=void 0)}const u=t.get(s);if(u)u.value=l,a(u);else{const d={key:s,value:l,prev:r};r&&(r.next=d),r=d,n||(n=d),t.set(s,d)}}}}const iv=e=>{if(!e.rendered)return e.rendered=!0,e.onReady?.()},zg=(e,t)=>!!(e.preload&&!e.router.state.matches.some(n=>n.id===t)),a5=(e,t)=>{const n=e.router.routesById[t.routeId??""]??e.router.routeTree;!n.options.notFoundComponent&&e.router.options?.defaultNotFoundComponent&&(n.options.notFoundComponent=e.router.options.defaultNotFoundComponent),pr(n.options.notFoundComponent);const r=e.matches.find(a=>a.routeId===n.id);pr(r,"Could not find match for route: "+n.id),e.updateMatch(r.id,a=>({...a,status:"notFound",error:t,isFetching:!1})),t.routerCode==="BEFORE_LOAD"&&n.parentRoute&&(t.routeId=n.parentRoute.id,a5(e,t))},Vs=(e,t,n)=>{if(!(!ci(n)&&!Wa(n))){if(ci(n)&&n.redirectHandled&&!n.options.reloadDocument)throw n;if(t){t._nonReactive.beforeLoadPromise?.resolve(),t._nonReactive.loaderPromise?.resolve(),t._nonReactive.beforeLoadPromise=void 0,t._nonReactive.loaderPromise=void 0;const r=ci(n)?"redirected":"notFound";t._nonReactive.error=n,e.updateMatch(t.id,a=>({...a,status:r,isFetching:!1,error:n})),Wa(n)&&!n.routeId&&(n.routeId=t.routeId),t._nonReactive.loadPromise?.resolve()}throw ci(n)?(e.rendered=!0,n.options._fromLocation=e.location,n.redirectHandled=!0,n=e.router.resolveRedirect(n),n):(a5(e,n),n)}},i5=(e,t)=>{const n=e.router.getMatch(t);return!!(!e.router.isServer&&n._nonReactive.dehydrated||e.router.isServer&&n.ssr===!1)},Xd=(e,t,n,r)=>{const{id:a,routeId:s}=e.matches[t],l=e.router.looseRoutesById[s];if(n instanceof Promise)throw n;n.routerCode=r,e.firstBadMatchIndex??=t,Vs(e,e.router.getMatch(a),n);try{l.options.onError?.(n)}catch(u){n=u,Vs(e,e.router.getMatch(a),n)}e.updateMatch(a,u=>(u._nonReactive.beforeLoadPromise?.resolve(),u._nonReactive.beforeLoadPromise=void 0,u._nonReactive.loadPromise?.resolve(),{...u,error:n,status:"error",isFetching:!1,updatedAt:Date.now(),abortController:new AbortController}))},JG=(e,t,n,r)=>{const a=e.router.getMatch(t),s=e.matches[n-1]?.id,l=s?e.router.getMatch(s):void 0;if(e.router.isShell()){a.ssr=r.id===ea;return}if(l?.ssr===!1){a.ssr=!1;return}const u=x=>x===!0&&l?.ssr==="data-only"?"data-only":x,d=e.router.options.defaultSsr??!0;if(r.options.ssr===void 0){a.ssr=u(d);return}if(typeof r.options.ssr!="function"){a.ssr=u(r.options.ssr);return}const{search:f,params:m}=a,p={search:Ep(f,a.searchError),params:Ep(m,a.paramsError),location:e.location,matches:e.matches.map(x=>({index:x.index,pathname:x.pathname,fullPath:x.fullPath,staticData:x.staticData,id:x.id,routeId:x.routeId,search:Ep(x.search,x.searchError),params:Ep(x.params,x.paramsError),ssr:x.ssr}))},g=r.options.ssr(p);if(Xs(g))return g.then(x=>{a.ssr=u(x??d)});a.ssr=u(g??d)},s5=(e,t,n,r)=>{if(r._nonReactive.pendingTimeout!==void 0)return;const a=n.options.pendingMs??e.router.options.defaultPendingMs;if(!!(e.onReady&&!e.router.isServer&&!zg(e,t)&&(n.options.loader||n.options.beforeLoad||c5(n))&&typeof a=="number"&&a!==1/0&&(n.options.pendingComponent??e.router.options?.defaultPendingComponent))){const l=setTimeout(()=>{iv(e)},a);r._nonReactive.pendingTimeout=l}},eY=(e,t,n)=>{const r=e.router.getMatch(t);if(!r._nonReactive.beforeLoadPromise&&!r._nonReactive.loaderPromise)return;s5(e,t,n,r);const a=()=>{const s=e.router.getMatch(t);s.preload&&(s.status==="redirected"||s.status==="notFound")&&Vs(e,s,s.error)};return r._nonReactive.beforeLoadPromise?r._nonReactive.beforeLoadPromise.then(a):a()},tY=(e,t,n,r)=>{const a=e.router.getMatch(t),s=a._nonReactive.loadPromise;a._nonReactive.loadPromise=tu(()=>{s?.resolve()});const{paramsError:l,searchError:u}=a;l&&Xd(e,n,l,"PARSE_PARAMS"),u&&Xd(e,n,u,"VALIDATE_SEARCH"),s5(e,t,r,a);const d=new AbortController,f=e.matches[n-1]?.id,g={...(f?e.router.getMatch(f):void 0)?.context??e.router.options.context??void 0,...a.__routeContext};let x=!1;const j=()=>{x||(x=!0,e.updateMatch(t,T=>({...T,isFetching:"beforeLoad",fetchCount:T.fetchCount+1,abortController:d,context:g})))},w=()=>{a._nonReactive.beforeLoadPromise?.resolve(),a._nonReactive.beforeLoadPromise=void 0,e.updateMatch(t,T=>({...T,isFetching:!1}))};if(!r.options.beforeLoad){Sf(()=>{j(),w()});return}a._nonReactive.beforeLoadPromise=tu();const{search:b,params:N,cause:E}=a,O=zg(e,t),A={search:b,abortController:d,params:N,preload:O,context:g,location:e.location,navigate:T=>e.router.navigate({...T,_fromLocation:e.location}),buildLocation:e.router.buildLocation,cause:O?"preload":E,matches:e.matches,...e.router.options.additionalContext},C=T=>{if(T===void 0){Sf(()=>{j(),w()});return}(ci(T)||Wa(T))&&(j(),Xd(e,n,T,"BEFORE_LOAD")),Sf(()=>{j(),e.updateMatch(t,M=>({...M,__beforeLoadContext:T,context:{...M.context,...T}})),w()})};let k;try{if(k=r.options.beforeLoad(A),Xs(k))return j(),k.catch(T=>{Xd(e,n,T,"BEFORE_LOAD")}).then(C)}catch(T){j(),Xd(e,n,T,"BEFORE_LOAD")}C(k)},nY=(e,t)=>{const{id:n,routeId:r}=e.matches[t],a=e.router.looseRoutesById[r],s=()=>{if(e.router.isServer){const d=JG(e,n,t,a);if(Xs(d))return d.then(u)}return u()},l=()=>tY(e,n,t,a),u=()=>{if(i5(e,n))return;const d=eY(e,n,a);return Xs(d)?d.then(l):l()};return s()},_f=(e,t,n)=>{const r=e.router.getMatch(t);if(!r||!n.options.head&&!n.options.scripts&&!n.options.headers)return;const a={matches:e.matches,match:r,params:r.params,loaderData:r.loaderData};return Promise.all([n.options.head?.(a),n.options.scripts?.(a),n.options.headers?.(a)]).then(([s,l,u])=>{const d=s?.meta,f=s?.links,m=s?.scripts,p=s?.styles;return{meta:d,links:f,headScripts:m,headers:u,scripts:l,styles:p}})},o5=(e,t,n,r)=>{const a=e.matchPromises[n-1],{params:s,loaderDeps:l,abortController:u,cause:d}=e.router.getMatch(t);let f=e.router.options.context??{};for(let p=0;p<=n;p++){const g=e.matches[p];if(!g)continue;const x=e.router.getMatch(g.id);x&&(f={...f,...x.__routeContext??{},...x.__beforeLoadContext??{}})}const m=zg(e,t);return{params:s,deps:l,preload:!!m,parentMatchPromise:a,abortController:u,context:f,location:e.location,navigate:p=>e.router.navigate({...p,_fromLocation:e.location}),cause:m?"preload":d,route:r,...e.router.options.additionalContext}},hM=async(e,t,n,r)=>{try{const a=e.router.getMatch(t);try{(!e.router.isServer||a.ssr===!0)&&l5(r);const s=r.options.loader?.(o5(e,t,n,r)),l=r.options.loader&&Xs(s);if(!!(l||r._lazyPromise||r._componentsPromise||r.options.head||r.options.scripts||r.options.headers||a._nonReactive.minPendingPromise)&&e.updateMatch(t,p=>({...p,isFetching:"loader"})),r.options.loader){const p=l?await s:s;Vs(e,e.router.getMatch(t),p),p!==void 0&&e.updateMatch(t,g=>({...g,loaderData:p}))}r._lazyPromise&&await r._lazyPromise;const d=_f(e,t,r),f=d?await d:void 0,m=a._nonReactive.minPendingPromise;m&&await m,r._componentsPromise&&await r._componentsPromise,e.updateMatch(t,p=>({...p,error:void 0,status:"success",isFetching:!1,updatedAt:Date.now(),...f}))}catch(s){let l=s;const u=a._nonReactive.minPendingPromise;u&&await u,Wa(s)&&await r.options.notFoundComponent?.preload?.(),Vs(e,e.router.getMatch(t),s);try{r.options.onError?.(s)}catch(m){l=m,Vs(e,e.router.getMatch(t),m)}const d=_f(e,t,r),f=d?await d:void 0;e.updateMatch(t,m=>({...m,error:l,status:"error",isFetching:!1,...f}))}}catch(a){const s=e.router.getMatch(t);if(s){const l=_f(e,t,r);if(l){const u=await l;e.updateMatch(t,d=>({...d,...u}))}s._nonReactive.loaderPromise=void 0}Vs(e,s,a)}},rY=async(e,t)=>{const{id:n,routeId:r}=e.matches[t];let a=!1,s=!1;const l=e.router.looseRoutesById[r];if(i5(e,n)){if(e.router.isServer){const f=_f(e,n,l);if(f){const m=await f;e.updateMatch(n,p=>({...p,...m}))}return e.router.getMatch(n)}}else{const f=e.router.getMatch(n);if(f._nonReactive.loaderPromise){if(f.status==="success"&&!e.sync&&!f.preload)return f;await f._nonReactive.loaderPromise;const m=e.router.getMatch(n),p=m._nonReactive.error||m.error;p&&Vs(e,m,p)}else{const m=Date.now()-f.updatedAt,p=zg(e,n),g=p?l.options.preloadStaleTime??e.router.options.defaultPreloadStaleTime??3e4:l.options.staleTime??e.router.options.defaultStaleTime??0,x=l.options.shouldReload,j=typeof x=="function"?x(o5(e,n,t,l)):x,w=!!p&&!e.router.state.matches.some(O=>O.id===n),b=e.router.getMatch(n);b._nonReactive.loaderPromise=tu(),w!==b.preload&&e.updateMatch(n,O=>({...O,preload:w}));const{status:N,invalid:E}=b;if(a=N==="success"&&(E||(j??m>g)),!(p&&l.options.preload===!1))if(a&&!e.sync)s=!0,(async()=>{try{await hM(e,n,t,l);const O=e.router.getMatch(n);O._nonReactive.loaderPromise?.resolve(),O._nonReactive.loadPromise?.resolve(),O._nonReactive.loaderPromise=void 0}catch(O){ci(O)&&await e.router.navigate(O.options)}})();else if(N!=="success"||a&&e.sync)await hM(e,n,t,l);else{const O=_f(e,n,l);if(O){const A=await O;e.updateMatch(n,C=>({...C,...A}))}}}}const u=e.router.getMatch(n);s||(u._nonReactive.loaderPromise?.resolve(),u._nonReactive.loadPromise?.resolve()),clearTimeout(u._nonReactive.pendingTimeout),u._nonReactive.pendingTimeout=void 0,s||(u._nonReactive.loaderPromise=void 0),u._nonReactive.dehydrated=void 0;const d=s?u.isFetching:!1;return d!==u.isFetching||u.invalid!==!1?(e.updateMatch(n,f=>({...f,isFetching:d,invalid:!1})),e.router.getMatch(n)):u};async function mM(e){const t=Object.assign(e,{matchPromises:[]});!t.router.isServer&&t.router.state.matches.some(n=>n._forcePending)&&iv(t);try{for(let a=0;a{const{id:n,...r}=t.options;Object.assign(e.options,r),e._lazyLoaded=!0,e._lazyPromise=void 0}):e._lazyLoaded=!0),!e._componentsLoaded&&e._componentsPromise===void 0){const t=()=>{const n=[];for(const r of u5){const a=e.options[r]?.preload;a&&n.push(a())}if(n.length)return Promise.all(n).then(()=>{e._componentsLoaded=!0,e._componentsPromise=void 0});e._componentsLoaded=!0,e._componentsPromise=void 0};e._componentsPromise=e._lazyPromise?e._lazyPromise.then(t):t()}return e._componentsPromise}function Ep(e,t){return t?{status:"error",error:t}:{status:"success",value:e}}function c5(e){for(const t of u5)if(e.options[t]?.preload)return!0;return!1}const u5=["component","errorComponent","pendingComponent","notFoundComponent"];function aY(e){return{input:({url:t})=>{for(const n of e)t=d5(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=f5(e[n],t);return t}}}function iY(e){const t=av(e.basepath),n=`/${t}`,r=`${n}/`,a=e.caseSensitive?n:n.toLowerCase(),s=e.caseSensitive?r:r.toLowerCase();return{input:({url:l})=>{const u=e.caseSensitive?l.pathname:l.pathname.toLowerCase();return u===a?l.pathname="/":u.startsWith(s)&&(l.pathname=l.pathname.slice(n.length)),l},output:({url:l})=>(l.pathname=ts(["/",t,l.pathname]),l)}}function d5(e,t){const n=e?.input?.({url:t});if(n){if(typeof n=="string")return new URL(n);if(n instanceof URL)return n}return t}function f5(e,t){const n=e?.output?.({url:t});if(n){if(typeof n=="string")return new URL(n);if(n instanceof URL)return n}return t}function nl(e){const t=e.resolvedLocation,n=e.location,r=t?.pathname!==n.pathname,a=t?.href!==n.href,s=t?.hash!==n.hash;return{fromLocation:t,toLocation:n,pathChanged:r,hrefChanged:a,hashChanged:s}}class sY{constructor(t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this.resetNextScroll=!0,this.shouldViewTransition=void 0,this.isViewTransitionTypesSupported=void 0,this.subscribers=new Set,this.isScrollRestoring=!1,this.isScrollRestorationSetup=!1,this.startTransition=n=>n(),this.update=n=>{n.notFoundRoute&&console.warn("The notFoundRoute API is deprecated and will be removed in the next major version. See https://tanstack.com/router/v1/docs/framework/react/guide/not-found-errors#migrating-from-notfoundroute for more info.");const r=this.options,a=this.basepath??r?.basepath??"/",s=this.basepath===void 0,l=r?.rewrite;this.options={...r,...n},this.isServer=this.options.isServer??typeof document>"u",this.pathParamsDecodeCharMap=this.options.pathParamsAllowedCharacters?new Map(this.options.pathParamsAllowedCharacters.map(g=>[encodeURIComponent(g),g])):void 0,(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.isServer||(this.history=fG())),this.origin=this.options.origin,this.origin||(!this.isServer&&window?.origin&&window.origin!=="null"?this.origin=window.origin:this.origin="http://localhost"),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree&&(this.routeTree=this.options.routeTree,this.buildRouteTree()),!this.__store&&this.latestLocation&&(this.__store=new uG(lY(this.latestLocation),{onUpdate:()=>{this.__store.state={...this.state,cachedMatches:this.state.cachedMatches.filter(g=>!["redirected"].includes(g.status))}}}),HG(this));let u=!1;const d=this.options.basepath??"/",f=this.options.rewrite;if(s||a!==d||l!==f){this.basepath=d;const g=[];av(d)!==""&&g.push(iY({basepath:d})),f&&g.push(f),this.rewrite=g.length===0?void 0:g.length===1?g[0]:aY(g),this.history&&this.updateLatestLocation(),u=!0}u&&this.__store&&(this.__store.state={...this.state,location:this.latestLocation}),typeof window<"u"&&"CSS"in window&&typeof window.CSS?.supports=="function"&&(this.isViewTransitionTypesSupported=window.CSS.supports("selector(:active-view-transition-type(a)"))},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{const{routesById:n,routesByPath:r,flatRoutes:a}=BG({routeTree:this.routeTree,initRoute:(l,u)=>{l.init({originalIndex:u})}});this.routesById=n,this.routesByPath=r,this.flatRoutes=a;const s=this.options.notFoundRoute;s&&(s.init({originalIndex:99999999999}),this.routesById[s.id]=s)},this.subscribe=(n,r)=>{const a={eventType:n,fn:r};return this.subscribers.add(a),()=>{this.subscribers.delete(a)}},this.emit=n=>{this.subscribers.forEach(r=>{r.eventType===n.type&&r.fn(n)})},this.parseLocation=(n,r)=>{const a=({href:d,state:f})=>{const m=new URL(d,this.origin),p=d5(this.rewrite,m),g=this.options.parseSearch(p.search),x=this.options.stringifySearch(g);p.search=x;const j=p.href.replace(p.origin,""),{pathname:w,hash:b}=p;return{href:j,publicHref:d,url:p.href,pathname:cM(w),searchStr:x,search:_a(r?.search,g),hash:b.split("#").reverse()[0]??"",state:_a(r?.state,f)}},s=a(n),{__tempLocation:l,__tempKey:u}=s.state;if(l&&(!u||u===this.tempLocationKey)){const d=a(l);return d.state.key=s.state.key,d.state.__TSR_key=s.state.__TSR_key,delete d.state.__tempLocation,{...d,maskedLocation:s}}return s},this.resolvePathWithBase=(n,r)=>xG({base:n,to:AC(r),trailingSlash:this.options.trailingSlash,parseCache:this.parsePathnameCache}),this.matchRoutes=(n,r,a)=>typeof n=="string"?this.matchRoutesInternal({pathname:n,search:r},a):this.matchRoutesInternal(n,r),this.parsePathnameCache=QG(1e3),this.getMatchedRoutes=(n,r)=>cY({pathname:n,routePathname:r,caseSensitive:this.options.caseSensitive,routesByPath:this.routesByPath,routesById:this.routesById,flatRoutes:this.flatRoutes,parseCache:this.parsePathnameCache}),this.cancelMatch=n=>{const r=this.getMatch(n);r&&(r.abortController.abort(),clearTimeout(r._nonReactive.pendingTimeout),r._nonReactive.pendingTimeout=void 0)},this.cancelMatches=()=>{const n=this.state.matches.filter(s=>s.status==="pending"),r=this.state.matches.filter(s=>s.isFetching==="loader");new Set([...this.state.pendingMatches??[],...n,...r]).forEach(s=>{this.cancelMatch(s.id)})},this.buildLocation=n=>{const r=(s={})=>{const l=s._fromLocation||this.pendingBuiltLocation||this.latestLocation,u=this.matchRoutes(l,{_buildLocation:!0}),d=g_(u);s.from;const f=s.unsafeRelative==="path"?l.pathname:s.from??d.fullPath,m=this.resolvePathWithBase(f,"."),p=d.search,g={...d.params},x=s.to?this.resolvePathWithBase(m,`${s.to}`):this.resolvePathWithBase(m,"."),j=s.params===!1||s.params===null?{}:(s.params??!0)===!0?g:Object.assign(g,el(s.params,g)),w=R0({path:x,params:j,parseCache:this.parsePathnameCache}).interpolatedPath,b=this.matchRoutes(w,void 0,{_buildLocation:!0}).map(B=>this.looseRoutesById[B.routeId]);if(Object.keys(j).length>0)for(const B of b){const $=B.options.params?.stringify??B.options.stringifyParams;$&&Object.assign(j,$(j))}const N=n.leaveParams?x:cM(R0({path:x,params:j,decodeCharMap:this.pathParamsDecodeCharMap,parseCache:this.parsePathnameCache}).interpolatedPath);let E=p;if(n._includeValidateSearch&&this.options.search?.strict){const B={};b.forEach($=>{if($.options.validateSearch)try{Object.assign(B,b_($.options.validateSearch,{...B,...E}))}catch{}}),E=B}E=uY({search:E,dest:s,destRoutes:b,_includeValidateSearch:n._includeValidateSearch}),E=_a(p,E);const O=this.options.stringifySearch(E),A=s.hash===!0?l.hash:s.hash?el(s.hash,l.hash):void 0,C=A?`#${A}`:"";let k=s.state===!0?l.state:s.state?el(s.state,l.state):{};k=_a(l.state,k);const T=`${N}${O}${C}`,M=new URL(T,this.origin),R=f5(this.rewrite,M);return{publicHref:R.pathname+R.search+R.hash,href:T,url:R.href,pathname:N,search:E,searchStr:O,state:k,hash:A??"",unmaskOnReload:s.unmaskOnReload}},a=(s={},l)=>{const u=r(s);let d=l?r(l):void 0;if(!d){let f={};const m=this.options.routeMasks?.find(p=>{const g=y_(u.pathname,{to:p.from,caseSensitive:!1,fuzzy:!1},this.parsePathnameCache);return g?(f=g,!0):!1});if(m){const{from:p,...g}=m;l={from:n.from,...g,params:f},d=r(l)}}return d&&(u.maskedLocation=d),u};return n.mask?a(n,{from:n.from,...n.mask}):a(n)},this.commitLocation=({viewTransition:n,ignoreBlocker:r,...a})=>{const s=()=>{const d=["key","__TSR_key","__TSR_index","__hashScrollIntoViewOptions"];d.forEach(m=>{a.state[m]=this.latestLocation.state[m]});const f=tl(a.state,this.latestLocation.state);return d.forEach(m=>{delete a.state[m]}),f},l=Zs(this.latestLocation.href)===Zs(a.href),u=this.commitLocationPromise;if(this.commitLocationPromise=tu(()=>{u?.resolve()}),l&&s())this.load();else{let{maskedLocation:d,hashScrollIntoView:f,...m}=a;d&&(m={...d,state:{...d.state,__tempKey:void 0,__tempLocation:{...m,search:m.searchStr,state:{...m.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(m.unmaskOnReload??this.options.unmaskOnReload??!1)&&(m.state.__tempKey=this.tempLocationKey)),m.state.__hashScrollIntoViewOptions=f??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=n,this.history[a.replace?"replace":"push"](m.publicHref,m.state,{ignoreBlocker:r})}return this.resetNextScroll=a.resetScroll??!0,this.history.subscribers.size||this.load(),this.commitLocationPromise},this.buildAndCommitLocation=({replace:n,resetScroll:r,hashScrollIntoView:a,viewTransition:s,ignoreBlocker:l,href:u,...d}={})=>{if(u){const p=this.history.location.state.__TSR_index,g=gv(u,{__TSR_index:n?p:p+1});d.to=g.pathname,d.search=this.options.parseSearch(g.search),d.hash=g.hash.slice(1)}const f=this.buildLocation({...d,_includeValidateSearch:!0});this.pendingBuiltLocation=f;const m=this.commitLocation({...f,viewTransition:s,replace:n,resetScroll:r,hashScrollIntoView:a,ignoreBlocker:l});return Promise.resolve().then(()=>{this.pendingBuiltLocation===f&&(this.pendingBuiltLocation=void 0)}),m},this.navigate=({to:n,reloadDocument:r,href:a,...s})=>{if(!r&&a)try{new URL(`${a}`),r=!0}catch{}return r?(a||(a=this.buildLocation({to:n,...s}).url),s.replace?window.location.replace(a):window.location.href=a,Promise.resolve()):this.buildAndCommitLocation({...s,href:a,to:n,_isNavigate:!0})},this.beforeLoad=()=>{if(this.cancelMatches(),this.updateLatestLocation(),this.isServer){const r=this.buildLocation({to:this.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0}),a=s=>{try{return encodeURI(decodeURI(s))}catch{return s}};if(av(a(this.latestLocation.href))!==av(a(r.href))){let s=r.url;throw this.origin&&s.startsWith(this.origin)&&(s=s.replace(this.origin,"")||"/"),r5({href:s})}}const n=this.matchRoutes(this.latestLocation);this.__store.setState(r=>({...r,status:"pending",statusCode:200,isLoading:!0,location:this.latestLocation,pendingMatches:n,cachedMatches:r.cachedMatches.filter(a=>!n.some(s=>s.id===a.id))}))},this.load=async n=>{let r,a,s;for(s=new Promise(u=>{this.startTransition(async()=>{try{this.beforeLoad();const d=this.latestLocation,f=this.state.resolvedLocation;this.state.redirect||this.emit({type:"onBeforeNavigate",...nl({resolvedLocation:f,location:d})}),this.emit({type:"onBeforeLoad",...nl({resolvedLocation:f,location:d})}),await mM({router:this,sync:n?.sync,matches:this.state.pendingMatches,location:d,updateMatch:this.updateMatch,onReady:async()=>{this.startTransition(()=>{this.startViewTransition(async()=>{let m=[],p=[],g=[];Sf(()=>{this.__store.setState(x=>{const j=x.matches,w=x.pendingMatches||x.matches;return m=j.filter(b=>!w.some(N=>N.id===b.id)),p=w.filter(b=>!j.some(N=>N.id===b.id)),g=w.filter(b=>j.some(N=>N.id===b.id)),{...x,isLoading:!1,loadedAt:Date.now(),matches:w,pendingMatches:void 0,cachedMatches:[...x.cachedMatches,...m.filter(b=>b.status!=="error")]}}),this.clearExpiredCache()}),[[m,"onLeave"],[p,"onEnter"],[g,"onStay"]].forEach(([x,j])=>{x.forEach(w=>{this.looseRoutesById[w.routeId].options[j]?.(w)})})})})}})}catch(d){ci(d)?(r=d,this.isServer||this.navigate({...r.options,replace:!0,ignoreBlocker:!0})):Wa(d)&&(a=d),this.__store.setState(f=>({...f,statusCode:r?r.status:a?404:f.matches.some(m=>m.status==="error")?500:200,redirect:r}))}this.latestLoadPromise===s&&(this.commitLocationPromise?.resolve(),this.latestLoadPromise=void 0,this.commitLocationPromise=void 0),u()})}),this.latestLoadPromise=s,await s;this.latestLoadPromise&&s!==this.latestLoadPromise;)await this.latestLoadPromise;let l;this.hasNotFoundMatch()?l=404:this.__store.state.matches.some(u=>u.status==="error")&&(l=500),l!==void 0&&this.__store.setState(u=>({...u,statusCode:l}))},this.startViewTransition=n=>{const r=this.shouldViewTransition??this.options.defaultViewTransition;if(delete this.shouldViewTransition,r&&typeof document<"u"&&"startViewTransition"in document&&typeof document.startViewTransition=="function"){let a;if(typeof r=="object"&&this.isViewTransitionTypesSupported){const s=this.latestLocation,l=this.state.resolvedLocation,u=typeof r.types=="function"?r.types(nl({resolvedLocation:l,location:s})):r.types;if(u===!1){n();return}a={update:n,types:u}}else a=n;document.startViewTransition(a)}else n()},this.updateMatch=(n,r)=>{this.startTransition(()=>{const a=this.state.pendingMatches?.some(s=>s.id===n)?"pendingMatches":this.state.matches.some(s=>s.id===n)?"matches":this.state.cachedMatches.some(s=>s.id===n)?"cachedMatches":"";a&&this.__store.setState(s=>({...s,[a]:s[a]?.map(l=>l.id===n?r(l):l)}))})},this.getMatch=n=>{const r=a=>a.id===n;return this.state.cachedMatches.find(r)??this.state.pendingMatches?.find(r)??this.state.matches.find(r)},this.invalidate=n=>{const r=a=>n?.filter?.(a)??!0?{...a,invalid:!0,...n?.forcePending||a.status==="error"?{status:"pending",error:void 0}:void 0}:a;return this.__store.setState(a=>({...a,matches:a.matches.map(r),cachedMatches:a.cachedMatches.map(r),pendingMatches:a.pendingMatches?.map(r)})),this.shouldViewTransition=!1,this.load({sync:n?.sync})},this.resolveRedirect=n=>{if(!n.options.href){const r=this.buildLocation(n.options);let a=r.url;this.origin&&a.startsWith(this.origin)&&(a=a.replace(this.origin,"")||"/"),n.options.href=r.href,n.headers.set("Location",a)}return n.headers.get("Location")||n.headers.set("Location",n.options.href),n},this.clearCache=n=>{const r=n?.filter;r!==void 0?this.__store.setState(a=>({...a,cachedMatches:a.cachedMatches.filter(s=>!r(s))})):this.__store.setState(a=>({...a,cachedMatches:[]}))},this.clearExpiredCache=()=>{const n=r=>{const a=this.looseRoutesById[r.routeId];if(!a.options.loader)return!0;const s=(r.preload?a.options.preloadGcTime??this.options.defaultPreloadGcTime:a.options.gcTime??this.options.defaultGcTime)??300*1e3;return r.status==="error"?!0:Date.now()-r.updatedAt>=s};this.clearCache({filter:n})},this.loadRouteChunk=l5,this.preloadRoute=async n=>{const r=this.buildLocation(n);let a=this.matchRoutes(r,{throwOnError:!0,preload:!0,dest:n});const s=new Set([...this.state.matches,...this.state.pendingMatches??[]].map(u=>u.id)),l=new Set([...s,...this.state.cachedMatches.map(u=>u.id)]);Sf(()=>{a.forEach(u=>{l.has(u.id)||this.__store.setState(d=>({...d,cachedMatches:[...d.cachedMatches,u]}))})});try{return a=await mM({router:this,matches:a,location:r,preload:!0,updateMatch:(u,d)=>{s.has(u)?a=a.map(f=>f.id===u?d(f):f):this.updateMatch(u,d)}}),a}catch(u){if(ci(u))return u.options.reloadDocument?void 0:await this.preloadRoute({...u.options,_fromLocation:r});Wa(u)||console.error(u);return}},this.matchRoute=(n,r)=>{const a={...n,to:n.to?this.resolvePathWithBase(n.from||"",n.to):void 0,params:n.params||{},leaveParams:!0},s=this.buildLocation(a);if(r?.pending&&this.state.status!=="pending")return!1;const u=(r?.pending===void 0?!this.state.isLoading:r.pending)?this.latestLocation:this.state.resolvedLocation||this.state.location,d=y_(u.pathname,{...r,to:s.pathname},this.parsePathnameCache);return!d||n.params&&!tl(d,n.params,{partial:!0})?!1:d&&(r?.includeSearch??!0)?tl(u.search,s.search,{partial:!0})?d:!1:d},this.hasNotFoundMatch=()=>this.__store.state.matches.some(n=>n.status==="notFound"||n.globalNotFound),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...t,caseSensitive:t.caseSensitive??!1,notFoundMode:t.notFoundMode??"fuzzy",stringifySearch:t.stringifySearch??KG,parseSearch:t.parseSearch??YG}),typeof document<"u"&&(self.__TSR_ROUTER__=this)}isShell(){return!!this.options.isShell}isPrerendering(){return!!this.options.isPrerendering}get state(){return this.__store.state}get looseRoutesById(){return this.routesById}matchRoutesInternal(t,n){const{foundRoute:r,matchedRoutes:a,routeParams:s}=this.getMatchedRoutes(t.pathname,n?.dest?.to);let l=!1;(r?r.path!=="/"&&s["**"]:Zs(t.pathname))&&(this.options.notFoundRoute?a.push(this.options.notFoundRoute):l=!0);const u=(()=>{if(l){if(this.options.notFoundMode!=="root")for(let m=a.length-1;m>=0;m--){const p=a[m];if(p.children)return p.id}return ea}})(),d=[],f=m=>m?.id?m.context??this.options.context??void 0:this.options.context??void 0;return a.forEach((m,p)=>{const g=d[p-1],[x,j,w]=(()=>{const H=g?.search??t.search,V=g?._strictSearch??void 0;try{const q=b_(m.options.validateSearch,{...H})??void 0;return[{...H,...q},{...V,...q},void 0]}catch(q){let G=q;if(q instanceof jv||(G=new jv(q.message,{cause:q})),n?.throwOnError)throw G;return[H,{},G]}})(),b=m.options.loaderDeps?.({search:x})??"",N=b?JSON.stringify(b):"",{interpolatedPath:E,usedParams:O}=R0({path:m.fullPath,params:s,decodeCharMap:this.pathParamsDecodeCharMap}),A=m.id+E+N,C=this.getMatch(A),k=this.state.matches.find(H=>H.routeId===m.id),T=C?._strictParams??O;let M;if(!C){const H=m.options.params?.parse??m.options.parseParams;if(H)try{Object.assign(T,H(T))}catch(V){if(M=new oY(V.message,{cause:V}),n?.throwOnError)throw M}}Object.assign(s,T);const R=k?"stay":"enter";let B;if(C)B={...C,cause:R,params:k?_a(k.params,s):s,_strictParams:T,search:_a(k?k.search:C.search,x),_strictSearch:j};else{const H=m.options.loader||m.options.beforeLoad||m.lazyFn||c5(m)?"pending":"success";B={id:A,index:p,routeId:m.id,params:k?_a(k.params,s):s,_strictParams:T,pathname:E,updatedAt:Date.now(),search:k?_a(k.search,x):x,_strictSearch:j,searchError:void 0,status:H,isFetching:!1,error:void 0,paramsError:M,__routeContext:void 0,_nonReactive:{loadPromise:tu()},__beforeLoadContext:void 0,context:{},abortController:new AbortController,fetchCount:0,cause:R,loaderDeps:k?_a(k.loaderDeps,b):b,invalid:!1,preload:!1,links:void 0,scripts:void 0,headScripts:void 0,meta:void 0,staticData:m.options.staticData||{},fullPath:m.fullPath}}n?.preload||(B.globalNotFound=u===m.id),B.searchError=w;const $=f(g);B.context={...$,...B.__routeContext,...B.__beforeLoadContext},d.push(B)}),d.forEach((m,p)=>{const g=this.looseRoutesById[m.routeId];if(!this.getMatch(m.id)&&n?._buildLocation!==!0){const j=d[p-1],w=f(j);if(g.options.context){const b={deps:m.loaderDeps,params:m.params,context:w??{},location:t,navigate:N=>this.navigate({...N,_fromLocation:t}),buildLocation:this.buildLocation,cause:m.cause,abortController:m.abortController,preload:!!m.preload,matches:d};m.__routeContext=g.options.context(b)??void 0}m.context={...w,...m.__routeContext,...m.__beforeLoadContext}}}),d}}class jv extends Error{}class oY extends Error{}function lY(e){return{loadedAt:0,isLoading:!1,isTransitioning:!1,status:"idle",resolvedLocation:void 0,location:e,matches:[],pendingMatches:[],cachedMatches:[],statusCode:200}}function b_(e,t){if(e==null)return{};if("~standard"in e){const n=e["~standard"].validate(t);if(n instanceof Promise)throw new jv("Async validation not supported");if(n.issues)throw new jv(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return"parse"in e?e.parse(t):typeof e=="function"?e(t):{}}function cY({pathname:e,routePathname:t,caseSensitive:n,routesByPath:r,routesById:a,flatRoutes:s,parseCache:l}){let u={};const d=Zs(e),f=x=>y_(d,{to:x.fullPath,caseSensitive:x.options?.caseSensitive??n,fuzzy:!0},l);let m=t!==void 0?r[t]:void 0;if(m)u=f(m);else{let x;for(const j of s){const w=f(j);if(w)if(j.path!=="/"&&w["**"])x||(x={foundRoute:j,routeParams:w});else{m=j,u=w;break}}!m&&x&&(m=x.foundRoute,u=x.routeParams)}let p=m||a[ea];const g=[p];for(;p.parentRoute;)p=p.parentRoute,g.push(p);return g.reverse(),{matchedRoutes:g,routeParams:u,foundRoute:m}}function uY({search:e,dest:t,destRoutes:n,_includeValidateSearch:r}){const a=n.reduce((u,d)=>{const f=[];if("search"in d.options)d.options.search?.middlewares&&f.push(...d.options.search.middlewares);else if(d.options.preSearchFilters||d.options.postSearchFilters){const m=({search:p,next:g})=>{let x=p;"preSearchFilters"in d.options&&d.options.preSearchFilters&&(x=d.options.preSearchFilters.reduce((w,b)=>b(w),p));const j=g(x);return"postSearchFilters"in d.options&&d.options.postSearchFilters?d.options.postSearchFilters.reduce((w,b)=>b(w),j):j};f.push(m)}if(r&&d.options.validateSearch){const m=({search:p,next:g})=>{const x=g(p);try{return{...x,...b_(d.options.validateSearch,x)??void 0}}catch{return x}};f.push(m)}return u.concat(f)},[])??[],s=({search:u})=>t.search?t.search===!0?u:el(t.search,u):{};a.push(s);const l=(u,d)=>{if(u>=a.length)return d;const f=a[u];return f({search:d,next:p=>l(u+1,p)})};return l(0,e)}const dY="Error preloading route! ☝️";class h5{constructor(t){if(this.init=n=>{this.originalIndex=n.originalIndex;const r=this.options,a=!r?.path&&!r?.id;this.parentRoute=this.options.getParentRoute?.(),a?this._path=ea:this.parentRoute||pr(!1);let s=a?ea:r?.path;s&&s!=="/"&&(s=TC(s));const l=r?.id||s;let u=a?ea:ts([this.parentRoute.id===ea?"":this.parentRoute.id,l]);s===ea&&(s="/"),u!==ea&&(u=ts(["/",u]));const d=u===ea?"/":ts([this.parentRoute.fullPath,s]);this._path=s,this._id=u,this._fullPath=d,this._to=d},this.addChildren=n=>this._addFileChildren(n),this._addFileChildren=n=>(Array.isArray(n)&&(this.children=n),typeof n=="object"&&n!==null&&(this.children=Object.values(n)),this),this._addFileTypes=()=>this,this.updateLoader=n=>(Object.assign(this.options,n),this),this.update=n=>(Object.assign(this.options,n),this),this.lazy=n=>(this.lazyFn=n,this),this.options=t||{},this.isRoot=!t?.getParentRoute,t?.id&&t?.path)throw new Error("Route cannot have both an 'id' and a 'path' option.")}get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}}class fY extends h5{constructor(t){super(t)}}function kC(e){const t=e.errorComponent??qg;return i.jsx(hY,{getResetKey:e.getResetKey,onCatch:e.onCatch,children:({error:n,reset:r})=>n?y.createElement(t,{error:n,reset:r}):e.children})}class hY extends y.Component{constructor(){super(...arguments),this.state={error:null}}static getDerivedStateFromProps(t){return{resetKey:t.getResetKey()}}static getDerivedStateFromError(t){return{error:t}}reset(){this.setState({error:null})}componentDidUpdate(t,n){n.error&&n.resetKey!==this.state.resetKey&&this.reset()}componentDidCatch(t,n){this.props.onCatch&&this.props.onCatch(t,n)}render(){return this.props.children({error:this.state.resetKey!==this.props.getResetKey()?null:this.state.error,reset:()=>{this.reset()}})}}function qg({error:e}){const[t,n]=y.useState(!1);return i.jsxs("div",{style:{padding:".5rem",maxWidth:"100%"},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:".5rem"},children:[i.jsx("strong",{style:{fontSize:"1rem"},children:"Something went wrong!"}),i.jsx("button",{style:{appearance:"none",fontSize:".6em",border:"1px solid currentColor",padding:".1rem .2rem",fontWeight:"bold",borderRadius:".25rem"},onClick:()=>n(r=>!r),children:t?"Hide Error":"Show Error"})]}),i.jsx("div",{style:{height:".25rem"}}),t?i.jsx("div",{children:i.jsx("pre",{style:{fontSize:".7em",border:"1px solid red",borderRadius:".25rem",padding:".3rem",color:"red",overflow:"auto"},children:e.message?i.jsx("code",{children:e.message}):null})}):null]})}function mY({children:e,fallback:t=null}){return pY()?i.jsx(W.Fragment,{children:e}):i.jsx(W.Fragment,{children:t})}function pY(){return W.useSyncExternalStore(vY,()=>!0,()=>!1)}function vY(){return()=>{}}var $0={exports:{}},I0={},L0={exports:{}},B0={};var pM;function gY(){if(pM)return B0;pM=1;var e=Eh();function t(p,g){return p===g&&(p!==0||1/p===1/g)||p!==p&&g!==g}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,a=e.useEffect,s=e.useLayoutEffect,l=e.useDebugValue;function u(p,g){var x=g(),j=r({inst:{value:x,getSnapshot:g}}),w=j[0].inst,b=j[1];return s(function(){w.value=x,w.getSnapshot=g,d(w)&&b({inst:w})},[p,x,g]),a(function(){return d(w)&&b({inst:w}),p(function(){d(w)&&b({inst:w})})},[p]),l(x),x}function d(p){var g=p.getSnapshot;p=p.value;try{var x=g();return!n(p,x)}catch{return!0}}function f(p,g){return g()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return B0.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,B0}var vM;function yY(){return vM||(vM=1,L0.exports=gY()),L0.exports}var gM;function xY(){if(gM)return I0;gM=1;var e=Eh(),t=yY();function n(f,m){return f===m&&(f!==0||1/f===1/m)||f!==f&&m!==m}var r=typeof Object.is=="function"?Object.is:n,a=t.useSyncExternalStore,s=e.useRef,l=e.useEffect,u=e.useMemo,d=e.useDebugValue;return I0.useSyncExternalStoreWithSelector=function(f,m,p,g,x){var j=s(null);if(j.current===null){var w={hasValue:!1,value:null};j.current=w}else w=j.current;j=u(function(){function N(k){if(!E){if(E=!0,O=k,k=g(k),x!==void 0&&w.hasValue){var T=w.value;if(x(T,k))return A=T}return A=k}if(T=A,r(O,k))return T;var M=g(k);return x!==void 0&&x(T,M)?(O=k,T):(O=k,A=M)}var E=!1,O,A,C=p===void 0?null:p;return[function(){return N(m())},C===null?void 0:function(){return N(C())}]},[m,p,g,x]);var b=a(f,j[0],j[1]);return l(function(){w.hasValue=!0,w.value=b},[b]),d(b),b},I0}var yM;function bY(){return yM||(yM=1,$0.exports=xY()),$0.exports}var wY=bY();function jY(e,t=r=>r,n={}){const r=n.equal??SY;return wY.useSyncExternalStoreWithSelector(e.subscribe,()=>e.state,()=>e.state,t,r)}function SY(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,a]of e)if(!t.has(r)||!Object.is(a,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();const n=xM(e);if(n.length!==xM(t).length)return!1;for(let r=0;r"u"?z0:window.__TSR_ROUTER_CONTEXT__?window.__TSR_ROUTER_CONTEXT__:(window.__TSR_ROUTER_CONTEXT__=z0,z0)}function zr(e){const t=y.useContext(m5());return e?.warn,t}function Nr(e){const t=zr({warn:e?.router===void 0}),n=e?.router||t,r=y.useRef(void 0);return jY(n.__store,a=>{if(e?.select){if(e.structuralSharing??n.options.defaultStructuralSharing){const s=_a(r.current,e.select(a));return r.current=s,s}return e.select(a)}return a})}const Fg=y.createContext(void 0),_Y=y.createContext(void 0);function yi(e){const t=y.useContext(e.from?_Y:Fg);return Nr({select:r=>{const a=r.matches.find(s=>e.from?e.from===s.routeId:s.id===t);if(pr(!((e.shouldThrow??!0)&&!a),`Could not find ${e.from?`an active match from "${e.from}"`:"a nearest match!"}`),a!==void 0)return e.select?e.select(a):a},structuralSharing:e.structuralSharing})}function MC(e){return yi({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function PC(e){const{select:t,...n}=e;return yi({...n,select:r=>t?t(r.loaderDeps):r.loaderDeps})}function RC(e){return yi({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{const n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function DC(e){return yi({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function la(e){const t=zr();return y.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}var Sl=JL();const NY=At(Sl),Ap=typeof window<"u"?y.useLayoutEffect:y.useEffect;function q0(e){const t=y.useRef({value:e,prev:null}),n=t.current.value;return e!==n&&(t.current={value:e,prev:n}),t.current.prev}function CY(e,t,n={},r={}){y.useEffect(()=>{if(!e.current||r.disabled||typeof IntersectionObserver!="function")return;const a=new IntersectionObserver(([s])=>{t(s)},n);return a.observe(e.current),()=>{a.disconnect()}},[t,n,r.disabled,e])}function OY(e){const t=y.useRef(null);return y.useImperativeHandle(e,()=>t.current,[]),t}function EY(e,t){const n=zr(),[r,a]=y.useState(!1),s=y.useRef(!1),l=OY(t),{activeProps:u,inactiveProps:d,activeOptions:f,to:m,preload:p,preloadDelay:g,hashScrollIntoView:x,replace:j,startTransition:w,resetScroll:b,viewTransition:N,children:E,target:O,disabled:A,style:C,className:k,onClick:T,onFocus:M,onMouseEnter:R,onMouseLeave:B,onTouchStart:$,ignoreBlocker:H,params:V,search:q,hash:G,state:L,mask:D,reloadDocument:U,unsafeRelative:K,from:J,_fromLocation:I,...z}=e,Y=Nr({select:le=>le.location.search,structuralSharing:!0}),te=e.from,ae=y.useMemo(()=>({...e,from:te}),[n,Y,te,e._fromLocation,e.hash,e.to,e.search,e.params,e.state,e.mask,e.unsafeRelative]),ge=y.useMemo(()=>n.buildLocation({...ae}),[n,ae]),ee=y.useMemo(()=>{if(A)return;let le=ge.maskedLocation?ge.maskedLocation.url:ge.url,ue=!1;return n.origin&&(le.startsWith(n.origin)?le=n.history.createHref(le.replace(n.origin,""))||"/":ue=!0),{href:le,external:ue}},[A,ge.maskedLocation,ge.url,n.origin,n.history]),Se=y.useMemo(()=>{if(ee?.external)return ee.href;try{return new URL(m),m}catch{}},[m,ee]),re=e.reloadDocument||Se?!1:p??n.options.defaultPreload,we=g??n.options.defaultPreloadDelay??0,je=Nr({select:le=>{if(Se)return!1;if(f?.exact){if(!gG(le.location.pathname,ge.pathname,n.basepath))return!1}else{const ue=xv(le.location.pathname,n.basepath),Ve=xv(ge.pathname,n.basepath);if(!(ue.startsWith(Ve)&&(ue.length===Ve.length||ue[Ve.length]==="/")))return!1}return(f?.includeSearch??!0)&&!tl(le.location.search,ge.search,{partial:!f?.exact,ignoreUndefined:!f?.explicitUndefined})?!1:f?.includeHash?le.location.hash===ge.hash:!0}}),fe=y.useCallback(()=>{n.preloadRoute({...ae}).catch(le=>{console.warn(le),console.warn(dY)})},[n,ae]),Le=y.useCallback(le=>{le?.isIntersecting&&fe()},[fe]);CY(l,Le,PY,{disabled:!!A||re!=="viewport"}),y.useEffect(()=>{s.current||!A&&re==="render"&&(fe(),s.current=!0)},[A,fe,re]);const Oe=le=>{const ue=le.currentTarget.getAttribute("target"),Ve=O!==void 0?O:ue;if(!A&&!RY(le)&&!le.defaultPrevented&&(!Ve||Ve==="_self")&&le.button===0){le.preventDefault(),Sl.flushSync(()=>{a(!0)});const Mn=n.subscribe("onResolved",()=>{Mn(),a(!1)});n.navigate({...ae,replace:j,resetScroll:b,hashScrollIntoView:x,startTransition:w,viewTransition:N,ignoreBlocker:H})}};if(Se)return{...z,ref:l,href:Se,...E&&{children:E},...O&&{target:O},...A&&{disabled:A},...C&&{style:C},...k&&{className:k},...T&&{onClick:T},...M&&{onFocus:M},...R&&{onMouseEnter:R},...B&&{onMouseLeave:B},...$&&{onTouchStart:$}};const We=le=>{A||re&&fe()},be=We,Ae=le=>{if(!(A||!re))if(!we)fe();else{const ue=le.target;if(Zd.has(ue))return;const Ve=setTimeout(()=>{Zd.delete(ue),fe()},we);Zd.set(ue,Ve)}},ke=le=>{if(A||!re||!we)return;const ue=le.target,Ve=Zd.get(ue);Ve&&(clearTimeout(Ve),Zd.delete(ue))},Qt=je?el(u,{})??AY:F0,St=je?F0:el(d,{})??F0,Tt=[k,Qt.className,St.className].filter(Boolean).join(" "),Sn=(C||Qt.style||St.style)&&{...C,...Qt.style,...St.style};return{...z,...Qt,...St,href:ee?.href,ref:l,onClick:Qd([T,Oe]),onFocus:Qd([M,We]),onMouseEnter:Qd([R,Ae]),onMouseLeave:Qd([B,ke]),onTouchStart:Qd([$,be]),disabled:!!A,target:O,...Sn&&{style:Sn},...Tt&&{className:Tt},...A&&TY,...je&&kY,...r&&MY}}const F0={},AY={className:"active"},TY={role:"link","aria-disabled":!0},kY={"data-status":"active","aria-current":"page"},MY={"data-transitioning":"transitioning"},Zd=new WeakMap,PY={rootMargin:"100px"},Qd=e=>t=>{for(const n of e)if(n){if(t.defaultPrevented)return;n(t)}},$C=y.forwardRef((e,t)=>{const{_asChild:n,...r}=e,{type:a,ref:s,...l}=EY(r,t),u=typeof r.children=="function"?r.children({isActive:l["data-status"]==="active"}):r.children;return n===void 0&&delete l.disabled,y.createElement(n||"a",{...l,ref:s},u)});function RY(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}class DY extends h5{constructor(t){super(t),this.useMatch=n=>yi({select:n?.select,from:this.id,structuralSharing:n?.structuralSharing}),this.useRouteContext=n=>yi({...n,from:this.id,select:r=>n?.select?n.select(r.context):r.context}),this.useSearch=n=>DC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useParams=n=>RC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useLoaderDeps=n=>PC({...n,from:this.id}),this.useLoaderData=n=>MC({...n,from:this.id}),this.useNavigate=()=>la({from:this.fullPath}),this.Link=W.forwardRef((n,r)=>i.jsx($C,{ref:r,from:this.fullPath,...n})),this.$$typeof=Symbol.for("react.memo")}}function or(e){return new DY(e)}class $Y extends fY{constructor(t){super(t),this.useMatch=n=>yi({select:n?.select,from:this.id,structuralSharing:n?.structuralSharing}),this.useRouteContext=n=>yi({...n,from:this.id,select:r=>n?.select?n.select(r.context):r.context}),this.useSearch=n=>DC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useParams=n=>RC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useLoaderDeps=n=>PC({...n,from:this.id}),this.useLoaderData=n=>MC({...n,from:this.id}),this.useNavigate=()=>la({from:this.fullPath}),this.Link=W.forwardRef((n,r)=>i.jsx($C,{ref:r,from:this.fullPath,...n})),this.$$typeof=Symbol.for("react.memo")}}function IY(e){return new $Y(e)}function bM(e){return typeof e=="object"?new wM(e,{silent:!0}).createRoute(e):new wM(e,{silent:!0}).createRoute}class wM{constructor(t,n){this.path=t,this.createRoute=r=>{this.silent;const a=or(r);return a.isRoot=!1,a},this.silent=n?.silent}}class jM{constructor(t){this.useMatch=n=>yi({select:n?.select,from:this.options.id,structuralSharing:n?.structuralSharing}),this.useRouteContext=n=>yi({from:this.options.id,select:r=>n?.select?n.select(r.context):r.context}),this.useSearch=n=>DC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.options.id}),this.useParams=n=>RC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.options.id}),this.useLoaderDeps=n=>PC({...n,from:this.options.id}),this.useLoaderData=n=>MC({...n,from:this.options.id}),this.useNavigate=()=>{const n=zr();return la({from:n.routesById[this.options.id].fullPath})},this.options=t,this.$$typeof=Symbol.for("react.memo")}}function SM(e){return typeof e=="object"?new jM(e):t=>new jM({id:e,...t})}function LY(){const e=zr(),t=y.useRef({router:e,mounted:!1}),[n,r]=y.useState(!1),{hasPendingMatches:a,isLoading:s}=Nr({select:p=>({isLoading:p.isLoading,hasPendingMatches:p.matches.some(g=>g.status==="pending")}),structuralSharing:!0}),l=q0(s),u=s||n||a,d=q0(u),f=s||a,m=q0(f);return e.startTransition=p=>{r(!0),y.startTransition(()=>{p(),r(!1)})},y.useEffect(()=>{const p=e.history.subscribe(e.load),g=e.buildLocation({to:e.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return Zs(e.latestLocation.href)!==Zs(g.href)&&e.commitLocation({...g,replace:!0}),()=>{p()}},[e,e.history]),Ap(()=>{if(typeof window<"u"&&e.ssr||t.current.router===e&&t.current.mounted)return;t.current={router:e,mounted:!0},(async()=>{try{await e.load()}catch(g){console.error(g)}})()},[e]),Ap(()=>{l&&!s&&e.emit({type:"onLoad",...nl(e.state)})},[l,e,s]),Ap(()=>{m&&!f&&e.emit({type:"onBeforeRouteMount",...nl(e.state)})},[f,m,e]),Ap(()=>{d&&!u&&(e.emit({type:"onResolved",...nl(e.state)}),e.__store.setState(p=>({...p,status:"idle",resolvedLocation:p.location})),WG(e))},[u,d,e]),null}function BY(e){const t=Nr({select:n=>`not-found-${n.location.pathname}-${n.status}`});return i.jsx(kC,{getResetKey:()=>t,onCatch:(n,r)=>{if(Wa(n))e.onCatch?.(n,r);else throw n},errorComponent:({error:n})=>{if(Wa(n))return e.fallback?.(n);throw n},children:e.children})}function zY(){return i.jsx("p",{children:"Not Found"})}function Rc(e){return i.jsx(i.Fragment,{children:e.children})}function p5(e,t,n){return t.options.notFoundComponent?i.jsx(t.options.notFoundComponent,{data:n}):e.options.defaultNotFoundComponent?i.jsx(e.options.defaultNotFoundComponent,{data:n}):i.jsx(zY,{})}function qY({children:e}){const t=zr();return t.isServer?i.jsx("script",{nonce:t.options.ssr?.nonce,className:"$tsr",dangerouslySetInnerHTML:{__html:[e].filter(Boolean).join(` -`)+";$_TSR.c()"}}):null}function FY(){const e=zr();if(!e.isScrollRestoring||!e.isServer||typeof e.options.scrollRestoration=="function"&&!e.options.scrollRestoration({location:e.latestLocation}))return null;const n=(e.options.getScrollRestorationKey||x_)(e.latestLocation),r=n!==x_(e.latestLocation)?n:void 0,a={storageKey:bv,shouldScrollRestoration:!0};return r&&(a.key=r),i.jsx(qY,{children:`(${n5.toString()})(${JSON.stringify(a)})`})}const v5=y.memo(function({matchId:t}){const n=zr(),r=Nr({select:N=>{const E=N.matches.find(O=>O.id===t);return pr(E),{routeId:E.routeId,ssr:E.ssr,_displayPending:E._displayPending}},structuralSharing:!0}),a=n.routesById[r.routeId],s=a.options.pendingComponent??n.options.defaultPendingComponent,l=s?i.jsx(s,{}):null,u=a.options.errorComponent??n.options.defaultErrorComponent,d=a.options.onCatch??n.options.defaultOnCatch,f=a.isRoot?a.options.notFoundComponent??n.options.notFoundRoute?.options.component:a.options.notFoundComponent,m=r.ssr===!1||r.ssr==="data-only",p=(!a.isRoot||a.options.wrapInSuspense||m)&&(a.options.wrapInSuspense??s??(a.options.errorComponent?.preload||m))?y.Suspense:Rc,g=u?kC:Rc,x=f?BY:Rc,j=Nr({select:N=>N.loadedAt}),w=Nr({select:N=>{const E=N.matches.findIndex(O=>O.id===t);return N.matches[E-1]?.routeId}}),b=a.isRoot?a.options.shellComponent??Rc:Rc;return i.jsxs(b,{children:[i.jsx(Fg.Provider,{value:t,children:i.jsx(p,{fallback:l,children:i.jsx(g,{getResetKey:()=>j,errorComponent:u||qg,onCatch:(N,E)=>{if(Wa(N))throw N;d?.(N,E)},children:i.jsx(x,{fallback:N=>{if(!f||N.routeId&&N.routeId!==r.routeId||!N.routeId&&!a.isRoot)throw N;return y.createElement(f,N)},children:m||r._displayPending?i.jsx(mY,{fallback:l,children:i.jsx(_M,{matchId:t})}):i.jsx(_M,{matchId:t})})})})}),w===ea&&n.options.scrollRestoration?i.jsxs(i.Fragment,{children:[i.jsx(UY,{}),i.jsx(FY,{})]}):null]})});function UY(){const e=zr(),t=y.useRef(void 0);return i.jsx("script",{suppressHydrationWarning:!0,ref:n=>{n&&(t.current===void 0||t.current.href!==e.latestLocation.href)&&(e.emit({type:"onRendered",...nl(e.state)}),t.current=e.latestLocation)}},e.latestLocation.state.__TSR_key)}const _M=y.memo(function({matchId:t}){const n=zr(),{match:r,key:a,routeId:s}=Nr({select:d=>{const f=d.matches.find(j=>j.id===t),m=f.routeId,g=(n.routesById[m].options.remountDeps??n.options.defaultRemountDeps)?.({routeId:m,loaderDeps:f.loaderDeps,params:f._strictParams,search:f._strictSearch});return{key:g?JSON.stringify(g):void 0,routeId:m,match:{id:f.id,status:f.status,error:f.error,_forcePending:f._forcePending,_displayPending:f._displayPending}}},structuralSharing:!0}),l=n.routesById[s],u=y.useMemo(()=>{const d=l.options.component??n.options.defaultComponent;return d?i.jsx(d,{},a):i.jsx(IC,{})},[a,l.options.component,n.options.defaultComponent]);if(r._displayPending)throw n.getMatch(r.id)?._nonReactive.displayPendingPromise;if(r._forcePending)throw n.getMatch(r.id)?._nonReactive.minPendingPromise;if(r.status==="pending"){const d=l.options.pendingMinMs??n.options.defaultPendingMinMs;if(d){const f=n.getMatch(r.id);if(f&&!f._nonReactive.minPendingPromise&&!n.isServer){const m=tu();f._nonReactive.minPendingPromise=m,setTimeout(()=>{m.resolve(),f._nonReactive.minPendingPromise=void 0},d)}}throw n.getMatch(r.id)?._nonReactive.loadPromise}if(r.status==="notFound")return pr(Wa(r.error)),p5(n,l,r.error);if(r.status==="redirected")throw pr(ci(r.error)),n.getMatch(r.id)?._nonReactive.loadPromise;if(r.status==="error"){if(n.isServer){const d=(l.options.errorComponent??n.options.defaultErrorComponent)||qg;return i.jsx(d,{error:r.error,reset:void 0,info:{componentStack:""}})}throw r.error}return u}),IC=y.memo(function(){const t=zr(),n=y.useContext(Fg),r=Nr({select:f=>f.matches.find(m=>m.id===n)?.routeId}),a=t.routesById[r],s=Nr({select:f=>{const p=f.matches.find(g=>g.id===n);return pr(p),p.globalNotFound}}),l=Nr({select:f=>{const m=f.matches,p=m.findIndex(g=>g.id===n);return m[p+1]?.id}}),u=t.options.defaultPendingComponent?i.jsx(t.options.defaultPendingComponent,{}):null;if(s)return p5(t,a,void 0);if(!l)return null;const d=i.jsx(v5,{matchId:l});return r===ea?i.jsx(y.Suspense,{fallback:u,children:d}):d});function HY(){const e=zr(),n=e.routesById[ea].options.pendingComponent??e.options.defaultPendingComponent,r=n?i.jsx(n,{}):null,a=e.isServer||typeof document<"u"&&e.ssr?Rc:y.Suspense,s=i.jsxs(a,{fallback:r,children:[!e.isServer&&i.jsx(LY,{}),i.jsx(WY,{})]});return e.options.InnerWrap?i.jsx(e.options.InnerWrap,{children:s}):s}function WY(){const e=zr(),t=Nr({select:a=>a.matches[0]?.id}),n=Nr({select:a=>a.loadedAt}),r=t?i.jsx(v5,{matchId:t}):null;return i.jsx(Fg.Provider,{value:t,children:e.options.disableGlobalCatchBoundary?r:i.jsx(kC,{getResetKey:()=>n,errorComponent:qg,onCatch:a=>{a.message||a.toString()},children:r})})}function VY(){const e=zr();return Nr({select:t=>[t.location.href,t.resolvedLocation?.href,t.status],structuralSharing:!0}),y.useCallback(t=>{const{pending:n,caseSensitive:r,fuzzy:a,includeSearch:s,...l}=t;return e.matchRoute(l,{pending:n,caseSensitive:r,fuzzy:a,includeSearch:s})},[e])}const GY=e=>new YY(e);class YY extends sY{constructor(t){super(t)}}typeof globalThis<"u"?(globalThis.createFileRoute=bM,globalThis.createLazyFileRoute=SM):typeof window<"u"&&(window.createFileRoute=bM,window.createLazyFileRoute=SM);function KY({router:e,children:t,...n}){Object.keys(n).length>0&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});const r=m5(),a=i.jsx(r.Provider,{value:e,children:t});return e.options.Wrap?i.jsx(e.options.Wrap,{children:a}):a}function XY({router:e,...t}){return i.jsx(KY,{router:e,...t,children:i.jsx(HY,{})})}function g5(e,t){return function(){return e.apply(t,arguments)}}const{toString:ZY}=Object.prototype,{getPrototypeOf:LC}=Object,{iterator:Ug,toStringTag:y5}=Symbol,Hg=(e=>t=>{const n=ZY.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Ka=e=>(e=e.toLowerCase(),t=>Hg(t)===e),Wg=e=>t=>typeof t===e,{isArray:Lu}=Array,iu=Wg("undefined");function Ah(e){return e!==null&&!iu(e)&&e.constructor!==null&&!iu(e.constructor)&&Dr(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const x5=Ka("ArrayBuffer");function QY(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&x5(e.buffer),t}const JY=Wg("string"),Dr=Wg("function"),b5=Wg("number"),Th=e=>e!==null&&typeof e=="object",eK=e=>e===!0||e===!1,sv=e=>{if(Hg(e)!=="object")return!1;const t=LC(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(y5 in e)&&!(Ug in e)},tK=e=>{if(!Th(e)||Ah(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},nK=Ka("Date"),rK=Ka("File"),aK=Ka("Blob"),iK=Ka("FileList"),sK=e=>Th(e)&&Dr(e.pipe),oK=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Dr(e.append)&&((t=Hg(e))==="formdata"||t==="object"&&Dr(e.toString)&&e.toString()==="[object FormData]"))},lK=Ka("URLSearchParams"),[cK,uK,dK,fK]=["ReadableStream","Request","Response","Headers"].map(Ka),hK=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function kh(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,a;if(typeof e!="object"&&(e=[e]),Lu(e))for(r=0,a=e.length;r0;)if(a=n[r],t===a.toLowerCase())return a;return null}const Yo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,j5=e=>!iu(e)&&e!==Yo;function w_(){const{caseless:e,skipUndefined:t}=j5(this)&&this||{},n={},r=(a,s)=>{const l=e&&w5(n,s)||s;sv(n[l])&&sv(a)?n[l]=w_(n[l],a):sv(a)?n[l]=w_({},a):Lu(a)?n[l]=a.slice():(!t||!iu(a))&&(n[l]=a)};for(let a=0,s=arguments.length;a(kh(t,(a,s)=>{n&&Dr(a)?e[s]=g5(a,n):e[s]=a},{allOwnKeys:r}),e),pK=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),vK=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},gK=(e,t,n,r)=>{let a,s,l;const u={};if(t=t||{},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),s=a.length;s-- >0;)l=a[s],(!r||r(l,e,t))&&!u[l]&&(t[l]=e[l],u[l]=!0);e=n!==!1&&LC(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},yK=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},xK=e=>{if(!e)return null;if(Lu(e))return e;let t=e.length;if(!b5(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},bK=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&LC(Uint8Array)),wK=(e,t)=>{const r=(e&&e[Ug]).call(e);let a;for(;(a=r.next())&&!a.done;){const s=a.value;t.call(e,s[0],s[1])}},jK=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},SK=Ka("HTMLFormElement"),_K=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,a){return r.toUpperCase()+a}),NM=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),NK=Ka("RegExp"),S5=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};kh(n,(a,s)=>{let l;(l=t(a,s,e))!==!1&&(r[s]=l||a)}),Object.defineProperties(e,r)},CK=e=>{S5(e,(t,n)=>{if(Dr(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(Dr(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},OK=(e,t)=>{const n={},r=a=>{a.forEach(s=>{n[s]=!0})};return Lu(e)?r(e):r(String(e).split(t)),n},EK=()=>{},AK=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function TK(e){return!!(e&&Dr(e.append)&&e[y5]==="FormData"&&e[Ug])}const kK=e=>{const t=new Array(10),n=(r,a)=>{if(Th(r)){if(t.indexOf(r)>=0)return;if(Ah(r))return r;if(!("toJSON"in r)){t[a]=r;const s=Lu(r)?[]:{};return kh(r,(l,u)=>{const d=n(l,a+1);!iu(d)&&(s[u]=d)}),t[a]=void 0,s}}return r};return n(e,0)},MK=Ka("AsyncFunction"),PK=e=>e&&(Th(e)||Dr(e))&&Dr(e.then)&&Dr(e.catch),_5=((e,t)=>e?setImmediate:t?((n,r)=>(Yo.addEventListener("message",({source:a,data:s})=>{a===Yo&&s===n&&r.length&&r.shift()()},!1),a=>{r.push(a),Yo.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Dr(Yo.postMessage)),RK=typeof queueMicrotask<"u"?queueMicrotask.bind(Yo):typeof process<"u"&&process.nextTick||_5,DK=e=>e!=null&&Dr(e[Ug]),he={isArray:Lu,isArrayBuffer:x5,isBuffer:Ah,isFormData:oK,isArrayBufferView:QY,isString:JY,isNumber:b5,isBoolean:eK,isObject:Th,isPlainObject:sv,isEmptyObject:tK,isReadableStream:cK,isRequest:uK,isResponse:dK,isHeaders:fK,isUndefined:iu,isDate:nK,isFile:rK,isBlob:aK,isRegExp:NK,isFunction:Dr,isStream:sK,isURLSearchParams:lK,isTypedArray:bK,isFileList:iK,forEach:kh,merge:w_,extend:mK,trim:hK,stripBOM:pK,inherits:vK,toFlatObject:gK,kindOf:Hg,kindOfTest:Ka,endsWith:yK,toArray:xK,forEachEntry:wK,matchAll:jK,isHTMLForm:SK,hasOwnProperty:NM,hasOwnProp:NM,reduceDescriptors:S5,freezeMethods:CK,toObjectSet:OK,toCamelCase:_K,noop:EK,toFiniteNumber:AK,findKey:w5,global:Yo,isContextDefined:j5,isSpecCompliantForm:TK,toJSONObject:kK,isAsyncFn:MK,isThenable:PK,setImmediate:_5,asap:RK,isIterable:DK};function tt(e,t,n,r,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),a&&(this.response=a,this.status=a.status?a.status:null)}he.inherits(tt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:he.toJSONObject(this.config),code:this.code,status:this.status}}});const N5=tt.prototype,C5={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{C5[e]={value:e}});Object.defineProperties(tt,C5);Object.defineProperty(N5,"isAxiosError",{value:!0});tt.from=(e,t,n,r,a,s)=>{const l=Object.create(N5);he.toFlatObject(e,l,function(m){return m!==Error.prototype},f=>f!=="isAxiosError");const u=e&&e.message?e.message:"Error",d=t==null&&e?e.code:t;return tt.call(l,u,d,n,r,a),e&&l.cause==null&&Object.defineProperty(l,"cause",{value:e,configurable:!0}),l.name=e&&e.name||"Error",s&&Object.assign(l,s),l};const $K=null;function j_(e){return he.isPlainObject(e)||he.isArray(e)}function O5(e){return he.endsWith(e,"[]")?e.slice(0,-2):e}function CM(e,t,n){return e?e.concat(t).map(function(a,s){return a=O5(a),!n&&s?"["+a+"]":a}).join(n?".":""):t}function IK(e){return he.isArray(e)&&!e.some(j_)}const LK=he.toFlatObject(he,{},null,function(t){return/^is[A-Z]/.test(t)});function Vg(e,t,n){if(!he.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=he.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,b){return!he.isUndefined(b[w])});const r=n.metaTokens,a=n.visitor||m,s=n.dots,l=n.indexes,d=(n.Blob||typeof Blob<"u"&&Blob)&&he.isSpecCompliantForm(t);if(!he.isFunction(a))throw new TypeError("visitor must be a function");function f(j){if(j===null)return"";if(he.isDate(j))return j.toISOString();if(he.isBoolean(j))return j.toString();if(!d&&he.isBlob(j))throw new tt("Blob is not supported. Use a Buffer instead.");return he.isArrayBuffer(j)||he.isTypedArray(j)?d&&typeof Blob=="function"?new Blob([j]):Buffer.from(j):j}function m(j,w,b){let N=j;if(j&&!b&&typeof j=="object"){if(he.endsWith(w,"{}"))w=r?w:w.slice(0,-2),j=JSON.stringify(j);else if(he.isArray(j)&&IK(j)||(he.isFileList(j)||he.endsWith(w,"[]"))&&(N=he.toArray(j)))return w=O5(w),N.forEach(function(O,A){!(he.isUndefined(O)||O===null)&&t.append(l===!0?CM([w],A,s):l===null?w:w+"[]",f(O))}),!1}return j_(j)?!0:(t.append(CM(b,w,s),f(j)),!1)}const p=[],g=Object.assign(LK,{defaultVisitor:m,convertValue:f,isVisitable:j_});function x(j,w){if(!he.isUndefined(j)){if(p.indexOf(j)!==-1)throw Error("Circular reference detected in "+w.join("."));p.push(j),he.forEach(j,function(N,E){(!(he.isUndefined(N)||N===null)&&a.call(t,N,he.isString(E)?E.trim():E,w,g))===!0&&x(N,w?w.concat(E):[E])}),p.pop()}}if(!he.isObject(e))throw new TypeError("data must be an object");return x(e),t}function OM(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function BC(e,t){this._pairs=[],e&&Vg(e,this,t)}const E5=BC.prototype;E5.append=function(t,n){this._pairs.push([t,n])};E5.toString=function(t){const n=t?function(r){return t.call(this,r,OM)}:OM;return this._pairs.map(function(a){return n(a[0])+"="+n(a[1])},"").join("&")};function BK(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function A5(e,t,n){if(!t)return e;const r=n&&n.encode||BK;he.isFunction(n)&&(n={serialize:n});const a=n&&n.serialize;let s;if(a?s=a(t,n):s=he.isURLSearchParams(t)?t.toString():new BC(t,n).toString(r),s){const l=e.indexOf("#");l!==-1&&(e=e.slice(0,l)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class EM{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){he.forEach(this.handlers,function(r){r!==null&&t(r)})}}const T5={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},zK=typeof URLSearchParams<"u"?URLSearchParams:BC,qK=typeof FormData<"u"?FormData:null,FK=typeof Blob<"u"?Blob:null,UK={isBrowser:!0,classes:{URLSearchParams:zK,FormData:qK,Blob:FK},protocols:["http","https","file","blob","url","data"]},zC=typeof window<"u"&&typeof document<"u",S_=typeof navigator=="object"&&navigator||void 0,HK=zC&&(!S_||["ReactNative","NativeScript","NS"].indexOf(S_.product)<0),WK=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",VK=zC&&window.location.href||"http://localhost",GK=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:zC,hasStandardBrowserEnv:HK,hasStandardBrowserWebWorkerEnv:WK,navigator:S_,origin:VK},Symbol.toStringTag,{value:"Module"})),hr={...GK,...UK};function YK(e,t){return Vg(e,new hr.classes.URLSearchParams,{visitor:function(n,r,a,s){return hr.isNode&&he.isBuffer(n)?(this.append(r,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}function KK(e){return he.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function XK(e){const t={},n=Object.keys(e);let r;const a=n.length;let s;for(r=0;r=n.length;return l=!l&&he.isArray(a)?a.length:l,d?(he.hasOwnProp(a,l)?a[l]=[a[l],r]:a[l]=r,!u):((!a[l]||!he.isObject(a[l]))&&(a[l]=[]),t(n,r,a[l],s)&&he.isArray(a[l])&&(a[l]=XK(a[l])),!u)}if(he.isFormData(e)&&he.isFunction(e.entries)){const n={};return he.forEachEntry(e,(r,a)=>{t(KK(r),a,n,0)}),n}return null}function ZK(e,t,n){if(he.isString(e))try{return(t||JSON.parse)(e),he.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Mh={transitional:T5,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",a=r.indexOf("application/json")>-1,s=he.isObject(t);if(s&&he.isHTMLForm(t)&&(t=new FormData(t)),he.isFormData(t))return a?JSON.stringify(k5(t)):t;if(he.isArrayBuffer(t)||he.isBuffer(t)||he.isStream(t)||he.isFile(t)||he.isBlob(t)||he.isReadableStream(t))return t;if(he.isArrayBufferView(t))return t.buffer;if(he.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let u;if(s){if(r.indexOf("application/x-www-form-urlencoded")>-1)return YK(t,this.formSerializer).toString();if((u=he.isFileList(t))||r.indexOf("multipart/form-data")>-1){const d=this.env&&this.env.FormData;return Vg(u?{"files[]":t}:t,d&&new d,this.formSerializer)}}return s||a?(n.setContentType("application/json",!1),ZK(t)):t}],transformResponse:[function(t){const n=this.transitional||Mh.transitional,r=n&&n.forcedJSONParsing,a=this.responseType==="json";if(he.isResponse(t)||he.isReadableStream(t))return t;if(t&&he.isString(t)&&(r&&!this.responseType||a)){const l=!(n&&n.silentJSONParsing)&&a;try{return JSON.parse(t,this.parseReviver)}catch(u){if(l)throw u.name==="SyntaxError"?tt.from(u,tt.ERR_BAD_RESPONSE,this,null,this.response):u}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:hr.classes.FormData,Blob:hr.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};he.forEach(["delete","get","head","post","put","patch"],e=>{Mh.headers[e]={}});const QK=he.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),JK=e=>{const t={};let n,r,a;return e&&e.split(` -`).forEach(function(l){a=l.indexOf(":"),n=l.substring(0,a).trim().toLowerCase(),r=l.substring(a+1).trim(),!(!n||t[n]&&QK[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},AM=Symbol("internals");function Jd(e){return e&&String(e).trim().toLowerCase()}function ov(e){return e===!1||e==null?e:he.isArray(e)?e.map(ov):String(e)}function eX(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const tX=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function U0(e,t,n,r,a){if(he.isFunction(r))return r.call(this,t,n);if(a&&(t=n),!!he.isString(t)){if(he.isString(r))return t.indexOf(r)!==-1;if(he.isRegExp(r))return r.test(t)}}function nX(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function rX(e,t){const n=he.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(a,s,l){return this[r].call(this,t,a,s,l)},configurable:!0})})}let $r=class{constructor(t){t&&this.set(t)}set(t,n,r){const a=this;function s(u,d,f){const m=Jd(d);if(!m)throw new Error("header name must be a non-empty string");const p=he.findKey(a,m);(!p||a[p]===void 0||f===!0||f===void 0&&a[p]!==!1)&&(a[p||d]=ov(u))}const l=(u,d)=>he.forEach(u,(f,m)=>s(f,m,d));if(he.isPlainObject(t)||t instanceof this.constructor)l(t,n);else if(he.isString(t)&&(t=t.trim())&&!tX(t))l(JK(t),n);else if(he.isObject(t)&&he.isIterable(t)){let u={},d,f;for(const m of t){if(!he.isArray(m))throw TypeError("Object iterator must return a key-value pair");u[f=m[0]]=(d=u[f])?he.isArray(d)?[...d,m[1]]:[d,m[1]]:m[1]}l(u,n)}else t!=null&&s(n,t,r);return this}get(t,n){if(t=Jd(t),t){const r=he.findKey(this,t);if(r){const a=this[r];if(!n)return a;if(n===!0)return eX(a);if(he.isFunction(n))return n.call(this,a,r);if(he.isRegExp(n))return n.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Jd(t),t){const r=he.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||U0(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let a=!1;function s(l){if(l=Jd(l),l){const u=he.findKey(r,l);u&&(!n||U0(r,r[u],u,n))&&(delete r[u],a=!0)}}return he.isArray(t)?t.forEach(s):s(t),a}clear(t){const n=Object.keys(this);let r=n.length,a=!1;for(;r--;){const s=n[r];(!t||U0(this,this[s],s,t,!0))&&(delete this[s],a=!0)}return a}normalize(t){const n=this,r={};return he.forEach(this,(a,s)=>{const l=he.findKey(r,s);if(l){n[l]=ov(a),delete n[s];return}const u=t?nX(s):String(s).trim();u!==s&&delete n[s],n[u]=ov(a),r[u]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return he.forEach(this,(r,a)=>{r!=null&&r!==!1&&(n[a]=t&&he.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` -`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(a=>r.set(a)),r}static accessor(t){const r=(this[AM]=this[AM]={accessors:{}}).accessors,a=this.prototype;function s(l){const u=Jd(l);r[u]||(rX(a,l),r[u]=!0)}return he.isArray(t)?t.forEach(s):s(t),this}};$r.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);he.reduceDescriptors($r.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});he.freezeMethods($r);function H0(e,t){const n=this||Mh,r=t||n,a=$r.from(r.headers);let s=r.data;return he.forEach(e,function(u){s=u.call(n,s,a.normalize(),t?t.status:void 0)}),a.normalize(),s}function M5(e){return!!(e&&e.__CANCEL__)}function Bu(e,t,n){tt.call(this,e??"canceled",tt.ERR_CANCELED,t,n),this.name="CanceledError"}he.inherits(Bu,tt,{__CANCEL__:!0});function P5(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new tt("Request failed with status code "+n.status,[tt.ERR_BAD_REQUEST,tt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function aX(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function iX(e,t){e=e||10;const n=new Array(e),r=new Array(e);let a=0,s=0,l;return t=t!==void 0?t:1e3,function(d){const f=Date.now(),m=r[s];l||(l=f),n[a]=d,r[a]=f;let p=s,g=0;for(;p!==a;)g+=n[p++],p=p%e;if(a=(a+1)%e,a===s&&(s=(s+1)%e),f-l{n=m,a=null,s&&(clearTimeout(s),s=null),e(...f)};return[(...f)=>{const m=Date.now(),p=m-n;p>=r?l(f,m):(a=f,s||(s=setTimeout(()=>{s=null,l(a)},r-p)))},()=>a&&l(a)]}const Sv=(e,t,n=3)=>{let r=0;const a=iX(50,250);return sX(s=>{const l=s.loaded,u=s.lengthComputable?s.total:void 0,d=l-r,f=a(d),m=l<=u;r=l;const p={loaded:l,total:u,progress:u?l/u:void 0,bytes:d,rate:f||void 0,estimated:f&&u&&m?(u-l)/f:void 0,event:s,lengthComputable:u!=null,[t?"download":"upload"]:!0};e(p)},n)},TM=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},kM=e=>(...t)=>he.asap(()=>e(...t)),oX=hr.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,hr.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(hr.origin),hr.navigator&&/(msie|trident)/i.test(hr.navigator.userAgent)):()=>!0,lX=hr.hasStandardBrowserEnv?{write(e,t,n,r,a,s,l){if(typeof document>"u")return;const u=[`${e}=${encodeURIComponent(t)}`];he.isNumber(n)&&u.push(`expires=${new Date(n).toUTCString()}`),he.isString(r)&&u.push(`path=${r}`),he.isString(a)&&u.push(`domain=${a}`),s===!0&&u.push("secure"),he.isString(l)&&u.push(`SameSite=${l}`),document.cookie=u.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function cX(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function uX(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function R5(e,t,n){let r=!cX(t);return e&&(r||n==!1)?uX(e,t):t}const MM=e=>e instanceof $r?{...e}:e;function ul(e,t){t=t||{};const n={};function r(f,m,p,g){return he.isPlainObject(f)&&he.isPlainObject(m)?he.merge.call({caseless:g},f,m):he.isPlainObject(m)?he.merge({},m):he.isArray(m)?m.slice():m}function a(f,m,p,g){if(he.isUndefined(m)){if(!he.isUndefined(f))return r(void 0,f,p,g)}else return r(f,m,p,g)}function s(f,m){if(!he.isUndefined(m))return r(void 0,m)}function l(f,m){if(he.isUndefined(m)){if(!he.isUndefined(f))return r(void 0,f)}else return r(void 0,m)}function u(f,m,p){if(p in t)return r(f,m);if(p in e)return r(void 0,f)}const d={url:s,method:s,data:s,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,withXSRFToken:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,responseEncoding:l,validateStatus:u,headers:(f,m,p)=>a(MM(f),MM(m),p,!0)};return he.forEach(Object.keys({...e,...t}),function(m){const p=d[m]||a,g=p(e[m],t[m],m);he.isUndefined(g)&&p!==u||(n[m]=g)}),n}const D5=e=>{const t=ul({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:a,xsrfCookieName:s,headers:l,auth:u}=t;if(t.headers=l=$r.from(l),t.url=A5(R5(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),u&&l.set("Authorization","Basic "+btoa((u.username||"")+":"+(u.password?unescape(encodeURIComponent(u.password)):""))),he.isFormData(n)){if(hr.hasStandardBrowserEnv||hr.hasStandardBrowserWebWorkerEnv)l.setContentType(void 0);else if(he.isFunction(n.getHeaders)){const d=n.getHeaders(),f=["content-type","content-length"];Object.entries(d).forEach(([m,p])=>{f.includes(m.toLowerCase())&&l.set(m,p)})}}if(hr.hasStandardBrowserEnv&&(r&&he.isFunction(r)&&(r=r(t)),r||r!==!1&&oX(t.url))){const d=a&&s&&lX.read(s);d&&l.set(a,d)}return t},dX=typeof XMLHttpRequest<"u",fX=dX&&function(e){return new Promise(function(n,r){const a=D5(e);let s=a.data;const l=$r.from(a.headers).normalize();let{responseType:u,onUploadProgress:d,onDownloadProgress:f}=a,m,p,g,x,j;function w(){x&&x(),j&&j(),a.cancelToken&&a.cancelToken.unsubscribe(m),a.signal&&a.signal.removeEventListener("abort",m)}let b=new XMLHttpRequest;b.open(a.method.toUpperCase(),a.url,!0),b.timeout=a.timeout;function N(){if(!b)return;const O=$r.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),C={data:!u||u==="text"||u==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:O,config:e,request:b};P5(function(T){n(T),w()},function(T){r(T),w()},C),b=null}"onloadend"in b?b.onloadend=N:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(N)},b.onabort=function(){b&&(r(new tt("Request aborted",tt.ECONNABORTED,e,b)),b=null)},b.onerror=function(A){const C=A&&A.message?A.message:"Network Error",k=new tt(C,tt.ERR_NETWORK,e,b);k.event=A||null,r(k),b=null},b.ontimeout=function(){let A=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const C=a.transitional||T5;a.timeoutErrorMessage&&(A=a.timeoutErrorMessage),r(new tt(A,C.clarifyTimeoutError?tt.ETIMEDOUT:tt.ECONNABORTED,e,b)),b=null},s===void 0&&l.setContentType(null),"setRequestHeader"in b&&he.forEach(l.toJSON(),function(A,C){b.setRequestHeader(C,A)}),he.isUndefined(a.withCredentials)||(b.withCredentials=!!a.withCredentials),u&&u!=="json"&&(b.responseType=a.responseType),f&&([g,j]=Sv(f,!0),b.addEventListener("progress",g)),d&&b.upload&&([p,x]=Sv(d),b.upload.addEventListener("progress",p),b.upload.addEventListener("loadend",x)),(a.cancelToken||a.signal)&&(m=O=>{b&&(r(!O||O.type?new Bu(null,e,b):O),b.abort(),b=null)},a.cancelToken&&a.cancelToken.subscribe(m),a.signal&&(a.signal.aborted?m():a.signal.addEventListener("abort",m)));const E=aX(a.url);if(E&&hr.protocols.indexOf(E)===-1){r(new tt("Unsupported protocol "+E+":",tt.ERR_BAD_REQUEST,e));return}b.send(s||null)})},hX=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,a;const s=function(f){if(!a){a=!0,u();const m=f instanceof Error?f:this.reason;r.abort(m instanceof tt?m:new Bu(m instanceof Error?m.message:m))}};let l=t&&setTimeout(()=>{l=null,s(new tt(`timeout ${t} of ms exceeded`,tt.ETIMEDOUT))},t);const u=()=>{e&&(l&&clearTimeout(l),l=null,e.forEach(f=>{f.unsubscribe?f.unsubscribe(s):f.removeEventListener("abort",s)}),e=null)};e.forEach(f=>f.addEventListener("abort",s));const{signal:d}=r;return d.unsubscribe=()=>he.asap(u),d}},mX=function*(e,t){let n=e.byteLength;if(n{const a=pX(e,t);let s=0,l,u=d=>{l||(l=!0,r&&r(d))};return new ReadableStream({async pull(d){try{const{done:f,value:m}=await a.next();if(f){u(),d.close();return}let p=m.byteLength;if(n){let g=s+=p;n(g)}d.enqueue(new Uint8Array(m))}catch(f){throw u(f),f}},cancel(d){return u(d),a.return()}},{highWaterMark:2})},RM=64*1024,{isFunction:Tp}=he,gX=(({Request:e,Response:t})=>({Request:e,Response:t}))(he.global),{ReadableStream:DM,TextEncoder:$M}=he.global,IM=(e,...t)=>{try{return!!e(...t)}catch{return!1}},yX=e=>{e=he.merge.call({skipUndefined:!0},gX,e);const{fetch:t,Request:n,Response:r}=e,a=t?Tp(t):typeof fetch=="function",s=Tp(n),l=Tp(r);if(!a)return!1;const u=a&&Tp(DM),d=a&&(typeof $M=="function"?(j=>w=>j.encode(w))(new $M):async j=>new Uint8Array(await new n(j).arrayBuffer())),f=s&&u&&IM(()=>{let j=!1;const w=new n(hr.origin,{body:new DM,method:"POST",get duplex(){return j=!0,"half"}}).headers.has("Content-Type");return j&&!w}),m=l&&u&&IM(()=>he.isReadableStream(new r("").body)),p={stream:m&&(j=>j.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(j=>{!p[j]&&(p[j]=(w,b)=>{let N=w&&w[j];if(N)return N.call(w);throw new tt(`Response type '${j}' is not supported`,tt.ERR_NOT_SUPPORT,b)})});const g=async j=>{if(j==null)return 0;if(he.isBlob(j))return j.size;if(he.isSpecCompliantForm(j))return(await new n(hr.origin,{method:"POST",body:j}).arrayBuffer()).byteLength;if(he.isArrayBufferView(j)||he.isArrayBuffer(j))return j.byteLength;if(he.isURLSearchParams(j)&&(j=j+""),he.isString(j))return(await d(j)).byteLength},x=async(j,w)=>{const b=he.toFiniteNumber(j.getContentLength());return b??g(w)};return async j=>{let{url:w,method:b,data:N,signal:E,cancelToken:O,timeout:A,onDownloadProgress:C,onUploadProgress:k,responseType:T,headers:M,withCredentials:R="same-origin",fetchOptions:B}=D5(j),$=t||fetch;T=T?(T+"").toLowerCase():"text";let H=hX([E,O&&O.toAbortSignal()],A),V=null;const q=H&&H.unsubscribe&&(()=>{H.unsubscribe()});let G;try{if(k&&f&&b!=="get"&&b!=="head"&&(G=await x(M,N))!==0){let I=new n(w,{method:"POST",body:N,duplex:"half"}),z;if(he.isFormData(N)&&(z=I.headers.get("content-type"))&&M.setContentType(z),I.body){const[Y,te]=TM(G,Sv(kM(k)));N=PM(I.body,RM,Y,te)}}he.isString(R)||(R=R?"include":"omit");const L=s&&"credentials"in n.prototype,D={...B,signal:H,method:b.toUpperCase(),headers:M.normalize().toJSON(),body:N,duplex:"half",credentials:L?R:void 0};V=s&&new n(w,D);let U=await(s?$(V,B):$(w,D));const K=m&&(T==="stream"||T==="response");if(m&&(C||K&&q)){const I={};["status","statusText","headers"].forEach(ae=>{I[ae]=U[ae]});const z=he.toFiniteNumber(U.headers.get("content-length")),[Y,te]=C&&TM(z,Sv(kM(C),!0))||[];U=new r(PM(U.body,RM,Y,()=>{te&&te(),q&&q()}),I)}T=T||"text";let J=await p[he.findKey(p,T)||"text"](U,j);return!K&&q&&q(),await new Promise((I,z)=>{P5(I,z,{data:J,headers:$r.from(U.headers),status:U.status,statusText:U.statusText,config:j,request:V})})}catch(L){throw q&&q(),L&&L.name==="TypeError"&&/Load failed|fetch/i.test(L.message)?Object.assign(new tt("Network Error",tt.ERR_NETWORK,j,V),{cause:L.cause||L}):tt.from(L,L&&L.code,j,V)}}},xX=new Map,$5=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:a}=t,s=[r,a,n];let l=s.length,u=l,d,f,m=xX;for(;u--;)d=s[u],f=m.get(d),f===void 0&&m.set(d,f=u?new Map:yX(t)),m=f;return f};$5();const qC={http:$K,xhr:fX,fetch:{get:$5}};he.forEach(qC,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const LM=e=>`- ${e}`,bX=e=>he.isFunction(e)||e===null||e===!1;function wX(e,t){e=he.isArray(e)?e:[e];const{length:n}=e;let r,a;const s={};for(let l=0;l`adapter ${d} `+(f===!1?"is not supported by the environment":"is not available in the build"));let u=n?l.length>1?`since : +`+v.stack}}var Qt=Object.prototype.hasOwnProperty,St=e.unstable_scheduleCallback,Tt=e.unstable_cancelCallback,Sn=e.unstable_shouldYield,le=e.unstable_requestPaint,ue=e.unstable_now,Ve=e.unstable_getCurrentPriorityLevel,Mn=e.unstable_ImmediatePriority,$l=e.unstable_UserBlockingPriority,Il=e.unstable_NormalPriority,fx=e.unstable_LowPriority,fm=e.unstable_IdlePriority,hx=e.log,mx=e.unstable_setDisableYieldValue,bo=null,br=null;function Qa(o){if(typeof hx=="function"&&mx(o),br&&typeof br.setStrictMode=="function")try{br.setStrictMode(bo,o)}catch{}}var lr=Math.clz32?Math.clz32:Gt,px=Math.log,it=Math.LN2;function Gt(o){return o>>>=0,o===0?32:31-(px(o)/it|0)|0}var Ye=256,wt=262144,qn=4194304;function st(o){var c=o&42;if(c!==0)return c;switch(o&-o){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 o&261888;case 262144:case 524288:case 1048576:case 2097152:return o&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return o&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return o}}function Ll(o,c,h){var v=o.pendingLanes;if(v===0)return 0;var S=0,_=o.suspendedLanes,P=o.pingedLanes;o=o.warmLanes;var F=v&134217727;return F!==0?(v=F&~_,v!==0?S=st(v):(P&=F,P!==0?S=st(P):h||(h=F&~o,h!==0&&(S=st(h))))):(F=v&~_,F!==0?S=st(F):P!==0?S=st(P):h||(h=v&~o,h!==0&&(S=st(h)))),S===0?0:c!==0&&c!==S&&(c&_)===0&&(_=S&-S,h=c&-c,_>=h||_===32&&(h&4194048)!==0)?c:S}function wo(o,c){return(o.pendingLanes&~(o.suspendedLanes&~o.pingedLanes)&c)===0}function vx(o,c){switch(o){case 1:case 2:case 4:case 8:case 64:return c+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 c+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 Bl(){var o=qn;return qn<<=1,(qn&62914560)===0&&(qn=4194304),o}function jo(o){for(var c=[],h=0;31>h;h++)c.push(o);return c}function ad(o,c){o.pendingLanes|=c,c!==268435456&&(o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0)}function LW(o,c,h,v,S,_){var P=o.pendingLanes;o.pendingLanes=h,o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0,o.expiredLanes&=h,o.entangledLanes&=h,o.errorRecoveryDisabledLanes&=h,o.shellSuspendCounter=0;var F=o.entanglements,X=o.expirationTimes,se=o.hiddenUpdates;for(h=P&~h;0"u")return null;try{return o.activeElement||o.body}catch{return o.body}}var HW=/[\n"\\]/g;function da(o){return o.replace(HW,function(c){return"\\"+c.charCodeAt(0).toString(16)+" "})}function jx(o,c,h,v,S,_,P,F){o.name="",P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"?o.type=P:o.removeAttribute("type"),c!=null?P==="number"?(c===0&&o.value===""||o.value!=c)&&(o.value=""+ua(c)):o.value!==""+ua(c)&&(o.value=""+ua(c)):P!=="submit"&&P!=="reset"||o.removeAttribute("value"),c!=null?Sx(o,P,ua(c)):h!=null?Sx(o,P,ua(h)):v!=null&&o.removeAttribute("value"),S==null&&_!=null&&(o.defaultChecked=!!_),S!=null&&(o.checked=S&&typeof S!="function"&&typeof S!="symbol"),F!=null&&typeof F!="function"&&typeof F!="symbol"&&typeof F!="boolean"?o.name=""+ua(F):o.removeAttribute("name")}function uA(o,c,h,v,S,_,P,F){if(_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"&&(o.type=_),c!=null||h!=null){if(!(_!=="submit"&&_!=="reset"||c!=null)){wx(o);return}h=h!=null?""+ua(h):"",c=c!=null?""+ua(c):h,F||c===o.value||(o.value=c),o.defaultValue=c}v=v??S,v=typeof v!="function"&&typeof v!="symbol"&&!!v,o.checked=F?o.checked:!!v,o.defaultChecked=!!v,P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"&&(o.name=P),wx(o)}function Sx(o,c,h){c==="number"&&pm(o.ownerDocument)===o||o.defaultValue===""+h||(o.defaultValue=""+h)}function Wl(o,c,h,v){if(o=o.options,c){c={};for(var S=0;S"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ex=!1;if(Ai)try{var ld={};Object.defineProperty(ld,"passive",{get:function(){Ex=!0}}),window.addEventListener("test",ld,ld),window.removeEventListener("test",ld,ld)}catch{Ex=!1}var ys=null,Ax=null,gm=null;function gA(){if(gm)return gm;var o,c=Ax,h=c.length,v,S="value"in ys?ys.value:ys.textContent,_=S.length;for(o=0;o=dd),SA=" ",_A=!1;function NA(o,c){switch(o){case"keyup":return y7.indexOf(c.keyCode)!==-1;case"keydown":return c.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function CA(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var Kl=!1;function b7(o,c){switch(o){case"compositionend":return CA(c);case"keypress":return c.which!==32?null:(_A=!0,SA);case"textInput":return o=c.data,o===SA&&_A?null:o;default:return null}}function w7(o,c){if(Kl)return o==="compositionend"||!Rx&&NA(o,c)?(o=gA(),gm=Ax=ys=null,Kl=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(c.ctrlKey||c.altKey||c.metaKey)||c.ctrlKey&&c.altKey){if(c.char&&1=c)return{node:h,offset:c-o};o=v}e:{for(;h;){if(h.nextSibling){h=h.nextSibling;break e}h=h.parentNode}h=void 0}h=RA(h)}}function $A(o,c){return o&&c?o===c?!0:o&&o.nodeType===3?!1:c&&c.nodeType===3?$A(o,c.parentNode):"contains"in o?o.contains(c):o.compareDocumentPosition?!!(o.compareDocumentPosition(c)&16):!1:!1}function IA(o){o=o!=null&&o.ownerDocument!=null&&o.ownerDocument.defaultView!=null?o.ownerDocument.defaultView:window;for(var c=pm(o.document);c instanceof o.HTMLIFrameElement;){try{var h=typeof c.contentWindow.location.href=="string"}catch{h=!1}if(h)o=c.contentWindow;else break;c=pm(o.document)}return c}function Ix(o){var c=o&&o.nodeName&&o.nodeName.toLowerCase();return c&&(c==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||c==="textarea"||o.contentEditable==="true")}var A7=Ai&&"documentMode"in document&&11>=document.documentMode,Xl=null,Lx=null,pd=null,Bx=!1;function LA(o,c,h){var v=h.window===h?h.document:h.nodeType===9?h:h.ownerDocument;Bx||Xl==null||Xl!==pm(v)||(v=Xl,"selectionStart"in v&&Ix(v)?v={start:v.selectionStart,end:v.selectionEnd}:(v=(v.ownerDocument&&v.ownerDocument.defaultView||window).getSelection(),v={anchorNode:v.anchorNode,anchorOffset:v.anchorOffset,focusNode:v.focusNode,focusOffset:v.focusOffset}),pd&&md(pd,v)||(pd=v,v=up(Lx,"onSelect"),0>=P,S-=P,Ja=1<<32-lr(c)+S|h<at?(ht=Ie,Ie=null):ht=Ie.sibling;var yt=de(ne,Ie,ie[at],ye);if(yt===null){Ie===null&&(Ie=ht);break}o&&Ie&&yt.alternate===null&&c(ne,Ie),Z=_(yt,Z,at),gt===null?ze=yt:gt.sibling=yt,gt=yt,Ie=ht}if(at===ie.length)return h(ne,Ie),mt&&ki(ne,at),ze;if(Ie===null){for(;atat?(ht=Ie,Ie=null):ht=Ie.sibling;var zs=de(ne,Ie,yt.value,ye);if(zs===null){Ie===null&&(Ie=ht);break}o&&Ie&&zs.alternate===null&&c(ne,Ie),Z=_(zs,Z,at),gt===null?ze=zs:gt.sibling=zs,gt=zs,Ie=ht}if(yt.done)return h(ne,Ie),mt&&ki(ne,at),ze;if(Ie===null){for(;!yt.done;at++,yt=ie.next())yt=xe(ne,yt.value,ye),yt!==null&&(Z=_(yt,Z,at),gt===null?ze=yt:gt.sibling=yt,gt=yt);return mt&&ki(ne,at),ze}for(Ie=v(Ie);!yt.done;at++,yt=ie.next())yt=me(Ie,ne,at,yt.value,ye),yt!==null&&(o&&yt.alternate!==null&&Ie.delete(yt.key===null?at:yt.key),Z=_(yt,Z,at),gt===null?ze=yt:gt.sibling=yt,gt=yt);return o&&Ie.forEach(function(KV){return c(ne,KV)}),mt&&ki(ne,at),ze}function zt(ne,Z,ie,ye){if(typeof ie=="object"&&ie!==null&&ie.type===w&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case x:e:{for(var ze=ie.key;Z!==null;){if(Z.key===ze){if(ze=ie.type,ze===w){if(Z.tag===7){h(ne,Z.sibling),ye=S(Z,ie.props.children),ye.return=ne,ne=ye;break e}}else if(Z.elementType===ze||typeof ze=="object"&&ze!==null&&ze.$$typeof===M&&Po(ze)===Z.type){h(ne,Z.sibling),ye=S(Z,ie.props),wd(ye,ie),ye.return=ne,ne=ye;break e}h(ne,Z);break}else c(ne,Z);Z=Z.sibling}ie.type===w?(ye=Eo(ie.props.children,ne.mode,ye,ie.key),ye.return=ne,ne=ye):(ye=Om(ie.type,ie.key,ie.props,null,ne.mode,ye),wd(ye,ie),ye.return=ne,ne=ye)}return P(ne);case j:e:{for(ze=ie.key;Z!==null;){if(Z.key===ze)if(Z.tag===4&&Z.stateNode.containerInfo===ie.containerInfo&&Z.stateNode.implementation===ie.implementation){h(ne,Z.sibling),ye=S(Z,ie.children||[]),ye.return=ne,ne=ye;break e}else{h(ne,Z);break}else c(ne,Z);Z=Z.sibling}ye=Vx(ie,ne.mode,ye),ye.return=ne,ne=ye}return P(ne);case M:return ie=Po(ie),zt(ne,Z,ie,ye)}if(G(ie))return Me(ne,Z,ie,ye);if(H(ie)){if(ze=H(ie),typeof ze!="function")throw Error(r(150));return ie=ze.call(ie),Fe(ne,Z,ie,ye)}if(typeof ie.then=="function")return zt(ne,Z,Rm(ie),ye);if(ie.$$typeof===O)return zt(ne,Z,Tm(ne,ie),ye);Dm(ne,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint"?(ie=""+ie,Z!==null&&Z.tag===6?(h(ne,Z.sibling),ye=S(Z,ie),ye.return=ne,ne=ye):(h(ne,Z),ye=Wx(ie,ne.mode,ye),ye.return=ne,ne=ye),P(ne)):h(ne,Z)}return function(ne,Z,ie,ye){try{bd=0;var ze=zt(ne,Z,ie,ye);return oc=null,ze}catch(Ie){if(Ie===sc||Ie===Mm)throw Ie;var gt=Hr(29,Ie,null,ne.mode);return gt.lanes=ye,gt.return=ne,gt}finally{}}}var Do=o2(!0),l2=o2(!1),Ss=!1;function ab(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ib(o,c){o=o.updateQueue,c.updateQueue===o&&(c.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,callbacks:null})}function _s(o){return{lane:o,tag:0,payload:null,callback:null,next:null}}function Ns(o,c,h){var v=o.updateQueue;if(v===null)return null;if(v=v.shared,(jt&2)!==0){var S=v.pending;return S===null?c.next=c:(c.next=S.next,S.next=c),v.pending=c,c=Cm(o),WA(o,null,h),c}return Nm(o,v,c,h),Cm(o)}function jd(o,c,h){if(c=c.updateQueue,c!==null&&(c=c.shared,(h&4194048)!==0)){var v=c.lanes;v&=o.pendingLanes,h|=v,c.lanes=h,JE(o,h)}}function sb(o,c){var h=o.updateQueue,v=o.alternate;if(v!==null&&(v=v.updateQueue,h===v)){var S=null,_=null;if(h=h.firstBaseUpdate,h!==null){do{var P={lane:h.lane,tag:h.tag,payload:h.payload,callback:null,next:null};_===null?S=_=P:_=_.next=P,h=h.next}while(h!==null);_===null?S=_=c:_=_.next=c}else S=_=c;h={baseState:v.baseState,firstBaseUpdate:S,lastBaseUpdate:_,shared:v.shared,callbacks:v.callbacks},o.updateQueue=h;return}o=h.lastBaseUpdate,o===null?h.firstBaseUpdate=c:o.next=c,h.lastBaseUpdate=c}var ob=!1;function Sd(){if(ob){var o=ic;if(o!==null)throw o}}function _d(o,c,h,v){ob=!1;var S=o.updateQueue;Ss=!1;var _=S.firstBaseUpdate,P=S.lastBaseUpdate,F=S.shared.pending;if(F!==null){S.shared.pending=null;var X=F,se=X.next;X.next=null,P===null?_=se:P.next=se,P=X;var pe=o.alternate;pe!==null&&(pe=pe.updateQueue,F=pe.lastBaseUpdate,F!==P&&(F===null?pe.firstBaseUpdate=se:F.next=se,pe.lastBaseUpdate=X))}if(_!==null){var xe=S.baseState;P=0,pe=se=X=null,F=_;do{var de=F.lane&-536870913,me=de!==F.lane;if(me?(ft&de)===de:(v&de)===de){de!==0&&de===ac&&(ob=!0),pe!==null&&(pe=pe.next={lane:0,tag:F.tag,payload:F.payload,callback:null,next:null});e:{var Me=o,Fe=F;de=c;var zt=h;switch(Fe.tag){case 1:if(Me=Fe.payload,typeof Me=="function"){xe=Me.call(zt,xe,de);break e}xe=Me;break e;case 3:Me.flags=Me.flags&-65537|128;case 0:if(Me=Fe.payload,de=typeof Me=="function"?Me.call(zt,xe,de):Me,de==null)break e;xe=p({},xe,de);break e;case 2:Ss=!0}}de=F.callback,de!==null&&(o.flags|=64,me&&(o.flags|=8192),me=S.callbacks,me===null?S.callbacks=[de]:me.push(de))}else me={lane:de,tag:F.tag,payload:F.payload,callback:F.callback,next:null},pe===null?(se=pe=me,X=xe):pe=pe.next=me,P|=de;if(F=F.next,F===null){if(F=S.shared.pending,F===null)break;me=F,F=me.next,me.next=null,S.lastBaseUpdate=me,S.shared.pending=null}}while(!0);pe===null&&(X=xe),S.baseState=X,S.firstBaseUpdate=se,S.lastBaseUpdate=pe,_===null&&(S.shared.lanes=0),Ts|=P,o.lanes=P,o.memoizedState=xe}}function c2(o,c){if(typeof o!="function")throw Error(r(191,o));o.call(c)}function u2(o,c){var h=o.callbacks;if(h!==null)for(o.callbacks=null,o=0;o_?_:8;var P=L.T,F={};L.T=F,Cb(o,!1,c,h);try{var X=S(),se=L.S;if(se!==null&&se(F,X),X!==null&&typeof X=="object"&&typeof X.then=="function"){var pe=L7(X,v);Od(o,c,pe,Kr(o))}else Od(o,c,v,Kr(o))}catch(xe){Od(o,c,{then:function(){},status:"rejected",reason:xe},Kr())}finally{D.p=_,P!==null&&F.types!==null&&(P.types=F.types),L.T=P}}function H7(){}function _b(o,c,h,v){if(o.tag!==5)throw Error(r(476));var S=F2(o).queue;q2(o,S,c,U,h===null?H7:function(){return U2(o),h(v)})}function F2(o){var c=o.memoizedState;if(c!==null)return c;c={memoizedState:U,baseState:U,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Di,lastRenderedState:U},next:null};var h={};return c.next={memoizedState:h,baseState:h,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Di,lastRenderedState:h},next:null},o.memoizedState=c,o=o.alternate,o!==null&&(o.memoizedState=c),c}function U2(o){var c=F2(o);c.next===null&&(c=o.alternate.memoizedState),Od(o,c.next.queue,{},Kr())}function Nb(){return tr(Hd)}function H2(){return jn().memoizedState}function W2(){return jn().memoizedState}function W7(o){for(var c=o.return;c!==null;){switch(c.tag){case 24:case 3:var h=Kr();o=_s(h);var v=Ns(c,o,h);v!==null&&(Mr(v,c,h),jd(v,c,h)),c={cache:eb()},o.payload=c;return}c=c.return}}function V7(o,c,h){var v=Kr();h={lane:v,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null},Wm(o)?G2(c,h):(h=Ux(o,c,h,v),h!==null&&(Mr(h,o,v),Y2(h,c,v)))}function V2(o,c,h){var v=Kr();Od(o,c,h,v)}function Od(o,c,h,v){var S={lane:v,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null};if(Wm(o))G2(c,S);else{var _=o.alternate;if(o.lanes===0&&(_===null||_.lanes===0)&&(_=c.lastRenderedReducer,_!==null))try{var P=c.lastRenderedState,F=_(P,h);if(S.hasEagerState=!0,S.eagerState=F,Ur(F,P))return Nm(o,c,S,0),Ht===null&&_m(),!1}catch{}finally{}if(h=Ux(o,c,S,v),h!==null)return Mr(h,o,v),Y2(h,c,v),!0}return!1}function Cb(o,c,h,v){if(v={lane:2,revertLane:a0(),gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null},Wm(o)){if(c)throw Error(r(479))}else c=Ux(o,h,v,2),c!==null&&Mr(c,o,2)}function Wm(o){var c=o.alternate;return o===et||c!==null&&c===et}function G2(o,c){cc=Lm=!0;var h=o.pending;h===null?c.next=c:(c.next=h.next,h.next=c),o.pending=c}function Y2(o,c,h){if((h&4194048)!==0){var v=c.lanes;v&=o.pendingLanes,h|=v,c.lanes=h,JE(o,h)}}var Ed={readContext:tr,use:qm,useCallback:gn,useContext:gn,useEffect:gn,useImperativeHandle:gn,useLayoutEffect:gn,useInsertionEffect:gn,useMemo:gn,useReducer:gn,useRef:gn,useState:gn,useDebugValue:gn,useDeferredValue:gn,useTransition:gn,useSyncExternalStore:gn,useId:gn,useHostTransitionStatus:gn,useFormState:gn,useActionState:gn,useOptimistic:gn,useMemoCache:gn,useCacheRefresh:gn};Ed.useEffectEvent=gn;var K2={readContext:tr,use:qm,useCallback:function(o,c){return wr().memoizedState=[o,c===void 0?null:c],o},useContext:tr,useEffect:M2,useImperativeHandle:function(o,c,h){h=h!=null?h.concat([o]):null,Um(4194308,4,$2.bind(null,c,o),h)},useLayoutEffect:function(o,c){return Um(4194308,4,o,c)},useInsertionEffect:function(o,c){Um(4,2,o,c)},useMemo:function(o,c){var h=wr();c=c===void 0?null:c;var v=o();if($o){Qa(!0);try{o()}finally{Qa(!1)}}return h.memoizedState=[v,c],v},useReducer:function(o,c,h){var v=wr();if(h!==void 0){var S=h(c);if($o){Qa(!0);try{h(c)}finally{Qa(!1)}}}else S=c;return v.memoizedState=v.baseState=S,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:S},v.queue=o,o=o.dispatch=V7.bind(null,et,o),[v.memoizedState,o]},useRef:function(o){var c=wr();return o={current:o},c.memoizedState=o},useState:function(o){o=xb(o);var c=o.queue,h=V2.bind(null,et,c);return c.dispatch=h,[o.memoizedState,h]},useDebugValue:jb,useDeferredValue:function(o,c){var h=wr();return Sb(h,o,c)},useTransition:function(){var o=xb(!1);return o=q2.bind(null,et,o.queue,!0,!1),wr().memoizedState=o,[!1,o]},useSyncExternalStore:function(o,c,h){var v=et,S=wr();if(mt){if(h===void 0)throw Error(r(407));h=h()}else{if(h=c(),Ht===null)throw Error(r(349));(ft&127)!==0||v2(v,c,h)}S.memoizedState=h;var _={value:h,getSnapshot:c};return S.queue=_,M2(y2.bind(null,v,_,o),[o]),v.flags|=2048,dc(9,{destroy:void 0},g2.bind(null,v,_,h,c),null),h},useId:function(){var o=wr(),c=Ht.identifierPrefix;if(mt){var h=ei,v=Ja;h=(v&~(1<<32-lr(v)-1)).toString(32)+h,c="_"+c+"R_"+h,h=Bm++,0<\/script>",_=_.removeChild(_.firstChild);break;case"select":_=typeof v.is=="string"?P.createElement("select",{is:v.is}):P.createElement("select"),v.multiple?_.multiple=!0:v.size&&(_.size=v.size);break;default:_=typeof v.is=="string"?P.createElement(S,{is:v.is}):P.createElement(S)}}_[Jn]=c,_[Cr]=v;e:for(P=c.child;P!==null;){if(P.tag===5||P.tag===6)_.appendChild(P.stateNode);else if(P.tag!==4&&P.tag!==27&&P.child!==null){P.child.return=P,P=P.child;continue}if(P===c)break e;for(;P.sibling===null;){if(P.return===null||P.return===c)break e;P=P.return}P.sibling.return=P.return,P=P.sibling}c.stateNode=_;e:switch(rr(_,S,v),S){case"button":case"input":case"select":case"textarea":v=!!v.autoFocus;break e;case"img":v=!0;break e;default:v=!1}v&&Ii(c)}}return en(c),zb(c,c.type,o===null?null:o.memoizedProps,c.pendingProps,h),null;case 6:if(o&&c.stateNode!=null)o.memoizedProps!==v&&Ii(c);else{if(typeof v!="string"&&c.stateNode===null)throw Error(r(166));if(o=ge.current,nc(c)){if(o=c.stateNode,h=c.memoizedProps,v=null,S=er,S!==null)switch(S.tag){case 27:case 5:v=S.memoizedProps}o[Jn]=c,o=!!(o.nodeValue===h||v!==null&&v.suppressHydrationWarning===!0||mk(o.nodeValue,h)),o||ws(c,!0)}else o=dp(o).createTextNode(v),o[Jn]=c,c.stateNode=o}return en(c),null;case 31:if(h=c.memoizedState,o===null||o.memoizedState!==null){if(v=nc(c),h!==null){if(o===null){if(!v)throw Error(r(318));if(o=c.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(r(557));o[Jn]=c}else Ao(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;en(c),o=!1}else h=Xx(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=h),o=!0;if(!o)return c.flags&256?(Vr(c),c):(Vr(c),null);if((c.flags&128)!==0)throw Error(r(558))}return en(c),null;case 13:if(v=c.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(S=nc(c),v!==null&&v.dehydrated!==null){if(o===null){if(!S)throw Error(r(318));if(S=c.memoizedState,S=S!==null?S.dehydrated:null,!S)throw Error(r(317));S[Jn]=c}else Ao(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;en(c),S=!1}else S=Xx(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=S),S=!0;if(!S)return c.flags&256?(Vr(c),c):(Vr(c),null)}return Vr(c),(c.flags&128)!==0?(c.lanes=h,c):(h=v!==null,o=o!==null&&o.memoizedState!==null,h&&(v=c.child,S=null,v.alternate!==null&&v.alternate.memoizedState!==null&&v.alternate.memoizedState.cachePool!==null&&(S=v.alternate.memoizedState.cachePool.pool),_=null,v.memoizedState!==null&&v.memoizedState.cachePool!==null&&(_=v.memoizedState.cachePool.pool),_!==S&&(v.flags|=2048)),h!==o&&h&&(c.child.flags|=8192),Xm(c,c.updateQueue),en(c),null);case 4:return re(),o===null&&l0(c.stateNode.containerInfo),en(c),null;case 10:return Pi(c.type),en(c),null;case 19:if(z(wn),v=c.memoizedState,v===null)return en(c),null;if(S=(c.flags&128)!==0,_=v.rendering,_===null)if(S)Td(v,!1);else{if(yn!==0||o!==null&&(o.flags&128)!==0)for(o=c.child;o!==null;){if(_=Im(o),_!==null){for(c.flags|=128,Td(v,!1),o=_.updateQueue,c.updateQueue=o,Xm(c,o),c.subtreeFlags=0,o=h,h=c.child;h!==null;)VA(h,o),h=h.sibling;return Y(wn,wn.current&1|2),mt&&ki(c,v.treeForkCount),c.child}o=o.sibling}v.tail!==null&&ue()>tp&&(c.flags|=128,S=!0,Td(v,!1),c.lanes=4194304)}else{if(!S)if(o=Im(_),o!==null){if(c.flags|=128,S=!0,o=o.updateQueue,c.updateQueue=o,Xm(c,o),Td(v,!0),v.tail===null&&v.tailMode==="hidden"&&!_.alternate&&!mt)return en(c),null}else 2*ue()-v.renderingStartTime>tp&&h!==536870912&&(c.flags|=128,S=!0,Td(v,!1),c.lanes=4194304);v.isBackwards?(_.sibling=c.child,c.child=_):(o=v.last,o!==null?o.sibling=_:c.child=_,v.last=_)}return v.tail!==null?(o=v.tail,v.rendering=o,v.tail=o.sibling,v.renderingStartTime=ue(),o.sibling=null,h=wn.current,Y(wn,S?h&1|2:h&1),mt&&ki(c,v.treeForkCount),o):(en(c),null);case 22:case 23:return Vr(c),cb(),v=c.memoizedState!==null,o!==null?o.memoizedState!==null!==v&&(c.flags|=8192):v&&(c.flags|=8192),v?(h&536870912)!==0&&(c.flags&128)===0&&(en(c),c.subtreeFlags&6&&(c.flags|=8192)):en(c),h=c.updateQueue,h!==null&&Xm(c,h.retryQueue),h=null,o!==null&&o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(h=o.memoizedState.cachePool.pool),v=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(v=c.memoizedState.cachePool.pool),v!==h&&(c.flags|=2048),o!==null&&z(Mo),null;case 24:return h=null,o!==null&&(h=o.memoizedState.cache),c.memoizedState.cache!==h&&(c.flags|=2048),Pi(_n),en(c),null;case 25:return null;case 30:return null}throw Error(r(156,c.tag))}function Z7(o,c){switch(Yx(c),c.tag){case 1:return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 3:return Pi(_n),re(),o=c.flags,(o&65536)!==0&&(o&128)===0?(c.flags=o&-65537|128,c):null;case 26:case 27:case 5:return je(c),null;case 31:if(c.memoizedState!==null){if(Vr(c),c.alternate===null)throw Error(r(340));Ao()}return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 13:if(Vr(c),o=c.memoizedState,o!==null&&o.dehydrated!==null){if(c.alternate===null)throw Error(r(340));Ao()}return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 19:return z(wn),null;case 4:return re(),null;case 10:return Pi(c.type),null;case 22:case 23:return Vr(c),cb(),o!==null&&z(Mo),o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 24:return Pi(_n),null;case 25:return null;default:return null}}function xT(o,c){switch(Yx(c),c.tag){case 3:Pi(_n),re();break;case 26:case 27:case 5:je(c);break;case 4:re();break;case 31:c.memoizedState!==null&&Vr(c);break;case 13:Vr(c);break;case 19:z(wn);break;case 10:Pi(c.type);break;case 22:case 23:Vr(c),cb(),o!==null&&z(Mo);break;case 24:Pi(_n)}}function kd(o,c){try{var h=c.updateQueue,v=h!==null?h.lastEffect:null;if(v!==null){var S=v.next;h=S;do{if((h.tag&o)===o){v=void 0;var _=h.create,P=h.inst;v=_(),P.destroy=v}h=h.next}while(h!==S)}}catch(F){Mt(c,c.return,F)}}function Es(o,c,h){try{var v=c.updateQueue,S=v!==null?v.lastEffect:null;if(S!==null){var _=S.next;v=_;do{if((v.tag&o)===o){var P=v.inst,F=P.destroy;if(F!==void 0){P.destroy=void 0,S=c;var X=h,se=F;try{se()}catch(pe){Mt(S,X,pe)}}}v=v.next}while(v!==_)}}catch(pe){Mt(c,c.return,pe)}}function bT(o){var c=o.updateQueue;if(c!==null){var h=o.stateNode;try{u2(c,h)}catch(v){Mt(o,o.return,v)}}}function wT(o,c,h){h.props=Io(o.type,o.memoizedProps),h.state=o.memoizedState;try{h.componentWillUnmount()}catch(v){Mt(o,c,v)}}function Md(o,c){try{var h=o.ref;if(h!==null){switch(o.tag){case 26:case 27:case 5:var v=o.stateNode;break;case 30:v=o.stateNode;break;default:v=o.stateNode}typeof h=="function"?o.refCleanup=h(v):h.current=v}}catch(S){Mt(o,c,S)}}function ti(o,c){var h=o.ref,v=o.refCleanup;if(h!==null)if(typeof v=="function")try{v()}catch(S){Mt(o,c,S)}finally{o.refCleanup=null,o=o.alternate,o!=null&&(o.refCleanup=null)}else if(typeof h=="function")try{h(null)}catch(S){Mt(o,c,S)}else h.current=null}function jT(o){var c=o.type,h=o.memoizedProps,v=o.stateNode;try{e:switch(c){case"button":case"input":case"select":case"textarea":h.autoFocus&&v.focus();break e;case"img":h.src?v.src=h.src:h.srcSet&&(v.srcset=h.srcSet)}}catch(S){Mt(o,o.return,S)}}function qb(o,c,h){try{var v=o.stateNode;xV(v,o.type,h,c),v[Cr]=c}catch(S){Mt(o,o.return,S)}}function ST(o){return o.tag===5||o.tag===3||o.tag===26||o.tag===27&&Ds(o.type)||o.tag===4}function Fb(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||ST(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.tag===27&&Ds(o.type)||o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function Ub(o,c,h){var v=o.tag;if(v===5||v===6)o=o.stateNode,c?(h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h).insertBefore(o,c):(c=h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h,c.appendChild(o),h=h._reactRootContainer,h!=null||c.onclick!==null||(c.onclick=Ei));else if(v!==4&&(v===27&&Ds(o.type)&&(h=o.stateNode,c=null),o=o.child,o!==null))for(Ub(o,c,h),o=o.sibling;o!==null;)Ub(o,c,h),o=o.sibling}function Zm(o,c,h){var v=o.tag;if(v===5||v===6)o=o.stateNode,c?h.insertBefore(o,c):h.appendChild(o);else if(v!==4&&(v===27&&Ds(o.type)&&(h=o.stateNode),o=o.child,o!==null))for(Zm(o,c,h),o=o.sibling;o!==null;)Zm(o,c,h),o=o.sibling}function _T(o){var c=o.stateNode,h=o.memoizedProps;try{for(var v=o.type,S=c.attributes;S.length;)c.removeAttributeNode(S[0]);rr(c,v,h),c[Jn]=o,c[Cr]=h}catch(_){Mt(o,o.return,_)}}var Li=!1,On=!1,Hb=!1,NT=typeof WeakSet=="function"?WeakSet:Set,Un=null;function Q7(o,c){if(o=o.containerInfo,d0=yp,o=IA(o),Ix(o)){if("selectionStart"in o)var h={start:o.selectionStart,end:o.selectionEnd};else e:{h=(h=o.ownerDocument)&&h.defaultView||window;var v=h.getSelection&&h.getSelection();if(v&&v.rangeCount!==0){h=v.anchorNode;var S=v.anchorOffset,_=v.focusNode;v=v.focusOffset;try{h.nodeType,_.nodeType}catch{h=null;break e}var P=0,F=-1,X=-1,se=0,pe=0,xe=o,de=null;t:for(;;){for(var me;xe!==h||S!==0&&xe.nodeType!==3||(F=P+S),xe!==_||v!==0&&xe.nodeType!==3||(X=P+v),xe.nodeType===3&&(P+=xe.nodeValue.length),(me=xe.firstChild)!==null;)de=xe,xe=me;for(;;){if(xe===o)break t;if(de===h&&++se===S&&(F=P),de===_&&++pe===v&&(X=P),(me=xe.nextSibling)!==null)break;xe=de,de=xe.parentNode}xe=me}h=F===-1||X===-1?null:{start:F,end:X}}else h=null}h=h||{start:0,end:0}}else h=null;for(f0={focusedElem:o,selectionRange:h},yp=!1,Un=c;Un!==null;)if(c=Un,o=c.child,(c.subtreeFlags&1028)!==0&&o!==null)o.return=c,Un=o;else for(;Un!==null;){switch(c=Un,_=c.alternate,o=c.flags,c.tag){case 0:if((o&4)!==0&&(o=c.updateQueue,o=o!==null?o.events:null,o!==null))for(h=0;h title"))),rr(_,v,h),_[Jn]=o,Fn(_),v=_;break e;case"link":var P=kk("link","href",S).get(v+(h.href||""));if(P){for(var F=0;Fzt&&(P=zt,zt=Fe,Fe=P);var ne=DA(F,Fe),Z=DA(F,zt);if(ne&&Z&&(me.rangeCount!==1||me.anchorNode!==ne.node||me.anchorOffset!==ne.offset||me.focusNode!==Z.node||me.focusOffset!==Z.offset)){var ie=xe.createRange();ie.setStart(ne.node,ne.offset),me.removeAllRanges(),Fe>zt?(me.addRange(ie),me.extend(Z.node,Z.offset)):(ie.setEnd(Z.node,Z.offset),me.addRange(ie))}}}}for(xe=[],me=F;me=me.parentNode;)me.nodeType===1&&xe.push({element:me,left:me.scrollLeft,top:me.scrollTop});for(typeof F.focus=="function"&&F.focus(),F=0;Fh?32:h,L.T=null,h=Zb,Zb=null;var _=Ms,P=Ui;if(Pn=0,vc=Ms=null,Ui=0,(jt&6)!==0)throw Error(r(331));var F=jt;if(jt|=4,$T(_.current),PT(_,_.current,P,h),jt=F,Ld(0,!1),br&&typeof br.onPostCommitFiberRoot=="function")try{br.onPostCommitFiberRoot(bo,_)}catch{}return!0}finally{D.p=S,L.T=v,ek(o,c)}}function nk(o,c,h){c=ha(h,c),c=Tb(o.stateNode,c,2),o=Ns(o,c,2),o!==null&&(ad(o,2),ni(o))}function Mt(o,c,h){if(o.tag===3)nk(o,o,h);else for(;c!==null;){if(c.tag===3){nk(c,o,h);break}else if(c.tag===1){var v=c.stateNode;if(typeof c.type.getDerivedStateFromError=="function"||typeof v.componentDidCatch=="function"&&(ks===null||!ks.has(v))){o=ha(h,o),h=rT(2),v=Ns(c,h,2),v!==null&&(aT(h,v,c,o),ad(v,2),ni(v));break}}c=c.return}}function t0(o,c,h){var v=o.pingCache;if(v===null){v=o.pingCache=new tV;var S=new Set;v.set(c,S)}else S=v.get(c),S===void 0&&(S=new Set,v.set(c,S));S.has(h)||(Gb=!0,S.add(h),o=sV.bind(null,o,c,h),c.then(o,o))}function sV(o,c,h){var v=o.pingCache;v!==null&&v.delete(c),o.pingedLanes|=o.suspendedLanes&h,o.warmLanes&=~h,Ht===o&&(ft&h)===h&&(yn===4||yn===3&&(ft&62914560)===ft&&300>ue()-ep?(jt&2)===0&&gc(o,0):Yb|=h,pc===ft&&(pc=0)),ni(o)}function rk(o,c){c===0&&(c=Bl()),o=Oo(o,c),o!==null&&(ad(o,c),ni(o))}function oV(o){var c=o.memoizedState,h=0;c!==null&&(h=c.retryLane),rk(o,h)}function lV(o,c){var h=0;switch(o.tag){case 31:case 13:var v=o.stateNode,S=o.memoizedState;S!==null&&(h=S.retryLane);break;case 19:v=o.stateNode;break;case 22:v=o.stateNode._retryCache;break;default:throw Error(r(314))}v!==null&&v.delete(c),rk(o,h)}function cV(o,c){return St(o,c)}var op=null,xc=null,n0=!1,lp=!1,r0=!1,Rs=0;function ni(o){o!==xc&&o.next===null&&(xc===null?op=xc=o:xc=xc.next=o),lp=!0,n0||(n0=!0,dV())}function Ld(o,c){if(!r0&&lp){r0=!0;do for(var h=!1,v=op;v!==null;){if(o!==0){var S=v.pendingLanes;if(S===0)var _=0;else{var P=v.suspendedLanes,F=v.pingedLanes;_=(1<<31-lr(42|o)+1)-1,_&=S&~(P&~F),_=_&201326741?_&201326741|1:_?_|2:0}_!==0&&(h=!0,ok(v,_))}else _=ft,_=Ll(v,v===Ht?_:0,v.cancelPendingCommit!==null||v.timeoutHandle!==-1),(_&3)===0||wo(v,_)||(h=!0,ok(v,_));v=v.next}while(h);r0=!1}}function uV(){ak()}function ak(){lp=n0=!1;var o=0;Rs!==0&&wV()&&(o=Rs);for(var c=ue(),h=null,v=op;v!==null;){var S=v.next,_=ik(v,c);_===0?(v.next=null,h===null?op=S:h.next=S,S===null&&(xc=h)):(h=v,(o!==0||(_&3)!==0)&&(lp=!0)),v=S}Pn!==0&&Pn!==5||Ld(o),Rs!==0&&(Rs=0)}function ik(o,c){for(var h=o.suspendedLanes,v=o.pingedLanes,S=o.expirationTimes,_=o.pendingLanes&-62914561;0<_;){var P=31-lr(_),F=1<F)break;var pe=X.transferSize,xe=X.initiatorType;pe&&pk(xe)&&(X=X.responseEnd,P+=pe*(X"u"?null:document;function Ok(o,c,h){var v=bc;if(v&&typeof c=="string"&&c){var S=da(c);S='link[rel="'+o+'"][href="'+S+'"]',typeof h=="string"&&(S+='[crossorigin="'+h+'"]'),Ck.has(S)||(Ck.add(S),o={rel:o,crossOrigin:h,href:c},v.querySelector(S)===null&&(c=v.createElement("link"),rr(c,"link",o),Fn(c),v.head.appendChild(c)))}}function TV(o){Hi.D(o),Ok("dns-prefetch",o,null)}function kV(o,c){Hi.C(o,c),Ok("preconnect",o,c)}function MV(o,c,h){Hi.L(o,c,h);var v=bc;if(v&&o&&c){var S='link[rel="preload"][as="'+da(c)+'"]';c==="image"&&h&&h.imageSrcSet?(S+='[imagesrcset="'+da(h.imageSrcSet)+'"]',typeof h.imageSizes=="string"&&(S+='[imagesizes="'+da(h.imageSizes)+'"]')):S+='[href="'+da(o)+'"]';var _=S;switch(c){case"style":_=wc(o);break;case"script":_=jc(o)}xa.has(_)||(o=p({rel:"preload",href:c==="image"&&h&&h.imageSrcSet?void 0:o,as:c},h),xa.set(_,o),v.querySelector(S)!==null||c==="style"&&v.querySelector(Fd(_))||c==="script"&&v.querySelector(Ud(_))||(c=v.createElement("link"),rr(c,"link",o),Fn(c),v.head.appendChild(c)))}}function PV(o,c){Hi.m(o,c);var h=bc;if(h&&o){var v=c&&typeof c.as=="string"?c.as:"script",S='link[rel="modulepreload"][as="'+da(v)+'"][href="'+da(o)+'"]',_=S;switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":_=jc(o)}if(!xa.has(_)&&(o=p({rel:"modulepreload",href:o},c),xa.set(_,o),h.querySelector(S)===null)){switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(h.querySelector(Ud(_)))return}v=h.createElement("link"),rr(v,"link",o),Fn(v),h.head.appendChild(v)}}}function RV(o,c,h){Hi.S(o,c,h);var v=bc;if(v&&o){var S=Ul(v).hoistableStyles,_=wc(o);c=c||"default";var P=S.get(_);if(!P){var F={loading:0,preload:null};if(P=v.querySelector(Fd(_)))F.loading=5;else{o=p({rel:"stylesheet",href:o,"data-precedence":c},h),(h=xa.get(_))&&x0(o,h);var X=P=v.createElement("link");Fn(X),rr(X,"link",o),X._p=new Promise(function(se,pe){X.onload=se,X.onerror=pe}),X.addEventListener("load",function(){F.loading|=1}),X.addEventListener("error",function(){F.loading|=2}),F.loading|=4,hp(P,c,v)}P={type:"stylesheet",instance:P,count:1,state:F},S.set(_,P)}}}function DV(o,c){Hi.X(o,c);var h=bc;if(h&&o){var v=Ul(h).hoistableScripts,S=jc(o),_=v.get(S);_||(_=h.querySelector(Ud(S)),_||(o=p({src:o,async:!0},c),(c=xa.get(S))&&b0(o,c),_=h.createElement("script"),Fn(_),rr(_,"link",o),h.head.appendChild(_)),_={type:"script",instance:_,count:1,state:null},v.set(S,_))}}function $V(o,c){Hi.M(o,c);var h=bc;if(h&&o){var v=Ul(h).hoistableScripts,S=jc(o),_=v.get(S);_||(_=h.querySelector(Ud(S)),_||(o=p({src:o,async:!0,type:"module"},c),(c=xa.get(S))&&b0(o,c),_=h.createElement("script"),Fn(_),rr(_,"link",o),h.head.appendChild(_)),_={type:"script",instance:_,count:1,state:null},v.set(S,_))}}function Ek(o,c,h,v){var S=(S=ge.current)?fp(S):null;if(!S)throw Error(r(446));switch(o){case"meta":case"title":return null;case"style":return typeof h.precedence=="string"&&typeof h.href=="string"?(c=wc(h.href),h=Ul(S).hoistableStyles,v=h.get(c),v||(v={type:"style",instance:null,count:0,state:null},h.set(c,v)),v):{type:"void",instance:null,count:0,state:null};case"link":if(h.rel==="stylesheet"&&typeof h.href=="string"&&typeof h.precedence=="string"){o=wc(h.href);var _=Ul(S).hoistableStyles,P=_.get(o);if(P||(S=S.ownerDocument||S,P={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},_.set(o,P),(_=S.querySelector(Fd(o)))&&!_._p&&(P.instance=_,P.state.loading=5),xa.has(o)||(h={rel:"preload",as:"style",href:h.href,crossOrigin:h.crossOrigin,integrity:h.integrity,media:h.media,hrefLang:h.hrefLang,referrerPolicy:h.referrerPolicy},xa.set(o,h),_||IV(S,o,h,P.state))),c&&v===null)throw Error(r(528,""));return P}if(c&&v!==null)throw Error(r(529,""));return null;case"script":return c=h.async,h=h.src,typeof h=="string"&&c&&typeof c!="function"&&typeof c!="symbol"?(c=jc(h),h=Ul(S).hoistableScripts,v=h.get(c),v||(v={type:"script",instance:null,count:0,state:null},h.set(c,v)),v):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,o))}}function wc(o){return'href="'+da(o)+'"'}function Fd(o){return'link[rel="stylesheet"]['+o+"]"}function Ak(o){return p({},o,{"data-precedence":o.precedence,precedence:null})}function IV(o,c,h,v){o.querySelector('link[rel="preload"][as="style"]['+c+"]")?v.loading=1:(c=o.createElement("link"),v.preload=c,c.addEventListener("load",function(){return v.loading|=1}),c.addEventListener("error",function(){return v.loading|=2}),rr(c,"link",h),Fn(c),o.head.appendChild(c))}function jc(o){return'[src="'+da(o)+'"]'}function Ud(o){return"script[async]"+o}function Tk(o,c,h){if(c.count++,c.instance===null)switch(c.type){case"style":var v=o.querySelector('style[data-href~="'+da(h.href)+'"]');if(v)return c.instance=v,Fn(v),v;var S=p({},h,{"data-href":h.href,"data-precedence":h.precedence,href:null,precedence:null});return v=(o.ownerDocument||o).createElement("style"),Fn(v),rr(v,"style",S),hp(v,h.precedence,o),c.instance=v;case"stylesheet":S=wc(h.href);var _=o.querySelector(Fd(S));if(_)return c.state.loading|=4,c.instance=_,Fn(_),_;v=Ak(h),(S=xa.get(S))&&x0(v,S),_=(o.ownerDocument||o).createElement("link"),Fn(_);var P=_;return P._p=new Promise(function(F,X){P.onload=F,P.onerror=X}),rr(_,"link",v),c.state.loading|=4,hp(_,h.precedence,o),c.instance=_;case"script":return _=jc(h.src),(S=o.querySelector(Ud(_)))?(c.instance=S,Fn(S),S):(v=h,(S=xa.get(_))&&(v=p({},h),b0(v,S)),o=o.ownerDocument||o,S=o.createElement("script"),Fn(S),rr(S,"link",v),o.head.appendChild(S),c.instance=S);case"void":return null;default:throw Error(r(443,c.type))}else c.type==="stylesheet"&&(c.state.loading&4)===0&&(v=c.instance,c.state.loading|=4,hp(v,h.precedence,o));return c.instance}function hp(o,c,h){for(var v=h.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),S=v.length?v[v.length-1]:null,_=S,P=0;P title"):null)}function LV(o,c,h){if(h===1||c.itemProp!=null)return!1;switch(o){case"meta":case"title":return!0;case"style":if(typeof c.precedence!="string"||typeof c.href!="string"||c.href==="")break;return!0;case"link":if(typeof c.rel!="string"||typeof c.href!="string"||c.href===""||c.onLoad||c.onError)break;switch(c.rel){case"stylesheet":return o=c.disabled,typeof c.precedence=="string"&&o==null;default:return!0}case"script":if(c.async&&typeof c.async!="function"&&typeof c.async!="symbol"&&!c.onLoad&&!c.onError&&c.src&&typeof c.src=="string")return!0}return!1}function Pk(o){return!(o.type==="stylesheet"&&(o.state.loading&3)===0)}function BV(o,c,h,v){if(h.type==="stylesheet"&&(typeof v.media!="string"||matchMedia(v.media).matches!==!1)&&(h.state.loading&4)===0){if(h.instance===null){var S=wc(v.href),_=c.querySelector(Fd(S));if(_){c=_._p,c!==null&&typeof c=="object"&&typeof c.then=="function"&&(o.count++,o=pp.bind(o),c.then(o,o)),h.state.loading|=4,h.instance=_,Fn(_);return}_=c.ownerDocument||c,v=Ak(v),(S=xa.get(S))&&x0(v,S),_=_.createElement("link"),Fn(_);var P=_;P._p=new Promise(function(F,X){P.onload=F,P.onerror=X}),rr(_,"link",v),h.instance=_}o.stylesheets===null&&(o.stylesheets=new Map),o.stylesheets.set(h,c),(c=h.state.preload)&&(h.state.loading&3)===0&&(o.count++,h=pp.bind(o),c.addEventListener("load",h),c.addEventListener("error",h))}}var w0=0;function zV(o,c){return o.stylesheets&&o.count===0&&gp(o,o.stylesheets),0w0?50:800)+c);return o.unsuspend=h,function(){o.unsuspend=null,clearTimeout(v),clearTimeout(S)}}:null}function pp(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)gp(this,this.stylesheets);else if(this.unsuspend){var o=this.unsuspend;this.unsuspend=null,o()}}}var vp=null;function gp(o,c){o.stylesheets=null,o.unsuspend!==null&&(o.count++,vp=new Map,c.forEach(qV,o),vp=null,pp.call(o))}function qV(o,c){if(!(c.state.loading&4)){var h=vp.get(o);if(h)var v=h.get(null);else{h=new Map,vp.set(o,h);for(var S=o.querySelectorAll("link[data-precedence],style[data-precedence]"),_=0;_"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),T0.exports=rG(),T0.exports}var iG=aG();const g_=new WeakMap,sG=new WeakMap,vv={current:[]};let R0=!1,jf=0;const hf=new Set,Cp=new Map;function e5(e){for(const t of e){if(vv.current.includes(t))continue;vv.current.push(t),t.recompute();const n=sG.get(t);if(n)for(const r of n){const a=g_.get(r);a?.length&&e5(a)}}}function oG(e){const t={prevVal:e.prevState,currentVal:e.state};for(const n of e.listeners)n(t)}function lG(e){const t={prevVal:e.prevState,currentVal:e.state};for(const n of e.listeners)n(t)}function t5(e){if(jf>0&&!Cp.has(e)&&Cp.set(e,e.prevState),hf.add(e),!(jf>0)&&!R0)try{for(R0=!0;hf.size>0;){const t=Array.from(hf);hf.clear();for(const n of t){const r=Cp.get(n)??n.prevState;n.prevState=r,oG(n)}for(const n of t){const r=g_.get(n);r&&(vv.current.push(n),e5(r))}for(const n of t){const r=g_.get(n);if(r)for(const a of r)lG(a)}}}finally{R0=!1,vv.current=[],Cp.clear()}}function Sf(e){jf++;try{e()}finally{if(jf--,jf===0){const t=hf.values().next().value;t&&t5(t)}}}function cG(e){return typeof e=="function"}class uG{constructor(t,n){this.listeners=new Set,this.subscribe=r=>{var a,s;this.listeners.add(r);const l=(s=(a=this.options)==null?void 0:a.onSubscribe)==null?void 0:s.call(a,r,this);return()=>{this.listeners.delete(r),l?.()}},this.prevState=t,this.state=t,this.options=n}setState(t){var n,r,a;this.prevState=this.state,(n=this.options)!=null&&n.updateFn?this.state=this.options.updateFn(this.prevState)(t):cG(t)?this.state=t(this.prevState):this.state=t,(a=(r=this.options)==null?void 0:r.onUpdate)==null||a.call(r),t5(this)}}const Ks="__TSR_index",rM="popstate",aM="beforeunload";function dG(e){let t=e.getLocation();const n=new Set,r=l=>{t=e.getLocation(),n.forEach(u=>u({location:t,action:l}))},a=l=>{e.notifyOnIndexChange??!0?r(l):t=e.getLocation()},s=async({task:l,navigateOpts:u,...d})=>{if(u?.ignoreBlocker??!1){l();return}const m=e.getBlockers?.()??[],p=d.type==="PUSH"||d.type==="REPLACE";if(typeof document<"u"&&m.length&&p)for(const g of m){const x=gv(d.path,d.state);if(await g.blockerFn({currentLocation:t,nextLocation:x,action:d.type})){e.onBlocked?.();return}}l()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:l=>(n.add(l),()=>{n.delete(l)}),push:(l,u,d)=>{const f=t.state[Ks];u=iM(f+1,u),s({task:()=>{e.pushState(l,u),r({type:"PUSH"})},navigateOpts:d,type:"PUSH",path:l,state:u})},replace:(l,u,d)=>{const f=t.state[Ks];u=iM(f,u),s({task:()=>{e.replaceState(l,u),r({type:"REPLACE"})},navigateOpts:d,type:"REPLACE",path:l,state:u})},go:(l,u)=>{s({task:()=>{e.go(l),a({type:"GO",index:l})},navigateOpts:u,type:"GO"})},back:l=>{s({task:()=>{e.back(l?.ignoreBlocker??!1),a({type:"BACK"})},navigateOpts:l,type:"BACK"})},forward:l=>{s({task:()=>{e.forward(l?.ignoreBlocker??!1),a({type:"FORWARD"})},navigateOpts:l,type:"FORWARD"})},canGoBack:()=>t.state[Ks]!==0,createHref:l=>e.createHref(l),block:l=>{if(!e.setBlockers)return()=>{};const u=e.getBlockers?.()??[];return e.setBlockers([...u,l]),()=>{const d=e.getBlockers?.()??[];e.setBlockers?.(d.filter(f=>f!==l))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function iM(e,t){t||(t={});const n=AC();return{...t,key:n,__TSR_key:n,[Ks]:e}}function fG(e){const t=typeof document<"u"?window:void 0,n=t.history.pushState,r=t.history.replaceState;let a=[];const s=()=>a,l=M=>a=M,u=(M=>M),d=(()=>gv(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){const M=AC();t.history.replaceState({[Ks]:0,key:M,__TSR_key:M},"")}let f=d(),m,p=!1,g=!1,x=!1,j=!1;const w=()=>f;let b,N;const E=()=>{b&&(T._ignoreSubscribers=!0,(b.isPush?t.history.pushState:t.history.replaceState)(b.state,"",b.href),T._ignoreSubscribers=!1,b=void 0,N=void 0,m=void 0)},O=(M,R,B)=>{const $=u(R);N||(m=f),f=gv(R,B),b={href:$,state:B,isPush:b?.isPush||M==="push"},N||(N=Promise.resolve().then(()=>E()))},A=M=>{f=d(),T.notify({type:M})},C=async()=>{if(g){g=!1;return}const M=d(),R=M.state[Ks]-f.state[Ks],B=R===1,$=R===-1,H=!B&&!$||p;p=!1;const V=H?"GO":$?"BACK":"FORWARD",q=H?{type:"GO",index:R}:{type:$?"BACK":"FORWARD"};if(x)x=!1;else{const G=s();if(typeof document<"u"&&G.length){for(const L of G)if(await L.blockerFn({currentLocation:f,nextLocation:M,action:V})){g=!0,t.history.go(1),T.notify(q);return}}}f=d(),T.notify(q)},k=M=>{if(j){j=!1;return}let R=!1;const B=s();if(typeof document<"u"&&B.length)for(const $ of B){const H=$.enableBeforeUnload??!0;if(H===!0){R=!0;break}if(typeof H=="function"&&H()===!0){R=!0;break}}if(R)return M.preventDefault(),M.returnValue=""},T=dG({getLocation:w,getLength:()=>t.history.length,pushState:(M,R)=>O("push",M,R),replaceState:(M,R)=>O("replace",M,R),back:M=>(M&&(x=!0),j=!0,t.history.back()),forward:M=>{M&&(x=!0),j=!0,t.history.forward()},go:M=>{p=!0,t.history.go(M)},createHref:M=>u(M),flush:E,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(aM,k,{capture:!0}),t.removeEventListener(rM,C)},onBlocked:()=>{m&&f!==m&&(f=m)},getBlockers:s,setBlockers:l,notifyOnIndexChange:!1});return t.addEventListener(aM,k,{capture:!0}),t.addEventListener(rM,C),t.history.pushState=function(...M){const R=n.apply(t.history,M);return T._ignoreSubscribers||A("PUSH"),R},t.history.replaceState=function(...M){const R=r.apply(t.history,M);return T._ignoreSubscribers||A("REPLACE"),R},T}function gv(e,t){const n=e.indexOf("#"),r=e.indexOf("?"),a=AC();return{href:e,pathname:e.substring(0,n>0?r>0?Math.min(n,r):n:r>0?r:e.length),hash:n>-1?e.substring(n):"",search:r>-1?e.slice(r,n===-1?void 0:n):"",state:t||{[Ks]:0,key:a,__TSR_key:a}}}function AC(){return(Math.random()+1).toString(36).substring(7)}function y_(e){return e[e.length-1]}function hG(e){return typeof e=="function"}function el(e,t){return hG(e)?e(t):e}const mG=Object.prototype.hasOwnProperty;function _a(e,t){if(e===t)return e;const n=t,r=lM(e)&&lM(n);if(!r&&!(yv(e)&&yv(n)))return n;const a=r?e:sM(e);if(!a)return n;const s=r?n:sM(n);if(!s)return n;const l=a.length,u=s.length,d=r?new Array(u):{};let f=0;for(let m=0;m"u")return!0;const n=t.prototype;return!(!oM(n)||!n.hasOwnProperty("isPrototypeOf"))}function oM(e){return Object.prototype.toString.call(e)==="[object Object]"}function lM(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function tl(e,t,n){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0,a=e.length;ra||!tl(e[l],t[l],n)))return!1;return a===s}return!1}function tu(e){let t,n;const r=new Promise((a,s)=>{t=a,n=s});return r.status="pending",r.resolve=a=>{r.status="resolved",r.value=a,t(a),e?.(a)},r.reject=a=>{r.status="rejected",n(a)},r}function Xs(e){return!!(e&&typeof e=="object"&&typeof e.then=="function")}const pG=Array.from(new Map([["%","%25"],["\\","%5C"]]).values());function cM(e,t=pG){function n(a,s,l=0){for(let u=l;u{try{return decodeURI(u)}catch{return u}})}}if(e===""||!/%[0-9A-Fa-f]{2}/g.test(e))return e;const r=e.replaceAll(/%[0-9a-f]{2}/g,a=>a.toUpperCase());return n(r,t)}var vG="Invariant failed";function pr(e,t){if(!e)throw new Error(vG)}const mi=0,cl=1,nu=2,ru=3;function ts(e){return TC(e.filter(t=>t!==void 0).join("/"))}function TC(e){return e.replace(/\/{2,}/g,"/")}function kC(e){return e==="/"?e:e.replace(/^\/{1,}/,"")}function Zs(e){return e==="/"?e:e.replace(/\/{1,}$/,"")}function av(e){return Zs(kC(e))}function xv(e,t){return e?.endsWith("/")&&e!=="/"&&e!==`${t}/`?e.slice(0,-1):e}function gG(e,t,n){return xv(e,n)===xv(t,n)}function yG(e){const{type:t,value:n}=e;if(t===mi)return n;const{prefixSegment:r,suffixSegment:a}=e;if(t===cl){const s=n.substring(1);if(r&&a)return`${r}{$${s}}${a}`;if(r)return`${r}{$${s}}`;if(a)return`{$${s}}${a}`}if(t===ru){const s=n.substring(1);return r&&a?`${r}{-$${s}}${a}`:r?`${r}{-$${s}}`:a?`{-$${s}}${a}`:`{-$${s}}`}if(t===nu){if(r&&a)return`${r}{$}${a}`;if(r)return`${r}{$}`;if(a)return`{$}${a}`}return n}function xG({base:e,to:t,trailingSlash:n="never",parseCache:r}){let a=au(e,r).slice();const s=au(t,r);a.length>1&&y_(a)?.value==="/"&&a.pop();for(let d=0,f=s.length;d1&&(y_(a).value==="/"?n==="never"&&a.pop():n==="always"&&a.push({type:mi,value:"/"}));const l=a.map(yG);return ts(l)}const au=(e,t)=>{if(!e)return[];const n=t?.get(e);if(n)return n;const r=NG(e);return t?.set(e,r),r},bG=/^\$.{1,}$/,wG=/^(.*?)\{(\$[a-zA-Z_$][a-zA-Z0-9_$]*)\}(.*)$/,jG=/^(.*?)\{-(\$[a-zA-Z_$][a-zA-Z0-9_$]*)\}(.*)$/,SG=/^\$$/,_G=/^(.*?)\{\$\}(.*)$/;function NG(e){e=TC(e);const t=[];if(e.slice(0,1)==="/"&&(e=e.substring(1),t.push({type:mi,value:"/"})),!e)return t;const n=e.split("/").filter(Boolean);return t.push(...n.map(r=>{const a=r.match(_G);if(a){const u=a[1],d=a[2];return{type:nu,value:"$",prefixSegment:u||void 0,suffixSegment:d||void 0}}const s=r.match(jG);if(s){const u=s[1],d=s[2],f=s[3];return{type:ru,value:d,prefixSegment:u||void 0,suffixSegment:f||void 0}}const l=r.match(wG);if(l){const u=l[1],d=l[2],f=l[3];return{type:cl,value:""+d,prefixSegment:u||void 0,suffixSegment:f||void 0}}if(bG.test(r)){const u=r.substring(1);return{type:cl,value:"$"+u,prefixSegment:void 0,suffixSegment:void 0}}return SG.test(r)?{type:nu,value:"$",prefixSegment:void 0,suffixSegment:void 0}:{type:mi,value:r}})),e.slice(-1)==="/"&&(e=e.substring(1),t.push({type:mi,value:"/"})),t}function D0({path:e,params:t,decodeCharMap:n,parseCache:r}){const a=au(e,r);function s(f){const m=t[f],p=typeof m=="string";return f==="*"||f==="_splat"?p?encodeURI(m):m:p?CG(m,n):m}let l=!1;const u={},d=ts(a.map(f=>{if(f.type===mi)return f.value;if(f.type===nu){u._splat=t._splat,u["*"]=t._splat;const m=f.prefixSegment||"",p=f.suffixSegment||"";if(!t._splat)return l=!0,m||p?`${m}${p}`:void 0;const g=s("_splat");return`${m}${g}${p}`}if(f.type===cl){const m=f.value.substring(1);!l&&!(m in t)&&(l=!0),u[m]=t[m];const p=f.prefixSegment||"",g=f.suffixSegment||"";return`${p}${s(m)??"undefined"}${g}`}if(f.type===ru){const m=f.value.substring(1),p=f.prefixSegment||"",g=f.suffixSegment||"";return!(m in t)||t[m]==null?p||g?`${p}${g}`:void 0:(u[m]=t[m],`${p}${s(m)??""}${g}`)}return f.value}));return{usedParams:u,interpolatedPath:d,isMissingParams:l}}function CG(e,t){let n=encodeURIComponent(e);if(t)for(const[r,a]of t)n=n.replaceAll(r,a);return n}function x_(e,t,n){const r=OG(e,t,n);if(!(t.to&&!r))return r??{}}function OG(e,{to:t,fuzzy:n,caseSensitive:r},a){const s=t,l=au(e.startsWith("/")?e:`/${e}`,a),u=au(s.startsWith("/")?s:`/${s}`,a),d={};return EG(l,u,d,n,r)?d:void 0}function EG(e,t,n,r,a){let s=0,l=0;for(;sw.value)));p&&j.startsWith(p)&&(j=j.slice(p.length)),g&&j.endsWith(g)&&(j=j.slice(0,j.length-g.length)),m=j}else m=decodeURI(ts(f.map(p=>p.value)));return n["*"]=m,n._splat=m,!0}if(d.type===mi){if(d.value==="/"&&!u?.value){l++;continue}if(u){if(a){if(d.value!==u.value)return!1}else if(d.value.toLowerCase()!==u.value.toLowerCase())return!1;s++,l++;continue}else return!1}if(d.type===cl){if(!u||u.value==="/")return!1;let f="",m=!1;if(d.prefixSegment||d.suffixSegment){const p=d.prefixSegment||"",g=d.suffixSegment||"",x=u.value;if(p&&!x.startsWith(p)||g&&!x.endsWith(g))return!1;let j=x;p&&j.startsWith(p)&&(j=j.slice(p.length)),g&&j.endsWith(g)&&(j=j.slice(0,j.length-g.length)),f=decodeURIComponent(j),m=!0}else f=decodeURIComponent(u.value),m=!0;m&&(n[d.value.substring(1)]=f,s++),l++;continue}if(d.type===ru){if(!u){l++;continue}if(u.value==="/"){l++;continue}let f="",m=!1;if(d.prefixSegment||d.suffixSegment){const p=d.prefixSegment||"",g=d.suffixSegment||"",x=u.value;if((!p||x.startsWith(p))&&(!g||x.endsWith(g))){let j=x;p&&j.startsWith(p)&&(j=j.slice(p.length)),g&&j.endsWith(g)&&(j=j.slice(0,j.length-g.length)),f=decodeURIComponent(j),m=!0}}else{let p=!0;for(let g=l+1;g=t.length)return n["**"]=ts(e.slice(s).map(f=>f.value)),!!r&&t[t.length-1]?.value!=="/";if(l=e.length){for(let f=l;f{if(r.isRoot||!r.path)return;const s=kC(r.fullPath);let l=au(s),u=0;for(;l.length>u+1&&l[u]?.value==="/";)u++;u>0&&(l=l.slice(u));let d=0,f=!1;const m=l.map((p,g)=>{if(p.value==="/")return AG;if(p.type===mi)return TG;let x;p.type===cl?x=kG:p.type===ru?(x=MG,d++):x=PG;for(let j=g+1;j{const s=Math.min(r.scores.length,a.scores.length);for(let l=0;la.parsed[l].value?1:-1;return r.index-a.index}).map((r,a)=>(r.child.rank=a,r.child))}function BG({routeTree:e,initRoute:t}){const n={},r={},a=l=>{l.forEach((u,d)=>{t?.(u,d);const f=n[u.id];if(pr(!f,`Duplicate routes found with id: ${String(u.id)}`),n[u.id]=u,!u.isRoot&&u.path){const p=Zs(u.fullPath);(!r[p]||u.fullPath.endsWith("/"))&&(r[p]=u)}const m=u.children;m?.length&&a(m)})};a([e]);const s=LG(Object.values(n));return{routesById:n,routesByPath:r,flatRoutes:s}}function Wa(e){return!!e?.isNotFound}function zG(){try{if(typeof window<"u"&&typeof window.sessionStorage=="object")return window.sessionStorage}catch{}}const bv="tsr-scroll-restoration-v1_3",qG=(e,t)=>{let n;return(...r)=>{n||(n=setTimeout(()=>{e(...r),n=null},t))}};function FG(){const e=zG();if(!e)return null;const t=e.getItem(bv);let n=t?JSON.parse(t):{};return{state:n,set:r=>(n=el(r,n)||n,e.setItem(bv,JSON.stringify(n)))}}const Op=FG(),b_=e=>e.state.__TSR_key||e.href;function UG(e){const t=[];let n;for(;n=e.parentNode;)t.push(`${e.tagName}:nth-child(${Array.prototype.indexOf.call(n.children,e)+1})`),e=n;return`${t.reverse().join(" > ")}`.toLowerCase()}let wv=!1;function n5({storageKey:e,key:t,behavior:n,shouldScrollRestoration:r,scrollToTopSelectors:a,location:s}){let l;try{l=JSON.parse(sessionStorage.getItem(e)||"{}")}catch(f){console.error(f);return}const u=t||window.history.state?.__TSR_key,d=l[u];wv=!0;e:{if(r&&d&&Object.keys(d).length>0){for(const p in d){const g=d[p];if(p==="window")window.scrollTo({top:g.scrollY,left:g.scrollX,behavior:n});else if(p){const x=document.querySelector(p);x&&(x.scrollLeft=g.scrollX,x.scrollTop=g.scrollY)}}break e}const f=(s??window.location).hash.split("#",2)[1];if(f){const p=window.history.state?.__hashScrollIntoViewOptions??!0;if(p){const g=document.getElementById(f);g&&g.scrollIntoView(p)}break e}const m={top:0,left:0,behavior:n};if(window.scrollTo(m),a)for(const p of a){if(p==="window")continue;const g=typeof p=="function"?p():document.querySelector(p);g&&g.scrollTo(m)}}wv=!1}function HG(e,t){if(!Op&&!e.isServer||((e.options.scrollRestoration??!1)&&(e.isScrollRestoring=!0),e.isServer||e.isScrollRestorationSetup||!Op))return;e.isScrollRestorationSetup=!0,wv=!1;const r=e.options.getScrollRestorationKey||b_;window.history.scrollRestoration="manual";const a=s=>{if(wv||!e.isScrollRestoring)return;let l="";if(s.target===document||s.target===window)l="window";else{const d=s.target.getAttribute("data-scroll-restoration-id");d?l=`[data-scroll-restoration-id="${d}"]`:l=UG(s.target)}const u=r(e.state.location);Op.set(d=>{const f=d[u]||={},m=f[l]||={};if(l==="window")m.scrollX=window.scrollX||0,m.scrollY=window.scrollY||0;else if(l){const p=document.querySelector(l);p&&(m.scrollX=p.scrollLeft||0,m.scrollY=p.scrollTop||0)}return d})};typeof document<"u"&&document.addEventListener("scroll",qG(a,100),!0),e.subscribe("onRendered",s=>{const l=r(s.toLocation);if(!e.resetNextScroll){e.resetNextScroll=!0;return}typeof e.options.scrollRestoration=="function"&&!e.options.scrollRestoration({location:e.latestLocation})||(n5({storageKey:bv,key:l,behavior:e.options.scrollRestorationBehavior,shouldScrollRestoration:e.isScrollRestoring,scrollToTopSelectors:e.options.scrollToTopSelectors,location:e.history.location}),e.isScrollRestoring&&Op.set(u=>(u[l]||={},u)))})}function WG(e){if(typeof document<"u"&&document.querySelector){const t=e.state.location.state.__hashScrollIntoViewOptions??!0;if(t&&e.state.location.hash!==""){const n=document.getElementById(e.state.location.hash);n&&n.scrollIntoView(t)}}}function VG(e,t=String){const n=new URLSearchParams;for(const r in e){const a=e[r];a!==void 0&&n.set(r,t(a))}return n.toString()}function $0(e){return e?e==="false"?!1:e==="true"?!0:+e*0===0&&+e+""===e?+e:e:""}function GG(e){const t=new URLSearchParams(e),n={};for(const[r,a]of t.entries()){const s=n[r];s==null?n[r]=$0(a):Array.isArray(s)?s.push($0(a)):n[r]=[s,$0(a)]}return n}const YG=XG(JSON.parse),KG=ZG(JSON.stringify,JSON.parse);function XG(e){return t=>{t[0]==="?"&&(t=t.substring(1));const n=GG(t);for(const r in n){const a=n[r];if(typeof a=="string")try{n[r]=e(a)}catch{}}return n}}function ZG(e,t){const n=typeof t=="function";function r(a){if(typeof a=="object"&&a!==null)try{return e(a)}catch{}else if(n&&typeof a=="string")try{return t(a),e(a)}catch{}return a}return a=>{const s=VG(a,r);return s?`?${s}`:""}}const ea="__root__";function r5(e){if(e.statusCode=e.statusCode||e.code||307,!e.reloadDocument&&typeof e.href=="string")try{new URL(e.href),e.reloadDocument=!0}catch{}const t=new Headers(e.headers);e.href&&t.get("Location")===null&&t.set("Location",e.href);const n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function ci(e){return e instanceof Response&&!!e.options}function QG(e){const t=new Map;let n,r;const a=s=>{s.next&&(s.prev?(s.prev.next=s.next,s.next.prev=s.prev,s.next=void 0,r&&(r.next=s,s.prev=r)):(s.next.prev=void 0,n=s.next,s.next=void 0,r&&(s.prev=r,r.next=s)),r=s)};return{get(s){const l=t.get(s);if(l)return a(l),l.value},set(s,l){if(t.size>=e&&n){const d=n;t.delete(d.key),d.next&&(n=d.next,d.next.prev=void 0),d===r&&(r=void 0)}const u=t.get(s);if(u)u.value=l,a(u);else{const d={key:s,value:l,prev:r};r&&(r.next=d),r=d,n||(n=d),t.set(s,d)}}}}const iv=e=>{if(!e.rendered)return e.rendered=!0,e.onReady?.()},zg=(e,t)=>!!(e.preload&&!e.router.state.matches.some(n=>n.id===t)),a5=(e,t)=>{const n=e.router.routesById[t.routeId??""]??e.router.routeTree;!n.options.notFoundComponent&&e.router.options?.defaultNotFoundComponent&&(n.options.notFoundComponent=e.router.options.defaultNotFoundComponent),pr(n.options.notFoundComponent);const r=e.matches.find(a=>a.routeId===n.id);pr(r,"Could not find match for route: "+n.id),e.updateMatch(r.id,a=>({...a,status:"notFound",error:t,isFetching:!1})),t.routerCode==="BEFORE_LOAD"&&n.parentRoute&&(t.routeId=n.parentRoute.id,a5(e,t))},Vs=(e,t,n)=>{if(!(!ci(n)&&!Wa(n))){if(ci(n)&&n.redirectHandled&&!n.options.reloadDocument)throw n;if(t){t._nonReactive.beforeLoadPromise?.resolve(),t._nonReactive.loaderPromise?.resolve(),t._nonReactive.beforeLoadPromise=void 0,t._nonReactive.loaderPromise=void 0;const r=ci(n)?"redirected":"notFound";t._nonReactive.error=n,e.updateMatch(t.id,a=>({...a,status:r,isFetching:!1,error:n})),Wa(n)&&!n.routeId&&(n.routeId=t.routeId),t._nonReactive.loadPromise?.resolve()}throw ci(n)?(e.rendered=!0,n.options._fromLocation=e.location,n.redirectHandled=!0,n=e.router.resolveRedirect(n),n):(a5(e,n),n)}},i5=(e,t)=>{const n=e.router.getMatch(t);return!!(!e.router.isServer&&n._nonReactive.dehydrated||e.router.isServer&&n.ssr===!1)},Xd=(e,t,n,r)=>{const{id:a,routeId:s}=e.matches[t],l=e.router.looseRoutesById[s];if(n instanceof Promise)throw n;n.routerCode=r,e.firstBadMatchIndex??=t,Vs(e,e.router.getMatch(a),n);try{l.options.onError?.(n)}catch(u){n=u,Vs(e,e.router.getMatch(a),n)}e.updateMatch(a,u=>(u._nonReactive.beforeLoadPromise?.resolve(),u._nonReactive.beforeLoadPromise=void 0,u._nonReactive.loadPromise?.resolve(),{...u,error:n,status:"error",isFetching:!1,updatedAt:Date.now(),abortController:new AbortController}))},JG=(e,t,n,r)=>{const a=e.router.getMatch(t),s=e.matches[n-1]?.id,l=s?e.router.getMatch(s):void 0;if(e.router.isShell()){a.ssr=r.id===ea;return}if(l?.ssr===!1){a.ssr=!1;return}const u=x=>x===!0&&l?.ssr==="data-only"?"data-only":x,d=e.router.options.defaultSsr??!0;if(r.options.ssr===void 0){a.ssr=u(d);return}if(typeof r.options.ssr!="function"){a.ssr=u(r.options.ssr);return}const{search:f,params:m}=a,p={search:Ep(f,a.searchError),params:Ep(m,a.paramsError),location:e.location,matches:e.matches.map(x=>({index:x.index,pathname:x.pathname,fullPath:x.fullPath,staticData:x.staticData,id:x.id,routeId:x.routeId,search:Ep(x.search,x.searchError),params:Ep(x.params,x.paramsError),ssr:x.ssr}))},g=r.options.ssr(p);if(Xs(g))return g.then(x=>{a.ssr=u(x??d)});a.ssr=u(g??d)},s5=(e,t,n,r)=>{if(r._nonReactive.pendingTimeout!==void 0)return;const a=n.options.pendingMs??e.router.options.defaultPendingMs;if(!!(e.onReady&&!e.router.isServer&&!zg(e,t)&&(n.options.loader||n.options.beforeLoad||c5(n))&&typeof a=="number"&&a!==1/0&&(n.options.pendingComponent??e.router.options?.defaultPendingComponent))){const l=setTimeout(()=>{iv(e)},a);r._nonReactive.pendingTimeout=l}},eY=(e,t,n)=>{const r=e.router.getMatch(t);if(!r._nonReactive.beforeLoadPromise&&!r._nonReactive.loaderPromise)return;s5(e,t,n,r);const a=()=>{const s=e.router.getMatch(t);s.preload&&(s.status==="redirected"||s.status==="notFound")&&Vs(e,s,s.error)};return r._nonReactive.beforeLoadPromise?r._nonReactive.beforeLoadPromise.then(a):a()},tY=(e,t,n,r)=>{const a=e.router.getMatch(t),s=a._nonReactive.loadPromise;a._nonReactive.loadPromise=tu(()=>{s?.resolve()});const{paramsError:l,searchError:u}=a;l&&Xd(e,n,l,"PARSE_PARAMS"),u&&Xd(e,n,u,"VALIDATE_SEARCH"),s5(e,t,r,a);const d=new AbortController,f=e.matches[n-1]?.id,g={...(f?e.router.getMatch(f):void 0)?.context??e.router.options.context??void 0,...a.__routeContext};let x=!1;const j=()=>{x||(x=!0,e.updateMatch(t,T=>({...T,isFetching:"beforeLoad",fetchCount:T.fetchCount+1,abortController:d,context:g})))},w=()=>{a._nonReactive.beforeLoadPromise?.resolve(),a._nonReactive.beforeLoadPromise=void 0,e.updateMatch(t,T=>({...T,isFetching:!1}))};if(!r.options.beforeLoad){Sf(()=>{j(),w()});return}a._nonReactive.beforeLoadPromise=tu();const{search:b,params:N,cause:E}=a,O=zg(e,t),A={search:b,abortController:d,params:N,preload:O,context:g,location:e.location,navigate:T=>e.router.navigate({...T,_fromLocation:e.location}),buildLocation:e.router.buildLocation,cause:O?"preload":E,matches:e.matches,...e.router.options.additionalContext},C=T=>{if(T===void 0){Sf(()=>{j(),w()});return}(ci(T)||Wa(T))&&(j(),Xd(e,n,T,"BEFORE_LOAD")),Sf(()=>{j(),e.updateMatch(t,M=>({...M,__beforeLoadContext:T,context:{...M.context,...T}})),w()})};let k;try{if(k=r.options.beforeLoad(A),Xs(k))return j(),k.catch(T=>{Xd(e,n,T,"BEFORE_LOAD")}).then(C)}catch(T){j(),Xd(e,n,T,"BEFORE_LOAD")}C(k)},nY=(e,t)=>{const{id:n,routeId:r}=e.matches[t],a=e.router.looseRoutesById[r],s=()=>{if(e.router.isServer){const d=JG(e,n,t,a);if(Xs(d))return d.then(u)}return u()},l=()=>tY(e,n,t,a),u=()=>{if(i5(e,n))return;const d=eY(e,n,a);return Xs(d)?d.then(l):l()};return s()},_f=(e,t,n)=>{const r=e.router.getMatch(t);if(!r||!n.options.head&&!n.options.scripts&&!n.options.headers)return;const a={matches:e.matches,match:r,params:r.params,loaderData:r.loaderData};return Promise.all([n.options.head?.(a),n.options.scripts?.(a),n.options.headers?.(a)]).then(([s,l,u])=>{const d=s?.meta,f=s?.links,m=s?.scripts,p=s?.styles;return{meta:d,links:f,headScripts:m,headers:u,scripts:l,styles:p}})},o5=(e,t,n,r)=>{const a=e.matchPromises[n-1],{params:s,loaderDeps:l,abortController:u,cause:d}=e.router.getMatch(t);let f=e.router.options.context??{};for(let p=0;p<=n;p++){const g=e.matches[p];if(!g)continue;const x=e.router.getMatch(g.id);x&&(f={...f,...x.__routeContext??{},...x.__beforeLoadContext??{}})}const m=zg(e,t);return{params:s,deps:l,preload:!!m,parentMatchPromise:a,abortController:u,context:f,location:e.location,navigate:p=>e.router.navigate({...p,_fromLocation:e.location}),cause:m?"preload":d,route:r,...e.router.options.additionalContext}},hM=async(e,t,n,r)=>{try{const a=e.router.getMatch(t);try{(!e.router.isServer||a.ssr===!0)&&l5(r);const s=r.options.loader?.(o5(e,t,n,r)),l=r.options.loader&&Xs(s);if(!!(l||r._lazyPromise||r._componentsPromise||r.options.head||r.options.scripts||r.options.headers||a._nonReactive.minPendingPromise)&&e.updateMatch(t,p=>({...p,isFetching:"loader"})),r.options.loader){const p=l?await s:s;Vs(e,e.router.getMatch(t),p),p!==void 0&&e.updateMatch(t,g=>({...g,loaderData:p}))}r._lazyPromise&&await r._lazyPromise;const d=_f(e,t,r),f=d?await d:void 0,m=a._nonReactive.minPendingPromise;m&&await m,r._componentsPromise&&await r._componentsPromise,e.updateMatch(t,p=>({...p,error:void 0,status:"success",isFetching:!1,updatedAt:Date.now(),...f}))}catch(s){let l=s;const u=a._nonReactive.minPendingPromise;u&&await u,Wa(s)&&await r.options.notFoundComponent?.preload?.(),Vs(e,e.router.getMatch(t),s);try{r.options.onError?.(s)}catch(m){l=m,Vs(e,e.router.getMatch(t),m)}const d=_f(e,t,r),f=d?await d:void 0;e.updateMatch(t,m=>({...m,error:l,status:"error",isFetching:!1,...f}))}}catch(a){const s=e.router.getMatch(t);if(s){const l=_f(e,t,r);if(l){const u=await l;e.updateMatch(t,d=>({...d,...u}))}s._nonReactive.loaderPromise=void 0}Vs(e,s,a)}},rY=async(e,t)=>{const{id:n,routeId:r}=e.matches[t];let a=!1,s=!1;const l=e.router.looseRoutesById[r];if(i5(e,n)){if(e.router.isServer){const f=_f(e,n,l);if(f){const m=await f;e.updateMatch(n,p=>({...p,...m}))}return e.router.getMatch(n)}}else{const f=e.router.getMatch(n);if(f._nonReactive.loaderPromise){if(f.status==="success"&&!e.sync&&!f.preload)return f;await f._nonReactive.loaderPromise;const m=e.router.getMatch(n),p=m._nonReactive.error||m.error;p&&Vs(e,m,p)}else{const m=Date.now()-f.updatedAt,p=zg(e,n),g=p?l.options.preloadStaleTime??e.router.options.defaultPreloadStaleTime??3e4:l.options.staleTime??e.router.options.defaultStaleTime??0,x=l.options.shouldReload,j=typeof x=="function"?x(o5(e,n,t,l)):x,w=!!p&&!e.router.state.matches.some(O=>O.id===n),b=e.router.getMatch(n);b._nonReactive.loaderPromise=tu(),w!==b.preload&&e.updateMatch(n,O=>({...O,preload:w}));const{status:N,invalid:E}=b;if(a=N==="success"&&(E||(j??m>g)),!(p&&l.options.preload===!1))if(a&&!e.sync)s=!0,(async()=>{try{await hM(e,n,t,l);const O=e.router.getMatch(n);O._nonReactive.loaderPromise?.resolve(),O._nonReactive.loadPromise?.resolve(),O._nonReactive.loaderPromise=void 0}catch(O){ci(O)&&await e.router.navigate(O.options)}})();else if(N!=="success"||a&&e.sync)await hM(e,n,t,l);else{const O=_f(e,n,l);if(O){const A=await O;e.updateMatch(n,C=>({...C,...A}))}}}}const u=e.router.getMatch(n);s||(u._nonReactive.loaderPromise?.resolve(),u._nonReactive.loadPromise?.resolve()),clearTimeout(u._nonReactive.pendingTimeout),u._nonReactive.pendingTimeout=void 0,s||(u._nonReactive.loaderPromise=void 0),u._nonReactive.dehydrated=void 0;const d=s?u.isFetching:!1;return d!==u.isFetching||u.invalid!==!1?(e.updateMatch(n,f=>({...f,isFetching:d,invalid:!1})),e.router.getMatch(n)):u};async function mM(e){const t=Object.assign(e,{matchPromises:[]});!t.router.isServer&&t.router.state.matches.some(n=>n._forcePending)&&iv(t);try{for(let a=0;a{const{id:n,...r}=t.options;Object.assign(e.options,r),e._lazyLoaded=!0,e._lazyPromise=void 0}):e._lazyLoaded=!0),!e._componentsLoaded&&e._componentsPromise===void 0){const t=()=>{const n=[];for(const r of u5){const a=e.options[r]?.preload;a&&n.push(a())}if(n.length)return Promise.all(n).then(()=>{e._componentsLoaded=!0,e._componentsPromise=void 0});e._componentsLoaded=!0,e._componentsPromise=void 0};e._componentsPromise=e._lazyPromise?e._lazyPromise.then(t):t()}return e._componentsPromise}function Ep(e,t){return t?{status:"error",error:t}:{status:"success",value:e}}function c5(e){for(const t of u5)if(e.options[t]?.preload)return!0;return!1}const u5=["component","errorComponent","pendingComponent","notFoundComponent"];function aY(e){return{input:({url:t})=>{for(const n of e)t=d5(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=f5(e[n],t);return t}}}function iY(e){const t=av(e.basepath),n=`/${t}`,r=`${n}/`,a=e.caseSensitive?n:n.toLowerCase(),s=e.caseSensitive?r:r.toLowerCase();return{input:({url:l})=>{const u=e.caseSensitive?l.pathname:l.pathname.toLowerCase();return u===a?l.pathname="/":u.startsWith(s)&&(l.pathname=l.pathname.slice(n.length)),l},output:({url:l})=>(l.pathname=ts(["/",t,l.pathname]),l)}}function d5(e,t){const n=e?.input?.({url:t});if(n){if(typeof n=="string")return new URL(n);if(n instanceof URL)return n}return t}function f5(e,t){const n=e?.output?.({url:t});if(n){if(typeof n=="string")return new URL(n);if(n instanceof URL)return n}return t}function nl(e){const t=e.resolvedLocation,n=e.location,r=t?.pathname!==n.pathname,a=t?.href!==n.href,s=t?.hash!==n.hash;return{fromLocation:t,toLocation:n,pathChanged:r,hrefChanged:a,hashChanged:s}}class sY{constructor(t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this.resetNextScroll=!0,this.shouldViewTransition=void 0,this.isViewTransitionTypesSupported=void 0,this.subscribers=new Set,this.isScrollRestoring=!1,this.isScrollRestorationSetup=!1,this.startTransition=n=>n(),this.update=n=>{n.notFoundRoute&&console.warn("The notFoundRoute API is deprecated and will be removed in the next major version. See https://tanstack.com/router/v1/docs/framework/react/guide/not-found-errors#migrating-from-notfoundroute for more info.");const r=this.options,a=this.basepath??r?.basepath??"/",s=this.basepath===void 0,l=r?.rewrite;this.options={...r,...n},this.isServer=this.options.isServer??typeof document>"u",this.pathParamsDecodeCharMap=this.options.pathParamsAllowedCharacters?new Map(this.options.pathParamsAllowedCharacters.map(g=>[encodeURIComponent(g),g])):void 0,(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.isServer||(this.history=fG())),this.origin=this.options.origin,this.origin||(!this.isServer&&window?.origin&&window.origin!=="null"?this.origin=window.origin:this.origin="http://localhost"),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree&&(this.routeTree=this.options.routeTree,this.buildRouteTree()),!this.__store&&this.latestLocation&&(this.__store=new uG(lY(this.latestLocation),{onUpdate:()=>{this.__store.state={...this.state,cachedMatches:this.state.cachedMatches.filter(g=>!["redirected"].includes(g.status))}}}),HG(this));let u=!1;const d=this.options.basepath??"/",f=this.options.rewrite;if(s||a!==d||l!==f){this.basepath=d;const g=[];av(d)!==""&&g.push(iY({basepath:d})),f&&g.push(f),this.rewrite=g.length===0?void 0:g.length===1?g[0]:aY(g),this.history&&this.updateLatestLocation(),u=!0}u&&this.__store&&(this.__store.state={...this.state,location:this.latestLocation}),typeof window<"u"&&"CSS"in window&&typeof window.CSS?.supports=="function"&&(this.isViewTransitionTypesSupported=window.CSS.supports("selector(:active-view-transition-type(a)"))},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{const{routesById:n,routesByPath:r,flatRoutes:a}=BG({routeTree:this.routeTree,initRoute:(l,u)=>{l.init({originalIndex:u})}});this.routesById=n,this.routesByPath=r,this.flatRoutes=a;const s=this.options.notFoundRoute;s&&(s.init({originalIndex:99999999999}),this.routesById[s.id]=s)},this.subscribe=(n,r)=>{const a={eventType:n,fn:r};return this.subscribers.add(a),()=>{this.subscribers.delete(a)}},this.emit=n=>{this.subscribers.forEach(r=>{r.eventType===n.type&&r.fn(n)})},this.parseLocation=(n,r)=>{const a=({href:d,state:f})=>{const m=new URL(d,this.origin),p=d5(this.rewrite,m),g=this.options.parseSearch(p.search),x=this.options.stringifySearch(g);p.search=x;const j=p.href.replace(p.origin,""),{pathname:w,hash:b}=p;return{href:j,publicHref:d,url:p.href,pathname:cM(w),searchStr:x,search:_a(r?.search,g),hash:b.split("#").reverse()[0]??"",state:_a(r?.state,f)}},s=a(n),{__tempLocation:l,__tempKey:u}=s.state;if(l&&(!u||u===this.tempLocationKey)){const d=a(l);return d.state.key=s.state.key,d.state.__TSR_key=s.state.__TSR_key,delete d.state.__tempLocation,{...d,maskedLocation:s}}return s},this.resolvePathWithBase=(n,r)=>xG({base:n,to:TC(r),trailingSlash:this.options.trailingSlash,parseCache:this.parsePathnameCache}),this.matchRoutes=(n,r,a)=>typeof n=="string"?this.matchRoutesInternal({pathname:n,search:r},a):this.matchRoutesInternal(n,r),this.parsePathnameCache=QG(1e3),this.getMatchedRoutes=(n,r)=>cY({pathname:n,routePathname:r,caseSensitive:this.options.caseSensitive,routesByPath:this.routesByPath,routesById:this.routesById,flatRoutes:this.flatRoutes,parseCache:this.parsePathnameCache}),this.cancelMatch=n=>{const r=this.getMatch(n);r&&(r.abortController.abort(),clearTimeout(r._nonReactive.pendingTimeout),r._nonReactive.pendingTimeout=void 0)},this.cancelMatches=()=>{const n=this.state.matches.filter(s=>s.status==="pending"),r=this.state.matches.filter(s=>s.isFetching==="loader");new Set([...this.state.pendingMatches??[],...n,...r]).forEach(s=>{this.cancelMatch(s.id)})},this.buildLocation=n=>{const r=(s={})=>{const l=s._fromLocation||this.pendingBuiltLocation||this.latestLocation,u=this.matchRoutes(l,{_buildLocation:!0}),d=y_(u);s.from;const f=s.unsafeRelative==="path"?l.pathname:s.from??d.fullPath,m=this.resolvePathWithBase(f,"."),p=d.search,g={...d.params},x=s.to?this.resolvePathWithBase(m,`${s.to}`):this.resolvePathWithBase(m,"."),j=s.params===!1||s.params===null?{}:(s.params??!0)===!0?g:Object.assign(g,el(s.params,g)),w=D0({path:x,params:j,parseCache:this.parsePathnameCache}).interpolatedPath,b=this.matchRoutes(w,void 0,{_buildLocation:!0}).map(B=>this.looseRoutesById[B.routeId]);if(Object.keys(j).length>0)for(const B of b){const $=B.options.params?.stringify??B.options.stringifyParams;$&&Object.assign(j,$(j))}const N=n.leaveParams?x:cM(D0({path:x,params:j,decodeCharMap:this.pathParamsDecodeCharMap,parseCache:this.parsePathnameCache}).interpolatedPath);let E=p;if(n._includeValidateSearch&&this.options.search?.strict){const B={};b.forEach($=>{if($.options.validateSearch)try{Object.assign(B,w_($.options.validateSearch,{...B,...E}))}catch{}}),E=B}E=uY({search:E,dest:s,destRoutes:b,_includeValidateSearch:n._includeValidateSearch}),E=_a(p,E);const O=this.options.stringifySearch(E),A=s.hash===!0?l.hash:s.hash?el(s.hash,l.hash):void 0,C=A?`#${A}`:"";let k=s.state===!0?l.state:s.state?el(s.state,l.state):{};k=_a(l.state,k);const T=`${N}${O}${C}`,M=new URL(T,this.origin),R=f5(this.rewrite,M);return{publicHref:R.pathname+R.search+R.hash,href:T,url:R.href,pathname:N,search:E,searchStr:O,state:k,hash:A??"",unmaskOnReload:s.unmaskOnReload}},a=(s={},l)=>{const u=r(s);let d=l?r(l):void 0;if(!d){let f={};const m=this.options.routeMasks?.find(p=>{const g=x_(u.pathname,{to:p.from,caseSensitive:!1,fuzzy:!1},this.parsePathnameCache);return g?(f=g,!0):!1});if(m){const{from:p,...g}=m;l={from:n.from,...g,params:f},d=r(l)}}return d&&(u.maskedLocation=d),u};return n.mask?a(n,{from:n.from,...n.mask}):a(n)},this.commitLocation=({viewTransition:n,ignoreBlocker:r,...a})=>{const s=()=>{const d=["key","__TSR_key","__TSR_index","__hashScrollIntoViewOptions"];d.forEach(m=>{a.state[m]=this.latestLocation.state[m]});const f=tl(a.state,this.latestLocation.state);return d.forEach(m=>{delete a.state[m]}),f},l=Zs(this.latestLocation.href)===Zs(a.href),u=this.commitLocationPromise;if(this.commitLocationPromise=tu(()=>{u?.resolve()}),l&&s())this.load();else{let{maskedLocation:d,hashScrollIntoView:f,...m}=a;d&&(m={...d,state:{...d.state,__tempKey:void 0,__tempLocation:{...m,search:m.searchStr,state:{...m.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(m.unmaskOnReload??this.options.unmaskOnReload??!1)&&(m.state.__tempKey=this.tempLocationKey)),m.state.__hashScrollIntoViewOptions=f??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=n,this.history[a.replace?"replace":"push"](m.publicHref,m.state,{ignoreBlocker:r})}return this.resetNextScroll=a.resetScroll??!0,this.history.subscribers.size||this.load(),this.commitLocationPromise},this.buildAndCommitLocation=({replace:n,resetScroll:r,hashScrollIntoView:a,viewTransition:s,ignoreBlocker:l,href:u,...d}={})=>{if(u){const p=this.history.location.state.__TSR_index,g=gv(u,{__TSR_index:n?p:p+1});d.to=g.pathname,d.search=this.options.parseSearch(g.search),d.hash=g.hash.slice(1)}const f=this.buildLocation({...d,_includeValidateSearch:!0});this.pendingBuiltLocation=f;const m=this.commitLocation({...f,viewTransition:s,replace:n,resetScroll:r,hashScrollIntoView:a,ignoreBlocker:l});return Promise.resolve().then(()=>{this.pendingBuiltLocation===f&&(this.pendingBuiltLocation=void 0)}),m},this.navigate=({to:n,reloadDocument:r,href:a,...s})=>{if(!r&&a)try{new URL(`${a}`),r=!0}catch{}return r?(a||(a=this.buildLocation({to:n,...s}).url),s.replace?window.location.replace(a):window.location.href=a,Promise.resolve()):this.buildAndCommitLocation({...s,href:a,to:n,_isNavigate:!0})},this.beforeLoad=()=>{if(this.cancelMatches(),this.updateLatestLocation(),this.isServer){const r=this.buildLocation({to:this.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0}),a=s=>{try{return encodeURI(decodeURI(s))}catch{return s}};if(av(a(this.latestLocation.href))!==av(a(r.href))){let s=r.url;throw this.origin&&s.startsWith(this.origin)&&(s=s.replace(this.origin,"")||"/"),r5({href:s})}}const n=this.matchRoutes(this.latestLocation);this.__store.setState(r=>({...r,status:"pending",statusCode:200,isLoading:!0,location:this.latestLocation,pendingMatches:n,cachedMatches:r.cachedMatches.filter(a=>!n.some(s=>s.id===a.id))}))},this.load=async n=>{let r,a,s;for(s=new Promise(u=>{this.startTransition(async()=>{try{this.beforeLoad();const d=this.latestLocation,f=this.state.resolvedLocation;this.state.redirect||this.emit({type:"onBeforeNavigate",...nl({resolvedLocation:f,location:d})}),this.emit({type:"onBeforeLoad",...nl({resolvedLocation:f,location:d})}),await mM({router:this,sync:n?.sync,matches:this.state.pendingMatches,location:d,updateMatch:this.updateMatch,onReady:async()=>{this.startTransition(()=>{this.startViewTransition(async()=>{let m=[],p=[],g=[];Sf(()=>{this.__store.setState(x=>{const j=x.matches,w=x.pendingMatches||x.matches;return m=j.filter(b=>!w.some(N=>N.id===b.id)),p=w.filter(b=>!j.some(N=>N.id===b.id)),g=w.filter(b=>j.some(N=>N.id===b.id)),{...x,isLoading:!1,loadedAt:Date.now(),matches:w,pendingMatches:void 0,cachedMatches:[...x.cachedMatches,...m.filter(b=>b.status!=="error")]}}),this.clearExpiredCache()}),[[m,"onLeave"],[p,"onEnter"],[g,"onStay"]].forEach(([x,j])=>{x.forEach(w=>{this.looseRoutesById[w.routeId].options[j]?.(w)})})})})}})}catch(d){ci(d)?(r=d,this.isServer||this.navigate({...r.options,replace:!0,ignoreBlocker:!0})):Wa(d)&&(a=d),this.__store.setState(f=>({...f,statusCode:r?r.status:a?404:f.matches.some(m=>m.status==="error")?500:200,redirect:r}))}this.latestLoadPromise===s&&(this.commitLocationPromise?.resolve(),this.latestLoadPromise=void 0,this.commitLocationPromise=void 0),u()})}),this.latestLoadPromise=s,await s;this.latestLoadPromise&&s!==this.latestLoadPromise;)await this.latestLoadPromise;let l;this.hasNotFoundMatch()?l=404:this.__store.state.matches.some(u=>u.status==="error")&&(l=500),l!==void 0&&this.__store.setState(u=>({...u,statusCode:l}))},this.startViewTransition=n=>{const r=this.shouldViewTransition??this.options.defaultViewTransition;if(delete this.shouldViewTransition,r&&typeof document<"u"&&"startViewTransition"in document&&typeof document.startViewTransition=="function"){let a;if(typeof r=="object"&&this.isViewTransitionTypesSupported){const s=this.latestLocation,l=this.state.resolvedLocation,u=typeof r.types=="function"?r.types(nl({resolvedLocation:l,location:s})):r.types;if(u===!1){n();return}a={update:n,types:u}}else a=n;document.startViewTransition(a)}else n()},this.updateMatch=(n,r)=>{this.startTransition(()=>{const a=this.state.pendingMatches?.some(s=>s.id===n)?"pendingMatches":this.state.matches.some(s=>s.id===n)?"matches":this.state.cachedMatches.some(s=>s.id===n)?"cachedMatches":"";a&&this.__store.setState(s=>({...s,[a]:s[a]?.map(l=>l.id===n?r(l):l)}))})},this.getMatch=n=>{const r=a=>a.id===n;return this.state.cachedMatches.find(r)??this.state.pendingMatches?.find(r)??this.state.matches.find(r)},this.invalidate=n=>{const r=a=>n?.filter?.(a)??!0?{...a,invalid:!0,...n?.forcePending||a.status==="error"?{status:"pending",error:void 0}:void 0}:a;return this.__store.setState(a=>({...a,matches:a.matches.map(r),cachedMatches:a.cachedMatches.map(r),pendingMatches:a.pendingMatches?.map(r)})),this.shouldViewTransition=!1,this.load({sync:n?.sync})},this.resolveRedirect=n=>{if(!n.options.href){const r=this.buildLocation(n.options);let a=r.url;this.origin&&a.startsWith(this.origin)&&(a=a.replace(this.origin,"")||"/"),n.options.href=r.href,n.headers.set("Location",a)}return n.headers.get("Location")||n.headers.set("Location",n.options.href),n},this.clearCache=n=>{const r=n?.filter;r!==void 0?this.__store.setState(a=>({...a,cachedMatches:a.cachedMatches.filter(s=>!r(s))})):this.__store.setState(a=>({...a,cachedMatches:[]}))},this.clearExpiredCache=()=>{const n=r=>{const a=this.looseRoutesById[r.routeId];if(!a.options.loader)return!0;const s=(r.preload?a.options.preloadGcTime??this.options.defaultPreloadGcTime:a.options.gcTime??this.options.defaultGcTime)??300*1e3;return r.status==="error"?!0:Date.now()-r.updatedAt>=s};this.clearCache({filter:n})},this.loadRouteChunk=l5,this.preloadRoute=async n=>{const r=this.buildLocation(n);let a=this.matchRoutes(r,{throwOnError:!0,preload:!0,dest:n});const s=new Set([...this.state.matches,...this.state.pendingMatches??[]].map(u=>u.id)),l=new Set([...s,...this.state.cachedMatches.map(u=>u.id)]);Sf(()=>{a.forEach(u=>{l.has(u.id)||this.__store.setState(d=>({...d,cachedMatches:[...d.cachedMatches,u]}))})});try{return a=await mM({router:this,matches:a,location:r,preload:!0,updateMatch:(u,d)=>{s.has(u)?a=a.map(f=>f.id===u?d(f):f):this.updateMatch(u,d)}}),a}catch(u){if(ci(u))return u.options.reloadDocument?void 0:await this.preloadRoute({...u.options,_fromLocation:r});Wa(u)||console.error(u);return}},this.matchRoute=(n,r)=>{const a={...n,to:n.to?this.resolvePathWithBase(n.from||"",n.to):void 0,params:n.params||{},leaveParams:!0},s=this.buildLocation(a);if(r?.pending&&this.state.status!=="pending")return!1;const u=(r?.pending===void 0?!this.state.isLoading:r.pending)?this.latestLocation:this.state.resolvedLocation||this.state.location,d=x_(u.pathname,{...r,to:s.pathname},this.parsePathnameCache);return!d||n.params&&!tl(d,n.params,{partial:!0})?!1:d&&(r?.includeSearch??!0)?tl(u.search,s.search,{partial:!0})?d:!1:d},this.hasNotFoundMatch=()=>this.__store.state.matches.some(n=>n.status==="notFound"||n.globalNotFound),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...t,caseSensitive:t.caseSensitive??!1,notFoundMode:t.notFoundMode??"fuzzy",stringifySearch:t.stringifySearch??KG,parseSearch:t.parseSearch??YG}),typeof document<"u"&&(self.__TSR_ROUTER__=this)}isShell(){return!!this.options.isShell}isPrerendering(){return!!this.options.isPrerendering}get state(){return this.__store.state}get looseRoutesById(){return this.routesById}matchRoutesInternal(t,n){const{foundRoute:r,matchedRoutes:a,routeParams:s}=this.getMatchedRoutes(t.pathname,n?.dest?.to);let l=!1;(r?r.path!=="/"&&s["**"]:Zs(t.pathname))&&(this.options.notFoundRoute?a.push(this.options.notFoundRoute):l=!0);const u=(()=>{if(l){if(this.options.notFoundMode!=="root")for(let m=a.length-1;m>=0;m--){const p=a[m];if(p.children)return p.id}return ea}})(),d=[],f=m=>m?.id?m.context??this.options.context??void 0:this.options.context??void 0;return a.forEach((m,p)=>{const g=d[p-1],[x,j,w]=(()=>{const H=g?.search??t.search,V=g?._strictSearch??void 0;try{const q=w_(m.options.validateSearch,{...H})??void 0;return[{...H,...q},{...V,...q},void 0]}catch(q){let G=q;if(q instanceof jv||(G=new jv(q.message,{cause:q})),n?.throwOnError)throw G;return[H,{},G]}})(),b=m.options.loaderDeps?.({search:x})??"",N=b?JSON.stringify(b):"",{interpolatedPath:E,usedParams:O}=D0({path:m.fullPath,params:s,decodeCharMap:this.pathParamsDecodeCharMap}),A=m.id+E+N,C=this.getMatch(A),k=this.state.matches.find(H=>H.routeId===m.id),T=C?._strictParams??O;let M;if(!C){const H=m.options.params?.parse??m.options.parseParams;if(H)try{Object.assign(T,H(T))}catch(V){if(M=new oY(V.message,{cause:V}),n?.throwOnError)throw M}}Object.assign(s,T);const R=k?"stay":"enter";let B;if(C)B={...C,cause:R,params:k?_a(k.params,s):s,_strictParams:T,search:_a(k?k.search:C.search,x),_strictSearch:j};else{const H=m.options.loader||m.options.beforeLoad||m.lazyFn||c5(m)?"pending":"success";B={id:A,index:p,routeId:m.id,params:k?_a(k.params,s):s,_strictParams:T,pathname:E,updatedAt:Date.now(),search:k?_a(k.search,x):x,_strictSearch:j,searchError:void 0,status:H,isFetching:!1,error:void 0,paramsError:M,__routeContext:void 0,_nonReactive:{loadPromise:tu()},__beforeLoadContext:void 0,context:{},abortController:new AbortController,fetchCount:0,cause:R,loaderDeps:k?_a(k.loaderDeps,b):b,invalid:!1,preload:!1,links:void 0,scripts:void 0,headScripts:void 0,meta:void 0,staticData:m.options.staticData||{},fullPath:m.fullPath}}n?.preload||(B.globalNotFound=u===m.id),B.searchError=w;const $=f(g);B.context={...$,...B.__routeContext,...B.__beforeLoadContext},d.push(B)}),d.forEach((m,p)=>{const g=this.looseRoutesById[m.routeId];if(!this.getMatch(m.id)&&n?._buildLocation!==!0){const j=d[p-1],w=f(j);if(g.options.context){const b={deps:m.loaderDeps,params:m.params,context:w??{},location:t,navigate:N=>this.navigate({...N,_fromLocation:t}),buildLocation:this.buildLocation,cause:m.cause,abortController:m.abortController,preload:!!m.preload,matches:d};m.__routeContext=g.options.context(b)??void 0}m.context={...w,...m.__routeContext,...m.__beforeLoadContext}}}),d}}class jv extends Error{}class oY extends Error{}function lY(e){return{loadedAt:0,isLoading:!1,isTransitioning:!1,status:"idle",resolvedLocation:void 0,location:e,matches:[],pendingMatches:[],cachedMatches:[],statusCode:200}}function w_(e,t){if(e==null)return{};if("~standard"in e){const n=e["~standard"].validate(t);if(n instanceof Promise)throw new jv("Async validation not supported");if(n.issues)throw new jv(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return"parse"in e?e.parse(t):typeof e=="function"?e(t):{}}function cY({pathname:e,routePathname:t,caseSensitive:n,routesByPath:r,routesById:a,flatRoutes:s,parseCache:l}){let u={};const d=Zs(e),f=x=>x_(d,{to:x.fullPath,caseSensitive:x.options?.caseSensitive??n,fuzzy:!0},l);let m=t!==void 0?r[t]:void 0;if(m)u=f(m);else{let x;for(const j of s){const w=f(j);if(w)if(j.path!=="/"&&w["**"])x||(x={foundRoute:j,routeParams:w});else{m=j,u=w;break}}!m&&x&&(m=x.foundRoute,u=x.routeParams)}let p=m||a[ea];const g=[p];for(;p.parentRoute;)p=p.parentRoute,g.push(p);return g.reverse(),{matchedRoutes:g,routeParams:u,foundRoute:m}}function uY({search:e,dest:t,destRoutes:n,_includeValidateSearch:r}){const a=n.reduce((u,d)=>{const f=[];if("search"in d.options)d.options.search?.middlewares&&f.push(...d.options.search.middlewares);else if(d.options.preSearchFilters||d.options.postSearchFilters){const m=({search:p,next:g})=>{let x=p;"preSearchFilters"in d.options&&d.options.preSearchFilters&&(x=d.options.preSearchFilters.reduce((w,b)=>b(w),p));const j=g(x);return"postSearchFilters"in d.options&&d.options.postSearchFilters?d.options.postSearchFilters.reduce((w,b)=>b(w),j):j};f.push(m)}if(r&&d.options.validateSearch){const m=({search:p,next:g})=>{const x=g(p);try{return{...x,...w_(d.options.validateSearch,x)??void 0}}catch{return x}};f.push(m)}return u.concat(f)},[])??[],s=({search:u})=>t.search?t.search===!0?u:el(t.search,u):{};a.push(s);const l=(u,d)=>{if(u>=a.length)return d;const f=a[u];return f({search:d,next:p=>l(u+1,p)})};return l(0,e)}const dY="Error preloading route! ☝️";class h5{constructor(t){if(this.init=n=>{this.originalIndex=n.originalIndex;const r=this.options,a=!r?.path&&!r?.id;this.parentRoute=this.options.getParentRoute?.(),a?this._path=ea:this.parentRoute||pr(!1);let s=a?ea:r?.path;s&&s!=="/"&&(s=kC(s));const l=r?.id||s;let u=a?ea:ts([this.parentRoute.id===ea?"":this.parentRoute.id,l]);s===ea&&(s="/"),u!==ea&&(u=ts(["/",u]));const d=u===ea?"/":ts([this.parentRoute.fullPath,s]);this._path=s,this._id=u,this._fullPath=d,this._to=d},this.addChildren=n=>this._addFileChildren(n),this._addFileChildren=n=>(Array.isArray(n)&&(this.children=n),typeof n=="object"&&n!==null&&(this.children=Object.values(n)),this),this._addFileTypes=()=>this,this.updateLoader=n=>(Object.assign(this.options,n),this),this.update=n=>(Object.assign(this.options,n),this),this.lazy=n=>(this.lazyFn=n,this),this.options=t||{},this.isRoot=!t?.getParentRoute,t?.id&&t?.path)throw new Error("Route cannot have both an 'id' and a 'path' option.")}get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}}class fY extends h5{constructor(t){super(t)}}function MC(e){const t=e.errorComponent??qg;return i.jsx(hY,{getResetKey:e.getResetKey,onCatch:e.onCatch,children:({error:n,reset:r})=>n?y.createElement(t,{error:n,reset:r}):e.children})}class hY extends y.Component{constructor(){super(...arguments),this.state={error:null}}static getDerivedStateFromProps(t){return{resetKey:t.getResetKey()}}static getDerivedStateFromError(t){return{error:t}}reset(){this.setState({error:null})}componentDidUpdate(t,n){n.error&&n.resetKey!==this.state.resetKey&&this.reset()}componentDidCatch(t,n){this.props.onCatch&&this.props.onCatch(t,n)}render(){return this.props.children({error:this.state.resetKey!==this.props.getResetKey()?null:this.state.error,reset:()=>{this.reset()}})}}function qg({error:e}){const[t,n]=y.useState(!1);return i.jsxs("div",{style:{padding:".5rem",maxWidth:"100%"},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:".5rem"},children:[i.jsx("strong",{style:{fontSize:"1rem"},children:"Something went wrong!"}),i.jsx("button",{style:{appearance:"none",fontSize:".6em",border:"1px solid currentColor",padding:".1rem .2rem",fontWeight:"bold",borderRadius:".25rem"},onClick:()=>n(r=>!r),children:t?"Hide Error":"Show Error"})]}),i.jsx("div",{style:{height:".25rem"}}),t?i.jsx("div",{children:i.jsx("pre",{style:{fontSize:".7em",border:"1px solid red",borderRadius:".25rem",padding:".3rem",color:"red",overflow:"auto"},children:e.message?i.jsx("code",{children:e.message}):null})}):null]})}function mY({children:e,fallback:t=null}){return pY()?i.jsx(W.Fragment,{children:e}):i.jsx(W.Fragment,{children:t})}function pY(){return W.useSyncExternalStore(vY,()=>!0,()=>!1)}function vY(){return()=>{}}var I0={exports:{}},L0={},B0={exports:{}},z0={};var pM;function gY(){if(pM)return z0;pM=1;var e=Eh();function t(p,g){return p===g&&(p!==0||1/p===1/g)||p!==p&&g!==g}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,a=e.useEffect,s=e.useLayoutEffect,l=e.useDebugValue;function u(p,g){var x=g(),j=r({inst:{value:x,getSnapshot:g}}),w=j[0].inst,b=j[1];return s(function(){w.value=x,w.getSnapshot=g,d(w)&&b({inst:w})},[p,x,g]),a(function(){return d(w)&&b({inst:w}),p(function(){d(w)&&b({inst:w})})},[p]),l(x),x}function d(p){var g=p.getSnapshot;p=p.value;try{var x=g();return!n(p,x)}catch{return!0}}function f(p,g){return g()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:u;return z0.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,z0}var vM;function yY(){return vM||(vM=1,B0.exports=gY()),B0.exports}var gM;function xY(){if(gM)return L0;gM=1;var e=Eh(),t=yY();function n(f,m){return f===m&&(f!==0||1/f===1/m)||f!==f&&m!==m}var r=typeof Object.is=="function"?Object.is:n,a=t.useSyncExternalStore,s=e.useRef,l=e.useEffect,u=e.useMemo,d=e.useDebugValue;return L0.useSyncExternalStoreWithSelector=function(f,m,p,g,x){var j=s(null);if(j.current===null){var w={hasValue:!1,value:null};j.current=w}else w=j.current;j=u(function(){function N(k){if(!E){if(E=!0,O=k,k=g(k),x!==void 0&&w.hasValue){var T=w.value;if(x(T,k))return A=T}return A=k}if(T=A,r(O,k))return T;var M=g(k);return x!==void 0&&x(T,M)?(O=k,T):(O=k,A=M)}var E=!1,O,A,C=p===void 0?null:p;return[function(){return N(m())},C===null?void 0:function(){return N(C())}]},[m,p,g,x]);var b=a(f,j[0],j[1]);return l(function(){w.hasValue=!0,w.value=b},[b]),d(b),b},L0}var yM;function bY(){return yM||(yM=1,I0.exports=xY()),I0.exports}var wY=bY();function jY(e,t=r=>r,n={}){const r=n.equal??SY;return wY.useSyncExternalStoreWithSelector(e.subscribe,()=>e.state,()=>e.state,t,r)}function SY(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,a]of e)if(!t.has(r)||!Object.is(a,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();const n=xM(e);if(n.length!==xM(t).length)return!1;for(let r=0;r"u"?q0:window.__TSR_ROUTER_CONTEXT__?window.__TSR_ROUTER_CONTEXT__:(window.__TSR_ROUTER_CONTEXT__=q0,q0)}function zr(e){const t=y.useContext(m5());return e?.warn,t}function Nr(e){const t=zr({warn:e?.router===void 0}),n=e?.router||t,r=y.useRef(void 0);return jY(n.__store,a=>{if(e?.select){if(e.structuralSharing??n.options.defaultStructuralSharing){const s=_a(r.current,e.select(a));return r.current=s,s}return e.select(a)}return a})}const Fg=y.createContext(void 0),_Y=y.createContext(void 0);function yi(e){const t=y.useContext(e.from?_Y:Fg);return Nr({select:r=>{const a=r.matches.find(s=>e.from?e.from===s.routeId:s.id===t);if(pr(!((e.shouldThrow??!0)&&!a),`Could not find ${e.from?`an active match from "${e.from}"`:"a nearest match!"}`),a!==void 0)return e.select?e.select(a):a},structuralSharing:e.structuralSharing})}function PC(e){return yi({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function RC(e){const{select:t,...n}=e;return yi({...n,select:r=>t?t(r.loaderDeps):r.loaderDeps})}function DC(e){return yi({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{const n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function $C(e){return yi({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function la(e){const t=zr();return y.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}var Sl=JL();const NY=At(Sl),Ap=typeof window<"u"?y.useLayoutEffect:y.useEffect;function F0(e){const t=y.useRef({value:e,prev:null}),n=t.current.value;return e!==n&&(t.current={value:e,prev:n}),t.current.prev}function CY(e,t,n={},r={}){y.useEffect(()=>{if(!e.current||r.disabled||typeof IntersectionObserver!="function")return;const a=new IntersectionObserver(([s])=>{t(s)},n);return a.observe(e.current),()=>{a.disconnect()}},[t,n,r.disabled,e])}function OY(e){const t=y.useRef(null);return y.useImperativeHandle(e,()=>t.current,[]),t}function EY(e,t){const n=zr(),[r,a]=y.useState(!1),s=y.useRef(!1),l=OY(t),{activeProps:u,inactiveProps:d,activeOptions:f,to:m,preload:p,preloadDelay:g,hashScrollIntoView:x,replace:j,startTransition:w,resetScroll:b,viewTransition:N,children:E,target:O,disabled:A,style:C,className:k,onClick:T,onFocus:M,onMouseEnter:R,onMouseLeave:B,onTouchStart:$,ignoreBlocker:H,params:V,search:q,hash:G,state:L,mask:D,reloadDocument:U,unsafeRelative:K,from:J,_fromLocation:I,...z}=e,Y=Nr({select:le=>le.location.search,structuralSharing:!0}),te=e.from,ae=y.useMemo(()=>({...e,from:te}),[n,Y,te,e._fromLocation,e.hash,e.to,e.search,e.params,e.state,e.mask,e.unsafeRelative]),ge=y.useMemo(()=>n.buildLocation({...ae}),[n,ae]),ee=y.useMemo(()=>{if(A)return;let le=ge.maskedLocation?ge.maskedLocation.url:ge.url,ue=!1;return n.origin&&(le.startsWith(n.origin)?le=n.history.createHref(le.replace(n.origin,""))||"/":ue=!0),{href:le,external:ue}},[A,ge.maskedLocation,ge.url,n.origin,n.history]),Se=y.useMemo(()=>{if(ee?.external)return ee.href;try{return new URL(m),m}catch{}},[m,ee]),re=e.reloadDocument||Se?!1:p??n.options.defaultPreload,we=g??n.options.defaultPreloadDelay??0,je=Nr({select:le=>{if(Se)return!1;if(f?.exact){if(!gG(le.location.pathname,ge.pathname,n.basepath))return!1}else{const ue=xv(le.location.pathname,n.basepath),Ve=xv(ge.pathname,n.basepath);if(!(ue.startsWith(Ve)&&(ue.length===Ve.length||ue[Ve.length]==="/")))return!1}return(f?.includeSearch??!0)&&!tl(le.location.search,ge.search,{partial:!f?.exact,ignoreUndefined:!f?.explicitUndefined})?!1:f?.includeHash?le.location.hash===ge.hash:!0}}),fe=y.useCallback(()=>{n.preloadRoute({...ae}).catch(le=>{console.warn(le),console.warn(dY)})},[n,ae]),Le=y.useCallback(le=>{le?.isIntersecting&&fe()},[fe]);CY(l,Le,PY,{disabled:!!A||re!=="viewport"}),y.useEffect(()=>{s.current||!A&&re==="render"&&(fe(),s.current=!0)},[A,fe,re]);const Oe=le=>{const ue=le.currentTarget.getAttribute("target"),Ve=O!==void 0?O:ue;if(!A&&!RY(le)&&!le.defaultPrevented&&(!Ve||Ve==="_self")&&le.button===0){le.preventDefault(),Sl.flushSync(()=>{a(!0)});const Mn=n.subscribe("onResolved",()=>{Mn(),a(!1)});n.navigate({...ae,replace:j,resetScroll:b,hashScrollIntoView:x,startTransition:w,viewTransition:N,ignoreBlocker:H})}};if(Se)return{...z,ref:l,href:Se,...E&&{children:E},...O&&{target:O},...A&&{disabled:A},...C&&{style:C},...k&&{className:k},...T&&{onClick:T},...M&&{onFocus:M},...R&&{onMouseEnter:R},...B&&{onMouseLeave:B},...$&&{onTouchStart:$}};const We=le=>{A||re&&fe()},be=We,Ae=le=>{if(!(A||!re))if(!we)fe();else{const ue=le.target;if(Zd.has(ue))return;const Ve=setTimeout(()=>{Zd.delete(ue),fe()},we);Zd.set(ue,Ve)}},ke=le=>{if(A||!re||!we)return;const ue=le.target,Ve=Zd.get(ue);Ve&&(clearTimeout(Ve),Zd.delete(ue))},Qt=je?el(u,{})??AY:U0,St=je?U0:el(d,{})??U0,Tt=[k,Qt.className,St.className].filter(Boolean).join(" "),Sn=(C||Qt.style||St.style)&&{...C,...Qt.style,...St.style};return{...z,...Qt,...St,href:ee?.href,ref:l,onClick:Qd([T,Oe]),onFocus:Qd([M,We]),onMouseEnter:Qd([R,Ae]),onMouseLeave:Qd([B,ke]),onTouchStart:Qd([$,be]),disabled:!!A,target:O,...Sn&&{style:Sn},...Tt&&{className:Tt},...A&&TY,...je&&kY,...r&&MY}}const U0={},AY={className:"active"},TY={role:"link","aria-disabled":!0},kY={"data-status":"active","aria-current":"page"},MY={"data-transitioning":"transitioning"},Zd=new WeakMap,PY={rootMargin:"100px"},Qd=e=>t=>{for(const n of e)if(n){if(t.defaultPrevented)return;n(t)}},IC=y.forwardRef((e,t)=>{const{_asChild:n,...r}=e,{type:a,ref:s,...l}=EY(r,t),u=typeof r.children=="function"?r.children({isActive:l["data-status"]==="active"}):r.children;return n===void 0&&delete l.disabled,y.createElement(n||"a",{...l,ref:s},u)});function RY(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}class DY extends h5{constructor(t){super(t),this.useMatch=n=>yi({select:n?.select,from:this.id,structuralSharing:n?.structuralSharing}),this.useRouteContext=n=>yi({...n,from:this.id,select:r=>n?.select?n.select(r.context):r.context}),this.useSearch=n=>$C({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useParams=n=>DC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useLoaderDeps=n=>RC({...n,from:this.id}),this.useLoaderData=n=>PC({...n,from:this.id}),this.useNavigate=()=>la({from:this.fullPath}),this.Link=W.forwardRef((n,r)=>i.jsx(IC,{ref:r,from:this.fullPath,...n})),this.$$typeof=Symbol.for("react.memo")}}function or(e){return new DY(e)}class $Y extends fY{constructor(t){super(t),this.useMatch=n=>yi({select:n?.select,from:this.id,structuralSharing:n?.structuralSharing}),this.useRouteContext=n=>yi({...n,from:this.id,select:r=>n?.select?n.select(r.context):r.context}),this.useSearch=n=>$C({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useParams=n=>DC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.id}),this.useLoaderDeps=n=>RC({...n,from:this.id}),this.useLoaderData=n=>PC({...n,from:this.id}),this.useNavigate=()=>la({from:this.fullPath}),this.Link=W.forwardRef((n,r)=>i.jsx(IC,{ref:r,from:this.fullPath,...n})),this.$$typeof=Symbol.for("react.memo")}}function IY(e){return new $Y(e)}function bM(e){return typeof e=="object"?new wM(e,{silent:!0}).createRoute(e):new wM(e,{silent:!0}).createRoute}class wM{constructor(t,n){this.path=t,this.createRoute=r=>{this.silent;const a=or(r);return a.isRoot=!1,a},this.silent=n?.silent}}class jM{constructor(t){this.useMatch=n=>yi({select:n?.select,from:this.options.id,structuralSharing:n?.structuralSharing}),this.useRouteContext=n=>yi({from:this.options.id,select:r=>n?.select?n.select(r.context):r.context}),this.useSearch=n=>$C({select:n?.select,structuralSharing:n?.structuralSharing,from:this.options.id}),this.useParams=n=>DC({select:n?.select,structuralSharing:n?.structuralSharing,from:this.options.id}),this.useLoaderDeps=n=>RC({...n,from:this.options.id}),this.useLoaderData=n=>PC({...n,from:this.options.id}),this.useNavigate=()=>{const n=zr();return la({from:n.routesById[this.options.id].fullPath})},this.options=t,this.$$typeof=Symbol.for("react.memo")}}function SM(e){return typeof e=="object"?new jM(e):t=>new jM({id:e,...t})}function LY(){const e=zr(),t=y.useRef({router:e,mounted:!1}),[n,r]=y.useState(!1),{hasPendingMatches:a,isLoading:s}=Nr({select:p=>({isLoading:p.isLoading,hasPendingMatches:p.matches.some(g=>g.status==="pending")}),structuralSharing:!0}),l=F0(s),u=s||n||a,d=F0(u),f=s||a,m=F0(f);return e.startTransition=p=>{r(!0),y.startTransition(()=>{p(),r(!1)})},y.useEffect(()=>{const p=e.history.subscribe(e.load),g=e.buildLocation({to:e.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return Zs(e.latestLocation.href)!==Zs(g.href)&&e.commitLocation({...g,replace:!0}),()=>{p()}},[e,e.history]),Ap(()=>{if(typeof window<"u"&&e.ssr||t.current.router===e&&t.current.mounted)return;t.current={router:e,mounted:!0},(async()=>{try{await e.load()}catch(g){console.error(g)}})()},[e]),Ap(()=>{l&&!s&&e.emit({type:"onLoad",...nl(e.state)})},[l,e,s]),Ap(()=>{m&&!f&&e.emit({type:"onBeforeRouteMount",...nl(e.state)})},[f,m,e]),Ap(()=>{d&&!u&&(e.emit({type:"onResolved",...nl(e.state)}),e.__store.setState(p=>({...p,status:"idle",resolvedLocation:p.location})),WG(e))},[u,d,e]),null}function BY(e){const t=Nr({select:n=>`not-found-${n.location.pathname}-${n.status}`});return i.jsx(MC,{getResetKey:()=>t,onCatch:(n,r)=>{if(Wa(n))e.onCatch?.(n,r);else throw n},errorComponent:({error:n})=>{if(Wa(n))return e.fallback?.(n);throw n},children:e.children})}function zY(){return i.jsx("p",{children:"Not Found"})}function Rc(e){return i.jsx(i.Fragment,{children:e.children})}function p5(e,t,n){return t.options.notFoundComponent?i.jsx(t.options.notFoundComponent,{data:n}):e.options.defaultNotFoundComponent?i.jsx(e.options.defaultNotFoundComponent,{data:n}):i.jsx(zY,{})}function qY({children:e}){const t=zr();return t.isServer?i.jsx("script",{nonce:t.options.ssr?.nonce,className:"$tsr",dangerouslySetInnerHTML:{__html:[e].filter(Boolean).join(` +`)+";$_TSR.c()"}}):null}function FY(){const e=zr();if(!e.isScrollRestoring||!e.isServer||typeof e.options.scrollRestoration=="function"&&!e.options.scrollRestoration({location:e.latestLocation}))return null;const n=(e.options.getScrollRestorationKey||b_)(e.latestLocation),r=n!==b_(e.latestLocation)?n:void 0,a={storageKey:bv,shouldScrollRestoration:!0};return r&&(a.key=r),i.jsx(qY,{children:`(${n5.toString()})(${JSON.stringify(a)})`})}const v5=y.memo(function({matchId:t}){const n=zr(),r=Nr({select:N=>{const E=N.matches.find(O=>O.id===t);return pr(E),{routeId:E.routeId,ssr:E.ssr,_displayPending:E._displayPending}},structuralSharing:!0}),a=n.routesById[r.routeId],s=a.options.pendingComponent??n.options.defaultPendingComponent,l=s?i.jsx(s,{}):null,u=a.options.errorComponent??n.options.defaultErrorComponent,d=a.options.onCatch??n.options.defaultOnCatch,f=a.isRoot?a.options.notFoundComponent??n.options.notFoundRoute?.options.component:a.options.notFoundComponent,m=r.ssr===!1||r.ssr==="data-only",p=(!a.isRoot||a.options.wrapInSuspense||m)&&(a.options.wrapInSuspense??s??(a.options.errorComponent?.preload||m))?y.Suspense:Rc,g=u?MC:Rc,x=f?BY:Rc,j=Nr({select:N=>N.loadedAt}),w=Nr({select:N=>{const E=N.matches.findIndex(O=>O.id===t);return N.matches[E-1]?.routeId}}),b=a.isRoot?a.options.shellComponent??Rc:Rc;return i.jsxs(b,{children:[i.jsx(Fg.Provider,{value:t,children:i.jsx(p,{fallback:l,children:i.jsx(g,{getResetKey:()=>j,errorComponent:u||qg,onCatch:(N,E)=>{if(Wa(N))throw N;d?.(N,E)},children:i.jsx(x,{fallback:N=>{if(!f||N.routeId&&N.routeId!==r.routeId||!N.routeId&&!a.isRoot)throw N;return y.createElement(f,N)},children:m||r._displayPending?i.jsx(mY,{fallback:l,children:i.jsx(_M,{matchId:t})}):i.jsx(_M,{matchId:t})})})})}),w===ea&&n.options.scrollRestoration?i.jsxs(i.Fragment,{children:[i.jsx(UY,{}),i.jsx(FY,{})]}):null]})});function UY(){const e=zr(),t=y.useRef(void 0);return i.jsx("script",{suppressHydrationWarning:!0,ref:n=>{n&&(t.current===void 0||t.current.href!==e.latestLocation.href)&&(e.emit({type:"onRendered",...nl(e.state)}),t.current=e.latestLocation)}},e.latestLocation.state.__TSR_key)}const _M=y.memo(function({matchId:t}){const n=zr(),{match:r,key:a,routeId:s}=Nr({select:d=>{const f=d.matches.find(j=>j.id===t),m=f.routeId,g=(n.routesById[m].options.remountDeps??n.options.defaultRemountDeps)?.({routeId:m,loaderDeps:f.loaderDeps,params:f._strictParams,search:f._strictSearch});return{key:g?JSON.stringify(g):void 0,routeId:m,match:{id:f.id,status:f.status,error:f.error,_forcePending:f._forcePending,_displayPending:f._displayPending}}},structuralSharing:!0}),l=n.routesById[s],u=y.useMemo(()=>{const d=l.options.component??n.options.defaultComponent;return d?i.jsx(d,{},a):i.jsx(LC,{})},[a,l.options.component,n.options.defaultComponent]);if(r._displayPending)throw n.getMatch(r.id)?._nonReactive.displayPendingPromise;if(r._forcePending)throw n.getMatch(r.id)?._nonReactive.minPendingPromise;if(r.status==="pending"){const d=l.options.pendingMinMs??n.options.defaultPendingMinMs;if(d){const f=n.getMatch(r.id);if(f&&!f._nonReactive.minPendingPromise&&!n.isServer){const m=tu();f._nonReactive.minPendingPromise=m,setTimeout(()=>{m.resolve(),f._nonReactive.minPendingPromise=void 0},d)}}throw n.getMatch(r.id)?._nonReactive.loadPromise}if(r.status==="notFound")return pr(Wa(r.error)),p5(n,l,r.error);if(r.status==="redirected")throw pr(ci(r.error)),n.getMatch(r.id)?._nonReactive.loadPromise;if(r.status==="error"){if(n.isServer){const d=(l.options.errorComponent??n.options.defaultErrorComponent)||qg;return i.jsx(d,{error:r.error,reset:void 0,info:{componentStack:""}})}throw r.error}return u}),LC=y.memo(function(){const t=zr(),n=y.useContext(Fg),r=Nr({select:f=>f.matches.find(m=>m.id===n)?.routeId}),a=t.routesById[r],s=Nr({select:f=>{const p=f.matches.find(g=>g.id===n);return pr(p),p.globalNotFound}}),l=Nr({select:f=>{const m=f.matches,p=m.findIndex(g=>g.id===n);return m[p+1]?.id}}),u=t.options.defaultPendingComponent?i.jsx(t.options.defaultPendingComponent,{}):null;if(s)return p5(t,a,void 0);if(!l)return null;const d=i.jsx(v5,{matchId:l});return r===ea?i.jsx(y.Suspense,{fallback:u,children:d}):d});function HY(){const e=zr(),n=e.routesById[ea].options.pendingComponent??e.options.defaultPendingComponent,r=n?i.jsx(n,{}):null,a=e.isServer||typeof document<"u"&&e.ssr?Rc:y.Suspense,s=i.jsxs(a,{fallback:r,children:[!e.isServer&&i.jsx(LY,{}),i.jsx(WY,{})]});return e.options.InnerWrap?i.jsx(e.options.InnerWrap,{children:s}):s}function WY(){const e=zr(),t=Nr({select:a=>a.matches[0]?.id}),n=Nr({select:a=>a.loadedAt}),r=t?i.jsx(v5,{matchId:t}):null;return i.jsx(Fg.Provider,{value:t,children:e.options.disableGlobalCatchBoundary?r:i.jsx(MC,{getResetKey:()=>n,errorComponent:qg,onCatch:a=>{a.message||a.toString()},children:r})})}function VY(){const e=zr();return Nr({select:t=>[t.location.href,t.resolvedLocation?.href,t.status],structuralSharing:!0}),y.useCallback(t=>{const{pending:n,caseSensitive:r,fuzzy:a,includeSearch:s,...l}=t;return e.matchRoute(l,{pending:n,caseSensitive:r,fuzzy:a,includeSearch:s})},[e])}const GY=e=>new YY(e);class YY extends sY{constructor(t){super(t)}}typeof globalThis<"u"?(globalThis.createFileRoute=bM,globalThis.createLazyFileRoute=SM):typeof window<"u"&&(window.createFileRoute=bM,window.createLazyFileRoute=SM);function KY({router:e,children:t,...n}){Object.keys(n).length>0&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});const r=m5(),a=i.jsx(r.Provider,{value:e,children:t});return e.options.Wrap?i.jsx(e.options.Wrap,{children:a}):a}function XY({router:e,...t}){return i.jsx(KY,{router:e,...t,children:i.jsx(HY,{})})}function g5(e,t){return function(){return e.apply(t,arguments)}}const{toString:ZY}=Object.prototype,{getPrototypeOf:BC}=Object,{iterator:Ug,toStringTag:y5}=Symbol,Hg=(e=>t=>{const n=ZY.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Ka=e=>(e=e.toLowerCase(),t=>Hg(t)===e),Wg=e=>t=>typeof t===e,{isArray:Lu}=Array,iu=Wg("undefined");function Ah(e){return e!==null&&!iu(e)&&e.constructor!==null&&!iu(e.constructor)&&Dr(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const x5=Ka("ArrayBuffer");function QY(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&x5(e.buffer),t}const JY=Wg("string"),Dr=Wg("function"),b5=Wg("number"),Th=e=>e!==null&&typeof e=="object",eK=e=>e===!0||e===!1,sv=e=>{if(Hg(e)!=="object")return!1;const t=BC(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(y5 in e)&&!(Ug in e)},tK=e=>{if(!Th(e)||Ah(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},nK=Ka("Date"),rK=Ka("File"),aK=Ka("Blob"),iK=Ka("FileList"),sK=e=>Th(e)&&Dr(e.pipe),oK=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Dr(e.append)&&((t=Hg(e))==="formdata"||t==="object"&&Dr(e.toString)&&e.toString()==="[object FormData]"))},lK=Ka("URLSearchParams"),[cK,uK,dK,fK]=["ReadableStream","Request","Response","Headers"].map(Ka),hK=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function kh(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,a;if(typeof e!="object"&&(e=[e]),Lu(e))for(r=0,a=e.length;r0;)if(a=n[r],t===a.toLowerCase())return a;return null}const Yo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,j5=e=>!iu(e)&&e!==Yo;function j_(){const{caseless:e,skipUndefined:t}=j5(this)&&this||{},n={},r=(a,s)=>{const l=e&&w5(n,s)||s;sv(n[l])&&sv(a)?n[l]=j_(n[l],a):sv(a)?n[l]=j_({},a):Lu(a)?n[l]=a.slice():(!t||!iu(a))&&(n[l]=a)};for(let a=0,s=arguments.length;a(kh(t,(a,s)=>{n&&Dr(a)?e[s]=g5(a,n):e[s]=a},{allOwnKeys:r}),e),pK=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),vK=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},gK=(e,t,n,r)=>{let a,s,l;const u={};if(t=t||{},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),s=a.length;s-- >0;)l=a[s],(!r||r(l,e,t))&&!u[l]&&(t[l]=e[l],u[l]=!0);e=n!==!1&&BC(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},yK=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},xK=e=>{if(!e)return null;if(Lu(e))return e;let t=e.length;if(!b5(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},bK=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&BC(Uint8Array)),wK=(e,t)=>{const r=(e&&e[Ug]).call(e);let a;for(;(a=r.next())&&!a.done;){const s=a.value;t.call(e,s[0],s[1])}},jK=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},SK=Ka("HTMLFormElement"),_K=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,a){return r.toUpperCase()+a}),NM=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),NK=Ka("RegExp"),S5=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};kh(n,(a,s)=>{let l;(l=t(a,s,e))!==!1&&(r[s]=l||a)}),Object.defineProperties(e,r)},CK=e=>{S5(e,(t,n)=>{if(Dr(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(Dr(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},OK=(e,t)=>{const n={},r=a=>{a.forEach(s=>{n[s]=!0})};return Lu(e)?r(e):r(String(e).split(t)),n},EK=()=>{},AK=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function TK(e){return!!(e&&Dr(e.append)&&e[y5]==="FormData"&&e[Ug])}const kK=e=>{const t=new Array(10),n=(r,a)=>{if(Th(r)){if(t.indexOf(r)>=0)return;if(Ah(r))return r;if(!("toJSON"in r)){t[a]=r;const s=Lu(r)?[]:{};return kh(r,(l,u)=>{const d=n(l,a+1);!iu(d)&&(s[u]=d)}),t[a]=void 0,s}}return r};return n(e,0)},MK=Ka("AsyncFunction"),PK=e=>e&&(Th(e)||Dr(e))&&Dr(e.then)&&Dr(e.catch),_5=((e,t)=>e?setImmediate:t?((n,r)=>(Yo.addEventListener("message",({source:a,data:s})=>{a===Yo&&s===n&&r.length&&r.shift()()},!1),a=>{r.push(a),Yo.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Dr(Yo.postMessage)),RK=typeof queueMicrotask<"u"?queueMicrotask.bind(Yo):typeof process<"u"&&process.nextTick||_5,DK=e=>e!=null&&Dr(e[Ug]),he={isArray:Lu,isArrayBuffer:x5,isBuffer:Ah,isFormData:oK,isArrayBufferView:QY,isString:JY,isNumber:b5,isBoolean:eK,isObject:Th,isPlainObject:sv,isEmptyObject:tK,isReadableStream:cK,isRequest:uK,isResponse:dK,isHeaders:fK,isUndefined:iu,isDate:nK,isFile:rK,isBlob:aK,isRegExp:NK,isFunction:Dr,isStream:sK,isURLSearchParams:lK,isTypedArray:bK,isFileList:iK,forEach:kh,merge:j_,extend:mK,trim:hK,stripBOM:pK,inherits:vK,toFlatObject:gK,kindOf:Hg,kindOfTest:Ka,endsWith:yK,toArray:xK,forEachEntry:wK,matchAll:jK,isHTMLForm:SK,hasOwnProperty:NM,hasOwnProp:NM,reduceDescriptors:S5,freezeMethods:CK,toObjectSet:OK,toCamelCase:_K,noop:EK,toFiniteNumber:AK,findKey:w5,global:Yo,isContextDefined:j5,isSpecCompliantForm:TK,toJSONObject:kK,isAsyncFn:MK,isThenable:PK,setImmediate:_5,asap:RK,isIterable:DK};function tt(e,t,n,r,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),a&&(this.response=a,this.status=a.status?a.status:null)}he.inherits(tt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:he.toJSONObject(this.config),code:this.code,status:this.status}}});const N5=tt.prototype,C5={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{C5[e]={value:e}});Object.defineProperties(tt,C5);Object.defineProperty(N5,"isAxiosError",{value:!0});tt.from=(e,t,n,r,a,s)=>{const l=Object.create(N5);he.toFlatObject(e,l,function(m){return m!==Error.prototype},f=>f!=="isAxiosError");const u=e&&e.message?e.message:"Error",d=t==null&&e?e.code:t;return tt.call(l,u,d,n,r,a),e&&l.cause==null&&Object.defineProperty(l,"cause",{value:e,configurable:!0}),l.name=e&&e.name||"Error",s&&Object.assign(l,s),l};const $K=null;function S_(e){return he.isPlainObject(e)||he.isArray(e)}function O5(e){return he.endsWith(e,"[]")?e.slice(0,-2):e}function CM(e,t,n){return e?e.concat(t).map(function(a,s){return a=O5(a),!n&&s?"["+a+"]":a}).join(n?".":""):t}function IK(e){return he.isArray(e)&&!e.some(S_)}const LK=he.toFlatObject(he,{},null,function(t){return/^is[A-Z]/.test(t)});function Vg(e,t,n){if(!he.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=he.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,b){return!he.isUndefined(b[w])});const r=n.metaTokens,a=n.visitor||m,s=n.dots,l=n.indexes,d=(n.Blob||typeof Blob<"u"&&Blob)&&he.isSpecCompliantForm(t);if(!he.isFunction(a))throw new TypeError("visitor must be a function");function f(j){if(j===null)return"";if(he.isDate(j))return j.toISOString();if(he.isBoolean(j))return j.toString();if(!d&&he.isBlob(j))throw new tt("Blob is not supported. Use a Buffer instead.");return he.isArrayBuffer(j)||he.isTypedArray(j)?d&&typeof Blob=="function"?new Blob([j]):Buffer.from(j):j}function m(j,w,b){let N=j;if(j&&!b&&typeof j=="object"){if(he.endsWith(w,"{}"))w=r?w:w.slice(0,-2),j=JSON.stringify(j);else if(he.isArray(j)&&IK(j)||(he.isFileList(j)||he.endsWith(w,"[]"))&&(N=he.toArray(j)))return w=O5(w),N.forEach(function(O,A){!(he.isUndefined(O)||O===null)&&t.append(l===!0?CM([w],A,s):l===null?w:w+"[]",f(O))}),!1}return S_(j)?!0:(t.append(CM(b,w,s),f(j)),!1)}const p=[],g=Object.assign(LK,{defaultVisitor:m,convertValue:f,isVisitable:S_});function x(j,w){if(!he.isUndefined(j)){if(p.indexOf(j)!==-1)throw Error("Circular reference detected in "+w.join("."));p.push(j),he.forEach(j,function(N,E){(!(he.isUndefined(N)||N===null)&&a.call(t,N,he.isString(E)?E.trim():E,w,g))===!0&&x(N,w?w.concat(E):[E])}),p.pop()}}if(!he.isObject(e))throw new TypeError("data must be an object");return x(e),t}function OM(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function zC(e,t){this._pairs=[],e&&Vg(e,this,t)}const E5=zC.prototype;E5.append=function(t,n){this._pairs.push([t,n])};E5.toString=function(t){const n=t?function(r){return t.call(this,r,OM)}:OM;return this._pairs.map(function(a){return n(a[0])+"="+n(a[1])},"").join("&")};function BK(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function A5(e,t,n){if(!t)return e;const r=n&&n.encode||BK;he.isFunction(n)&&(n={serialize:n});const a=n&&n.serialize;let s;if(a?s=a(t,n):s=he.isURLSearchParams(t)?t.toString():new zC(t,n).toString(r),s){const l=e.indexOf("#");l!==-1&&(e=e.slice(0,l)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class EM{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){he.forEach(this.handlers,function(r){r!==null&&t(r)})}}const T5={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},zK=typeof URLSearchParams<"u"?URLSearchParams:zC,qK=typeof FormData<"u"?FormData:null,FK=typeof Blob<"u"?Blob:null,UK={isBrowser:!0,classes:{URLSearchParams:zK,FormData:qK,Blob:FK},protocols:["http","https","file","blob","url","data"]},qC=typeof window<"u"&&typeof document<"u",__=typeof navigator=="object"&&navigator||void 0,HK=qC&&(!__||["ReactNative","NativeScript","NS"].indexOf(__.product)<0),WK=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",VK=qC&&window.location.href||"http://localhost",GK=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:qC,hasStandardBrowserEnv:HK,hasStandardBrowserWebWorkerEnv:WK,navigator:__,origin:VK},Symbol.toStringTag,{value:"Module"})),hr={...GK,...UK};function YK(e,t){return Vg(e,new hr.classes.URLSearchParams,{visitor:function(n,r,a,s){return hr.isNode&&he.isBuffer(n)?(this.append(r,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}function KK(e){return he.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function XK(e){const t={},n=Object.keys(e);let r;const a=n.length;let s;for(r=0;r=n.length;return l=!l&&he.isArray(a)?a.length:l,d?(he.hasOwnProp(a,l)?a[l]=[a[l],r]:a[l]=r,!u):((!a[l]||!he.isObject(a[l]))&&(a[l]=[]),t(n,r,a[l],s)&&he.isArray(a[l])&&(a[l]=XK(a[l])),!u)}if(he.isFormData(e)&&he.isFunction(e.entries)){const n={};return he.forEachEntry(e,(r,a)=>{t(KK(r),a,n,0)}),n}return null}function ZK(e,t,n){if(he.isString(e))try{return(t||JSON.parse)(e),he.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const Mh={transitional:T5,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",a=r.indexOf("application/json")>-1,s=he.isObject(t);if(s&&he.isHTMLForm(t)&&(t=new FormData(t)),he.isFormData(t))return a?JSON.stringify(k5(t)):t;if(he.isArrayBuffer(t)||he.isBuffer(t)||he.isStream(t)||he.isFile(t)||he.isBlob(t)||he.isReadableStream(t))return t;if(he.isArrayBufferView(t))return t.buffer;if(he.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let u;if(s){if(r.indexOf("application/x-www-form-urlencoded")>-1)return YK(t,this.formSerializer).toString();if((u=he.isFileList(t))||r.indexOf("multipart/form-data")>-1){const d=this.env&&this.env.FormData;return Vg(u?{"files[]":t}:t,d&&new d,this.formSerializer)}}return s||a?(n.setContentType("application/json",!1),ZK(t)):t}],transformResponse:[function(t){const n=this.transitional||Mh.transitional,r=n&&n.forcedJSONParsing,a=this.responseType==="json";if(he.isResponse(t)||he.isReadableStream(t))return t;if(t&&he.isString(t)&&(r&&!this.responseType||a)){const l=!(n&&n.silentJSONParsing)&&a;try{return JSON.parse(t,this.parseReviver)}catch(u){if(l)throw u.name==="SyntaxError"?tt.from(u,tt.ERR_BAD_RESPONSE,this,null,this.response):u}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:hr.classes.FormData,Blob:hr.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};he.forEach(["delete","get","head","post","put","patch"],e=>{Mh.headers[e]={}});const QK=he.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),JK=e=>{const t={};let n,r,a;return e&&e.split(` +`).forEach(function(l){a=l.indexOf(":"),n=l.substring(0,a).trim().toLowerCase(),r=l.substring(a+1).trim(),!(!n||t[n]&&QK[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},AM=Symbol("internals");function Jd(e){return e&&String(e).trim().toLowerCase()}function ov(e){return e===!1||e==null?e:he.isArray(e)?e.map(ov):String(e)}function eX(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const tX=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function H0(e,t,n,r,a){if(he.isFunction(r))return r.call(this,t,n);if(a&&(t=n),!!he.isString(t)){if(he.isString(r))return t.indexOf(r)!==-1;if(he.isRegExp(r))return r.test(t)}}function nX(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function rX(e,t){const n=he.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(a,s,l){return this[r].call(this,t,a,s,l)},configurable:!0})})}let $r=class{constructor(t){t&&this.set(t)}set(t,n,r){const a=this;function s(u,d,f){const m=Jd(d);if(!m)throw new Error("header name must be a non-empty string");const p=he.findKey(a,m);(!p||a[p]===void 0||f===!0||f===void 0&&a[p]!==!1)&&(a[p||d]=ov(u))}const l=(u,d)=>he.forEach(u,(f,m)=>s(f,m,d));if(he.isPlainObject(t)||t instanceof this.constructor)l(t,n);else if(he.isString(t)&&(t=t.trim())&&!tX(t))l(JK(t),n);else if(he.isObject(t)&&he.isIterable(t)){let u={},d,f;for(const m of t){if(!he.isArray(m))throw TypeError("Object iterator must return a key-value pair");u[f=m[0]]=(d=u[f])?he.isArray(d)?[...d,m[1]]:[d,m[1]]:m[1]}l(u,n)}else t!=null&&s(n,t,r);return this}get(t,n){if(t=Jd(t),t){const r=he.findKey(this,t);if(r){const a=this[r];if(!n)return a;if(n===!0)return eX(a);if(he.isFunction(n))return n.call(this,a,r);if(he.isRegExp(n))return n.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Jd(t),t){const r=he.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||H0(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let a=!1;function s(l){if(l=Jd(l),l){const u=he.findKey(r,l);u&&(!n||H0(r,r[u],u,n))&&(delete r[u],a=!0)}}return he.isArray(t)?t.forEach(s):s(t),a}clear(t){const n=Object.keys(this);let r=n.length,a=!1;for(;r--;){const s=n[r];(!t||H0(this,this[s],s,t,!0))&&(delete this[s],a=!0)}return a}normalize(t){const n=this,r={};return he.forEach(this,(a,s)=>{const l=he.findKey(r,s);if(l){n[l]=ov(a),delete n[s];return}const u=t?nX(s):String(s).trim();u!==s&&delete n[s],n[u]=ov(a),r[u]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return he.forEach(this,(r,a)=>{r!=null&&r!==!1&&(n[a]=t&&he.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(a=>r.set(a)),r}static accessor(t){const r=(this[AM]=this[AM]={accessors:{}}).accessors,a=this.prototype;function s(l){const u=Jd(l);r[u]||(rX(a,l),r[u]=!0)}return he.isArray(t)?t.forEach(s):s(t),this}};$r.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);he.reduceDescriptors($r.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});he.freezeMethods($r);function W0(e,t){const n=this||Mh,r=t||n,a=$r.from(r.headers);let s=r.data;return he.forEach(e,function(u){s=u.call(n,s,a.normalize(),t?t.status:void 0)}),a.normalize(),s}function M5(e){return!!(e&&e.__CANCEL__)}function Bu(e,t,n){tt.call(this,e??"canceled",tt.ERR_CANCELED,t,n),this.name="CanceledError"}he.inherits(Bu,tt,{__CANCEL__:!0});function P5(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new tt("Request failed with status code "+n.status,[tt.ERR_BAD_REQUEST,tt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function aX(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function iX(e,t){e=e||10;const n=new Array(e),r=new Array(e);let a=0,s=0,l;return t=t!==void 0?t:1e3,function(d){const f=Date.now(),m=r[s];l||(l=f),n[a]=d,r[a]=f;let p=s,g=0;for(;p!==a;)g+=n[p++],p=p%e;if(a=(a+1)%e,a===s&&(s=(s+1)%e),f-l{n=m,a=null,s&&(clearTimeout(s),s=null),e(...f)};return[(...f)=>{const m=Date.now(),p=m-n;p>=r?l(f,m):(a=f,s||(s=setTimeout(()=>{s=null,l(a)},r-p)))},()=>a&&l(a)]}const Sv=(e,t,n=3)=>{let r=0;const a=iX(50,250);return sX(s=>{const l=s.loaded,u=s.lengthComputable?s.total:void 0,d=l-r,f=a(d),m=l<=u;r=l;const p={loaded:l,total:u,progress:u?l/u:void 0,bytes:d,rate:f||void 0,estimated:f&&u&&m?(u-l)/f:void 0,event:s,lengthComputable:u!=null,[t?"download":"upload"]:!0};e(p)},n)},TM=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},kM=e=>(...t)=>he.asap(()=>e(...t)),oX=hr.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,hr.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(hr.origin),hr.navigator&&/(msie|trident)/i.test(hr.navigator.userAgent)):()=>!0,lX=hr.hasStandardBrowserEnv?{write(e,t,n,r,a,s,l){if(typeof document>"u")return;const u=[`${e}=${encodeURIComponent(t)}`];he.isNumber(n)&&u.push(`expires=${new Date(n).toUTCString()}`),he.isString(r)&&u.push(`path=${r}`),he.isString(a)&&u.push(`domain=${a}`),s===!0&&u.push("secure"),he.isString(l)&&u.push(`SameSite=${l}`),document.cookie=u.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function cX(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function uX(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function R5(e,t,n){let r=!cX(t);return e&&(r||n==!1)?uX(e,t):t}const MM=e=>e instanceof $r?{...e}:e;function ul(e,t){t=t||{};const n={};function r(f,m,p,g){return he.isPlainObject(f)&&he.isPlainObject(m)?he.merge.call({caseless:g},f,m):he.isPlainObject(m)?he.merge({},m):he.isArray(m)?m.slice():m}function a(f,m,p,g){if(he.isUndefined(m)){if(!he.isUndefined(f))return r(void 0,f,p,g)}else return r(f,m,p,g)}function s(f,m){if(!he.isUndefined(m))return r(void 0,m)}function l(f,m){if(he.isUndefined(m)){if(!he.isUndefined(f))return r(void 0,f)}else return r(void 0,m)}function u(f,m,p){if(p in t)return r(f,m);if(p in e)return r(void 0,f)}const d={url:s,method:s,data:s,baseURL:l,transformRequest:l,transformResponse:l,paramsSerializer:l,timeout:l,timeoutMessage:l,withCredentials:l,withXSRFToken:l,adapter:l,responseType:l,xsrfCookieName:l,xsrfHeaderName:l,onUploadProgress:l,onDownloadProgress:l,decompress:l,maxContentLength:l,maxBodyLength:l,beforeRedirect:l,transport:l,httpAgent:l,httpsAgent:l,cancelToken:l,socketPath:l,responseEncoding:l,validateStatus:u,headers:(f,m,p)=>a(MM(f),MM(m),p,!0)};return he.forEach(Object.keys({...e,...t}),function(m){const p=d[m]||a,g=p(e[m],t[m],m);he.isUndefined(g)&&p!==u||(n[m]=g)}),n}const D5=e=>{const t=ul({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:a,xsrfCookieName:s,headers:l,auth:u}=t;if(t.headers=l=$r.from(l),t.url=A5(R5(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),u&&l.set("Authorization","Basic "+btoa((u.username||"")+":"+(u.password?unescape(encodeURIComponent(u.password)):""))),he.isFormData(n)){if(hr.hasStandardBrowserEnv||hr.hasStandardBrowserWebWorkerEnv)l.setContentType(void 0);else if(he.isFunction(n.getHeaders)){const d=n.getHeaders(),f=["content-type","content-length"];Object.entries(d).forEach(([m,p])=>{f.includes(m.toLowerCase())&&l.set(m,p)})}}if(hr.hasStandardBrowserEnv&&(r&&he.isFunction(r)&&(r=r(t)),r||r!==!1&&oX(t.url))){const d=a&&s&&lX.read(s);d&&l.set(a,d)}return t},dX=typeof XMLHttpRequest<"u",fX=dX&&function(e){return new Promise(function(n,r){const a=D5(e);let s=a.data;const l=$r.from(a.headers).normalize();let{responseType:u,onUploadProgress:d,onDownloadProgress:f}=a,m,p,g,x,j;function w(){x&&x(),j&&j(),a.cancelToken&&a.cancelToken.unsubscribe(m),a.signal&&a.signal.removeEventListener("abort",m)}let b=new XMLHttpRequest;b.open(a.method.toUpperCase(),a.url,!0),b.timeout=a.timeout;function N(){if(!b)return;const O=$r.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),C={data:!u||u==="text"||u==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:O,config:e,request:b};P5(function(T){n(T),w()},function(T){r(T),w()},C),b=null}"onloadend"in b?b.onloadend=N:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(N)},b.onabort=function(){b&&(r(new tt("Request aborted",tt.ECONNABORTED,e,b)),b=null)},b.onerror=function(A){const C=A&&A.message?A.message:"Network Error",k=new tt(C,tt.ERR_NETWORK,e,b);k.event=A||null,r(k),b=null},b.ontimeout=function(){let A=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const C=a.transitional||T5;a.timeoutErrorMessage&&(A=a.timeoutErrorMessage),r(new tt(A,C.clarifyTimeoutError?tt.ETIMEDOUT:tt.ECONNABORTED,e,b)),b=null},s===void 0&&l.setContentType(null),"setRequestHeader"in b&&he.forEach(l.toJSON(),function(A,C){b.setRequestHeader(C,A)}),he.isUndefined(a.withCredentials)||(b.withCredentials=!!a.withCredentials),u&&u!=="json"&&(b.responseType=a.responseType),f&&([g,j]=Sv(f,!0),b.addEventListener("progress",g)),d&&b.upload&&([p,x]=Sv(d),b.upload.addEventListener("progress",p),b.upload.addEventListener("loadend",x)),(a.cancelToken||a.signal)&&(m=O=>{b&&(r(!O||O.type?new Bu(null,e,b):O),b.abort(),b=null)},a.cancelToken&&a.cancelToken.subscribe(m),a.signal&&(a.signal.aborted?m():a.signal.addEventListener("abort",m)));const E=aX(a.url);if(E&&hr.protocols.indexOf(E)===-1){r(new tt("Unsupported protocol "+E+":",tt.ERR_BAD_REQUEST,e));return}b.send(s||null)})},hX=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,a;const s=function(f){if(!a){a=!0,u();const m=f instanceof Error?f:this.reason;r.abort(m instanceof tt?m:new Bu(m instanceof Error?m.message:m))}};let l=t&&setTimeout(()=>{l=null,s(new tt(`timeout ${t} of ms exceeded`,tt.ETIMEDOUT))},t);const u=()=>{e&&(l&&clearTimeout(l),l=null,e.forEach(f=>{f.unsubscribe?f.unsubscribe(s):f.removeEventListener("abort",s)}),e=null)};e.forEach(f=>f.addEventListener("abort",s));const{signal:d}=r;return d.unsubscribe=()=>he.asap(u),d}},mX=function*(e,t){let n=e.byteLength;if(n{const a=pX(e,t);let s=0,l,u=d=>{l||(l=!0,r&&r(d))};return new ReadableStream({async pull(d){try{const{done:f,value:m}=await a.next();if(f){u(),d.close();return}let p=m.byteLength;if(n){let g=s+=p;n(g)}d.enqueue(new Uint8Array(m))}catch(f){throw u(f),f}},cancel(d){return u(d),a.return()}},{highWaterMark:2})},RM=64*1024,{isFunction:Tp}=he,gX=(({Request:e,Response:t})=>({Request:e,Response:t}))(he.global),{ReadableStream:DM,TextEncoder:$M}=he.global,IM=(e,...t)=>{try{return!!e(...t)}catch{return!1}},yX=e=>{e=he.merge.call({skipUndefined:!0},gX,e);const{fetch:t,Request:n,Response:r}=e,a=t?Tp(t):typeof fetch=="function",s=Tp(n),l=Tp(r);if(!a)return!1;const u=a&&Tp(DM),d=a&&(typeof $M=="function"?(j=>w=>j.encode(w))(new $M):async j=>new Uint8Array(await new n(j).arrayBuffer())),f=s&&u&&IM(()=>{let j=!1;const w=new n(hr.origin,{body:new DM,method:"POST",get duplex(){return j=!0,"half"}}).headers.has("Content-Type");return j&&!w}),m=l&&u&&IM(()=>he.isReadableStream(new r("").body)),p={stream:m&&(j=>j.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(j=>{!p[j]&&(p[j]=(w,b)=>{let N=w&&w[j];if(N)return N.call(w);throw new tt(`Response type '${j}' is not supported`,tt.ERR_NOT_SUPPORT,b)})});const g=async j=>{if(j==null)return 0;if(he.isBlob(j))return j.size;if(he.isSpecCompliantForm(j))return(await new n(hr.origin,{method:"POST",body:j}).arrayBuffer()).byteLength;if(he.isArrayBufferView(j)||he.isArrayBuffer(j))return j.byteLength;if(he.isURLSearchParams(j)&&(j=j+""),he.isString(j))return(await d(j)).byteLength},x=async(j,w)=>{const b=he.toFiniteNumber(j.getContentLength());return b??g(w)};return async j=>{let{url:w,method:b,data:N,signal:E,cancelToken:O,timeout:A,onDownloadProgress:C,onUploadProgress:k,responseType:T,headers:M,withCredentials:R="same-origin",fetchOptions:B}=D5(j),$=t||fetch;T=T?(T+"").toLowerCase():"text";let H=hX([E,O&&O.toAbortSignal()],A),V=null;const q=H&&H.unsubscribe&&(()=>{H.unsubscribe()});let G;try{if(k&&f&&b!=="get"&&b!=="head"&&(G=await x(M,N))!==0){let I=new n(w,{method:"POST",body:N,duplex:"half"}),z;if(he.isFormData(N)&&(z=I.headers.get("content-type"))&&M.setContentType(z),I.body){const[Y,te]=TM(G,Sv(kM(k)));N=PM(I.body,RM,Y,te)}}he.isString(R)||(R=R?"include":"omit");const L=s&&"credentials"in n.prototype,D={...B,signal:H,method:b.toUpperCase(),headers:M.normalize().toJSON(),body:N,duplex:"half",credentials:L?R:void 0};V=s&&new n(w,D);let U=await(s?$(V,B):$(w,D));const K=m&&(T==="stream"||T==="response");if(m&&(C||K&&q)){const I={};["status","statusText","headers"].forEach(ae=>{I[ae]=U[ae]});const z=he.toFiniteNumber(U.headers.get("content-length")),[Y,te]=C&&TM(z,Sv(kM(C),!0))||[];U=new r(PM(U.body,RM,Y,()=>{te&&te(),q&&q()}),I)}T=T||"text";let J=await p[he.findKey(p,T)||"text"](U,j);return!K&&q&&q(),await new Promise((I,z)=>{P5(I,z,{data:J,headers:$r.from(U.headers),status:U.status,statusText:U.statusText,config:j,request:V})})}catch(L){throw q&&q(),L&&L.name==="TypeError"&&/Load failed|fetch/i.test(L.message)?Object.assign(new tt("Network Error",tt.ERR_NETWORK,j,V),{cause:L.cause||L}):tt.from(L,L&&L.code,j,V)}}},xX=new Map,$5=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:a}=t,s=[r,a,n];let l=s.length,u=l,d,f,m=xX;for(;u--;)d=s[u],f=m.get(d),f===void 0&&m.set(d,f=u?new Map:yX(t)),m=f;return f};$5();const FC={http:$K,xhr:fX,fetch:{get:$5}};he.forEach(FC,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const LM=e=>`- ${e}`,bX=e=>he.isFunction(e)||e===null||e===!1;function wX(e,t){e=he.isArray(e)?e:[e];const{length:n}=e;let r,a;const s={};for(let l=0;l`adapter ${d} `+(f===!1?"is not supported by the environment":"is not available in the build"));let u=n?l.length>1?`since : `+l.map(LM).join(` -`):" "+LM(l[0]):"as no adapter specified";throw new tt("There is no suitable adapter to dispatch the request "+u,"ERR_NOT_SUPPORT")}return a}const I5={getAdapter:wX,adapters:qC};function W0(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Bu(null,e)}function BM(e){return W0(e),e.headers=$r.from(e.headers),e.data=H0.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),I5.getAdapter(e.adapter||Mh.adapter,e)(e).then(function(r){return W0(e),r.data=H0.call(e,e.transformResponse,r),r.headers=$r.from(r.headers),r},function(r){return M5(r)||(W0(e),r&&r.response&&(r.response.data=H0.call(e,e.transformResponse,r.response),r.response.headers=$r.from(r.response.headers))),Promise.reject(r)})}const L5="1.13.2",Gg={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Gg[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const zM={};Gg.transitional=function(t,n,r){function a(s,l){return"[Axios v"+L5+"] Transitional option '"+s+"'"+l+(r?". "+r:"")}return(s,l,u)=>{if(t===!1)throw new tt(a(l," has been removed"+(n?" in "+n:"")),tt.ERR_DEPRECATED);return n&&!zM[l]&&(zM[l]=!0,console.warn(a(l," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,l,u):!0}};Gg.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function jX(e,t,n){if(typeof e!="object")throw new tt("options must be an object",tt.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let a=r.length;for(;a-- >0;){const s=r[a],l=t[s];if(l){const u=e[s],d=u===void 0||l(u,s,e);if(d!==!0)throw new tt("option "+s+" must be "+d,tt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new tt("Unknown option "+s,tt.ERR_BAD_OPTION)}}const lv={assertOptions:jX,validators:Gg},ri=lv.validators;let rl=class{constructor(t){this.defaults=t||{},this.interceptors={request:new EM,response:new EM}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let a={};Error.captureStackTrace?Error.captureStackTrace(a):a=new Error;const s=a.stack?a.stack.replace(/^.+\n/,""):"";try{r.stack?s&&!String(r.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(r.stack+=` -`+s):r.stack=s}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=ul(this.defaults,n);const{transitional:r,paramsSerializer:a,headers:s}=n;r!==void 0&&lv.assertOptions(r,{silentJSONParsing:ri.transitional(ri.boolean),forcedJSONParsing:ri.transitional(ri.boolean),clarifyTimeoutError:ri.transitional(ri.boolean)},!1),a!=null&&(he.isFunction(a)?n.paramsSerializer={serialize:a}:lv.assertOptions(a,{encode:ri.function,serialize:ri.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),lv.assertOptions(n,{baseUrl:ri.spelling("baseURL"),withXsrfToken:ri.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let l=s&&he.merge(s.common,s[n.method]);s&&he.forEach(["delete","get","head","post","put","patch","common"],j=>{delete s[j]}),n.headers=$r.concat(l,s);const u=[];let d=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(n)===!1||(d=d&&w.synchronous,u.unshift(w.fulfilled,w.rejected))});const f=[];this.interceptors.response.forEach(function(w){f.push(w.fulfilled,w.rejected)});let m,p=0,g;if(!d){const j=[BM.bind(this),void 0];for(j.unshift(...u),j.push(...f),g=j.length,m=Promise.resolve(n);p{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](a);r._listeners=null}),this.promise.then=a=>{let s;const l=new Promise(u=>{r.subscribe(u),s=u}).then(a);return l.cancel=function(){r.unsubscribe(s)},l},t(function(s,l,u){r.reason||(r.reason=new Bu(s,l,u),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new B5(function(a){t=a}),cancel:t}}};function _X(e){return function(n){return e.apply(null,n)}}function NX(e){return he.isObject(e)&&e.isAxiosError===!0}const __={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(__).forEach(([e,t])=>{__[t]=e});function z5(e){const t=new rl(e),n=g5(rl.prototype.request,t);return he.extend(n,rl.prototype,t,{allOwnKeys:!0}),he.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return z5(ul(e,a))},n}const vn=z5(Mh);vn.Axios=rl;vn.CanceledError=Bu;vn.CancelToken=SX;vn.isCancel=M5;vn.VERSION=L5;vn.toFormData=Vg;vn.AxiosError=tt;vn.Cancel=vn.CanceledError;vn.all=function(t){return Promise.all(t)};vn.spread=_X;vn.isAxiosError=NX;vn.mergeConfig=ul;vn.AxiosHeaders=$r;vn.formToJSON=e=>k5(he.isHTMLForm(e)?new FormData(e):e);vn.getAdapter=I5.getAdapter;vn.HttpStatusCode=__;vn.default=vn;const{Axios:CAe,AxiosError:OAe,CanceledError:EAe,isCancel:AAe,CancelToken:TAe,VERSION:kAe,all:MAe,Cancel:PAe,isAxiosError:RAe,spread:DAe,toFormData:$Ae,AxiosHeaders:IAe,HttpStatusCode:LAe,formToJSON:BAe,getAdapter:zAe,mergeConfig:qAe}=vn;function q5(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t{const n=new Array(e.length+t.length);for(let r=0;r({classGroupId:e,validator:t}),F5=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),_v="-",qM=[],EX="arbitrary..",AX=e=>{const t=kX(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return TX(l);const u=l.split(_v),d=u[0]===""&&u.length>1?1:0;return U5(u,d,t)},getConflictingClassGroupIds:(l,u)=>{if(u){const d=r[l],f=n[l];return d?f?CX(f,d):d:f||qM}return n[l]||qM}}},U5=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const a=e[t],s=n.nextPart.get(a);if(s){const f=U5(e,t+1,s);if(f)return f}const l=n.validators;if(l===null)return;const u=t===0?e.join(_v):e.slice(t).join(_v),d=l.length;for(let f=0;fe.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?EX+r:void 0})(),kX=e=>{const{theme:t,classGroups:n}=e;return MX(n,t)},MX=(e,t)=>{const n=F5();for(const r in e){const a=e[r];FC(a,n,r,t)}return n},FC=(e,t,n,r)=>{const a=e.length;for(let s=0;s{if(typeof e=="string"){RX(e,t,n);return}if(typeof e=="function"){DX(e,t,n,r);return}$X(e,t,n,r)},RX=(e,t,n)=>{const r=e===""?t:H5(t,e);r.classGroupId=n},DX=(e,t,n,r)=>{if(IX(e)){FC(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(OX(n,e))},$X=(e,t,n,r)=>{const a=Object.entries(e),s=a.length;for(let l=0;l{let n=e;const r=t.split(_v),a=r.length;for(let s=0;s"isThemeGetter"in e&&e.isThemeGetter===!0,LX=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const a=(s,l)=>{n[s]=l,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(s){let l=n[s];if(l!==void 0)return l;if((l=r[s])!==void 0)return a(s,l),l},set(s,l){s in n?n[s]=l:a(s,l)}}},N_="!",FM=":",BX=[],UM=(e,t,n,r,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:a}),zX=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=a=>{const s=[];let l=0,u=0,d=0,f;const m=a.length;for(let w=0;wd?f-d:void 0;return UM(s,x,g,j)};if(t){const a=t+FM,s=r;r=l=>l.startsWith(a)?s(l.slice(a.length)):UM(BX,!1,l,void 0,!0)}if(n){const a=r;r=s=>n({className:s,parseClassName:a})}return r},qX=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let a=[];for(let s=0;s0&&(a.sort(),r.push(...a),a=[]),r.push(l)):a.push(l)}return a.length>0&&(a.sort(),r.push(...a)),r}},FX=e=>({cache:LX(e.cacheSize),parseClassName:zX(e),sortModifiers:qX(e),...AX(e)}),UX=/\s+/,HX=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:a,sortModifiers:s}=t,l=[],u=e.trim().split(UX);let d="";for(let f=u.length-1;f>=0;f-=1){const m=u[f],{isExternal:p,modifiers:g,hasImportantModifier:x,baseClassName:j,maybePostfixModifierPosition:w}=n(m);if(p){d=m+(d.length>0?" "+d:d);continue}let b=!!w,N=r(b?j.substring(0,w):j);if(!N){if(!b){d=m+(d.length>0?" "+d:d);continue}if(N=r(j),!N){d=m+(d.length>0?" "+d:d);continue}b=!1}const E=g.length===0?"":g.length===1?g[0]:s(g).join(":"),O=x?E+N_:E,A=O+N;if(l.indexOf(A)>-1)continue;l.push(A);const C=a(N,b);for(let k=0;k0?" "+d:d)}return d},WX=(...e)=>{let t=0,n,r,a="";for(;t{if(typeof e=="string")return e;let t,n="";for(let r=0;r{let n,r,a,s;const l=d=>{const f=t.reduce((m,p)=>p(m),e());return n=FX(f),r=n.cache.get,a=n.cache.set,s=u,u(d)},u=d=>{const f=r(d);if(f)return f;const m=HX(d,n);return a(d,m),m};return s=l,(...d)=>s(WX(...d))},GX=[],Rn=e=>{const t=n=>n[e]||GX;return t.isThemeGetter=!0,t},V5=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,G5=/^\((?:(\w[\w-]*):)?(.+)\)$/i,YX=/^\d+\/\d+$/,KX=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,XX=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ZX=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,QX=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,JX=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,_c=e=>YX.test(e),ot=e=>!!e&&!Number.isNaN(Number(e)),qs=e=>!!e&&Number.isInteger(Number(e)),V0=e=>e.endsWith("%")&&ot(e.slice(0,-1)),Wi=e=>KX.test(e),eZ=()=>!0,tZ=e=>XX.test(e)&&!ZX.test(e),Y5=()=>!1,nZ=e=>QX.test(e),rZ=e=>JX.test(e),aZ=e=>!Pe(e)&&!Re(e),iZ=e=>zu(e,Z5,Y5),Pe=e=>V5.test(e),zo=e=>zu(e,Q5,tZ),G0=e=>zu(e,uZ,ot),HM=e=>zu(e,K5,Y5),sZ=e=>zu(e,X5,rZ),kp=e=>zu(e,J5,nZ),Re=e=>G5.test(e),ef=e=>qu(e,Q5),oZ=e=>qu(e,dZ),WM=e=>qu(e,K5),lZ=e=>qu(e,Z5),cZ=e=>qu(e,X5),Mp=e=>qu(e,J5,!0),zu=(e,t,n)=>{const r=V5.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},qu=(e,t,n=!1)=>{const r=G5.exec(e);return r?r[1]?t(r[1]):n:!1},K5=e=>e==="position"||e==="percentage",X5=e=>e==="image"||e==="url",Z5=e=>e==="length"||e==="size"||e==="bg-size",Q5=e=>e==="length",uZ=e=>e==="number",dZ=e=>e==="family-name",J5=e=>e==="shadow",fZ=()=>{const e=Rn("color"),t=Rn("font"),n=Rn("text"),r=Rn("font-weight"),a=Rn("tracking"),s=Rn("leading"),l=Rn("breakpoint"),u=Rn("container"),d=Rn("spacing"),f=Rn("radius"),m=Rn("shadow"),p=Rn("inset-shadow"),g=Rn("text-shadow"),x=Rn("drop-shadow"),j=Rn("blur"),w=Rn("perspective"),b=Rn("aspect"),N=Rn("ease"),E=Rn("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],C=()=>[...A(),Re,Pe],k=()=>["auto","hidden","clip","visible","scroll"],T=()=>["auto","contain","none"],M=()=>[Re,Pe,d],R=()=>[_c,"full","auto",...M()],B=()=>[qs,"none","subgrid",Re,Pe],$=()=>["auto",{span:["full",qs,Re,Pe]},qs,Re,Pe],H=()=>[qs,"auto",Re,Pe],V=()=>["auto","min","max","fr",Re,Pe],q=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],G=()=>["start","end","center","stretch","center-safe","end-safe"],L=()=>["auto",...M()],D=()=>[_c,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...M()],U=()=>[e,Re,Pe],K=()=>[...A(),WM,HM,{position:[Re,Pe]}],J=()=>["no-repeat",{repeat:["","x","y","space","round"]}],I=()=>["auto","cover","contain",lZ,iZ,{size:[Re,Pe]}],z=()=>[V0,ef,zo],Y=()=>["","none","full",f,Re,Pe],te=()=>["",ot,ef,zo],ae=()=>["solid","dashed","dotted","double"],ge=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ee=()=>[ot,V0,WM,HM],Se=()=>["","none",j,Re,Pe],re=()=>["none",ot,Re,Pe],we=()=>["none",ot,Re,Pe],je=()=>[ot,Re,Pe],fe=()=>[_c,"full",...M()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Wi],breakpoint:[Wi],color:[eZ],container:[Wi],"drop-shadow":[Wi],ease:["in","out","in-out"],font:[aZ],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Wi],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Wi],shadow:[Wi],spacing:["px",ot],text:[Wi],"text-shadow":[Wi],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",_c,Pe,Re,b]}],container:["container"],columns:[{columns:[ot,Pe,Re,u]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:C()}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:R()}],"inset-x":[{"inset-x":R()}],"inset-y":[{"inset-y":R()}],start:[{start:R()}],end:[{end:R()}],top:[{top:R()}],right:[{right:R()}],bottom:[{bottom:R()}],left:[{left:R()}],visibility:["visible","invisible","collapse"],z:[{z:[qs,"auto",Re,Pe]}],basis:[{basis:[_c,"full","auto",u,...M()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ot,_c,"auto","initial","none",Pe]}],grow:[{grow:["",ot,Re,Pe]}],shrink:[{shrink:["",ot,Re,Pe]}],order:[{order:[qs,"first","last","none",Re,Pe]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:$()}],"col-start":[{"col-start":H()}],"col-end":[{"col-end":H()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:$()}],"row-start":[{"row-start":H()}],"row-end":[{"row-end":H()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":V()}],"auto-rows":[{"auto-rows":V()}],gap:[{gap:M()}],"gap-x":[{"gap-x":M()}],"gap-y":[{"gap-y":M()}],"justify-content":[{justify:[...q(),"normal"]}],"justify-items":[{"justify-items":[...G(),"normal"]}],"justify-self":[{"justify-self":["auto",...G()]}],"align-content":[{content:["normal",...q()]}],"align-items":[{items:[...G(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...G(),{baseline:["","last"]}]}],"place-content":[{"place-content":q()}],"place-items":[{"place-items":[...G(),"baseline"]}],"place-self":[{"place-self":["auto",...G()]}],p:[{p:M()}],px:[{px:M()}],py:[{py:M()}],ps:[{ps:M()}],pe:[{pe:M()}],pt:[{pt:M()}],pr:[{pr:M()}],pb:[{pb:M()}],pl:[{pl:M()}],m:[{m:L()}],mx:[{mx:L()}],my:[{my:L()}],ms:[{ms:L()}],me:[{me:L()}],mt:[{mt:L()}],mr:[{mr:L()}],mb:[{mb:L()}],ml:[{ml:L()}],"space-x":[{"space-x":M()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":M()}],"space-y-reverse":["space-y-reverse"],size:[{size:D()}],w:[{w:[u,"screen",...D()]}],"min-w":[{"min-w":[u,"screen","none",...D()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[l]},...D()]}],h:[{h:["screen","lh",...D()]}],"min-h":[{"min-h":["screen","lh","none",...D()]}],"max-h":[{"max-h":["screen","lh",...D()]}],"font-size":[{text:["base",n,ef,zo]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Re,G0]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",V0,Pe]}],"font-family":[{font:[oZ,Pe,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,Re,Pe]}],"line-clamp":[{"line-clamp":[ot,"none",Re,G0]}],leading:[{leading:[s,...M()]}],"list-image":[{"list-image":["none",Re,Pe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Re,Pe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:U()}],"text-color":[{text:U()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ae(),"wavy"]}],"text-decoration-thickness":[{decoration:[ot,"from-font","auto",Re,zo]}],"text-decoration-color":[{decoration:U()}],"underline-offset":[{"underline-offset":[ot,"auto",Re,Pe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:M()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Re,Pe]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Re,Pe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:K()}],"bg-repeat":[{bg:J()}],"bg-size":[{bg:I()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},qs,Re,Pe],radial:["",Re,Pe],conic:[qs,Re,Pe]},cZ,sZ]}],"bg-color":[{bg:U()}],"gradient-from-pos":[{from:z()}],"gradient-via-pos":[{via:z()}],"gradient-to-pos":[{to:z()}],"gradient-from":[{from:U()}],"gradient-via":[{via:U()}],"gradient-to":[{to:U()}],rounded:[{rounded:Y()}],"rounded-s":[{"rounded-s":Y()}],"rounded-e":[{"rounded-e":Y()}],"rounded-t":[{"rounded-t":Y()}],"rounded-r":[{"rounded-r":Y()}],"rounded-b":[{"rounded-b":Y()}],"rounded-l":[{"rounded-l":Y()}],"rounded-ss":[{"rounded-ss":Y()}],"rounded-se":[{"rounded-se":Y()}],"rounded-ee":[{"rounded-ee":Y()}],"rounded-es":[{"rounded-es":Y()}],"rounded-tl":[{"rounded-tl":Y()}],"rounded-tr":[{"rounded-tr":Y()}],"rounded-br":[{"rounded-br":Y()}],"rounded-bl":[{"rounded-bl":Y()}],"border-w":[{border:te()}],"border-w-x":[{"border-x":te()}],"border-w-y":[{"border-y":te()}],"border-w-s":[{"border-s":te()}],"border-w-e":[{"border-e":te()}],"border-w-t":[{"border-t":te()}],"border-w-r":[{"border-r":te()}],"border-w-b":[{"border-b":te()}],"border-w-l":[{"border-l":te()}],"divide-x":[{"divide-x":te()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":te()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ae(),"hidden","none"]}],"divide-style":[{divide:[...ae(),"hidden","none"]}],"border-color":[{border:U()}],"border-color-x":[{"border-x":U()}],"border-color-y":[{"border-y":U()}],"border-color-s":[{"border-s":U()}],"border-color-e":[{"border-e":U()}],"border-color-t":[{"border-t":U()}],"border-color-r":[{"border-r":U()}],"border-color-b":[{"border-b":U()}],"border-color-l":[{"border-l":U()}],"divide-color":[{divide:U()}],"outline-style":[{outline:[...ae(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ot,Re,Pe]}],"outline-w":[{outline:["",ot,ef,zo]}],"outline-color":[{outline:U()}],shadow:[{shadow:["","none",m,Mp,kp]}],"shadow-color":[{shadow:U()}],"inset-shadow":[{"inset-shadow":["none",p,Mp,kp]}],"inset-shadow-color":[{"inset-shadow":U()}],"ring-w":[{ring:te()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:U()}],"ring-offset-w":[{"ring-offset":[ot,zo]}],"ring-offset-color":[{"ring-offset":U()}],"inset-ring-w":[{"inset-ring":te()}],"inset-ring-color":[{"inset-ring":U()}],"text-shadow":[{"text-shadow":["none",g,Mp,kp]}],"text-shadow-color":[{"text-shadow":U()}],opacity:[{opacity:[ot,Re,Pe]}],"mix-blend":[{"mix-blend":[...ge(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ge()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ot]}],"mask-image-linear-from-pos":[{"mask-linear-from":ee()}],"mask-image-linear-to-pos":[{"mask-linear-to":ee()}],"mask-image-linear-from-color":[{"mask-linear-from":U()}],"mask-image-linear-to-color":[{"mask-linear-to":U()}],"mask-image-t-from-pos":[{"mask-t-from":ee()}],"mask-image-t-to-pos":[{"mask-t-to":ee()}],"mask-image-t-from-color":[{"mask-t-from":U()}],"mask-image-t-to-color":[{"mask-t-to":U()}],"mask-image-r-from-pos":[{"mask-r-from":ee()}],"mask-image-r-to-pos":[{"mask-r-to":ee()}],"mask-image-r-from-color":[{"mask-r-from":U()}],"mask-image-r-to-color":[{"mask-r-to":U()}],"mask-image-b-from-pos":[{"mask-b-from":ee()}],"mask-image-b-to-pos":[{"mask-b-to":ee()}],"mask-image-b-from-color":[{"mask-b-from":U()}],"mask-image-b-to-color":[{"mask-b-to":U()}],"mask-image-l-from-pos":[{"mask-l-from":ee()}],"mask-image-l-to-pos":[{"mask-l-to":ee()}],"mask-image-l-from-color":[{"mask-l-from":U()}],"mask-image-l-to-color":[{"mask-l-to":U()}],"mask-image-x-from-pos":[{"mask-x-from":ee()}],"mask-image-x-to-pos":[{"mask-x-to":ee()}],"mask-image-x-from-color":[{"mask-x-from":U()}],"mask-image-x-to-color":[{"mask-x-to":U()}],"mask-image-y-from-pos":[{"mask-y-from":ee()}],"mask-image-y-to-pos":[{"mask-y-to":ee()}],"mask-image-y-from-color":[{"mask-y-from":U()}],"mask-image-y-to-color":[{"mask-y-to":U()}],"mask-image-radial":[{"mask-radial":[Re,Pe]}],"mask-image-radial-from-pos":[{"mask-radial-from":ee()}],"mask-image-radial-to-pos":[{"mask-radial-to":ee()}],"mask-image-radial-from-color":[{"mask-radial-from":U()}],"mask-image-radial-to-color":[{"mask-radial-to":U()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":A()}],"mask-image-conic-pos":[{"mask-conic":[ot]}],"mask-image-conic-from-pos":[{"mask-conic-from":ee()}],"mask-image-conic-to-pos":[{"mask-conic-to":ee()}],"mask-image-conic-from-color":[{"mask-conic-from":U()}],"mask-image-conic-to-color":[{"mask-conic-to":U()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:K()}],"mask-repeat":[{mask:J()}],"mask-size":[{mask:I()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Re,Pe]}],filter:[{filter:["","none",Re,Pe]}],blur:[{blur:Se()}],brightness:[{brightness:[ot,Re,Pe]}],contrast:[{contrast:[ot,Re,Pe]}],"drop-shadow":[{"drop-shadow":["","none",x,Mp,kp]}],"drop-shadow-color":[{"drop-shadow":U()}],grayscale:[{grayscale:["",ot,Re,Pe]}],"hue-rotate":[{"hue-rotate":[ot,Re,Pe]}],invert:[{invert:["",ot,Re,Pe]}],saturate:[{saturate:[ot,Re,Pe]}],sepia:[{sepia:["",ot,Re,Pe]}],"backdrop-filter":[{"backdrop-filter":["","none",Re,Pe]}],"backdrop-blur":[{"backdrop-blur":Se()}],"backdrop-brightness":[{"backdrop-brightness":[ot,Re,Pe]}],"backdrop-contrast":[{"backdrop-contrast":[ot,Re,Pe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ot,Re,Pe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ot,Re,Pe]}],"backdrop-invert":[{"backdrop-invert":["",ot,Re,Pe]}],"backdrop-opacity":[{"backdrop-opacity":[ot,Re,Pe]}],"backdrop-saturate":[{"backdrop-saturate":[ot,Re,Pe]}],"backdrop-sepia":[{"backdrop-sepia":["",ot,Re,Pe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":M()}],"border-spacing-x":[{"border-spacing-x":M()}],"border-spacing-y":[{"border-spacing-y":M()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Re,Pe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ot,"initial",Re,Pe]}],ease:[{ease:["linear","initial",N,Re,Pe]}],delay:[{delay:[ot,Re,Pe]}],animate:[{animate:["none",E,Re,Pe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,Re,Pe]}],"perspective-origin":[{"perspective-origin":C()}],rotate:[{rotate:re()}],"rotate-x":[{"rotate-x":re()}],"rotate-y":[{"rotate-y":re()}],"rotate-z":[{"rotate-z":re()}],scale:[{scale:we()}],"scale-x":[{"scale-x":we()}],"scale-y":[{"scale-y":we()}],"scale-z":[{"scale-z":we()}],"scale-3d":["scale-3d"],skew:[{skew:je()}],"skew-x":[{"skew-x":je()}],"skew-y":[{"skew-y":je()}],transform:[{transform:[Re,Pe,"","none","gpu","cpu"]}],"transform-origin":[{origin:C()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:fe()}],"translate-x":[{"translate-x":fe()}],"translate-y":[{"translate-y":fe()}],"translate-z":[{"translate-z":fe()}],"translate-none":["translate-none"],accent:[{accent:U()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:U()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Re,Pe]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":M()}],"scroll-mx":[{"scroll-mx":M()}],"scroll-my":[{"scroll-my":M()}],"scroll-ms":[{"scroll-ms":M()}],"scroll-me":[{"scroll-me":M()}],"scroll-mt":[{"scroll-mt":M()}],"scroll-mr":[{"scroll-mr":M()}],"scroll-mb":[{"scroll-mb":M()}],"scroll-ml":[{"scroll-ml":M()}],"scroll-p":[{"scroll-p":M()}],"scroll-px":[{"scroll-px":M()}],"scroll-py":[{"scroll-py":M()}],"scroll-ps":[{"scroll-ps":M()}],"scroll-pe":[{"scroll-pe":M()}],"scroll-pt":[{"scroll-pt":M()}],"scroll-pr":[{"scroll-pr":M()}],"scroll-pb":[{"scroll-pb":M()}],"scroll-pl":[{"scroll-pl":M()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Re,Pe]}],fill:[{fill:["none",...U()]}],"stroke-w":[{stroke:[ot,ef,zo,G0]}],stroke:[{stroke:["none",...U()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},hZ=VX(fZ);function ce(...e){return hZ(Je(e))}const Xe=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("rounded-xl border bg-card text-card-foreground shadow",e),...t}));Xe.displayName="Card";const pt=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("flex flex-col space-y-1.5 p-6",e),...t}));pt.displayName="CardHeader";const vt=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("font-semibold leading-none tracking-tight",e),...t}));vt.displayName="CardTitle";const Wn=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("text-sm text-muted-foreground",e),...t}));Wn.displayName="CardDescription";const Ct=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("p-6 pt-0",e),...t}));Ct.displayName="CardContent";const eB=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("flex items-center p-6 pt-0",e),...t}));eB.displayName="CardFooter";function _e(e,t,{checkForDefaultPrevented:n=!0}={}){return function(a){if(e?.(a),n===!1||!a.defaultPrevented)return t?.(a)}}function mZ(e,t){const n=y.createContext(t),r=s=>{const{children:l,...u}=s,d=y.useMemo(()=>u,Object.values(u));return i.jsx(n.Provider,{value:d,children:l})};r.displayName=e+"Provider";function a(s){const l=y.useContext(n);if(l)return l;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[r,a]}function gr(e,t=[]){let n=[];function r(s,l){const u=y.createContext(l),d=n.length;n=[...n,l];const f=p=>{const{scope:g,children:x,...j}=p,w=g?.[e]?.[d]||u,b=y.useMemo(()=>j,Object.values(j));return i.jsx(w.Provider,{value:b,children:x})};f.displayName=s+"Provider";function m(p,g){const x=g?.[e]?.[d]||u,j=y.useContext(x);if(j)return j;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[f,m]}const a=()=>{const s=n.map(l=>y.createContext(l));return function(u){const d=u?.[e]||s;return y.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return a.scopeName=e,[r,pZ(a,...t)]}function pZ(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(s){const l=r.reduce((u,{useScope:d,scopeName:f})=>{const p=d(s)[`__scope${f}`];return{...u,...p}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}function VM(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ir(...e){return t=>{let n=!1;const r=e.map(a=>{const s=VM(a,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let a=0;a{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(yZ);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function vZ(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=bZ(a),u=xZ(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var gZ=Symbol("radix.slottable");function yZ(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===gZ}function xZ(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function bZ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Ph(e){const t=e+"CollectionProvider",[n,r]=gr(t),[a,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),l=w=>{const{scope:b,children:N}=w,E=W.useRef(null),O=W.useRef(new Map).current;return i.jsx(a,{scope:b,itemMap:O,collectionRef:E,children:N})};l.displayName=t;const u=e+"CollectionSlot",d=GM(u),f=W.forwardRef((w,b)=>{const{scope:N,children:E}=w,O=s(u,N),A=Ue(b,O.collectionRef);return i.jsx(d,{ref:A,children:E})});f.displayName=u;const m=e+"CollectionItemSlot",p="data-radix-collection-item",g=GM(m),x=W.forwardRef((w,b)=>{const{scope:N,children:E,...O}=w,A=W.useRef(null),C=Ue(b,A),k=s(m,N);return W.useEffect(()=>(k.itemMap.set(A,{ref:A,...O}),()=>void k.itemMap.delete(A))),i.jsx(g,{[p]:"",ref:C,children:E})});x.displayName=m;function j(w){const b=s(e+"CollectionConsumer",w);return W.useCallback(()=>{const E=b.collectionRef.current;if(!E)return[];const O=Array.from(E.querySelectorAll(`[${p}]`));return Array.from(b.itemMap.values()).sort((k,T)=>O.indexOf(k.ref.current)-O.indexOf(T.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:l,Slot:f,ItemSlot:x},j,r]}var Yn=globalThis?.document?y.useLayoutEffect:()=>{},wZ=OC[" useId ".trim().toString()]||(()=>{}),jZ=0;function Gn(e){const[t,n]=y.useState(wZ());return Yn(()=>{n(r=>r??String(jZ++))},[e]),t?`radix-${t}`:""}function SZ(e){const t=_Z(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(CZ);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function _Z(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=EZ(a),u=OZ(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var NZ=Symbol("radix.slottable");function CZ(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===NZ}function OZ(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function EZ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var AZ=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],$e=AZ.reduce((e,t)=>{const n=SZ(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function UC(e,t){e&&Sl.flushSync(()=>e.dispatchEvent(t))}function ln(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>(...n)=>t.current?.(...n),[])}var TZ=OC[" useInsertionEffect ".trim().toString()]||Yn;function Ea({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[a,s,l]=kZ({defaultProp:t,onChange:n}),u=e!==void 0,d=u?e:a;{const m=y.useRef(e!==void 0);y.useEffect(()=>{const p=m.current;p!==u&&console.warn(`${r} is changing from ${p?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),m.current=u},[u,r])}const f=y.useCallback(m=>{if(u){const p=MZ(m)?m(e):m;p!==e&&l.current?.(p)}else s(m)},[u,e,s,l]);return[d,f]}function kZ({defaultProp:e,onChange:t}){const[n,r]=y.useState(e),a=y.useRef(n),s=y.useRef(t);return TZ(()=>{s.current=t},[t]),y.useEffect(()=>{a.current!==n&&(s.current?.(n),a.current=n)},[n,a]),[n,r,s]}function MZ(e){return typeof e=="function"}var PZ=y.createContext(void 0);function Fu(e){const t=y.useContext(PZ);return e||t||"ltr"}var Y0="rovingFocusGroup.onEntryFocus",RZ={bubbles:!1,cancelable:!0},Rh="RovingFocusGroup",[C_,tB,DZ]=Ph(Rh),[$Z,Yg]=gr(Rh,[DZ]),[IZ,LZ]=$Z(Rh),nB=y.forwardRef((e,t)=>i.jsx(C_.Provider,{scope:e.__scopeRovingFocusGroup,children:i.jsx(C_.Slot,{scope:e.__scopeRovingFocusGroup,children:i.jsx(BZ,{...e,ref:t})})}));nB.displayName=Rh;var BZ=y.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:a=!1,dir:s,currentTabStopId:l,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:d,onEntryFocus:f,preventScrollOnEntryFocus:m=!1,...p}=e,g=y.useRef(null),x=Ue(t,g),j=Fu(s),[w,b]=Ea({prop:l,defaultProp:u??null,onChange:d,caller:Rh}),[N,E]=y.useState(!1),O=ln(f),A=tB(n),C=y.useRef(!1),[k,T]=y.useState(0);return y.useEffect(()=>{const M=g.current;if(M)return M.addEventListener(Y0,O),()=>M.removeEventListener(Y0,O)},[O]),i.jsx(IZ,{scope:n,orientation:r,dir:j,loop:a,currentTabStopId:w,onItemFocus:y.useCallback(M=>b(M),[b]),onItemShiftTab:y.useCallback(()=>E(!0),[]),onFocusableItemAdd:y.useCallback(()=>T(M=>M+1),[]),onFocusableItemRemove:y.useCallback(()=>T(M=>M-1),[]),children:i.jsx($e.div,{tabIndex:N||k===0?-1:0,"data-orientation":r,...p,ref:x,style:{outline:"none",...e.style},onMouseDown:_e(e.onMouseDown,()=>{C.current=!0}),onFocus:_e(e.onFocus,M=>{const R=!C.current;if(M.target===M.currentTarget&&R&&!N){const B=new CustomEvent(Y0,RZ);if(M.currentTarget.dispatchEvent(B),!B.defaultPrevented){const $=A().filter(L=>L.focusable),H=$.find(L=>L.active),V=$.find(L=>L.id===w),G=[H,V,...$].filter(Boolean).map(L=>L.ref.current);iB(G,m)}}C.current=!1}),onBlur:_e(e.onBlur,()=>E(!1))})})}),rB="RovingFocusGroupItem",aB=y.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:a=!1,tabStopId:s,children:l,...u}=e,d=Gn(),f=s||d,m=LZ(rB,n),p=m.currentTabStopId===f,g=tB(n),{onFocusableItemAdd:x,onFocusableItemRemove:j,currentTabStopId:w}=m;return y.useEffect(()=>{if(r)return x(),()=>j()},[r,x,j]),i.jsx(C_.ItemSlot,{scope:n,id:f,focusable:r,active:a,children:i.jsx($e.span,{tabIndex:p?0:-1,"data-orientation":m.orientation,...u,ref:t,onMouseDown:_e(e.onMouseDown,b=>{r?m.onItemFocus(f):b.preventDefault()}),onFocus:_e(e.onFocus,()=>m.onItemFocus(f)),onKeyDown:_e(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){m.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const N=FZ(b,m.orientation,m.dir);if(N!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let O=g().filter(A=>A.focusable).map(A=>A.ref.current);if(N==="last")O.reverse();else if(N==="prev"||N==="next"){N==="prev"&&O.reverse();const A=O.indexOf(b.currentTarget);O=m.loop?UZ(O,A+1):O.slice(A+1)}setTimeout(()=>iB(O))}}),children:typeof l=="function"?l({isCurrentTabStop:p,hasTabStop:w!=null}):l})})});aB.displayName=rB;var zZ={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function qZ(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function FZ(e,t,n){const r=qZ(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return zZ[r]}function iB(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function UZ(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var sB=nB,oB=aB;function HZ(e,t){return y.useReducer((n,r)=>t[n][r]??n,e)}var Bn=e=>{const{present:t,children:n}=e,r=WZ(t),a=typeof n=="function"?n({present:r.isPresent}):y.Children.only(n),s=Ue(r.ref,VZ(a));return typeof n=="function"||r.isPresent?y.cloneElement(a,{ref:s}):null};Bn.displayName="Presence";function WZ(e){const[t,n]=y.useState(),r=y.useRef(null),a=y.useRef(e),s=y.useRef("none"),l=e?"mounted":"unmounted",[u,d]=HZ(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const f=Pp(r.current);s.current=u==="mounted"?f:"none"},[u]),Yn(()=>{const f=r.current,m=a.current;if(m!==e){const g=s.current,x=Pp(f);e?d("MOUNT"):x==="none"||f?.display==="none"?d("UNMOUNT"):d(m&&g!==x?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,d]),Yn(()=>{if(t){let f;const m=t.ownerDocument.defaultView??window,p=x=>{const w=Pp(r.current).includes(CSS.escape(x.animationName));if(x.target===t&&w&&(d("ANIMATION_END"),!a.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",f=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},g=x=>{x.target===t&&(s.current=Pp(r.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{m.clearTimeout(f),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:y.useCallback(f=>{r.current=f?getComputedStyle(f):null,n(f)},[])}}function Pp(e){return e?.animationName||"none"}function VZ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Kg="Tabs",[GZ]=gr(Kg,[Yg]),lB=Yg(),[YZ,HC]=GZ(Kg),cB=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:a,defaultValue:s,orientation:l="horizontal",dir:u,activationMode:d="automatic",...f}=e,m=Fu(u),[p,g]=Ea({prop:r,onChange:a,defaultProp:s??"",caller:Kg});return i.jsx(YZ,{scope:n,baseId:Gn(),value:p,onValueChange:g,orientation:l,dir:m,activationMode:d,children:i.jsx($e.div,{dir:m,"data-orientation":l,...f,ref:t})})});cB.displayName=Kg;var uB="TabsList",dB=y.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...a}=e,s=HC(uB,n),l=lB(n);return i.jsx(sB,{asChild:!0,...l,orientation:s.orientation,dir:s.dir,loop:r,children:i.jsx($e.div,{role:"tablist","aria-orientation":s.orientation,...a,ref:t})})});dB.displayName=uB;var fB="TabsTrigger",hB=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:a=!1,...s}=e,l=HC(fB,n),u=lB(n),d=vB(l.baseId,r),f=gB(l.baseId,r),m=r===l.value;return i.jsx(oB,{asChild:!0,...u,focusable:!a,active:m,children:i.jsx($e.button,{type:"button",role:"tab","aria-selected":m,"aria-controls":f,"data-state":m?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:d,...s,ref:t,onMouseDown:_e(e.onMouseDown,p=>{!a&&p.button===0&&p.ctrlKey===!1?l.onValueChange(r):p.preventDefault()}),onKeyDown:_e(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&l.onValueChange(r)}),onFocus:_e(e.onFocus,()=>{const p=l.activationMode!=="manual";!m&&!a&&p&&l.onValueChange(r)})})})});hB.displayName=fB;var mB="TabsContent",pB=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:a,children:s,...l}=e,u=HC(mB,n),d=vB(u.baseId,r),f=gB(u.baseId,r),m=r===u.value,p=y.useRef(m);return y.useEffect(()=>{const g=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(g)},[]),i.jsx(Bn,{present:a||m,children:({present:g})=>i.jsx($e.div,{"data-state":m?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":d,hidden:!g,id:f,tabIndex:0,...l,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:g&&s})})});pB.displayName=mB;function vB(e,t){return`${e}-trigger-${t}`}function gB(e,t){return`${e}-content-${t}`}var KZ=cB,yB=dB,xB=hB,bB=pB;const dl=KZ,eo=y.forwardRef(({className:e,...t},n)=>i.jsx(yB,{ref:n,className:ce("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...t}));eo.displayName=yB.displayName;const Rt=y.forwardRef(({className:e,...t},n)=>i.jsx(xB,{ref:n,className:ce("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...t}));Rt.displayName=xB.displayName;const sn=y.forwardRef(({className:e,...t},n)=>i.jsx(bB,{ref:n,className:ce("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[state=active]:animate-in data-[state=active]:fade-in data-[state=active]:duration-300",e),...t}));sn.displayName=bB.displayName;function Rf(e,[t,n]){return Math.min(n,Math.max(t,e))}function XZ(e,t){return y.useReducer((n,r)=>t[n][r]??n,e)}var WC="ScrollArea",[wB]=gr(WC),[ZZ,Ta]=wB(WC),jB=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:a,scrollHideDelay:s=600,...l}=e,[u,d]=y.useState(null),[f,m]=y.useState(null),[p,g]=y.useState(null),[x,j]=y.useState(null),[w,b]=y.useState(null),[N,E]=y.useState(0),[O,A]=y.useState(0),[C,k]=y.useState(!1),[T,M]=y.useState(!1),R=Ue(t,$=>d($)),B=Fu(a);return i.jsx(ZZ,{scope:n,type:r,dir:B,scrollHideDelay:s,scrollArea:u,viewport:f,onViewportChange:m,content:p,onContentChange:g,scrollbarX:x,onScrollbarXChange:j,scrollbarXEnabled:C,onScrollbarXEnabledChange:k,scrollbarY:w,onScrollbarYChange:b,scrollbarYEnabled:T,onScrollbarYEnabledChange:M,onCornerWidthChange:E,onCornerHeightChange:A,children:i.jsx($e.div,{dir:B,...l,ref:R,style:{position:"relative","--radix-scroll-area-corner-width":N+"px","--radix-scroll-area-corner-height":O+"px",...e.style}})})});jB.displayName=WC;var SB="ScrollAreaViewport",_B=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,nonce:a,...s}=e,l=Ta(SB,n),u=y.useRef(null),d=Ue(t,u,l.onViewportChange);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),i.jsx($e.div,{"data-radix-scroll-area-viewport":"",...s,ref:d,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...e.style},children:i.jsx("div",{ref:l.onContentChange,style:{minWidth:"100%",display:"table"},children:r})})]})});_B.displayName=SB;var ji="ScrollAreaScrollbar",VC=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=Ta(ji,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:l}=a,u=e.orientation==="horizontal";return y.useEffect(()=>(u?s(!0):l(!0),()=>{u?s(!1):l(!1)}),[u,s,l]),a.type==="hover"?i.jsx(QZ,{...r,ref:t,forceMount:n}):a.type==="scroll"?i.jsx(JZ,{...r,ref:t,forceMount:n}):a.type==="auto"?i.jsx(NB,{...r,ref:t,forceMount:n}):a.type==="always"?i.jsx(GC,{...r,ref:t}):null});VC.displayName=ji;var QZ=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=Ta(ji,e.__scopeScrollArea),[s,l]=y.useState(!1);return y.useEffect(()=>{const u=a.scrollArea;let d=0;if(u){const f=()=>{window.clearTimeout(d),l(!0)},m=()=>{d=window.setTimeout(()=>l(!1),a.scrollHideDelay)};return u.addEventListener("pointerenter",f),u.addEventListener("pointerleave",m),()=>{window.clearTimeout(d),u.removeEventListener("pointerenter",f),u.removeEventListener("pointerleave",m)}}},[a.scrollArea,a.scrollHideDelay]),i.jsx(Bn,{present:n||s,children:i.jsx(NB,{"data-state":s?"visible":"hidden",...r,ref:t})})}),JZ=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=Ta(ji,e.__scopeScrollArea),s=e.orientation==="horizontal",l=Zg(()=>d("SCROLL_END"),100),[u,d]=XZ("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return y.useEffect(()=>{if(u==="idle"){const f=window.setTimeout(()=>d("HIDE"),a.scrollHideDelay);return()=>window.clearTimeout(f)}},[u,a.scrollHideDelay,d]),y.useEffect(()=>{const f=a.viewport,m=s?"scrollLeft":"scrollTop";if(f){let p=f[m];const g=()=>{const x=f[m];p!==x&&(d("SCROLL"),l()),p=x};return f.addEventListener("scroll",g),()=>f.removeEventListener("scroll",g)}},[a.viewport,s,d,l]),i.jsx(Bn,{present:n||u!=="hidden",children:i.jsx(GC,{"data-state":u==="hidden"?"hidden":"visible",...r,ref:t,onPointerEnter:_e(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:_e(e.onPointerLeave,()=>d("POINTER_LEAVE"))})})}),NB=y.forwardRef((e,t)=>{const n=Ta(ji,e.__scopeScrollArea),{forceMount:r,...a}=e,[s,l]=y.useState(!1),u=e.orientation==="horizontal",d=Zg(()=>{if(n.viewport){const f=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,a=Ta(ji,e.__scopeScrollArea),s=y.useRef(null),l=y.useRef(0),[u,d]=y.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),f=TB(u.viewport,u.content),m={...r,sizes:u,onSizesChange:d,hasThumb:f>0&&f<1,onThumbChange:g=>s.current=g,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:g=>l.current=g};function p(g,x){return iQ(g,l.current,u,x)}return n==="horizontal"?i.jsx(eQ,{...m,ref:t,onThumbPositionChange:()=>{if(a.viewport&&s.current){const g=a.viewport.scrollLeft,x=YM(g,u,a.dir);s.current.style.transform=`translate3d(${x}px, 0, 0)`}},onWheelScroll:g=>{a.viewport&&(a.viewport.scrollLeft=g)},onDragScroll:g=>{a.viewport&&(a.viewport.scrollLeft=p(g,a.dir))}}):n==="vertical"?i.jsx(tQ,{...m,ref:t,onThumbPositionChange:()=>{if(a.viewport&&s.current){const g=a.viewport.scrollTop,x=YM(g,u);s.current.style.transform=`translate3d(0, ${x}px, 0)`}},onWheelScroll:g=>{a.viewport&&(a.viewport.scrollTop=g)},onDragScroll:g=>{a.viewport&&(a.viewport.scrollTop=p(g))}}):null}),eQ=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...a}=e,s=Ta(ji,e.__scopeScrollArea),[l,u]=y.useState(),d=y.useRef(null),f=Ue(t,d,s.onScrollbarXChange);return y.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),i.jsx(OB,{"data-orientation":"horizontal",...a,ref:f,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Xg(n)+"px",...e.style},onThumbPointerDown:m=>e.onThumbPointerDown(m.x),onDragScroll:m=>e.onDragScroll(m.x),onWheelScroll:(m,p)=>{if(s.viewport){const g=s.viewport.scrollLeft+m.deltaX;e.onWheelScroll(g),MB(g,p)&&m.preventDefault()}},onResize:()=>{d.current&&s.viewport&&l&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:Cv(l.paddingLeft),paddingEnd:Cv(l.paddingRight)}})}})}),tQ=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...a}=e,s=Ta(ji,e.__scopeScrollArea),[l,u]=y.useState(),d=y.useRef(null),f=Ue(t,d,s.onScrollbarYChange);return y.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),i.jsx(OB,{"data-orientation":"vertical",...a,ref:f,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Xg(n)+"px",...e.style},onThumbPointerDown:m=>e.onThumbPointerDown(m.y),onDragScroll:m=>e.onDragScroll(m.y),onWheelScroll:(m,p)=>{if(s.viewport){const g=s.viewport.scrollTop+m.deltaY;e.onWheelScroll(g),MB(g,p)&&m.preventDefault()}},onResize:()=>{d.current&&s.viewport&&l&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:Cv(l.paddingTop),paddingEnd:Cv(l.paddingBottom)}})}})}),[nQ,CB]=wB(ji),OB=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:a,onThumbChange:s,onThumbPointerUp:l,onThumbPointerDown:u,onThumbPositionChange:d,onDragScroll:f,onWheelScroll:m,onResize:p,...g}=e,x=Ta(ji,n),[j,w]=y.useState(null),b=Ue(t,R=>w(R)),N=y.useRef(null),E=y.useRef(""),O=x.viewport,A=r.content-r.viewport,C=ln(m),k=ln(d),T=Zg(p,10);function M(R){if(N.current){const B=R.clientX-N.current.left,$=R.clientY-N.current.top;f({x:B,y:$})}}return y.useEffect(()=>{const R=B=>{const $=B.target;j?.contains($)&&C(B,A)};return document.addEventListener("wheel",R,{passive:!1}),()=>document.removeEventListener("wheel",R,{passive:!1})},[O,j,A,C]),y.useEffect(k,[r,k]),su(j,T),su(x.content,T),i.jsx(nQ,{scope:n,scrollbar:j,hasThumb:a,onThumbChange:ln(s),onThumbPointerUp:ln(l),onThumbPositionChange:k,onThumbPointerDown:ln(u),children:i.jsx($e.div,{...g,ref:b,style:{position:"absolute",...g.style},onPointerDown:_e(e.onPointerDown,R=>{R.button===0&&(R.target.setPointerCapture(R.pointerId),N.current=j.getBoundingClientRect(),E.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),M(R))}),onPointerMove:_e(e.onPointerMove,M),onPointerUp:_e(e.onPointerUp,R=>{const B=R.target;B.hasPointerCapture(R.pointerId)&&B.releasePointerCapture(R.pointerId),document.body.style.webkitUserSelect=E.current,x.viewport&&(x.viewport.style.scrollBehavior=""),N.current=null})})})}),Nv="ScrollAreaThumb",EB=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=CB(Nv,e.__scopeScrollArea);return i.jsx(Bn,{present:n||a.hasThumb,children:i.jsx(rQ,{ref:t,...r})})}),rQ=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...a}=e,s=Ta(Nv,n),l=CB(Nv,n),{onThumbPositionChange:u}=l,d=Ue(t,p=>l.onThumbChange(p)),f=y.useRef(void 0),m=Zg(()=>{f.current&&(f.current(),f.current=void 0)},100);return y.useEffect(()=>{const p=s.viewport;if(p){const g=()=>{if(m(),!f.current){const x=sQ(p,u);f.current=x,u()}};return u(),p.addEventListener("scroll",g),()=>p.removeEventListener("scroll",g)}},[s.viewport,m,u]),i.jsx($e.div,{"data-state":l.hasThumb?"visible":"hidden",...a,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:_e(e.onPointerDownCapture,p=>{const x=p.target.getBoundingClientRect(),j=p.clientX-x.left,w=p.clientY-x.top;l.onThumbPointerDown({x:j,y:w})}),onPointerUp:_e(e.onPointerUp,l.onThumbPointerUp)})});EB.displayName=Nv;var YC="ScrollAreaCorner",AB=y.forwardRef((e,t)=>{const n=Ta(YC,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?i.jsx(aQ,{...e,ref:t}):null});AB.displayName=YC;var aQ=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,a=Ta(YC,n),[s,l]=y.useState(0),[u,d]=y.useState(0),f=!!(s&&u);return su(a.scrollbarX,()=>{const m=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(m),d(m)}),su(a.scrollbarY,()=>{const m=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(m),l(m)}),f?i.jsx($e.div,{...r,ref:t,style:{width:s,height:u,position:"absolute",right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Cv(e){return e?parseInt(e,10):0}function TB(e,t){const n=e/t;return isNaN(n)?0:n}function Xg(e){const t=TB(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function iQ(e,t,n,r="ltr"){const a=Xg(n),s=a/2,l=t||s,u=a-l,d=n.scrollbar.paddingStart+l,f=n.scrollbar.size-n.scrollbar.paddingEnd-u,m=n.content-n.viewport,p=r==="ltr"?[0,m]:[m*-1,0];return kB([d,f],p)(e)}function YM(e,t,n="ltr"){const r=Xg(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-a,l=t.content-t.viewport,u=s-r,d=n==="ltr"?[0,l]:[l*-1,0],f=Rf(e,d);return kB([0,l],[0,u])(f)}function kB(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function MB(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function a(){const s={left:e.scrollLeft,top:e.scrollTop},l=n.left!==s.left,u=n.top!==s.top;(l||u)&&t(),n=s,r=window.requestAnimationFrame(a)})(),()=>window.cancelAnimationFrame(r)};function Zg(e,t){const n=ln(e),r=y.useRef(0);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),y.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function su(e,t){const n=ln(t);Yn(()=>{let r=0;if(e){const a=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return a.observe(e),()=>{window.cancelAnimationFrame(r),a.unobserve(e)}}},[e,n])}var PB=jB,oQ=_B,lQ=AB;const Wt=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(PB,{ref:r,className:ce("relative overflow-hidden",e),...n,children:[i.jsx(oQ,{className:"h-full w-full rounded-[inherit]",children:t}),i.jsx(RB,{}),i.jsx(lQ,{})]}));Wt.displayName=PB.displayName;const RB=y.forwardRef(({className:e,orientation:t="vertical",...n},r)=>i.jsx(VC,{ref:r,orientation:t,className:ce("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...n,children:i.jsx(EB,{className:"relative flex-1 rounded-full bg-border"})}));RB.displayName=VC.displayName;function KM({className:e,...t}){return i.jsx("div",{className:ce("animate-pulse rounded-md bg-primary/10",e),...t})}function cQ(e,t=[]){let n=[];function r(s,l){const u=y.createContext(l);u.displayName=s+"Context";const d=n.length;n=[...n,l];const f=p=>{const{scope:g,children:x,...j}=p,w=g?.[e]?.[d]||u,b=y.useMemo(()=>j,Object.values(j));return i.jsx(w.Provider,{value:b,children:x})};f.displayName=s+"Provider";function m(p,g){const x=g?.[e]?.[d]||u,j=y.useContext(x);if(j)return j;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[f,m]}const a=()=>{const s=n.map(l=>y.createContext(l));return function(u){const d=u?.[e]||s;return y.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return a.scopeName=e,[r,uQ(a,...t)]}function uQ(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(s){const l=r.reduce((u,{useScope:d,scopeName:f})=>{const p=d(s)[`__scope${f}`];return{...u,...p}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}var dQ=Symbol.for("react.lazy"),Ov=OC[" use ".trim().toString()];function fQ(e){return typeof e=="object"&&e!==null&&"then"in e}function DB(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===dQ&&"_payload"in e&&fQ(e._payload)}function Dh(e){const t=mQ(e),n=y.forwardRef((r,a)=>{let{children:s,...l}=r;DB(s)&&typeof Ov=="function"&&(s=Ov(s._payload));const u=y.Children.toArray(s),d=u.find(vQ);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}var hQ=Dh("Slot");function mQ(e){const t=y.forwardRef((n,r)=>{let{children:a,...s}=n;if(DB(a)&&typeof Ov=="function"&&(a=Ov(a._payload)),y.isValidElement(a)){const l=yQ(a),u=gQ(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var pQ=Symbol("radix.slottable");function vQ(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===pQ}function gQ(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function yQ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var xQ=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],$B=xQ.reduce((e,t)=>{const n=Dh(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),KC="Progress",XC=100,[bQ]=cQ(KC),[wQ,jQ]=bQ(KC),IB=y.forwardRef((e,t)=>{const{__scopeProgress:n,value:r=null,max:a,getValueLabel:s=SQ,...l}=e;(a||a===0)&&!XM(a)&&console.error(_Q(`${a}`,"Progress"));const u=XM(a)?a:XC;r!==null&&!ZM(r,u)&&console.error(NQ(`${r}`,"Progress"));const d=ZM(r,u)?r:null,f=Ev(d)?s(d,u):void 0;return i.jsx(wQ,{scope:n,value:d,max:u,children:i.jsx($B.div,{"aria-valuemax":u,"aria-valuemin":0,"aria-valuenow":Ev(d)?d:void 0,"aria-valuetext":f,role:"progressbar","data-state":zB(d,u),"data-value":d??void 0,"data-max":u,...l,ref:t})})});IB.displayName=KC;var LB="ProgressIndicator",BB=y.forwardRef((e,t)=>{const{__scopeProgress:n,...r}=e,a=jQ(LB,n);return i.jsx($B.div,{"data-state":zB(a.value,a.max),"data-value":a.value??void 0,"data-max":a.max,...r,ref:t})});BB.displayName=LB;function SQ(e,t){return`${Math.round(e/t*100)}%`}function zB(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function Ev(e){return typeof e=="number"}function XM(e){return Ev(e)&&!isNaN(e)&&e>0}function ZM(e,t){return Ev(e)&&!isNaN(e)&&e<=t&&e>=0}function _Q(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${XC}\`.`}function NQ(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: +`):" "+LM(l[0]):"as no adapter specified";throw new tt("There is no suitable adapter to dispatch the request "+u,"ERR_NOT_SUPPORT")}return a}const I5={getAdapter:wX,adapters:FC};function V0(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Bu(null,e)}function BM(e){return V0(e),e.headers=$r.from(e.headers),e.data=W0.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),I5.getAdapter(e.adapter||Mh.adapter,e)(e).then(function(r){return V0(e),r.data=W0.call(e,e.transformResponse,r),r.headers=$r.from(r.headers),r},function(r){return M5(r)||(V0(e),r&&r.response&&(r.response.data=W0.call(e,e.transformResponse,r.response),r.response.headers=$r.from(r.response.headers))),Promise.reject(r)})}const L5="1.13.2",Gg={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Gg[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const zM={};Gg.transitional=function(t,n,r){function a(s,l){return"[Axios v"+L5+"] Transitional option '"+s+"'"+l+(r?". "+r:"")}return(s,l,u)=>{if(t===!1)throw new tt(a(l," has been removed"+(n?" in "+n:"")),tt.ERR_DEPRECATED);return n&&!zM[l]&&(zM[l]=!0,console.warn(a(l," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,l,u):!0}};Gg.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function jX(e,t,n){if(typeof e!="object")throw new tt("options must be an object",tt.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let a=r.length;for(;a-- >0;){const s=r[a],l=t[s];if(l){const u=e[s],d=u===void 0||l(u,s,e);if(d!==!0)throw new tt("option "+s+" must be "+d,tt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new tt("Unknown option "+s,tt.ERR_BAD_OPTION)}}const lv={assertOptions:jX,validators:Gg},ri=lv.validators;let rl=class{constructor(t){this.defaults=t||{},this.interceptors={request:new EM,response:new EM}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let a={};Error.captureStackTrace?Error.captureStackTrace(a):a=new Error;const s=a.stack?a.stack.replace(/^.+\n/,""):"";try{r.stack?s&&!String(r.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(r.stack+=` +`+s):r.stack=s}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=ul(this.defaults,n);const{transitional:r,paramsSerializer:a,headers:s}=n;r!==void 0&&lv.assertOptions(r,{silentJSONParsing:ri.transitional(ri.boolean),forcedJSONParsing:ri.transitional(ri.boolean),clarifyTimeoutError:ri.transitional(ri.boolean)},!1),a!=null&&(he.isFunction(a)?n.paramsSerializer={serialize:a}:lv.assertOptions(a,{encode:ri.function,serialize:ri.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),lv.assertOptions(n,{baseUrl:ri.spelling("baseURL"),withXsrfToken:ri.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let l=s&&he.merge(s.common,s[n.method]);s&&he.forEach(["delete","get","head","post","put","patch","common"],j=>{delete s[j]}),n.headers=$r.concat(l,s);const u=[];let d=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(n)===!1||(d=d&&w.synchronous,u.unshift(w.fulfilled,w.rejected))});const f=[];this.interceptors.response.forEach(function(w){f.push(w.fulfilled,w.rejected)});let m,p=0,g;if(!d){const j=[BM.bind(this),void 0];for(j.unshift(...u),j.push(...f),g=j.length,m=Promise.resolve(n);p{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](a);r._listeners=null}),this.promise.then=a=>{let s;const l=new Promise(u=>{r.subscribe(u),s=u}).then(a);return l.cancel=function(){r.unsubscribe(s)},l},t(function(s,l,u){r.reason||(r.reason=new Bu(s,l,u),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new B5(function(a){t=a}),cancel:t}}};function _X(e){return function(n){return e.apply(null,n)}}function NX(e){return he.isObject(e)&&e.isAxiosError===!0}const N_={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(N_).forEach(([e,t])=>{N_[t]=e});function z5(e){const t=new rl(e),n=g5(rl.prototype.request,t);return he.extend(n,rl.prototype,t,{allOwnKeys:!0}),he.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return z5(ul(e,a))},n}const vn=z5(Mh);vn.Axios=rl;vn.CanceledError=Bu;vn.CancelToken=SX;vn.isCancel=M5;vn.VERSION=L5;vn.toFormData=Vg;vn.AxiosError=tt;vn.Cancel=vn.CanceledError;vn.all=function(t){return Promise.all(t)};vn.spread=_X;vn.isAxiosError=NX;vn.mergeConfig=ul;vn.AxiosHeaders=$r;vn.formToJSON=e=>k5(he.isHTMLForm(e)?new FormData(e):e);vn.getAdapter=I5.getAdapter;vn.HttpStatusCode=N_;vn.default=vn;const{Axios:CAe,AxiosError:OAe,CanceledError:EAe,isCancel:AAe,CancelToken:TAe,VERSION:kAe,all:MAe,Cancel:PAe,isAxiosError:RAe,spread:DAe,toFormData:$Ae,AxiosHeaders:IAe,HttpStatusCode:LAe,formToJSON:BAe,getAdapter:zAe,mergeConfig:qAe}=vn;function q5(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t{const n=new Array(e.length+t.length);for(let r=0;r({classGroupId:e,validator:t}),F5=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),_v="-",qM=[],EX="arbitrary..",AX=e=>{const t=kX(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return TX(l);const u=l.split(_v),d=u[0]===""&&u.length>1?1:0;return U5(u,d,t)},getConflictingClassGroupIds:(l,u)=>{if(u){const d=r[l],f=n[l];return d?f?CX(f,d):d:f||qM}return n[l]||qM}}},U5=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const a=e[t],s=n.nextPart.get(a);if(s){const f=U5(e,t+1,s);if(f)return f}const l=n.validators;if(l===null)return;const u=t===0?e.join(_v):e.slice(t).join(_v),d=l.length;for(let f=0;fe.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?EX+r:void 0})(),kX=e=>{const{theme:t,classGroups:n}=e;return MX(n,t)},MX=(e,t)=>{const n=F5();for(const r in e){const a=e[r];UC(a,n,r,t)}return n},UC=(e,t,n,r)=>{const a=e.length;for(let s=0;s{if(typeof e=="string"){RX(e,t,n);return}if(typeof e=="function"){DX(e,t,n,r);return}$X(e,t,n,r)},RX=(e,t,n)=>{const r=e===""?t:H5(t,e);r.classGroupId=n},DX=(e,t,n,r)=>{if(IX(e)){UC(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(OX(n,e))},$X=(e,t,n,r)=>{const a=Object.entries(e),s=a.length;for(let l=0;l{let n=e;const r=t.split(_v),a=r.length;for(let s=0;s"isThemeGetter"in e&&e.isThemeGetter===!0,LX=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const a=(s,l)=>{n[s]=l,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(s){let l=n[s];if(l!==void 0)return l;if((l=r[s])!==void 0)return a(s,l),l},set(s,l){s in n?n[s]=l:a(s,l)}}},C_="!",FM=":",BX=[],UM=(e,t,n,r,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:a}),zX=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=a=>{const s=[];let l=0,u=0,d=0,f;const m=a.length;for(let w=0;wd?f-d:void 0;return UM(s,x,g,j)};if(t){const a=t+FM,s=r;r=l=>l.startsWith(a)?s(l.slice(a.length)):UM(BX,!1,l,void 0,!0)}if(n){const a=r;r=s=>n({className:s,parseClassName:a})}return r},qX=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let a=[];for(let s=0;s0&&(a.sort(),r.push(...a),a=[]),r.push(l)):a.push(l)}return a.length>0&&(a.sort(),r.push(...a)),r}},FX=e=>({cache:LX(e.cacheSize),parseClassName:zX(e),sortModifiers:qX(e),...AX(e)}),UX=/\s+/,HX=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:a,sortModifiers:s}=t,l=[],u=e.trim().split(UX);let d="";for(let f=u.length-1;f>=0;f-=1){const m=u[f],{isExternal:p,modifiers:g,hasImportantModifier:x,baseClassName:j,maybePostfixModifierPosition:w}=n(m);if(p){d=m+(d.length>0?" "+d:d);continue}let b=!!w,N=r(b?j.substring(0,w):j);if(!N){if(!b){d=m+(d.length>0?" "+d:d);continue}if(N=r(j),!N){d=m+(d.length>0?" "+d:d);continue}b=!1}const E=g.length===0?"":g.length===1?g[0]:s(g).join(":"),O=x?E+C_:E,A=O+N;if(l.indexOf(A)>-1)continue;l.push(A);const C=a(N,b);for(let k=0;k0?" "+d:d)}return d},WX=(...e)=>{let t=0,n,r,a="";for(;t{if(typeof e=="string")return e;let t,n="";for(let r=0;r{let n,r,a,s;const l=d=>{const f=t.reduce((m,p)=>p(m),e());return n=FX(f),r=n.cache.get,a=n.cache.set,s=u,u(d)},u=d=>{const f=r(d);if(f)return f;const m=HX(d,n);return a(d,m),m};return s=l,(...d)=>s(WX(...d))},GX=[],Rn=e=>{const t=n=>n[e]||GX;return t.isThemeGetter=!0,t},V5=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,G5=/^\((?:(\w[\w-]*):)?(.+)\)$/i,YX=/^\d+\/\d+$/,KX=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,XX=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ZX=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,QX=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,JX=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,_c=e=>YX.test(e),ot=e=>!!e&&!Number.isNaN(Number(e)),qs=e=>!!e&&Number.isInteger(Number(e)),G0=e=>e.endsWith("%")&&ot(e.slice(0,-1)),Wi=e=>KX.test(e),eZ=()=>!0,tZ=e=>XX.test(e)&&!ZX.test(e),Y5=()=>!1,nZ=e=>QX.test(e),rZ=e=>JX.test(e),aZ=e=>!Pe(e)&&!Re(e),iZ=e=>zu(e,Z5,Y5),Pe=e=>V5.test(e),zo=e=>zu(e,Q5,tZ),Y0=e=>zu(e,uZ,ot),HM=e=>zu(e,K5,Y5),sZ=e=>zu(e,X5,rZ),kp=e=>zu(e,J5,nZ),Re=e=>G5.test(e),ef=e=>qu(e,Q5),oZ=e=>qu(e,dZ),WM=e=>qu(e,K5),lZ=e=>qu(e,Z5),cZ=e=>qu(e,X5),Mp=e=>qu(e,J5,!0),zu=(e,t,n)=>{const r=V5.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},qu=(e,t,n=!1)=>{const r=G5.exec(e);return r?r[1]?t(r[1]):n:!1},K5=e=>e==="position"||e==="percentage",X5=e=>e==="image"||e==="url",Z5=e=>e==="length"||e==="size"||e==="bg-size",Q5=e=>e==="length",uZ=e=>e==="number",dZ=e=>e==="family-name",J5=e=>e==="shadow",fZ=()=>{const e=Rn("color"),t=Rn("font"),n=Rn("text"),r=Rn("font-weight"),a=Rn("tracking"),s=Rn("leading"),l=Rn("breakpoint"),u=Rn("container"),d=Rn("spacing"),f=Rn("radius"),m=Rn("shadow"),p=Rn("inset-shadow"),g=Rn("text-shadow"),x=Rn("drop-shadow"),j=Rn("blur"),w=Rn("perspective"),b=Rn("aspect"),N=Rn("ease"),E=Rn("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],A=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],C=()=>[...A(),Re,Pe],k=()=>["auto","hidden","clip","visible","scroll"],T=()=>["auto","contain","none"],M=()=>[Re,Pe,d],R=()=>[_c,"full","auto",...M()],B=()=>[qs,"none","subgrid",Re,Pe],$=()=>["auto",{span:["full",qs,Re,Pe]},qs,Re,Pe],H=()=>[qs,"auto",Re,Pe],V=()=>["auto","min","max","fr",Re,Pe],q=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],G=()=>["start","end","center","stretch","center-safe","end-safe"],L=()=>["auto",...M()],D=()=>[_c,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...M()],U=()=>[e,Re,Pe],K=()=>[...A(),WM,HM,{position:[Re,Pe]}],J=()=>["no-repeat",{repeat:["","x","y","space","round"]}],I=()=>["auto","cover","contain",lZ,iZ,{size:[Re,Pe]}],z=()=>[G0,ef,zo],Y=()=>["","none","full",f,Re,Pe],te=()=>["",ot,ef,zo],ae=()=>["solid","dashed","dotted","double"],ge=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ee=()=>[ot,G0,WM,HM],Se=()=>["","none",j,Re,Pe],re=()=>["none",ot,Re,Pe],we=()=>["none",ot,Re,Pe],je=()=>[ot,Re,Pe],fe=()=>[_c,"full",...M()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Wi],breakpoint:[Wi],color:[eZ],container:[Wi],"drop-shadow":[Wi],ease:["in","out","in-out"],font:[aZ],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Wi],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Wi],shadow:[Wi],spacing:["px",ot],text:[Wi],"text-shadow":[Wi],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",_c,Pe,Re,b]}],container:["container"],columns:[{columns:[ot,Pe,Re,u]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:C()}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:R()}],"inset-x":[{"inset-x":R()}],"inset-y":[{"inset-y":R()}],start:[{start:R()}],end:[{end:R()}],top:[{top:R()}],right:[{right:R()}],bottom:[{bottom:R()}],left:[{left:R()}],visibility:["visible","invisible","collapse"],z:[{z:[qs,"auto",Re,Pe]}],basis:[{basis:[_c,"full","auto",u,...M()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ot,_c,"auto","initial","none",Pe]}],grow:[{grow:["",ot,Re,Pe]}],shrink:[{shrink:["",ot,Re,Pe]}],order:[{order:[qs,"first","last","none",Re,Pe]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:$()}],"col-start":[{"col-start":H()}],"col-end":[{"col-end":H()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:$()}],"row-start":[{"row-start":H()}],"row-end":[{"row-end":H()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":V()}],"auto-rows":[{"auto-rows":V()}],gap:[{gap:M()}],"gap-x":[{"gap-x":M()}],"gap-y":[{"gap-y":M()}],"justify-content":[{justify:[...q(),"normal"]}],"justify-items":[{"justify-items":[...G(),"normal"]}],"justify-self":[{"justify-self":["auto",...G()]}],"align-content":[{content:["normal",...q()]}],"align-items":[{items:[...G(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...G(),{baseline:["","last"]}]}],"place-content":[{"place-content":q()}],"place-items":[{"place-items":[...G(),"baseline"]}],"place-self":[{"place-self":["auto",...G()]}],p:[{p:M()}],px:[{px:M()}],py:[{py:M()}],ps:[{ps:M()}],pe:[{pe:M()}],pt:[{pt:M()}],pr:[{pr:M()}],pb:[{pb:M()}],pl:[{pl:M()}],m:[{m:L()}],mx:[{mx:L()}],my:[{my:L()}],ms:[{ms:L()}],me:[{me:L()}],mt:[{mt:L()}],mr:[{mr:L()}],mb:[{mb:L()}],ml:[{ml:L()}],"space-x":[{"space-x":M()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":M()}],"space-y-reverse":["space-y-reverse"],size:[{size:D()}],w:[{w:[u,"screen",...D()]}],"min-w":[{"min-w":[u,"screen","none",...D()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[l]},...D()]}],h:[{h:["screen","lh",...D()]}],"min-h":[{"min-h":["screen","lh","none",...D()]}],"max-h":[{"max-h":["screen","lh",...D()]}],"font-size":[{text:["base",n,ef,zo]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Re,Y0]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",G0,Pe]}],"font-family":[{font:[oZ,Pe,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,Re,Pe]}],"line-clamp":[{"line-clamp":[ot,"none",Re,Y0]}],leading:[{leading:[s,...M()]}],"list-image":[{"list-image":["none",Re,Pe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Re,Pe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:U()}],"text-color":[{text:U()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ae(),"wavy"]}],"text-decoration-thickness":[{decoration:[ot,"from-font","auto",Re,zo]}],"text-decoration-color":[{decoration:U()}],"underline-offset":[{"underline-offset":[ot,"auto",Re,Pe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:M()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Re,Pe]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Re,Pe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:K()}],"bg-repeat":[{bg:J()}],"bg-size":[{bg:I()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},qs,Re,Pe],radial:["",Re,Pe],conic:[qs,Re,Pe]},cZ,sZ]}],"bg-color":[{bg:U()}],"gradient-from-pos":[{from:z()}],"gradient-via-pos":[{via:z()}],"gradient-to-pos":[{to:z()}],"gradient-from":[{from:U()}],"gradient-via":[{via:U()}],"gradient-to":[{to:U()}],rounded:[{rounded:Y()}],"rounded-s":[{"rounded-s":Y()}],"rounded-e":[{"rounded-e":Y()}],"rounded-t":[{"rounded-t":Y()}],"rounded-r":[{"rounded-r":Y()}],"rounded-b":[{"rounded-b":Y()}],"rounded-l":[{"rounded-l":Y()}],"rounded-ss":[{"rounded-ss":Y()}],"rounded-se":[{"rounded-se":Y()}],"rounded-ee":[{"rounded-ee":Y()}],"rounded-es":[{"rounded-es":Y()}],"rounded-tl":[{"rounded-tl":Y()}],"rounded-tr":[{"rounded-tr":Y()}],"rounded-br":[{"rounded-br":Y()}],"rounded-bl":[{"rounded-bl":Y()}],"border-w":[{border:te()}],"border-w-x":[{"border-x":te()}],"border-w-y":[{"border-y":te()}],"border-w-s":[{"border-s":te()}],"border-w-e":[{"border-e":te()}],"border-w-t":[{"border-t":te()}],"border-w-r":[{"border-r":te()}],"border-w-b":[{"border-b":te()}],"border-w-l":[{"border-l":te()}],"divide-x":[{"divide-x":te()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":te()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ae(),"hidden","none"]}],"divide-style":[{divide:[...ae(),"hidden","none"]}],"border-color":[{border:U()}],"border-color-x":[{"border-x":U()}],"border-color-y":[{"border-y":U()}],"border-color-s":[{"border-s":U()}],"border-color-e":[{"border-e":U()}],"border-color-t":[{"border-t":U()}],"border-color-r":[{"border-r":U()}],"border-color-b":[{"border-b":U()}],"border-color-l":[{"border-l":U()}],"divide-color":[{divide:U()}],"outline-style":[{outline:[...ae(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ot,Re,Pe]}],"outline-w":[{outline:["",ot,ef,zo]}],"outline-color":[{outline:U()}],shadow:[{shadow:["","none",m,Mp,kp]}],"shadow-color":[{shadow:U()}],"inset-shadow":[{"inset-shadow":["none",p,Mp,kp]}],"inset-shadow-color":[{"inset-shadow":U()}],"ring-w":[{ring:te()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:U()}],"ring-offset-w":[{"ring-offset":[ot,zo]}],"ring-offset-color":[{"ring-offset":U()}],"inset-ring-w":[{"inset-ring":te()}],"inset-ring-color":[{"inset-ring":U()}],"text-shadow":[{"text-shadow":["none",g,Mp,kp]}],"text-shadow-color":[{"text-shadow":U()}],opacity:[{opacity:[ot,Re,Pe]}],"mix-blend":[{"mix-blend":[...ge(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ge()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ot]}],"mask-image-linear-from-pos":[{"mask-linear-from":ee()}],"mask-image-linear-to-pos":[{"mask-linear-to":ee()}],"mask-image-linear-from-color":[{"mask-linear-from":U()}],"mask-image-linear-to-color":[{"mask-linear-to":U()}],"mask-image-t-from-pos":[{"mask-t-from":ee()}],"mask-image-t-to-pos":[{"mask-t-to":ee()}],"mask-image-t-from-color":[{"mask-t-from":U()}],"mask-image-t-to-color":[{"mask-t-to":U()}],"mask-image-r-from-pos":[{"mask-r-from":ee()}],"mask-image-r-to-pos":[{"mask-r-to":ee()}],"mask-image-r-from-color":[{"mask-r-from":U()}],"mask-image-r-to-color":[{"mask-r-to":U()}],"mask-image-b-from-pos":[{"mask-b-from":ee()}],"mask-image-b-to-pos":[{"mask-b-to":ee()}],"mask-image-b-from-color":[{"mask-b-from":U()}],"mask-image-b-to-color":[{"mask-b-to":U()}],"mask-image-l-from-pos":[{"mask-l-from":ee()}],"mask-image-l-to-pos":[{"mask-l-to":ee()}],"mask-image-l-from-color":[{"mask-l-from":U()}],"mask-image-l-to-color":[{"mask-l-to":U()}],"mask-image-x-from-pos":[{"mask-x-from":ee()}],"mask-image-x-to-pos":[{"mask-x-to":ee()}],"mask-image-x-from-color":[{"mask-x-from":U()}],"mask-image-x-to-color":[{"mask-x-to":U()}],"mask-image-y-from-pos":[{"mask-y-from":ee()}],"mask-image-y-to-pos":[{"mask-y-to":ee()}],"mask-image-y-from-color":[{"mask-y-from":U()}],"mask-image-y-to-color":[{"mask-y-to":U()}],"mask-image-radial":[{"mask-radial":[Re,Pe]}],"mask-image-radial-from-pos":[{"mask-radial-from":ee()}],"mask-image-radial-to-pos":[{"mask-radial-to":ee()}],"mask-image-radial-from-color":[{"mask-radial-from":U()}],"mask-image-radial-to-color":[{"mask-radial-to":U()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":A()}],"mask-image-conic-pos":[{"mask-conic":[ot]}],"mask-image-conic-from-pos":[{"mask-conic-from":ee()}],"mask-image-conic-to-pos":[{"mask-conic-to":ee()}],"mask-image-conic-from-color":[{"mask-conic-from":U()}],"mask-image-conic-to-color":[{"mask-conic-to":U()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:K()}],"mask-repeat":[{mask:J()}],"mask-size":[{mask:I()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Re,Pe]}],filter:[{filter:["","none",Re,Pe]}],blur:[{blur:Se()}],brightness:[{brightness:[ot,Re,Pe]}],contrast:[{contrast:[ot,Re,Pe]}],"drop-shadow":[{"drop-shadow":["","none",x,Mp,kp]}],"drop-shadow-color":[{"drop-shadow":U()}],grayscale:[{grayscale:["",ot,Re,Pe]}],"hue-rotate":[{"hue-rotate":[ot,Re,Pe]}],invert:[{invert:["",ot,Re,Pe]}],saturate:[{saturate:[ot,Re,Pe]}],sepia:[{sepia:["",ot,Re,Pe]}],"backdrop-filter":[{"backdrop-filter":["","none",Re,Pe]}],"backdrop-blur":[{"backdrop-blur":Se()}],"backdrop-brightness":[{"backdrop-brightness":[ot,Re,Pe]}],"backdrop-contrast":[{"backdrop-contrast":[ot,Re,Pe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ot,Re,Pe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ot,Re,Pe]}],"backdrop-invert":[{"backdrop-invert":["",ot,Re,Pe]}],"backdrop-opacity":[{"backdrop-opacity":[ot,Re,Pe]}],"backdrop-saturate":[{"backdrop-saturate":[ot,Re,Pe]}],"backdrop-sepia":[{"backdrop-sepia":["",ot,Re,Pe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":M()}],"border-spacing-x":[{"border-spacing-x":M()}],"border-spacing-y":[{"border-spacing-y":M()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Re,Pe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ot,"initial",Re,Pe]}],ease:[{ease:["linear","initial",N,Re,Pe]}],delay:[{delay:[ot,Re,Pe]}],animate:[{animate:["none",E,Re,Pe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,Re,Pe]}],"perspective-origin":[{"perspective-origin":C()}],rotate:[{rotate:re()}],"rotate-x":[{"rotate-x":re()}],"rotate-y":[{"rotate-y":re()}],"rotate-z":[{"rotate-z":re()}],scale:[{scale:we()}],"scale-x":[{"scale-x":we()}],"scale-y":[{"scale-y":we()}],"scale-z":[{"scale-z":we()}],"scale-3d":["scale-3d"],skew:[{skew:je()}],"skew-x":[{"skew-x":je()}],"skew-y":[{"skew-y":je()}],transform:[{transform:[Re,Pe,"","none","gpu","cpu"]}],"transform-origin":[{origin:C()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:fe()}],"translate-x":[{"translate-x":fe()}],"translate-y":[{"translate-y":fe()}],"translate-z":[{"translate-z":fe()}],"translate-none":["translate-none"],accent:[{accent:U()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:U()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Re,Pe]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":M()}],"scroll-mx":[{"scroll-mx":M()}],"scroll-my":[{"scroll-my":M()}],"scroll-ms":[{"scroll-ms":M()}],"scroll-me":[{"scroll-me":M()}],"scroll-mt":[{"scroll-mt":M()}],"scroll-mr":[{"scroll-mr":M()}],"scroll-mb":[{"scroll-mb":M()}],"scroll-ml":[{"scroll-ml":M()}],"scroll-p":[{"scroll-p":M()}],"scroll-px":[{"scroll-px":M()}],"scroll-py":[{"scroll-py":M()}],"scroll-ps":[{"scroll-ps":M()}],"scroll-pe":[{"scroll-pe":M()}],"scroll-pt":[{"scroll-pt":M()}],"scroll-pr":[{"scroll-pr":M()}],"scroll-pb":[{"scroll-pb":M()}],"scroll-pl":[{"scroll-pl":M()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Re,Pe]}],fill:[{fill:["none",...U()]}],"stroke-w":[{stroke:[ot,ef,zo,Y0]}],stroke:[{stroke:["none",...U()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},hZ=VX(fZ);function ce(...e){return hZ(Je(e))}const Xe=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("rounded-xl border bg-card text-card-foreground shadow",e),...t}));Xe.displayName="Card";const pt=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("flex flex-col space-y-1.5 p-6",e),...t}));pt.displayName="CardHeader";const vt=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("font-semibold leading-none tracking-tight",e),...t}));vt.displayName="CardTitle";const Wn=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("text-sm text-muted-foreground",e),...t}));Wn.displayName="CardDescription";const Ct=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("p-6 pt-0",e),...t}));Ct.displayName="CardContent";const eB=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("flex items-center p-6 pt-0",e),...t}));eB.displayName="CardFooter";function _e(e,t,{checkForDefaultPrevented:n=!0}={}){return function(a){if(e?.(a),n===!1||!a.defaultPrevented)return t?.(a)}}function mZ(e,t){const n=y.createContext(t),r=s=>{const{children:l,...u}=s,d=y.useMemo(()=>u,Object.values(u));return i.jsx(n.Provider,{value:d,children:l})};r.displayName=e+"Provider";function a(s){const l=y.useContext(n);if(l)return l;if(t!==void 0)return t;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[r,a]}function gr(e,t=[]){let n=[];function r(s,l){const u=y.createContext(l),d=n.length;n=[...n,l];const f=p=>{const{scope:g,children:x,...j}=p,w=g?.[e]?.[d]||u,b=y.useMemo(()=>j,Object.values(j));return i.jsx(w.Provider,{value:b,children:x})};f.displayName=s+"Provider";function m(p,g){const x=g?.[e]?.[d]||u,j=y.useContext(x);if(j)return j;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[f,m]}const a=()=>{const s=n.map(l=>y.createContext(l));return function(u){const d=u?.[e]||s;return y.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return a.scopeName=e,[r,pZ(a,...t)]}function pZ(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(s){const l=r.reduce((u,{useScope:d,scopeName:f})=>{const p=d(s)[`__scope${f}`];return{...u,...p}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}function VM(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ir(...e){return t=>{let n=!1;const r=e.map(a=>{const s=VM(a,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let a=0;a{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(yZ);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function vZ(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=bZ(a),u=xZ(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var gZ=Symbol("radix.slottable");function yZ(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===gZ}function xZ(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function bZ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Ph(e){const t=e+"CollectionProvider",[n,r]=gr(t),[a,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),l=w=>{const{scope:b,children:N}=w,E=W.useRef(null),O=W.useRef(new Map).current;return i.jsx(a,{scope:b,itemMap:O,collectionRef:E,children:N})};l.displayName=t;const u=e+"CollectionSlot",d=GM(u),f=W.forwardRef((w,b)=>{const{scope:N,children:E}=w,O=s(u,N),A=Ue(b,O.collectionRef);return i.jsx(d,{ref:A,children:E})});f.displayName=u;const m=e+"CollectionItemSlot",p="data-radix-collection-item",g=GM(m),x=W.forwardRef((w,b)=>{const{scope:N,children:E,...O}=w,A=W.useRef(null),C=Ue(b,A),k=s(m,N);return W.useEffect(()=>(k.itemMap.set(A,{ref:A,...O}),()=>void k.itemMap.delete(A))),i.jsx(g,{[p]:"",ref:C,children:E})});x.displayName=m;function j(w){const b=s(e+"CollectionConsumer",w);return W.useCallback(()=>{const E=b.collectionRef.current;if(!E)return[];const O=Array.from(E.querySelectorAll(`[${p}]`));return Array.from(b.itemMap.values()).sort((k,T)=>O.indexOf(k.ref.current)-O.indexOf(T.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:l,Slot:f,ItemSlot:x},j,r]}var Yn=globalThis?.document?y.useLayoutEffect:()=>{},wZ=EC[" useId ".trim().toString()]||(()=>{}),jZ=0;function Gn(e){const[t,n]=y.useState(wZ());return Yn(()=>{n(r=>r??String(jZ++))},[e]),t?`radix-${t}`:""}function SZ(e){const t=_Z(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(CZ);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function _Z(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=EZ(a),u=OZ(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var NZ=Symbol("radix.slottable");function CZ(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===NZ}function OZ(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function EZ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var AZ=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],$e=AZ.reduce((e,t)=>{const n=SZ(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function HC(e,t){e&&Sl.flushSync(()=>e.dispatchEvent(t))}function ln(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>(...n)=>t.current?.(...n),[])}var TZ=EC[" useInsertionEffect ".trim().toString()]||Yn;function Ea({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){const[a,s,l]=kZ({defaultProp:t,onChange:n}),u=e!==void 0,d=u?e:a;{const m=y.useRef(e!==void 0);y.useEffect(()=>{const p=m.current;p!==u&&console.warn(`${r} is changing from ${p?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),m.current=u},[u,r])}const f=y.useCallback(m=>{if(u){const p=MZ(m)?m(e):m;p!==e&&l.current?.(p)}else s(m)},[u,e,s,l]);return[d,f]}function kZ({defaultProp:e,onChange:t}){const[n,r]=y.useState(e),a=y.useRef(n),s=y.useRef(t);return TZ(()=>{s.current=t},[t]),y.useEffect(()=>{a.current!==n&&(s.current?.(n),a.current=n)},[n,a]),[n,r,s]}function MZ(e){return typeof e=="function"}var PZ=y.createContext(void 0);function Fu(e){const t=y.useContext(PZ);return e||t||"ltr"}var K0="rovingFocusGroup.onEntryFocus",RZ={bubbles:!1,cancelable:!0},Rh="RovingFocusGroup",[O_,tB,DZ]=Ph(Rh),[$Z,Yg]=gr(Rh,[DZ]),[IZ,LZ]=$Z(Rh),nB=y.forwardRef((e,t)=>i.jsx(O_.Provider,{scope:e.__scopeRovingFocusGroup,children:i.jsx(O_.Slot,{scope:e.__scopeRovingFocusGroup,children:i.jsx(BZ,{...e,ref:t})})}));nB.displayName=Rh;var BZ=y.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:a=!1,dir:s,currentTabStopId:l,defaultCurrentTabStopId:u,onCurrentTabStopIdChange:d,onEntryFocus:f,preventScrollOnEntryFocus:m=!1,...p}=e,g=y.useRef(null),x=Ue(t,g),j=Fu(s),[w,b]=Ea({prop:l,defaultProp:u??null,onChange:d,caller:Rh}),[N,E]=y.useState(!1),O=ln(f),A=tB(n),C=y.useRef(!1),[k,T]=y.useState(0);return y.useEffect(()=>{const M=g.current;if(M)return M.addEventListener(K0,O),()=>M.removeEventListener(K0,O)},[O]),i.jsx(IZ,{scope:n,orientation:r,dir:j,loop:a,currentTabStopId:w,onItemFocus:y.useCallback(M=>b(M),[b]),onItemShiftTab:y.useCallback(()=>E(!0),[]),onFocusableItemAdd:y.useCallback(()=>T(M=>M+1),[]),onFocusableItemRemove:y.useCallback(()=>T(M=>M-1),[]),children:i.jsx($e.div,{tabIndex:N||k===0?-1:0,"data-orientation":r,...p,ref:x,style:{outline:"none",...e.style},onMouseDown:_e(e.onMouseDown,()=>{C.current=!0}),onFocus:_e(e.onFocus,M=>{const R=!C.current;if(M.target===M.currentTarget&&R&&!N){const B=new CustomEvent(K0,RZ);if(M.currentTarget.dispatchEvent(B),!B.defaultPrevented){const $=A().filter(L=>L.focusable),H=$.find(L=>L.active),V=$.find(L=>L.id===w),G=[H,V,...$].filter(Boolean).map(L=>L.ref.current);iB(G,m)}}C.current=!1}),onBlur:_e(e.onBlur,()=>E(!1))})})}),rB="RovingFocusGroupItem",aB=y.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:a=!1,tabStopId:s,children:l,...u}=e,d=Gn(),f=s||d,m=LZ(rB,n),p=m.currentTabStopId===f,g=tB(n),{onFocusableItemAdd:x,onFocusableItemRemove:j,currentTabStopId:w}=m;return y.useEffect(()=>{if(r)return x(),()=>j()},[r,x,j]),i.jsx(O_.ItemSlot,{scope:n,id:f,focusable:r,active:a,children:i.jsx($e.span,{tabIndex:p?0:-1,"data-orientation":m.orientation,...u,ref:t,onMouseDown:_e(e.onMouseDown,b=>{r?m.onItemFocus(f):b.preventDefault()}),onFocus:_e(e.onFocus,()=>m.onItemFocus(f)),onKeyDown:_e(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){m.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const N=FZ(b,m.orientation,m.dir);if(N!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let O=g().filter(A=>A.focusable).map(A=>A.ref.current);if(N==="last")O.reverse();else if(N==="prev"||N==="next"){N==="prev"&&O.reverse();const A=O.indexOf(b.currentTarget);O=m.loop?UZ(O,A+1):O.slice(A+1)}setTimeout(()=>iB(O))}}),children:typeof l=="function"?l({isCurrentTabStop:p,hasTabStop:w!=null}):l})})});aB.displayName=rB;var zZ={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function qZ(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function FZ(e,t,n){const r=qZ(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return zZ[r]}function iB(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function UZ(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var sB=nB,oB=aB;function HZ(e,t){return y.useReducer((n,r)=>t[n][r]??n,e)}var Bn=e=>{const{present:t,children:n}=e,r=WZ(t),a=typeof n=="function"?n({present:r.isPresent}):y.Children.only(n),s=Ue(r.ref,VZ(a));return typeof n=="function"||r.isPresent?y.cloneElement(a,{ref:s}):null};Bn.displayName="Presence";function WZ(e){const[t,n]=y.useState(),r=y.useRef(null),a=y.useRef(e),s=y.useRef("none"),l=e?"mounted":"unmounted",[u,d]=HZ(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const f=Pp(r.current);s.current=u==="mounted"?f:"none"},[u]),Yn(()=>{const f=r.current,m=a.current;if(m!==e){const g=s.current,x=Pp(f);e?d("MOUNT"):x==="none"||f?.display==="none"?d("UNMOUNT"):d(m&&g!==x?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,d]),Yn(()=>{if(t){let f;const m=t.ownerDocument.defaultView??window,p=x=>{const w=Pp(r.current).includes(CSS.escape(x.animationName));if(x.target===t&&w&&(d("ANIMATION_END"),!a.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",f=m.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},g=x=>{x.target===t&&(s.current=Pp(r.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{m.clearTimeout(f),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else d("ANIMATION_END")},[t,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:y.useCallback(f=>{r.current=f?getComputedStyle(f):null,n(f)},[])}}function Pp(e){return e?.animationName||"none"}function VZ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Kg="Tabs",[GZ]=gr(Kg,[Yg]),lB=Yg(),[YZ,WC]=GZ(Kg),cB=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:a,defaultValue:s,orientation:l="horizontal",dir:u,activationMode:d="automatic",...f}=e,m=Fu(u),[p,g]=Ea({prop:r,onChange:a,defaultProp:s??"",caller:Kg});return i.jsx(YZ,{scope:n,baseId:Gn(),value:p,onValueChange:g,orientation:l,dir:m,activationMode:d,children:i.jsx($e.div,{dir:m,"data-orientation":l,...f,ref:t})})});cB.displayName=Kg;var uB="TabsList",dB=y.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...a}=e,s=WC(uB,n),l=lB(n);return i.jsx(sB,{asChild:!0,...l,orientation:s.orientation,dir:s.dir,loop:r,children:i.jsx($e.div,{role:"tablist","aria-orientation":s.orientation,...a,ref:t})})});dB.displayName=uB;var fB="TabsTrigger",hB=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:a=!1,...s}=e,l=WC(fB,n),u=lB(n),d=vB(l.baseId,r),f=gB(l.baseId,r),m=r===l.value;return i.jsx(oB,{asChild:!0,...u,focusable:!a,active:m,children:i.jsx($e.button,{type:"button",role:"tab","aria-selected":m,"aria-controls":f,"data-state":m?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:d,...s,ref:t,onMouseDown:_e(e.onMouseDown,p=>{!a&&p.button===0&&p.ctrlKey===!1?l.onValueChange(r):p.preventDefault()}),onKeyDown:_e(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&l.onValueChange(r)}),onFocus:_e(e.onFocus,()=>{const p=l.activationMode!=="manual";!m&&!a&&p&&l.onValueChange(r)})})})});hB.displayName=fB;var mB="TabsContent",pB=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:a,children:s,...l}=e,u=WC(mB,n),d=vB(u.baseId,r),f=gB(u.baseId,r),m=r===u.value,p=y.useRef(m);return y.useEffect(()=>{const g=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(g)},[]),i.jsx(Bn,{present:a||m,children:({present:g})=>i.jsx($e.div,{"data-state":m?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":d,hidden:!g,id:f,tabIndex:0,...l,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:g&&s})})});pB.displayName=mB;function vB(e,t){return`${e}-trigger-${t}`}function gB(e,t){return`${e}-content-${t}`}var KZ=cB,yB=dB,xB=hB,bB=pB;const dl=KZ,eo=y.forwardRef(({className:e,...t},n)=>i.jsx(yB,{ref:n,className:ce("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...t}));eo.displayName=yB.displayName;const Rt=y.forwardRef(({className:e,...t},n)=>i.jsx(xB,{ref:n,className:ce("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all duration-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...t}));Rt.displayName=xB.displayName;const sn=y.forwardRef(({className:e,...t},n)=>i.jsx(bB,{ref:n,className:ce("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[state=active]:animate-in data-[state=active]:fade-in data-[state=active]:duration-300",e),...t}));sn.displayName=bB.displayName;function Rf(e,[t,n]){return Math.min(n,Math.max(t,e))}function XZ(e,t){return y.useReducer((n,r)=>t[n][r]??n,e)}var VC="ScrollArea",[wB]=gr(VC),[ZZ,Ta]=wB(VC),jB=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:a,scrollHideDelay:s=600,...l}=e,[u,d]=y.useState(null),[f,m]=y.useState(null),[p,g]=y.useState(null),[x,j]=y.useState(null),[w,b]=y.useState(null),[N,E]=y.useState(0),[O,A]=y.useState(0),[C,k]=y.useState(!1),[T,M]=y.useState(!1),R=Ue(t,$=>d($)),B=Fu(a);return i.jsx(ZZ,{scope:n,type:r,dir:B,scrollHideDelay:s,scrollArea:u,viewport:f,onViewportChange:m,content:p,onContentChange:g,scrollbarX:x,onScrollbarXChange:j,scrollbarXEnabled:C,onScrollbarXEnabledChange:k,scrollbarY:w,onScrollbarYChange:b,scrollbarYEnabled:T,onScrollbarYEnabledChange:M,onCornerWidthChange:E,onCornerHeightChange:A,children:i.jsx($e.div,{dir:B,...l,ref:R,style:{position:"relative","--radix-scroll-area-corner-width":N+"px","--radix-scroll-area-corner-height":O+"px",...e.style}})})});jB.displayName=VC;var SB="ScrollAreaViewport",_B=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,nonce:a,...s}=e,l=Ta(SB,n),u=y.useRef(null),d=Ue(t,u,l.onViewportChange);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),i.jsx($e.div,{"data-radix-scroll-area-viewport":"",...s,ref:d,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...e.style},children:i.jsx("div",{ref:l.onContentChange,style:{minWidth:"100%",display:"table"},children:r})})]})});_B.displayName=SB;var ji="ScrollAreaScrollbar",GC=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=Ta(ji,e.__scopeScrollArea),{onScrollbarXEnabledChange:s,onScrollbarYEnabledChange:l}=a,u=e.orientation==="horizontal";return y.useEffect(()=>(u?s(!0):l(!0),()=>{u?s(!1):l(!1)}),[u,s,l]),a.type==="hover"?i.jsx(QZ,{...r,ref:t,forceMount:n}):a.type==="scroll"?i.jsx(JZ,{...r,ref:t,forceMount:n}):a.type==="auto"?i.jsx(NB,{...r,ref:t,forceMount:n}):a.type==="always"?i.jsx(YC,{...r,ref:t}):null});GC.displayName=ji;var QZ=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=Ta(ji,e.__scopeScrollArea),[s,l]=y.useState(!1);return y.useEffect(()=>{const u=a.scrollArea;let d=0;if(u){const f=()=>{window.clearTimeout(d),l(!0)},m=()=>{d=window.setTimeout(()=>l(!1),a.scrollHideDelay)};return u.addEventListener("pointerenter",f),u.addEventListener("pointerleave",m),()=>{window.clearTimeout(d),u.removeEventListener("pointerenter",f),u.removeEventListener("pointerleave",m)}}},[a.scrollArea,a.scrollHideDelay]),i.jsx(Bn,{present:n||s,children:i.jsx(NB,{"data-state":s?"visible":"hidden",...r,ref:t})})}),JZ=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=Ta(ji,e.__scopeScrollArea),s=e.orientation==="horizontal",l=Zg(()=>d("SCROLL_END"),100),[u,d]=XZ("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return y.useEffect(()=>{if(u==="idle"){const f=window.setTimeout(()=>d("HIDE"),a.scrollHideDelay);return()=>window.clearTimeout(f)}},[u,a.scrollHideDelay,d]),y.useEffect(()=>{const f=a.viewport,m=s?"scrollLeft":"scrollTop";if(f){let p=f[m];const g=()=>{const x=f[m];p!==x&&(d("SCROLL"),l()),p=x};return f.addEventListener("scroll",g),()=>f.removeEventListener("scroll",g)}},[a.viewport,s,d,l]),i.jsx(Bn,{present:n||u!=="hidden",children:i.jsx(YC,{"data-state":u==="hidden"?"hidden":"visible",...r,ref:t,onPointerEnter:_e(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:_e(e.onPointerLeave,()=>d("POINTER_LEAVE"))})})}),NB=y.forwardRef((e,t)=>{const n=Ta(ji,e.__scopeScrollArea),{forceMount:r,...a}=e,[s,l]=y.useState(!1),u=e.orientation==="horizontal",d=Zg(()=>{if(n.viewport){const f=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,a=Ta(ji,e.__scopeScrollArea),s=y.useRef(null),l=y.useRef(0),[u,d]=y.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),f=TB(u.viewport,u.content),m={...r,sizes:u,onSizesChange:d,hasThumb:f>0&&f<1,onThumbChange:g=>s.current=g,onThumbPointerUp:()=>l.current=0,onThumbPointerDown:g=>l.current=g};function p(g,x){return iQ(g,l.current,u,x)}return n==="horizontal"?i.jsx(eQ,{...m,ref:t,onThumbPositionChange:()=>{if(a.viewport&&s.current){const g=a.viewport.scrollLeft,x=YM(g,u,a.dir);s.current.style.transform=`translate3d(${x}px, 0, 0)`}},onWheelScroll:g=>{a.viewport&&(a.viewport.scrollLeft=g)},onDragScroll:g=>{a.viewport&&(a.viewport.scrollLeft=p(g,a.dir))}}):n==="vertical"?i.jsx(tQ,{...m,ref:t,onThumbPositionChange:()=>{if(a.viewport&&s.current){const g=a.viewport.scrollTop,x=YM(g,u);s.current.style.transform=`translate3d(0, ${x}px, 0)`}},onWheelScroll:g=>{a.viewport&&(a.viewport.scrollTop=g)},onDragScroll:g=>{a.viewport&&(a.viewport.scrollTop=p(g))}}):null}),eQ=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...a}=e,s=Ta(ji,e.__scopeScrollArea),[l,u]=y.useState(),d=y.useRef(null),f=Ue(t,d,s.onScrollbarXChange);return y.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),i.jsx(OB,{"data-orientation":"horizontal",...a,ref:f,sizes:n,style:{bottom:0,left:s.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:s.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Xg(n)+"px",...e.style},onThumbPointerDown:m=>e.onThumbPointerDown(m.x),onDragScroll:m=>e.onDragScroll(m.x),onWheelScroll:(m,p)=>{if(s.viewport){const g=s.viewport.scrollLeft+m.deltaX;e.onWheelScroll(g),MB(g,p)&&m.preventDefault()}},onResize:()=>{d.current&&s.viewport&&l&&r({content:s.viewport.scrollWidth,viewport:s.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:Cv(l.paddingLeft),paddingEnd:Cv(l.paddingRight)}})}})}),tQ=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...a}=e,s=Ta(ji,e.__scopeScrollArea),[l,u]=y.useState(),d=y.useRef(null),f=Ue(t,d,s.onScrollbarYChange);return y.useEffect(()=>{d.current&&u(getComputedStyle(d.current))},[d]),i.jsx(OB,{"data-orientation":"vertical",...a,ref:f,sizes:n,style:{top:0,right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Xg(n)+"px",...e.style},onThumbPointerDown:m=>e.onThumbPointerDown(m.y),onDragScroll:m=>e.onDragScroll(m.y),onWheelScroll:(m,p)=>{if(s.viewport){const g=s.viewport.scrollTop+m.deltaY;e.onWheelScroll(g),MB(g,p)&&m.preventDefault()}},onResize:()=>{d.current&&s.viewport&&l&&r({content:s.viewport.scrollHeight,viewport:s.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:Cv(l.paddingTop),paddingEnd:Cv(l.paddingBottom)}})}})}),[nQ,CB]=wB(ji),OB=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:a,onThumbChange:s,onThumbPointerUp:l,onThumbPointerDown:u,onThumbPositionChange:d,onDragScroll:f,onWheelScroll:m,onResize:p,...g}=e,x=Ta(ji,n),[j,w]=y.useState(null),b=Ue(t,R=>w(R)),N=y.useRef(null),E=y.useRef(""),O=x.viewport,A=r.content-r.viewport,C=ln(m),k=ln(d),T=Zg(p,10);function M(R){if(N.current){const B=R.clientX-N.current.left,$=R.clientY-N.current.top;f({x:B,y:$})}}return y.useEffect(()=>{const R=B=>{const $=B.target;j?.contains($)&&C(B,A)};return document.addEventListener("wheel",R,{passive:!1}),()=>document.removeEventListener("wheel",R,{passive:!1})},[O,j,A,C]),y.useEffect(k,[r,k]),su(j,T),su(x.content,T),i.jsx(nQ,{scope:n,scrollbar:j,hasThumb:a,onThumbChange:ln(s),onThumbPointerUp:ln(l),onThumbPositionChange:k,onThumbPointerDown:ln(u),children:i.jsx($e.div,{...g,ref:b,style:{position:"absolute",...g.style},onPointerDown:_e(e.onPointerDown,R=>{R.button===0&&(R.target.setPointerCapture(R.pointerId),N.current=j.getBoundingClientRect(),E.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),M(R))}),onPointerMove:_e(e.onPointerMove,M),onPointerUp:_e(e.onPointerUp,R=>{const B=R.target;B.hasPointerCapture(R.pointerId)&&B.releasePointerCapture(R.pointerId),document.body.style.webkitUserSelect=E.current,x.viewport&&(x.viewport.style.scrollBehavior=""),N.current=null})})})}),Nv="ScrollAreaThumb",EB=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,a=CB(Nv,e.__scopeScrollArea);return i.jsx(Bn,{present:n||a.hasThumb,children:i.jsx(rQ,{ref:t,...r})})}),rQ=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...a}=e,s=Ta(Nv,n),l=CB(Nv,n),{onThumbPositionChange:u}=l,d=Ue(t,p=>l.onThumbChange(p)),f=y.useRef(void 0),m=Zg(()=>{f.current&&(f.current(),f.current=void 0)},100);return y.useEffect(()=>{const p=s.viewport;if(p){const g=()=>{if(m(),!f.current){const x=sQ(p,u);f.current=x,u()}};return u(),p.addEventListener("scroll",g),()=>p.removeEventListener("scroll",g)}},[s.viewport,m,u]),i.jsx($e.div,{"data-state":l.hasThumb?"visible":"hidden",...a,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:_e(e.onPointerDownCapture,p=>{const x=p.target.getBoundingClientRect(),j=p.clientX-x.left,w=p.clientY-x.top;l.onThumbPointerDown({x:j,y:w})}),onPointerUp:_e(e.onPointerUp,l.onThumbPointerUp)})});EB.displayName=Nv;var KC="ScrollAreaCorner",AB=y.forwardRef((e,t)=>{const n=Ta(KC,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?i.jsx(aQ,{...e,ref:t}):null});AB.displayName=KC;var aQ=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,a=Ta(KC,n),[s,l]=y.useState(0),[u,d]=y.useState(0),f=!!(s&&u);return su(a.scrollbarX,()=>{const m=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(m),d(m)}),su(a.scrollbarY,()=>{const m=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(m),l(m)}),f?i.jsx($e.div,{...r,ref:t,style:{width:s,height:u,position:"absolute",right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function Cv(e){return e?parseInt(e,10):0}function TB(e,t){const n=e/t;return isNaN(n)?0:n}function Xg(e){const t=TB(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function iQ(e,t,n,r="ltr"){const a=Xg(n),s=a/2,l=t||s,u=a-l,d=n.scrollbar.paddingStart+l,f=n.scrollbar.size-n.scrollbar.paddingEnd-u,m=n.content-n.viewport,p=r==="ltr"?[0,m]:[m*-1,0];return kB([d,f],p)(e)}function YM(e,t,n="ltr"){const r=Xg(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=t.scrollbar.size-a,l=t.content-t.viewport,u=s-r,d=n==="ltr"?[0,l]:[l*-1,0],f=Rf(e,d);return kB([0,l],[0,u])(f)}function kB(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function MB(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function a(){const s={left:e.scrollLeft,top:e.scrollTop},l=n.left!==s.left,u=n.top!==s.top;(l||u)&&t(),n=s,r=window.requestAnimationFrame(a)})(),()=>window.cancelAnimationFrame(r)};function Zg(e,t){const n=ln(e),r=y.useRef(0);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),y.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function su(e,t){const n=ln(t);Yn(()=>{let r=0;if(e){const a=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return a.observe(e),()=>{window.cancelAnimationFrame(r),a.unobserve(e)}}},[e,n])}var PB=jB,oQ=_B,lQ=AB;const Wt=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(PB,{ref:r,className:ce("relative overflow-hidden",e),...n,children:[i.jsx(oQ,{className:"h-full w-full rounded-[inherit]",children:t}),i.jsx(RB,{}),i.jsx(lQ,{})]}));Wt.displayName=PB.displayName;const RB=y.forwardRef(({className:e,orientation:t="vertical",...n},r)=>i.jsx(GC,{ref:r,orientation:t,className:ce("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...n,children:i.jsx(EB,{className:"relative flex-1 rounded-full bg-border"})}));RB.displayName=GC.displayName;function KM({className:e,...t}){return i.jsx("div",{className:ce("animate-pulse rounded-md bg-primary/10",e),...t})}function cQ(e,t=[]){let n=[];function r(s,l){const u=y.createContext(l);u.displayName=s+"Context";const d=n.length;n=[...n,l];const f=p=>{const{scope:g,children:x,...j}=p,w=g?.[e]?.[d]||u,b=y.useMemo(()=>j,Object.values(j));return i.jsx(w.Provider,{value:b,children:x})};f.displayName=s+"Provider";function m(p,g){const x=g?.[e]?.[d]||u,j=y.useContext(x);if(j)return j;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${s}\``)}return[f,m]}const a=()=>{const s=n.map(l=>y.createContext(l));return function(u){const d=u?.[e]||s;return y.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return a.scopeName=e,[r,uQ(a,...t)]}function uQ(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(s){const l=r.reduce((u,{useScope:d,scopeName:f})=>{const p=d(s)[`__scope${f}`];return{...u,...p}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}var dQ=Symbol.for("react.lazy"),Ov=EC[" use ".trim().toString()];function fQ(e){return typeof e=="object"&&e!==null&&"then"in e}function DB(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===dQ&&"_payload"in e&&fQ(e._payload)}function Dh(e){const t=mQ(e),n=y.forwardRef((r,a)=>{let{children:s,...l}=r;DB(s)&&typeof Ov=="function"&&(s=Ov(s._payload));const u=y.Children.toArray(s),d=u.find(vQ);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}var hQ=Dh("Slot");function mQ(e){const t=y.forwardRef((n,r)=>{let{children:a,...s}=n;if(DB(a)&&typeof Ov=="function"&&(a=Ov(a._payload)),y.isValidElement(a)){const l=yQ(a),u=gQ(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var pQ=Symbol("radix.slottable");function vQ(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===pQ}function gQ(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function yQ(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var xQ=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],$B=xQ.reduce((e,t)=>{const n=Dh(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),XC="Progress",ZC=100,[bQ]=cQ(XC),[wQ,jQ]=bQ(XC),IB=y.forwardRef((e,t)=>{const{__scopeProgress:n,value:r=null,max:a,getValueLabel:s=SQ,...l}=e;(a||a===0)&&!XM(a)&&console.error(_Q(`${a}`,"Progress"));const u=XM(a)?a:ZC;r!==null&&!ZM(r,u)&&console.error(NQ(`${r}`,"Progress"));const d=ZM(r,u)?r:null,f=Ev(d)?s(d,u):void 0;return i.jsx(wQ,{scope:n,value:d,max:u,children:i.jsx($B.div,{"aria-valuemax":u,"aria-valuemin":0,"aria-valuenow":Ev(d)?d:void 0,"aria-valuetext":f,role:"progressbar","data-state":zB(d,u),"data-value":d??void 0,"data-max":u,...l,ref:t})})});IB.displayName=XC;var LB="ProgressIndicator",BB=y.forwardRef((e,t)=>{const{__scopeProgress:n,...r}=e,a=jQ(LB,n);return i.jsx($B.div,{"data-state":zB(a.value,a.max),"data-value":a.value??void 0,"data-max":a.max,...r,ref:t})});BB.displayName=LB;function SQ(e,t){return`${Math.round(e/t*100)}%`}function zB(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function Ev(e){return typeof e=="number"}function XM(e){return Ev(e)&&!isNaN(e)&&e>0}function ZM(e,t){return Ev(e)&&!isNaN(e)&&e<=t&&e>=0}function _Q(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${ZC}\`.`}function NQ(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: - a positive number - - less than the value passed to \`max\` (or ${XC} if no \`max\` prop is set) + - less than the value passed to \`max\` (or ${ZC} if no \`max\` prop is set) - \`null\` or \`undefined\` if the progress is indeterminate. -Defaulting to \`null\`.`}var qB=IB,CQ=BB;const $h=y.forwardRef(({className:e,value:t,...n},r)=>i.jsx(qB,{ref:r,className:ce("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",e),...n,children:i.jsx(CQ,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));$h.displayName=qB.displayName;var K0,QM;function qr(){if(QM)return K0;QM=1;var e=Array.isArray;return K0=e,K0}var X0,JM;function FB(){if(JM)return X0;JM=1;var e=typeof Np=="object"&&Np&&Np.Object===Object&&Np;return X0=e,X0}var Z0,eP;function Si(){if(eP)return Z0;eP=1;var e=FB(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return Z0=n,Z0}var Q0,tP;function Ih(){if(tP)return Q0;tP=1;var e=Si(),t=e.Symbol;return Q0=t,Q0}var J0,nP;function OQ(){if(nP)return J0;nP=1;var e=Ih(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,a=e?e.toStringTag:void 0;function s(l){var u=n.call(l,a),d=l[a];try{l[a]=void 0;var f=!0}catch{}var m=r.call(l);return f&&(u?l[a]=d:delete l[a]),m}return J0=s,J0}var ew,rP;function EQ(){if(rP)return ew;rP=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return ew=n,ew}var tw,aP;function fs(){if(aP)return tw;aP=1;var e=Ih(),t=OQ(),n=EQ(),r="[object Null]",a="[object Undefined]",s=e?e.toStringTag:void 0;function l(u){return u==null?u===void 0?a:r:s&&s in Object(u)?t(u):n(u)}return tw=l,tw}var nw,iP;function hs(){if(iP)return nw;iP=1;function e(t){return t!=null&&typeof t=="object"}return nw=e,nw}var rw,sP;function Uu(){if(sP)return rw;sP=1;var e=fs(),t=hs(),n="[object Symbol]";function r(a){return typeof a=="symbol"||t(a)&&e(a)==n}return rw=r,rw}var aw,oP;function ZC(){if(oP)return aw;oP=1;var e=qr(),t=Uu(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function a(s,l){if(e(s))return!1;var u=typeof s;return u=="number"||u=="symbol"||u=="boolean"||s==null||t(s)?!0:r.test(s)||!n.test(s)||l!=null&&s in Object(l)}return aw=a,aw}var iw,lP;function lo(){if(lP)return iw;lP=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return iw=e,iw}var sw,cP;function QC(){if(cP)return sw;cP=1;var e=fs(),t=lo(),n="[object AsyncFunction]",r="[object Function]",a="[object GeneratorFunction]",s="[object Proxy]";function l(u){if(!t(u))return!1;var d=e(u);return d==r||d==a||d==n||d==s}return sw=l,sw}var ow,uP;function AQ(){if(uP)return ow;uP=1;var e=Si(),t=e["__core-js_shared__"];return ow=t,ow}var lw,dP;function TQ(){if(dP)return lw;dP=1;var e=AQ(),t=(function(){var r=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""})();function n(r){return!!t&&t in r}return lw=n,lw}var cw,fP;function UB(){if(fP)return cw;fP=1;var e=Function.prototype,t=e.toString;function n(r){if(r!=null){try{return t.call(r)}catch{}try{return r+""}catch{}}return""}return cw=n,cw}var uw,hP;function kQ(){if(hP)return uw;hP=1;var e=QC(),t=TQ(),n=lo(),r=UB(),a=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,l=Function.prototype,u=Object.prototype,d=l.toString,f=u.hasOwnProperty,m=RegExp("^"+d.call(f).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function p(g){if(!n(g)||t(g))return!1;var x=e(g)?m:s;return x.test(r(g))}return uw=p,uw}var dw,mP;function MQ(){if(mP)return dw;mP=1;function e(t,n){return t?.[n]}return dw=e,dw}var fw,pP;function _l(){if(pP)return fw;pP=1;var e=kQ(),t=MQ();function n(r,a){var s=t(r,a);return e(s)?s:void 0}return fw=n,fw}var hw,vP;function Qg(){if(vP)return hw;vP=1;var e=_l(),t=e(Object,"create");return hw=t,hw}var mw,gP;function PQ(){if(gP)return mw;gP=1;var e=Qg();function t(){this.__data__=e?e(null):{},this.size=0}return mw=t,mw}var pw,yP;function RQ(){if(yP)return pw;yP=1;function e(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}return pw=e,pw}var vw,xP;function DQ(){if(xP)return vw;xP=1;var e=Qg(),t="__lodash_hash_undefined__",n=Object.prototype,r=n.hasOwnProperty;function a(s){var l=this.__data__;if(e){var u=l[s];return u===t?void 0:u}return r.call(l,s)?l[s]:void 0}return vw=a,vw}var gw,bP;function $Q(){if(bP)return gw;bP=1;var e=Qg(),t=Object.prototype,n=t.hasOwnProperty;function r(a){var s=this.__data__;return e?s[a]!==void 0:n.call(s,a)}return gw=r,gw}var yw,wP;function IQ(){if(wP)return yw;wP=1;var e=Qg(),t="__lodash_hash_undefined__";function n(r,a){var s=this.__data__;return this.size+=this.has(r)?0:1,s[r]=e&&a===void 0?t:a,this}return yw=n,yw}var xw,jP;function LQ(){if(jP)return xw;jP=1;var e=PQ(),t=RQ(),n=DQ(),r=$Q(),a=IQ();function s(l){var u=-1,d=l==null?0:l.length;for(this.clear();++u-1}return Nw=t,Nw}var Cw,AP;function UQ(){if(AP)return Cw;AP=1;var e=Jg();function t(n,r){var a=this.__data__,s=e(a,n);return s<0?(++this.size,a.push([n,r])):a[s][1]=r,this}return Cw=t,Cw}var Ow,TP;function ey(){if(TP)return Ow;TP=1;var e=BQ(),t=zQ(),n=qQ(),r=FQ(),a=UQ();function s(l){var u=-1,d=l==null?0:l.length;for(this.clear();++u0?1:-1},Ko=function(t){return fl(t)&&t.indexOf("%")===t.length-1},Ce=function(t){return fJ(t)&&!Lh(t)},hJ=function(t){return Qe(t)},Ln=function(t){return Ce(t)||fl(t)},mJ=0,Wu=function(t){var n=++mJ;return"".concat(t||"").concat(n)},Sr=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Ce(t)&&!fl(t))return r;var s;if(Ko(t)){var l=t.indexOf("%");s=n*parseFloat(t.slice(0,l))/100}else s=+t;return Lh(s)&&(s=r),a&&s>n&&(s=n),s},Ws=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},pJ=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function jJ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function E_(e){"@babel/helpers - typeof";return E_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},E_(e)}var aR={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},ns=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},iR=null,Jw=null,iO=function e(t){if(t===iR&&Array.isArray(Jw))return Jw;var n=[];return y.Children.forEach(t,function(r){Qe(r)||(lJ.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),Jw=n,iR=t,n};function ia(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(a){return ns(a)}):r=[ns(t)],iO(e).forEach(function(a){var s=aa(a,"type.displayName")||aa(a,"type.name");r.indexOf(s)!==-1&&n.push(a)}),n}function Qr(e,t){var n=ia(e,t);return n&&n[0]}var sR=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,a=n.height;return!(!Ce(r)||r<=0||!Ce(a)||a<=0)},SJ=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],_J=function(t){return t&&t.type&&fl(t.type)&&SJ.indexOf(t.type)>=0},NJ=function(t){return t&&E_(t)==="object"&&"clipDot"in t},CJ=function(t,n,r,a){var s,l=(s=Qw?.[a])!==null&&s!==void 0?s:[];return n.startsWith("data-")||!Ke(t)&&(a&&l.includes(n)||yJ.includes(n))||r&&aO.includes(n)},qe=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var a=t;if(y.isValidElement(t)&&(a=t.props),!Hu(a))return null;var s={};return Object.keys(a).forEach(function(l){var u;CJ((u=a)===null||u===void 0?void 0:u[l],l,n,r)&&(s[l]=a[l])}),s},A_=function e(t,n){if(t===n)return!0;var r=y.Children.count(t);if(r!==y.Children.count(n))return!1;if(r===0)return!0;if(r===1)return oR(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function kJ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function k_(e){var t=e.children,n=e.width,r=e.height,a=e.viewBox,s=e.className,l=e.style,u=e.title,d=e.desc,f=TJ(e,AJ),m=a||{width:n,height:r,x:0,y:0},p=Je("recharts-surface",s);return W.createElement("svg",T_({},qe(f,!0,"svg"),{className:p,width:n,height:r,style:l,viewBox:"".concat(m.x," ").concat(m.y," ").concat(m.width," ").concat(m.height)}),W.createElement("title",null,u),W.createElement("desc",null,d),t)}var MJ=["children","className"];function M_(){return M_=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function RJ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var xt=W.forwardRef(function(e,t){var n=e.children,r=e.className,a=PJ(e,MJ),s=Je("recharts-layer",r);return W.createElement("g",M_({className:s},qe(a,!0),{ref:t}),n)}),Ha=function(t,n){for(var r=arguments.length,a=new Array(r>2?r-2:0),s=2;ss?0:s+n),r=r>s?s:r,r<0&&(r+=s),s=n>r?0:r-n>>>0,n>>>=0;for(var l=Array(s);++a=s?n:e(n,r,a)}return tj=t,tj}var nj,dR;function KB(){if(dR)return nj;dR=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",a=t+n+r,s="\\ufe0e\\ufe0f",l="\\u200d",u=RegExp("["+l+e+a+s+"]");function d(f){return u.test(f)}return nj=d,nj}var rj,fR;function IJ(){if(fR)return rj;fR=1;function e(t){return t.split("")}return rj=e,rj}var aj,hR;function LJ(){if(hR)return aj;hR=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",a=t+n+r,s="\\ufe0e\\ufe0f",l="["+e+"]",u="["+a+"]",d="\\ud83c[\\udffb-\\udfff]",f="(?:"+u+"|"+d+")",m="[^"+e+"]",p="(?:\\ud83c[\\udde6-\\uddff]){2}",g="[\\ud800-\\udbff][\\udc00-\\udfff]",x="\\u200d",j=f+"?",w="["+s+"]?",b="(?:"+x+"(?:"+[m,p,g].join("|")+")"+w+j+")*",N=w+j+b,E="(?:"+[m+u+"?",u,p,g,l].join("|")+")",O=RegExp(d+"(?="+d+")|"+E+N,"g");function A(C){return C.match(O)||[]}return aj=A,aj}var ij,mR;function BJ(){if(mR)return ij;mR=1;var e=IJ(),t=KB(),n=LJ();function r(a){return t(a)?n(a):e(a)}return ij=r,ij}var sj,pR;function zJ(){if(pR)return sj;pR=1;var e=$J(),t=KB(),n=BJ(),r=WB();function a(s){return function(l){l=r(l);var u=t(l)?n(l):void 0,d=u?u[0]:l.charAt(0),f=u?e(u,1).join(""):l.slice(1);return d[s]()+f}}return sj=a,sj}var oj,vR;function qJ(){if(vR)return oj;vR=1;var e=zJ(),t=e("toUpperCase");return oj=t,oj}var FJ=qJ();const ry=At(FJ);function Kt(e){return function(){return e}}const XB=Math.cos,kv=Math.sin,Xa=Math.sqrt,Mv=Math.PI,ay=2*Mv,P_=Math.PI,R_=2*P_,Ho=1e-6,UJ=R_-Ho;function ZB(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return ZB;const n=10**t;return function(r){this._+=r[0];for(let a=1,s=r.length;aHo)if(!(Math.abs(p*d-f*m)>Ho)||!s)this._append`L${this._x1=t},${this._y1=n}`;else{let x=r-l,j=a-u,w=d*d+f*f,b=x*x+j*j,N=Math.sqrt(w),E=Math.sqrt(g),O=s*Math.tan((P_-Math.acos((w+g-b)/(2*N*E)))/2),A=O/E,C=O/N;Math.abs(A-1)>Ho&&this._append`L${t+A*m},${n+A*p}`,this._append`A${s},${s},0,0,${+(p*x>m*j)},${this._x1=t+C*d},${this._y1=n+C*f}`}}arc(t,n,r,a,s,l){if(t=+t,n=+n,r=+r,l=!!l,r<0)throw new Error(`negative radius: ${r}`);let u=r*Math.cos(a),d=r*Math.sin(a),f=t+u,m=n+d,p=1^l,g=l?a-s:s-a;this._x1===null?this._append`M${f},${m}`:(Math.abs(this._x1-f)>Ho||Math.abs(this._y1-m)>Ho)&&this._append`L${f},${m}`,r&&(g<0&&(g=g%R_+R_),g>UJ?this._append`A${r},${r},0,1,${p},${t-u},${n-d}A${r},${r},0,1,${p},${this._x1=f},${this._y1=m}`:g>Ho&&this._append`A${r},${r},0,${+(g>=P_)},${p},${this._x1=t+r*Math.cos(s)},${this._y1=n+r*Math.sin(s)}`)}rect(t,n,r,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+a}h${-r}Z`}toString(){return this._}}function sO(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new WJ(t)}function oO(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function QB(e){this._context=e}QB.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function iy(e){return new QB(e)}function JB(e){return e[0]}function ez(e){return e[1]}function tz(e,t){var n=Kt(!0),r=null,a=iy,s=null,l=sO(u);e=typeof e=="function"?e:e===void 0?JB:Kt(e),t=typeof t=="function"?t:t===void 0?ez:Kt(t);function u(d){var f,m=(d=oO(d)).length,p,g=!1,x;for(r==null&&(s=a(x=l())),f=0;f<=m;++f)!(f=x;--j)u.point(O[j],A[j]);u.lineEnd(),u.areaEnd()}N&&(O[g]=+e(b,g,p),A[g]=+t(b,g,p),u.point(r?+r(b,g,p):O[g],n?+n(b,g,p):A[g]))}if(E)return u=null,E+""||null}function m(){return tz().defined(a).curve(l).context(s)}return f.x=function(p){return arguments.length?(e=typeof p=="function"?p:Kt(+p),r=null,f):e},f.x0=function(p){return arguments.length?(e=typeof p=="function"?p:Kt(+p),f):e},f.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:Kt(+p),f):r},f.y=function(p){return arguments.length?(t=typeof p=="function"?p:Kt(+p),n=null,f):t},f.y0=function(p){return arguments.length?(t=typeof p=="function"?p:Kt(+p),f):t},f.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:Kt(+p),f):n},f.lineX0=f.lineY0=function(){return m().x(e).y(t)},f.lineY1=function(){return m().x(e).y(n)},f.lineX1=function(){return m().x(r).y(t)},f.defined=function(p){return arguments.length?(a=typeof p=="function"?p:Kt(!!p),f):a},f.curve=function(p){return arguments.length?(l=p,s!=null&&(u=l(s)),f):l},f.context=function(p){return arguments.length?(p==null?s=u=null:u=l(s=p),f):s},f}class nz{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function VJ(e){return new nz(e,!0)}function GJ(e){return new nz(e,!1)}const lO={draw(e,t){const n=Xa(t/Mv);e.moveTo(n,0),e.arc(0,0,n,0,ay)}},YJ={draw(e,t){const n=Xa(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},rz=Xa(1/3),KJ=rz*2,XJ={draw(e,t){const n=Xa(t/KJ),r=n*rz;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},ZJ={draw(e,t){const n=Xa(t),r=-n/2;e.rect(r,r,n,n)}},QJ=.8908130915292852,az=kv(Mv/10)/kv(7*Mv/10),JJ=kv(ay/10)*az,eee=-XB(ay/10)*az,tee={draw(e,t){const n=Xa(t*QJ),r=JJ*n,a=eee*n;e.moveTo(0,-n),e.lineTo(r,a);for(let s=1;s<5;++s){const l=ay*s/5,u=XB(l),d=kv(l);e.lineTo(d*n,-u*n),e.lineTo(u*r-d*a,d*r+u*a)}e.closePath()}},lj=Xa(3),nee={draw(e,t){const n=-Xa(t/(lj*3));e.moveTo(0,n*2),e.lineTo(-lj*n,-n),e.lineTo(lj*n,-n),e.closePath()}},ba=-.5,wa=Xa(3)/2,D_=1/Xa(12),ree=(D_/2+1)*3,aee={draw(e,t){const n=Xa(t/ree),r=n/2,a=n*D_,s=r,l=n*D_+n,u=-s,d=l;e.moveTo(r,a),e.lineTo(s,l),e.lineTo(u,d),e.lineTo(ba*r-wa*a,wa*r+ba*a),e.lineTo(ba*s-wa*l,wa*s+ba*l),e.lineTo(ba*u-wa*d,wa*u+ba*d),e.lineTo(ba*r+wa*a,ba*a-wa*r),e.lineTo(ba*s+wa*l,ba*l-wa*s),e.lineTo(ba*u+wa*d,ba*d-wa*u),e.closePath()}};function iee(e,t){let n=null,r=sO(a);e=typeof e=="function"?e:Kt(e||lO),t=typeof t=="function"?t:Kt(t===void 0?64:+t);function a(){let s;if(n||(n=s=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),s)return n=null,s+""||null}return a.type=function(s){return arguments.length?(e=typeof s=="function"?s:Kt(s),a):e},a.size=function(s){return arguments.length?(t=typeof s=="function"?s:Kt(+s),a):t},a.context=function(s){return arguments.length?(n=s??null,a):n},a}function Pv(){}function Rv(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function iz(e){this._context=e}iz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Rv(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Rv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function see(e){return new iz(e)}function sz(e){this._context=e}sz.prototype={areaStart:Pv,areaEnd:Pv,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Rv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function oee(e){return new sz(e)}function oz(e){this._context=e}oz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Rv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function lee(e){return new oz(e)}function lz(e){this._context=e}lz.prototype={areaStart:Pv,areaEnd:Pv,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function cee(e){return new lz(e)}function gR(e){return e<0?-1:1}function yR(e,t,n){var r=e._x1-e._x0,a=t-e._x1,s=(e._y1-e._y0)/(r||a<0&&-0),l=(n-e._y1)/(a||r<0&&-0),u=(s*a+l*r)/(r+a);return(gR(s)+gR(l))*Math.min(Math.abs(s),Math.abs(l),.5*Math.abs(u))||0}function xR(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function cj(e,t,n){var r=e._x0,a=e._y0,s=e._x1,l=e._y1,u=(s-r)/3;e._context.bezierCurveTo(r+u,a+u*t,s-u,l-u*n,s,l)}function Dv(e){this._context=e}Dv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:cj(this,this._t0,xR(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,cj(this,xR(this,n=yR(this,e,t)),n);break;default:cj(this,this._t0,n=yR(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function cz(e){this._context=new uz(e)}(cz.prototype=Object.create(Dv.prototype)).point=function(e,t){Dv.prototype.point.call(this,t,e)};function uz(e){this._context=e}uz.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,a,s){this._context.bezierCurveTo(t,e,r,n,s,a)}};function uee(e){return new Dv(e)}function dee(e){return new cz(e)}function dz(e){this._context=e}dz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=bR(e),a=bR(t),s=0,l=1;l=0;--t)a[t]=(l[t]-a[t+1])/s[t];for(s[n-1]=(e[n]+a[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function hee(e){return new sy(e,.5)}function mee(e){return new sy(e,0)}function pee(e){return new sy(e,1)}function ou(e,t){if((l=e.length)>1)for(var n=1,r,a,s=e[t[0]],l,u=s.length;n=0;)n[t]=t;return n}function vee(e,t){return e[t]}function gee(e){const t=[];return t.key=e,t}function yee(){var e=Kt([]),t=$_,n=ou,r=vee;function a(s){var l=Array.from(e.apply(this,arguments),gee),u,d=l.length,f=-1,m;for(const p of s)for(u=0,++f;u0){for(var n,r,a=0,s=e[0].length,l;a0){for(var n=0,r=e[t[0]],a,s=r.length;n0)||!((s=(a=e[t[0]]).length)>0))){for(var n=0,r=1,a,s,l;r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Oee(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var fz={symbolCircle:lO,symbolCross:YJ,symbolDiamond:XJ,symbolSquare:ZJ,symbolStar:tee,symbolTriangle:nee,symbolWye:aee},Eee=Math.PI/180,Aee=function(t){var n="symbol".concat(ry(t));return fz[n]||lO},Tee=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var a=18*Eee;return 1.25*t*t*(Math.tan(a)-Math.tan(a*2)*Math.pow(Math.tan(a),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},kee=function(t,n){fz["symbol".concat(ry(t))]=n},cO=function(t){var n=t.type,r=n===void 0?"circle":n,a=t.size,s=a===void 0?64:a,l=t.sizeType,u=l===void 0?"area":l,d=Cee(t,jee),f=jR(jR({},d),{},{type:r,size:s,sizeType:u}),m=function(){var b=Aee(r),N=iee().type(b).size(Tee(s,u,r));return N()},p=f.className,g=f.cx,x=f.cy,j=qe(f,!0);return g===+g&&x===+x&&s===+s?W.createElement("path",I_({},j,{className:Je("recharts-symbols",p),transform:"translate(".concat(g,", ").concat(x,")"),d:m()})):null};cO.registerSymbol=kee;function lu(e){"@babel/helpers - typeof";return lu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lu(e)}function L_(){return L_=Object.assign?Object.assign.bind():function(e){for(var t=1;ti.jsx(qB,{ref:r,className:ce("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",e),...n,children:i.jsx(CQ,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));$h.displayName=qB.displayName;var X0,QM;function qr(){if(QM)return X0;QM=1;var e=Array.isArray;return X0=e,X0}var Z0,JM;function FB(){if(JM)return Z0;JM=1;var e=typeof Np=="object"&&Np&&Np.Object===Object&&Np;return Z0=e,Z0}var Q0,eP;function Si(){if(eP)return Q0;eP=1;var e=FB(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return Q0=n,Q0}var J0,tP;function Ih(){if(tP)return J0;tP=1;var e=Si(),t=e.Symbol;return J0=t,J0}var ew,nP;function OQ(){if(nP)return ew;nP=1;var e=Ih(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,a=e?e.toStringTag:void 0;function s(l){var u=n.call(l,a),d=l[a];try{l[a]=void 0;var f=!0}catch{}var m=r.call(l);return f&&(u?l[a]=d:delete l[a]),m}return ew=s,ew}var tw,rP;function EQ(){if(rP)return tw;rP=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return tw=n,tw}var nw,aP;function fs(){if(aP)return nw;aP=1;var e=Ih(),t=OQ(),n=EQ(),r="[object Null]",a="[object Undefined]",s=e?e.toStringTag:void 0;function l(u){return u==null?u===void 0?a:r:s&&s in Object(u)?t(u):n(u)}return nw=l,nw}var rw,iP;function hs(){if(iP)return rw;iP=1;function e(t){return t!=null&&typeof t=="object"}return rw=e,rw}var aw,sP;function Uu(){if(sP)return aw;sP=1;var e=fs(),t=hs(),n="[object Symbol]";function r(a){return typeof a=="symbol"||t(a)&&e(a)==n}return aw=r,aw}var iw,oP;function QC(){if(oP)return iw;oP=1;var e=qr(),t=Uu(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function a(s,l){if(e(s))return!1;var u=typeof s;return u=="number"||u=="symbol"||u=="boolean"||s==null||t(s)?!0:r.test(s)||!n.test(s)||l!=null&&s in Object(l)}return iw=a,iw}var sw,lP;function lo(){if(lP)return sw;lP=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return sw=e,sw}var ow,cP;function JC(){if(cP)return ow;cP=1;var e=fs(),t=lo(),n="[object AsyncFunction]",r="[object Function]",a="[object GeneratorFunction]",s="[object Proxy]";function l(u){if(!t(u))return!1;var d=e(u);return d==r||d==a||d==n||d==s}return ow=l,ow}var lw,uP;function AQ(){if(uP)return lw;uP=1;var e=Si(),t=e["__core-js_shared__"];return lw=t,lw}var cw,dP;function TQ(){if(dP)return cw;dP=1;var e=AQ(),t=(function(){var r=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""})();function n(r){return!!t&&t in r}return cw=n,cw}var uw,fP;function UB(){if(fP)return uw;fP=1;var e=Function.prototype,t=e.toString;function n(r){if(r!=null){try{return t.call(r)}catch{}try{return r+""}catch{}}return""}return uw=n,uw}var dw,hP;function kQ(){if(hP)return dw;hP=1;var e=JC(),t=TQ(),n=lo(),r=UB(),a=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,l=Function.prototype,u=Object.prototype,d=l.toString,f=u.hasOwnProperty,m=RegExp("^"+d.call(f).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function p(g){if(!n(g)||t(g))return!1;var x=e(g)?m:s;return x.test(r(g))}return dw=p,dw}var fw,mP;function MQ(){if(mP)return fw;mP=1;function e(t,n){return t?.[n]}return fw=e,fw}var hw,pP;function _l(){if(pP)return hw;pP=1;var e=kQ(),t=MQ();function n(r,a){var s=t(r,a);return e(s)?s:void 0}return hw=n,hw}var mw,vP;function Qg(){if(vP)return mw;vP=1;var e=_l(),t=e(Object,"create");return mw=t,mw}var pw,gP;function PQ(){if(gP)return pw;gP=1;var e=Qg();function t(){this.__data__=e?e(null):{},this.size=0}return pw=t,pw}var vw,yP;function RQ(){if(yP)return vw;yP=1;function e(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}return vw=e,vw}var gw,xP;function DQ(){if(xP)return gw;xP=1;var e=Qg(),t="__lodash_hash_undefined__",n=Object.prototype,r=n.hasOwnProperty;function a(s){var l=this.__data__;if(e){var u=l[s];return u===t?void 0:u}return r.call(l,s)?l[s]:void 0}return gw=a,gw}var yw,bP;function $Q(){if(bP)return yw;bP=1;var e=Qg(),t=Object.prototype,n=t.hasOwnProperty;function r(a){var s=this.__data__;return e?s[a]!==void 0:n.call(s,a)}return yw=r,yw}var xw,wP;function IQ(){if(wP)return xw;wP=1;var e=Qg(),t="__lodash_hash_undefined__";function n(r,a){var s=this.__data__;return this.size+=this.has(r)?0:1,s[r]=e&&a===void 0?t:a,this}return xw=n,xw}var bw,jP;function LQ(){if(jP)return bw;jP=1;var e=PQ(),t=RQ(),n=DQ(),r=$Q(),a=IQ();function s(l){var u=-1,d=l==null?0:l.length;for(this.clear();++u-1}return Cw=t,Cw}var Ow,AP;function UQ(){if(AP)return Ow;AP=1;var e=Jg();function t(n,r){var a=this.__data__,s=e(a,n);return s<0?(++this.size,a.push([n,r])):a[s][1]=r,this}return Ow=t,Ow}var Ew,TP;function ey(){if(TP)return Ew;TP=1;var e=BQ(),t=zQ(),n=qQ(),r=FQ(),a=UQ();function s(l){var u=-1,d=l==null?0:l.length;for(this.clear();++u0?1:-1},Ko=function(t){return fl(t)&&t.indexOf("%")===t.length-1},Ce=function(t){return fJ(t)&&!Lh(t)},hJ=function(t){return Qe(t)},Ln=function(t){return Ce(t)||fl(t)},mJ=0,Wu=function(t){var n=++mJ;return"".concat(t||"").concat(n)},Sr=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Ce(t)&&!fl(t))return r;var s;if(Ko(t)){var l=t.indexOf("%");s=n*parseFloat(t.slice(0,l))/100}else s=+t;return Lh(s)&&(s=r),a&&s>n&&(s=n),s},Ws=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},pJ=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function jJ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function A_(e){"@babel/helpers - typeof";return A_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},A_(e)}var aR={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},ns=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},iR=null,ej=null,sO=function e(t){if(t===iR&&Array.isArray(ej))return ej;var n=[];return y.Children.forEach(t,function(r){Qe(r)||(lJ.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),ej=n,iR=t,n};function ia(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(a){return ns(a)}):r=[ns(t)],sO(e).forEach(function(a){var s=aa(a,"type.displayName")||aa(a,"type.name");r.indexOf(s)!==-1&&n.push(a)}),n}function Qr(e,t){var n=ia(e,t);return n&&n[0]}var sR=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,a=n.height;return!(!Ce(r)||r<=0||!Ce(a)||a<=0)},SJ=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],_J=function(t){return t&&t.type&&fl(t.type)&&SJ.indexOf(t.type)>=0},NJ=function(t){return t&&A_(t)==="object"&&"clipDot"in t},CJ=function(t,n,r,a){var s,l=(s=Jw?.[a])!==null&&s!==void 0?s:[];return n.startsWith("data-")||!Ke(t)&&(a&&l.includes(n)||yJ.includes(n))||r&&iO.includes(n)},qe=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var a=t;if(y.isValidElement(t)&&(a=t.props),!Hu(a))return null;var s={};return Object.keys(a).forEach(function(l){var u;CJ((u=a)===null||u===void 0?void 0:u[l],l,n,r)&&(s[l]=a[l])}),s},T_=function e(t,n){if(t===n)return!0;var r=y.Children.count(t);if(r!==y.Children.count(n))return!1;if(r===0)return!0;if(r===1)return oR(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function kJ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function M_(e){var t=e.children,n=e.width,r=e.height,a=e.viewBox,s=e.className,l=e.style,u=e.title,d=e.desc,f=TJ(e,AJ),m=a||{width:n,height:r,x:0,y:0},p=Je("recharts-surface",s);return W.createElement("svg",k_({},qe(f,!0,"svg"),{className:p,width:n,height:r,style:l,viewBox:"".concat(m.x," ").concat(m.y," ").concat(m.width," ").concat(m.height)}),W.createElement("title",null,u),W.createElement("desc",null,d),t)}var MJ=["children","className"];function P_(){return P_=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function RJ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var xt=W.forwardRef(function(e,t){var n=e.children,r=e.className,a=PJ(e,MJ),s=Je("recharts-layer",r);return W.createElement("g",P_({className:s},qe(a,!0),{ref:t}),n)}),Ha=function(t,n){for(var r=arguments.length,a=new Array(r>2?r-2:0),s=2;ss?0:s+n),r=r>s?s:r,r<0&&(r+=s),s=n>r?0:r-n>>>0,n>>>=0;for(var l=Array(s);++a=s?n:e(n,r,a)}return nj=t,nj}var rj,dR;function KB(){if(dR)return rj;dR=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",a=t+n+r,s="\\ufe0e\\ufe0f",l="\\u200d",u=RegExp("["+l+e+a+s+"]");function d(f){return u.test(f)}return rj=d,rj}var aj,fR;function IJ(){if(fR)return aj;fR=1;function e(t){return t.split("")}return aj=e,aj}var ij,hR;function LJ(){if(hR)return ij;hR=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",a=t+n+r,s="\\ufe0e\\ufe0f",l="["+e+"]",u="["+a+"]",d="\\ud83c[\\udffb-\\udfff]",f="(?:"+u+"|"+d+")",m="[^"+e+"]",p="(?:\\ud83c[\\udde6-\\uddff]){2}",g="[\\ud800-\\udbff][\\udc00-\\udfff]",x="\\u200d",j=f+"?",w="["+s+"]?",b="(?:"+x+"(?:"+[m,p,g].join("|")+")"+w+j+")*",N=w+j+b,E="(?:"+[m+u+"?",u,p,g,l].join("|")+")",O=RegExp(d+"(?="+d+")|"+E+N,"g");function A(C){return C.match(O)||[]}return ij=A,ij}var sj,mR;function BJ(){if(mR)return sj;mR=1;var e=IJ(),t=KB(),n=LJ();function r(a){return t(a)?n(a):e(a)}return sj=r,sj}var oj,pR;function zJ(){if(pR)return oj;pR=1;var e=$J(),t=KB(),n=BJ(),r=WB();function a(s){return function(l){l=r(l);var u=t(l)?n(l):void 0,d=u?u[0]:l.charAt(0),f=u?e(u,1).join(""):l.slice(1);return d[s]()+f}}return oj=a,oj}var lj,vR;function qJ(){if(vR)return lj;vR=1;var e=zJ(),t=e("toUpperCase");return lj=t,lj}var FJ=qJ();const ry=At(FJ);function Kt(e){return function(){return e}}const XB=Math.cos,kv=Math.sin,Xa=Math.sqrt,Mv=Math.PI,ay=2*Mv,R_=Math.PI,D_=2*R_,Ho=1e-6,UJ=D_-Ho;function ZB(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return ZB;const n=10**t;return function(r){this._+=r[0];for(let a=1,s=r.length;aHo)if(!(Math.abs(p*d-f*m)>Ho)||!s)this._append`L${this._x1=t},${this._y1=n}`;else{let x=r-l,j=a-u,w=d*d+f*f,b=x*x+j*j,N=Math.sqrt(w),E=Math.sqrt(g),O=s*Math.tan((R_-Math.acos((w+g-b)/(2*N*E)))/2),A=O/E,C=O/N;Math.abs(A-1)>Ho&&this._append`L${t+A*m},${n+A*p}`,this._append`A${s},${s},0,0,${+(p*x>m*j)},${this._x1=t+C*d},${this._y1=n+C*f}`}}arc(t,n,r,a,s,l){if(t=+t,n=+n,r=+r,l=!!l,r<0)throw new Error(`negative radius: ${r}`);let u=r*Math.cos(a),d=r*Math.sin(a),f=t+u,m=n+d,p=1^l,g=l?a-s:s-a;this._x1===null?this._append`M${f},${m}`:(Math.abs(this._x1-f)>Ho||Math.abs(this._y1-m)>Ho)&&this._append`L${f},${m}`,r&&(g<0&&(g=g%D_+D_),g>UJ?this._append`A${r},${r},0,1,${p},${t-u},${n-d}A${r},${r},0,1,${p},${this._x1=f},${this._y1=m}`:g>Ho&&this._append`A${r},${r},0,${+(g>=R_)},${p},${this._x1=t+r*Math.cos(s)},${this._y1=n+r*Math.sin(s)}`)}rect(t,n,r,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+a}h${-r}Z`}toString(){return this._}}function oO(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new WJ(t)}function lO(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function QB(e){this._context=e}QB.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function iy(e){return new QB(e)}function JB(e){return e[0]}function ez(e){return e[1]}function tz(e,t){var n=Kt(!0),r=null,a=iy,s=null,l=oO(u);e=typeof e=="function"?e:e===void 0?JB:Kt(e),t=typeof t=="function"?t:t===void 0?ez:Kt(t);function u(d){var f,m=(d=lO(d)).length,p,g=!1,x;for(r==null&&(s=a(x=l())),f=0;f<=m;++f)!(f=x;--j)u.point(O[j],A[j]);u.lineEnd(),u.areaEnd()}N&&(O[g]=+e(b,g,p),A[g]=+t(b,g,p),u.point(r?+r(b,g,p):O[g],n?+n(b,g,p):A[g]))}if(E)return u=null,E+""||null}function m(){return tz().defined(a).curve(l).context(s)}return f.x=function(p){return arguments.length?(e=typeof p=="function"?p:Kt(+p),r=null,f):e},f.x0=function(p){return arguments.length?(e=typeof p=="function"?p:Kt(+p),f):e},f.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:Kt(+p),f):r},f.y=function(p){return arguments.length?(t=typeof p=="function"?p:Kt(+p),n=null,f):t},f.y0=function(p){return arguments.length?(t=typeof p=="function"?p:Kt(+p),f):t},f.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:Kt(+p),f):n},f.lineX0=f.lineY0=function(){return m().x(e).y(t)},f.lineY1=function(){return m().x(e).y(n)},f.lineX1=function(){return m().x(r).y(t)},f.defined=function(p){return arguments.length?(a=typeof p=="function"?p:Kt(!!p),f):a},f.curve=function(p){return arguments.length?(l=p,s!=null&&(u=l(s)),f):l},f.context=function(p){return arguments.length?(p==null?s=u=null:u=l(s=p),f):s},f}class nz{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function VJ(e){return new nz(e,!0)}function GJ(e){return new nz(e,!1)}const cO={draw(e,t){const n=Xa(t/Mv);e.moveTo(n,0),e.arc(0,0,n,0,ay)}},YJ={draw(e,t){const n=Xa(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},rz=Xa(1/3),KJ=rz*2,XJ={draw(e,t){const n=Xa(t/KJ),r=n*rz;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},ZJ={draw(e,t){const n=Xa(t),r=-n/2;e.rect(r,r,n,n)}},QJ=.8908130915292852,az=kv(Mv/10)/kv(7*Mv/10),JJ=kv(ay/10)*az,eee=-XB(ay/10)*az,tee={draw(e,t){const n=Xa(t*QJ),r=JJ*n,a=eee*n;e.moveTo(0,-n),e.lineTo(r,a);for(let s=1;s<5;++s){const l=ay*s/5,u=XB(l),d=kv(l);e.lineTo(d*n,-u*n),e.lineTo(u*r-d*a,d*r+u*a)}e.closePath()}},cj=Xa(3),nee={draw(e,t){const n=-Xa(t/(cj*3));e.moveTo(0,n*2),e.lineTo(-cj*n,-n),e.lineTo(cj*n,-n),e.closePath()}},ba=-.5,wa=Xa(3)/2,$_=1/Xa(12),ree=($_/2+1)*3,aee={draw(e,t){const n=Xa(t/ree),r=n/2,a=n*$_,s=r,l=n*$_+n,u=-s,d=l;e.moveTo(r,a),e.lineTo(s,l),e.lineTo(u,d),e.lineTo(ba*r-wa*a,wa*r+ba*a),e.lineTo(ba*s-wa*l,wa*s+ba*l),e.lineTo(ba*u-wa*d,wa*u+ba*d),e.lineTo(ba*r+wa*a,ba*a-wa*r),e.lineTo(ba*s+wa*l,ba*l-wa*s),e.lineTo(ba*u+wa*d,ba*d-wa*u),e.closePath()}};function iee(e,t){let n=null,r=oO(a);e=typeof e=="function"?e:Kt(e||cO),t=typeof t=="function"?t:Kt(t===void 0?64:+t);function a(){let s;if(n||(n=s=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),s)return n=null,s+""||null}return a.type=function(s){return arguments.length?(e=typeof s=="function"?s:Kt(s),a):e},a.size=function(s){return arguments.length?(t=typeof s=="function"?s:Kt(+s),a):t},a.context=function(s){return arguments.length?(n=s??null,a):n},a}function Pv(){}function Rv(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function iz(e){this._context=e}iz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Rv(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Rv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function see(e){return new iz(e)}function sz(e){this._context=e}sz.prototype={areaStart:Pv,areaEnd:Pv,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Rv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function oee(e){return new sz(e)}function oz(e){this._context=e}oz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Rv(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function lee(e){return new oz(e)}function lz(e){this._context=e}lz.prototype={areaStart:Pv,areaEnd:Pv,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function cee(e){return new lz(e)}function gR(e){return e<0?-1:1}function yR(e,t,n){var r=e._x1-e._x0,a=t-e._x1,s=(e._y1-e._y0)/(r||a<0&&-0),l=(n-e._y1)/(a||r<0&&-0),u=(s*a+l*r)/(r+a);return(gR(s)+gR(l))*Math.min(Math.abs(s),Math.abs(l),.5*Math.abs(u))||0}function xR(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function uj(e,t,n){var r=e._x0,a=e._y0,s=e._x1,l=e._y1,u=(s-r)/3;e._context.bezierCurveTo(r+u,a+u*t,s-u,l-u*n,s,l)}function Dv(e){this._context=e}Dv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:uj(this,this._t0,xR(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,uj(this,xR(this,n=yR(this,e,t)),n);break;default:uj(this,this._t0,n=yR(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function cz(e){this._context=new uz(e)}(cz.prototype=Object.create(Dv.prototype)).point=function(e,t){Dv.prototype.point.call(this,t,e)};function uz(e){this._context=e}uz.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,a,s){this._context.bezierCurveTo(t,e,r,n,s,a)}};function uee(e){return new Dv(e)}function dee(e){return new cz(e)}function dz(e){this._context=e}dz.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=bR(e),a=bR(t),s=0,l=1;l=0;--t)a[t]=(l[t]-a[t+1])/s[t];for(s[n-1]=(e[n]+a[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function hee(e){return new sy(e,.5)}function mee(e){return new sy(e,0)}function pee(e){return new sy(e,1)}function ou(e,t){if((l=e.length)>1)for(var n=1,r,a,s=e[t[0]],l,u=s.length;n=0;)n[t]=t;return n}function vee(e,t){return e[t]}function gee(e){const t=[];return t.key=e,t}function yee(){var e=Kt([]),t=I_,n=ou,r=vee;function a(s){var l=Array.from(e.apply(this,arguments),gee),u,d=l.length,f=-1,m;for(const p of s)for(u=0,++f;u0){for(var n,r,a=0,s=e[0].length,l;a0){for(var n=0,r=e[t[0]],a,s=r.length;n0)||!((s=(a=e[t[0]]).length)>0))){for(var n=0,r=1,a,s,l;r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Oee(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var fz={symbolCircle:cO,symbolCross:YJ,symbolDiamond:XJ,symbolSquare:ZJ,symbolStar:tee,symbolTriangle:nee,symbolWye:aee},Eee=Math.PI/180,Aee=function(t){var n="symbol".concat(ry(t));return fz[n]||cO},Tee=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var a=18*Eee;return 1.25*t*t*(Math.tan(a)-Math.tan(a*2)*Math.pow(Math.tan(a),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},kee=function(t,n){fz["symbol".concat(ry(t))]=n},uO=function(t){var n=t.type,r=n===void 0?"circle":n,a=t.size,s=a===void 0?64:a,l=t.sizeType,u=l===void 0?"area":l,d=Cee(t,jee),f=jR(jR({},d),{},{type:r,size:s,sizeType:u}),m=function(){var b=Aee(r),N=iee().type(b).size(Tee(s,u,r));return N()},p=f.className,g=f.cx,x=f.cy,j=qe(f,!0);return g===+g&&x===+x&&s===+s?W.createElement("path",L_({},j,{className:Je("recharts-symbols",p),transform:"translate(".concat(g,", ").concat(x,")"),d:m()})):null};uO.registerSymbol=kee;function lu(e){"@babel/helpers - typeof";return lu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lu(e)}function B_(){return B_=Object.assign?Object.assign.bind():function(e){for(var t=1;t`);var E=x.inactive?f:x.color;return W.createElement("li",L_({className:b,style:p,key:"legend-item-".concat(j)},hl(r.props,x,j)),W.createElement(k_,{width:l,height:l,viewBox:m,style:g},r.renderIcon(x)),W.createElement("span",{className:"recharts-legend-item-text",style:{color:E}},w?w(N,x,j):N))})}},{key:"render",value:function(){var r=this.props,a=r.payload,s=r.layout,l=r.align;if(!a||!a.length)return null;var u={padding:0,margin:0,textAlign:s==="horizontal"?l:"left"};return W.createElement("ul",{className:"recharts-default-legend",style:u},this.renderItems())}}])})(y.PureComponent);$f(uO,"displayName","Legend");$f(uO,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var uj,_R;function qee(){if(_R)return uj;_R=1;var e=ey();function t(){this.__data__=new e,this.size=0}return uj=t,uj}var dj,NR;function Fee(){if(NR)return dj;NR=1;function e(t){var n=this.__data__,r=n.delete(t);return this.size=n.size,r}return dj=e,dj}var fj,CR;function Uee(){if(CR)return fj;CR=1;function e(t){return this.__data__.get(t)}return fj=e,fj}var hj,OR;function Hee(){if(OR)return hj;OR=1;function e(t){return this.__data__.has(t)}return hj=e,hj}var mj,ER;function Wee(){if(ER)return mj;ER=1;var e=ey(),t=eO(),n=tO(),r=200;function a(s,l){var u=this.__data__;if(u instanceof e){var d=u.__data__;if(!t||d.lengthx))return!1;var w=p.get(l),b=p.get(u);if(w&&b)return w==u&&b==l;var N=-1,E=!0,O=d&a?new e:void 0;for(p.set(l,u),p.set(u,l);++N-1&&r%1==0&&r-1&&n%1==0&&n<=e}return $j=t,$j}var Ij,QR;function ate(){if(QR)return Ij;QR=1;var e=fs(),t=mO(),n=hs(),r="[object Arguments]",a="[object Array]",s="[object Boolean]",l="[object Date]",u="[object Error]",d="[object Function]",f="[object Map]",m="[object Number]",p="[object Object]",g="[object RegExp]",x="[object Set]",j="[object String]",w="[object WeakMap]",b="[object ArrayBuffer]",N="[object DataView]",E="[object Float32Array]",O="[object Float64Array]",A="[object Int8Array]",C="[object Int16Array]",k="[object Int32Array]",T="[object Uint8Array]",M="[object Uint8ClampedArray]",R="[object Uint16Array]",B="[object Uint32Array]",$={};$[E]=$[O]=$[A]=$[C]=$[k]=$[T]=$[M]=$[R]=$[B]=!0,$[r]=$[a]=$[b]=$[s]=$[N]=$[l]=$[u]=$[d]=$[f]=$[m]=$[p]=$[g]=$[x]=$[j]=$[w]=!1;function H(V){return n(V)&&t(V.length)&&!!$[e(V)]}return Ij=H,Ij}var Lj,JR;function jz(){if(JR)return Lj;JR=1;function e(t){return function(n){return t(n)}}return Lj=e,Lj}var pf={exports:{}};pf.exports;var eD;function ite(){return eD||(eD=1,(function(e,t){var n=FB(),r=t&&!t.nodeType&&t,a=r&&!0&&e&&!e.nodeType&&e,s=a&&a.exports===r,l=s&&n.process,u=(function(){try{var d=a&&a.require&&a.require("util").types;return d||l&&l.binding&&l.binding("util")}catch{}})();e.exports=u})(pf,pf.exports)),pf.exports}var Bj,tD;function Sz(){if(tD)return Bj;tD=1;var e=ate(),t=jz(),n=ite(),r=n&&n.isTypedArray,a=r?t(r):e;return Bj=a,Bj}var zj,nD;function ste(){if(nD)return zj;nD=1;var e=tte(),t=fO(),n=qr(),r=wz(),a=hO(),s=Sz(),l=Object.prototype,u=l.hasOwnProperty;function d(f,m){var p=n(f),g=!p&&t(f),x=!p&&!g&&r(f),j=!p&&!g&&!x&&s(f),w=p||g||x||j,b=w?e(f.length,String):[],N=b.length;for(var E in f)(m||u.call(f,E))&&!(w&&(E=="length"||x&&(E=="offset"||E=="parent")||j&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||a(E,N)))&&b.push(E);return b}return zj=d,zj}var qj,rD;function ote(){if(rD)return qj;rD=1;var e=Object.prototype;function t(n){var r=n&&n.constructor,a=typeof r=="function"&&r.prototype||e;return n===a}return qj=t,qj}var Fj,aD;function _z(){if(aD)return Fj;aD=1;function e(t,n){return function(r){return t(n(r))}}return Fj=e,Fj}var Uj,iD;function lte(){if(iD)return Uj;iD=1;var e=_z(),t=e(Object.keys,Object);return Uj=t,Uj}var Hj,sD;function cte(){if(sD)return Hj;sD=1;var e=ote(),t=lte(),n=Object.prototype,r=n.hasOwnProperty;function a(s){if(!e(s))return t(s);var l=[];for(var u in Object(s))r.call(s,u)&&u!="constructor"&&l.push(u);return l}return Hj=a,Hj}var Wj,oD;function Bh(){if(oD)return Wj;oD=1;var e=QC(),t=mO();function n(r){return r!=null&&t(r.length)&&!e(r)}return Wj=n,Wj}var Vj,lD;function oy(){if(lD)return Vj;lD=1;var e=ste(),t=cte(),n=Bh();function r(a){return n(a)?e(a):t(a)}return Vj=r,Vj}var Gj,cD;function ute(){if(cD)return Gj;cD=1;var e=Zee(),t=ete(),n=oy();function r(a){return e(a,n,t)}return Gj=r,Gj}var Yj,uD;function dte(){if(uD)return Yj;uD=1;var e=ute(),t=1,n=Object.prototype,r=n.hasOwnProperty;function a(s,l,u,d,f,m){var p=u&t,g=e(s),x=g.length,j=e(l),w=j.length;if(x!=w&&!p)return!1;for(var b=x;b--;){var N=g[b];if(!(p?N in l:r.call(l,N)))return!1}var E=m.get(s),O=m.get(l);if(E&&O)return E==l&&O==s;var A=!0;m.set(s,l),m.set(l,s);for(var C=p;++b-1}return b1=t,b1}var w1,ID;function kte(){if(ID)return w1;ID=1;function e(t,n,r){for(var a=-1,s=t==null?0:t.length;++a=l){var N=f?null:a(d);if(N)return s(N);j=!1,g=r,b=new e}else b=f?[]:w;e:for(;++p=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Vte(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Gte(e){return e.value}function Yte(e,t){if(W.isValidElement(e))return W.cloneElement(e,t);if(typeof e=="function")return W.createElement(e,t);t.ref;var n=Wte(t,Ite);return W.createElement(uO,n)}var WD=1,al=(function(e){function t(){var n;Lte(this,t);for(var r=arguments.length,a=new Array(r),s=0;sWD||Math.abs(a.height-this.lastBoundingBox.height)>WD)&&(this.lastBoundingBox.width=a.width,this.lastBoundingBox.height=a.height,r&&r(a)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,r&&r(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?Vi({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(r){var a=this.props,s=a.layout,l=a.align,u=a.verticalAlign,d=a.margin,f=a.chartWidth,m=a.chartHeight,p,g;if(!r||(r.left===void 0||r.left===null)&&(r.right===void 0||r.right===null))if(l==="center"&&s==="vertical"){var x=this.getBBoxSnapshot();p={left:((f||0)-x.width)/2}}else p=l==="right"?{right:d&&d.right||0}:{left:d&&d.left||0};if(!r||(r.top===void 0||r.top===null)&&(r.bottom===void 0||r.bottom===null))if(u==="middle"){var j=this.getBBoxSnapshot();g={top:((m||0)-j.height)/2}}else g=u==="bottom"?{bottom:d&&d.bottom||0}:{top:d&&d.top||0};return Vi(Vi({},p),g)}},{key:"render",value:function(){var r=this,a=this.props,s=a.content,l=a.width,u=a.height,d=a.wrapperStyle,f=a.payloadUniqBy,m=a.payload,p=Vi(Vi({position:"absolute",width:l||"auto",height:u||"auto"},this.getDefaultPosition(d)),d);return W.createElement("div",{className:"recharts-legend-wrapper",style:p,ref:function(x){r.wrapperNode=x}},Yte(s,Vi(Vi({},this.props),{},{payload:Az(m,f,Gte)})))}}],[{key:"getWithHeight",value:function(r,a){var s=Vi(Vi({},this.defaultProps),r.props),l=s.layout;return l==="vertical"&&Ce(r.props.height)?{height:r.props.height}:l==="horizontal"?{width:r.props.width||a}:null}}])})(y.PureComponent);ly(al,"displayName","Legend");ly(al,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var C1,VD;function Kte(){if(VD)return C1;VD=1;var e=Ih(),t=fO(),n=qr(),r=e?e.isConcatSpreadable:void 0;function a(s){return n(s)||t(s)||!!(r&&s&&s[r])}return C1=a,C1}var O1,GD;function Mz(){if(GD)return O1;GD=1;var e=bz(),t=Kte();function n(r,a,s,l,u){var d=-1,f=r.length;for(s||(s=t),u||(u=[]);++d0&&s(m)?a>1?n(m,a-1,s,l,u):e(u,m):l||(u[u.length]=m)}return u}return O1=n,O1}var E1,YD;function Xte(){if(YD)return E1;YD=1;function e(t){return function(n,r,a){for(var s=-1,l=Object(n),u=a(n),d=u.length;d--;){var f=u[t?d:++s];if(r(l[f],f,l)===!1)break}return n}}return E1=e,E1}var A1,KD;function Zte(){if(KD)return A1;KD=1;var e=Xte(),t=e();return A1=t,A1}var T1,XD;function Pz(){if(XD)return T1;XD=1;var e=Zte(),t=oy();function n(r,a){return r&&e(r,a,t)}return T1=n,T1}var k1,ZD;function Qte(){if(ZD)return k1;ZD=1;var e=Bh();function t(n,r){return function(a,s){if(a==null)return a;if(!e(a))return n(a,s);for(var l=a.length,u=r?l:-1,d=Object(a);(r?u--:++ur||u&&d&&m&&!f&&!p||s&&d&&m||!a&&m||!l)return 1;if(!s&&!u&&!p&&n=f)return m;var p=a[s];return m*(p=="desc"?-1:1)}}return n.index-r.index}return $1=t,$1}var I1,r4;function nne(){if(r4)return I1;r4=1;var e=nO(),t=rO(),n=_i(),r=Rz(),a=Jte(),s=jz(),l=tne(),u=Vu(),d=qr();function f(m,p,g){p.length?p=e(p,function(w){return d(w)?function(b){return t(b,w.length===1?w[0]:w)}:w}):p=[u];var x=-1;p=e(p,s(n));var j=r(m,function(w,b,N){var E=e(p,function(O){return O(w)});return{criteria:E,index:++x,value:w}});return a(j,function(w,b){return l(w,b,g)})}return I1=f,I1}var L1,a4;function rne(){if(a4)return L1;a4=1;function e(t,n,r){switch(r.length){case 0:return t.call(n);case 1:return t.call(n,r[0]);case 2:return t.call(n,r[0],r[1]);case 3:return t.call(n,r[0],r[1],r[2])}return t.apply(n,r)}return L1=e,L1}var B1,i4;function ane(){if(i4)return B1;i4=1;var e=rne(),t=Math.max;function n(r,a,s){return a=t(a===void 0?r.length-1:a,0),function(){for(var l=arguments,u=-1,d=t(l.length-a,0),f=Array(d);++u0){if(++s>=e)return arguments[0]}else s=0;return a.apply(void 0,arguments)}}return U1=r,U1}var H1,u4;function lne(){if(u4)return H1;u4=1;var e=sne(),t=one(),n=t(e);return H1=n,H1}var W1,d4;function cne(){if(d4)return W1;d4=1;var e=Vu(),t=ane(),n=lne();function r(a,s){return n(t(a,s,e),a+"")}return W1=r,W1}var V1,f4;function cy(){if(f4)return V1;f4=1;var e=JC(),t=Bh(),n=hO(),r=lo();function a(s,l,u){if(!r(u))return!1;var d=typeof l;return(d=="number"?t(u)&&n(l,u.length):d=="string"&&l in u)?e(u[l],s):!1}return V1=a,V1}var G1,h4;function une(){if(h4)return G1;h4=1;var e=Mz(),t=nne(),n=cne(),r=cy(),a=n(function(s,l){if(s==null)return[];var u=l.length;return u>1&&r(s,l[0],l[1])?l=[]:u>2&&r(l[0],l[1],l[2])&&(l=[l[0]]),t(s,e(l,1),[])});return G1=a,G1}var dne=une();const gO=At(dne);function If(e){"@babel/helpers - typeof";return If=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},If(e)}function q_(){return q_=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t.x),"".concat(tf,"-left"),Ce(n)&&t&&Ce(t.x)&&n=t.y),"".concat(tf,"-top"),Ce(r)&&t&&Ce(t.y)&&rw?Math.max(m,d[r]):Math.max(p,d[r])}function Cne(e){var t=e.translateX,n=e.translateY,r=e.useTranslate3d;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function One(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTopLeft,a=e.position,s=e.reverseDirection,l=e.tooltipBox,u=e.useTranslate3d,d=e.viewBox,f,m,p;return l.height>0&&l.width>0&&n?(m=v4({allowEscapeViewBox:t,coordinate:n,key:"x",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:l.width,viewBox:d,viewBoxDimension:d.width}),p=v4({allowEscapeViewBox:t,coordinate:n,key:"y",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:l.height,viewBox:d,viewBoxDimension:d.height}),f=Cne({translateX:m,translateY:p,useTranslate3d:u})):f=_ne,{cssProperties:f,cssClasses:Nne({translateX:m,translateY:p,coordinate:n})}}function uu(e){"@babel/helpers - typeof";return uu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},uu(e)}function g4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function y4(e){for(var t=1;tx4||Math.abs(r.height-this.state.lastBoundingBox.height)>x4)&&this.setState({lastBoundingBox:{width:r.width,height:r.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var r,a;this.props.active&&this.updateBBox(),this.state.dismissed&&(((r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==this.state.dismissedAtCoordinate.x||((a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var r=this,a=this.props,s=a.active,l=a.allowEscapeViewBox,u=a.animationDuration,d=a.animationEasing,f=a.children,m=a.coordinate,p=a.hasPayload,g=a.isAnimationActive,x=a.offset,j=a.position,w=a.reverseDirection,b=a.useTranslate3d,N=a.viewBox,E=a.wrapperStyle,O=One({allowEscapeViewBox:l,coordinate:m,offsetTopLeft:x,position:j,reverseDirection:w,tooltipBox:this.state.lastBoundingBox,useTranslate3d:b,viewBox:N}),A=O.cssClasses,C=O.cssProperties,k=y4(y4({transition:g&&s?"transform ".concat(u,"ms ").concat(d):void 0},C),{},{pointerEvents:"none",visibility:!this.state.dismissed&&s&&p?"visible":"hidden",position:"absolute",top:0,left:0},E);return W.createElement("div",{tabIndex:-1,className:A,style:k,ref:function(M){r.wrapperNode=M}},f)}}])})(y.PureComponent),Ine=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},Nl={isSsr:Ine()};function du(e){"@babel/helpers - typeof";return du=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},du(e)}function b4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function w4(e){for(var t=1;t0;return W.createElement($ne,{allowEscapeViewBox:l,animationDuration:u,animationEasing:d,isAnimationActive:g,active:s,coordinate:m,hasPayload:k,offset:x,position:b,reverseDirection:N,useTranslate3d:E,viewBox:O,wrapperStyle:A},Gne(f,w4(w4({},this.props),{},{payload:C})))}}])})(y.PureComponent);yO(ii,"displayName","Tooltip");yO(ii,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!Nl.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var K1,j4;function Yne(){if(j4)return K1;j4=1;var e=Si(),t=function(){return e.Date.now()};return K1=t,K1}var X1,S4;function Kne(){if(S4)return X1;S4=1;var e=/\s/;function t(n){for(var r=n.length;r--&&e.test(n.charAt(r)););return r}return X1=t,X1}var Z1,_4;function Xne(){if(_4)return Z1;_4=1;var e=Kne(),t=/^\s+/;function n(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return Z1=n,Z1}var Q1,N4;function zz(){if(N4)return Q1;N4=1;var e=Xne(),t=lo(),n=Uu(),r=NaN,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;function d(f){if(typeof f=="number")return f;if(n(f))return r;if(t(f)){var m=typeof f.valueOf=="function"?f.valueOf():f;f=t(m)?m+"":m}if(typeof f!="string")return f===0?f:+f;f=e(f);var p=s.test(f);return p||l.test(f)?u(f.slice(2),p?2:8):a.test(f)?r:+f}return Q1=d,Q1}var J1,C4;function Zne(){if(C4)return J1;C4=1;var e=lo(),t=Yne(),n=zz(),r="Expected a function",a=Math.max,s=Math.min;function l(u,d,f){var m,p,g,x,j,w,b=0,N=!1,E=!1,O=!0;if(typeof u!="function")throw new TypeError(r);d=n(d)||0,e(f)&&(N=!!f.leading,E="maxWait"in f,g=E?a(n(f.maxWait)||0,d):g,O="trailing"in f?!!f.trailing:O);function A(V){var q=m,G=p;return m=p=void 0,b=V,x=u.apply(G,q),x}function C(V){return b=V,j=setTimeout(M,d),N?A(V):x}function k(V){var q=V-w,G=V-b,L=d-q;return E?s(L,g-G):L}function T(V){var q=V-w,G=V-b;return w===void 0||q>=d||q<0||E&&G>=g}function M(){var V=t();if(T(V))return R(V);j=setTimeout(M,k(V))}function R(V){return j=void 0,O&&m?A(V):(m=p=void 0,x)}function B(){j!==void 0&&clearTimeout(j),b=0,m=w=p=j=void 0}function $(){return j===void 0?x:R(t())}function H(){var V=t(),q=T(V);if(m=arguments,p=this,w=V,q){if(j===void 0)return C(w);if(E)return clearTimeout(j),j=setTimeout(M,d),A(w)}return j===void 0&&(j=setTimeout(M,d)),x}return H.cancel=B,H.flush=$,H}return J1=l,J1}var eS,O4;function Qne(){if(O4)return eS;O4=1;var e=Zne(),t=lo(),n="Expected a function";function r(a,s,l){var u=!0,d=!0;if(typeof a!="function")throw new TypeError(n);return t(l)&&(u="leading"in l?!!l.leading:u,d="trailing"in l?!!l.trailing:d),e(a,s,{leading:u,maxWait:s,trailing:d})}return eS=r,eS}var Jne=Qne();const qz=At(Jne);function Bf(e){"@babel/helpers - typeof";return Bf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bf(e)}function E4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function $p(e){for(var t=1;t`);var E=x.inactive?f:x.color;return W.createElement("li",B_({className:b,style:p,key:"legend-item-".concat(j)},hl(r.props,x,j)),W.createElement(M_,{width:l,height:l,viewBox:m,style:g},r.renderIcon(x)),W.createElement("span",{className:"recharts-legend-item-text",style:{color:E}},w?w(N,x,j):N))})}},{key:"render",value:function(){var r=this.props,a=r.payload,s=r.layout,l=r.align;if(!a||!a.length)return null;var u={padding:0,margin:0,textAlign:s==="horizontal"?l:"left"};return W.createElement("ul",{className:"recharts-default-legend",style:u},this.renderItems())}}])})(y.PureComponent);$f(dO,"displayName","Legend");$f(dO,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var dj,_R;function qee(){if(_R)return dj;_R=1;var e=ey();function t(){this.__data__=new e,this.size=0}return dj=t,dj}var fj,NR;function Fee(){if(NR)return fj;NR=1;function e(t){var n=this.__data__,r=n.delete(t);return this.size=n.size,r}return fj=e,fj}var hj,CR;function Uee(){if(CR)return hj;CR=1;function e(t){return this.__data__.get(t)}return hj=e,hj}var mj,OR;function Hee(){if(OR)return mj;OR=1;function e(t){return this.__data__.has(t)}return mj=e,mj}var pj,ER;function Wee(){if(ER)return pj;ER=1;var e=ey(),t=tO(),n=nO(),r=200;function a(s,l){var u=this.__data__;if(u instanceof e){var d=u.__data__;if(!t||d.lengthx))return!1;var w=p.get(l),b=p.get(u);if(w&&b)return w==u&&b==l;var N=-1,E=!0,O=d&a?new e:void 0;for(p.set(l,u),p.set(u,l);++N-1&&r%1==0&&r-1&&n%1==0&&n<=e}return Ij=t,Ij}var Lj,QR;function ate(){if(QR)return Lj;QR=1;var e=fs(),t=pO(),n=hs(),r="[object Arguments]",a="[object Array]",s="[object Boolean]",l="[object Date]",u="[object Error]",d="[object Function]",f="[object Map]",m="[object Number]",p="[object Object]",g="[object RegExp]",x="[object Set]",j="[object String]",w="[object WeakMap]",b="[object ArrayBuffer]",N="[object DataView]",E="[object Float32Array]",O="[object Float64Array]",A="[object Int8Array]",C="[object Int16Array]",k="[object Int32Array]",T="[object Uint8Array]",M="[object Uint8ClampedArray]",R="[object Uint16Array]",B="[object Uint32Array]",$={};$[E]=$[O]=$[A]=$[C]=$[k]=$[T]=$[M]=$[R]=$[B]=!0,$[r]=$[a]=$[b]=$[s]=$[N]=$[l]=$[u]=$[d]=$[f]=$[m]=$[p]=$[g]=$[x]=$[j]=$[w]=!1;function H(V){return n(V)&&t(V.length)&&!!$[e(V)]}return Lj=H,Lj}var Bj,JR;function jz(){if(JR)return Bj;JR=1;function e(t){return function(n){return t(n)}}return Bj=e,Bj}var pf={exports:{}};pf.exports;var eD;function ite(){return eD||(eD=1,(function(e,t){var n=FB(),r=t&&!t.nodeType&&t,a=r&&!0&&e&&!e.nodeType&&e,s=a&&a.exports===r,l=s&&n.process,u=(function(){try{var d=a&&a.require&&a.require("util").types;return d||l&&l.binding&&l.binding("util")}catch{}})();e.exports=u})(pf,pf.exports)),pf.exports}var zj,tD;function Sz(){if(tD)return zj;tD=1;var e=ate(),t=jz(),n=ite(),r=n&&n.isTypedArray,a=r?t(r):e;return zj=a,zj}var qj,nD;function ste(){if(nD)return qj;nD=1;var e=tte(),t=hO(),n=qr(),r=wz(),a=mO(),s=Sz(),l=Object.prototype,u=l.hasOwnProperty;function d(f,m){var p=n(f),g=!p&&t(f),x=!p&&!g&&r(f),j=!p&&!g&&!x&&s(f),w=p||g||x||j,b=w?e(f.length,String):[],N=b.length;for(var E in f)(m||u.call(f,E))&&!(w&&(E=="length"||x&&(E=="offset"||E=="parent")||j&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||a(E,N)))&&b.push(E);return b}return qj=d,qj}var Fj,rD;function ote(){if(rD)return Fj;rD=1;var e=Object.prototype;function t(n){var r=n&&n.constructor,a=typeof r=="function"&&r.prototype||e;return n===a}return Fj=t,Fj}var Uj,aD;function _z(){if(aD)return Uj;aD=1;function e(t,n){return function(r){return t(n(r))}}return Uj=e,Uj}var Hj,iD;function lte(){if(iD)return Hj;iD=1;var e=_z(),t=e(Object.keys,Object);return Hj=t,Hj}var Wj,sD;function cte(){if(sD)return Wj;sD=1;var e=ote(),t=lte(),n=Object.prototype,r=n.hasOwnProperty;function a(s){if(!e(s))return t(s);var l=[];for(var u in Object(s))r.call(s,u)&&u!="constructor"&&l.push(u);return l}return Wj=a,Wj}var Vj,oD;function Bh(){if(oD)return Vj;oD=1;var e=JC(),t=pO();function n(r){return r!=null&&t(r.length)&&!e(r)}return Vj=n,Vj}var Gj,lD;function oy(){if(lD)return Gj;lD=1;var e=ste(),t=cte(),n=Bh();function r(a){return n(a)?e(a):t(a)}return Gj=r,Gj}var Yj,cD;function ute(){if(cD)return Yj;cD=1;var e=Zee(),t=ete(),n=oy();function r(a){return e(a,n,t)}return Yj=r,Yj}var Kj,uD;function dte(){if(uD)return Kj;uD=1;var e=ute(),t=1,n=Object.prototype,r=n.hasOwnProperty;function a(s,l,u,d,f,m){var p=u&t,g=e(s),x=g.length,j=e(l),w=j.length;if(x!=w&&!p)return!1;for(var b=x;b--;){var N=g[b];if(!(p?N in l:r.call(l,N)))return!1}var E=m.get(s),O=m.get(l);if(E&&O)return E==l&&O==s;var A=!0;m.set(s,l),m.set(l,s);for(var C=p;++b-1}return w1=t,w1}var j1,ID;function kte(){if(ID)return j1;ID=1;function e(t,n,r){for(var a=-1,s=t==null?0:t.length;++a=l){var N=f?null:a(d);if(N)return s(N);j=!1,g=r,b=new e}else b=f?[]:w;e:for(;++p=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Vte(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Gte(e){return e.value}function Yte(e,t){if(W.isValidElement(e))return W.cloneElement(e,t);if(typeof e=="function")return W.createElement(e,t);t.ref;var n=Wte(t,Ite);return W.createElement(dO,n)}var WD=1,al=(function(e){function t(){var n;Lte(this,t);for(var r=arguments.length,a=new Array(r),s=0;sWD||Math.abs(a.height-this.lastBoundingBox.height)>WD)&&(this.lastBoundingBox.width=a.width,this.lastBoundingBox.height=a.height,r&&r(a)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,r&&r(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?Vi({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(r){var a=this.props,s=a.layout,l=a.align,u=a.verticalAlign,d=a.margin,f=a.chartWidth,m=a.chartHeight,p,g;if(!r||(r.left===void 0||r.left===null)&&(r.right===void 0||r.right===null))if(l==="center"&&s==="vertical"){var x=this.getBBoxSnapshot();p={left:((f||0)-x.width)/2}}else p=l==="right"?{right:d&&d.right||0}:{left:d&&d.left||0};if(!r||(r.top===void 0||r.top===null)&&(r.bottom===void 0||r.bottom===null))if(u==="middle"){var j=this.getBBoxSnapshot();g={top:((m||0)-j.height)/2}}else g=u==="bottom"?{bottom:d&&d.bottom||0}:{top:d&&d.top||0};return Vi(Vi({},p),g)}},{key:"render",value:function(){var r=this,a=this.props,s=a.content,l=a.width,u=a.height,d=a.wrapperStyle,f=a.payloadUniqBy,m=a.payload,p=Vi(Vi({position:"absolute",width:l||"auto",height:u||"auto"},this.getDefaultPosition(d)),d);return W.createElement("div",{className:"recharts-legend-wrapper",style:p,ref:function(x){r.wrapperNode=x}},Yte(s,Vi(Vi({},this.props),{},{payload:Az(m,f,Gte)})))}}],[{key:"getWithHeight",value:function(r,a){var s=Vi(Vi({},this.defaultProps),r.props),l=s.layout;return l==="vertical"&&Ce(r.props.height)?{height:r.props.height}:l==="horizontal"?{width:r.props.width||a}:null}}])})(y.PureComponent);ly(al,"displayName","Legend");ly(al,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var O1,VD;function Kte(){if(VD)return O1;VD=1;var e=Ih(),t=hO(),n=qr(),r=e?e.isConcatSpreadable:void 0;function a(s){return n(s)||t(s)||!!(r&&s&&s[r])}return O1=a,O1}var E1,GD;function Mz(){if(GD)return E1;GD=1;var e=bz(),t=Kte();function n(r,a,s,l,u){var d=-1,f=r.length;for(s||(s=t),u||(u=[]);++d0&&s(m)?a>1?n(m,a-1,s,l,u):e(u,m):l||(u[u.length]=m)}return u}return E1=n,E1}var A1,YD;function Xte(){if(YD)return A1;YD=1;function e(t){return function(n,r,a){for(var s=-1,l=Object(n),u=a(n),d=u.length;d--;){var f=u[t?d:++s];if(r(l[f],f,l)===!1)break}return n}}return A1=e,A1}var T1,KD;function Zte(){if(KD)return T1;KD=1;var e=Xte(),t=e();return T1=t,T1}var k1,XD;function Pz(){if(XD)return k1;XD=1;var e=Zte(),t=oy();function n(r,a){return r&&e(r,a,t)}return k1=n,k1}var M1,ZD;function Qte(){if(ZD)return M1;ZD=1;var e=Bh();function t(n,r){return function(a,s){if(a==null)return a;if(!e(a))return n(a,s);for(var l=a.length,u=r?l:-1,d=Object(a);(r?u--:++ur||u&&d&&m&&!f&&!p||s&&d&&m||!a&&m||!l)return 1;if(!s&&!u&&!p&&n=f)return m;var p=a[s];return m*(p=="desc"?-1:1)}}return n.index-r.index}return I1=t,I1}var L1,r4;function nne(){if(r4)return L1;r4=1;var e=rO(),t=aO(),n=_i(),r=Rz(),a=Jte(),s=jz(),l=tne(),u=Vu(),d=qr();function f(m,p,g){p.length?p=e(p,function(w){return d(w)?function(b){return t(b,w.length===1?w[0]:w)}:w}):p=[u];var x=-1;p=e(p,s(n));var j=r(m,function(w,b,N){var E=e(p,function(O){return O(w)});return{criteria:E,index:++x,value:w}});return a(j,function(w,b){return l(w,b,g)})}return L1=f,L1}var B1,a4;function rne(){if(a4)return B1;a4=1;function e(t,n,r){switch(r.length){case 0:return t.call(n);case 1:return t.call(n,r[0]);case 2:return t.call(n,r[0],r[1]);case 3:return t.call(n,r[0],r[1],r[2])}return t.apply(n,r)}return B1=e,B1}var z1,i4;function ane(){if(i4)return z1;i4=1;var e=rne(),t=Math.max;function n(r,a,s){return a=t(a===void 0?r.length-1:a,0),function(){for(var l=arguments,u=-1,d=t(l.length-a,0),f=Array(d);++u0){if(++s>=e)return arguments[0]}else s=0;return a.apply(void 0,arguments)}}return H1=r,H1}var W1,u4;function lne(){if(u4)return W1;u4=1;var e=sne(),t=one(),n=t(e);return W1=n,W1}var V1,d4;function cne(){if(d4)return V1;d4=1;var e=Vu(),t=ane(),n=lne();function r(a,s){return n(t(a,s,e),a+"")}return V1=r,V1}var G1,f4;function cy(){if(f4)return G1;f4=1;var e=eO(),t=Bh(),n=mO(),r=lo();function a(s,l,u){if(!r(u))return!1;var d=typeof l;return(d=="number"?t(u)&&n(l,u.length):d=="string"&&l in u)?e(u[l],s):!1}return G1=a,G1}var Y1,h4;function une(){if(h4)return Y1;h4=1;var e=Mz(),t=nne(),n=cne(),r=cy(),a=n(function(s,l){if(s==null)return[];var u=l.length;return u>1&&r(s,l[0],l[1])?l=[]:u>2&&r(l[0],l[1],l[2])&&(l=[l[0]]),t(s,e(l,1),[])});return Y1=a,Y1}var dne=une();const yO=At(dne);function If(e){"@babel/helpers - typeof";return If=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},If(e)}function F_(){return F_=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t.x),"".concat(tf,"-left"),Ce(n)&&t&&Ce(t.x)&&n=t.y),"".concat(tf,"-top"),Ce(r)&&t&&Ce(t.y)&&rw?Math.max(m,d[r]):Math.max(p,d[r])}function Cne(e){var t=e.translateX,n=e.translateY,r=e.useTranslate3d;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function One(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTopLeft,a=e.position,s=e.reverseDirection,l=e.tooltipBox,u=e.useTranslate3d,d=e.viewBox,f,m,p;return l.height>0&&l.width>0&&n?(m=v4({allowEscapeViewBox:t,coordinate:n,key:"x",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:l.width,viewBox:d,viewBoxDimension:d.width}),p=v4({allowEscapeViewBox:t,coordinate:n,key:"y",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:l.height,viewBox:d,viewBoxDimension:d.height}),f=Cne({translateX:m,translateY:p,useTranslate3d:u})):f=_ne,{cssProperties:f,cssClasses:Nne({translateX:m,translateY:p,coordinate:n})}}function uu(e){"@babel/helpers - typeof";return uu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},uu(e)}function g4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function y4(e){for(var t=1;tx4||Math.abs(r.height-this.state.lastBoundingBox.height)>x4)&&this.setState({lastBoundingBox:{width:r.width,height:r.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var r,a;this.props.active&&this.updateBBox(),this.state.dismissed&&(((r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==this.state.dismissedAtCoordinate.x||((a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var r=this,a=this.props,s=a.active,l=a.allowEscapeViewBox,u=a.animationDuration,d=a.animationEasing,f=a.children,m=a.coordinate,p=a.hasPayload,g=a.isAnimationActive,x=a.offset,j=a.position,w=a.reverseDirection,b=a.useTranslate3d,N=a.viewBox,E=a.wrapperStyle,O=One({allowEscapeViewBox:l,coordinate:m,offsetTopLeft:x,position:j,reverseDirection:w,tooltipBox:this.state.lastBoundingBox,useTranslate3d:b,viewBox:N}),A=O.cssClasses,C=O.cssProperties,k=y4(y4({transition:g&&s?"transform ".concat(u,"ms ").concat(d):void 0},C),{},{pointerEvents:"none",visibility:!this.state.dismissed&&s&&p?"visible":"hidden",position:"absolute",top:0,left:0},E);return W.createElement("div",{tabIndex:-1,className:A,style:k,ref:function(M){r.wrapperNode=M}},f)}}])})(y.PureComponent),Ine=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},Nl={isSsr:Ine()};function du(e){"@babel/helpers - typeof";return du=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},du(e)}function b4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function w4(e){for(var t=1;t0;return W.createElement($ne,{allowEscapeViewBox:l,animationDuration:u,animationEasing:d,isAnimationActive:g,active:s,coordinate:m,hasPayload:k,offset:x,position:b,reverseDirection:N,useTranslate3d:E,viewBox:O,wrapperStyle:A},Gne(f,w4(w4({},this.props),{},{payload:C})))}}])})(y.PureComponent);xO(ii,"displayName","Tooltip");xO(ii,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!Nl.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var X1,j4;function Yne(){if(j4)return X1;j4=1;var e=Si(),t=function(){return e.Date.now()};return X1=t,X1}var Z1,S4;function Kne(){if(S4)return Z1;S4=1;var e=/\s/;function t(n){for(var r=n.length;r--&&e.test(n.charAt(r)););return r}return Z1=t,Z1}var Q1,_4;function Xne(){if(_4)return Q1;_4=1;var e=Kne(),t=/^\s+/;function n(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return Q1=n,Q1}var J1,N4;function zz(){if(N4)return J1;N4=1;var e=Xne(),t=lo(),n=Uu(),r=NaN,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;function d(f){if(typeof f=="number")return f;if(n(f))return r;if(t(f)){var m=typeof f.valueOf=="function"?f.valueOf():f;f=t(m)?m+"":m}if(typeof f!="string")return f===0?f:+f;f=e(f);var p=s.test(f);return p||l.test(f)?u(f.slice(2),p?2:8):a.test(f)?r:+f}return J1=d,J1}var eS,C4;function Zne(){if(C4)return eS;C4=1;var e=lo(),t=Yne(),n=zz(),r="Expected a function",a=Math.max,s=Math.min;function l(u,d,f){var m,p,g,x,j,w,b=0,N=!1,E=!1,O=!0;if(typeof u!="function")throw new TypeError(r);d=n(d)||0,e(f)&&(N=!!f.leading,E="maxWait"in f,g=E?a(n(f.maxWait)||0,d):g,O="trailing"in f?!!f.trailing:O);function A(V){var q=m,G=p;return m=p=void 0,b=V,x=u.apply(G,q),x}function C(V){return b=V,j=setTimeout(M,d),N?A(V):x}function k(V){var q=V-w,G=V-b,L=d-q;return E?s(L,g-G):L}function T(V){var q=V-w,G=V-b;return w===void 0||q>=d||q<0||E&&G>=g}function M(){var V=t();if(T(V))return R(V);j=setTimeout(M,k(V))}function R(V){return j=void 0,O&&m?A(V):(m=p=void 0,x)}function B(){j!==void 0&&clearTimeout(j),b=0,m=w=p=j=void 0}function $(){return j===void 0?x:R(t())}function H(){var V=t(),q=T(V);if(m=arguments,p=this,w=V,q){if(j===void 0)return C(w);if(E)return clearTimeout(j),j=setTimeout(M,d),A(w)}return j===void 0&&(j=setTimeout(M,d)),x}return H.cancel=B,H.flush=$,H}return eS=l,eS}var tS,O4;function Qne(){if(O4)return tS;O4=1;var e=Zne(),t=lo(),n="Expected a function";function r(a,s,l){var u=!0,d=!0;if(typeof a!="function")throw new TypeError(n);return t(l)&&(u="leading"in l?!!l.leading:u,d="trailing"in l?!!l.trailing:d),e(a,s,{leading:u,maxWait:s,trailing:d})}return tS=r,tS}var Jne=Qne();const qz=At(Jne);function Bf(e){"@babel/helpers - typeof";return Bf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bf(e)}function E4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function $p(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(V=qz(V,w,{trailing:!0,leading:!1}));var q=new ResizeObserver(V),G=C.current.getBoundingClientRect(),L=G.width,D=G.height;return $(L,D),q.observe(C.current),function(){q.disconnect()}},[$,w]);var H=y.useMemo(function(){var V=R.containerWidth,q=R.containerHeight;if(V<0||q<0)return null;Ha(Ko(l)||Ko(d),`The width(%s) and height(%s) are both fixed numbers, maybe you don't need to use a ResponsiveContainer.`,l,d),Ha(!n||n>0,"The aspect(%s) must be greater than zero.",n);var G=Ko(l)?V:l,L=Ko(d)?q:d;n&&n>0&&(G?L=G/n:L&&(G=L*n),g&&L>g&&(L=g)),Ha(G>0||L>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,G,L,l,d,m,p,n);var D=!Array.isArray(x)&&ns(x.type).endsWith("Chart");return W.Children.map(x,function(U){return W.isValidElement(U)?y.cloneElement(U,$p({width:G,height:L},D?{style:$p({height:"100%",width:"100%",maxHeight:L,maxWidth:G},U.props.style)}:{})):U})},[n,x,d,g,p,m,R,l]);return W.createElement("div",{id:b?"".concat(b):void 0,className:Je("recharts-responsive-container",N),style:$p($p({},A),{},{width:l,height:d,minWidth:m,minHeight:p,maxHeight:g}),ref:C},H)}),uy=function(t){return null};uy.displayName="Cell";function zf(e){"@babel/helpers - typeof";return zf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zf(e)}function T4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function W_(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Nl.isSsr)return{width:0,height:0};var r=mre(n),a=JSON.stringify({text:t,copyStyle:r});if(Nc.widthCache[a])return Nc.widthCache[a];try{var s=document.getElementById(k4);s||(s=document.createElement("span"),s.setAttribute("id",k4),s.setAttribute("aria-hidden","true"),document.body.appendChild(s));var l=W_(W_({},hre),r);Object.assign(s.style,l),s.textContent="".concat(t);var u=s.getBoundingClientRect(),d={width:u.width,height:u.height};return Nc.widthCache[a]=d,++Nc.cacheCount>fre&&(Nc.cacheCount=0,Nc.widthCache={}),d}catch{return{width:0,height:0}}},pre=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function qf(e){"@babel/helpers - typeof";return qf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qf(e)}function zv(e,t){return xre(e)||yre(e,t)||gre(e,t)||vre()}function vre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gre(e,t){if(e){if(typeof e=="string")return M4(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M4(e,t)}}function M4(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Pre(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function L4(e,t){return Ire(e)||$re(e,t)||Dre(e,t)||Rre()}function Rre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dre(e,t){if(e){if(typeof e=="string")return B4(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return B4(e,t)}}function B4(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[];return G.reduce(function(L,D){var U=D.word,K=D.width,J=L[L.length-1];if(J&&(a==null||s||J.width+K+rD.width?L:D})};if(!m)return x;for(var w="…",b=function(G){var L=p.slice(0,G),D=Wz({breakAll:f,style:d,children:L+w}).wordsWithComputedWidth,U=g(D),K=U.length>l||j(U).width>Number(a);return[K,U]},N=0,E=p.length-1,O=0,A;N<=E&&O<=p.length-1;){var C=Math.floor((N+E)/2),k=C-1,T=b(k),M=L4(T,2),R=M[0],B=M[1],$=b(C),H=L4($,1),V=H[0];if(!R&&!V&&(N=C+1),R&&V&&(E=C-1),!R&&V){A=B;break}O++}return A||x},z4=function(t){var n=Qe(t)?[]:t.toString().split(Hz);return[{words:n}]},Bre=function(t){var n=t.width,r=t.scaleToFit,a=t.children,s=t.style,l=t.breakAll,u=t.maxLines;if((n||r)&&!Nl.isSsr){var d,f,m=Wz({breakAll:l,children:a,style:s});if(m){var p=m.wordsWithComputedWidth,g=m.spaceWidth;d=p,f=g}else return z4(a);return Lre({breakAll:l,children:a,maxLines:u,style:s},d,f,n,r)}return z4(a)},q4="#808080",ml=function(t){var n=t.x,r=n===void 0?0:n,a=t.y,s=a===void 0?0:a,l=t.lineHeight,u=l===void 0?"1em":l,d=t.capHeight,f=d===void 0?"0.71em":d,m=t.scaleToFit,p=m===void 0?!1:m,g=t.textAnchor,x=g===void 0?"start":g,j=t.verticalAnchor,w=j===void 0?"end":j,b=t.fill,N=b===void 0?q4:b,E=I4(t,kre),O=y.useMemo(function(){return Bre({breakAll:E.breakAll,children:E.children,maxLines:E.maxLines,scaleToFit:p,style:E.style,width:E.width})},[E.breakAll,E.children,E.maxLines,p,E.style,E.width]),A=E.dx,C=E.dy,k=E.angle,T=E.className,M=E.breakAll,R=I4(E,Mre);if(!Ln(r)||!Ln(s))return null;var B=r+(Ce(A)?A:0),$=s+(Ce(C)?C:0),H;switch(w){case"start":H=tS("calc(".concat(f,")"));break;case"middle":H=tS("calc(".concat((O.length-1)/2," * -").concat(u," + (").concat(f," / 2))"));break;default:H=tS("calc(".concat(O.length-1," * -").concat(u,")"));break}var V=[];if(p){var q=O[0].width,G=E.width;V.push("scale(".concat((Ce(G)?G/q:1)/q,")"))}return k&&V.push("rotate(".concat(k,", ").concat(B,", ").concat($,")")),V.length&&(R.transform=V.join(" ")),W.createElement("text",V_({},qe(R,!0),{x:B,y:$,className:Je("recharts-text",T),textAnchor:x,fill:N.includes("url")?q4:N}),O.map(function(L,D){var U=L.words.join(M?"":" ");return W.createElement("tspan",{x:B,dy:D===0?H:u,key:"".concat(U,"-").concat(D)},U)}))};function Qs(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function zre(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function xO(e){let t,n,r;e.length!==2?(t=Qs,n=(u,d)=>Qs(e(u),d),r=(u,d)=>e(u)-d):(t=e===Qs||e===zre?e:qre,n=e,r=e);function a(u,d,f=0,m=u.length){if(f>>1;n(u[p],d)<0?f=p+1:m=p}while(f>>1;n(u[p],d)<=0?f=p+1:m=p}while(ff&&r(u[p-1],d)>-r(u[p],d)?p-1:p}return{left:a,center:l,right:s}}function qre(){return 0}function Vz(e){return e===null?NaN:+e}function*Fre(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const Ure=xO(Qs),zh=Ure.right;xO(Vz).center;class F4 extends Map{constructor(t,n=Vre){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,a]of t)this.set(r,a)}get(t){return super.get(U4(this,t))}has(t){return super.has(U4(this,t))}set(t,n){return super.set(Hre(this,t),n)}delete(t){return super.delete(Wre(this,t))}}function U4({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function Hre({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Wre({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function Vre(e){return e!==null&&typeof e=="object"?e.valueOf():e}function Gre(e=Qs){if(e===Qs)return Gz;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function Gz(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const Yre=Math.sqrt(50),Kre=Math.sqrt(10),Xre=Math.sqrt(2);function qv(e,t,n){const r=(t-e)/Math.max(0,n),a=Math.floor(Math.log10(r)),s=r/Math.pow(10,a),l=s>=Yre?10:s>=Kre?5:s>=Xre?2:1;let u,d,f;return a<0?(f=Math.pow(10,-a)/l,u=Math.round(e*f),d=Math.round(t*f),u/ft&&--d,f=-f):(f=Math.pow(10,a)*l,u=Math.round(e/f),d=Math.round(t/f),u*ft&&--d),d0))return[];if(e===t)return[e];const r=t=a))return[];const u=s-a+1,d=new Array(u);if(r)if(l<0)for(let f=0;f=r)&&(n=r);return n}function W4(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function Yz(e,t,n=0,r=1/0,a){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(a=a===void 0?Gz:Gre(a);r>n;){if(r-n>600){const d=r-n+1,f=t-n+1,m=Math.log(d),p=.5*Math.exp(2*m/3),g=.5*Math.sqrt(m*p*(d-p)/d)*(f-d/2<0?-1:1),x=Math.max(n,Math.floor(t-f*p/d+g)),j=Math.min(r,Math.floor(t+(d-f)*p/d+g));Yz(e,t,x,j,a)}const s=e[t];let l=n,u=r;for(nf(e,n,t),a(e[r],s)>0&&nf(e,n,r);l0;)--u}a(e[n],s)===0?nf(e,n,u):(++u,nf(e,u,r)),u<=t&&(n=u+1),t<=u&&(r=u-1)}return e}function nf(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function Zre(e,t,n){if(e=Float64Array.from(Fre(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return W4(e);if(t>=1)return H4(e);var r,a=(r-1)*t,s=Math.floor(a),l=H4(Yz(e,s).subarray(0,s+1)),u=W4(e.subarray(s+1));return l+(u-l)*(a-s)}}function Qre(e,t,n=Vz){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,a=(r-1)*t,s=Math.floor(a),l=+n(e[s],s,e),u=+n(e[s+1],s+1,e);return l+(u-l)*(a-s)}}function Jre(e,t,n){e=+e,t=+t,n=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((t-e)/n))|0,s=new Array(a);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Lp(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Lp(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=tae.exec(e))?new Rr(t[1],t[2],t[3],1):(t=nae.exec(e))?new Rr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=rae.exec(e))?Lp(t[1],t[2],t[3],t[4]):(t=aae.exec(e))?Lp(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=iae.exec(e))?Q4(t[1],t[2]/100,t[3]/100,1):(t=sae.exec(e))?Q4(t[1],t[2]/100,t[3]/100,t[4]):V4.hasOwnProperty(e)?K4(V4[e]):e==="transparent"?new Rr(NaN,NaN,NaN,0):null}function K4(e){return new Rr(e>>16&255,e>>8&255,e&255,1)}function Lp(e,t,n,r){return r<=0&&(e=t=n=NaN),new Rr(e,t,n,r)}function cae(e){return e instanceof qh||(e=Wf(e)),e?(e=e.rgb(),new Rr(e.r,e.g,e.b,e.opacity)):new Rr}function Z_(e,t,n,r){return arguments.length===1?cae(e):new Rr(e,t,n,r??1)}function Rr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}wO(Rr,Z_,Xz(qh,{brighter(e){return e=e==null?Fv:Math.pow(Fv,e),new Rr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Uf:Math.pow(Uf,e),new Rr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Rr(il(this.r),il(this.g),il(this.b),Uv(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:X4,formatHex:X4,formatHex8:uae,formatRgb:Z4,toString:Z4}));function X4(){return`#${Xo(this.r)}${Xo(this.g)}${Xo(this.b)}`}function uae(){return`#${Xo(this.r)}${Xo(this.g)}${Xo(this.b)}${Xo((isNaN(this.opacity)?1:this.opacity)*255)}`}function Z4(){const e=Uv(this.opacity);return`${e===1?"rgb(":"rgba("}${il(this.r)}, ${il(this.g)}, ${il(this.b)}${e===1?")":`, ${e})`}`}function Uv(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function il(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Xo(e){return e=il(e),(e<16?"0":"")+e.toString(16)}function Q4(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new qa(e,t,n,r)}function Zz(e){if(e instanceof qa)return new qa(e.h,e.s,e.l,e.opacity);if(e instanceof qh||(e=Wf(e)),!e)return new qa;if(e instanceof qa)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),s=Math.max(t,n,r),l=NaN,u=s-a,d=(s+a)/2;return u?(t===s?l=(n-r)/u+(n0&&d<1?0:l,new qa(l,u,d,e.opacity)}function dae(e,t,n,r){return arguments.length===1?Zz(e):new qa(e,t,n,r??1)}function qa(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}wO(qa,dae,Xz(qh,{brighter(e){return e=e==null?Fv:Math.pow(Fv,e),new qa(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Uf:Math.pow(Uf,e),new qa(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,a=2*n-r;return new Rr(nS(e>=240?e-240:e+120,a,r),nS(e,a,r),nS(e<120?e+240:e-120,a,r),this.opacity)},clamp(){return new qa(J4(this.h),Bp(this.s),Bp(this.l),Uv(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Uv(this.opacity);return`${e===1?"hsl(":"hsla("}${J4(this.h)}, ${Bp(this.s)*100}%, ${Bp(this.l)*100}%${e===1?")":`, ${e})`}`}}));function J4(e){return e=(e||0)%360,e<0?e+360:e}function Bp(e){return Math.max(0,Math.min(1,e||0))}function nS(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const jO=e=>()=>e;function fae(e,t){return function(n){return e+n*t}}function hae(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function mae(e){return(e=+e)==1?Qz:function(t,n){return n-t?hae(t,n,e):jO(isNaN(t)?n:t)}}function Qz(e,t){var n=t-e;return n?fae(e,n):jO(isNaN(e)?t:e)}const e3=(function e(t){var n=mae(t);function r(a,s){var l=n((a=Z_(a)).r,(s=Z_(s)).r),u=n(a.g,s.g),d=n(a.b,s.b),f=Qz(a.opacity,s.opacity);return function(m){return a.r=l(m),a.g=u(m),a.b=d(m),a.opacity=f(m),a+""}}return r.gamma=e,r})(1);function pae(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),a;return function(s){for(a=0;an&&(s=t.slice(n,s),u[l]?u[l]+=s:u[++l]=s),(r=r[0])===(a=a[0])?u[l]?u[l]+=a:u[++l]=a:(u[++l]=null,d.push({i:l,x:Hv(r,a)})),n=rS.lastIndex;return nt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function Cae(e,t,n){var r=e[0],a=e[1],s=t[0],l=t[1];return a2?Oae:Cae,d=f=null,p}function p(g){return g==null||isNaN(g=+g)?s:(d||(d=u(e.map(r),t,n)))(r(l(g)))}return p.invert=function(g){return l(a((f||(f=u(t,e.map(r),Hv)))(g)))},p.domain=function(g){return arguments.length?(e=Array.from(g,Wv),m()):e.slice()},p.range=function(g){return arguments.length?(t=Array.from(g),m()):t.slice()},p.rangeRound=function(g){return t=Array.from(g),n=SO,m()},p.clamp=function(g){return arguments.length?(l=g?!0:_r,m()):l!==_r},p.interpolate=function(g){return arguments.length?(n=g,m()):n},p.unknown=function(g){return arguments.length?(s=g,p):s},function(g,x){return r=g,a=x,m()}}function _O(){return dy()(_r,_r)}function Eae(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Vv(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function fu(e){return e=Vv(Math.abs(e)),e?e[1]:NaN}function Aae(e,t){return function(n,r){for(var a=n.length,s=[],l=0,u=e[0],d=0;a>0&&u>0&&(d+u+1>r&&(u=Math.max(1,r-d)),s.push(n.substring(a-=u,a+u)),!((d+=u+1)>r));)u=e[l=(l+1)%e.length];return s.reverse().join(t)}}function Tae(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var kae=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Vf(e){if(!(t=kae.exec(e)))throw new Error("invalid format: "+e);var t;return new NO({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Vf.prototype=NO.prototype;function NO(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}NO.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Mae(e){e:for(var t=e.length,n=1,r=-1,a;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(a+1):e}var Jz;function Pae(e,t){var n=Vv(e,t);if(!n)return e+"";var r=n[0],a=n[1],s=a-(Jz=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,l=r.length;return s===l?r:s>l?r+new Array(s-l+1).join("0"):s>0?r.slice(0,s)+"."+r.slice(s):"0."+new Array(1-s).join("0")+Vv(e,Math.max(0,t+s-1))[0]}function n3(e,t){var n=Vv(e,t);if(!n)return e+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}const r3={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:Eae,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>n3(e*100,t),r:n3,s:Pae,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function a3(e){return e}var i3=Array.prototype.map,s3=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Rae(e){var t=e.grouping===void 0||e.thousands===void 0?a3:Aae(i3.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",s=e.numerals===void 0?a3:Tae(i3.call(e.numerals,String)),l=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"−":e.minus+"",d=e.nan===void 0?"NaN":e.nan+"";function f(p){p=Vf(p);var g=p.fill,x=p.align,j=p.sign,w=p.symbol,b=p.zero,N=p.width,E=p.comma,O=p.precision,A=p.trim,C=p.type;C==="n"?(E=!0,C="g"):r3[C]||(O===void 0&&(O=12),A=!0,C="g"),(b||g==="0"&&x==="=")&&(b=!0,g="0",x="=");var k=w==="$"?n:w==="#"&&/[boxX]/.test(C)?"0"+C.toLowerCase():"",T=w==="$"?r:/[%p]/.test(C)?l:"",M=r3[C],R=/[defgprs%]/.test(C);O=O===void 0?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function B($){var H=k,V=T,q,G,L;if(C==="c")V=M($)+V,$="";else{$=+$;var D=$<0||1/$<0;if($=isNaN($)?d:M(Math.abs($),O),A&&($=Mae($)),D&&+$==0&&j!=="+"&&(D=!1),H=(D?j==="("?j:u:j==="-"||j==="("?"":j)+H,V=(C==="s"?s3[8+Jz/3]:"")+V+(D&&j==="("?")":""),R){for(q=-1,G=$.length;++qL||L>57){V=(L===46?a+$.slice(q+1):$.slice(q))+V,$=$.slice(0,q);break}}}E&&!b&&($=t($,1/0));var U=H.length+$.length+V.length,K=U>1)+H+$+V+K.slice(U);break;default:$=K+H+$+V;break}return s($)}return B.toString=function(){return p+""},B}function m(p,g){var x=f((p=Vf(p),p.type="f",p)),j=Math.max(-8,Math.min(8,Math.floor(fu(g)/3)))*3,w=Math.pow(10,-j),b=s3[8+j/3];return function(N){return x(w*N)+b}}return{format:f,formatPrefix:m}}var zp,CO,e6;Dae({thousands:",",grouping:[3],currency:["$",""]});function Dae(e){return zp=Rae(e),CO=zp.format,e6=zp.formatPrefix,zp}function $ae(e){return Math.max(0,-fu(Math.abs(e)))}function Iae(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(fu(t)/3)))*3-fu(Math.abs(e)))}function Lae(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,fu(t)-fu(e))+1}function t6(e,t,n,r){var a=K_(e,t,n),s;switch(r=Vf(r??",f"),r.type){case"s":{var l=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(s=Iae(a,l))&&(r.precision=s),e6(r,l)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(s=Lae(a,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=s-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(s=$ae(a))&&(r.precision=s-(r.type==="%")*2);break}}return CO(r)}function co(e){var t=e.domain;return e.ticks=function(n){var r=t();return G_(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var a=t();return t6(a[0],a[a.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),a=0,s=r.length-1,l=r[a],u=r[s],d,f,m=10;for(u0;){if(f=Y_(l,u,n),f===d)return r[a]=l,r[s]=u,t(r);if(f>0)l=Math.floor(l/f)*f,u=Math.ceil(u/f)*f;else if(f<0)l=Math.ceil(l*f)/f,u=Math.floor(u*f)/f;else break;d=f}return e},e}function Gv(){var e=_O();return e.copy=function(){return Fh(e,Gv())},ka.apply(e,arguments),co(e)}function n6(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,Wv),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return n6(e).unknown(t)},e=arguments.length?Array.from(e,Wv):[0,1],co(n)}function r6(e,t){e=e.slice();var n=0,r=e.length-1,a=e[n],s=e[r],l;return sMath.pow(e,t)}function Uae(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function c3(e){return(t,n)=>-e(-t,n)}function OO(e){const t=e(o3,l3),n=t.domain;let r=10,a,s;function l(){return a=Uae(r),s=Fae(r),n()[0]<0?(a=c3(a),s=c3(s),e(Bae,zae)):e(o3,l3),t}return t.base=function(u){return arguments.length?(r=+u,l()):r},t.domain=function(u){return arguments.length?(n(u),l()):n()},t.ticks=u=>{const d=n();let f=d[0],m=d[d.length-1];const p=m0){for(;g<=x;++g)for(j=1;jm)break;N.push(w)}}else for(;g<=x;++g)for(j=r-1;j>=1;--j)if(w=g>0?j/s(-g):j*s(g),!(wm)break;N.push(w)}N.length*2{if(u==null&&(u=10),d==null&&(d=r===10?"s":","),typeof d!="function"&&(!(r%1)&&(d=Vf(d)).precision==null&&(d.trim=!0),d=CO(d)),u===1/0)return d;const f=Math.max(1,r*u/t.ticks().length);return m=>{let p=m/s(Math.round(a(m)));return p*rn(r6(n(),{floor:u=>s(Math.floor(a(u))),ceil:u=>s(Math.ceil(a(u)))})),t}function a6(){const e=OO(dy()).domain([1,10]);return e.copy=()=>Fh(e,a6()).base(e.base()),ka.apply(e,arguments),e}function u3(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function d3(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function EO(e){var t=1,n=e(u3(t),d3(t));return n.constant=function(r){return arguments.length?e(u3(t=+r),d3(t)):t},co(n)}function i6(){var e=EO(dy());return e.copy=function(){return Fh(e,i6()).constant(e.constant())},ka.apply(e,arguments)}function f3(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function Hae(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Wae(e){return e<0?-e*e:e*e}function AO(e){var t=e(_r,_r),n=1;function r(){return n===1?e(_r,_r):n===.5?e(Hae,Wae):e(f3(n),f3(1/n))}return t.exponent=function(a){return arguments.length?(n=+a,r()):n},co(t)}function TO(){var e=AO(dy());return e.copy=function(){return Fh(e,TO()).exponent(e.exponent())},ka.apply(e,arguments),e}function Vae(){return TO.apply(null,arguments).exponent(.5)}function h3(e){return Math.sign(e)*e*e}function Gae(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function s6(){var e=_O(),t=[0,1],n=!1,r;function a(s){var l=Gae(e(s));return isNaN(l)?r:n?Math.round(l):l}return a.invert=function(s){return e.invert(h3(s))},a.domain=function(s){return arguments.length?(e.domain(s),a):e.domain()},a.range=function(s){return arguments.length?(e.range((t=Array.from(s,Wv)).map(h3)),a):t.slice()},a.rangeRound=function(s){return a.range(s).round(!0)},a.round=function(s){return arguments.length?(n=!!s,a):n},a.clamp=function(s){return arguments.length?(e.clamp(s),a):e.clamp()},a.unknown=function(s){return arguments.length?(r=s,a):r},a.copy=function(){return s6(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},ka.apply(a,arguments),co(a)}function o6(){var e=[],t=[],n=[],r;function a(){var l=0,u=Math.max(1,t.length);for(n=new Array(u-1);++l0?n[u-1]:e[0],u=n?[r[n-1],t]:[r[f-1],r[f]]},l.unknown=function(d){return arguments.length&&(s=d),l},l.thresholds=function(){return r.slice()},l.copy=function(){return l6().domain([e,t]).range(a).unknown(s)},ka.apply(co(l),arguments)}function c6(){var e=[.5],t=[0,1],n,r=1;function a(s){return s!=null&&s<=s?t[zh(e,s,0,r)]:n}return a.domain=function(s){return arguments.length?(e=Array.from(s),r=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(s){return arguments.length?(t=Array.from(s),r=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(s){var l=t.indexOf(s);return[e[l-1],e[l]]},a.unknown=function(s){return arguments.length?(n=s,a):n},a.copy=function(){return c6().domain(e).range(t).unknown(n)},ka.apply(a,arguments)}const aS=new Date,iS=new Date;function zn(e,t,n,r){function a(s){return e(s=arguments.length===0?new Date:new Date(+s)),s}return a.floor=s=>(e(s=new Date(+s)),s),a.ceil=s=>(e(s=new Date(s-1)),t(s,1),e(s),s),a.round=s=>{const l=a(s),u=a.ceil(s);return s-l(t(s=new Date(+s),l==null?1:Math.floor(l)),s),a.range=(s,l,u)=>{const d=[];if(s=a.ceil(s),u=u==null?1:Math.floor(u),!(s0))return d;let f;do d.push(f=new Date(+s)),t(s,u),e(s);while(fzn(l=>{if(l>=l)for(;e(l),!s(l);)l.setTime(l-1)},(l,u)=>{if(l>=l)if(u<0)for(;++u<=0;)for(;t(l,-1),!s(l););else for(;--u>=0;)for(;t(l,1),!s(l););}),n&&(a.count=(s,l)=>(aS.setTime(+s),iS.setTime(+l),e(aS),e(iS),Math.floor(n(aS,iS))),a.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?a.filter(r?l=>r(l)%s===0:l=>a.count(0,l)%s===0):a)),a}const Yv=zn(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Yv.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?zn(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Yv);Yv.range;const Xi=1e3,Ca=Xi*60,Zi=Ca*60,ss=Zi*24,kO=ss*7,m3=ss*30,sS=ss*365,Zo=zn(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Xi)},(e,t)=>(t-e)/Xi,e=>e.getUTCSeconds());Zo.range;const MO=zn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Xi)},(e,t)=>{e.setTime(+e+t*Ca)},(e,t)=>(t-e)/Ca,e=>e.getMinutes());MO.range;const PO=zn(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Ca)},(e,t)=>(t-e)/Ca,e=>e.getUTCMinutes());PO.range;const RO=zn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Xi-e.getMinutes()*Ca)},(e,t)=>{e.setTime(+e+t*Zi)},(e,t)=>(t-e)/Zi,e=>e.getHours());RO.range;const DO=zn(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Zi)},(e,t)=>(t-e)/Zi,e=>e.getUTCHours());DO.range;const Uh=zn(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ca)/ss,e=>e.getDate()-1);Uh.range;const fy=zn(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ss,e=>e.getUTCDate()-1);fy.range;const u6=zn(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ss,e=>Math.floor(e/ss));u6.range;function Cl(e){return zn(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Ca)/kO)}const hy=Cl(0),Kv=Cl(1),Yae=Cl(2),Kae=Cl(3),hu=Cl(4),Xae=Cl(5),Zae=Cl(6);hy.range;Kv.range;Yae.range;Kae.range;hu.range;Xae.range;Zae.range;function Ol(e){return zn(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/kO)}const my=Ol(0),Xv=Ol(1),Qae=Ol(2),Jae=Ol(3),mu=Ol(4),eie=Ol(5),tie=Ol(6);my.range;Xv.range;Qae.range;Jae.range;mu.range;eie.range;tie.range;const $O=zn(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());$O.range;const IO=zn(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());IO.range;const os=zn(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());os.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:zn(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});os.range;const ls=zn(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ls.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:zn(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});ls.range;function d6(e,t,n,r,a,s){const l=[[Zo,1,Xi],[Zo,5,5*Xi],[Zo,15,15*Xi],[Zo,30,30*Xi],[s,1,Ca],[s,5,5*Ca],[s,15,15*Ca],[s,30,30*Ca],[a,1,Zi],[a,3,3*Zi],[a,6,6*Zi],[a,12,12*Zi],[r,1,ss],[r,2,2*ss],[n,1,kO],[t,1,m3],[t,3,3*m3],[e,1,sS]];function u(f,m,p){const g=mb).right(l,g);if(x===l.length)return e.every(K_(f/sS,m/sS,p));if(x===0)return Yv.every(Math.max(K_(f,m,p),1));const[j,w]=l[g/l[x-1][2]53)return null;"w"in fe||(fe.w=1),"Z"in fe?(Oe=lS(rf(fe.y,0,1)),We=Oe.getUTCDay(),Oe=We>4||We===0?Xv.ceil(Oe):Xv(Oe),Oe=fy.offset(Oe,(fe.V-1)*7),fe.y=Oe.getUTCFullYear(),fe.m=Oe.getUTCMonth(),fe.d=Oe.getUTCDate()+(fe.w+6)%7):(Oe=oS(rf(fe.y,0,1)),We=Oe.getDay(),Oe=We>4||We===0?Kv.ceil(Oe):Kv(Oe),Oe=Uh.offset(Oe,(fe.V-1)*7),fe.y=Oe.getFullYear(),fe.m=Oe.getMonth(),fe.d=Oe.getDate()+(fe.w+6)%7)}else("W"in fe||"U"in fe)&&("w"in fe||(fe.w="u"in fe?fe.u%7:"W"in fe?1:0),We="Z"in fe?lS(rf(fe.y,0,1)).getUTCDay():oS(rf(fe.y,0,1)).getDay(),fe.m=0,fe.d="W"in fe?(fe.w+6)%7+fe.W*7-(We+5)%7:fe.w+fe.U*7-(We+6)%7);return"Z"in fe?(fe.H+=fe.Z/100|0,fe.M+=fe.Z%100,lS(fe)):oS(fe)}}function M(re,we,je,fe){for(var Le=0,Oe=we.length,We=je.length,be,Ae;Le=We)return-1;if(be=we.charCodeAt(Le++),be===37){if(be=we.charAt(Le++),Ae=C[be in p3?we.charAt(Le++):be],!Ae||(fe=Ae(re,je,fe))<0)return-1}else if(be!=je.charCodeAt(fe++))return-1}return fe}function R(re,we,je){var fe=f.exec(we.slice(je));return fe?(re.p=m.get(fe[0].toLowerCase()),je+fe[0].length):-1}function B(re,we,je){var fe=x.exec(we.slice(je));return fe?(re.w=j.get(fe[0].toLowerCase()),je+fe[0].length):-1}function $(re,we,je){var fe=p.exec(we.slice(je));return fe?(re.w=g.get(fe[0].toLowerCase()),je+fe[0].length):-1}function H(re,we,je){var fe=N.exec(we.slice(je));return fe?(re.m=E.get(fe[0].toLowerCase()),je+fe[0].length):-1}function V(re,we,je){var fe=w.exec(we.slice(je));return fe?(re.m=b.get(fe[0].toLowerCase()),je+fe[0].length):-1}function q(re,we,je){return M(re,t,we,je)}function G(re,we,je){return M(re,n,we,je)}function L(re,we,je){return M(re,r,we,je)}function D(re){return l[re.getDay()]}function U(re){return s[re.getDay()]}function K(re){return d[re.getMonth()]}function J(re){return u[re.getMonth()]}function I(re){return a[+(re.getHours()>=12)]}function z(re){return 1+~~(re.getMonth()/3)}function Y(re){return l[re.getUTCDay()]}function te(re){return s[re.getUTCDay()]}function ae(re){return d[re.getUTCMonth()]}function ge(re){return u[re.getUTCMonth()]}function ee(re){return a[+(re.getUTCHours()>=12)]}function Se(re){return 1+~~(re.getUTCMonth()/3)}return{format:function(re){var we=k(re+="",O);return we.toString=function(){return re},we},parse:function(re){var we=T(re+="",!1);return we.toString=function(){return re},we},utcFormat:function(re){var we=k(re+="",A);return we.toString=function(){return re},we},utcParse:function(re){var we=T(re+="",!0);return we.toString=function(){return re},we}}}var p3={"-":"",_:" ",0:"0"},Qn=/^\s*\d+/,oie=/^%/,lie=/[\\^$*+?|[\]().{}]/g;function bt(e,t,n){var r=e<0?"-":"",a=(r?-e:e)+"",s=a.length;return r+(s[t.toLowerCase(),n]))}function uie(e,t,n){var r=Qn.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function die(e,t,n){var r=Qn.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function fie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function hie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function mie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function v3(e,t,n){var r=Qn.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function g3(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function pie(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function vie(e,t,n){var r=Qn.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function gie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function y3(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function yie(e,t,n){var r=Qn.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function x3(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function xie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function bie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function wie(e,t,n){var r=Qn.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function jie(e,t,n){var r=Qn.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Sie(e,t,n){var r=oie.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function _ie(e,t,n){var r=Qn.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Nie(e,t,n){var r=Qn.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function b3(e,t){return bt(e.getDate(),t,2)}function Cie(e,t){return bt(e.getHours(),t,2)}function Oie(e,t){return bt(e.getHours()%12||12,t,2)}function Eie(e,t){return bt(1+Uh.count(os(e),e),t,3)}function f6(e,t){return bt(e.getMilliseconds(),t,3)}function Aie(e,t){return f6(e,t)+"000"}function Tie(e,t){return bt(e.getMonth()+1,t,2)}function kie(e,t){return bt(e.getMinutes(),t,2)}function Mie(e,t){return bt(e.getSeconds(),t,2)}function Pie(e){var t=e.getDay();return t===0?7:t}function Rie(e,t){return bt(hy.count(os(e)-1,e),t,2)}function h6(e){var t=e.getDay();return t>=4||t===0?hu(e):hu.ceil(e)}function Die(e,t){return e=h6(e),bt(hu.count(os(e),e)+(os(e).getDay()===4),t,2)}function $ie(e){return e.getDay()}function Iie(e,t){return bt(Kv.count(os(e)-1,e),t,2)}function Lie(e,t){return bt(e.getFullYear()%100,t,2)}function Bie(e,t){return e=h6(e),bt(e.getFullYear()%100,t,2)}function zie(e,t){return bt(e.getFullYear()%1e4,t,4)}function qie(e,t){var n=e.getDay();return e=n>=4||n===0?hu(e):hu.ceil(e),bt(e.getFullYear()%1e4,t,4)}function Fie(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+bt(t/60|0,"0",2)+bt(t%60,"0",2)}function w3(e,t){return bt(e.getUTCDate(),t,2)}function Uie(e,t){return bt(e.getUTCHours(),t,2)}function Hie(e,t){return bt(e.getUTCHours()%12||12,t,2)}function Wie(e,t){return bt(1+fy.count(ls(e),e),t,3)}function m6(e,t){return bt(e.getUTCMilliseconds(),t,3)}function Vie(e,t){return m6(e,t)+"000"}function Gie(e,t){return bt(e.getUTCMonth()+1,t,2)}function Yie(e,t){return bt(e.getUTCMinutes(),t,2)}function Kie(e,t){return bt(e.getUTCSeconds(),t,2)}function Xie(e){var t=e.getUTCDay();return t===0?7:t}function Zie(e,t){return bt(my.count(ls(e)-1,e),t,2)}function p6(e){var t=e.getUTCDay();return t>=4||t===0?mu(e):mu.ceil(e)}function Qie(e,t){return e=p6(e),bt(mu.count(ls(e),e)+(ls(e).getUTCDay()===4),t,2)}function Jie(e){return e.getUTCDay()}function ese(e,t){return bt(Xv.count(ls(e)-1,e),t,2)}function tse(e,t){return bt(e.getUTCFullYear()%100,t,2)}function nse(e,t){return e=p6(e),bt(e.getUTCFullYear()%100,t,2)}function rse(e,t){return bt(e.getUTCFullYear()%1e4,t,4)}function ase(e,t){var n=e.getUTCDay();return e=n>=4||n===0?mu(e):mu.ceil(e),bt(e.getUTCFullYear()%1e4,t,4)}function ise(){return"+0000"}function j3(){return"%"}function S3(e){return+e}function _3(e){return Math.floor(+e/1e3)}var Cc,v6,g6;sse({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function sse(e){return Cc=sie(e),v6=Cc.format,Cc.parse,g6=Cc.utcFormat,Cc.utcParse,Cc}function ose(e){return new Date(e)}function lse(e){return e instanceof Date?+e:+new Date(+e)}function LO(e,t,n,r,a,s,l,u,d,f){var m=_O(),p=m.invert,g=m.domain,x=f(".%L"),j=f(":%S"),w=f("%I:%M"),b=f("%I %p"),N=f("%a %d"),E=f("%b %d"),O=f("%B"),A=f("%Y");function C(k){return(d(k)t(a/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(a,s)=>Zre(e,s/r))},n.copy=function(){return w6(t).domain(e)},ms.apply(n,arguments)}function vy(){var e=0,t=.5,n=1,r=1,a,s,l,u,d,f=_r,m,p=!1,g;function x(w){return isNaN(w=+w)?g:(w=.5+((w=+m(w))-s)*(r*wn}return uS=e,uS}var dS,E3;function hse(){if(E3)return dS;E3=1;var e=gy(),t=N6(),n=Vu();function r(a){return a&&a.length?e(a,n,t):void 0}return dS=r,dS}var mse=hse();const yy=At(mse);var fS,A3;function C6(){if(A3)return fS;A3=1;function e(t,n){return te.e^s.s<0?1:-1;for(r=s.d.length,a=e.d.length,t=0,n=re.d[t]^s.s<0?1:-1;return r===a?0:r>a^s.s<0?1:-1};Te.decimalPlaces=Te.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*tn;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};Te.dividedBy=Te.div=function(e){return rs(this,new this.constructor(e))};Te.dividedToIntegerBy=Te.idiv=function(e){var t=this,n=t.constructor;return Vt(rs(t,new n(e),0,1),n.precision)};Te.equals=Te.eq=function(e){return!this.cmp(e)};Te.exponent=function(){return Tn(this)};Te.greaterThan=Te.gt=function(e){return this.cmp(e)>0};Te.greaterThanOrEqualTo=Te.gte=function(e){return this.cmp(e)>=0};Te.isInteger=Te.isint=function(){return this.e>this.d.length-2};Te.isNegative=Te.isneg=function(){return this.s<0};Te.isPositive=Te.ispos=function(){return this.s>0};Te.isZero=function(){return this.s===0};Te.lessThan=Te.lt=function(e){return this.cmp(e)<0};Te.lessThanOrEqualTo=Te.lte=function(e){return this.cmp(e)<1};Te.logarithm=Te.log=function(e){var t,n=this,r=n.constructor,a=r.precision,s=a+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(ra))throw Error(Aa+"NaN");if(n.s<1)throw Error(Aa+(n.s?"NaN":"-Infinity"));return n.eq(ra)?new r(0):(rn=!1,t=rs(Gf(n,s),Gf(e,s),s),rn=!0,Vt(t,a))};Te.minus=Te.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?T6(t,e):E6(t,(e.s=-e.s,e))};Te.modulo=Te.mod=function(e){var t,n=this,r=n.constructor,a=r.precision;if(e=new r(e),!e.s)throw Error(Aa+"NaN");return n.s?(rn=!1,t=rs(n,e,0,1).times(e),rn=!0,n.minus(t)):Vt(new r(n),a)};Te.naturalExponential=Te.exp=function(){return A6(this)};Te.naturalLogarithm=Te.ln=function(){return Gf(this)};Te.negated=Te.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};Te.plus=Te.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?E6(t,e):T6(t,(e.s=-e.s,e))};Te.precision=Te.sd=function(e){var t,n,r,a=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(sl+e);if(t=Tn(a)+1,r=a.d.length-1,n=r*tn+1,r=a.d[r],r){for(;r%10==0;r/=10)n--;for(r=a.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};Te.squareRoot=Te.sqrt=function(){var e,t,n,r,a,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(Aa+"NaN")}for(e=Tn(u),rn=!1,a=Math.sqrt(+u),a==0||a==1/0?(t=ui(u.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=Ku((e+1)/2)-(e<0||e%2),a==1/0?t="5e"+e:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new d(t)):r=new d(a.toString()),n=d.precision,a=l=n+3;;)if(s=r,r=s.plus(rs(u,s,l+2)).times(.5),ui(s.d).slice(0,l)===(t=ui(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),a==l&&t=="4999"){if(Vt(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!="9999")break;l+=4}return rn=!0,Vt(r,n)};Te.times=Te.mul=function(e){var t,n,r,a,s,l,u,d,f,m=this,p=m.constructor,g=m.d,x=(e=new p(e)).d;if(!m.s||!e.s)return new p(0);for(e.s*=m.s,n=m.e+e.e,d=g.length,f=x.length,d=0;){for(t=0,a=d+r;a>r;)u=s[a]+x[r]*g[a-r-1]+t,s[a--]=u%Hn|0,t=u/Hn|0;s[a]=(s[a]+t)%Hn|0}for(;!s[--l];)s.pop();return t?++n:s.shift(),e.d=s,e.e=n,rn?Vt(e,p.precision):e};Te.toDecimalPlaces=Te.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(xi(e,0,Yu),t===void 0?t=r.rounding:xi(t,0,8),Vt(n,e+Tn(n)+1,t))};Te.toExponential=function(e,t){var n,r=this,a=r.constructor;return e===void 0?n=pl(r,!0):(xi(e,0,Yu),t===void 0?t=a.rounding:xi(t,0,8),r=Vt(new a(r),e+1,t),n=pl(r,!0,e+1)),n};Te.toFixed=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?pl(a):(xi(e,0,Yu),t===void 0?t=s.rounding:xi(t,0,8),r=Vt(new s(a),e+Tn(a)+1,t),n=pl(r.abs(),!1,e+Tn(r)+1),a.isneg()&&!a.isZero()?"-"+n:n)};Te.toInteger=Te.toint=function(){var e=this,t=e.constructor;return Vt(new t(e),Tn(e)+1,t.rounding)};Te.toNumber=function(){return+this};Te.toPower=Te.pow=function(e){var t,n,r,a,s,l,u=this,d=u.constructor,f=12,m=+(e=new d(e));if(!e.s)return new d(ra);if(u=new d(u),!u.s){if(e.s<1)throw Error(Aa+"Infinity");return u}if(u.eq(ra))return u;if(r=d.precision,e.eq(ra))return Vt(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,l){if((n=m<0?-m:m)<=O6){for(a=new d(ra),t=Math.ceil(r/tn+4),rn=!1;n%2&&(a=a.times(u),D3(a.d,t)),n=Ku(n/2),n!==0;)u=u.times(u),D3(u.d,t);return rn=!0,e.s<0?new d(ra).div(a):Vt(a,r)}}else if(s<0)throw Error(Aa+"NaN");return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,rn=!1,a=e.times(Gf(u,r+f)),rn=!0,a=A6(a),a.s=s,a};Te.toPrecision=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?(n=Tn(a),r=pl(a,n<=s.toExpNeg||n>=s.toExpPos)):(xi(e,1,Yu),t===void 0?t=s.rounding:xi(t,0,8),a=Vt(new s(a),e,t),n=Tn(a),r=pl(a,e<=n||n<=s.toExpNeg,e)),r};Te.toSignificantDigits=Te.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(xi(e,1,Yu),t===void 0?t=r.rounding:xi(t,0,8)),Vt(new r(n),e,t)};Te.toString=Te.valueOf=Te.val=Te.toJSON=Te[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=Tn(e),n=e.constructor;return pl(e,t<=n.toExpNeg||t>=n.toExpPos)};function E6(e,t){var n,r,a,s,l,u,d,f,m=e.constructor,p=m.precision;if(!e.s||!t.s)return t.s||(t=new m(e)),rn?Vt(t,p):t;if(d=e.d,f=t.d,l=e.e,a=t.e,d=d.slice(),s=l-a,s){for(s<0?(r=d,s=-s,u=f.length):(r=f,a=l,u=d.length),l=Math.ceil(p/tn),u=l>u?l+1:u+1,s>u&&(s=u,r.length=1),r.reverse();s--;)r.push(0);r.reverse()}for(u=d.length,s=f.length,u-s<0&&(s=u,r=f,f=d,d=r),n=0;s;)n=(d[--s]=d[s]+f[s]+n)/Hn|0,d[s]%=Hn;for(n&&(d.unshift(n),++a),u=d.length;d[--u]==0;)d.pop();return t.d=d,t.e=a,rn?Vt(t,p):t}function xi(e,t,n){if(e!==~~e||en)throw Error(sl+e)}function ui(e){var t,n,r,a=e.length-1,s="",l=e[0];if(a>0){for(s+=l,t=1;tl?1:-1;else for(u=d=0;ua[u]?1:-1;break}return d}function n(r,a,s){for(var l=0;s--;)r[s]-=l,l=r[s]1;)r.shift()}return function(r,a,s,l){var u,d,f,m,p,g,x,j,w,b,N,E,O,A,C,k,T,M,R=r.constructor,B=r.s==a.s?1:-1,$=r.d,H=a.d;if(!r.s)return new R(r);if(!a.s)throw Error(Aa+"Division by zero");for(d=r.e-a.e,T=H.length,C=$.length,x=new R(B),j=x.d=[],f=0;H[f]==($[f]||0);)++f;if(H[f]>($[f]||0)&&--d,s==null?E=s=R.precision:l?E=s+(Tn(r)-Tn(a))+1:E=s,E<0)return new R(0);if(E=E/tn+2|0,f=0,T==1)for(m=0,H=H[0],E++;(f1&&(H=e(H,m),$=e($,m),T=H.length,C=$.length),A=T,w=$.slice(0,T),b=w.length;b=Hn/2&&++k;do m=0,u=t(H,w,T,b),u<0?(N=w[0],T!=b&&(N=N*Hn+(w[1]||0)),m=N/k|0,m>1?(m>=Hn&&(m=Hn-1),p=e(H,m),g=p.length,b=w.length,u=t(p,w,g,b),u==1&&(m--,n(p,T16)throw Error(qO+Tn(e));if(!e.s)return new m(ra);for(rn=!1,u=p,l=new m(.03125);e.abs().gte(.1);)e=e.times(l),f+=5;for(r=Math.log(Wo(2,f))/Math.LN10*2+5|0,u+=r,n=a=s=new m(ra),m.precision=u;;){if(a=Vt(a.times(e),u),n=n.times(++d),l=s.plus(rs(a,n,u)),ui(l.d).slice(0,u)===ui(s.d).slice(0,u)){for(;f--;)s=Vt(s.times(s),u);return m.precision=p,t==null?(rn=!0,Vt(s,p)):s}s=l}}function Tn(e){for(var t=e.e*tn,n=e.d[0];n>=10;n/=10)t++;return t}function gS(e,t,n){if(t>e.LN10.sd())throw rn=!0,n&&(e.precision=n),Error(Aa+"LN10 precision limit exceeded");return Vt(new e(e.LN10),t)}function Hs(e){for(var t="";e--;)t+="0";return t}function Gf(e,t){var n,r,a,s,l,u,d,f,m,p=1,g=10,x=e,j=x.d,w=x.constructor,b=w.precision;if(x.s<1)throw Error(Aa+(x.s?"NaN":"-Infinity"));if(x.eq(ra))return new w(0);if(t==null?(rn=!1,f=b):f=t,x.eq(10))return t==null&&(rn=!0),gS(w,f);if(f+=g,w.precision=f,n=ui(j),r=n.charAt(0),s=Tn(x),Math.abs(s)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)x=x.times(e),n=ui(x.d),r=n.charAt(0),p++;s=Tn(x),r>1?(x=new w("0."+n),s++):x=new w(r+"."+n.slice(1))}else return d=gS(w,f+2,b).times(s+""),x=Gf(new w(r+"."+n.slice(1)),f-g).plus(d),w.precision=b,t==null?(rn=!0,Vt(x,b)):x;for(u=l=x=rs(x.minus(ra),x.plus(ra),f),m=Vt(x.times(x),f),a=3;;){if(l=Vt(l.times(m),f),d=u.plus(rs(l,new w(a),f)),ui(d.d).slice(0,f)===ui(u.d).slice(0,f))return u=u.times(2),s!==0&&(u=u.plus(gS(w,f+2,b).times(s+""))),u=rs(u,new w(p),f),w.precision=b,t==null?(rn=!0,Vt(u,b)):u;u=d,a+=2}}function R3(e,t){var n,r,a;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=Ku(n/tn),e.d=[],r=(n+1)%tn,n<0&&(r+=tn),rZv||e.e<-Zv))throw Error(qO+n)}else e.s=0,e.e=0,e.d=[0];return e}function Vt(e,t,n){var r,a,s,l,u,d,f,m,p=e.d;for(l=1,s=p[0];s>=10;s/=10)l++;if(r=t-l,r<0)r+=tn,a=t,f=p[m=0];else{if(m=Math.ceil((r+1)/tn),s=p.length,m>=s)return e;for(f=s=p[m],l=1;s>=10;s/=10)l++;r%=tn,a=r-tn+l}if(n!==void 0&&(s=Wo(10,l-a-1),u=f/s%10|0,d=t<0||p[m+1]!==void 0||f%s,d=n<4?(u||d)&&(n==0||n==(e.s<0?3:2)):u>5||u==5&&(n==4||d||n==6&&(r>0?a>0?f/Wo(10,l-a):0:p[m-1])%10&1||n==(e.s<0?8:7))),t<1||!p[0])return d?(s=Tn(e),p.length=1,t=t-s-1,p[0]=Wo(10,(tn-t%tn)%tn),e.e=Ku(-t/tn)||0):(p.length=1,p[0]=e.e=e.s=0),e;if(r==0?(p.length=m,s=1,m--):(p.length=m+1,s=Wo(10,tn-r),p[m]=a>0?(f/Wo(10,l-a)%Wo(10,a)|0)*s:0),d)for(;;)if(m==0){(p[0]+=s)==Hn&&(p[0]=1,++e.e);break}else{if(p[m]+=s,p[m]!=Hn)break;p[m--]=0,s=1}for(r=p.length;p[--r]===0;)p.pop();if(rn&&(e.e>Zv||e.e<-Zv))throw Error(qO+Tn(e));return e}function T6(e,t){var n,r,a,s,l,u,d,f,m,p,g=e.constructor,x=g.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new g(e),rn?Vt(t,x):t;if(d=e.d,p=t.d,r=t.e,f=e.e,d=d.slice(),l=f-r,l){for(m=l<0,m?(n=d,l=-l,u=p.length):(n=p,r=f,u=d.length),a=Math.max(Math.ceil(x/tn),u)+2,l>a&&(l=a,n.length=1),n.reverse(),a=l;a--;)n.push(0);n.reverse()}else{for(a=d.length,u=p.length,m=a0;--a)d[u++]=0;for(a=p.length;a>l;){if(d[--a]0?s=s.charAt(0)+"."+s.slice(1)+Hs(r):l>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(a<0?"e":"e+")+a):a<0?(s="0."+Hs(-a-1)+s,n&&(r=n-l)>0&&(s+=Hs(r))):a>=l?(s+=Hs(a+1-l),n&&(r=n-a-1)>0&&(s=s+"."+Hs(r))):((r=a+1)0&&(a+1===l&&(s+="."),s+=Hs(r))),e.s<0?"-"+s:s}function D3(e,t){if(e.length>t)return e.length=t,!0}function k6(e){var t,n,r;function a(s){var l=this;if(!(l instanceof a))return new a(s);if(l.constructor=a,s instanceof a){l.s=s.s,l.e=s.e,l.d=(s=s.d)?s.slice():s;return}if(typeof s=="number"){if(s*0!==0)throw Error(sl+s);if(s>0)l.s=1;else if(s<0)s=-s,l.s=-1;else{l.s=0,l.e=0,l.d=[0];return}if(s===~~s&&s<1e7){l.e=0,l.d=[s];return}return R3(l,s.toString())}else if(typeof s!="string")throw Error(sl+s);if(s.charCodeAt(0)===45?(s=s.slice(1),l.s=-1):l.s=1,_se.test(s))R3(l,s);else throw Error(sl+s)}if(a.prototype=Te,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.clone=k6,a.config=a.set=Nse,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=a[t+1]&&r<=a[t+2])this[n]=r;else throw Error(sl+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(sl+n+": "+r);return this}var FO=k6(Sse);ra=new FO(1);const qt=FO;function Cse(e){return Tse(e)||Ase(e)||Ese(e)||Ose()}function Ose(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ese(e,t){if(e){if(typeof e=="string")return eN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eN(e,t)}}function Ase(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function Tse(e){if(Array.isArray(e))return eN(e)}function eN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t?n.apply(void 0,a):e(t-l,$3(function(){for(var u=arguments.length,d=new Array(u),f=0;fe.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,a=!1,s=void 0;try{for(var l=e[Symbol.iterator](),u;!(r=(u=l.next()).done)&&(n.push(u.value),!(t&&n.length===t));r=!0);}catch(d){a=!0,s=d}finally{try{!r&&l.return!=null&&l.return()}finally{if(a)throw s}}return n}}function Wse(e){if(Array.isArray(e))return e}function $6(e){var t=Yf(e,2),n=t[0],r=t[1],a=n,s=r;return n>r&&(a=r,s=n),[a,s]}function I6(e,t,n){if(e.lte(0))return new qt(0);var r=wy.getDigitCount(e.toNumber()),a=new qt(10).pow(r),s=e.div(a),l=r!==1?.05:.1,u=new qt(Math.ceil(s.div(l).toNumber())).add(n).mul(l),d=u.mul(a);return t?d:new qt(Math.ceil(d))}function Vse(e,t,n){var r=1,a=new qt(e);if(!a.isint()&&n){var s=Math.abs(e);s<1?(r=new qt(10).pow(wy.getDigitCount(e)-1),a=new qt(Math.floor(a.div(r).toNumber())).mul(r)):s>1&&(a=new qt(Math.floor(e)))}else e===0?a=new qt(Math.floor((t-1)/2)):n||(a=new qt(Math.floor(e)));var l=Math.floor((t-1)/2),u=Rse(Pse(function(d){return a.add(new qt(d-l).mul(r)).toNumber()}),tN);return u(0,t)}function L6(e,t,n,r){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(n-1)))return{step:new qt(0),tickMin:new qt(0),tickMax:new qt(0)};var s=I6(new qt(t).sub(e).div(n-1),r,a),l;e<=0&&t>=0?l=new qt(0):(l=new qt(e).add(t).div(2),l=l.sub(new qt(l).mod(s)));var u=Math.ceil(l.sub(e).div(s).toNumber()),d=Math.ceil(new qt(t).sub(l).div(s).toNumber()),f=u+d+1;return f>n?L6(e,t,n,r,a+1):(f0?d+(n-f):d,u=t>0?u:u+(n-f)),{step:s,tickMin:l.sub(new qt(u).mul(s)),tickMax:l.add(new qt(d).mul(s))})}function Gse(e){var t=Yf(e,2),n=t[0],r=t[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=Math.max(a,2),u=$6([n,r]),d=Yf(u,2),f=d[0],m=d[1];if(f===-1/0||m===1/0){var p=m===1/0?[f].concat(rN(tN(0,a-1).map(function(){return 1/0}))):[].concat(rN(tN(0,a-1).map(function(){return-1/0})),[m]);return n>r?nN(p):p}if(f===m)return Vse(f,a,s);var g=L6(f,m,l,s),x=g.step,j=g.tickMin,w=g.tickMax,b=wy.rangeStep(j,w.add(new qt(.1).mul(x)),x);return n>r?nN(b):b}function Yse(e,t){var n=Yf(e,2),r=n[0],a=n[1],s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=$6([r,a]),u=Yf(l,2),d=u[0],f=u[1];if(d===-1/0||f===1/0)return[r,a];if(d===f)return[d];var m=Math.max(t,2),p=I6(new qt(f).sub(d).div(m-1),s,0),g=[].concat(rN(wy.rangeStep(new qt(d),new qt(f).sub(new qt(.99).mul(p)),p)),[f]);return r>a?nN(g):g}var Kse=R6(Gse),Xse=R6(Yse),Zse=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function pu(e){"@babel/helpers - typeof";return pu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pu(e)}function Qv(){return Qv=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function aoe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function ioe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function soe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:[],a=arguments.length>2?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0,l=-1,u=(n=r?.length)!==null&&n!==void 0?n:0;if(u<=1)return 0;if(s&&s.axisType==="angleAxis"&&Math.abs(Math.abs(s.range[1]-s.range[0])-360)<=1e-6)for(var d=s.range,f=0;f0?a[f-1].coordinate:a[u-1].coordinate,p=a[f].coordinate,g=f>=u-1?a[0].coordinate:a[f+1].coordinate,x=void 0;if(jr(p-m)!==jr(g-p)){var j=[];if(jr(g-p)===jr(d[1]-d[0])){x=g;var w=p+d[1]-d[0];j[0]=Math.min(w,(w+m)/2),j[1]=Math.max(w,(w+m)/2)}else{x=m;var b=g+d[1]-d[0];j[0]=Math.min(p,(b+p)/2),j[1]=Math.max(p,(b+p)/2)}var N=[Math.min(p,(x+p)/2),Math.max(p,(x+p)/2)];if(t>N[0]&&t<=N[1]||t>=j[0]&&t<=j[1]){l=a[f].index;break}}else{var E=Math.min(m,g),O=Math.max(m,g);if(t>(E+p)/2&&t<=(O+p)/2){l=a[f].index;break}}}else for(var A=0;A0&&A(r[A].coordinate+r[A-1].coordinate)/2&&t<=(r[A].coordinate+r[A+1].coordinate)/2||A===u-1&&t>(r[A].coordinate+r[A-1].coordinate)/2){l=r[A].index;break}return l},UO=function(t){var n,r=t,a=r.type.displayName,s=(n=t.type)!==null&&n!==void 0&&n.defaultProps?xn(xn({},t.type.defaultProps),t.props):t.props,l=s.stroke,u=s.fill,d;switch(a){case"Line":d=l;break;case"Area":case"Radar":d=l&&l!=="none"?l:u;break;default:d=u;break}return d},Soe=function(t){var n=t.barSize,r=t.totalSize,a=t.stackGroups,s=a===void 0?{}:a;if(!s)return{};for(var l={},u=Object.keys(s),d=0,f=u.length;d=0});if(N&&N.length){var E=N[0].type.defaultProps,O=E!==void 0?xn(xn({},E),N[0].props):N[0].props,A=O.barSize,C=O[b];l[C]||(l[C]=[]);var k=Qe(A)?n:A;l[C].push({item:N[0],stackList:N.slice(1),barSize:Qe(k)?void 0:Sr(k,r,0)})}}return l},_oe=function(t){var n=t.barGap,r=t.barCategoryGap,a=t.bandSize,s=t.sizeList,l=s===void 0?[]:s,u=t.maxBarSize,d=l.length;if(d<1)return null;var f=Sr(n,a,0,!0),m,p=[];if(l[0].barSize===+l[0].barSize){var g=!1,x=a/d,j=l.reduce(function(A,C){return A+C.barSize||0},0);j+=(d-1)*f,j>=a&&(j-=(d-1)*f,f=0),j>=a&&x>0&&(g=!0,x*=.9,j=d*x);var w=(a-j)/2>>0,b={offset:w-f,size:0};m=l.reduce(function(A,C){var k={item:C.item,position:{offset:b.offset+b.size+f,size:g?x:C.barSize}},T=[].concat(B3(A),[k]);return b=T[T.length-1].position,C.stackList&&C.stackList.length&&C.stackList.forEach(function(M){T.push({item:M,position:b})}),T},p)}else{var N=Sr(r,a,0,!0);a-2*N-(d-1)*f<=0&&(f=0);var E=(a-2*N-(d-1)*f)/d;E>1&&(E>>=0);var O=u===+u?Math.min(E,u):E;m=l.reduce(function(A,C,k){var T=[].concat(B3(A),[{item:C.item,position:{offset:N+(E+f)*k+(E-O)/2,size:O}}]);return C.stackList&&C.stackList.length&&C.stackList.forEach(function(M){T.push({item:M,position:T[T.length-1].position})}),T},p)}return m},Noe=function(t,n,r,a){var s=r.children,l=r.width,u=r.margin,d=l-(u.left||0)-(u.right||0),f=F6({children:s,legendWidth:d});if(f){var m=a||{},p=m.width,g=m.height,x=f.align,j=f.verticalAlign,w=f.layout;if((w==="vertical"||w==="horizontal"&&j==="middle")&&x!=="center"&&Ce(t[x]))return xn(xn({},t),{},Yc({},x,t[x]+(p||0)));if((w==="horizontal"||w==="vertical"&&x==="center")&&j!=="middle"&&Ce(t[j]))return xn(xn({},t),{},Yc({},j,t[j]+(g||0)))}return t},Coe=function(t,n,r){return Qe(n)?!0:t==="horizontal"?n==="yAxis":t==="vertical"||r==="x"?n==="xAxis":r==="y"?n==="yAxis":!0},U6=function(t,n,r,a,s){var l=n.props.children,u=ia(l,Wh).filter(function(f){return Coe(a,s,f.props.direction)});if(u&&u.length){var d=u.map(function(f){return f.props.dataKey});return t.reduce(function(f,m){var p=In(m,r);if(Qe(p))return f;var g=Array.isArray(p)?[xy(p),yy(p)]:[p,p],x=d.reduce(function(j,w){var b=In(m,w,0),N=g[0]-Math.abs(Array.isArray(b)?b[0]:b),E=g[1]+Math.abs(Array.isArray(b)?b[1]:b);return[Math.min(N,j[0]),Math.max(E,j[1])]},[1/0,-1/0]);return[Math.min(x[0],f[0]),Math.max(x[1],f[1])]},[1/0,-1/0])}return null},Ooe=function(t,n,r,a,s){var l=n.map(function(u){return U6(t,u,r,s,a)}).filter(function(u){return!Qe(u)});return l&&l.length?l.reduce(function(u,d){return[Math.min(u[0],d[0]),Math.max(u[1],d[1])]},[1/0,-1/0]):null},H6=function(t,n,r,a,s){var l=n.map(function(d){var f=d.props.dataKey;return r==="number"&&f&&U6(t,d,f,a)||Of(t,f,r,s)});if(r==="number")return l.reduce(function(d,f){return[Math.min(d[0],f[0]),Math.max(d[1],f[1])]},[1/0,-1/0]);var u={};return l.reduce(function(d,f){for(var m=0,p=f.length;m=2?jr(u[0]-u[1])*2*f:f,n&&(t.ticks||t.niceTicks)){var m=(t.ticks||t.niceTicks).map(function(p){var g=s?s.indexOf(p):p;return{coordinate:a(g)+f,value:p,offset:f}});return m.filter(function(p){return!Lh(p.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(p,g){return{coordinate:a(p)+f,value:p,index:g,offset:f}}):a.ticks&&!r?a.ticks(t.tickCount).map(function(p){return{coordinate:a(p)+f,value:p,offset:f}}):a.domain().map(function(p,g){return{coordinate:a(p)+f,value:s?s[p]:p,index:g,offset:f}})},yS=new WeakMap,qp=function(t,n){if(typeof n!="function")return t;yS.has(t)||yS.set(t,new WeakMap);var r=yS.get(t);if(r.has(n))return r.get(n);var a=function(){t.apply(void 0,arguments),n.apply(void 0,arguments)};return r.set(n,a),a},G6=function(t,n,r){var a=t.scale,s=t.type,l=t.layout,u=t.axisType;if(a==="auto")return l==="radial"&&u==="radiusAxis"?{scale:Ff(),realScaleType:"band"}:l==="radial"&&u==="angleAxis"?{scale:Gv(),realScaleType:"linear"}:s==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!r)?{scale:Cf(),realScaleType:"point"}:s==="category"?{scale:Ff(),realScaleType:"band"}:{scale:Gv(),realScaleType:"linear"};if(fl(a)){var d="scale".concat(ry(a));return{scale:(N3[d]||Cf)(),realScaleType:N3[d]?d:"point"}}return Ke(a)?{scale:a}:{scale:Cf(),realScaleType:"point"}},q3=1e-4,Y6=function(t){var n=t.domain();if(!(!n||n.length<=2)){var r=n.length,a=t.range(),s=Math.min(a[0],a[1])-q3,l=Math.max(a[0],a[1])+q3,u=t(n[0]),d=t(n[r-1]);(ul||dl)&&t.domain([n[0],n[r-1]])}},Eoe=function(t,n){if(!t)return null;for(var r=0,a=t.length;ra)&&(s[1]=a),s[0]>a&&(s[0]=a),s[1]=0?(t[u][r][0]=s,t[u][r][1]=s+d,s=t[u][r][1]):(t[u][r][0]=l,t[u][r][1]=l+d,l=t[u][r][1])}},koe=function(t){var n=t.length;if(!(n<=0))for(var r=0,a=t[0].length;r=0?(t[l][r][0]=s,t[l][r][1]=s+u,s=t[l][r][1]):(t[l][r][0]=0,t[l][r][1]=0)}},Moe={sign:Toe,expand:xee,none:ou,silhouette:bee,wiggle:wee,positive:koe},Poe=function(t,n,r){var a=n.map(function(u){return u.props.dataKey}),s=Moe[r],l=yee().keys(a).value(function(u,d){return+In(u,d,0)}).order($_).offset(s);return l(t)},Roe=function(t,n,r,a,s,l){if(!t)return null;var u=l?n.reverse():n,d={},f=u.reduce(function(p,g){var x,j=(x=g.type)!==null&&x!==void 0&&x.defaultProps?xn(xn({},g.type.defaultProps),g.props):g.props,w=j.stackId,b=j.hide;if(b)return p;var N=j[r],E=p[N]||{hasStack:!1,stackGroups:{}};if(Ln(w)){var O=E.stackGroups[w]||{numericAxisId:r,cateAxisId:a,items:[]};O.items.push(g),E.hasStack=!0,E.stackGroups[w]=O}else E.stackGroups[Wu("_stackId_")]={numericAxisId:r,cateAxisId:a,items:[g]};return xn(xn({},p),{},Yc({},N,E))},d),m={};return Object.keys(f).reduce(function(p,g){var x=f[g];if(x.hasStack){var j={};x.stackGroups=Object.keys(x.stackGroups).reduce(function(w,b){var N=x.stackGroups[b];return xn(xn({},w),{},Yc({},b,{numericAxisId:r,cateAxisId:a,items:N.items,stackedData:Poe(t,N.items,s)}))},j)}return xn(xn({},p),{},Yc({},g,x))},m)},K6=function(t,n){var r=n.realScaleType,a=n.type,s=n.tickCount,l=n.originalDomain,u=n.allowDecimals,d=r||n.scale;if(d!=="auto"&&d!=="linear")return null;if(s&&a==="number"&&l&&(l[0]==="auto"||l[1]==="auto")){var f=t.domain();if(!f.length)return null;var m=Kse(f,s,u);return t.domain([xy(m),yy(m)]),{niceTicks:m}}if(s&&a==="number"){var p=t.domain(),g=Xse(p,s,u);return{niceTicks:g}}return null};function F3(e){var t=e.axis,n=e.ticks,r=e.bandSize,a=e.entry,s=e.index,l=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Qe(a[t.dataKey])){var u=Av(n,"value",a[t.dataKey]);if(u)return u.coordinate+r/2}return n[s]?n[s].coordinate+r/2:null}var d=In(a,Qe(l)?t.dataKey:l);return Qe(d)?null:t.scale(d)}var U3=function(t){var n=t.axis,r=t.ticks,a=t.offset,s=t.bandSize,l=t.entry,u=t.index;if(n.type==="category")return r[u]?r[u].coordinate+a:null;var d=In(l,n.dataKey,n.domain[u]);return Qe(d)?null:n.scale(d)-s/2+a},Doe=function(t){var n=t.numericAxis,r=n.scale.domain();if(n.type==="number"){var a=Math.min(r[0],r[1]),s=Math.max(r[0],r[1]);return a<=0&&s>=0?0:s<0?s:a}return r[0]},$oe=function(t,n){var r,a=(r=t.type)!==null&&r!==void 0&&r.defaultProps?xn(xn({},t.type.defaultProps),t.props):t.props,s=a.stackId;if(Ln(s)){var l=n[s];if(l){var u=l.items.indexOf(t);return u>=0?l.stackedData[u]:null}}return null},Ioe=function(t){return t.reduce(function(n,r){return[xy(r.concat([n[0]]).filter(Ce)),yy(r.concat([n[1]]).filter(Ce))]},[1/0,-1/0])},X6=function(t,n,r){return Object.keys(t).reduce(function(a,s){var l=t[s],u=l.stackedData,d=u.reduce(function(f,m){var p=Ioe(m.slice(n,r+1));return[Math.min(f[0],p[0]),Math.max(f[1],p[1])]},[1/0,-1/0]);return[Math.min(d[0],a[0]),Math.max(d[1],a[1])]},[1/0,-1/0]).map(function(a){return a===1/0||a===-1/0?0:a})},H3=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,W3=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,oN=function(t,n,r){if(Ke(t))return t(n,r);if(!Array.isArray(t))return n;var a=[];if(Ce(t[0]))a[0]=r?t[0]:Math.min(t[0],n[0]);else if(H3.test(t[0])){var s=+H3.exec(t[0])[1];a[0]=n[0]-s}else Ke(t[0])?a[0]=t[0](n[0]):a[0]=n[0];if(Ce(t[1]))a[1]=r?t[1]:Math.max(t[1],n[1]);else if(W3.test(t[1])){var l=+W3.exec(t[1])[1];a[1]=n[1]+l}else Ke(t[1])?a[1]=t[1](n[1]):a[1]=n[1];return a},eg=function(t,n,r){if(t&&t.scale&&t.scale.bandwidth){var a=t.scale.bandwidth();if(!r||a>0)return a}if(t&&n&&n.length>=2){for(var s=gO(n,function(p){return p.coordinate}),l=1/0,u=1,d=s.length;u1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Nl.isSsr)return{width:0,height:0};var r=mre(n),a=JSON.stringify({text:t,copyStyle:r});if(Nc.widthCache[a])return Nc.widthCache[a];try{var s=document.getElementById(k4);s||(s=document.createElement("span"),s.setAttribute("id",k4),s.setAttribute("aria-hidden","true"),document.body.appendChild(s));var l=V_(V_({},hre),r);Object.assign(s.style,l),s.textContent="".concat(t);var u=s.getBoundingClientRect(),d={width:u.width,height:u.height};return Nc.widthCache[a]=d,++Nc.cacheCount>fre&&(Nc.cacheCount=0,Nc.widthCache={}),d}catch{return{width:0,height:0}}},pre=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function qf(e){"@babel/helpers - typeof";return qf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qf(e)}function zv(e,t){return xre(e)||yre(e,t)||gre(e,t)||vre()}function vre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gre(e,t){if(e){if(typeof e=="string")return M4(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M4(e,t)}}function M4(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Pre(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function L4(e,t){return Ire(e)||$re(e,t)||Dre(e,t)||Rre()}function Rre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dre(e,t){if(e){if(typeof e=="string")return B4(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return B4(e,t)}}function B4(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[];return G.reduce(function(L,D){var U=D.word,K=D.width,J=L[L.length-1];if(J&&(a==null||s||J.width+K+rD.width?L:D})};if(!m)return x;for(var w="…",b=function(G){var L=p.slice(0,G),D=Wz({breakAll:f,style:d,children:L+w}).wordsWithComputedWidth,U=g(D),K=U.length>l||j(U).width>Number(a);return[K,U]},N=0,E=p.length-1,O=0,A;N<=E&&O<=p.length-1;){var C=Math.floor((N+E)/2),k=C-1,T=b(k),M=L4(T,2),R=M[0],B=M[1],$=b(C),H=L4($,1),V=H[0];if(!R&&!V&&(N=C+1),R&&V&&(E=C-1),!R&&V){A=B;break}O++}return A||x},z4=function(t){var n=Qe(t)?[]:t.toString().split(Hz);return[{words:n}]},Bre=function(t){var n=t.width,r=t.scaleToFit,a=t.children,s=t.style,l=t.breakAll,u=t.maxLines;if((n||r)&&!Nl.isSsr){var d,f,m=Wz({breakAll:l,children:a,style:s});if(m){var p=m.wordsWithComputedWidth,g=m.spaceWidth;d=p,f=g}else return z4(a);return Lre({breakAll:l,children:a,maxLines:u,style:s},d,f,n,r)}return z4(a)},q4="#808080",ml=function(t){var n=t.x,r=n===void 0?0:n,a=t.y,s=a===void 0?0:a,l=t.lineHeight,u=l===void 0?"1em":l,d=t.capHeight,f=d===void 0?"0.71em":d,m=t.scaleToFit,p=m===void 0?!1:m,g=t.textAnchor,x=g===void 0?"start":g,j=t.verticalAnchor,w=j===void 0?"end":j,b=t.fill,N=b===void 0?q4:b,E=I4(t,kre),O=y.useMemo(function(){return Bre({breakAll:E.breakAll,children:E.children,maxLines:E.maxLines,scaleToFit:p,style:E.style,width:E.width})},[E.breakAll,E.children,E.maxLines,p,E.style,E.width]),A=E.dx,C=E.dy,k=E.angle,T=E.className,M=E.breakAll,R=I4(E,Mre);if(!Ln(r)||!Ln(s))return null;var B=r+(Ce(A)?A:0),$=s+(Ce(C)?C:0),H;switch(w){case"start":H=nS("calc(".concat(f,")"));break;case"middle":H=nS("calc(".concat((O.length-1)/2," * -").concat(u," + (").concat(f," / 2))"));break;default:H=nS("calc(".concat(O.length-1," * -").concat(u,")"));break}var V=[];if(p){var q=O[0].width,G=E.width;V.push("scale(".concat((Ce(G)?G/q:1)/q,")"))}return k&&V.push("rotate(".concat(k,", ").concat(B,", ").concat($,")")),V.length&&(R.transform=V.join(" ")),W.createElement("text",G_({},qe(R,!0),{x:B,y:$,className:Je("recharts-text",T),textAnchor:x,fill:N.includes("url")?q4:N}),O.map(function(L,D){var U=L.words.join(M?"":" ");return W.createElement("tspan",{x:B,dy:D===0?H:u,key:"".concat(U,"-").concat(D)},U)}))};function Qs(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function zre(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function bO(e){let t,n,r;e.length!==2?(t=Qs,n=(u,d)=>Qs(e(u),d),r=(u,d)=>e(u)-d):(t=e===Qs||e===zre?e:qre,n=e,r=e);function a(u,d,f=0,m=u.length){if(f>>1;n(u[p],d)<0?f=p+1:m=p}while(f>>1;n(u[p],d)<=0?f=p+1:m=p}while(ff&&r(u[p-1],d)>-r(u[p],d)?p-1:p}return{left:a,center:l,right:s}}function qre(){return 0}function Vz(e){return e===null?NaN:+e}function*Fre(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const Ure=bO(Qs),zh=Ure.right;bO(Vz).center;class F4 extends Map{constructor(t,n=Vre){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,a]of t)this.set(r,a)}get(t){return super.get(U4(this,t))}has(t){return super.has(U4(this,t))}set(t,n){return super.set(Hre(this,t),n)}delete(t){return super.delete(Wre(this,t))}}function U4({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function Hre({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Wre({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function Vre(e){return e!==null&&typeof e=="object"?e.valueOf():e}function Gre(e=Qs){if(e===Qs)return Gz;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function Gz(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const Yre=Math.sqrt(50),Kre=Math.sqrt(10),Xre=Math.sqrt(2);function qv(e,t,n){const r=(t-e)/Math.max(0,n),a=Math.floor(Math.log10(r)),s=r/Math.pow(10,a),l=s>=Yre?10:s>=Kre?5:s>=Xre?2:1;let u,d,f;return a<0?(f=Math.pow(10,-a)/l,u=Math.round(e*f),d=Math.round(t*f),u/ft&&--d,f=-f):(f=Math.pow(10,a)*l,u=Math.round(e/f),d=Math.round(t/f),u*ft&&--d),d0))return[];if(e===t)return[e];const r=t=a))return[];const u=s-a+1,d=new Array(u);if(r)if(l<0)for(let f=0;f=r)&&(n=r);return n}function W4(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function Yz(e,t,n=0,r=1/0,a){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(a=a===void 0?Gz:Gre(a);r>n;){if(r-n>600){const d=r-n+1,f=t-n+1,m=Math.log(d),p=.5*Math.exp(2*m/3),g=.5*Math.sqrt(m*p*(d-p)/d)*(f-d/2<0?-1:1),x=Math.max(n,Math.floor(t-f*p/d+g)),j=Math.min(r,Math.floor(t+(d-f)*p/d+g));Yz(e,t,x,j,a)}const s=e[t];let l=n,u=r;for(nf(e,n,t),a(e[r],s)>0&&nf(e,n,r);l0;)--u}a(e[n],s)===0?nf(e,n,u):(++u,nf(e,u,r)),u<=t&&(n=u+1),t<=u&&(r=u-1)}return e}function nf(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function Zre(e,t,n){if(e=Float64Array.from(Fre(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return W4(e);if(t>=1)return H4(e);var r,a=(r-1)*t,s=Math.floor(a),l=H4(Yz(e,s).subarray(0,s+1)),u=W4(e.subarray(s+1));return l+(u-l)*(a-s)}}function Qre(e,t,n=Vz){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,a=(r-1)*t,s=Math.floor(a),l=+n(e[s],s,e),u=+n(e[s+1],s+1,e);return l+(u-l)*(a-s)}}function Jre(e,t,n){e=+e,t=+t,n=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((t-e)/n))|0,s=new Array(a);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Lp(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Lp(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=tae.exec(e))?new Rr(t[1],t[2],t[3],1):(t=nae.exec(e))?new Rr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=rae.exec(e))?Lp(t[1],t[2],t[3],t[4]):(t=aae.exec(e))?Lp(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=iae.exec(e))?Q4(t[1],t[2]/100,t[3]/100,1):(t=sae.exec(e))?Q4(t[1],t[2]/100,t[3]/100,t[4]):V4.hasOwnProperty(e)?K4(V4[e]):e==="transparent"?new Rr(NaN,NaN,NaN,0):null}function K4(e){return new Rr(e>>16&255,e>>8&255,e&255,1)}function Lp(e,t,n,r){return r<=0&&(e=t=n=NaN),new Rr(e,t,n,r)}function cae(e){return e instanceof qh||(e=Wf(e)),e?(e=e.rgb(),new Rr(e.r,e.g,e.b,e.opacity)):new Rr}function Q_(e,t,n,r){return arguments.length===1?cae(e):new Rr(e,t,n,r??1)}function Rr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}jO(Rr,Q_,Xz(qh,{brighter(e){return e=e==null?Fv:Math.pow(Fv,e),new Rr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Uf:Math.pow(Uf,e),new Rr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Rr(il(this.r),il(this.g),il(this.b),Uv(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:X4,formatHex:X4,formatHex8:uae,formatRgb:Z4,toString:Z4}));function X4(){return`#${Xo(this.r)}${Xo(this.g)}${Xo(this.b)}`}function uae(){return`#${Xo(this.r)}${Xo(this.g)}${Xo(this.b)}${Xo((isNaN(this.opacity)?1:this.opacity)*255)}`}function Z4(){const e=Uv(this.opacity);return`${e===1?"rgb(":"rgba("}${il(this.r)}, ${il(this.g)}, ${il(this.b)}${e===1?")":`, ${e})`}`}function Uv(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function il(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Xo(e){return e=il(e),(e<16?"0":"")+e.toString(16)}function Q4(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new qa(e,t,n,r)}function Zz(e){if(e instanceof qa)return new qa(e.h,e.s,e.l,e.opacity);if(e instanceof qh||(e=Wf(e)),!e)return new qa;if(e instanceof qa)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),s=Math.max(t,n,r),l=NaN,u=s-a,d=(s+a)/2;return u?(t===s?l=(n-r)/u+(n0&&d<1?0:l,new qa(l,u,d,e.opacity)}function dae(e,t,n,r){return arguments.length===1?Zz(e):new qa(e,t,n,r??1)}function qa(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}jO(qa,dae,Xz(qh,{brighter(e){return e=e==null?Fv:Math.pow(Fv,e),new qa(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Uf:Math.pow(Uf,e),new qa(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,a=2*n-r;return new Rr(rS(e>=240?e-240:e+120,a,r),rS(e,a,r),rS(e<120?e+240:e-120,a,r),this.opacity)},clamp(){return new qa(J4(this.h),Bp(this.s),Bp(this.l),Uv(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Uv(this.opacity);return`${e===1?"hsl(":"hsla("}${J4(this.h)}, ${Bp(this.s)*100}%, ${Bp(this.l)*100}%${e===1?")":`, ${e})`}`}}));function J4(e){return e=(e||0)%360,e<0?e+360:e}function Bp(e){return Math.max(0,Math.min(1,e||0))}function rS(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const SO=e=>()=>e;function fae(e,t){return function(n){return e+n*t}}function hae(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function mae(e){return(e=+e)==1?Qz:function(t,n){return n-t?hae(t,n,e):SO(isNaN(t)?n:t)}}function Qz(e,t){var n=t-e;return n?fae(e,n):SO(isNaN(e)?t:e)}const e3=(function e(t){var n=mae(t);function r(a,s){var l=n((a=Q_(a)).r,(s=Q_(s)).r),u=n(a.g,s.g),d=n(a.b,s.b),f=Qz(a.opacity,s.opacity);return function(m){return a.r=l(m),a.g=u(m),a.b=d(m),a.opacity=f(m),a+""}}return r.gamma=e,r})(1);function pae(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),a;return function(s){for(a=0;an&&(s=t.slice(n,s),u[l]?u[l]+=s:u[++l]=s),(r=r[0])===(a=a[0])?u[l]?u[l]+=a:u[++l]=a:(u[++l]=null,d.push({i:l,x:Hv(r,a)})),n=aS.lastIndex;return nt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function Cae(e,t,n){var r=e[0],a=e[1],s=t[0],l=t[1];return a2?Oae:Cae,d=f=null,p}function p(g){return g==null||isNaN(g=+g)?s:(d||(d=u(e.map(r),t,n)))(r(l(g)))}return p.invert=function(g){return l(a((f||(f=u(t,e.map(r),Hv)))(g)))},p.domain=function(g){return arguments.length?(e=Array.from(g,Wv),m()):e.slice()},p.range=function(g){return arguments.length?(t=Array.from(g),m()):t.slice()},p.rangeRound=function(g){return t=Array.from(g),n=_O,m()},p.clamp=function(g){return arguments.length?(l=g?!0:_r,m()):l!==_r},p.interpolate=function(g){return arguments.length?(n=g,m()):n},p.unknown=function(g){return arguments.length?(s=g,p):s},function(g,x){return r=g,a=x,m()}}function NO(){return dy()(_r,_r)}function Eae(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Vv(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function fu(e){return e=Vv(Math.abs(e)),e?e[1]:NaN}function Aae(e,t){return function(n,r){for(var a=n.length,s=[],l=0,u=e[0],d=0;a>0&&u>0&&(d+u+1>r&&(u=Math.max(1,r-d)),s.push(n.substring(a-=u,a+u)),!((d+=u+1)>r));)u=e[l=(l+1)%e.length];return s.reverse().join(t)}}function Tae(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var kae=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Vf(e){if(!(t=kae.exec(e)))throw new Error("invalid format: "+e);var t;return new CO({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Vf.prototype=CO.prototype;function CO(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}CO.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Mae(e){e:for(var t=e.length,n=1,r=-1,a;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(a+1):e}var Jz;function Pae(e,t){var n=Vv(e,t);if(!n)return e+"";var r=n[0],a=n[1],s=a-(Jz=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,l=r.length;return s===l?r:s>l?r+new Array(s-l+1).join("0"):s>0?r.slice(0,s)+"."+r.slice(s):"0."+new Array(1-s).join("0")+Vv(e,Math.max(0,t+s-1))[0]}function n3(e,t){var n=Vv(e,t);if(!n)return e+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}const r3={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:Eae,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>n3(e*100,t),r:n3,s:Pae,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function a3(e){return e}var i3=Array.prototype.map,s3=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Rae(e){var t=e.grouping===void 0||e.thousands===void 0?a3:Aae(i3.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",s=e.numerals===void 0?a3:Tae(i3.call(e.numerals,String)),l=e.percent===void 0?"%":e.percent+"",u=e.minus===void 0?"−":e.minus+"",d=e.nan===void 0?"NaN":e.nan+"";function f(p){p=Vf(p);var g=p.fill,x=p.align,j=p.sign,w=p.symbol,b=p.zero,N=p.width,E=p.comma,O=p.precision,A=p.trim,C=p.type;C==="n"?(E=!0,C="g"):r3[C]||(O===void 0&&(O=12),A=!0,C="g"),(b||g==="0"&&x==="=")&&(b=!0,g="0",x="=");var k=w==="$"?n:w==="#"&&/[boxX]/.test(C)?"0"+C.toLowerCase():"",T=w==="$"?r:/[%p]/.test(C)?l:"",M=r3[C],R=/[defgprs%]/.test(C);O=O===void 0?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function B($){var H=k,V=T,q,G,L;if(C==="c")V=M($)+V,$="";else{$=+$;var D=$<0||1/$<0;if($=isNaN($)?d:M(Math.abs($),O),A&&($=Mae($)),D&&+$==0&&j!=="+"&&(D=!1),H=(D?j==="("?j:u:j==="-"||j==="("?"":j)+H,V=(C==="s"?s3[8+Jz/3]:"")+V+(D&&j==="("?")":""),R){for(q=-1,G=$.length;++qL||L>57){V=(L===46?a+$.slice(q+1):$.slice(q))+V,$=$.slice(0,q);break}}}E&&!b&&($=t($,1/0));var U=H.length+$.length+V.length,K=U>1)+H+$+V+K.slice(U);break;default:$=K+H+$+V;break}return s($)}return B.toString=function(){return p+""},B}function m(p,g){var x=f((p=Vf(p),p.type="f",p)),j=Math.max(-8,Math.min(8,Math.floor(fu(g)/3)))*3,w=Math.pow(10,-j),b=s3[8+j/3];return function(N){return x(w*N)+b}}return{format:f,formatPrefix:m}}var zp,OO,e6;Dae({thousands:",",grouping:[3],currency:["$",""]});function Dae(e){return zp=Rae(e),OO=zp.format,e6=zp.formatPrefix,zp}function $ae(e){return Math.max(0,-fu(Math.abs(e)))}function Iae(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(fu(t)/3)))*3-fu(Math.abs(e)))}function Lae(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,fu(t)-fu(e))+1}function t6(e,t,n,r){var a=X_(e,t,n),s;switch(r=Vf(r??",f"),r.type){case"s":{var l=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(s=Iae(a,l))&&(r.precision=s),e6(r,l)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(s=Lae(a,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=s-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(s=$ae(a))&&(r.precision=s-(r.type==="%")*2);break}}return OO(r)}function co(e){var t=e.domain;return e.ticks=function(n){var r=t();return Y_(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var a=t();return t6(a[0],a[a.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),a=0,s=r.length-1,l=r[a],u=r[s],d,f,m=10;for(u0;){if(f=K_(l,u,n),f===d)return r[a]=l,r[s]=u,t(r);if(f>0)l=Math.floor(l/f)*f,u=Math.ceil(u/f)*f;else if(f<0)l=Math.ceil(l*f)/f,u=Math.floor(u*f)/f;else break;d=f}return e},e}function Gv(){var e=NO();return e.copy=function(){return Fh(e,Gv())},ka.apply(e,arguments),co(e)}function n6(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,Wv),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return n6(e).unknown(t)},e=arguments.length?Array.from(e,Wv):[0,1],co(n)}function r6(e,t){e=e.slice();var n=0,r=e.length-1,a=e[n],s=e[r],l;return sMath.pow(e,t)}function Uae(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function c3(e){return(t,n)=>-e(-t,n)}function EO(e){const t=e(o3,l3),n=t.domain;let r=10,a,s;function l(){return a=Uae(r),s=Fae(r),n()[0]<0?(a=c3(a),s=c3(s),e(Bae,zae)):e(o3,l3),t}return t.base=function(u){return arguments.length?(r=+u,l()):r},t.domain=function(u){return arguments.length?(n(u),l()):n()},t.ticks=u=>{const d=n();let f=d[0],m=d[d.length-1];const p=m0){for(;g<=x;++g)for(j=1;jm)break;N.push(w)}}else for(;g<=x;++g)for(j=r-1;j>=1;--j)if(w=g>0?j/s(-g):j*s(g),!(wm)break;N.push(w)}N.length*2{if(u==null&&(u=10),d==null&&(d=r===10?"s":","),typeof d!="function"&&(!(r%1)&&(d=Vf(d)).precision==null&&(d.trim=!0),d=OO(d)),u===1/0)return d;const f=Math.max(1,r*u/t.ticks().length);return m=>{let p=m/s(Math.round(a(m)));return p*rn(r6(n(),{floor:u=>s(Math.floor(a(u))),ceil:u=>s(Math.ceil(a(u)))})),t}function a6(){const e=EO(dy()).domain([1,10]);return e.copy=()=>Fh(e,a6()).base(e.base()),ka.apply(e,arguments),e}function u3(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function d3(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function AO(e){var t=1,n=e(u3(t),d3(t));return n.constant=function(r){return arguments.length?e(u3(t=+r),d3(t)):t},co(n)}function i6(){var e=AO(dy());return e.copy=function(){return Fh(e,i6()).constant(e.constant())},ka.apply(e,arguments)}function f3(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function Hae(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Wae(e){return e<0?-e*e:e*e}function TO(e){var t=e(_r,_r),n=1;function r(){return n===1?e(_r,_r):n===.5?e(Hae,Wae):e(f3(n),f3(1/n))}return t.exponent=function(a){return arguments.length?(n=+a,r()):n},co(t)}function kO(){var e=TO(dy());return e.copy=function(){return Fh(e,kO()).exponent(e.exponent())},ka.apply(e,arguments),e}function Vae(){return kO.apply(null,arguments).exponent(.5)}function h3(e){return Math.sign(e)*e*e}function Gae(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function s6(){var e=NO(),t=[0,1],n=!1,r;function a(s){var l=Gae(e(s));return isNaN(l)?r:n?Math.round(l):l}return a.invert=function(s){return e.invert(h3(s))},a.domain=function(s){return arguments.length?(e.domain(s),a):e.domain()},a.range=function(s){return arguments.length?(e.range((t=Array.from(s,Wv)).map(h3)),a):t.slice()},a.rangeRound=function(s){return a.range(s).round(!0)},a.round=function(s){return arguments.length?(n=!!s,a):n},a.clamp=function(s){return arguments.length?(e.clamp(s),a):e.clamp()},a.unknown=function(s){return arguments.length?(r=s,a):r},a.copy=function(){return s6(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},ka.apply(a,arguments),co(a)}function o6(){var e=[],t=[],n=[],r;function a(){var l=0,u=Math.max(1,t.length);for(n=new Array(u-1);++l0?n[u-1]:e[0],u=n?[r[n-1],t]:[r[f-1],r[f]]},l.unknown=function(d){return arguments.length&&(s=d),l},l.thresholds=function(){return r.slice()},l.copy=function(){return l6().domain([e,t]).range(a).unknown(s)},ka.apply(co(l),arguments)}function c6(){var e=[.5],t=[0,1],n,r=1;function a(s){return s!=null&&s<=s?t[zh(e,s,0,r)]:n}return a.domain=function(s){return arguments.length?(e=Array.from(s),r=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(s){return arguments.length?(t=Array.from(s),r=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(s){var l=t.indexOf(s);return[e[l-1],e[l]]},a.unknown=function(s){return arguments.length?(n=s,a):n},a.copy=function(){return c6().domain(e).range(t).unknown(n)},ka.apply(a,arguments)}const iS=new Date,sS=new Date;function zn(e,t,n,r){function a(s){return e(s=arguments.length===0?new Date:new Date(+s)),s}return a.floor=s=>(e(s=new Date(+s)),s),a.ceil=s=>(e(s=new Date(s-1)),t(s,1),e(s),s),a.round=s=>{const l=a(s),u=a.ceil(s);return s-l(t(s=new Date(+s),l==null?1:Math.floor(l)),s),a.range=(s,l,u)=>{const d=[];if(s=a.ceil(s),u=u==null?1:Math.floor(u),!(s0))return d;let f;do d.push(f=new Date(+s)),t(s,u),e(s);while(fzn(l=>{if(l>=l)for(;e(l),!s(l);)l.setTime(l-1)},(l,u)=>{if(l>=l)if(u<0)for(;++u<=0;)for(;t(l,-1),!s(l););else for(;--u>=0;)for(;t(l,1),!s(l););}),n&&(a.count=(s,l)=>(iS.setTime(+s),sS.setTime(+l),e(iS),e(sS),Math.floor(n(iS,sS))),a.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?a.filter(r?l=>r(l)%s===0:l=>a.count(0,l)%s===0):a)),a}const Yv=zn(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Yv.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?zn(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Yv);Yv.range;const Xi=1e3,Ca=Xi*60,Zi=Ca*60,ss=Zi*24,MO=ss*7,m3=ss*30,oS=ss*365,Zo=zn(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Xi)},(e,t)=>(t-e)/Xi,e=>e.getUTCSeconds());Zo.range;const PO=zn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Xi)},(e,t)=>{e.setTime(+e+t*Ca)},(e,t)=>(t-e)/Ca,e=>e.getMinutes());PO.range;const RO=zn(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Ca)},(e,t)=>(t-e)/Ca,e=>e.getUTCMinutes());RO.range;const DO=zn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Xi-e.getMinutes()*Ca)},(e,t)=>{e.setTime(+e+t*Zi)},(e,t)=>(t-e)/Zi,e=>e.getHours());DO.range;const $O=zn(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Zi)},(e,t)=>(t-e)/Zi,e=>e.getUTCHours());$O.range;const Uh=zn(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ca)/ss,e=>e.getDate()-1);Uh.range;const fy=zn(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ss,e=>e.getUTCDate()-1);fy.range;const u6=zn(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ss,e=>Math.floor(e/ss));u6.range;function Cl(e){return zn(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Ca)/MO)}const hy=Cl(0),Kv=Cl(1),Yae=Cl(2),Kae=Cl(3),hu=Cl(4),Xae=Cl(5),Zae=Cl(6);hy.range;Kv.range;Yae.range;Kae.range;hu.range;Xae.range;Zae.range;function Ol(e){return zn(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/MO)}const my=Ol(0),Xv=Ol(1),Qae=Ol(2),Jae=Ol(3),mu=Ol(4),eie=Ol(5),tie=Ol(6);my.range;Xv.range;Qae.range;Jae.range;mu.range;eie.range;tie.range;const IO=zn(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());IO.range;const LO=zn(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());LO.range;const os=zn(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());os.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:zn(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});os.range;const ls=zn(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ls.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:zn(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});ls.range;function d6(e,t,n,r,a,s){const l=[[Zo,1,Xi],[Zo,5,5*Xi],[Zo,15,15*Xi],[Zo,30,30*Xi],[s,1,Ca],[s,5,5*Ca],[s,15,15*Ca],[s,30,30*Ca],[a,1,Zi],[a,3,3*Zi],[a,6,6*Zi],[a,12,12*Zi],[r,1,ss],[r,2,2*ss],[n,1,MO],[t,1,m3],[t,3,3*m3],[e,1,oS]];function u(f,m,p){const g=mb).right(l,g);if(x===l.length)return e.every(X_(f/oS,m/oS,p));if(x===0)return Yv.every(Math.max(X_(f,m,p),1));const[j,w]=l[g/l[x-1][2]53)return null;"w"in fe||(fe.w=1),"Z"in fe?(Oe=cS(rf(fe.y,0,1)),We=Oe.getUTCDay(),Oe=We>4||We===0?Xv.ceil(Oe):Xv(Oe),Oe=fy.offset(Oe,(fe.V-1)*7),fe.y=Oe.getUTCFullYear(),fe.m=Oe.getUTCMonth(),fe.d=Oe.getUTCDate()+(fe.w+6)%7):(Oe=lS(rf(fe.y,0,1)),We=Oe.getDay(),Oe=We>4||We===0?Kv.ceil(Oe):Kv(Oe),Oe=Uh.offset(Oe,(fe.V-1)*7),fe.y=Oe.getFullYear(),fe.m=Oe.getMonth(),fe.d=Oe.getDate()+(fe.w+6)%7)}else("W"in fe||"U"in fe)&&("w"in fe||(fe.w="u"in fe?fe.u%7:"W"in fe?1:0),We="Z"in fe?cS(rf(fe.y,0,1)).getUTCDay():lS(rf(fe.y,0,1)).getDay(),fe.m=0,fe.d="W"in fe?(fe.w+6)%7+fe.W*7-(We+5)%7:fe.w+fe.U*7-(We+6)%7);return"Z"in fe?(fe.H+=fe.Z/100|0,fe.M+=fe.Z%100,cS(fe)):lS(fe)}}function M(re,we,je,fe){for(var Le=0,Oe=we.length,We=je.length,be,Ae;Le=We)return-1;if(be=we.charCodeAt(Le++),be===37){if(be=we.charAt(Le++),Ae=C[be in p3?we.charAt(Le++):be],!Ae||(fe=Ae(re,je,fe))<0)return-1}else if(be!=je.charCodeAt(fe++))return-1}return fe}function R(re,we,je){var fe=f.exec(we.slice(je));return fe?(re.p=m.get(fe[0].toLowerCase()),je+fe[0].length):-1}function B(re,we,je){var fe=x.exec(we.slice(je));return fe?(re.w=j.get(fe[0].toLowerCase()),je+fe[0].length):-1}function $(re,we,je){var fe=p.exec(we.slice(je));return fe?(re.w=g.get(fe[0].toLowerCase()),je+fe[0].length):-1}function H(re,we,je){var fe=N.exec(we.slice(je));return fe?(re.m=E.get(fe[0].toLowerCase()),je+fe[0].length):-1}function V(re,we,je){var fe=w.exec(we.slice(je));return fe?(re.m=b.get(fe[0].toLowerCase()),je+fe[0].length):-1}function q(re,we,je){return M(re,t,we,je)}function G(re,we,je){return M(re,n,we,je)}function L(re,we,je){return M(re,r,we,je)}function D(re){return l[re.getDay()]}function U(re){return s[re.getDay()]}function K(re){return d[re.getMonth()]}function J(re){return u[re.getMonth()]}function I(re){return a[+(re.getHours()>=12)]}function z(re){return 1+~~(re.getMonth()/3)}function Y(re){return l[re.getUTCDay()]}function te(re){return s[re.getUTCDay()]}function ae(re){return d[re.getUTCMonth()]}function ge(re){return u[re.getUTCMonth()]}function ee(re){return a[+(re.getUTCHours()>=12)]}function Se(re){return 1+~~(re.getUTCMonth()/3)}return{format:function(re){var we=k(re+="",O);return we.toString=function(){return re},we},parse:function(re){var we=T(re+="",!1);return we.toString=function(){return re},we},utcFormat:function(re){var we=k(re+="",A);return we.toString=function(){return re},we},utcParse:function(re){var we=T(re+="",!0);return we.toString=function(){return re},we}}}var p3={"-":"",_:" ",0:"0"},Qn=/^\s*\d+/,oie=/^%/,lie=/[\\^$*+?|[\]().{}]/g;function bt(e,t,n){var r=e<0?"-":"",a=(r?-e:e)+"",s=a.length;return r+(s[t.toLowerCase(),n]))}function uie(e,t,n){var r=Qn.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function die(e,t,n){var r=Qn.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function fie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function hie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function mie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function v3(e,t,n){var r=Qn.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function g3(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function pie(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function vie(e,t,n){var r=Qn.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function gie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function y3(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function yie(e,t,n){var r=Qn.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function x3(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function xie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function bie(e,t,n){var r=Qn.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function wie(e,t,n){var r=Qn.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function jie(e,t,n){var r=Qn.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Sie(e,t,n){var r=oie.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function _ie(e,t,n){var r=Qn.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Nie(e,t,n){var r=Qn.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function b3(e,t){return bt(e.getDate(),t,2)}function Cie(e,t){return bt(e.getHours(),t,2)}function Oie(e,t){return bt(e.getHours()%12||12,t,2)}function Eie(e,t){return bt(1+Uh.count(os(e),e),t,3)}function f6(e,t){return bt(e.getMilliseconds(),t,3)}function Aie(e,t){return f6(e,t)+"000"}function Tie(e,t){return bt(e.getMonth()+1,t,2)}function kie(e,t){return bt(e.getMinutes(),t,2)}function Mie(e,t){return bt(e.getSeconds(),t,2)}function Pie(e){var t=e.getDay();return t===0?7:t}function Rie(e,t){return bt(hy.count(os(e)-1,e),t,2)}function h6(e){var t=e.getDay();return t>=4||t===0?hu(e):hu.ceil(e)}function Die(e,t){return e=h6(e),bt(hu.count(os(e),e)+(os(e).getDay()===4),t,2)}function $ie(e){return e.getDay()}function Iie(e,t){return bt(Kv.count(os(e)-1,e),t,2)}function Lie(e,t){return bt(e.getFullYear()%100,t,2)}function Bie(e,t){return e=h6(e),bt(e.getFullYear()%100,t,2)}function zie(e,t){return bt(e.getFullYear()%1e4,t,4)}function qie(e,t){var n=e.getDay();return e=n>=4||n===0?hu(e):hu.ceil(e),bt(e.getFullYear()%1e4,t,4)}function Fie(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+bt(t/60|0,"0",2)+bt(t%60,"0",2)}function w3(e,t){return bt(e.getUTCDate(),t,2)}function Uie(e,t){return bt(e.getUTCHours(),t,2)}function Hie(e,t){return bt(e.getUTCHours()%12||12,t,2)}function Wie(e,t){return bt(1+fy.count(ls(e),e),t,3)}function m6(e,t){return bt(e.getUTCMilliseconds(),t,3)}function Vie(e,t){return m6(e,t)+"000"}function Gie(e,t){return bt(e.getUTCMonth()+1,t,2)}function Yie(e,t){return bt(e.getUTCMinutes(),t,2)}function Kie(e,t){return bt(e.getUTCSeconds(),t,2)}function Xie(e){var t=e.getUTCDay();return t===0?7:t}function Zie(e,t){return bt(my.count(ls(e)-1,e),t,2)}function p6(e){var t=e.getUTCDay();return t>=4||t===0?mu(e):mu.ceil(e)}function Qie(e,t){return e=p6(e),bt(mu.count(ls(e),e)+(ls(e).getUTCDay()===4),t,2)}function Jie(e){return e.getUTCDay()}function ese(e,t){return bt(Xv.count(ls(e)-1,e),t,2)}function tse(e,t){return bt(e.getUTCFullYear()%100,t,2)}function nse(e,t){return e=p6(e),bt(e.getUTCFullYear()%100,t,2)}function rse(e,t){return bt(e.getUTCFullYear()%1e4,t,4)}function ase(e,t){var n=e.getUTCDay();return e=n>=4||n===0?mu(e):mu.ceil(e),bt(e.getUTCFullYear()%1e4,t,4)}function ise(){return"+0000"}function j3(){return"%"}function S3(e){return+e}function _3(e){return Math.floor(+e/1e3)}var Cc,v6,g6;sse({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function sse(e){return Cc=sie(e),v6=Cc.format,Cc.parse,g6=Cc.utcFormat,Cc.utcParse,Cc}function ose(e){return new Date(e)}function lse(e){return e instanceof Date?+e:+new Date(+e)}function BO(e,t,n,r,a,s,l,u,d,f){var m=NO(),p=m.invert,g=m.domain,x=f(".%L"),j=f(":%S"),w=f("%I:%M"),b=f("%I %p"),N=f("%a %d"),E=f("%b %d"),O=f("%B"),A=f("%Y");function C(k){return(d(k)t(a/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(a,s)=>Zre(e,s/r))},n.copy=function(){return w6(t).domain(e)},ms.apply(n,arguments)}function vy(){var e=0,t=.5,n=1,r=1,a,s,l,u,d,f=_r,m,p=!1,g;function x(w){return isNaN(w=+w)?g:(w=.5+((w=+m(w))-s)*(r*wn}return dS=e,dS}var fS,E3;function hse(){if(E3)return fS;E3=1;var e=gy(),t=N6(),n=Vu();function r(a){return a&&a.length?e(a,n,t):void 0}return fS=r,fS}var mse=hse();const yy=At(mse);var hS,A3;function C6(){if(A3)return hS;A3=1;function e(t,n){return te.e^s.s<0?1:-1;for(r=s.d.length,a=e.d.length,t=0,n=re.d[t]^s.s<0?1:-1;return r===a?0:r>a^s.s<0?1:-1};Te.decimalPlaces=Te.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*tn;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};Te.dividedBy=Te.div=function(e){return rs(this,new this.constructor(e))};Te.dividedToIntegerBy=Te.idiv=function(e){var t=this,n=t.constructor;return Vt(rs(t,new n(e),0,1),n.precision)};Te.equals=Te.eq=function(e){return!this.cmp(e)};Te.exponent=function(){return Tn(this)};Te.greaterThan=Te.gt=function(e){return this.cmp(e)>0};Te.greaterThanOrEqualTo=Te.gte=function(e){return this.cmp(e)>=0};Te.isInteger=Te.isint=function(){return this.e>this.d.length-2};Te.isNegative=Te.isneg=function(){return this.s<0};Te.isPositive=Te.ispos=function(){return this.s>0};Te.isZero=function(){return this.s===0};Te.lessThan=Te.lt=function(e){return this.cmp(e)<0};Te.lessThanOrEqualTo=Te.lte=function(e){return this.cmp(e)<1};Te.logarithm=Te.log=function(e){var t,n=this,r=n.constructor,a=r.precision,s=a+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(ra))throw Error(Aa+"NaN");if(n.s<1)throw Error(Aa+(n.s?"NaN":"-Infinity"));return n.eq(ra)?new r(0):(rn=!1,t=rs(Gf(n,s),Gf(e,s),s),rn=!0,Vt(t,a))};Te.minus=Te.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?T6(t,e):E6(t,(e.s=-e.s,e))};Te.modulo=Te.mod=function(e){var t,n=this,r=n.constructor,a=r.precision;if(e=new r(e),!e.s)throw Error(Aa+"NaN");return n.s?(rn=!1,t=rs(n,e,0,1).times(e),rn=!0,n.minus(t)):Vt(new r(n),a)};Te.naturalExponential=Te.exp=function(){return A6(this)};Te.naturalLogarithm=Te.ln=function(){return Gf(this)};Te.negated=Te.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};Te.plus=Te.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?E6(t,e):T6(t,(e.s=-e.s,e))};Te.precision=Te.sd=function(e){var t,n,r,a=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(sl+e);if(t=Tn(a)+1,r=a.d.length-1,n=r*tn+1,r=a.d[r],r){for(;r%10==0;r/=10)n--;for(r=a.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};Te.squareRoot=Te.sqrt=function(){var e,t,n,r,a,s,l,u=this,d=u.constructor;if(u.s<1){if(!u.s)return new d(0);throw Error(Aa+"NaN")}for(e=Tn(u),rn=!1,a=Math.sqrt(+u),a==0||a==1/0?(t=ui(u.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=Ku((e+1)/2)-(e<0||e%2),a==1/0?t="5e"+e:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new d(t)):r=new d(a.toString()),n=d.precision,a=l=n+3;;)if(s=r,r=s.plus(rs(u,s,l+2)).times(.5),ui(s.d).slice(0,l)===(t=ui(r.d)).slice(0,l)){if(t=t.slice(l-3,l+1),a==l&&t=="4999"){if(Vt(s,n+1,0),s.times(s).eq(u)){r=s;break}}else if(t!="9999")break;l+=4}return rn=!0,Vt(r,n)};Te.times=Te.mul=function(e){var t,n,r,a,s,l,u,d,f,m=this,p=m.constructor,g=m.d,x=(e=new p(e)).d;if(!m.s||!e.s)return new p(0);for(e.s*=m.s,n=m.e+e.e,d=g.length,f=x.length,d=0;){for(t=0,a=d+r;a>r;)u=s[a]+x[r]*g[a-r-1]+t,s[a--]=u%Hn|0,t=u/Hn|0;s[a]=(s[a]+t)%Hn|0}for(;!s[--l];)s.pop();return t?++n:s.shift(),e.d=s,e.e=n,rn?Vt(e,p.precision):e};Te.toDecimalPlaces=Te.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(xi(e,0,Yu),t===void 0?t=r.rounding:xi(t,0,8),Vt(n,e+Tn(n)+1,t))};Te.toExponential=function(e,t){var n,r=this,a=r.constructor;return e===void 0?n=pl(r,!0):(xi(e,0,Yu),t===void 0?t=a.rounding:xi(t,0,8),r=Vt(new a(r),e+1,t),n=pl(r,!0,e+1)),n};Te.toFixed=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?pl(a):(xi(e,0,Yu),t===void 0?t=s.rounding:xi(t,0,8),r=Vt(new s(a),e+Tn(a)+1,t),n=pl(r.abs(),!1,e+Tn(r)+1),a.isneg()&&!a.isZero()?"-"+n:n)};Te.toInteger=Te.toint=function(){var e=this,t=e.constructor;return Vt(new t(e),Tn(e)+1,t.rounding)};Te.toNumber=function(){return+this};Te.toPower=Te.pow=function(e){var t,n,r,a,s,l,u=this,d=u.constructor,f=12,m=+(e=new d(e));if(!e.s)return new d(ra);if(u=new d(u),!u.s){if(e.s<1)throw Error(Aa+"Infinity");return u}if(u.eq(ra))return u;if(r=d.precision,e.eq(ra))return Vt(u,r);if(t=e.e,n=e.d.length-1,l=t>=n,s=u.s,l){if((n=m<0?-m:m)<=O6){for(a=new d(ra),t=Math.ceil(r/tn+4),rn=!1;n%2&&(a=a.times(u),D3(a.d,t)),n=Ku(n/2),n!==0;)u=u.times(u),D3(u.d,t);return rn=!0,e.s<0?new d(ra).div(a):Vt(a,r)}}else if(s<0)throw Error(Aa+"NaN");return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,u.s=1,rn=!1,a=e.times(Gf(u,r+f)),rn=!0,a=A6(a),a.s=s,a};Te.toPrecision=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?(n=Tn(a),r=pl(a,n<=s.toExpNeg||n>=s.toExpPos)):(xi(e,1,Yu),t===void 0?t=s.rounding:xi(t,0,8),a=Vt(new s(a),e,t),n=Tn(a),r=pl(a,e<=n||n<=s.toExpNeg,e)),r};Te.toSignificantDigits=Te.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(xi(e,1,Yu),t===void 0?t=r.rounding:xi(t,0,8)),Vt(new r(n),e,t)};Te.toString=Te.valueOf=Te.val=Te.toJSON=Te[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=Tn(e),n=e.constructor;return pl(e,t<=n.toExpNeg||t>=n.toExpPos)};function E6(e,t){var n,r,a,s,l,u,d,f,m=e.constructor,p=m.precision;if(!e.s||!t.s)return t.s||(t=new m(e)),rn?Vt(t,p):t;if(d=e.d,f=t.d,l=e.e,a=t.e,d=d.slice(),s=l-a,s){for(s<0?(r=d,s=-s,u=f.length):(r=f,a=l,u=d.length),l=Math.ceil(p/tn),u=l>u?l+1:u+1,s>u&&(s=u,r.length=1),r.reverse();s--;)r.push(0);r.reverse()}for(u=d.length,s=f.length,u-s<0&&(s=u,r=f,f=d,d=r),n=0;s;)n=(d[--s]=d[s]+f[s]+n)/Hn|0,d[s]%=Hn;for(n&&(d.unshift(n),++a),u=d.length;d[--u]==0;)d.pop();return t.d=d,t.e=a,rn?Vt(t,p):t}function xi(e,t,n){if(e!==~~e||en)throw Error(sl+e)}function ui(e){var t,n,r,a=e.length-1,s="",l=e[0];if(a>0){for(s+=l,t=1;tl?1:-1;else for(u=d=0;ua[u]?1:-1;break}return d}function n(r,a,s){for(var l=0;s--;)r[s]-=l,l=r[s]1;)r.shift()}return function(r,a,s,l){var u,d,f,m,p,g,x,j,w,b,N,E,O,A,C,k,T,M,R=r.constructor,B=r.s==a.s?1:-1,$=r.d,H=a.d;if(!r.s)return new R(r);if(!a.s)throw Error(Aa+"Division by zero");for(d=r.e-a.e,T=H.length,C=$.length,x=new R(B),j=x.d=[],f=0;H[f]==($[f]||0);)++f;if(H[f]>($[f]||0)&&--d,s==null?E=s=R.precision:l?E=s+(Tn(r)-Tn(a))+1:E=s,E<0)return new R(0);if(E=E/tn+2|0,f=0,T==1)for(m=0,H=H[0],E++;(f1&&(H=e(H,m),$=e($,m),T=H.length,C=$.length),A=T,w=$.slice(0,T),b=w.length;b=Hn/2&&++k;do m=0,u=t(H,w,T,b),u<0?(N=w[0],T!=b&&(N=N*Hn+(w[1]||0)),m=N/k|0,m>1?(m>=Hn&&(m=Hn-1),p=e(H,m),g=p.length,b=w.length,u=t(p,w,g,b),u==1&&(m--,n(p,T16)throw Error(FO+Tn(e));if(!e.s)return new m(ra);for(rn=!1,u=p,l=new m(.03125);e.abs().gte(.1);)e=e.times(l),f+=5;for(r=Math.log(Wo(2,f))/Math.LN10*2+5|0,u+=r,n=a=s=new m(ra),m.precision=u;;){if(a=Vt(a.times(e),u),n=n.times(++d),l=s.plus(rs(a,n,u)),ui(l.d).slice(0,u)===ui(s.d).slice(0,u)){for(;f--;)s=Vt(s.times(s),u);return m.precision=p,t==null?(rn=!0,Vt(s,p)):s}s=l}}function Tn(e){for(var t=e.e*tn,n=e.d[0];n>=10;n/=10)t++;return t}function yS(e,t,n){if(t>e.LN10.sd())throw rn=!0,n&&(e.precision=n),Error(Aa+"LN10 precision limit exceeded");return Vt(new e(e.LN10),t)}function Hs(e){for(var t="";e--;)t+="0";return t}function Gf(e,t){var n,r,a,s,l,u,d,f,m,p=1,g=10,x=e,j=x.d,w=x.constructor,b=w.precision;if(x.s<1)throw Error(Aa+(x.s?"NaN":"-Infinity"));if(x.eq(ra))return new w(0);if(t==null?(rn=!1,f=b):f=t,x.eq(10))return t==null&&(rn=!0),yS(w,f);if(f+=g,w.precision=f,n=ui(j),r=n.charAt(0),s=Tn(x),Math.abs(s)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)x=x.times(e),n=ui(x.d),r=n.charAt(0),p++;s=Tn(x),r>1?(x=new w("0."+n),s++):x=new w(r+"."+n.slice(1))}else return d=yS(w,f+2,b).times(s+""),x=Gf(new w(r+"."+n.slice(1)),f-g).plus(d),w.precision=b,t==null?(rn=!0,Vt(x,b)):x;for(u=l=x=rs(x.minus(ra),x.plus(ra),f),m=Vt(x.times(x),f),a=3;;){if(l=Vt(l.times(m),f),d=u.plus(rs(l,new w(a),f)),ui(d.d).slice(0,f)===ui(u.d).slice(0,f))return u=u.times(2),s!==0&&(u=u.plus(yS(w,f+2,b).times(s+""))),u=rs(u,new w(p),f),w.precision=b,t==null?(rn=!0,Vt(u,b)):u;u=d,a+=2}}function R3(e,t){var n,r,a;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=Ku(n/tn),e.d=[],r=(n+1)%tn,n<0&&(r+=tn),rZv||e.e<-Zv))throw Error(FO+n)}else e.s=0,e.e=0,e.d=[0];return e}function Vt(e,t,n){var r,a,s,l,u,d,f,m,p=e.d;for(l=1,s=p[0];s>=10;s/=10)l++;if(r=t-l,r<0)r+=tn,a=t,f=p[m=0];else{if(m=Math.ceil((r+1)/tn),s=p.length,m>=s)return e;for(f=s=p[m],l=1;s>=10;s/=10)l++;r%=tn,a=r-tn+l}if(n!==void 0&&(s=Wo(10,l-a-1),u=f/s%10|0,d=t<0||p[m+1]!==void 0||f%s,d=n<4?(u||d)&&(n==0||n==(e.s<0?3:2)):u>5||u==5&&(n==4||d||n==6&&(r>0?a>0?f/Wo(10,l-a):0:p[m-1])%10&1||n==(e.s<0?8:7))),t<1||!p[0])return d?(s=Tn(e),p.length=1,t=t-s-1,p[0]=Wo(10,(tn-t%tn)%tn),e.e=Ku(-t/tn)||0):(p.length=1,p[0]=e.e=e.s=0),e;if(r==0?(p.length=m,s=1,m--):(p.length=m+1,s=Wo(10,tn-r),p[m]=a>0?(f/Wo(10,l-a)%Wo(10,a)|0)*s:0),d)for(;;)if(m==0){(p[0]+=s)==Hn&&(p[0]=1,++e.e);break}else{if(p[m]+=s,p[m]!=Hn)break;p[m--]=0,s=1}for(r=p.length;p[--r]===0;)p.pop();if(rn&&(e.e>Zv||e.e<-Zv))throw Error(FO+Tn(e));return e}function T6(e,t){var n,r,a,s,l,u,d,f,m,p,g=e.constructor,x=g.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new g(e),rn?Vt(t,x):t;if(d=e.d,p=t.d,r=t.e,f=e.e,d=d.slice(),l=f-r,l){for(m=l<0,m?(n=d,l=-l,u=p.length):(n=p,r=f,u=d.length),a=Math.max(Math.ceil(x/tn),u)+2,l>a&&(l=a,n.length=1),n.reverse(),a=l;a--;)n.push(0);n.reverse()}else{for(a=d.length,u=p.length,m=a0;--a)d[u++]=0;for(a=p.length;a>l;){if(d[--a]0?s=s.charAt(0)+"."+s.slice(1)+Hs(r):l>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(a<0?"e":"e+")+a):a<0?(s="0."+Hs(-a-1)+s,n&&(r=n-l)>0&&(s+=Hs(r))):a>=l?(s+=Hs(a+1-l),n&&(r=n-a-1)>0&&(s=s+"."+Hs(r))):((r=a+1)0&&(a+1===l&&(s+="."),s+=Hs(r))),e.s<0?"-"+s:s}function D3(e,t){if(e.length>t)return e.length=t,!0}function k6(e){var t,n,r;function a(s){var l=this;if(!(l instanceof a))return new a(s);if(l.constructor=a,s instanceof a){l.s=s.s,l.e=s.e,l.d=(s=s.d)?s.slice():s;return}if(typeof s=="number"){if(s*0!==0)throw Error(sl+s);if(s>0)l.s=1;else if(s<0)s=-s,l.s=-1;else{l.s=0,l.e=0,l.d=[0];return}if(s===~~s&&s<1e7){l.e=0,l.d=[s];return}return R3(l,s.toString())}else if(typeof s!="string")throw Error(sl+s);if(s.charCodeAt(0)===45?(s=s.slice(1),l.s=-1):l.s=1,_se.test(s))R3(l,s);else throw Error(sl+s)}if(a.prototype=Te,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.clone=k6,a.config=a.set=Nse,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=a[t+1]&&r<=a[t+2])this[n]=r;else throw Error(sl+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(sl+n+": "+r);return this}var UO=k6(Sse);ra=new UO(1);const qt=UO;function Cse(e){return Tse(e)||Ase(e)||Ese(e)||Ose()}function Ose(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ese(e,t){if(e){if(typeof e=="string")return tN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tN(e,t)}}function Ase(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function Tse(e){if(Array.isArray(e))return tN(e)}function tN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t?n.apply(void 0,a):e(t-l,$3(function(){for(var u=arguments.length,d=new Array(u),f=0;fe.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,a=!1,s=void 0;try{for(var l=e[Symbol.iterator](),u;!(r=(u=l.next()).done)&&(n.push(u.value),!(t&&n.length===t));r=!0);}catch(d){a=!0,s=d}finally{try{!r&&l.return!=null&&l.return()}finally{if(a)throw s}}return n}}function Wse(e){if(Array.isArray(e))return e}function $6(e){var t=Yf(e,2),n=t[0],r=t[1],a=n,s=r;return n>r&&(a=r,s=n),[a,s]}function I6(e,t,n){if(e.lte(0))return new qt(0);var r=wy.getDigitCount(e.toNumber()),a=new qt(10).pow(r),s=e.div(a),l=r!==1?.05:.1,u=new qt(Math.ceil(s.div(l).toNumber())).add(n).mul(l),d=u.mul(a);return t?d:new qt(Math.ceil(d))}function Vse(e,t,n){var r=1,a=new qt(e);if(!a.isint()&&n){var s=Math.abs(e);s<1?(r=new qt(10).pow(wy.getDigitCount(e)-1),a=new qt(Math.floor(a.div(r).toNumber())).mul(r)):s>1&&(a=new qt(Math.floor(e)))}else e===0?a=new qt(Math.floor((t-1)/2)):n||(a=new qt(Math.floor(e)));var l=Math.floor((t-1)/2),u=Rse(Pse(function(d){return a.add(new qt(d-l).mul(r)).toNumber()}),nN);return u(0,t)}function L6(e,t,n,r){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(n-1)))return{step:new qt(0),tickMin:new qt(0),tickMax:new qt(0)};var s=I6(new qt(t).sub(e).div(n-1),r,a),l;e<=0&&t>=0?l=new qt(0):(l=new qt(e).add(t).div(2),l=l.sub(new qt(l).mod(s)));var u=Math.ceil(l.sub(e).div(s).toNumber()),d=Math.ceil(new qt(t).sub(l).div(s).toNumber()),f=u+d+1;return f>n?L6(e,t,n,r,a+1):(f0?d+(n-f):d,u=t>0?u:u+(n-f)),{step:s,tickMin:l.sub(new qt(u).mul(s)),tickMax:l.add(new qt(d).mul(s))})}function Gse(e){var t=Yf(e,2),n=t[0],r=t[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=Math.max(a,2),u=$6([n,r]),d=Yf(u,2),f=d[0],m=d[1];if(f===-1/0||m===1/0){var p=m===1/0?[f].concat(aN(nN(0,a-1).map(function(){return 1/0}))):[].concat(aN(nN(0,a-1).map(function(){return-1/0})),[m]);return n>r?rN(p):p}if(f===m)return Vse(f,a,s);var g=L6(f,m,l,s),x=g.step,j=g.tickMin,w=g.tickMax,b=wy.rangeStep(j,w.add(new qt(.1).mul(x)),x);return n>r?rN(b):b}function Yse(e,t){var n=Yf(e,2),r=n[0],a=n[1],s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=$6([r,a]),u=Yf(l,2),d=u[0],f=u[1];if(d===-1/0||f===1/0)return[r,a];if(d===f)return[d];var m=Math.max(t,2),p=I6(new qt(f).sub(d).div(m-1),s,0),g=[].concat(aN(wy.rangeStep(new qt(d),new qt(f).sub(new qt(.99).mul(p)),p)),[f]);return r>a?rN(g):g}var Kse=R6(Gse),Xse=R6(Yse),Zse=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function pu(e){"@babel/helpers - typeof";return pu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pu(e)}function Qv(){return Qv=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function aoe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function ioe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function soe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:[],a=arguments.length>2?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0,l=-1,u=(n=r?.length)!==null&&n!==void 0?n:0;if(u<=1)return 0;if(s&&s.axisType==="angleAxis"&&Math.abs(Math.abs(s.range[1]-s.range[0])-360)<=1e-6)for(var d=s.range,f=0;f0?a[f-1].coordinate:a[u-1].coordinate,p=a[f].coordinate,g=f>=u-1?a[0].coordinate:a[f+1].coordinate,x=void 0;if(jr(p-m)!==jr(g-p)){var j=[];if(jr(g-p)===jr(d[1]-d[0])){x=g;var w=p+d[1]-d[0];j[0]=Math.min(w,(w+m)/2),j[1]=Math.max(w,(w+m)/2)}else{x=m;var b=g+d[1]-d[0];j[0]=Math.min(p,(b+p)/2),j[1]=Math.max(p,(b+p)/2)}var N=[Math.min(p,(x+p)/2),Math.max(p,(x+p)/2)];if(t>N[0]&&t<=N[1]||t>=j[0]&&t<=j[1]){l=a[f].index;break}}else{var E=Math.min(m,g),O=Math.max(m,g);if(t>(E+p)/2&&t<=(O+p)/2){l=a[f].index;break}}}else for(var A=0;A0&&A(r[A].coordinate+r[A-1].coordinate)/2&&t<=(r[A].coordinate+r[A+1].coordinate)/2||A===u-1&&t>(r[A].coordinate+r[A-1].coordinate)/2){l=r[A].index;break}return l},HO=function(t){var n,r=t,a=r.type.displayName,s=(n=t.type)!==null&&n!==void 0&&n.defaultProps?xn(xn({},t.type.defaultProps),t.props):t.props,l=s.stroke,u=s.fill,d;switch(a){case"Line":d=l;break;case"Area":case"Radar":d=l&&l!=="none"?l:u;break;default:d=u;break}return d},Soe=function(t){var n=t.barSize,r=t.totalSize,a=t.stackGroups,s=a===void 0?{}:a;if(!s)return{};for(var l={},u=Object.keys(s),d=0,f=u.length;d=0});if(N&&N.length){var E=N[0].type.defaultProps,O=E!==void 0?xn(xn({},E),N[0].props):N[0].props,A=O.barSize,C=O[b];l[C]||(l[C]=[]);var k=Qe(A)?n:A;l[C].push({item:N[0],stackList:N.slice(1),barSize:Qe(k)?void 0:Sr(k,r,0)})}}return l},_oe=function(t){var n=t.barGap,r=t.barCategoryGap,a=t.bandSize,s=t.sizeList,l=s===void 0?[]:s,u=t.maxBarSize,d=l.length;if(d<1)return null;var f=Sr(n,a,0,!0),m,p=[];if(l[0].barSize===+l[0].barSize){var g=!1,x=a/d,j=l.reduce(function(A,C){return A+C.barSize||0},0);j+=(d-1)*f,j>=a&&(j-=(d-1)*f,f=0),j>=a&&x>0&&(g=!0,x*=.9,j=d*x);var w=(a-j)/2>>0,b={offset:w-f,size:0};m=l.reduce(function(A,C){var k={item:C.item,position:{offset:b.offset+b.size+f,size:g?x:C.barSize}},T=[].concat(B3(A),[k]);return b=T[T.length-1].position,C.stackList&&C.stackList.length&&C.stackList.forEach(function(M){T.push({item:M,position:b})}),T},p)}else{var N=Sr(r,a,0,!0);a-2*N-(d-1)*f<=0&&(f=0);var E=(a-2*N-(d-1)*f)/d;E>1&&(E>>=0);var O=u===+u?Math.min(E,u):E;m=l.reduce(function(A,C,k){var T=[].concat(B3(A),[{item:C.item,position:{offset:N+(E+f)*k+(E-O)/2,size:O}}]);return C.stackList&&C.stackList.length&&C.stackList.forEach(function(M){T.push({item:M,position:T[T.length-1].position})}),T},p)}return m},Noe=function(t,n,r,a){var s=r.children,l=r.width,u=r.margin,d=l-(u.left||0)-(u.right||0),f=F6({children:s,legendWidth:d});if(f){var m=a||{},p=m.width,g=m.height,x=f.align,j=f.verticalAlign,w=f.layout;if((w==="vertical"||w==="horizontal"&&j==="middle")&&x!=="center"&&Ce(t[x]))return xn(xn({},t),{},Yc({},x,t[x]+(p||0)));if((w==="horizontal"||w==="vertical"&&x==="center")&&j!=="middle"&&Ce(t[j]))return xn(xn({},t),{},Yc({},j,t[j]+(g||0)))}return t},Coe=function(t,n,r){return Qe(n)?!0:t==="horizontal"?n==="yAxis":t==="vertical"||r==="x"?n==="xAxis":r==="y"?n==="yAxis":!0},U6=function(t,n,r,a,s){var l=n.props.children,u=ia(l,Wh).filter(function(f){return Coe(a,s,f.props.direction)});if(u&&u.length){var d=u.map(function(f){return f.props.dataKey});return t.reduce(function(f,m){var p=In(m,r);if(Qe(p))return f;var g=Array.isArray(p)?[xy(p),yy(p)]:[p,p],x=d.reduce(function(j,w){var b=In(m,w,0),N=g[0]-Math.abs(Array.isArray(b)?b[0]:b),E=g[1]+Math.abs(Array.isArray(b)?b[1]:b);return[Math.min(N,j[0]),Math.max(E,j[1])]},[1/0,-1/0]);return[Math.min(x[0],f[0]),Math.max(x[1],f[1])]},[1/0,-1/0])}return null},Ooe=function(t,n,r,a,s){var l=n.map(function(u){return U6(t,u,r,s,a)}).filter(function(u){return!Qe(u)});return l&&l.length?l.reduce(function(u,d){return[Math.min(u[0],d[0]),Math.max(u[1],d[1])]},[1/0,-1/0]):null},H6=function(t,n,r,a,s){var l=n.map(function(d){var f=d.props.dataKey;return r==="number"&&f&&U6(t,d,f,a)||Of(t,f,r,s)});if(r==="number")return l.reduce(function(d,f){return[Math.min(d[0],f[0]),Math.max(d[1],f[1])]},[1/0,-1/0]);var u={};return l.reduce(function(d,f){for(var m=0,p=f.length;m=2?jr(u[0]-u[1])*2*f:f,n&&(t.ticks||t.niceTicks)){var m=(t.ticks||t.niceTicks).map(function(p){var g=s?s.indexOf(p):p;return{coordinate:a(g)+f,value:p,offset:f}});return m.filter(function(p){return!Lh(p.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(p,g){return{coordinate:a(p)+f,value:p,index:g,offset:f}}):a.ticks&&!r?a.ticks(t.tickCount).map(function(p){return{coordinate:a(p)+f,value:p,offset:f}}):a.domain().map(function(p,g){return{coordinate:a(p)+f,value:s?s[p]:p,index:g,offset:f}})},xS=new WeakMap,qp=function(t,n){if(typeof n!="function")return t;xS.has(t)||xS.set(t,new WeakMap);var r=xS.get(t);if(r.has(n))return r.get(n);var a=function(){t.apply(void 0,arguments),n.apply(void 0,arguments)};return r.set(n,a),a},G6=function(t,n,r){var a=t.scale,s=t.type,l=t.layout,u=t.axisType;if(a==="auto")return l==="radial"&&u==="radiusAxis"?{scale:Ff(),realScaleType:"band"}:l==="radial"&&u==="angleAxis"?{scale:Gv(),realScaleType:"linear"}:s==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!r)?{scale:Cf(),realScaleType:"point"}:s==="category"?{scale:Ff(),realScaleType:"band"}:{scale:Gv(),realScaleType:"linear"};if(fl(a)){var d="scale".concat(ry(a));return{scale:(N3[d]||Cf)(),realScaleType:N3[d]?d:"point"}}return Ke(a)?{scale:a}:{scale:Cf(),realScaleType:"point"}},q3=1e-4,Y6=function(t){var n=t.domain();if(!(!n||n.length<=2)){var r=n.length,a=t.range(),s=Math.min(a[0],a[1])-q3,l=Math.max(a[0],a[1])+q3,u=t(n[0]),d=t(n[r-1]);(ul||dl)&&t.domain([n[0],n[r-1]])}},Eoe=function(t,n){if(!t)return null;for(var r=0,a=t.length;ra)&&(s[1]=a),s[0]>a&&(s[0]=a),s[1]=0?(t[u][r][0]=s,t[u][r][1]=s+d,s=t[u][r][1]):(t[u][r][0]=l,t[u][r][1]=l+d,l=t[u][r][1])}},koe=function(t){var n=t.length;if(!(n<=0))for(var r=0,a=t[0].length;r=0?(t[l][r][0]=s,t[l][r][1]=s+u,s=t[l][r][1]):(t[l][r][0]=0,t[l][r][1]=0)}},Moe={sign:Toe,expand:xee,none:ou,silhouette:bee,wiggle:wee,positive:koe},Poe=function(t,n,r){var a=n.map(function(u){return u.props.dataKey}),s=Moe[r],l=yee().keys(a).value(function(u,d){return+In(u,d,0)}).order(I_).offset(s);return l(t)},Roe=function(t,n,r,a,s,l){if(!t)return null;var u=l?n.reverse():n,d={},f=u.reduce(function(p,g){var x,j=(x=g.type)!==null&&x!==void 0&&x.defaultProps?xn(xn({},g.type.defaultProps),g.props):g.props,w=j.stackId,b=j.hide;if(b)return p;var N=j[r],E=p[N]||{hasStack:!1,stackGroups:{}};if(Ln(w)){var O=E.stackGroups[w]||{numericAxisId:r,cateAxisId:a,items:[]};O.items.push(g),E.hasStack=!0,E.stackGroups[w]=O}else E.stackGroups[Wu("_stackId_")]={numericAxisId:r,cateAxisId:a,items:[g]};return xn(xn({},p),{},Yc({},N,E))},d),m={};return Object.keys(f).reduce(function(p,g){var x=f[g];if(x.hasStack){var j={};x.stackGroups=Object.keys(x.stackGroups).reduce(function(w,b){var N=x.stackGroups[b];return xn(xn({},w),{},Yc({},b,{numericAxisId:r,cateAxisId:a,items:N.items,stackedData:Poe(t,N.items,s)}))},j)}return xn(xn({},p),{},Yc({},g,x))},m)},K6=function(t,n){var r=n.realScaleType,a=n.type,s=n.tickCount,l=n.originalDomain,u=n.allowDecimals,d=r||n.scale;if(d!=="auto"&&d!=="linear")return null;if(s&&a==="number"&&l&&(l[0]==="auto"||l[1]==="auto")){var f=t.domain();if(!f.length)return null;var m=Kse(f,s,u);return t.domain([xy(m),yy(m)]),{niceTicks:m}}if(s&&a==="number"){var p=t.domain(),g=Xse(p,s,u);return{niceTicks:g}}return null};function F3(e){var t=e.axis,n=e.ticks,r=e.bandSize,a=e.entry,s=e.index,l=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Qe(a[t.dataKey])){var u=Av(n,"value",a[t.dataKey]);if(u)return u.coordinate+r/2}return n[s]?n[s].coordinate+r/2:null}var d=In(a,Qe(l)?t.dataKey:l);return Qe(d)?null:t.scale(d)}var U3=function(t){var n=t.axis,r=t.ticks,a=t.offset,s=t.bandSize,l=t.entry,u=t.index;if(n.type==="category")return r[u]?r[u].coordinate+a:null;var d=In(l,n.dataKey,n.domain[u]);return Qe(d)?null:n.scale(d)-s/2+a},Doe=function(t){var n=t.numericAxis,r=n.scale.domain();if(n.type==="number"){var a=Math.min(r[0],r[1]),s=Math.max(r[0],r[1]);return a<=0&&s>=0?0:s<0?s:a}return r[0]},$oe=function(t,n){var r,a=(r=t.type)!==null&&r!==void 0&&r.defaultProps?xn(xn({},t.type.defaultProps),t.props):t.props,s=a.stackId;if(Ln(s)){var l=n[s];if(l){var u=l.items.indexOf(t);return u>=0?l.stackedData[u]:null}}return null},Ioe=function(t){return t.reduce(function(n,r){return[xy(r.concat([n[0]]).filter(Ce)),yy(r.concat([n[1]]).filter(Ce))]},[1/0,-1/0])},X6=function(t,n,r){return Object.keys(t).reduce(function(a,s){var l=t[s],u=l.stackedData,d=u.reduce(function(f,m){var p=Ioe(m.slice(n,r+1));return[Math.min(f[0],p[0]),Math.max(f[1],p[1])]},[1/0,-1/0]);return[Math.min(d[0],a[0]),Math.max(d[1],a[1])]},[1/0,-1/0]).map(function(a){return a===1/0||a===-1/0?0:a})},H3=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,W3=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,lN=function(t,n,r){if(Ke(t))return t(n,r);if(!Array.isArray(t))return n;var a=[];if(Ce(t[0]))a[0]=r?t[0]:Math.min(t[0],n[0]);else if(H3.test(t[0])){var s=+H3.exec(t[0])[1];a[0]=n[0]-s}else Ke(t[0])?a[0]=t[0](n[0]):a[0]=n[0];if(Ce(t[1]))a[1]=r?t[1]:Math.max(t[1],n[1]);else if(W3.test(t[1])){var l=+W3.exec(t[1])[1];a[1]=n[1]+l}else Ke(t[1])?a[1]=t[1](n[1]):a[1]=n[1];return a},eg=function(t,n,r){if(t&&t.scale&&t.scale.bandwidth){var a=t.scale.bandwidth();if(!r||a>0)return a}if(t&&n&&n.length>=2){for(var s=yO(n,function(p){return p.coordinate}),l=1/0,u=1,d=s.length;ue.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},Voe=function(t,n,r,a,s){var l=t.width,u=t.height,d=t.startAngle,f=t.endAngle,m=Sr(t.cx,l,l/2),p=Sr(t.cy,u,u/2),g=J6(l,u,r),x=Sr(t.innerRadius,g,0),j=Sr(t.outerRadius,g,g*.8),w=Object.keys(n);return w.reduce(function(b,N){var E=n[N],O=E.domain,A=E.reversed,C;if(Qe(E.range))a==="angleAxis"?C=[d,f]:a==="radiusAxis"&&(C=[x,j]),A&&(C=[C[1],C[0]]);else{C=E.range;var k=C,T=zoe(k,2);d=T[0],f=T[1]}var M=G6(E,s),R=M.realScaleType,B=M.scale;B.domain(O).range(C),Y6(B);var $=K6(B,Yi(Yi({},E),{},{realScaleType:R})),H=Yi(Yi(Yi({},E),$),{},{range:C,radius:j,realScaleType:R,scale:B,cx:m,cy:p,innerRadius:x,outerRadius:j,startAngle:d,endAngle:f});return Yi(Yi({},b),{},Q6({},N,H))},{})},Goe=function(t,n){var r=t.x,a=t.y,s=n.x,l=n.y;return Math.sqrt(Math.pow(r-s,2)+Math.pow(a-l,2))},Yoe=function(t,n){var r=t.x,a=t.y,s=n.cx,l=n.cy,u=Goe({x:r,y:a},{x:s,y:l});if(u<=0)return{radius:u};var d=(r-s)/u,f=Math.acos(d);return a>l&&(f=2*Math.PI-f),{radius:u,angle:Woe(f),angleInRadian:f}},Koe=function(t){var n=t.startAngle,r=t.endAngle,a=Math.floor(n/360),s=Math.floor(r/360),l=Math.min(a,s);return{startAngle:n-l*360,endAngle:r-l*360}},Xoe=function(t,n){var r=n.startAngle,a=n.endAngle,s=Math.floor(r/360),l=Math.floor(a/360),u=Math.min(s,l);return t+u*360},K3=function(t,n){var r=t.x,a=t.y,s=Yoe({x:r,y:a},n),l=s.radius,u=s.angle,d=n.innerRadius,f=n.outerRadius;if(lf)return!1;if(l===0)return!0;var m=Koe(n),p=m.startAngle,g=m.endAngle,x=u,j;if(p<=g){for(;x>g;)x-=360;for(;x=p&&x<=g}else{for(;x>p;)x-=360;for(;x=g&&x<=p}return j?Yi(Yi({},n),{},{radius:l,angle:Xoe(x,n)}):null},eq=function(t){return!y.isValidElement(t)&&!Ke(t)&&typeof t!="boolean"?t.className:""};function Qf(e){"@babel/helpers - typeof";return Qf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qf(e)}var Zoe=["offset"];function Qoe(e){return nle(e)||tle(e)||ele(e)||Joe()}function Joe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ele(e,t){if(e){if(typeof e=="string")return lN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lN(e,t)}}function tle(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function nle(e){if(Array.isArray(e))return lN(e)}function lN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ale(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function X3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function $n(e){for(var t=1;t=0?1:-1,O,A;a==="insideStart"?(O=x+E*l,A=w):a==="insideEnd"?(O=j-E*l,A=!w):a==="end"&&(O=j+E*l,A=w),A=N<=0?A:!A;var C=Zt(f,m,b,O),k=Zt(f,m,b,O+(A?1:-1)*359),T="M".concat(C.x,",").concat(C.y,` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ele(e,t){if(e){if(typeof e=="string")return cN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return cN(e,t)}}function tle(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function nle(e){if(Array.isArray(e))return cN(e)}function cN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ale(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function X3(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function $n(e){for(var t=1;t=0?1:-1,O,A;a==="insideStart"?(O=x+E*l,A=w):a==="insideEnd"?(O=j-E*l,A=!w):a==="end"&&(O=j+E*l,A=w),A=N<=0?A:!A;var C=Zt(f,m,b,O),k=Zt(f,m,b,O+(A?1:-1)*359),T="M".concat(C.x,",").concat(C.y,` A`).concat(b,",").concat(b,",0,1,").concat(A?0:1,`, - `).concat(k.x,",").concat(k.y),M=Qe(t.id)?Wu("recharts-radial-line-"):t.id;return W.createElement("text",Jf({},r,{dominantBaseline:"central",className:Je("recharts-radial-bar-label",u)}),W.createElement("defs",null,W.createElement("path",{id:M,d:T})),W.createElement("textPath",{xlinkHref:"#".concat(M)},n))},dle=function(t){var n=t.viewBox,r=t.offset,a=t.position,s=n,l=s.cx,u=s.cy,d=s.innerRadius,f=s.outerRadius,m=s.startAngle,p=s.endAngle,g=(m+p)/2;if(a==="outside"){var x=Zt(l,u,f+r,g),j=x.x,w=x.y;return{x:j,y:w,textAnchor:j>=l?"start":"end",verticalAnchor:"middle"}}if(a==="center")return{x:l,y:u,textAnchor:"middle",verticalAnchor:"middle"};if(a==="centerTop")return{x:l,y:u,textAnchor:"middle",verticalAnchor:"start"};if(a==="centerBottom")return{x:l,y:u,textAnchor:"middle",verticalAnchor:"end"};var b=(d+f)/2,N=Zt(l,u,b,g),E=N.x,O=N.y;return{x:E,y:O,textAnchor:"middle",verticalAnchor:"middle"}},fle=function(t){var n=t.viewBox,r=t.parentViewBox,a=t.offset,s=t.position,l=n,u=l.x,d=l.y,f=l.width,m=l.height,p=m>=0?1:-1,g=p*a,x=p>0?"end":"start",j=p>0?"start":"end",w=f>=0?1:-1,b=w*a,N=w>0?"end":"start",E=w>0?"start":"end";if(s==="top"){var O={x:u+f/2,y:d-p*a,textAnchor:"middle",verticalAnchor:x};return $n($n({},O),r?{height:Math.max(d-r.y,0),width:f}:{})}if(s==="bottom"){var A={x:u+f/2,y:d+m+g,textAnchor:"middle",verticalAnchor:j};return $n($n({},A),r?{height:Math.max(r.y+r.height-(d+m),0),width:f}:{})}if(s==="left"){var C={x:u-b,y:d+m/2,textAnchor:N,verticalAnchor:"middle"};return $n($n({},C),r?{width:Math.max(C.x-r.x,0),height:m}:{})}if(s==="right"){var k={x:u+f+b,y:d+m/2,textAnchor:E,verticalAnchor:"middle"};return $n($n({},k),r?{width:Math.max(r.x+r.width-k.x,0),height:m}:{})}var T=r?{width:f,height:m}:{};return s==="insideLeft"?$n({x:u+b,y:d+m/2,textAnchor:E,verticalAnchor:"middle"},T):s==="insideRight"?$n({x:u+f-b,y:d+m/2,textAnchor:N,verticalAnchor:"middle"},T):s==="insideTop"?$n({x:u+f/2,y:d+g,textAnchor:"middle",verticalAnchor:j},T):s==="insideBottom"?$n({x:u+f/2,y:d+m-g,textAnchor:"middle",verticalAnchor:x},T):s==="insideTopLeft"?$n({x:u+b,y:d+g,textAnchor:E,verticalAnchor:j},T):s==="insideTopRight"?$n({x:u+f-b,y:d+g,textAnchor:N,verticalAnchor:j},T):s==="insideBottomLeft"?$n({x:u+b,y:d+m-g,textAnchor:E,verticalAnchor:x},T):s==="insideBottomRight"?$n({x:u+f-b,y:d+m-g,textAnchor:N,verticalAnchor:x},T):Hu(s)&&(Ce(s.x)||Ko(s.x))&&(Ce(s.y)||Ko(s.y))?$n({x:u+Sr(s.x,f),y:d+Sr(s.y,m),textAnchor:"end",verticalAnchor:"end"},T):$n({x:u+f/2,y:d+m/2,textAnchor:"middle",verticalAnchor:"middle"},T)},hle=function(t){return"cx"in t&&Ce(t.cx)};function Vn(e){var t=e.offset,n=t===void 0?5:t,r=rle(e,Zoe),a=$n({offset:n},r),s=a.viewBox,l=a.position,u=a.value,d=a.children,f=a.content,m=a.className,p=m===void 0?"":m,g=a.textBreakAll;if(!s||Qe(u)&&Qe(d)&&!y.isValidElement(f)&&!Ke(f))return null;if(y.isValidElement(f))return y.cloneElement(f,a);var x;if(Ke(f)){if(x=y.createElement(f,a),y.isValidElement(x))return x}else x=lle(a);var j=hle(s),w=qe(a,!0);if(j&&(l==="insideStart"||l==="insideEnd"||l==="end"))return ule(a,x,w);var b=j?dle(a):fle(a);return W.createElement(ml,Jf({className:Je("recharts-label",p)},w,b,{breakAll:g}),x)}Vn.displayName="Label";var tq=function(t){var n=t.cx,r=t.cy,a=t.angle,s=t.startAngle,l=t.endAngle,u=t.r,d=t.radius,f=t.innerRadius,m=t.outerRadius,p=t.x,g=t.y,x=t.top,j=t.left,w=t.width,b=t.height,N=t.clockWise,E=t.labelViewBox;if(E)return E;if(Ce(w)&&Ce(b)){if(Ce(p)&&Ce(g))return{x:p,y:g,width:w,height:b};if(Ce(x)&&Ce(j))return{x,y:j,width:w,height:b}}return Ce(p)&&Ce(g)?{x:p,y:g,width:0,height:0}:Ce(n)&&Ce(r)?{cx:n,cy:r,startAngle:s||a||0,endAngle:l||a||0,innerRadius:f||0,outerRadius:m||d||u||0,clockWise:N}:t.viewBox?t.viewBox:{}},mle=function(t,n){return t?t===!0?W.createElement(Vn,{key:"label-implicit",viewBox:n}):Ln(t)?W.createElement(Vn,{key:"label-implicit",viewBox:n,value:t}):y.isValidElement(t)?t.type===Vn?y.cloneElement(t,{key:"label-implicit",viewBox:n}):W.createElement(Vn,{key:"label-implicit",content:t,viewBox:n}):Ke(t)?W.createElement(Vn,{key:"label-implicit",content:t,viewBox:n}):Hu(t)?W.createElement(Vn,Jf({viewBox:n},t,{key:"label-implicit"})):null:null},ple=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&r&&!t.label)return null;var a=t.children,s=tq(t),l=ia(a,Vn).map(function(d,f){return y.cloneElement(d,{viewBox:n||s,key:"label-".concat(f)})});if(!r)return l;var u=mle(t.label,n||s);return[u].concat(Qoe(l))};Vn.parseViewBox=tq;Vn.renderCallByParent=ple;var xS,Z3;function vle(){if(Z3)return xS;Z3=1;function e(t){var n=t==null?0:t.length;return n?t[n-1]:void 0}return xS=e,xS}var gle=vle();const yle=At(gle);function eh(e){"@babel/helpers - typeof";return eh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},eh(e)}var xle=["valueAccessor"],ble=["data","dataKey","clockWise","id","textBreakAll"];function wle(e){return Nle(e)||_le(e)||Sle(e)||jle()}function jle(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sle(e,t){if(e){if(typeof e=="string")return cN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return cN(e,t)}}function _le(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Nle(e){if(Array.isArray(e))return cN(e)}function cN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Ale(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Tle=function(t){return Array.isArray(t.value)?yle(t.value):t.value};function as(e){var t=e.valueAccessor,n=t===void 0?Tle:t,r=e$(e,xle),a=r.data,s=r.dataKey,l=r.clockWise,u=r.id,d=r.textBreakAll,f=e$(r,ble);return!a||!a.length?null:W.createElement(xt,{className:"recharts-label-list"},a.map(function(m,p){var g=Qe(s)?n(m,p):In(m&&m.payload,s),x=Qe(u)?{}:{id:"".concat(u,"-").concat(p)};return W.createElement(Vn,ng({},qe(m,!0),f,x,{parentViewBox:m.parentViewBox,value:g,textBreakAll:d,viewBox:Vn.parseViewBox(Qe(l)?m:J3(J3({},m),{},{clockWise:l})),key:"label-".concat(p),index:p}))}))}as.displayName="LabelList";function kle(e,t){return e?e===!0?W.createElement(as,{key:"labelList-implicit",data:t}):W.isValidElement(e)||Ke(e)?W.createElement(as,{key:"labelList-implicit",data:t,content:e}):Hu(e)?W.createElement(as,ng({data:t},e,{key:"labelList-implicit"})):null:null}function Mle(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,a=ia(r,as).map(function(l,u){return y.cloneElement(l,{data:t,key:"labelList-".concat(u)})});if(!n)return a;var s=kle(e.label,t);return[s].concat(wle(a))}as.renderCallByParent=Mle;function th(e){"@babel/helpers - typeof";return th=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},th(e)}function uN(){return uN=Object.assign?Object.assign.bind():function(e){for(var t=1;t=l?"start":"end",verticalAnchor:"middle"}}if(a==="center")return{x:l,y:u,textAnchor:"middle",verticalAnchor:"middle"};if(a==="centerTop")return{x:l,y:u,textAnchor:"middle",verticalAnchor:"start"};if(a==="centerBottom")return{x:l,y:u,textAnchor:"middle",verticalAnchor:"end"};var b=(d+f)/2,N=Zt(l,u,b,g),E=N.x,O=N.y;return{x:E,y:O,textAnchor:"middle",verticalAnchor:"middle"}},fle=function(t){var n=t.viewBox,r=t.parentViewBox,a=t.offset,s=t.position,l=n,u=l.x,d=l.y,f=l.width,m=l.height,p=m>=0?1:-1,g=p*a,x=p>0?"end":"start",j=p>0?"start":"end",w=f>=0?1:-1,b=w*a,N=w>0?"end":"start",E=w>0?"start":"end";if(s==="top"){var O={x:u+f/2,y:d-p*a,textAnchor:"middle",verticalAnchor:x};return $n($n({},O),r?{height:Math.max(d-r.y,0),width:f}:{})}if(s==="bottom"){var A={x:u+f/2,y:d+m+g,textAnchor:"middle",verticalAnchor:j};return $n($n({},A),r?{height:Math.max(r.y+r.height-(d+m),0),width:f}:{})}if(s==="left"){var C={x:u-b,y:d+m/2,textAnchor:N,verticalAnchor:"middle"};return $n($n({},C),r?{width:Math.max(C.x-r.x,0),height:m}:{})}if(s==="right"){var k={x:u+f+b,y:d+m/2,textAnchor:E,verticalAnchor:"middle"};return $n($n({},k),r?{width:Math.max(r.x+r.width-k.x,0),height:m}:{})}var T=r?{width:f,height:m}:{};return s==="insideLeft"?$n({x:u+b,y:d+m/2,textAnchor:E,verticalAnchor:"middle"},T):s==="insideRight"?$n({x:u+f-b,y:d+m/2,textAnchor:N,verticalAnchor:"middle"},T):s==="insideTop"?$n({x:u+f/2,y:d+g,textAnchor:"middle",verticalAnchor:j},T):s==="insideBottom"?$n({x:u+f/2,y:d+m-g,textAnchor:"middle",verticalAnchor:x},T):s==="insideTopLeft"?$n({x:u+b,y:d+g,textAnchor:E,verticalAnchor:j},T):s==="insideTopRight"?$n({x:u+f-b,y:d+g,textAnchor:N,verticalAnchor:j},T):s==="insideBottomLeft"?$n({x:u+b,y:d+m-g,textAnchor:E,verticalAnchor:x},T):s==="insideBottomRight"?$n({x:u+f-b,y:d+m-g,textAnchor:N,verticalAnchor:x},T):Hu(s)&&(Ce(s.x)||Ko(s.x))&&(Ce(s.y)||Ko(s.y))?$n({x:u+Sr(s.x,f),y:d+Sr(s.y,m),textAnchor:"end",verticalAnchor:"end"},T):$n({x:u+f/2,y:d+m/2,textAnchor:"middle",verticalAnchor:"middle"},T)},hle=function(t){return"cx"in t&&Ce(t.cx)};function Vn(e){var t=e.offset,n=t===void 0?5:t,r=rle(e,Zoe),a=$n({offset:n},r),s=a.viewBox,l=a.position,u=a.value,d=a.children,f=a.content,m=a.className,p=m===void 0?"":m,g=a.textBreakAll;if(!s||Qe(u)&&Qe(d)&&!y.isValidElement(f)&&!Ke(f))return null;if(y.isValidElement(f))return y.cloneElement(f,a);var x;if(Ke(f)){if(x=y.createElement(f,a),y.isValidElement(x))return x}else x=lle(a);var j=hle(s),w=qe(a,!0);if(j&&(l==="insideStart"||l==="insideEnd"||l==="end"))return ule(a,x,w);var b=j?dle(a):fle(a);return W.createElement(ml,Jf({className:Je("recharts-label",p)},w,b,{breakAll:g}),x)}Vn.displayName="Label";var tq=function(t){var n=t.cx,r=t.cy,a=t.angle,s=t.startAngle,l=t.endAngle,u=t.r,d=t.radius,f=t.innerRadius,m=t.outerRadius,p=t.x,g=t.y,x=t.top,j=t.left,w=t.width,b=t.height,N=t.clockWise,E=t.labelViewBox;if(E)return E;if(Ce(w)&&Ce(b)){if(Ce(p)&&Ce(g))return{x:p,y:g,width:w,height:b};if(Ce(x)&&Ce(j))return{x,y:j,width:w,height:b}}return Ce(p)&&Ce(g)?{x:p,y:g,width:0,height:0}:Ce(n)&&Ce(r)?{cx:n,cy:r,startAngle:s||a||0,endAngle:l||a||0,innerRadius:f||0,outerRadius:m||d||u||0,clockWise:N}:t.viewBox?t.viewBox:{}},mle=function(t,n){return t?t===!0?W.createElement(Vn,{key:"label-implicit",viewBox:n}):Ln(t)?W.createElement(Vn,{key:"label-implicit",viewBox:n,value:t}):y.isValidElement(t)?t.type===Vn?y.cloneElement(t,{key:"label-implicit",viewBox:n}):W.createElement(Vn,{key:"label-implicit",content:t,viewBox:n}):Ke(t)?W.createElement(Vn,{key:"label-implicit",content:t,viewBox:n}):Hu(t)?W.createElement(Vn,Jf({viewBox:n},t,{key:"label-implicit"})):null:null},ple=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&r&&!t.label)return null;var a=t.children,s=tq(t),l=ia(a,Vn).map(function(d,f){return y.cloneElement(d,{viewBox:n||s,key:"label-".concat(f)})});if(!r)return l;var u=mle(t.label,n||s);return[u].concat(Qoe(l))};Vn.parseViewBox=tq;Vn.renderCallByParent=ple;var bS,Z3;function vle(){if(Z3)return bS;Z3=1;function e(t){var n=t==null?0:t.length;return n?t[n-1]:void 0}return bS=e,bS}var gle=vle();const yle=At(gle);function eh(e){"@babel/helpers - typeof";return eh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},eh(e)}var xle=["valueAccessor"],ble=["data","dataKey","clockWise","id","textBreakAll"];function wle(e){return Nle(e)||_le(e)||Sle(e)||jle()}function jle(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Sle(e,t){if(e){if(typeof e=="string")return uN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return uN(e,t)}}function _le(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Nle(e){if(Array.isArray(e))return uN(e)}function uN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Ale(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Tle=function(t){return Array.isArray(t.value)?yle(t.value):t.value};function as(e){var t=e.valueAccessor,n=t===void 0?Tle:t,r=e$(e,xle),a=r.data,s=r.dataKey,l=r.clockWise,u=r.id,d=r.textBreakAll,f=e$(r,ble);return!a||!a.length?null:W.createElement(xt,{className:"recharts-label-list"},a.map(function(m,p){var g=Qe(s)?n(m,p):In(m&&m.payload,s),x=Qe(u)?{}:{id:"".concat(u,"-").concat(p)};return W.createElement(Vn,ng({},qe(m,!0),f,x,{parentViewBox:m.parentViewBox,value:g,textBreakAll:d,viewBox:Vn.parseViewBox(Qe(l)?m:J3(J3({},m),{},{clockWise:l})),key:"label-".concat(p),index:p}))}))}as.displayName="LabelList";function kle(e,t){return e?e===!0?W.createElement(as,{key:"labelList-implicit",data:t}):W.isValidElement(e)||Ke(e)?W.createElement(as,{key:"labelList-implicit",data:t,content:e}):Hu(e)?W.createElement(as,ng({data:t},e,{key:"labelList-implicit"})):null:null}function Mle(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,a=ia(r,as).map(function(l,u){return y.cloneElement(l,{data:t,key:"labelList-".concat(u)})});if(!n)return a;var s=kle(e.label,t);return[s].concat(wle(a))}as.renderCallByParent=Mle;function th(e){"@babel/helpers - typeof";return th=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},th(e)}function dN(){return dN=Object.assign?Object.assign.bind():function(e){for(var t=1;t180),",").concat(+(l>f),`, `).concat(p.x,",").concat(p.y,` @@ -55,13 +55,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `);if(a>0){var k=Fp({cx:n,cy:r,radius:a,angle:f,sign:p,isExternal:!0,cornerRadius:l,cornerIsExternal:d}),T=k.circleTangency,M=k.lineTangency,R=k.theta,B=Fp({cx:n,cy:r,radius:a,angle:m,sign:-p,isExternal:!0,cornerRadius:l,cornerIsExternal:d}),$=B.circleTangency,H=B.lineTangency,V=B.theta,q=d?Math.abs(f-m):Math.abs(f-m)-R-V;if(q<0&&l===0)return"".concat(C,"L").concat(n,",").concat(r,"Z");C+="L".concat(H.x,",").concat(H.y,` A`).concat(l,",").concat(l,",0,0,").concat(+(p<0),",").concat($.x,",").concat($.y,` A`).concat(a,",").concat(a,",0,").concat(+(q>180),",").concat(+(p>0),",").concat(T.x,",").concat(T.y,` - A`).concat(l,",").concat(l,",0,0,").concat(+(p<0),",").concat(M.x,",").concat(M.y,"Z")}else C+="L".concat(n,",").concat(r,"Z");return C},Lle={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},rq=function(t){var n=n$(n$({},Lle),t),r=n.cx,a=n.cy,s=n.innerRadius,l=n.outerRadius,u=n.cornerRadius,d=n.forceCornerRadius,f=n.cornerIsExternal,m=n.startAngle,p=n.endAngle,g=n.className;if(l0&&Math.abs(m-p)<360?b=Ile({cx:r,cy:a,innerRadius:s,outerRadius:l,cornerRadius:Math.min(w,j/2),forceCornerRadius:d,cornerIsExternal:f,startAngle:m,endAngle:p}):b=nq({cx:r,cy:a,innerRadius:s,outerRadius:l,startAngle:m,endAngle:p}),W.createElement("path",uN({},qe(n,!0),{className:x,d:b,role:"img"}))};function nh(e){"@babel/helpers - typeof";return nh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nh(e)}function dN(){return dN=Object.assign?Object.assign.bind():function(e){for(var t=1;t0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function rce(e,t){return El(e.getTime(),t.getTime())}function ace(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function ice(e,t){return e===t}function h$(e,t,n){var r=e.size;if(r!==t.size)return!1;if(!r)return!0;for(var a=new Array(r),s=e.entries(),l,u,d=0;(l=s.next())&&!l.done;){for(var f=t.entries(),m=!1,p=0;(u=f.next())&&!u.done;){if(a[p]){p++;continue}var g=l.value,x=u.value;if(n.equals(g[0],x[0],d,p,e,t,n)&&n.equals(g[1],x[1],g[0],x[0],e,t,n)){m=a[p]=!0;break}p++}if(!m)return!1;d++}return!0}var sce=El;function oce(e,t,n){var r=f$(e),a=r.length;if(f$(t).length!==a)return!1;for(;a-- >0;)if(!aq(e,t,n,r[a]))return!1;return!0}function cf(e,t,n){var r=u$(e),a=r.length;if(u$(t).length!==a)return!1;for(var s,l,u;a-- >0;)if(s=r[a],!aq(e,t,n,s)||(l=d$(e,s),u=d$(t,s),(l||u)&&(!l||!u||l.configurable!==u.configurable||l.enumerable!==u.enumerable||l.writable!==u.writable)))return!1;return!0}function lce(e,t){return El(e.valueOf(),t.valueOf())}function cce(e,t){return e.source===t.source&&e.flags===t.flags}function m$(e,t,n){var r=e.size;if(r!==t.size)return!1;if(!r)return!0;for(var a=new Array(r),s=e.values(),l,u;(l=s.next())&&!l.done;){for(var d=t.values(),f=!1,m=0;(u=d.next())&&!u.done;){if(!a[m]&&n.equals(l.value,u.value,l.value,u.value,e,t,n)){f=a[m]=!0;break}m++}if(!f)return!1}return!0}function uce(e,t){var n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function dce(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function aq(e,t,n,r){return(r===tce||r===ece||r===Jle)&&(e.$$typeof||t.$$typeof)?!0:Qle(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var fce="[object Arguments]",hce="[object Boolean]",mce="[object Date]",pce="[object Error]",vce="[object Map]",gce="[object Number]",yce="[object Object]",xce="[object RegExp]",bce="[object Set]",wce="[object String]",jce="[object URL]",Sce=Array.isArray,p$=typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView:null,v$=Object.assign,_ce=Object.prototype.toString.call.bind(Object.prototype.toString);function Nce(e){var t=e.areArraysEqual,n=e.areDatesEqual,r=e.areErrorsEqual,a=e.areFunctionsEqual,s=e.areMapsEqual,l=e.areNumbersEqual,u=e.areObjectsEqual,d=e.arePrimitiveWrappersEqual,f=e.areRegExpsEqual,m=e.areSetsEqual,p=e.areTypedArraysEqual,g=e.areUrlsEqual,x=e.unknownTagComparators;return function(w,b,N){if(w===b)return!0;if(w==null||b==null)return!1;var E=typeof w;if(E!==typeof b)return!1;if(E!=="object")return E==="number"?l(w,b,N):E==="function"?a(w,b,N):!1;var O=w.constructor;if(O!==b.constructor)return!1;if(O===Object)return u(w,b,N);if(Sce(w))return t(w,b,N);if(p$!=null&&p$(w))return p(w,b,N);if(O===Date)return n(w,b,N);if(O===RegExp)return f(w,b,N);if(O===Map)return s(w,b,N);if(O===Set)return m(w,b,N);var A=_ce(w);if(A===mce)return n(w,b,N);if(A===xce)return f(w,b,N);if(A===vce)return s(w,b,N);if(A===bce)return m(w,b,N);if(A===yce)return typeof w.then!="function"&&typeof b.then!="function"&&u(w,b,N);if(A===jce)return g(w,b,N);if(A===pce)return r(w,b,N);if(A===fce)return u(w,b,N);if(A===hce||A===gce||A===wce)return d(w,b,N);if(x){var C=x[A];if(!C){var k=Zle(w);k&&(C=x[k])}if(C)return C(w,b,N)}return!1}}function Cce(e){var t=e.circular,n=e.createCustomConfig,r=e.strict,a={areArraysEqual:r?cf:nce,areDatesEqual:rce,areErrorsEqual:ace,areFunctionsEqual:ice,areMapsEqual:r?c$(h$,cf):h$,areNumbersEqual:sce,areObjectsEqual:r?cf:oce,arePrimitiveWrappersEqual:lce,areRegExpsEqual:cce,areSetsEqual:r?c$(m$,cf):m$,areTypedArraysEqual:r?cf:uce,areUrlsEqual:dce,unknownTagComparators:void 0};if(n&&(a=v$({},a,n(a))),t){var s=Hp(a.areArraysEqual),l=Hp(a.areMapsEqual),u=Hp(a.areObjectsEqual),d=Hp(a.areSetsEqual);a=v$({},a,{areArraysEqual:s,areMapsEqual:l,areObjectsEqual:u,areSetsEqual:d})}return a}function Oce(e){return function(t,n,r,a,s,l,u){return e(t,n,u)}}function Ece(e){var t=e.circular,n=e.comparator,r=e.createState,a=e.equals,s=e.strict;if(r)return function(d,f){var m=r(),p=m.cache,g=p===void 0?t?new WeakMap:void 0:p,x=m.meta;return n(d,f,{cache:g,equals:a,meta:x,strict:s})};if(t)return function(d,f){return n(d,f,{cache:new WeakMap,equals:a,meta:void 0,strict:s})};var l={cache:void 0,equals:a,meta:void 0,strict:s};return function(d,f){return n(d,f,l)}}var Ace=fo();fo({strict:!0});fo({circular:!0});fo({circular:!0,strict:!0});fo({createInternalComparator:function(){return El}});fo({strict:!0,createInternalComparator:function(){return El}});fo({circular:!0,createInternalComparator:function(){return El}});fo({circular:!0,createInternalComparator:function(){return El},strict:!0});function fo(e){e===void 0&&(e={});var t=e.circular,n=t===void 0?!1:t,r=e.createInternalComparator,a=e.createState,s=e.strict,l=s===void 0?!1:s,u=Cce(e),d=Nce(u),f=r?r(d):Oce(d);return Ece({circular:n,comparator:d,createState:a,equals:f,strict:l})}function Tce(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function g$(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,r=function a(s){n<0&&(n=s),s-n>t?(e(s),n=-1):Tce(a)};requestAnimationFrame(r)}function fN(e){"@babel/helpers - typeof";return fN=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fN(e)}function kce(e){return Dce(e)||Rce(e)||Pce(e)||Mce()}function Mce(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Pce(e,t){if(e){if(typeof e=="string")return y$(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y$(e,t)}}function y$(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&Math.abs(m-p)<360?b=Ile({cx:r,cy:a,innerRadius:s,outerRadius:l,cornerRadius:Math.min(w,j/2),forceCornerRadius:d,cornerIsExternal:f,startAngle:m,endAngle:p}):b=nq({cx:r,cy:a,innerRadius:s,outerRadius:l,startAngle:m,endAngle:p}),W.createElement("path",dN({},qe(n,!0),{className:x,d:b,role:"img"}))};function nh(e){"@babel/helpers - typeof";return nh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nh(e)}function fN(){return fN=Object.assign?Object.assign.bind():function(e){for(var t=1;t0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function rce(e,t){return El(e.getTime(),t.getTime())}function ace(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function ice(e,t){return e===t}function h$(e,t,n){var r=e.size;if(r!==t.size)return!1;if(!r)return!0;for(var a=new Array(r),s=e.entries(),l,u,d=0;(l=s.next())&&!l.done;){for(var f=t.entries(),m=!1,p=0;(u=f.next())&&!u.done;){if(a[p]){p++;continue}var g=l.value,x=u.value;if(n.equals(g[0],x[0],d,p,e,t,n)&&n.equals(g[1],x[1],g[0],x[0],e,t,n)){m=a[p]=!0;break}p++}if(!m)return!1;d++}return!0}var sce=El;function oce(e,t,n){var r=f$(e),a=r.length;if(f$(t).length!==a)return!1;for(;a-- >0;)if(!aq(e,t,n,r[a]))return!1;return!0}function cf(e,t,n){var r=u$(e),a=r.length;if(u$(t).length!==a)return!1;for(var s,l,u;a-- >0;)if(s=r[a],!aq(e,t,n,s)||(l=d$(e,s),u=d$(t,s),(l||u)&&(!l||!u||l.configurable!==u.configurable||l.enumerable!==u.enumerable||l.writable!==u.writable)))return!1;return!0}function lce(e,t){return El(e.valueOf(),t.valueOf())}function cce(e,t){return e.source===t.source&&e.flags===t.flags}function m$(e,t,n){var r=e.size;if(r!==t.size)return!1;if(!r)return!0;for(var a=new Array(r),s=e.values(),l,u;(l=s.next())&&!l.done;){for(var d=t.values(),f=!1,m=0;(u=d.next())&&!u.done;){if(!a[m]&&n.equals(l.value,u.value,l.value,u.value,e,t,n)){f=a[m]=!0;break}m++}if(!f)return!1}return!0}function uce(e,t){var n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function dce(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function aq(e,t,n,r){return(r===tce||r===ece||r===Jle)&&(e.$$typeof||t.$$typeof)?!0:Qle(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var fce="[object Arguments]",hce="[object Boolean]",mce="[object Date]",pce="[object Error]",vce="[object Map]",gce="[object Number]",yce="[object Object]",xce="[object RegExp]",bce="[object Set]",wce="[object String]",jce="[object URL]",Sce=Array.isArray,p$=typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView:null,v$=Object.assign,_ce=Object.prototype.toString.call.bind(Object.prototype.toString);function Nce(e){var t=e.areArraysEqual,n=e.areDatesEqual,r=e.areErrorsEqual,a=e.areFunctionsEqual,s=e.areMapsEqual,l=e.areNumbersEqual,u=e.areObjectsEqual,d=e.arePrimitiveWrappersEqual,f=e.areRegExpsEqual,m=e.areSetsEqual,p=e.areTypedArraysEqual,g=e.areUrlsEqual,x=e.unknownTagComparators;return function(w,b,N){if(w===b)return!0;if(w==null||b==null)return!1;var E=typeof w;if(E!==typeof b)return!1;if(E!=="object")return E==="number"?l(w,b,N):E==="function"?a(w,b,N):!1;var O=w.constructor;if(O!==b.constructor)return!1;if(O===Object)return u(w,b,N);if(Sce(w))return t(w,b,N);if(p$!=null&&p$(w))return p(w,b,N);if(O===Date)return n(w,b,N);if(O===RegExp)return f(w,b,N);if(O===Map)return s(w,b,N);if(O===Set)return m(w,b,N);var A=_ce(w);if(A===mce)return n(w,b,N);if(A===xce)return f(w,b,N);if(A===vce)return s(w,b,N);if(A===bce)return m(w,b,N);if(A===yce)return typeof w.then!="function"&&typeof b.then!="function"&&u(w,b,N);if(A===jce)return g(w,b,N);if(A===pce)return r(w,b,N);if(A===fce)return u(w,b,N);if(A===hce||A===gce||A===wce)return d(w,b,N);if(x){var C=x[A];if(!C){var k=Zle(w);k&&(C=x[k])}if(C)return C(w,b,N)}return!1}}function Cce(e){var t=e.circular,n=e.createCustomConfig,r=e.strict,a={areArraysEqual:r?cf:nce,areDatesEqual:rce,areErrorsEqual:ace,areFunctionsEqual:ice,areMapsEqual:r?c$(h$,cf):h$,areNumbersEqual:sce,areObjectsEqual:r?cf:oce,arePrimitiveWrappersEqual:lce,areRegExpsEqual:cce,areSetsEqual:r?c$(m$,cf):m$,areTypedArraysEqual:r?cf:uce,areUrlsEqual:dce,unknownTagComparators:void 0};if(n&&(a=v$({},a,n(a))),t){var s=Hp(a.areArraysEqual),l=Hp(a.areMapsEqual),u=Hp(a.areObjectsEqual),d=Hp(a.areSetsEqual);a=v$({},a,{areArraysEqual:s,areMapsEqual:l,areObjectsEqual:u,areSetsEqual:d})}return a}function Oce(e){return function(t,n,r,a,s,l,u){return e(t,n,u)}}function Ece(e){var t=e.circular,n=e.comparator,r=e.createState,a=e.equals,s=e.strict;if(r)return function(d,f){var m=r(),p=m.cache,g=p===void 0?t?new WeakMap:void 0:p,x=m.meta;return n(d,f,{cache:g,equals:a,meta:x,strict:s})};if(t)return function(d,f){return n(d,f,{cache:new WeakMap,equals:a,meta:void 0,strict:s})};var l={cache:void 0,equals:a,meta:void 0,strict:s};return function(d,f){return n(d,f,l)}}var Ace=fo();fo({strict:!0});fo({circular:!0});fo({circular:!0,strict:!0});fo({createInternalComparator:function(){return El}});fo({strict:!0,createInternalComparator:function(){return El}});fo({circular:!0,createInternalComparator:function(){return El}});fo({circular:!0,createInternalComparator:function(){return El},strict:!0});function fo(e){e===void 0&&(e={});var t=e.circular,n=t===void 0?!1:t,r=e.createInternalComparator,a=e.createState,s=e.strict,l=s===void 0?!1:s,u=Cce(e),d=Nce(u),f=r?r(d):Oce(d);return Ece({circular:n,comparator:d,createState:a,equals:f,strict:l})}function Tce(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function g$(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,r=function a(s){n<0&&(n=s),s-n>t?(e(s),n=-1):Tce(a)};requestAnimationFrame(r)}function hN(e){"@babel/helpers - typeof";return hN=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hN(e)}function kce(e){return Dce(e)||Rce(e)||Pce(e)||Mce()}function Mce(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Pce(e,t){if(e){if(typeof e=="string")return y$(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y$(e,t)}}function y$(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?1:N<0?0:N},w=function(N){for(var E=N>1?1:N,O=E,A=0;A<8;++A){var C=p(O)-E,k=x(O);if(Math.abs(C-E)0&&arguments[0]!==void 0?arguments[0]:{},n=t.stiff,r=n===void 0?100:n,a=t.damping,s=a===void 0?8:a,l=t.dt,u=l===void 0?17:l,d=function(m,p,g){var x=-(m-p)*r,j=g*s,w=g+(x-j)*u/1e3,b=g*u/1e3+m;return Math.abs(b-p)e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function fue(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,s;for(s=0;s=0)&&(n[a]=e[a]);return n}function SS(e){return vue(e)||pue(e)||mue(e)||hue()}function hue(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mue(e,t){if(e){if(typeof e=="string")return gN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return gN(e,t)}}function pue(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function vue(e){if(Array.isArray(e))return gN(e)}function gN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sg(e){return sg=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},sg(e)}var bi=(function(e){wue(n,e);var t=jue(n);function n(r,a){var s;gue(this,n),s=t.call(this,r,a);var l=s.props,u=l.isActive,d=l.attributeName,f=l.from,m=l.to,p=l.steps,g=l.children,x=l.duration;if(s.handleStyleChange=s.handleStyleChange.bind(bN(s)),s.changeStyle=s.changeStyle.bind(bN(s)),!u||x<=0)return s.state={style:{}},typeof g=="function"&&(s.state={style:m}),xN(s);if(p&&p.length)s.state={style:p[0].style};else if(f){if(typeof g=="function")return s.state={style:f},xN(s);s.state={style:d?vf({},d,f):f}}else s.state={style:{}};return s}return xue(n,[{key:"componentDidMount",value:function(){var a=this.props,s=a.isActive,l=a.canBegin;this.mounted=!0,!(!s||!l)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(a){var s=this.props,l=s.isActive,u=s.canBegin,d=s.attributeName,f=s.shouldReAnimate,m=s.to,p=s.from,g=this.state.style;if(u){if(!l){var x={style:d?vf({},d,m):m};this.state&&g&&(d&&g[d]!==m||!d&&g!==m)&&this.setState(x);return}if(!(Ace(a.to,m)&&a.canBegin&&a.isActive)){var j=!a.canBegin||!a.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var w=j||f?p:a.to;if(this.state&&g){var b={style:d?vf({},d,w):w};(d&&g[d]!==w||!d&&g!==w)&&this.setState(b)}this.runAnimation(Da(Da({},this.props),{},{from:w,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var a=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),a&&a()}},{key:"handleStyleChange",value:function(a){this.changeStyle(a)}},{key:"changeStyle",value:function(a){this.mounted&&this.setState({style:a})}},{key:"runJSAnimation",value:function(a){var s=this,l=a.from,u=a.to,d=a.duration,f=a.easing,m=a.begin,p=a.onAnimationEnd,g=a.onAnimationStart,x=cue(l,u,Qce(f),d,this.changeStyle),j=function(){s.stopJSAnimation=x()};this.manager.start([g,m,j,d,p])}},{key:"runStepAnimation",value:function(a){var s=this,l=a.steps,u=a.begin,d=a.onAnimationStart,f=l[0],m=f.style,p=f.duration,g=p===void 0?0:p,x=function(w,b,N){if(N===0)return w;var E=b.duration,O=b.easing,A=O===void 0?"ease":O,C=b.style,k=b.properties,T=b.onAnimationEnd,M=N>0?l[N-1]:b,R=k||Object.keys(C);if(typeof A=="function"||A==="spring")return[].concat(SS(w),[s.runJSAnimation.bind(s,{from:M.style,to:C,duration:E,easing:A}),E]);var B=w$(R,E,A),$=Da(Da(Da({},M.style),C),{},{transition:B});return[].concat(SS(w),[$,E,T]).filter(zce)};return this.manager.start([d].concat(SS(l.reduce(x,[m,Math.max(g,u)])),[a.onAnimationEnd]))}},{key:"runAnimation",value:function(a){this.manager||(this.manager=$ce());var s=a.begin,l=a.duration,u=a.attributeName,d=a.to,f=a.easing,m=a.onAnimationStart,p=a.onAnimationEnd,g=a.steps,x=a.children,j=this.manager;if(this.unSubscribe=j.subscribe(this.handleStyleChange),typeof f=="function"||typeof x=="function"||f==="spring"){this.runJSAnimation(a);return}if(g.length>1){this.runStepAnimation(a);return}var w=u?vf({},u,d):d,b=w$(Object.keys(w),l,f);j.start([m,s,Da(Da({},w),{},{transition:b}),l,p])}},{key:"render",value:function(){var a=this.props,s=a.children;a.begin;var l=a.duration;a.attributeName,a.easing;var u=a.isActive;a.steps,a.from,a.to,a.canBegin,a.onAnimationEnd,a.shouldReAnimate,a.onAnimationReStart;var d=due(a,uue),f=y.Children.count(s),m=this.state.style;if(typeof s=="function")return s(m);if(!u||f===0||l<=0)return s;var p=function(x){var j=x.props,w=j.style,b=w===void 0?{}:w,N=j.className,E=y.cloneElement(x,Da(Da({},d),{},{style:Da(Da({},b),m),className:N}));return E};return f===1?p(y.Children.only(s)):W.createElement("div",null,y.Children.map(s,function(g){return p(g)}))}}]),n})(y.PureComponent);bi.displayName="Animate";bi.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};bi.propTypes={from:Nt.oneOfType([Nt.object,Nt.string]),to:Nt.oneOfType([Nt.object,Nt.string]),attributeName:Nt.string,duration:Nt.number,begin:Nt.number,easing:Nt.oneOfType([Nt.string,Nt.func]),steps:Nt.arrayOf(Nt.shape({duration:Nt.number.isRequired,style:Nt.object.isRequired,easing:Nt.oneOfType([Nt.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),Nt.func]),properties:Nt.arrayOf("string"),onAnimationEnd:Nt.func})),children:Nt.oneOfType([Nt.node,Nt.func]),isActive:Nt.bool,canBegin:Nt.bool,onAnimationEnd:Nt.func,shouldReAnimate:Nt.bool,onAnimationStart:Nt.func,onAnimationReStart:Nt.func};function ih(e){"@babel/helpers - typeof";return ih=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ih(e)}function og(){return og=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?1:N<0?0:N},w=function(N){for(var E=N>1?1:N,O=E,A=0;A<8;++A){var C=p(O)-E,k=x(O);if(Math.abs(C-E)0&&arguments[0]!==void 0?arguments[0]:{},n=t.stiff,r=n===void 0?100:n,a=t.damping,s=a===void 0?8:a,l=t.dt,u=l===void 0?17:l,d=function(m,p,g){var x=-(m-p)*r,j=g*s,w=g+(x-j)*u/1e3,b=g*u/1e3+m;return Math.abs(b-p)e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function fue(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,s;for(s=0;s=0)&&(n[a]=e[a]);return n}function _S(e){return vue(e)||pue(e)||mue(e)||hue()}function hue(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mue(e,t){if(e){if(typeof e=="string")return yN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return yN(e,t)}}function pue(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function vue(e){if(Array.isArray(e))return yN(e)}function yN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sg(e){return sg=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},sg(e)}var bi=(function(e){wue(n,e);var t=jue(n);function n(r,a){var s;gue(this,n),s=t.call(this,r,a);var l=s.props,u=l.isActive,d=l.attributeName,f=l.from,m=l.to,p=l.steps,g=l.children,x=l.duration;if(s.handleStyleChange=s.handleStyleChange.bind(wN(s)),s.changeStyle=s.changeStyle.bind(wN(s)),!u||x<=0)return s.state={style:{}},typeof g=="function"&&(s.state={style:m}),bN(s);if(p&&p.length)s.state={style:p[0].style};else if(f){if(typeof g=="function")return s.state={style:f},bN(s);s.state={style:d?vf({},d,f):f}}else s.state={style:{}};return s}return xue(n,[{key:"componentDidMount",value:function(){var a=this.props,s=a.isActive,l=a.canBegin;this.mounted=!0,!(!s||!l)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(a){var s=this.props,l=s.isActive,u=s.canBegin,d=s.attributeName,f=s.shouldReAnimate,m=s.to,p=s.from,g=this.state.style;if(u){if(!l){var x={style:d?vf({},d,m):m};this.state&&g&&(d&&g[d]!==m||!d&&g!==m)&&this.setState(x);return}if(!(Ace(a.to,m)&&a.canBegin&&a.isActive)){var j=!a.canBegin||!a.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var w=j||f?p:a.to;if(this.state&&g){var b={style:d?vf({},d,w):w};(d&&g[d]!==w||!d&&g!==w)&&this.setState(b)}this.runAnimation(Da(Da({},this.props),{},{from:w,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var a=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),a&&a()}},{key:"handleStyleChange",value:function(a){this.changeStyle(a)}},{key:"changeStyle",value:function(a){this.mounted&&this.setState({style:a})}},{key:"runJSAnimation",value:function(a){var s=this,l=a.from,u=a.to,d=a.duration,f=a.easing,m=a.begin,p=a.onAnimationEnd,g=a.onAnimationStart,x=cue(l,u,Qce(f),d,this.changeStyle),j=function(){s.stopJSAnimation=x()};this.manager.start([g,m,j,d,p])}},{key:"runStepAnimation",value:function(a){var s=this,l=a.steps,u=a.begin,d=a.onAnimationStart,f=l[0],m=f.style,p=f.duration,g=p===void 0?0:p,x=function(w,b,N){if(N===0)return w;var E=b.duration,O=b.easing,A=O===void 0?"ease":O,C=b.style,k=b.properties,T=b.onAnimationEnd,M=N>0?l[N-1]:b,R=k||Object.keys(C);if(typeof A=="function"||A==="spring")return[].concat(_S(w),[s.runJSAnimation.bind(s,{from:M.style,to:C,duration:E,easing:A}),E]);var B=w$(R,E,A),$=Da(Da(Da({},M.style),C),{},{transition:B});return[].concat(_S(w),[$,E,T]).filter(zce)};return this.manager.start([d].concat(_S(l.reduce(x,[m,Math.max(g,u)])),[a.onAnimationEnd]))}},{key:"runAnimation",value:function(a){this.manager||(this.manager=$ce());var s=a.begin,l=a.duration,u=a.attributeName,d=a.to,f=a.easing,m=a.onAnimationStart,p=a.onAnimationEnd,g=a.steps,x=a.children,j=this.manager;if(this.unSubscribe=j.subscribe(this.handleStyleChange),typeof f=="function"||typeof x=="function"||f==="spring"){this.runJSAnimation(a);return}if(g.length>1){this.runStepAnimation(a);return}var w=u?vf({},u,d):d,b=w$(Object.keys(w),l,f);j.start([m,s,Da(Da({},w),{},{transition:b}),l,p])}},{key:"render",value:function(){var a=this.props,s=a.children;a.begin;var l=a.duration;a.attributeName,a.easing;var u=a.isActive;a.steps,a.from,a.to,a.canBegin,a.onAnimationEnd,a.shouldReAnimate,a.onAnimationReStart;var d=due(a,uue),f=y.Children.count(s),m=this.state.style;if(typeof s=="function")return s(m);if(!u||f===0||l<=0)return s;var p=function(x){var j=x.props,w=j.style,b=w===void 0?{}:w,N=j.className,E=y.cloneElement(x,Da(Da({},d),{},{style:Da(Da({},b),m),className:N}));return E};return f===1?p(y.Children.only(s)):W.createElement("div",null,y.Children.map(s,function(g){return p(g)}))}}]),n})(y.PureComponent);bi.displayName="Animate";bi.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};bi.propTypes={from:Nt.oneOfType([Nt.object,Nt.string]),to:Nt.oneOfType([Nt.object,Nt.string]),attributeName:Nt.string,duration:Nt.number,begin:Nt.number,easing:Nt.oneOfType([Nt.string,Nt.func]),steps:Nt.arrayOf(Nt.shape({duration:Nt.number.isRequired,style:Nt.object.isRequired,easing:Nt.oneOfType([Nt.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),Nt.func]),properties:Nt.arrayOf("string"),onAnimationEnd:Nt.func})),children:Nt.oneOfType([Nt.node,Nt.func]),isActive:Nt.bool,canBegin:Nt.bool,onAnimationEnd:Nt.func,shouldReAnimate:Nt.bool,onAnimationStart:Nt.func,onAnimationReStart:Nt.func};function ih(e){"@babel/helpers - typeof";return ih=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ih(e)}function og(){return og=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?1:-1,d=r>=0?1:-1,f=a>=0&&r>=0||a<0&&r<0?1:0,m;if(l>0&&s instanceof Array){for(var p=[0,0,0,0],g=0,x=4;gl?l:s[g];m="M".concat(t,",").concat(n+u*p[0]),p[0]>0&&(m+="A ".concat(p[0],",").concat(p[0],",0,0,").concat(f,",").concat(t+d*p[0],",").concat(n)),m+="L ".concat(t+r-d*p[1],",").concat(n),p[1]>0&&(m+="A ".concat(p[1],",").concat(p[1],",0,0,").concat(f,`, `).concat(t+r,",").concat(n+u*p[1])),m+="L ".concat(t+r,",").concat(n+a-u*p[2]),p[2]>0&&(m+="A ".concat(p[2],",").concat(p[2],",0,0,").concat(f,`, `).concat(t+r-d*p[2],",").concat(n+a)),m+="L ".concat(t+d*p[3],",").concat(n+a),p[3]>0&&(m+="A ".concat(p[3],",").concat(p[3],",0,0,").concat(f,`, @@ -72,22 +72,22 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho L `).concat(t+r,",").concat(n+a-u*j,` A `).concat(j,",").concat(j,",0,0,").concat(f,",").concat(t+r-d*j,",").concat(n+a,` L `).concat(t+d*j,",").concat(n+a,` - A `).concat(j,",").concat(j,",0,0,").concat(f,",").concat(t,",").concat(n+a-u*j," Z")}else m="M ".concat(t,",").concat(n," h ").concat(r," v ").concat(a," h ").concat(-r," Z");return m},Mue=function(t,n){if(!t||!n)return!1;var r=t.x,a=t.y,s=n.x,l=n.y,u=n.width,d=n.height;if(Math.abs(u)>0&&Math.abs(d)>0){var f=Math.min(s,s+u),m=Math.max(s,s+u),p=Math.min(l,l+d),g=Math.max(l,l+d);return r>=f&&r<=m&&a>=p&&a<=g}return!1},Pue={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},HO=function(t){var n=A$(A$({},Pue),t),r=y.useRef(),a=y.useState(-1),s=_ue(a,2),l=s[0],u=s[1];y.useEffect(function(){if(r.current&&r.current.getTotalLength)try{var A=r.current.getTotalLength();A&&u(A)}catch{}},[]);var d=n.x,f=n.y,m=n.width,p=n.height,g=n.radius,x=n.className,j=n.animationEasing,w=n.animationDuration,b=n.animationBegin,N=n.isAnimationActive,E=n.isUpdateAnimationActive;if(d!==+d||f!==+f||m!==+m||p!==+p||m===0||p===0)return null;var O=Je("recharts-rectangle",x);return E?W.createElement(bi,{canBegin:l>0,from:{width:m,height:p,x:d,y:f},to:{width:m,height:p,x:d,y:f},duration:w,animationEasing:j,isActive:E},function(A){var C=A.width,k=A.height,T=A.x,M=A.y;return W.createElement(bi,{canBegin:l>0,from:"0px ".concat(l===-1?1:l,"px"),to:"".concat(l,"px 0px"),attributeName:"strokeDasharray",begin:b,duration:w,isActive:N,easing:j},W.createElement("path",og({},qe(n,!0),{className:O,d:T$(T,M,C,k,g),ref:r})))}):W.createElement("path",og({},qe(n,!0),{className:O,d:T$(d,f,m,p,g)}))},Rue=["points","className","baseLinePoints","connectNulls"];function Fc(){return Fc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $ue(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function k$(e){return zue(e)||Bue(e)||Lue(e)||Iue()}function Iue(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lue(e,t){if(e){if(typeof e=="string")return wN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return wN(e,t)}}function Bue(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function zue(e){if(Array.isArray(e))return wN(e)}function wN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[],n=[[]];return t.forEach(function(r){M$(r)?n[n.length-1].push(r):n[n.length-1].length>0&&n.push([])}),M$(t[0])&&n[n.length-1].push(t[0]),n[n.length-1].length<=0&&(n=n.slice(0,-1)),n},Af=function(t,n){var r=que(t);n&&(r=[r.reduce(function(s,l){return[].concat(k$(s),k$(l))},[])]);var a=r.map(function(s){return s.reduce(function(l,u,d){return"".concat(l).concat(d===0?"M":"L").concat(u.x,",").concat(u.y)},"")}).join("");return r.length===1?"".concat(a,"Z"):a},Fue=function(t,n,r){var a=Af(t,r);return"".concat(a.slice(-1)==="Z"?a.slice(0,-1):a,"L").concat(Af(n.reverse(),r).slice(1))},Uue=function(t){var n=t.points,r=t.className,a=t.baseLinePoints,s=t.connectNulls,l=Due(t,Rue);if(!n||!n.length)return null;var u=Je("recharts-polygon",r);if(a&&a.length){var d=l.stroke&&l.stroke!=="none",f=Fue(n,a,s);return W.createElement("g",{className:u},W.createElement("path",Fc({},qe(l,!0),{fill:f.slice(-1)==="Z"?l.fill:"none",stroke:"none",d:f})),d?W.createElement("path",Fc({},qe(l,!0),{fill:"none",d:Af(n,s)})):null,d?W.createElement("path",Fc({},qe(l,!0),{fill:"none",d:Af(a,s)})):null)}var m=Af(n,s);return W.createElement("path",Fc({},qe(l,!0),{fill:m.slice(-1)==="Z"?l.fill:"none",className:u,d:m}))};function jN(){return jN=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Xue(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Zue=function(t,n,r,a,s,l){return"M".concat(t,",").concat(s,"v").concat(a,"M").concat(l,",").concat(n,"h").concat(r)},Que=function(t){var n=t.x,r=n===void 0?0:n,a=t.y,s=a===void 0?0:a,l=t.top,u=l===void 0?0:l,d=t.left,f=d===void 0?0:d,m=t.width,p=m===void 0?0:m,g=t.height,x=g===void 0?0:g,j=t.className,w=Kue(t,Hue),b=Wue({x:r,y:s,top:u,left:f,width:p,height:x},w);return!Ce(r)||!Ce(s)||!Ce(p)||!Ce(x)||!Ce(u)||!Ce(f)?null:W.createElement("path",SN({},qe(b,!0),{className:Je("recharts-cross",j),d:Zue(r,s,p,x,u,f)}))},_S,R$;function Jue(){if(R$)return _S;R$=1;var e=gy(),t=N6(),n=_i();function r(a,s){return a&&a.length?e(a,n(s,2),t):void 0}return _S=r,_S}var ede=Jue();const tde=At(ede);var NS,D$;function nde(){if(D$)return NS;D$=1;var e=gy(),t=_i(),n=C6();function r(a,s){return a&&a.length?e(a,t(s,2),n):void 0}return NS=r,NS}var rde=nde();const ade=At(rde);var ide=["cx","cy","angle","ticks","axisLine"],sde=["ticks","tick","angle","tickFormatter","stroke"];function gu(e){"@babel/helpers - typeof";return gu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gu(e)}function Tf(){return Tf=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ode(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function lde(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function L$(e,t){for(var n=0;nq$?l=a==="outer"?"start":"end":s<-q$?l=a==="outer"?"end":"start":l="middle",l}},{key:"renderAxisLine",value:function(){var r=this.props,a=r.cx,s=r.cy,l=r.radius,u=r.axisLine,d=r.axisLineType,f=Uo(Uo({},qe(this.props,!1)),{},{fill:"none"},qe(u,!1));if(d==="circle")return W.createElement(jy,Go({className:"recharts-polar-angle-axis-line"},f,{cx:a,cy:s,r:l}));var m=this.props.ticks,p=m.map(function(g){return Zt(a,s,l,g.coordinate)});return W.createElement(Uue,Go({className:"recharts-polar-angle-axis-line"},f,{points:p}))}},{key:"renderTicks",value:function(){var r=this,a=this.props,s=a.ticks,l=a.tick,u=a.tickLine,d=a.tickFormatter,f=a.stroke,m=qe(this.props,!1),p=qe(l,!1),g=Uo(Uo({},m),{},{fill:"none"},qe(u,!1)),x=s.map(function(j,w){var b=r.getTickLineCoord(j),N=r.getTickTextAnchor(j),E=Uo(Uo(Uo({textAnchor:N},m),{},{stroke:"none",fill:f},p),{},{index:w,payload:j,x:b.x2,y:b.y2});return W.createElement(xt,Go({className:Je("recharts-polar-angle-axis-tick",eq(l)),key:"tick-".concat(j.coordinate)},hl(r.props,j,w)),u&&W.createElement("line",Go({className:"recharts-polar-angle-axis-tick-line"},g,b)),l&&t.renderTickItem(l,E,d?d(j.value,w):j.value))});return W.createElement(xt,{className:"recharts-polar-angle-axis-ticks"},x)}},{key:"render",value:function(){var r=this.props,a=r.ticks,s=r.radius,l=r.axisLine;return s<=0||!a||!a.length?null:W.createElement(xt,{className:Je("recharts-polar-angle-axis",this.props.className)},l&&this.renderAxisLine(),this.renderTicks())}}],[{key:"renderTickItem",value:function(r,a,s){var l;return W.isValidElement(r)?l=W.cloneElement(r,a):Ke(r)?l=r(a):l=W.createElement(ml,Go({},a,{className:"recharts-polar-angle-axis-tick-value"}),s),l}}])})(y.PureComponent);Ny(Cy,"displayName","PolarAngleAxis");Ny(Cy,"axisType","angleAxis");Ny(Cy,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var CS,F$;function Sde(){if(F$)return CS;F$=1;var e=_z(),t=e(Object.getPrototypeOf,Object);return CS=t,CS}var OS,U$;function _de(){if(U$)return OS;U$=1;var e=fs(),t=Sde(),n=hs(),r="[object Object]",a=Function.prototype,s=Object.prototype,l=a.toString,u=s.hasOwnProperty,d=l.call(Object);function f(m){if(!n(m)||e(m)!=r)return!1;var p=t(m);if(p===null)return!0;var g=u.call(p,"constructor")&&p.constructor;return typeof g=="function"&&g instanceof g&&l.call(g)==d}return OS=f,OS}var Nde=_de();const Cde=At(Nde);var ES,H$;function Ode(){if(H$)return ES;H$=1;var e=fs(),t=hs(),n="[object Boolean]";function r(a){return a===!0||a===!1||t(a)&&e(a)==n}return ES=r,ES}var Ede=Ode();const Ade=At(Ede);function oh(e){"@babel/helpers - typeof";return oh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},oh(e)}function ug(){return ug=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0,from:{upperWidth:0,lowerWidth:0,height:g,x:d,y:f},to:{upperWidth:m,lowerWidth:p,height:g,x:d,y:f},duration:w,animationEasing:j,isActive:N},function(O){var A=O.upperWidth,C=O.lowerWidth,k=O.height,T=O.x,M=O.y;return W.createElement(bi,{canBegin:l>0,from:"0px ".concat(l===-1?1:l,"px"),to:"".concat(l,"px 0px"),attributeName:"strokeDasharray",begin:b,duration:w,easing:j},W.createElement("path",ug({},qe(n,!0),{className:E,d:Y$(T,M,A,C,k),ref:r})))}):W.createElement("g",null,W.createElement("path",ug({},qe(n,!0),{className:E,d:Y$(d,f,m,p,g)})))},zde=["option","shapeType","propTransformer","activeClassName","isActive"];function lh(e){"@babel/helpers - typeof";return lh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lh(e)}function qde(e,t){if(e==null)return{};var n=Fde(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Fde(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function K$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function dg(e){for(var t=1;t0?aa(O,"paddingAngle",0):0;if(C){var T=ta(C.endAngle-C.startAngle,O.endAngle-O.startAngle),M=Yt(Yt({},O),{},{startAngle:E+k,endAngle:E+T(w)+k});b.push(M),E=M.endAngle}else{var R=O.endAngle,B=O.startAngle,$=ta(0,R-B),H=$(w),V=Yt(Yt({},O),{},{startAngle:E+k,endAngle:E+H+k});b.push(V),E=V.endAngle}}),W.createElement(xt,null,r.renderSectorsStatically(b))})}},{key:"attachKeyboardHandlers",value:function(r){var a=this;r.onkeydown=function(s){if(!s.altKey)switch(s.key){case"ArrowLeft":{var l=++a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[l].focus(),a.setState({sectorToFocus:l});break}case"ArrowRight":{var u=--a.state.sectorToFocus<0?a.sectorRefs.length-1:a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[u].focus(),a.setState({sectorToFocus:u});break}case"Escape":{a.sectorRefs[a.state.sectorToFocus].blur(),a.setState({sectorToFocus:0});break}}}}},{key:"renderSectors",value:function(){var r=this.props,a=r.sectors,s=r.isAnimationActive,l=this.state.prevSectors;return s&&a&&a.length&&(!l||!Hh(l,a))?this.renderSectorsWithAnimation():this.renderSectorsStatically(a)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var r=this,a=this.props,s=a.hide,l=a.sectors,u=a.className,d=a.label,f=a.cx,m=a.cy,p=a.innerRadius,g=a.outerRadius,x=a.isAnimationActive,j=this.state.isAnimationFinished;if(s||!l||!l.length||!Ce(f)||!Ce(m)||!Ce(p)||!Ce(g))return null;var w=Je("recharts-pie",u);return W.createElement(xt,{tabIndex:this.props.rootTabIndex,className:w,ref:function(N){r.pieRef=N}},this.renderSectors(),d&&this.renderLabels(l),Vn.renderCallByParent(this.props,null,!1),(!x||j)&&as.renderCallByParent(this.props,l,!1))}}],[{key:"getDerivedStateFromProps",value:function(r,a){return a.prevIsAnimationActive!==r.isAnimationActive?{prevIsAnimationActive:r.isAnimationActive,prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:[],isAnimationFinished:!0}:r.isAnimationActive&&r.animationId!==a.prevAnimationId?{prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:a.curSectors,isAnimationFinished:!0}:r.sectors!==a.curSectors?{curSectors:r.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(r,a){return r>a?"start":r0&&Math.abs(d)>0){var f=Math.min(s,s+u),m=Math.max(s,s+u),p=Math.min(l,l+d),g=Math.max(l,l+d);return r>=f&&r<=m&&a>=p&&a<=g}return!1},Pue={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},WO=function(t){var n=A$(A$({},Pue),t),r=y.useRef(),a=y.useState(-1),s=_ue(a,2),l=s[0],u=s[1];y.useEffect(function(){if(r.current&&r.current.getTotalLength)try{var A=r.current.getTotalLength();A&&u(A)}catch{}},[]);var d=n.x,f=n.y,m=n.width,p=n.height,g=n.radius,x=n.className,j=n.animationEasing,w=n.animationDuration,b=n.animationBegin,N=n.isAnimationActive,E=n.isUpdateAnimationActive;if(d!==+d||f!==+f||m!==+m||p!==+p||m===0||p===0)return null;var O=Je("recharts-rectangle",x);return E?W.createElement(bi,{canBegin:l>0,from:{width:m,height:p,x:d,y:f},to:{width:m,height:p,x:d,y:f},duration:w,animationEasing:j,isActive:E},function(A){var C=A.width,k=A.height,T=A.x,M=A.y;return W.createElement(bi,{canBegin:l>0,from:"0px ".concat(l===-1?1:l,"px"),to:"".concat(l,"px 0px"),attributeName:"strokeDasharray",begin:b,duration:w,isActive:N,easing:j},W.createElement("path",og({},qe(n,!0),{className:O,d:T$(T,M,C,k,g),ref:r})))}):W.createElement("path",og({},qe(n,!0),{className:O,d:T$(d,f,m,p,g)}))},Rue=["points","className","baseLinePoints","connectNulls"];function Fc(){return Fc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $ue(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function k$(e){return zue(e)||Bue(e)||Lue(e)||Iue()}function Iue(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lue(e,t){if(e){if(typeof e=="string")return jN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return jN(e,t)}}function Bue(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function zue(e){if(Array.isArray(e))return jN(e)}function jN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[],n=[[]];return t.forEach(function(r){M$(r)?n[n.length-1].push(r):n[n.length-1].length>0&&n.push([])}),M$(t[0])&&n[n.length-1].push(t[0]),n[n.length-1].length<=0&&(n=n.slice(0,-1)),n},Af=function(t,n){var r=que(t);n&&(r=[r.reduce(function(s,l){return[].concat(k$(s),k$(l))},[])]);var a=r.map(function(s){return s.reduce(function(l,u,d){return"".concat(l).concat(d===0?"M":"L").concat(u.x,",").concat(u.y)},"")}).join("");return r.length===1?"".concat(a,"Z"):a},Fue=function(t,n,r){var a=Af(t,r);return"".concat(a.slice(-1)==="Z"?a.slice(0,-1):a,"L").concat(Af(n.reverse(),r).slice(1))},Uue=function(t){var n=t.points,r=t.className,a=t.baseLinePoints,s=t.connectNulls,l=Due(t,Rue);if(!n||!n.length)return null;var u=Je("recharts-polygon",r);if(a&&a.length){var d=l.stroke&&l.stroke!=="none",f=Fue(n,a,s);return W.createElement("g",{className:u},W.createElement("path",Fc({},qe(l,!0),{fill:f.slice(-1)==="Z"?l.fill:"none",stroke:"none",d:f})),d?W.createElement("path",Fc({},qe(l,!0),{fill:"none",d:Af(n,s)})):null,d?W.createElement("path",Fc({},qe(l,!0),{fill:"none",d:Af(a,s)})):null)}var m=Af(n,s);return W.createElement("path",Fc({},qe(l,!0),{fill:m.slice(-1)==="Z"?l.fill:"none",className:u,d:m}))};function SN(){return SN=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Xue(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Zue=function(t,n,r,a,s,l){return"M".concat(t,",").concat(s,"v").concat(a,"M").concat(l,",").concat(n,"h").concat(r)},Que=function(t){var n=t.x,r=n===void 0?0:n,a=t.y,s=a===void 0?0:a,l=t.top,u=l===void 0?0:l,d=t.left,f=d===void 0?0:d,m=t.width,p=m===void 0?0:m,g=t.height,x=g===void 0?0:g,j=t.className,w=Kue(t,Hue),b=Wue({x:r,y:s,top:u,left:f,width:p,height:x},w);return!Ce(r)||!Ce(s)||!Ce(p)||!Ce(x)||!Ce(u)||!Ce(f)?null:W.createElement("path",_N({},qe(b,!0),{className:Je("recharts-cross",j),d:Zue(r,s,p,x,u,f)}))},NS,R$;function Jue(){if(R$)return NS;R$=1;var e=gy(),t=N6(),n=_i();function r(a,s){return a&&a.length?e(a,n(s,2),t):void 0}return NS=r,NS}var ede=Jue();const tde=At(ede);var CS,D$;function nde(){if(D$)return CS;D$=1;var e=gy(),t=_i(),n=C6();function r(a,s){return a&&a.length?e(a,t(s,2),n):void 0}return CS=r,CS}var rde=nde();const ade=At(rde);var ide=["cx","cy","angle","ticks","axisLine"],sde=["ticks","tick","angle","tickFormatter","stroke"];function gu(e){"@babel/helpers - typeof";return gu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gu(e)}function Tf(){return Tf=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ode(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function lde(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function L$(e,t){for(var n=0;nq$?l=a==="outer"?"start":"end":s<-q$?l=a==="outer"?"end":"start":l="middle",l}},{key:"renderAxisLine",value:function(){var r=this.props,a=r.cx,s=r.cy,l=r.radius,u=r.axisLine,d=r.axisLineType,f=Uo(Uo({},qe(this.props,!1)),{},{fill:"none"},qe(u,!1));if(d==="circle")return W.createElement(jy,Go({className:"recharts-polar-angle-axis-line"},f,{cx:a,cy:s,r:l}));var m=this.props.ticks,p=m.map(function(g){return Zt(a,s,l,g.coordinate)});return W.createElement(Uue,Go({className:"recharts-polar-angle-axis-line"},f,{points:p}))}},{key:"renderTicks",value:function(){var r=this,a=this.props,s=a.ticks,l=a.tick,u=a.tickLine,d=a.tickFormatter,f=a.stroke,m=qe(this.props,!1),p=qe(l,!1),g=Uo(Uo({},m),{},{fill:"none"},qe(u,!1)),x=s.map(function(j,w){var b=r.getTickLineCoord(j),N=r.getTickTextAnchor(j),E=Uo(Uo(Uo({textAnchor:N},m),{},{stroke:"none",fill:f},p),{},{index:w,payload:j,x:b.x2,y:b.y2});return W.createElement(xt,Go({className:Je("recharts-polar-angle-axis-tick",eq(l)),key:"tick-".concat(j.coordinate)},hl(r.props,j,w)),u&&W.createElement("line",Go({className:"recharts-polar-angle-axis-tick-line"},g,b)),l&&t.renderTickItem(l,E,d?d(j.value,w):j.value))});return W.createElement(xt,{className:"recharts-polar-angle-axis-ticks"},x)}},{key:"render",value:function(){var r=this.props,a=r.ticks,s=r.radius,l=r.axisLine;return s<=0||!a||!a.length?null:W.createElement(xt,{className:Je("recharts-polar-angle-axis",this.props.className)},l&&this.renderAxisLine(),this.renderTicks())}}],[{key:"renderTickItem",value:function(r,a,s){var l;return W.isValidElement(r)?l=W.cloneElement(r,a):Ke(r)?l=r(a):l=W.createElement(ml,Go({},a,{className:"recharts-polar-angle-axis-tick-value"}),s),l}}])})(y.PureComponent);Ny(Cy,"displayName","PolarAngleAxis");Ny(Cy,"axisType","angleAxis");Ny(Cy,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var OS,F$;function Sde(){if(F$)return OS;F$=1;var e=_z(),t=e(Object.getPrototypeOf,Object);return OS=t,OS}var ES,U$;function _de(){if(U$)return ES;U$=1;var e=fs(),t=Sde(),n=hs(),r="[object Object]",a=Function.prototype,s=Object.prototype,l=a.toString,u=s.hasOwnProperty,d=l.call(Object);function f(m){if(!n(m)||e(m)!=r)return!1;var p=t(m);if(p===null)return!0;var g=u.call(p,"constructor")&&p.constructor;return typeof g=="function"&&g instanceof g&&l.call(g)==d}return ES=f,ES}var Nde=_de();const Cde=At(Nde);var AS,H$;function Ode(){if(H$)return AS;H$=1;var e=fs(),t=hs(),n="[object Boolean]";function r(a){return a===!0||a===!1||t(a)&&e(a)==n}return AS=r,AS}var Ede=Ode();const Ade=At(Ede);function oh(e){"@babel/helpers - typeof";return oh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},oh(e)}function ug(){return ug=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0,from:{upperWidth:0,lowerWidth:0,height:g,x:d,y:f},to:{upperWidth:m,lowerWidth:p,height:g,x:d,y:f},duration:w,animationEasing:j,isActive:N},function(O){var A=O.upperWidth,C=O.lowerWidth,k=O.height,T=O.x,M=O.y;return W.createElement(bi,{canBegin:l>0,from:"0px ".concat(l===-1?1:l,"px"),to:"".concat(l,"px 0px"),attributeName:"strokeDasharray",begin:b,duration:w,easing:j},W.createElement("path",ug({},qe(n,!0),{className:E,d:Y$(T,M,A,C,k),ref:r})))}):W.createElement("g",null,W.createElement("path",ug({},qe(n,!0),{className:E,d:Y$(d,f,m,p,g)})))},zde=["option","shapeType","propTransformer","activeClassName","isActive"];function lh(e){"@babel/helpers - typeof";return lh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lh(e)}function qde(e,t){if(e==null)return{};var n=Fde(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Fde(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function K$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function dg(e){for(var t=1;t0?aa(O,"paddingAngle",0):0;if(C){var T=ta(C.endAngle-C.startAngle,O.endAngle-O.startAngle),M=Yt(Yt({},O),{},{startAngle:E+k,endAngle:E+T(w)+k});b.push(M),E=M.endAngle}else{var R=O.endAngle,B=O.startAngle,$=ta(0,R-B),H=$(w),V=Yt(Yt({},O),{},{startAngle:E+k,endAngle:E+H+k});b.push(V),E=V.endAngle}}),W.createElement(xt,null,r.renderSectorsStatically(b))})}},{key:"attachKeyboardHandlers",value:function(r){var a=this;r.onkeydown=function(s){if(!s.altKey)switch(s.key){case"ArrowLeft":{var l=++a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[l].focus(),a.setState({sectorToFocus:l});break}case"ArrowRight":{var u=--a.state.sectorToFocus<0?a.sectorRefs.length-1:a.state.sectorToFocus%a.sectorRefs.length;a.sectorRefs[u].focus(),a.setState({sectorToFocus:u});break}case"Escape":{a.sectorRefs[a.state.sectorToFocus].blur(),a.setState({sectorToFocus:0});break}}}}},{key:"renderSectors",value:function(){var r=this.props,a=r.sectors,s=r.isAnimationActive,l=this.state.prevSectors;return s&&a&&a.length&&(!l||!Hh(l,a))?this.renderSectorsWithAnimation():this.renderSectorsStatically(a)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var r=this,a=this.props,s=a.hide,l=a.sectors,u=a.className,d=a.label,f=a.cx,m=a.cy,p=a.innerRadius,g=a.outerRadius,x=a.isAnimationActive,j=this.state.isAnimationFinished;if(s||!l||!l.length||!Ce(f)||!Ce(m)||!Ce(p)||!Ce(g))return null;var w=Je("recharts-pie",u);return W.createElement(xt,{tabIndex:this.props.rootTabIndex,className:w,ref:function(N){r.pieRef=N}},this.renderSectors(),d&&this.renderLabels(l),Vn.renderCallByParent(this.props,null,!1),(!x||j)&&as.renderCallByParent(this.props,l,!1))}}],[{key:"getDerivedStateFromProps",value:function(r,a){return a.prevIsAnimationActive!==r.isAnimationActive?{prevIsAnimationActive:r.isAnimationActive,prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:[],isAnimationFinished:!0}:r.isAnimationActive&&r.animationId!==a.prevAnimationId?{prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:a.curSectors,isAnimationFinished:!0}:r.sectors!==a.curSectors?{curSectors:r.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(r,a){return r>a?"start":r=360?E:E-1)*d,A=b-E*x-O,C=a.reduce(function(M,R){var B=In(R,N,0);return M+(Ce(B)?B:0)},0),k;if(C>0){var T;k=a.map(function(M,R){var B=In(M,N,0),$=In(M,m,R),H=(Ce(B)?B:0)/C,V;R?V=T.endAngle+jr(w)*d*(B!==0?1:0):V=l;var q=V+jr(w)*((B!==0?x:0)+H*A),G=(V+q)/2,L=(j.innerRadius+j.outerRadius)/2,D=[{name:$,value:B,payload:M,dataKey:N,type:g}],U=Zt(j.cx,j.cy,L,G);return T=Yt(Yt(Yt({percent:H,cornerRadius:s,name:$,tooltipPayload:D,midAngle:G,middleRadius:L,tooltipPosition:U},M),j),{},{value:In(M,N),startAngle:V,endAngle:q,payload:M,paddingAngle:jr(w)*d}),T})}return Yt(Yt({},j),{},{sectors:k,data:a})});var AS,J$;function cfe(){if(J$)return AS;J$=1;var e=Math.ceil,t=Math.max;function n(r,a,s,l){for(var u=-1,d=t(e((a-r)/(s||1)),0),f=Array(d);d--;)f[l?d:++u]=r,r+=s;return f}return AS=n,AS}var TS,eI;function yq(){if(eI)return TS;eI=1;var e=zz(),t=1/0,n=17976931348623157e292;function r(a){if(!a)return a===0?a:0;if(a=e(a),a===t||a===-t){var s=a<0?-1:1;return s*n}return a===a?a:0}return TS=r,TS}var kS,tI;function ufe(){if(tI)return kS;tI=1;var e=cfe(),t=cy(),n=yq();function r(a){return function(s,l,u){return u&&typeof u!="number"&&t(s,l,u)&&(l=u=void 0),s=n(s),l===void 0?(l=s,s=0):l=n(l),u=u===void 0?s0&&r.handleDrag(a.changedTouches[0])}),Zr(r,"handleDragEnd",function(){r.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var a=r.props,s=a.endIndex,l=a.onDragEnd,u=a.startIndex;l?.({endIndex:s,startIndex:u})}),r.detachDragEndListener()}),Zr(r,"handleLeaveWrapper",function(){(r.state.isTravellerMoving||r.state.isSlideMoving)&&(r.leaveTimer=window.setTimeout(r.handleDragEnd,r.props.leaveTimeOut))}),Zr(r,"handleEnterSlideOrTraveller",function(){r.setState({isTextActive:!0})}),Zr(r,"handleLeaveSlideOrTraveller",function(){r.setState({isTextActive:!1})}),Zr(r,"handleSlideDragStart",function(a){var s=oI(a)?a.changedTouches[0]:a;r.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:s.pageX}),r.attachDragEndListener()}),r.travellerDragStartHandlers={startX:r.handleTravellerDragStart.bind(r,"startX"),endX:r.handleTravellerDragStart.bind(r,"endX")},r.state={},r}return jfe(t,e),yfe(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(r){var a=r.startX,s=r.endX,l=this.state.scaleValues,u=this.props,d=u.gap,f=u.data,m=f.length-1,p=Math.min(a,s),g=Math.max(a,s),x=t.getIndexInRange(l,p),j=t.getIndexInRange(l,g);return{startIndex:x-x%d,endIndex:j===m?m:j-j%d}}},{key:"getTextOfTick",value:function(r){var a=this.props,s=a.data,l=a.tickFormatter,u=a.dataKey,d=In(s[r],u,r);return Ke(l)?l(d,r):d}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(r){var a=this.state,s=a.slideMoveStartX,l=a.startX,u=a.endX,d=this.props,f=d.x,m=d.width,p=d.travellerWidth,g=d.startIndex,x=d.endIndex,j=d.onChange,w=r.pageX-s;w>0?w=Math.min(w,f+m-p-u,f+m-p-l):w<0&&(w=Math.max(w,f-l,f-u));var b=this.getIndex({startX:l+w,endX:u+w});(b.startIndex!==g||b.endIndex!==x)&&j&&j(b),this.setState({startX:l+w,endX:u+w,slideMoveStartX:r.pageX})}},{key:"handleTravellerDragStart",value:function(r,a){var s=oI(a)?a.changedTouches[0]:a;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:r,brushMoveStartX:s.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(r){var a=this.state,s=a.brushMoveStartX,l=a.movingTravellerId,u=a.endX,d=a.startX,f=this.state[l],m=this.props,p=m.x,g=m.width,x=m.travellerWidth,j=m.onChange,w=m.gap,b=m.data,N={startX:this.state.startX,endX:this.state.endX},E=r.pageX-s;E>0?E=Math.min(E,p+g-x-f):E<0&&(E=Math.max(E,p-f)),N[l]=f+E;var O=this.getIndex(N),A=O.startIndex,C=O.endIndex,k=function(){var M=b.length-1;return l==="startX"&&(u>d?A%w===0:C%w===0)||ud?C%w===0:A%w===0)||u>d&&C===M};this.setState(Zr(Zr({},l,f+E),"brushMoveStartX",r.pageX),function(){j&&k()&&j(O)})}},{key:"handleTravellerMoveKeyboard",value:function(r,a){var s=this,l=this.state,u=l.scaleValues,d=l.startX,f=l.endX,m=this.state[a],p=u.indexOf(m);if(p!==-1){var g=p+r;if(!(g===-1||g>=u.length)){var x=u[g];a==="startX"&&x>=f||a==="endX"&&x<=d||this.setState(Zr({},a,x),function(){s.props.onChange(s.getIndex({startX:s.state.startX,endX:s.state.endX}))})}}}},{key:"renderBackground",value:function(){var r=this.props,a=r.x,s=r.y,l=r.width,u=r.height,d=r.fill,f=r.stroke;return W.createElement("rect",{stroke:f,fill:d,x:a,y:s,width:l,height:u})}},{key:"renderPanorama",value:function(){var r=this.props,a=r.x,s=r.y,l=r.width,u=r.height,d=r.data,f=r.children,m=r.padding,p=y.Children.only(f);return p?W.cloneElement(p,{x:a,y:s,width:l,height:u,margin:m,compact:!0,data:d}):null}},{key:"renderTravellerLayer",value:function(r,a){var s,l,u=this,d=this.props,f=d.y,m=d.travellerWidth,p=d.height,g=d.traveller,x=d.ariaLabel,j=d.data,w=d.startIndex,b=d.endIndex,N=Math.max(r,this.props.x),E=PS(PS({},qe(this.props,!1)),{},{x:N,y:f,width:m,height:p}),O=x||"Min value: ".concat((s=j[w])===null||s===void 0?void 0:s.name,", Max value: ").concat((l=j[b])===null||l===void 0?void 0:l.name);return W.createElement(xt,{tabIndex:0,role:"slider","aria-label":O,"aria-valuenow":r,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[a],onTouchStart:this.travellerDragStartHandlers[a],onKeyDown:function(C){["ArrowLeft","ArrowRight"].includes(C.key)&&(C.preventDefault(),C.stopPropagation(),u.handleTravellerMoveKeyboard(C.key==="ArrowRight"?1:-1,a))},onFocus:function(){u.setState({isTravellerFocused:!0})},onBlur:function(){u.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(g,E))}},{key:"renderSlide",value:function(r,a){var s=this.props,l=s.y,u=s.height,d=s.stroke,f=s.travellerWidth,m=Math.min(r,a)+f,p=Math.max(Math.abs(a-r)-f,0);return W.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:d,fillOpacity:.2,x:m,y:l,width:p,height:u})}},{key:"renderText",value:function(){var r=this.props,a=r.startIndex,s=r.endIndex,l=r.y,u=r.height,d=r.travellerWidth,f=r.stroke,m=this.state,p=m.startX,g=m.endX,x=5,j={pointerEvents:"none",fill:f};return W.createElement(xt,{className:"recharts-brush-texts"},W.createElement(ml,mg({textAnchor:"end",verticalAnchor:"middle",x:Math.min(p,g)-x,y:l+u/2},j),this.getTextOfTick(a)),W.createElement(ml,mg({textAnchor:"start",verticalAnchor:"middle",x:Math.max(p,g)+d+x,y:l+u/2},j),this.getTextOfTick(s)))}},{key:"render",value:function(){var r=this.props,a=r.data,s=r.className,l=r.children,u=r.x,d=r.y,f=r.width,m=r.height,p=r.alwaysShowText,g=this.state,x=g.startX,j=g.endX,w=g.isTextActive,b=g.isSlideMoving,N=g.isTravellerMoving,E=g.isTravellerFocused;if(!a||!a.length||!Ce(u)||!Ce(d)||!Ce(f)||!Ce(m)||f<=0||m<=0)return null;var O=Je("recharts-brush",s),A=W.Children.count(l)===1,C=vfe("userSelect","none");return W.createElement(xt,{className:O,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:C},this.renderBackground(),A&&this.renderPanorama(),this.renderSlide(x,j),this.renderTravellerLayer(x,"startX"),this.renderTravellerLayer(j,"endX"),(w||b||N||E||p)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(r){var a=r.x,s=r.y,l=r.width,u=r.height,d=r.stroke,f=Math.floor(s+u/2)-1;return W.createElement(W.Fragment,null,W.createElement("rect",{x:a,y:s,width:l,height:u,fill:d,stroke:"none"}),W.createElement("line",{x1:a+1,y1:f,x2:a+l-1,y2:f,fill:"none",stroke:"#fff"}),W.createElement("line",{x1:a+1,y1:f+2,x2:a+l-1,y2:f+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(r,a){var s;return W.isValidElement(r)?s=W.cloneElement(r,a):Ke(r)?s=r(a):s=t.renderDefaultTraveller(a),s}},{key:"getDerivedStateFromProps",value:function(r,a){var s=r.data,l=r.width,u=r.x,d=r.travellerWidth,f=r.updateId,m=r.startIndex,p=r.endIndex;if(s!==a.prevData||f!==a.prevUpdateId)return PS({prevData:s,prevTravellerWidth:d,prevUpdateId:f,prevX:u,prevWidth:l},s&&s.length?_fe({data:s,width:l,x:u,travellerWidth:d,startIndex:m,endIndex:p}):{scale:null,scaleValues:null});if(a.scale&&(l!==a.prevWidth||u!==a.prevX||d!==a.prevTravellerWidth)){a.scale.range([u,u+l-d]);var g=a.scale.domain().map(function(x){return a.scale(x)});return{prevData:s,prevTravellerWidth:d,prevUpdateId:f,prevX:u,prevWidth:l,startX:a.scale(r.startIndex),endX:a.scale(r.endIndex),scaleValues:g}}return null}},{key:"getIndexInRange",value:function(r,a){for(var s=r.length,l=0,u=s-1;u-l>1;){var d=Math.floor((l+u)/2);r[d]>a?u=d:l=d}return a>=r[u]?u:l}}])})(y.PureComponent);Zr(wu,"displayName","Brush");Zr(wu,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var RS,lI;function Nfe(){if(lI)return RS;lI=1;var e=vO();function t(n,r){var a;return e(n,function(s,l,u){return a=r(s,l,u),!a}),!!a}return RS=t,RS}var DS,cI;function Cfe(){if(cI)return DS;cI=1;var e=gz(),t=_i(),n=Nfe(),r=qr(),a=cy();function s(l,u,d){var f=r(l)?e:n;return d&&a(l,u,d)&&(u=void 0),f(l,t(u,3))}return DS=s,DS}var Ofe=Cfe();const Efe=At(Ofe);var vi=function(t,n){var r=t.alwaysShow,a=t.ifOverflow;return r&&(a="extendDomain"),a===n},$S,uI;function Afe(){if(uI)return $S;uI=1;var e=Dz();function t(n,r,a){r=="__proto__"&&e?e(n,r,{configurable:!0,enumerable:!0,value:a,writable:!0}):n[r]=a}return $S=t,$S}var IS,dI;function Tfe(){if(dI)return IS;dI=1;var e=Afe(),t=Pz(),n=_i();function r(a,s){var l={};return s=n(s,3),t(a,function(u,d,f){e(l,d,s(u,d,f))}),l}return IS=r,IS}var kfe=Tfe();const Mfe=At(kfe);var LS,fI;function Pfe(){if(fI)return LS;fI=1;function e(t,n){for(var r=-1,a=t==null?0:t.length;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Ffe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Ufe(e,t){var n=e.x,r=e.y,a=qfe(e,Ife),s="".concat(n),l=parseInt(s,10),u="".concat(r),d=parseInt(u,10),f="".concat(t.height||a.height),m=parseInt(f,10),p="".concat(t.width||a.width),g=parseInt(p,10);return uf(uf(uf(uf(uf({},t),a),l?{x:l}:{}),d?{y:d}:{}),{},{height:m,width:g,name:t.name,radius:t.radius})}function vI(e){return W.createElement(pq,EN({shapeType:"rectangle",propTransformer:Ufe,activeClassName:"recharts-active-bar"},e))}var Hfe=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(r,a){if(typeof t=="number")return t;var s=Ce(r)||hJ(r);return s?t(r,a):(s||pr(!1),n)}},Wfe=["value","background"],Sq;function ju(e){"@babel/helpers - typeof";return ju=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ju(e)}function Vfe(e,t){if(e==null)return{};var n=Gfe(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Gfe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function vg(){return vg=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(G)0&&Math.abs(q)0&&(V=Math.min((te||0)-(q[ae-1]||0),V))}),Number.isFinite(V)){var G=V/H,L=w.layout==="vertical"?r.height:r.width;if(w.padding==="gap"&&(T=G*L/2),w.padding==="no-gap"){var D=Sr(t.barCategoryGap,G*L),U=G*L/2;T=U-D-(U-D)/L*D}}}a==="xAxis"?M=[r.left+(O.left||0)+(T||0),r.left+r.width-(O.right||0)-(T||0)]:a==="yAxis"?M=d==="horizontal"?[r.top+r.height-(O.bottom||0),r.top+(O.top||0)]:[r.top+(O.top||0)+(T||0),r.top+r.height-(O.bottom||0)-(T||0)]:M=w.range,C&&(M=[M[1],M[0]]);var K=G6(w,s,g),J=K.scale,I=K.realScaleType;J.domain(N).range(M),Y6(J);var z=K6(J,Ba(Ba({},w),{},{realScaleType:I}));a==="xAxis"?($=b==="top"&&!A||b==="bottom"&&A,R=r.left,B=p[k]-$*w.height):a==="yAxis"&&($=b==="left"&&!A||b==="right"&&A,R=p[k]-$*w.width,B=r.top);var Y=Ba(Ba(Ba({},w),z),{},{realScaleType:I,x:R,y:B,scale:J,width:a==="xAxis"?r.width:w.width,height:a==="yAxis"?r.height:w.height});return Y.bandSize=eg(Y,z),!w.hide&&a==="xAxis"?p[k]+=($?-1:1)*Y.height:w.hide||(p[k]+=($?-1:1)*Y.width),Ba(Ba({},x),{},Ay({},j,Y))},{})},Eq=function(t,n){var r=t.x,a=t.y,s=n.x,l=n.y;return{x:Math.min(r,s),y:Math.min(a,l),width:Math.abs(s-r),height:Math.abs(l-a)}},ahe=function(t){var n=t.x1,r=t.y1,a=t.x2,s=t.y2;return Eq({x:n,y:r},{x:a,y:s})},Aq=(function(){function e(t){the(this,e),this.scale=t}return nhe(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.bandAware,s=r.position;if(n!==void 0){if(s)switch(s){case"start":return this.scale(n);case"middle":{var l=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+l}case"end":{var u=this.bandwidth?this.bandwidth():0;return this.scale(n)+u}default:return this.scale(n)}if(a){var d=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+d}return this.scale(n)}}},{key:"isInRange",value:function(n){var r=this.range(),a=r[0],s=r[r.length-1];return a<=s?n>=a&&n<=s:n>=s&&n<=a}}],[{key:"create",value:function(n){return new e(n)}}])})();Ay(Aq,"EPS",1e-4);var WO=function(t){var n=Object.keys(t).reduce(function(r,a){return Ba(Ba({},r),{},Ay({},a,Aq.create(t[a])))},{});return Ba(Ba({},n),{},{apply:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},l=s.bandAware,u=s.position;return Mfe(a,function(d,f){return n[f].apply(d,{bandAware:l,position:u})})},isInRange:function(a){return jq(a,function(s,l){return n[l].isInRange(s)})}})};function ihe(e){return(e%180+180)%180}var she=function(t){var n=t.width,r=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=ihe(a),l=s*Math.PI/180,u=Math.atan(r/n),d=l>u&&l-1?d[f?s[m]:m]:void 0}}return qS=r,qS}var FS,jI;function lhe(){if(jI)return FS;jI=1;var e=yq();function t(n){var r=e(n),a=r%1;return r===r?a?r-a:r:0}return FS=t,FS}var US,SI;function che(){if(SI)return US;SI=1;var e=Ez(),t=_i(),n=lhe(),r=Math.max;function a(s,l,u){var d=s==null?0:s.length;if(!d)return-1;var f=u==null?0:n(u);return f<0&&(f=r(d+f,0)),e(s,t(l,3),f)}return US=a,US}var HS,_I;function uhe(){if(_I)return HS;_I=1;var e=ohe(),t=che(),n=e(t);return HS=n,HS}var dhe=uhe();const fhe=At(dhe);var hhe=HB();const mhe=At(hhe);var phe=mhe(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),VO=y.createContext(void 0),GO=y.createContext(void 0),Tq=y.createContext(void 0),kq=y.createContext({}),Mq=y.createContext(void 0),Pq=y.createContext(0),Rq=y.createContext(0),NI=function(t){var n=t.state,r=n.xAxisMap,a=n.yAxisMap,s=n.offset,l=t.clipPathId,u=t.children,d=t.width,f=t.height,m=phe(s);return W.createElement(VO.Provider,{value:r},W.createElement(GO.Provider,{value:a},W.createElement(kq.Provider,{value:s},W.createElement(Tq.Provider,{value:m},W.createElement(Mq.Provider,{value:l},W.createElement(Pq.Provider,{value:f},W.createElement(Rq.Provider,{value:d},u)))))))},vhe=function(){return y.useContext(Mq)},Dq=function(t){var n=y.useContext(VO);n==null&&pr(!1);var r=n[t];return r==null&&pr(!1),r},ghe=function(){var t=y.useContext(VO);return Ws(t)},yhe=function(){var t=y.useContext(GO),n=fhe(t,function(r){return jq(r.domain,Number.isFinite)});return n||Ws(t)},$q=function(t){var n=y.useContext(GO);n==null&&pr(!1);var r=n[t];return r==null&&pr(!1),r},xhe=function(){var t=y.useContext(Tq);return t},bhe=function(){return y.useContext(kq)},YO=function(){return y.useContext(Rq)},KO=function(){return y.useContext(Pq)};function Su(e){"@babel/helpers - typeof";return Su=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Su(e)}function whe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jhe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne*a)return!1;var s=n();return e*(t-e*s/2-r)>=0&&e*(t+e*s/2-a)<=0}function rme(e,t){return Uq(e,t+1)}function ame(e,t,n,r,a){for(var s=(r||[]).slice(),l=t.start,u=t.end,d=0,f=1,m=l,p=function(){var j=r?.[d];if(j===void 0)return{v:Uq(r,f)};var w=d,b,N=function(){return b===void 0&&(b=n(j,w)),b},E=j.coordinate,O=d===0||wg(e,E,N,m,u);O||(d=0,m=l,f+=1),O&&(m=E+e*(N()/2+a),d+=f)},g;f<=s.length;)if(g=p(),g)return g.v;return[]}function hh(e){"@babel/helpers - typeof";return hh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hh(e)}function PI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function ur(e){for(var t=1;t0?x.coordinate-b*e:x.coordinate})}else s[g]=x=ur(ur({},x),{},{tickCoord:x.coordinate});var N=wg(e,x.tickCoord,w,u,d);N&&(d=x.tickCoord-e*(w()/2+a),s[g]=ur(ur({},x),{},{isShow:!0}))},m=l-1;m>=0;m--)f(m);return s}function cme(e,t,n,r,a,s){var l=(r||[]).slice(),u=l.length,d=t.start,f=t.end;if(s){var m=r[u-1],p=n(m,u-1),g=e*(m.coordinate+e*p/2-f);l[u-1]=m=ur(ur({},m),{},{tickCoord:g>0?m.coordinate-g*e:m.coordinate});var x=wg(e,m.tickCoord,function(){return p},d,f);x&&(f=m.tickCoord-e*(p/2+a),l[u-1]=ur(ur({},m),{},{isShow:!0}))}for(var j=s?u-1:u,w=function(E){var O=l[E],A,C=function(){return A===void 0&&(A=n(O,E)),A};if(E===0){var k=e*(O.coordinate-e*C()/2-d);l[E]=O=ur(ur({},O),{},{tickCoord:k<0?O.coordinate-k*e:O.coordinate})}else l[E]=O=ur(ur({},O),{},{tickCoord:O.coordinate});var T=wg(e,O.tickCoord,C,d,f);T&&(d=O.tickCoord+e*(C()/2+a),l[E]=ur(ur({},O),{},{isShow:!0}))},b=0;b=2?jr(a[1].coordinate-a[0].coordinate):1,N=nme(s,b,x);return d==="equidistantPreserveStart"?ame(b,N,w,a,l):(d==="preserveStart"||d==="preserveStartEnd"?g=cme(b,N,w,a,l,d==="preserveStartEnd"):g=lme(b,N,w,a,l),g.filter(function(E){return E.isShow}))}var ume=["viewBox"],dme=["viewBox"],fme=["ticks"];function Cu(e){"@babel/helpers - typeof";return Cu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Cu(e)}function Hc(){return Hc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function hme(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function mme(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function DI(e,t){for(var n=0;n0?d(this.props):d(x)),l<=0||u<=0||!j||!j.length?null:W.createElement(xt,{className:Je("recharts-cartesian-axis",f),ref:function(b){r.layerReference=b}},s&&this.renderAxisLine(),this.renderTicks(j,this.state.fontSize,this.state.letterSpacing),Vn.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(r,a,s){var l,u=Je(a.className,"recharts-cartesian-axis-tick-value");return W.isValidElement(r)?l=W.cloneElement(r,Dn(Dn({},a),{},{className:u})):Ke(r)?l=r(Dn(Dn({},a),{},{className:u})):l=W.createElement(ml,Hc({},a,{className:"recharts-cartesian-axis-tick-value"}),s),l}}])})(y.Component);JO(Xu,"displayName","CartesianAxis");JO(Xu,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var wme=["x1","y1","x2","y2","key"],jme=["offset"];function vl(e){"@babel/helpers - typeof";return vl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vl(e)}function $I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function fr(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Cme(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Ome=function(t){var n=t.fill;if(!n||n==="none")return null;var r=t.fillOpacity,a=t.x,s=t.y,l=t.width,u=t.height,d=t.ry;return W.createElement("rect",{x:a,y:s,ry:d,width:l,height:u,stroke:"none",fill:n,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function Vq(e,t){var n;if(W.isValidElement(e))n=W.cloneElement(e,t);else if(Ke(e))n=e(t);else{var r=t.x1,a=t.y1,s=t.x2,l=t.y2,u=t.key,d=II(t,wme),f=qe(d,!1);f.offset;var m=II(f,jme);n=W.createElement("line",Qo({},m,{x1:r,y1:a,x2:s,y2:l,fill:"none",key:u}))}return n}function Eme(e){var t=e.x,n=e.width,r=e.horizontal,a=r===void 0?!0:r,s=e.horizontalPoints;if(!a||!s||!s.length)return null;var l=s.map(function(u,d){var f=fr(fr({},e),{},{x1:t,y1:u,x2:t+n,y2:u,key:"line-".concat(d),index:d});return Vq(a,f)});return W.createElement("g",{className:"recharts-cartesian-grid-horizontal"},l)}function Ame(e){var t=e.y,n=e.height,r=e.vertical,a=r===void 0?!0:r,s=e.verticalPoints;if(!a||!s||!s.length)return null;var l=s.map(function(u,d){var f=fr(fr({},e),{},{x1:u,y1:t,x2:u,y2:t+n,key:"line-".concat(d),index:d});return Vq(a,f)});return W.createElement("g",{className:"recharts-cartesian-grid-vertical"},l)}function Tme(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,a=e.y,s=e.width,l=e.height,u=e.horizontalPoints,d=e.horizontal,f=d===void 0?!0:d;if(!f||!t||!t.length)return null;var m=u.map(function(g){return Math.round(g+a-a)}).sort(function(g,x){return g-x});a!==m[0]&&m.unshift(0);var p=m.map(function(g,x){var j=!m[x+1],w=j?a+l-g:m[x+1]-g;if(w<=0)return null;var b=x%t.length;return W.createElement("rect",{key:"react-".concat(x),y:g,x:r,height:w,width:s,stroke:"none",fill:t[b],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return W.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function kme(e){var t=e.vertical,n=t===void 0?!0:t,r=e.verticalFill,a=e.fillOpacity,s=e.x,l=e.y,u=e.width,d=e.height,f=e.verticalPoints;if(!n||!r||!r.length)return null;var m=f.map(function(g){return Math.round(g+s-s)}).sort(function(g,x){return g-x});s!==m[0]&&m.unshift(0);var p=m.map(function(g,x){var j=!m[x+1],w=j?s+u-g:m[x+1]-g;if(w<=0)return null;var b=x%r.length;return W.createElement("rect",{key:"react-".concat(x),x:g,y:l,width:w,height:d,stroke:"none",fill:r[b],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return W.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var Mme=function(t,n){var r=t.xAxis,a=t.width,s=t.height,l=t.offset;return V6(QO(fr(fr(fr({},Xu.defaultProps),r),{},{ticks:Qi(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),l.left,l.left+l.width,n)},Pme=function(t,n){var r=t.yAxis,a=t.width,s=t.height,l=t.offset;return V6(QO(fr(fr(fr({},Xu.defaultProps),r),{},{ticks:Qi(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),l.top,l.top+l.height,n)},Oc={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function gf(e){var t,n,r,a,s,l,u=YO(),d=KO(),f=bhe(),m=fr(fr({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:Oc.stroke,fill:(n=e.fill)!==null&&n!==void 0?n:Oc.fill,horizontal:(r=e.horizontal)!==null&&r!==void 0?r:Oc.horizontal,horizontalFill:(a=e.horizontalFill)!==null&&a!==void 0?a:Oc.horizontalFill,vertical:(s=e.vertical)!==null&&s!==void 0?s:Oc.vertical,verticalFill:(l=e.verticalFill)!==null&&l!==void 0?l:Oc.verticalFill,x:Ce(e.x)?e.x:f.left,y:Ce(e.y)?e.y:f.top,width:Ce(e.width)?e.width:f.width,height:Ce(e.height)?e.height:f.height}),p=m.x,g=m.y,x=m.width,j=m.height,w=m.syncWithTicks,b=m.horizontalValues,N=m.verticalValues,E=ghe(),O=yhe();if(!Ce(x)||x<=0||!Ce(j)||j<=0||!Ce(p)||p!==+p||!Ce(g)||g!==+g)return null;var A=m.verticalCoordinatesGenerator||Mme,C=m.horizontalCoordinatesGenerator||Pme,k=m.horizontalPoints,T=m.verticalPoints;if((!k||!k.length)&&Ke(C)){var M=b&&b.length,R=C({yAxis:O?fr(fr({},O),{},{ticks:M?b:O.ticks}):void 0,width:u,height:d,offset:f},M?!0:w);Ha(Array.isArray(R),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(vl(R),"]")),Array.isArray(R)&&(k=R)}if((!T||!T.length)&&Ke(A)){var B=N&&N.length,$=A({xAxis:E?fr(fr({},E),{},{ticks:B?N:E.ticks}):void 0,width:u,height:d,offset:f},B?!0:w);Ha(Array.isArray($),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(vl($),"]")),Array.isArray($)&&(T=$)}return W.createElement("g",{className:"recharts-cartesian-grid"},W.createElement(Ome,{fill:m.fill,fillOpacity:m.fillOpacity,x:m.x,y:m.y,width:m.width,height:m.height,ry:m.ry}),W.createElement(Eme,Qo({},m,{offset:f,horizontalPoints:k,xAxis:E,yAxis:O})),W.createElement(Ame,Qo({},m,{offset:f,verticalPoints:T,xAxis:E,yAxis:O})),W.createElement(Tme,Qo({},m,{horizontalPoints:k})),W.createElement(kme,Qo({},m,{verticalPoints:T})))}gf.displayName="CartesianGrid";var Rme=["type","layout","connectNulls","ref"],Dme=["key"];function Ou(e){"@babel/helpers - typeof";return Ou=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ou(e)}function LI(e,t){if(e==null)return{};var n=$me(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $me(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function kf(){return kf=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);np){x=[].concat(Ec(d.slice(0,j)),[p-w]);break}var b=x.length%2===0?[0,g]:[g];return[].concat(Ec(t.repeat(d,m)),Ec(x),b).map(function(N){return"".concat(N,"px")}).join(", ")}),za(n,"id",Wu("recharts-line-")),za(n,"pathRef",function(l){n.mainCurve=l}),za(n,"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),za(n,"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return Vme(t,e),Fme(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();this.setState({totalLength:r})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();r!==this.state.totalLength&&this.setState({totalLength:r})}}},{key:"getTotalLength",value:function(){var r=this.mainCurve;try{return r&&r.getTotalLength&&r.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(r,a){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var s=this.props,l=s.points,u=s.xAxis,d=s.yAxis,f=s.layout,m=s.children,p=ia(m,Wh);if(!p)return null;var g=function(w,b){return{x:w.x,y:w.y,value:w.value,errorVal:In(w.payload,b)}},x={clipPath:r?"url(#clipPath-".concat(a,")"):null};return W.createElement(xt,x,p.map(function(j){return W.cloneElement(j,{key:"bar-".concat(j.props.dataKey),data:l,xAxis:u,yAxis:d,layout:f,dataPointFormatter:g})}))}},{key:"renderDots",value:function(r,a,s){var l=this.props.isAnimationActive;if(l&&!this.state.isAnimationFinished)return null;var u=this.props,d=u.dot,f=u.points,m=u.dataKey,p=qe(this.props,!1),g=qe(d,!0),x=f.map(function(w,b){var N=Xr(Xr(Xr({key:"dot-".concat(b),r:3},p),g),{},{index:b,cx:w.x,cy:w.y,value:w.value,dataKey:m,payload:w.payload,points:f});return t.renderDotItem(d,N)}),j={clipPath:r?"url(#clipPath-".concat(a?"":"dots-").concat(s,")"):null};return W.createElement(xt,kf({className:"recharts-line-dots",key:"dots"},j),x)}},{key:"renderCurveStatically",value:function(r,a,s,l){var u=this.props,d=u.type,f=u.layout,m=u.connectNulls;u.ref;var p=LI(u,Rme),g=Xr(Xr(Xr({},qe(p,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:a?"url(#clipPath-".concat(s,")"):null,points:r},l),{},{type:d,layout:f,connectNulls:m});return W.createElement(rg,kf({},g,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(r,a){var s=this,l=this.props,u=l.points,d=l.strokeDasharray,f=l.isAnimationActive,m=l.animationBegin,p=l.animationDuration,g=l.animationEasing,x=l.animationId,j=l.animateNewValues,w=l.width,b=l.height,N=this.state,E=N.prevPoints,O=N.totalLength;return W.createElement(bi,{begin:m,duration:p,isActive:f,easing:g,from:{t:0},to:{t:1},key:"line-".concat(x),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(A){var C=A.t;if(E){var k=E.length/u.length,T=u.map(function(H,V){var q=Math.floor(V*k);if(E[q]){var G=E[q],L=ta(G.x,H.x),D=ta(G.y,H.y);return Xr(Xr({},H),{},{x:L(C),y:D(C)})}if(j){var U=ta(w*2,H.x),K=ta(b/2,H.y);return Xr(Xr({},H),{},{x:U(C),y:K(C)})}return Xr(Xr({},H),{},{x:H.x,y:H.y})});return s.renderCurveStatically(T,r,a)}var M=ta(0,O),R=M(C),B;if(d){var $="".concat(d).split(/[,\s]+/gim).map(function(H){return parseFloat(H)});B=s.getStrokeDasharray(R,O,$)}else B=s.generateSimpleStrokeDasharray(O,R);return s.renderCurveStatically(u,r,a,{strokeDasharray:B})})}},{key:"renderCurve",value:function(r,a){var s=this.props,l=s.points,u=s.isAnimationActive,d=this.state,f=d.prevPoints,m=d.totalLength;return u&&l&&l.length&&(!f&&m>0||!Hh(f,l))?this.renderCurveWithAnimation(r,a):this.renderCurveStatically(l,r,a)}},{key:"render",value:function(){var r,a=this.props,s=a.hide,l=a.dot,u=a.points,d=a.className,f=a.xAxis,m=a.yAxis,p=a.top,g=a.left,x=a.width,j=a.height,w=a.isAnimationActive,b=a.id;if(s||!u||!u.length)return null;var N=this.state.isAnimationFinished,E=u.length===1,O=Je("recharts-line",d),A=f&&f.allowDataOverflow,C=m&&m.allowDataOverflow,k=A||C,T=Qe(b)?this.id:b,M=(r=qe(l,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},R=M.r,B=R===void 0?3:R,$=M.strokeWidth,H=$===void 0?2:$,V=NJ(l)?l:{},q=V.clipDot,G=q===void 0?!0:q,L=B*2+H;return W.createElement(xt,{className:O},A||C?W.createElement("defs",null,W.createElement("clipPath",{id:"clipPath-".concat(T)},W.createElement("rect",{x:A?g:g-x/2,y:C?p:p-j/2,width:A?x:x*2,height:C?j:j*2})),!G&&W.createElement("clipPath",{id:"clipPath-dots-".concat(T)},W.createElement("rect",{x:g-L/2,y:p-L/2,width:x+L,height:j+L}))):null,!E&&this.renderCurve(k,T),this.renderErrorBar(k,T),(E||l)&&this.renderDots(k,G,T),(!w||N)&&as.renderCallByParent(this.props,u))}}],[{key:"getDerivedStateFromProps",value:function(r,a){return r.animationId!==a.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,prevPoints:a.curPoints}:r.points!==a.curPoints?{curPoints:r.points}:null}},{key:"repeat",value:function(r,a){for(var s=r.length%2!==0?[].concat(Ec(r),[0]):r,l=[],u=0;ue.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $pe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Ipe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lpe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?l:t&&t.length&&Ce(a)&&Ce(s)?t.slice(a,s+1):[]};function oF(e){return e==="number"?[0,"auto"]:void 0}var GN=function(t,n,r,a){var s=t.graphicalItems,l=t.tooltipAxis,u=Ry(n,t);return r<0||!s||!s.length||r>=u.length?null:s.reduce(function(d,f){var m,p=(m=f.props.data)!==null&&m!==void 0?m:n;p&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=r&&(p=p.slice(t.dataStartIndex,t.dataEndIndex+1));var g;if(l.dataKey&&!l.allowDuplicatedCategory){var x=p===void 0?u:p;g=Av(x,l.dataKey,a)}else g=p&&p[r]||u[r];return g?[].concat(ku(d),[Z6(f,g)]):d},[])},GI=function(t,n,r,a){var s=a||{x:t.chartX,y:t.chartY},l=Xpe(s,r),u=t.orderedTooltipTicks,d=t.tooltipAxis,f=t.tooltipTicks,m=joe(l,u,f,d);if(m>=0&&f){var p=f[m]&&f[m].value,g=GN(t,n,m,p),x=Zpe(r,u,m,s);return{activeTooltipIndex:m,activeLabel:p,activePayload:g,activeCoordinate:x}}return null},Qpe=function(t,n){var r=n.axes,a=n.graphicalItems,s=n.axisType,l=n.axisIdKey,u=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,m=t.layout,p=t.children,g=t.stackOffset,x=W6(m,s);return r.reduce(function(j,w){var b,N=w.type.defaultProps!==void 0?ve(ve({},w.type.defaultProps),w.props):w.props,E=N.type,O=N.dataKey,A=N.allowDataOverflow,C=N.allowDuplicatedCategory,k=N.scale,T=N.ticks,M=N.includeHidden,R=N[l];if(j[R])return j;var B=Ry(t.data,{graphicalItems:a.filter(function(z){var Y,te=l in z.props?z.props[l]:(Y=z.type.defaultProps)===null||Y===void 0?void 0:Y[l];return te===R}),dataStartIndex:d,dataEndIndex:f}),$=B.length,H,V,q;_pe(N.domain,A,E)&&(H=oN(N.domain,null,A),x&&(E==="number"||k!=="auto")&&(q=Of(B,O,"category")));var G=oF(E);if(!H||H.length===0){var L,D=(L=N.domain)!==null&&L!==void 0?L:G;if(O){if(H=Of(B,O,E),E==="category"&&x){var U=pJ(H);C&&U?(V=H,H=hg(0,$)):C||(H=V3(D,H,w).reduce(function(z,Y){return z.indexOf(Y)>=0?z:[].concat(ku(z),[Y])},[]))}else if(E==="category")C?H=H.filter(function(z){return z!==""&&!Qe(z)}):H=V3(D,H,w).reduce(function(z,Y){return z.indexOf(Y)>=0||Y===""||Qe(Y)?z:[].concat(ku(z),[Y])},[]);else if(E==="number"){var K=Ooe(B,a.filter(function(z){var Y,te,ae=l in z.props?z.props[l]:(Y=z.type.defaultProps)===null||Y===void 0?void 0:Y[l],ge="hide"in z.props?z.props.hide:(te=z.type.defaultProps)===null||te===void 0?void 0:te.hide;return ae===R&&(M||!ge)}),O,s,m);K&&(H=K)}x&&(E==="number"||k!=="auto")&&(q=Of(B,O,"category"))}else x?H=hg(0,$):u&&u[R]&&u[R].hasStack&&E==="number"?H=g==="expand"?[0,1]:X6(u[R].stackGroups,d,f):H=H6(B,a.filter(function(z){var Y=l in z.props?z.props[l]:z.type.defaultProps[l],te="hide"in z.props?z.props.hide:z.type.defaultProps.hide;return Y===R&&(M||!te)}),E,m,!0);if(E==="number")H=HN(p,H,R,s,T),D&&(H=oN(D,H,A));else if(E==="category"&&D){var J=D,I=H.every(function(z){return J.indexOf(z)>=0});I&&(H=J)}}return ve(ve({},j),{},He({},R,ve(ve({},N),{},{axisType:s,domain:H,categoricalDomain:q,duplicateDomain:V,originalDomain:(b=N.domain)!==null&&b!==void 0?b:G,isCategorical:x,layout:m})))},{})},Jpe=function(t,n){var r=n.graphicalItems,a=n.Axis,s=n.axisType,l=n.axisIdKey,u=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,m=t.layout,p=t.children,g=Ry(t.data,{graphicalItems:r,dataStartIndex:d,dataEndIndex:f}),x=g.length,j=W6(m,s),w=-1;return r.reduce(function(b,N){var E=N.type.defaultProps!==void 0?ve(ve({},N.type.defaultProps),N.props):N.props,O=E[l],A=oF("number");if(!b[O]){w++;var C;return j?C=hg(0,x):u&&u[O]&&u[O].hasStack?(C=X6(u[O].stackGroups,d,f),C=HN(p,C,O,s)):(C=oN(A,H6(g,r.filter(function(k){var T,M,R=l in k.props?k.props[l]:(T=k.type.defaultProps)===null||T===void 0?void 0:T[l],B="hide"in k.props?k.props.hide:(M=k.type.defaultProps)===null||M===void 0?void 0:M.hide;return R===O&&!B}),"number",m),a.defaultProps.allowDataOverflow),C=HN(p,C,O,s)),ve(ve({},b),{},He({},O,ve(ve({axisType:s},a.defaultProps),{},{hide:!0,orientation:aa(Ype,"".concat(s,".").concat(w%2),null),domain:C,originalDomain:A,isCategorical:j,layout:m})))}return b},{})},eve=function(t,n){var r=n.axisType,a=r===void 0?"xAxis":r,s=n.AxisComp,l=n.graphicalItems,u=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,m=t.children,p="".concat(a,"Id"),g=ia(m,s),x={};return g&&g.length?x=Qpe(t,{axes:g,graphicalItems:l,axisType:a,axisIdKey:p,stackGroups:u,dataStartIndex:d,dataEndIndex:f}):l&&l.length&&(x=Jpe(t,{Axis:s,graphicalItems:l,axisType:a,axisIdKey:p,stackGroups:u,dataStartIndex:d,dataEndIndex:f})),x},tve=function(t){var n=Ws(t),r=Qi(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:gO(r,function(a){return a.coordinate}),tooltipAxis:n,tooltipAxisBandSize:eg(n,r)}},YI=function(t){var n=t.children,r=t.defaultShowTooltip,a=Qr(n,wu),s=0,l=0;return t.data&&t.data.length!==0&&(l=t.data.length-1),a&&a.props&&(a.props.startIndex>=0&&(s=a.props.startIndex),a.props.endIndex>=0&&(l=a.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:s,dataEndIndex:l,activeTooltipIndex:-1,isTooltipActive:!!r}},nve=function(t){return!t||!t.length?!1:t.some(function(n){var r=ns(n&&n.type);return r&&r.indexOf("Bar")>=0})},KI=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},rve=function(t,n){var r=t.props,a=t.graphicalItems,s=t.xAxisMap,l=s===void 0?{}:s,u=t.yAxisMap,d=u===void 0?{}:u,f=r.width,m=r.height,p=r.children,g=r.margin||{},x=Qr(p,wu),j=Qr(p,al),w=Object.keys(d).reduce(function(C,k){var T=d[k],M=T.orientation;return!T.mirror&&!T.hide?ve(ve({},C),{},He({},M,C[M]+T.width)):C},{left:g.left||0,right:g.right||0}),b=Object.keys(l).reduce(function(C,k){var T=l[k],M=T.orientation;return!T.mirror&&!T.hide?ve(ve({},C),{},He({},M,aa(C,"".concat(M))+T.height)):C},{top:g.top||0,bottom:g.bottom||0}),N=ve(ve({},b),w),E=N.bottom;x&&(N.bottom+=x.props.height||wu.defaultProps.height),j&&n&&(N=Noe(N,a,r,n));var O=f-N.left-N.right,A=m-N.top-N.bottom;return ve(ve({brushBottom:E},N),{},{width:Math.max(O,0),height:Math.max(A,0)})},ave=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},eE=function(t){var n=t.chartName,r=t.GraphicalChild,a=t.defaultTooltipEventType,s=a===void 0?"axis":a,l=t.validateTooltipEventTypes,u=l===void 0?["axis"]:l,d=t.axisComponents,f=t.legendContent,m=t.formatAxisMap,p=t.defaultProps,g=function(N,E){var O=E.graphicalItems,A=E.stackGroups,C=E.offset,k=E.updateId,T=E.dataStartIndex,M=E.dataEndIndex,R=N.barSize,B=N.layout,$=N.barGap,H=N.barCategoryGap,V=N.maxBarSize,q=KI(B),G=q.numericAxisName,L=q.cateAxisName,D=nve(O),U=[];return O.forEach(function(K,J){var I=Ry(N.data,{graphicalItems:[K],dataStartIndex:T,dataEndIndex:M}),z=K.type.defaultProps!==void 0?ve(ve({},K.type.defaultProps),K.props):K.props,Y=z.dataKey,te=z.maxBarSize,ae=z["".concat(G,"Id")],ge=z["".concat(L,"Id")],ee={},Se=d.reduce(function(Tt,Sn){var le=E["".concat(Sn.axisType,"Map")],ue=z["".concat(Sn.axisType,"Id")];le&&le[ue]||Sn.axisType==="zAxis"||pr(!1);var Ve=le[ue];return ve(ve({},Tt),{},He(He({},Sn.axisType,Ve),"".concat(Sn.axisType,"Ticks"),Qi(Ve)))},ee),re=Se[L],we=Se["".concat(L,"Ticks")],je=A&&A[ae]&&A[ae].hasStack&&$oe(K,A[ae].stackGroups),fe=ns(K.type).indexOf("Bar")>=0,Le=eg(re,we),Oe=[],We=D&&Soe({barSize:R,stackGroups:A,totalSize:ave(Se,L)});if(fe){var be,Ae,ke=Qe(te)?V:te,Qt=(be=(Ae=eg(re,we,!0))!==null&&Ae!==void 0?Ae:ke)!==null&&be!==void 0?be:0;Oe=_oe({barGap:$,barCategoryGap:H,bandSize:Qt!==Le?Qt:Le,sizeList:We[ge],maxBarSize:ke}),Qt!==Le&&(Oe=Oe.map(function(Tt){return ve(ve({},Tt),{},{position:ve(ve({},Tt.position),{},{offset:Tt.position.offset-Qt/2})})}))}var St=K&&K.type&&K.type.getComposedData;St&&U.push({props:ve(ve({},St(ve(ve({},Se),{},{displayedData:I,props:N,dataKey:Y,item:K,bandSize:Le,barPosition:Oe,offset:C,stackedData:je,layout:B,dataStartIndex:T,dataEndIndex:M}))),{},He(He(He({key:K.key||"item-".concat(J)},G,Se[G]),L,Se[L]),"animationId",k)),childIndex:EJ(K,N.children),item:K})}),U},x=function(N,E){var O=N.props,A=N.dataStartIndex,C=N.dataEndIndex,k=N.updateId;if(!sR({props:O}))return null;var T=O.children,M=O.layout,R=O.stackOffset,B=O.data,$=O.reverseStackOrder,H=KI(M),V=H.numericAxisName,q=H.cateAxisName,G=ia(T,r),L=Roe(B,G,"".concat(V,"Id"),"".concat(q,"Id"),R,$),D=d.reduce(function(z,Y){var te="".concat(Y.axisType,"Map");return ve(ve({},z),{},He({},te,eve(O,ve(ve({},Y),{},{graphicalItems:G,stackGroups:Y.axisType===V&&L,dataStartIndex:A,dataEndIndex:C}))))},{}),U=rve(ve(ve({},D),{},{props:O,graphicalItems:G}),E?.legendBBox);Object.keys(D).forEach(function(z){D[z]=m(O,D[z],U,z.replace("Map",""),n)});var K=D["".concat(q,"Map")],J=tve(K),I=g(O,ve(ve({},D),{},{dataStartIndex:A,dataEndIndex:C,updateId:k,graphicalItems:G,stackGroups:L,offset:U}));return ve(ve({formattedGraphicalItems:I,graphicalItems:G,offset:U,stackGroups:L},J),D)},j=(function(b){function N(E){var O,A,C;return Ipe(this,N),C=zpe(this,N,[E]),He(C,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),He(C,"accessibilityManager",new Spe),He(C,"handleLegendBBoxUpdate",function(k){if(k){var T=C.state,M=T.dataStartIndex,R=T.dataEndIndex,B=T.updateId;C.setState(ve({legendBBox:k},x({props:C.props,dataStartIndex:M,dataEndIndex:R,updateId:B},ve(ve({},C.state),{},{legendBBox:k}))))}}),He(C,"handleReceiveSyncEvent",function(k,T,M){if(C.props.syncId===k){if(M===C.eventEmitterSymbol&&typeof C.props.syncMethod!="function")return;C.applySyncEvent(T)}}),He(C,"handleBrushChange",function(k){var T=k.startIndex,M=k.endIndex;if(T!==C.state.dataStartIndex||M!==C.state.dataEndIndex){var R=C.state.updateId;C.setState(function(){return ve({dataStartIndex:T,dataEndIndex:M},x({props:C.props,dataStartIndex:T,dataEndIndex:M,updateId:R},C.state))}),C.triggerSyncEvent({dataStartIndex:T,dataEndIndex:M})}}),He(C,"handleMouseEnter",function(k){var T=C.getMouseInfo(k);if(T){var M=ve(ve({},T),{},{isTooltipActive:!0});C.setState(M),C.triggerSyncEvent(M);var R=C.props.onMouseEnter;Ke(R)&&R(M,k)}}),He(C,"triggeredAfterMouseMove",function(k){var T=C.getMouseInfo(k),M=T?ve(ve({},T),{},{isTooltipActive:!0}):{isTooltipActive:!1};C.setState(M),C.triggerSyncEvent(M);var R=C.props.onMouseMove;Ke(R)&&R(M,k)}),He(C,"handleItemMouseEnter",function(k){C.setState(function(){return{isTooltipActive:!0,activeItem:k,activePayload:k.tooltipPayload,activeCoordinate:k.tooltipPosition||{x:k.cx,y:k.cy}}})}),He(C,"handleItemMouseLeave",function(){C.setState(function(){return{isTooltipActive:!1}})}),He(C,"handleMouseMove",function(k){k.persist(),C.throttleTriggeredAfterMouseMove(k)}),He(C,"handleMouseLeave",function(k){C.throttleTriggeredAfterMouseMove.cancel();var T={isTooltipActive:!1};C.setState(T),C.triggerSyncEvent(T);var M=C.props.onMouseLeave;Ke(M)&&M(T,k)}),He(C,"handleOuterEvent",function(k){var T=OJ(k),M=aa(C.props,"".concat(T));if(T&&Ke(M)){var R,B;/.*touch.*/i.test(T)?B=C.getMouseInfo(k.changedTouches[0]):B=C.getMouseInfo(k),M((R=B)!==null&&R!==void 0?R:{},k)}}),He(C,"handleClick",function(k){var T=C.getMouseInfo(k);if(T){var M=ve(ve({},T),{},{isTooltipActive:!0});C.setState(M),C.triggerSyncEvent(M);var R=C.props.onClick;Ke(R)&&R(M,k)}}),He(C,"handleMouseDown",function(k){var T=C.props.onMouseDown;if(Ke(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"handleMouseUp",function(k){var T=C.props.onMouseUp;if(Ke(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"handleTouchMove",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&C.throttleTriggeredAfterMouseMove(k.changedTouches[0])}),He(C,"handleTouchStart",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&C.handleMouseDown(k.changedTouches[0])}),He(C,"handleTouchEnd",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&C.handleMouseUp(k.changedTouches[0])}),He(C,"handleDoubleClick",function(k){var T=C.props.onDoubleClick;if(Ke(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"handleContextMenu",function(k){var T=C.props.onContextMenu;if(Ke(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"triggerSyncEvent",function(k){C.props.syncId!==void 0&&GS.emit(YS,C.props.syncId,k,C.eventEmitterSymbol)}),He(C,"applySyncEvent",function(k){var T=C.props,M=T.layout,R=T.syncMethod,B=C.state.updateId,$=k.dataStartIndex,H=k.dataEndIndex;if(k.dataStartIndex!==void 0||k.dataEndIndex!==void 0)C.setState(ve({dataStartIndex:$,dataEndIndex:H},x({props:C.props,dataStartIndex:$,dataEndIndex:H,updateId:B},C.state)));else if(k.activeTooltipIndex!==void 0){var V=k.chartX,q=k.chartY,G=k.activeTooltipIndex,L=C.state,D=L.offset,U=L.tooltipTicks;if(!D)return;if(typeof R=="function")G=R(U,k);else if(R==="value"){G=-1;for(var K=0;K=0){var je,fe;if(V.dataKey&&!V.allowDuplicatedCategory){var Le=typeof V.dataKey=="function"?we:"payload.".concat(V.dataKey.toString());je=Av(K,Le,G),fe=J&&I&&Av(I,Le,G)}else je=K?.[q],fe=J&&I&&I[q];if(ge||ae){var Oe=k.props.activeIndex!==void 0?k.props.activeIndex:q;return[y.cloneElement(k,ve(ve(ve({},R.props),Se),{},{activeIndex:Oe})),null,null]}if(!Qe(je))return[re].concat(ku(C.renderActivePoints({item:R,activePoint:je,basePoint:fe,childIndex:q,isRange:J})))}else{var We,be=(We=C.getItemByXY(C.state.activeCoordinate))!==null&&We!==void 0?We:{graphicalItem:re},Ae=be.graphicalItem,ke=Ae.item,Qt=ke===void 0?k:ke,St=Ae.childIndex,Tt=ve(ve(ve({},R.props),Se),{},{activeIndex:St});return[y.cloneElement(Qt,Tt),null,null]}return J?[re,null,null]:[re,null]}),He(C,"renderCustomized",function(k,T,M){return y.cloneElement(k,ve(ve({key:"recharts-customized-".concat(M)},C.props),C.state))}),He(C,"renderMap",{CartesianGrid:{handler:Vp,once:!0},ReferenceArea:{handler:C.renderReferenceElement},ReferenceLine:{handler:Vp},ReferenceDot:{handler:C.renderReferenceElement},XAxis:{handler:Vp},YAxis:{handler:Vp},Brush:{handler:C.renderBrush,once:!0},Bar:{handler:C.renderGraphicChild},Line:{handler:C.renderGraphicChild},Area:{handler:C.renderGraphicChild},Radar:{handler:C.renderGraphicChild},RadialBar:{handler:C.renderGraphicChild},Scatter:{handler:C.renderGraphicChild},Pie:{handler:C.renderGraphicChild},Funnel:{handler:C.renderGraphicChild},Tooltip:{handler:C.renderCursor,once:!0},PolarGrid:{handler:C.renderPolarGrid,once:!0},PolarAngleAxis:{handler:C.renderPolarAxis},PolarRadiusAxis:{handler:C.renderPolarAxis},Customized:{handler:C.renderCustomized}}),C.clipPathId="".concat((O=E.id)!==null&&O!==void 0?O:Wu("recharts"),"-clip"),C.throttleTriggeredAfterMouseMove=qz(C.triggeredAfterMouseMove,(A=E.throttleDelay)!==null&&A!==void 0?A:1e3/60),C.state={},C}return Upe(N,b),Bpe(N,[{key:"componentDidMount",value:function(){var O,A;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(O=this.props.margin.left)!==null&&O!==void 0?O:0,top:(A=this.props.margin.top)!==null&&A!==void 0?A:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var O=this.props,A=O.children,C=O.data,k=O.height,T=O.layout,M=Qr(A,ii);if(M){var R=M.props.defaultIndex;if(!(typeof R!="number"||R<0||R>this.state.tooltipTicks.length-1)){var B=this.state.tooltipTicks[R]&&this.state.tooltipTicks[R].value,$=GN(this.state,C,R,B),H=this.state.tooltipTicks[R].coordinate,V=(this.state.offset.top+k)/2,q=T==="horizontal",G=q?{x:H,y:V}:{y:H,x:V},L=this.state.formattedGraphicalItems.find(function(U){var K=U.item;return K.type.name==="Scatter"});L&&(G=ve(ve({},G),L.props.points[R].tooltipPosition),$=L.props.points[R].tooltipPayload);var D={activeTooltipIndex:R,isTooltipActive:!0,activeLabel:B,activePayload:$,activeCoordinate:G};this.setState(D),this.renderCursor(M),this.accessibilityManager.setIndex(R)}}}},{key:"getSnapshotBeforeUpdate",value:function(O,A){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==A.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==O.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==O.margin){var C,k;this.accessibilityManager.setDetails({offset:{left:(C=this.props.margin.left)!==null&&C!==void 0?C:0,top:(k=this.props.margin.top)!==null&&k!==void 0?k:0}})}return null}},{key:"componentDidUpdate",value:function(O){A_([Qr(O.children,ii)],[Qr(this.props.children,ii)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var O=Qr(this.props.children,ii);if(O&&typeof O.props.shared=="boolean"){var A=O.props.shared?"axis":"item";return u.indexOf(A)>=0?A:s}return s}},{key:"getMouseInfo",value:function(O){if(!this.container)return null;var A=this.container,C=A.getBoundingClientRect(),k=pre(C),T={chartX:Math.round(O.pageX-k.left),chartY:Math.round(O.pageY-k.top)},M=C.width/A.offsetWidth||1,R=this.inRange(T.chartX,T.chartY,M);if(!R)return null;var B=this.state,$=B.xAxisMap,H=B.yAxisMap,V=this.getTooltipEventType(),q=GI(this.state,this.props.data,this.props.layout,R);if(V!=="axis"&&$&&H){var G=Ws($).scale,L=Ws(H).scale,D=G&&G.invert?G.invert(T.chartX):null,U=L&&L.invert?L.invert(T.chartY):null;return ve(ve({},T),{},{xValue:D,yValue:U},q)}return q?ve(ve({},T),q):null}},{key:"inRange",value:function(O,A){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,k=this.props.layout,T=O/C,M=A/C;if(k==="horizontal"||k==="vertical"){var R=this.state.offset,B=T>=R.left&&T<=R.left+R.width&&M>=R.top&&M<=R.top+R.height;return B?{x:T,y:M}:null}var $=this.state,H=$.angleAxisMap,V=$.radiusAxisMap;if(H&&V){var q=Ws(H);return K3({x:T,y:M},q)}return null}},{key:"parseEventsOfWrapper",value:function(){var O=this.props.children,A=this.getTooltipEventType(),C=Qr(O,ii),k={};C&&A==="axis"&&(C.props.trigger==="click"?k={onClick:this.handleClick}:k={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var T=Tv(this.props,this.handleOuterEvent);return ve(ve({},T),k)}},{key:"addListener",value:function(){GS.on(YS,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){GS.removeListener(YS,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(O,A,C){for(var k=this.state.formattedGraphicalItems,T=0,M=k.length;T");return e}const Dc=y.forwardRef(({id:e,className:t,children:n,config:r,...a},s)=>{const l=y.useId(),u=`chart-${e||l.replace(/:/g,"")}`;return i.jsx(lF.Provider,{value:{config:r},children:i.jsxs("div",{"data-chart":u,ref:s,className:ce("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",t),...a,children:[i.jsx(lve,{id:u,config:r}),i.jsx(lre,{children:n})]})})});Dc.displayName="Chart";const lve=({id:e,config:t})=>{const n=Object.entries(t).filter(([,r])=>r.theme||r.color);return n.length?i.jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(ove).map(([r,a])=>` + the props "valueKey" will be deprecated in 1.1.0`),N=p);var E=a.filter(function(M){return In(M,N,0)!==0}).length,O=(b>=360?E:E-1)*d,A=b-E*x-O,C=a.reduce(function(M,R){var B=In(R,N,0);return M+(Ce(B)?B:0)},0),k;if(C>0){var T;k=a.map(function(M,R){var B=In(M,N,0),$=In(M,m,R),H=(Ce(B)?B:0)/C,V;R?V=T.endAngle+jr(w)*d*(B!==0?1:0):V=l;var q=V+jr(w)*((B!==0?x:0)+H*A),G=(V+q)/2,L=(j.innerRadius+j.outerRadius)/2,D=[{name:$,value:B,payload:M,dataKey:N,type:g}],U=Zt(j.cx,j.cy,L,G);return T=Yt(Yt(Yt({percent:H,cornerRadius:s,name:$,tooltipPayload:D,midAngle:G,middleRadius:L,tooltipPosition:U},M),j),{},{value:In(M,N),startAngle:V,endAngle:q,payload:M,paddingAngle:jr(w)*d}),T})}return Yt(Yt({},j),{},{sectors:k,data:a})});var TS,J$;function cfe(){if(J$)return TS;J$=1;var e=Math.ceil,t=Math.max;function n(r,a,s,l){for(var u=-1,d=t(e((a-r)/(s||1)),0),f=Array(d);d--;)f[l?d:++u]=r,r+=s;return f}return TS=n,TS}var kS,eI;function yq(){if(eI)return kS;eI=1;var e=zz(),t=1/0,n=17976931348623157e292;function r(a){if(!a)return a===0?a:0;if(a=e(a),a===t||a===-t){var s=a<0?-1:1;return s*n}return a===a?a:0}return kS=r,kS}var MS,tI;function ufe(){if(tI)return MS;tI=1;var e=cfe(),t=cy(),n=yq();function r(a){return function(s,l,u){return u&&typeof u!="number"&&t(s,l,u)&&(l=u=void 0),s=n(s),l===void 0?(l=s,s=0):l=n(l),u=u===void 0?s0&&r.handleDrag(a.changedTouches[0])}),Zr(r,"handleDragEnd",function(){r.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var a=r.props,s=a.endIndex,l=a.onDragEnd,u=a.startIndex;l?.({endIndex:s,startIndex:u})}),r.detachDragEndListener()}),Zr(r,"handleLeaveWrapper",function(){(r.state.isTravellerMoving||r.state.isSlideMoving)&&(r.leaveTimer=window.setTimeout(r.handleDragEnd,r.props.leaveTimeOut))}),Zr(r,"handleEnterSlideOrTraveller",function(){r.setState({isTextActive:!0})}),Zr(r,"handleLeaveSlideOrTraveller",function(){r.setState({isTextActive:!1})}),Zr(r,"handleSlideDragStart",function(a){var s=oI(a)?a.changedTouches[0]:a;r.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:s.pageX}),r.attachDragEndListener()}),r.travellerDragStartHandlers={startX:r.handleTravellerDragStart.bind(r,"startX"),endX:r.handleTravellerDragStart.bind(r,"endX")},r.state={},r}return jfe(t,e),yfe(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(r){var a=r.startX,s=r.endX,l=this.state.scaleValues,u=this.props,d=u.gap,f=u.data,m=f.length-1,p=Math.min(a,s),g=Math.max(a,s),x=t.getIndexInRange(l,p),j=t.getIndexInRange(l,g);return{startIndex:x-x%d,endIndex:j===m?m:j-j%d}}},{key:"getTextOfTick",value:function(r){var a=this.props,s=a.data,l=a.tickFormatter,u=a.dataKey,d=In(s[r],u,r);return Ke(l)?l(d,r):d}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(r){var a=this.state,s=a.slideMoveStartX,l=a.startX,u=a.endX,d=this.props,f=d.x,m=d.width,p=d.travellerWidth,g=d.startIndex,x=d.endIndex,j=d.onChange,w=r.pageX-s;w>0?w=Math.min(w,f+m-p-u,f+m-p-l):w<0&&(w=Math.max(w,f-l,f-u));var b=this.getIndex({startX:l+w,endX:u+w});(b.startIndex!==g||b.endIndex!==x)&&j&&j(b),this.setState({startX:l+w,endX:u+w,slideMoveStartX:r.pageX})}},{key:"handleTravellerDragStart",value:function(r,a){var s=oI(a)?a.changedTouches[0]:a;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:r,brushMoveStartX:s.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(r){var a=this.state,s=a.brushMoveStartX,l=a.movingTravellerId,u=a.endX,d=a.startX,f=this.state[l],m=this.props,p=m.x,g=m.width,x=m.travellerWidth,j=m.onChange,w=m.gap,b=m.data,N={startX:this.state.startX,endX:this.state.endX},E=r.pageX-s;E>0?E=Math.min(E,p+g-x-f):E<0&&(E=Math.max(E,p-f)),N[l]=f+E;var O=this.getIndex(N),A=O.startIndex,C=O.endIndex,k=function(){var M=b.length-1;return l==="startX"&&(u>d?A%w===0:C%w===0)||ud?C%w===0:A%w===0)||u>d&&C===M};this.setState(Zr(Zr({},l,f+E),"brushMoveStartX",r.pageX),function(){j&&k()&&j(O)})}},{key:"handleTravellerMoveKeyboard",value:function(r,a){var s=this,l=this.state,u=l.scaleValues,d=l.startX,f=l.endX,m=this.state[a],p=u.indexOf(m);if(p!==-1){var g=p+r;if(!(g===-1||g>=u.length)){var x=u[g];a==="startX"&&x>=f||a==="endX"&&x<=d||this.setState(Zr({},a,x),function(){s.props.onChange(s.getIndex({startX:s.state.startX,endX:s.state.endX}))})}}}},{key:"renderBackground",value:function(){var r=this.props,a=r.x,s=r.y,l=r.width,u=r.height,d=r.fill,f=r.stroke;return W.createElement("rect",{stroke:f,fill:d,x:a,y:s,width:l,height:u})}},{key:"renderPanorama",value:function(){var r=this.props,a=r.x,s=r.y,l=r.width,u=r.height,d=r.data,f=r.children,m=r.padding,p=y.Children.only(f);return p?W.cloneElement(p,{x:a,y:s,width:l,height:u,margin:m,compact:!0,data:d}):null}},{key:"renderTravellerLayer",value:function(r,a){var s,l,u=this,d=this.props,f=d.y,m=d.travellerWidth,p=d.height,g=d.traveller,x=d.ariaLabel,j=d.data,w=d.startIndex,b=d.endIndex,N=Math.max(r,this.props.x),E=RS(RS({},qe(this.props,!1)),{},{x:N,y:f,width:m,height:p}),O=x||"Min value: ".concat((s=j[w])===null||s===void 0?void 0:s.name,", Max value: ").concat((l=j[b])===null||l===void 0?void 0:l.name);return W.createElement(xt,{tabIndex:0,role:"slider","aria-label":O,"aria-valuenow":r,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[a],onTouchStart:this.travellerDragStartHandlers[a],onKeyDown:function(C){["ArrowLeft","ArrowRight"].includes(C.key)&&(C.preventDefault(),C.stopPropagation(),u.handleTravellerMoveKeyboard(C.key==="ArrowRight"?1:-1,a))},onFocus:function(){u.setState({isTravellerFocused:!0})},onBlur:function(){u.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(g,E))}},{key:"renderSlide",value:function(r,a){var s=this.props,l=s.y,u=s.height,d=s.stroke,f=s.travellerWidth,m=Math.min(r,a)+f,p=Math.max(Math.abs(a-r)-f,0);return W.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:d,fillOpacity:.2,x:m,y:l,width:p,height:u})}},{key:"renderText",value:function(){var r=this.props,a=r.startIndex,s=r.endIndex,l=r.y,u=r.height,d=r.travellerWidth,f=r.stroke,m=this.state,p=m.startX,g=m.endX,x=5,j={pointerEvents:"none",fill:f};return W.createElement(xt,{className:"recharts-brush-texts"},W.createElement(ml,mg({textAnchor:"end",verticalAnchor:"middle",x:Math.min(p,g)-x,y:l+u/2},j),this.getTextOfTick(a)),W.createElement(ml,mg({textAnchor:"start",verticalAnchor:"middle",x:Math.max(p,g)+d+x,y:l+u/2},j),this.getTextOfTick(s)))}},{key:"render",value:function(){var r=this.props,a=r.data,s=r.className,l=r.children,u=r.x,d=r.y,f=r.width,m=r.height,p=r.alwaysShowText,g=this.state,x=g.startX,j=g.endX,w=g.isTextActive,b=g.isSlideMoving,N=g.isTravellerMoving,E=g.isTravellerFocused;if(!a||!a.length||!Ce(u)||!Ce(d)||!Ce(f)||!Ce(m)||f<=0||m<=0)return null;var O=Je("recharts-brush",s),A=W.Children.count(l)===1,C=vfe("userSelect","none");return W.createElement(xt,{className:O,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:C},this.renderBackground(),A&&this.renderPanorama(),this.renderSlide(x,j),this.renderTravellerLayer(x,"startX"),this.renderTravellerLayer(j,"endX"),(w||b||N||E||p)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(r){var a=r.x,s=r.y,l=r.width,u=r.height,d=r.stroke,f=Math.floor(s+u/2)-1;return W.createElement(W.Fragment,null,W.createElement("rect",{x:a,y:s,width:l,height:u,fill:d,stroke:"none"}),W.createElement("line",{x1:a+1,y1:f,x2:a+l-1,y2:f,fill:"none",stroke:"#fff"}),W.createElement("line",{x1:a+1,y1:f+2,x2:a+l-1,y2:f+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(r,a){var s;return W.isValidElement(r)?s=W.cloneElement(r,a):Ke(r)?s=r(a):s=t.renderDefaultTraveller(a),s}},{key:"getDerivedStateFromProps",value:function(r,a){var s=r.data,l=r.width,u=r.x,d=r.travellerWidth,f=r.updateId,m=r.startIndex,p=r.endIndex;if(s!==a.prevData||f!==a.prevUpdateId)return RS({prevData:s,prevTravellerWidth:d,prevUpdateId:f,prevX:u,prevWidth:l},s&&s.length?_fe({data:s,width:l,x:u,travellerWidth:d,startIndex:m,endIndex:p}):{scale:null,scaleValues:null});if(a.scale&&(l!==a.prevWidth||u!==a.prevX||d!==a.prevTravellerWidth)){a.scale.range([u,u+l-d]);var g=a.scale.domain().map(function(x){return a.scale(x)});return{prevData:s,prevTravellerWidth:d,prevUpdateId:f,prevX:u,prevWidth:l,startX:a.scale(r.startIndex),endX:a.scale(r.endIndex),scaleValues:g}}return null}},{key:"getIndexInRange",value:function(r,a){for(var s=r.length,l=0,u=s-1;u-l>1;){var d=Math.floor((l+u)/2);r[d]>a?u=d:l=d}return a>=r[u]?u:l}}])})(y.PureComponent);Zr(wu,"displayName","Brush");Zr(wu,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var DS,lI;function Nfe(){if(lI)return DS;lI=1;var e=gO();function t(n,r){var a;return e(n,function(s,l,u){return a=r(s,l,u),!a}),!!a}return DS=t,DS}var $S,cI;function Cfe(){if(cI)return $S;cI=1;var e=gz(),t=_i(),n=Nfe(),r=qr(),a=cy();function s(l,u,d){var f=r(l)?e:n;return d&&a(l,u,d)&&(u=void 0),f(l,t(u,3))}return $S=s,$S}var Ofe=Cfe();const Efe=At(Ofe);var vi=function(t,n){var r=t.alwaysShow,a=t.ifOverflow;return r&&(a="extendDomain"),a===n},IS,uI;function Afe(){if(uI)return IS;uI=1;var e=Dz();function t(n,r,a){r=="__proto__"&&e?e(n,r,{configurable:!0,enumerable:!0,value:a,writable:!0}):n[r]=a}return IS=t,IS}var LS,dI;function Tfe(){if(dI)return LS;dI=1;var e=Afe(),t=Pz(),n=_i();function r(a,s){var l={};return s=n(s,3),t(a,function(u,d,f){e(l,d,s(u,d,f))}),l}return LS=r,LS}var kfe=Tfe();const Mfe=At(kfe);var BS,fI;function Pfe(){if(fI)return BS;fI=1;function e(t,n){for(var r=-1,a=t==null?0:t.length;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Ffe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Ufe(e,t){var n=e.x,r=e.y,a=qfe(e,Ife),s="".concat(n),l=parseInt(s,10),u="".concat(r),d=parseInt(u,10),f="".concat(t.height||a.height),m=parseInt(f,10),p="".concat(t.width||a.width),g=parseInt(p,10);return uf(uf(uf(uf(uf({},t),a),l?{x:l}:{}),d?{y:d}:{}),{},{height:m,width:g,name:t.name,radius:t.radius})}function vI(e){return W.createElement(pq,AN({shapeType:"rectangle",propTransformer:Ufe,activeClassName:"recharts-active-bar"},e))}var Hfe=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(r,a){if(typeof t=="number")return t;var s=Ce(r)||hJ(r);return s?t(r,a):(s||pr(!1),n)}},Wfe=["value","background"],Sq;function ju(e){"@babel/helpers - typeof";return ju=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ju(e)}function Vfe(e,t){if(e==null)return{};var n=Gfe(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Gfe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function vg(){return vg=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(G)0&&Math.abs(q)0&&(V=Math.min((te||0)-(q[ae-1]||0),V))}),Number.isFinite(V)){var G=V/H,L=w.layout==="vertical"?r.height:r.width;if(w.padding==="gap"&&(T=G*L/2),w.padding==="no-gap"){var D=Sr(t.barCategoryGap,G*L),U=G*L/2;T=U-D-(U-D)/L*D}}}a==="xAxis"?M=[r.left+(O.left||0)+(T||0),r.left+r.width-(O.right||0)-(T||0)]:a==="yAxis"?M=d==="horizontal"?[r.top+r.height-(O.bottom||0),r.top+(O.top||0)]:[r.top+(O.top||0)+(T||0),r.top+r.height-(O.bottom||0)-(T||0)]:M=w.range,C&&(M=[M[1],M[0]]);var K=G6(w,s,g),J=K.scale,I=K.realScaleType;J.domain(N).range(M),Y6(J);var z=K6(J,Ba(Ba({},w),{},{realScaleType:I}));a==="xAxis"?($=b==="top"&&!A||b==="bottom"&&A,R=r.left,B=p[k]-$*w.height):a==="yAxis"&&($=b==="left"&&!A||b==="right"&&A,R=p[k]-$*w.width,B=r.top);var Y=Ba(Ba(Ba({},w),z),{},{realScaleType:I,x:R,y:B,scale:J,width:a==="xAxis"?r.width:w.width,height:a==="yAxis"?r.height:w.height});return Y.bandSize=eg(Y,z),!w.hide&&a==="xAxis"?p[k]+=($?-1:1)*Y.height:w.hide||(p[k]+=($?-1:1)*Y.width),Ba(Ba({},x),{},Ay({},j,Y))},{})},Eq=function(t,n){var r=t.x,a=t.y,s=n.x,l=n.y;return{x:Math.min(r,s),y:Math.min(a,l),width:Math.abs(s-r),height:Math.abs(l-a)}},ahe=function(t){var n=t.x1,r=t.y1,a=t.x2,s=t.y2;return Eq({x:n,y:r},{x:a,y:s})},Aq=(function(){function e(t){the(this,e),this.scale=t}return nhe(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.bandAware,s=r.position;if(n!==void 0){if(s)switch(s){case"start":return this.scale(n);case"middle":{var l=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+l}case"end":{var u=this.bandwidth?this.bandwidth():0;return this.scale(n)+u}default:return this.scale(n)}if(a){var d=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+d}return this.scale(n)}}},{key:"isInRange",value:function(n){var r=this.range(),a=r[0],s=r[r.length-1];return a<=s?n>=a&&n<=s:n>=s&&n<=a}}],[{key:"create",value:function(n){return new e(n)}}])})();Ay(Aq,"EPS",1e-4);var VO=function(t){var n=Object.keys(t).reduce(function(r,a){return Ba(Ba({},r),{},Ay({},a,Aq.create(t[a])))},{});return Ba(Ba({},n),{},{apply:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},l=s.bandAware,u=s.position;return Mfe(a,function(d,f){return n[f].apply(d,{bandAware:l,position:u})})},isInRange:function(a){return jq(a,function(s,l){return n[l].isInRange(s)})}})};function ihe(e){return(e%180+180)%180}var she=function(t){var n=t.width,r=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=ihe(a),l=s*Math.PI/180,u=Math.atan(r/n),d=l>u&&l-1?d[f?s[m]:m]:void 0}}return FS=r,FS}var US,jI;function lhe(){if(jI)return US;jI=1;var e=yq();function t(n){var r=e(n),a=r%1;return r===r?a?r-a:r:0}return US=t,US}var HS,SI;function che(){if(SI)return HS;SI=1;var e=Ez(),t=_i(),n=lhe(),r=Math.max;function a(s,l,u){var d=s==null?0:s.length;if(!d)return-1;var f=u==null?0:n(u);return f<0&&(f=r(d+f,0)),e(s,t(l,3),f)}return HS=a,HS}var WS,_I;function uhe(){if(_I)return WS;_I=1;var e=ohe(),t=che(),n=e(t);return WS=n,WS}var dhe=uhe();const fhe=At(dhe);var hhe=HB();const mhe=At(hhe);var phe=mhe(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),GO=y.createContext(void 0),YO=y.createContext(void 0),Tq=y.createContext(void 0),kq=y.createContext({}),Mq=y.createContext(void 0),Pq=y.createContext(0),Rq=y.createContext(0),NI=function(t){var n=t.state,r=n.xAxisMap,a=n.yAxisMap,s=n.offset,l=t.clipPathId,u=t.children,d=t.width,f=t.height,m=phe(s);return W.createElement(GO.Provider,{value:r},W.createElement(YO.Provider,{value:a},W.createElement(kq.Provider,{value:s},W.createElement(Tq.Provider,{value:m},W.createElement(Mq.Provider,{value:l},W.createElement(Pq.Provider,{value:f},W.createElement(Rq.Provider,{value:d},u)))))))},vhe=function(){return y.useContext(Mq)},Dq=function(t){var n=y.useContext(GO);n==null&&pr(!1);var r=n[t];return r==null&&pr(!1),r},ghe=function(){var t=y.useContext(GO);return Ws(t)},yhe=function(){var t=y.useContext(YO),n=fhe(t,function(r){return jq(r.domain,Number.isFinite)});return n||Ws(t)},$q=function(t){var n=y.useContext(YO);n==null&&pr(!1);var r=n[t];return r==null&&pr(!1),r},xhe=function(){var t=y.useContext(Tq);return t},bhe=function(){return y.useContext(kq)},KO=function(){return y.useContext(Rq)},XO=function(){return y.useContext(Pq)};function Su(e){"@babel/helpers - typeof";return Su=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Su(e)}function whe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jhe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne*a)return!1;var s=n();return e*(t-e*s/2-r)>=0&&e*(t+e*s/2-a)<=0}function rme(e,t){return Uq(e,t+1)}function ame(e,t,n,r,a){for(var s=(r||[]).slice(),l=t.start,u=t.end,d=0,f=1,m=l,p=function(){var j=r?.[d];if(j===void 0)return{v:Uq(r,f)};var w=d,b,N=function(){return b===void 0&&(b=n(j,w)),b},E=j.coordinate,O=d===0||wg(e,E,N,m,u);O||(d=0,m=l,f+=1),O&&(m=E+e*(N()/2+a),d+=f)},g;f<=s.length;)if(g=p(),g)return g.v;return[]}function hh(e){"@babel/helpers - typeof";return hh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hh(e)}function PI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function ur(e){for(var t=1;t0?x.coordinate-b*e:x.coordinate})}else s[g]=x=ur(ur({},x),{},{tickCoord:x.coordinate});var N=wg(e,x.tickCoord,w,u,d);N&&(d=x.tickCoord-e*(w()/2+a),s[g]=ur(ur({},x),{},{isShow:!0}))},m=l-1;m>=0;m--)f(m);return s}function cme(e,t,n,r,a,s){var l=(r||[]).slice(),u=l.length,d=t.start,f=t.end;if(s){var m=r[u-1],p=n(m,u-1),g=e*(m.coordinate+e*p/2-f);l[u-1]=m=ur(ur({},m),{},{tickCoord:g>0?m.coordinate-g*e:m.coordinate});var x=wg(e,m.tickCoord,function(){return p},d,f);x&&(f=m.tickCoord-e*(p/2+a),l[u-1]=ur(ur({},m),{},{isShow:!0}))}for(var j=s?u-1:u,w=function(E){var O=l[E],A,C=function(){return A===void 0&&(A=n(O,E)),A};if(E===0){var k=e*(O.coordinate-e*C()/2-d);l[E]=O=ur(ur({},O),{},{tickCoord:k<0?O.coordinate-k*e:O.coordinate})}else l[E]=O=ur(ur({},O),{},{tickCoord:O.coordinate});var T=wg(e,O.tickCoord,C,d,f);T&&(d=O.tickCoord+e*(C()/2+a),l[E]=ur(ur({},O),{},{isShow:!0}))},b=0;b=2?jr(a[1].coordinate-a[0].coordinate):1,N=nme(s,b,x);return d==="equidistantPreserveStart"?ame(b,N,w,a,l):(d==="preserveStart"||d==="preserveStartEnd"?g=cme(b,N,w,a,l,d==="preserveStartEnd"):g=lme(b,N,w,a,l),g.filter(function(E){return E.isShow}))}var ume=["viewBox"],dme=["viewBox"],fme=["ticks"];function Cu(e){"@babel/helpers - typeof";return Cu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Cu(e)}function Hc(){return Hc=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function hme(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function mme(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function DI(e,t){for(var n=0;n0?d(this.props):d(x)),l<=0||u<=0||!j||!j.length?null:W.createElement(xt,{className:Je("recharts-cartesian-axis",f),ref:function(b){r.layerReference=b}},s&&this.renderAxisLine(),this.renderTicks(j,this.state.fontSize,this.state.letterSpacing),Vn.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(r,a,s){var l,u=Je(a.className,"recharts-cartesian-axis-tick-value");return W.isValidElement(r)?l=W.cloneElement(r,Dn(Dn({},a),{},{className:u})):Ke(r)?l=r(Dn(Dn({},a),{},{className:u})):l=W.createElement(ml,Hc({},a,{className:"recharts-cartesian-axis-tick-value"}),s),l}}])})(y.Component);eE(Xu,"displayName","CartesianAxis");eE(Xu,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var wme=["x1","y1","x2","y2","key"],jme=["offset"];function vl(e){"@babel/helpers - typeof";return vl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vl(e)}function $I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function fr(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Cme(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Ome=function(t){var n=t.fill;if(!n||n==="none")return null;var r=t.fillOpacity,a=t.x,s=t.y,l=t.width,u=t.height,d=t.ry;return W.createElement("rect",{x:a,y:s,ry:d,width:l,height:u,stroke:"none",fill:n,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function Vq(e,t){var n;if(W.isValidElement(e))n=W.cloneElement(e,t);else if(Ke(e))n=e(t);else{var r=t.x1,a=t.y1,s=t.x2,l=t.y2,u=t.key,d=II(t,wme),f=qe(d,!1);f.offset;var m=II(f,jme);n=W.createElement("line",Qo({},m,{x1:r,y1:a,x2:s,y2:l,fill:"none",key:u}))}return n}function Eme(e){var t=e.x,n=e.width,r=e.horizontal,a=r===void 0?!0:r,s=e.horizontalPoints;if(!a||!s||!s.length)return null;var l=s.map(function(u,d){var f=fr(fr({},e),{},{x1:t,y1:u,x2:t+n,y2:u,key:"line-".concat(d),index:d});return Vq(a,f)});return W.createElement("g",{className:"recharts-cartesian-grid-horizontal"},l)}function Ame(e){var t=e.y,n=e.height,r=e.vertical,a=r===void 0?!0:r,s=e.verticalPoints;if(!a||!s||!s.length)return null;var l=s.map(function(u,d){var f=fr(fr({},e),{},{x1:u,y1:t,x2:u,y2:t+n,key:"line-".concat(d),index:d});return Vq(a,f)});return W.createElement("g",{className:"recharts-cartesian-grid-vertical"},l)}function Tme(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,a=e.y,s=e.width,l=e.height,u=e.horizontalPoints,d=e.horizontal,f=d===void 0?!0:d;if(!f||!t||!t.length)return null;var m=u.map(function(g){return Math.round(g+a-a)}).sort(function(g,x){return g-x});a!==m[0]&&m.unshift(0);var p=m.map(function(g,x){var j=!m[x+1],w=j?a+l-g:m[x+1]-g;if(w<=0)return null;var b=x%t.length;return W.createElement("rect",{key:"react-".concat(x),y:g,x:r,height:w,width:s,stroke:"none",fill:t[b],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return W.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function kme(e){var t=e.vertical,n=t===void 0?!0:t,r=e.verticalFill,a=e.fillOpacity,s=e.x,l=e.y,u=e.width,d=e.height,f=e.verticalPoints;if(!n||!r||!r.length)return null;var m=f.map(function(g){return Math.round(g+s-s)}).sort(function(g,x){return g-x});s!==m[0]&&m.unshift(0);var p=m.map(function(g,x){var j=!m[x+1],w=j?s+u-g:m[x+1]-g;if(w<=0)return null;var b=x%r.length;return W.createElement("rect",{key:"react-".concat(x),x:g,y:l,width:w,height:d,stroke:"none",fill:r[b],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return W.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var Mme=function(t,n){var r=t.xAxis,a=t.width,s=t.height,l=t.offset;return V6(JO(fr(fr(fr({},Xu.defaultProps),r),{},{ticks:Qi(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),l.left,l.left+l.width,n)},Pme=function(t,n){var r=t.yAxis,a=t.width,s=t.height,l=t.offset;return V6(JO(fr(fr(fr({},Xu.defaultProps),r),{},{ticks:Qi(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),l.top,l.top+l.height,n)},Oc={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function gf(e){var t,n,r,a,s,l,u=KO(),d=XO(),f=bhe(),m=fr(fr({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:Oc.stroke,fill:(n=e.fill)!==null&&n!==void 0?n:Oc.fill,horizontal:(r=e.horizontal)!==null&&r!==void 0?r:Oc.horizontal,horizontalFill:(a=e.horizontalFill)!==null&&a!==void 0?a:Oc.horizontalFill,vertical:(s=e.vertical)!==null&&s!==void 0?s:Oc.vertical,verticalFill:(l=e.verticalFill)!==null&&l!==void 0?l:Oc.verticalFill,x:Ce(e.x)?e.x:f.left,y:Ce(e.y)?e.y:f.top,width:Ce(e.width)?e.width:f.width,height:Ce(e.height)?e.height:f.height}),p=m.x,g=m.y,x=m.width,j=m.height,w=m.syncWithTicks,b=m.horizontalValues,N=m.verticalValues,E=ghe(),O=yhe();if(!Ce(x)||x<=0||!Ce(j)||j<=0||!Ce(p)||p!==+p||!Ce(g)||g!==+g)return null;var A=m.verticalCoordinatesGenerator||Mme,C=m.horizontalCoordinatesGenerator||Pme,k=m.horizontalPoints,T=m.verticalPoints;if((!k||!k.length)&&Ke(C)){var M=b&&b.length,R=C({yAxis:O?fr(fr({},O),{},{ticks:M?b:O.ticks}):void 0,width:u,height:d,offset:f},M?!0:w);Ha(Array.isArray(R),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(vl(R),"]")),Array.isArray(R)&&(k=R)}if((!T||!T.length)&&Ke(A)){var B=N&&N.length,$=A({xAxis:E?fr(fr({},E),{},{ticks:B?N:E.ticks}):void 0,width:u,height:d,offset:f},B?!0:w);Ha(Array.isArray($),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(vl($),"]")),Array.isArray($)&&(T=$)}return W.createElement("g",{className:"recharts-cartesian-grid"},W.createElement(Ome,{fill:m.fill,fillOpacity:m.fillOpacity,x:m.x,y:m.y,width:m.width,height:m.height,ry:m.ry}),W.createElement(Eme,Qo({},m,{offset:f,horizontalPoints:k,xAxis:E,yAxis:O})),W.createElement(Ame,Qo({},m,{offset:f,verticalPoints:T,xAxis:E,yAxis:O})),W.createElement(Tme,Qo({},m,{horizontalPoints:k})),W.createElement(kme,Qo({},m,{verticalPoints:T})))}gf.displayName="CartesianGrid";var Rme=["type","layout","connectNulls","ref"],Dme=["key"];function Ou(e){"@babel/helpers - typeof";return Ou=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ou(e)}function LI(e,t){if(e==null)return{};var n=$me(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $me(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function kf(){return kf=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);np){x=[].concat(Ec(d.slice(0,j)),[p-w]);break}var b=x.length%2===0?[0,g]:[g];return[].concat(Ec(t.repeat(d,m)),Ec(x),b).map(function(N){return"".concat(N,"px")}).join(", ")}),za(n,"id",Wu("recharts-line-")),za(n,"pathRef",function(l){n.mainCurve=l}),za(n,"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),za(n,"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return Vme(t,e),Fme(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();this.setState({totalLength:r})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();r!==this.state.totalLength&&this.setState({totalLength:r})}}},{key:"getTotalLength",value:function(){var r=this.mainCurve;try{return r&&r.getTotalLength&&r.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(r,a){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var s=this.props,l=s.points,u=s.xAxis,d=s.yAxis,f=s.layout,m=s.children,p=ia(m,Wh);if(!p)return null;var g=function(w,b){return{x:w.x,y:w.y,value:w.value,errorVal:In(w.payload,b)}},x={clipPath:r?"url(#clipPath-".concat(a,")"):null};return W.createElement(xt,x,p.map(function(j){return W.cloneElement(j,{key:"bar-".concat(j.props.dataKey),data:l,xAxis:u,yAxis:d,layout:f,dataPointFormatter:g})}))}},{key:"renderDots",value:function(r,a,s){var l=this.props.isAnimationActive;if(l&&!this.state.isAnimationFinished)return null;var u=this.props,d=u.dot,f=u.points,m=u.dataKey,p=qe(this.props,!1),g=qe(d,!0),x=f.map(function(w,b){var N=Xr(Xr(Xr({key:"dot-".concat(b),r:3},p),g),{},{index:b,cx:w.x,cy:w.y,value:w.value,dataKey:m,payload:w.payload,points:f});return t.renderDotItem(d,N)}),j={clipPath:r?"url(#clipPath-".concat(a?"":"dots-").concat(s,")"):null};return W.createElement(xt,kf({className:"recharts-line-dots",key:"dots"},j),x)}},{key:"renderCurveStatically",value:function(r,a,s,l){var u=this.props,d=u.type,f=u.layout,m=u.connectNulls;u.ref;var p=LI(u,Rme),g=Xr(Xr(Xr({},qe(p,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:a?"url(#clipPath-".concat(s,")"):null,points:r},l),{},{type:d,layout:f,connectNulls:m});return W.createElement(rg,kf({},g,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(r,a){var s=this,l=this.props,u=l.points,d=l.strokeDasharray,f=l.isAnimationActive,m=l.animationBegin,p=l.animationDuration,g=l.animationEasing,x=l.animationId,j=l.animateNewValues,w=l.width,b=l.height,N=this.state,E=N.prevPoints,O=N.totalLength;return W.createElement(bi,{begin:m,duration:p,isActive:f,easing:g,from:{t:0},to:{t:1},key:"line-".concat(x),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(A){var C=A.t;if(E){var k=E.length/u.length,T=u.map(function(H,V){var q=Math.floor(V*k);if(E[q]){var G=E[q],L=ta(G.x,H.x),D=ta(G.y,H.y);return Xr(Xr({},H),{},{x:L(C),y:D(C)})}if(j){var U=ta(w*2,H.x),K=ta(b/2,H.y);return Xr(Xr({},H),{},{x:U(C),y:K(C)})}return Xr(Xr({},H),{},{x:H.x,y:H.y})});return s.renderCurveStatically(T,r,a)}var M=ta(0,O),R=M(C),B;if(d){var $="".concat(d).split(/[,\s]+/gim).map(function(H){return parseFloat(H)});B=s.getStrokeDasharray(R,O,$)}else B=s.generateSimpleStrokeDasharray(O,R);return s.renderCurveStatically(u,r,a,{strokeDasharray:B})})}},{key:"renderCurve",value:function(r,a){var s=this.props,l=s.points,u=s.isAnimationActive,d=this.state,f=d.prevPoints,m=d.totalLength;return u&&l&&l.length&&(!f&&m>0||!Hh(f,l))?this.renderCurveWithAnimation(r,a):this.renderCurveStatically(l,r,a)}},{key:"render",value:function(){var r,a=this.props,s=a.hide,l=a.dot,u=a.points,d=a.className,f=a.xAxis,m=a.yAxis,p=a.top,g=a.left,x=a.width,j=a.height,w=a.isAnimationActive,b=a.id;if(s||!u||!u.length)return null;var N=this.state.isAnimationFinished,E=u.length===1,O=Je("recharts-line",d),A=f&&f.allowDataOverflow,C=m&&m.allowDataOverflow,k=A||C,T=Qe(b)?this.id:b,M=(r=qe(l,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},R=M.r,B=R===void 0?3:R,$=M.strokeWidth,H=$===void 0?2:$,V=NJ(l)?l:{},q=V.clipDot,G=q===void 0?!0:q,L=B*2+H;return W.createElement(xt,{className:O},A||C?W.createElement("defs",null,W.createElement("clipPath",{id:"clipPath-".concat(T)},W.createElement("rect",{x:A?g:g-x/2,y:C?p:p-j/2,width:A?x:x*2,height:C?j:j*2})),!G&&W.createElement("clipPath",{id:"clipPath-dots-".concat(T)},W.createElement("rect",{x:g-L/2,y:p-L/2,width:x+L,height:j+L}))):null,!E&&this.renderCurve(k,T),this.renderErrorBar(k,T),(E||l)&&this.renderDots(k,G,T),(!w||N)&&as.renderCallByParent(this.props,u))}}],[{key:"getDerivedStateFromProps",value:function(r,a){return r.animationId!==a.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,prevPoints:a.curPoints}:r.points!==a.curPoints?{curPoints:r.points}:null}},{key:"repeat",value:function(r,a){for(var s=r.length%2!==0?[].concat(Ec(r),[0]):r,l=[],u=0;ue.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $pe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Ipe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lpe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?l:t&&t.length&&Ce(a)&&Ce(s)?t.slice(a,s+1):[]};function oF(e){return e==="number"?[0,"auto"]:void 0}var YN=function(t,n,r,a){var s=t.graphicalItems,l=t.tooltipAxis,u=Ry(n,t);return r<0||!s||!s.length||r>=u.length?null:s.reduce(function(d,f){var m,p=(m=f.props.data)!==null&&m!==void 0?m:n;p&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=r&&(p=p.slice(t.dataStartIndex,t.dataEndIndex+1));var g;if(l.dataKey&&!l.allowDuplicatedCategory){var x=p===void 0?u:p;g=Av(x,l.dataKey,a)}else g=p&&p[r]||u[r];return g?[].concat(ku(d),[Z6(f,g)]):d},[])},GI=function(t,n,r,a){var s=a||{x:t.chartX,y:t.chartY},l=Xpe(s,r),u=t.orderedTooltipTicks,d=t.tooltipAxis,f=t.tooltipTicks,m=joe(l,u,f,d);if(m>=0&&f){var p=f[m]&&f[m].value,g=YN(t,n,m,p),x=Zpe(r,u,m,s);return{activeTooltipIndex:m,activeLabel:p,activePayload:g,activeCoordinate:x}}return null},Qpe=function(t,n){var r=n.axes,a=n.graphicalItems,s=n.axisType,l=n.axisIdKey,u=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,m=t.layout,p=t.children,g=t.stackOffset,x=W6(m,s);return r.reduce(function(j,w){var b,N=w.type.defaultProps!==void 0?ve(ve({},w.type.defaultProps),w.props):w.props,E=N.type,O=N.dataKey,A=N.allowDataOverflow,C=N.allowDuplicatedCategory,k=N.scale,T=N.ticks,M=N.includeHidden,R=N[l];if(j[R])return j;var B=Ry(t.data,{graphicalItems:a.filter(function(z){var Y,te=l in z.props?z.props[l]:(Y=z.type.defaultProps)===null||Y===void 0?void 0:Y[l];return te===R}),dataStartIndex:d,dataEndIndex:f}),$=B.length,H,V,q;_pe(N.domain,A,E)&&(H=lN(N.domain,null,A),x&&(E==="number"||k!=="auto")&&(q=Of(B,O,"category")));var G=oF(E);if(!H||H.length===0){var L,D=(L=N.domain)!==null&&L!==void 0?L:G;if(O){if(H=Of(B,O,E),E==="category"&&x){var U=pJ(H);C&&U?(V=H,H=hg(0,$)):C||(H=V3(D,H,w).reduce(function(z,Y){return z.indexOf(Y)>=0?z:[].concat(ku(z),[Y])},[]))}else if(E==="category")C?H=H.filter(function(z){return z!==""&&!Qe(z)}):H=V3(D,H,w).reduce(function(z,Y){return z.indexOf(Y)>=0||Y===""||Qe(Y)?z:[].concat(ku(z),[Y])},[]);else if(E==="number"){var K=Ooe(B,a.filter(function(z){var Y,te,ae=l in z.props?z.props[l]:(Y=z.type.defaultProps)===null||Y===void 0?void 0:Y[l],ge="hide"in z.props?z.props.hide:(te=z.type.defaultProps)===null||te===void 0?void 0:te.hide;return ae===R&&(M||!ge)}),O,s,m);K&&(H=K)}x&&(E==="number"||k!=="auto")&&(q=Of(B,O,"category"))}else x?H=hg(0,$):u&&u[R]&&u[R].hasStack&&E==="number"?H=g==="expand"?[0,1]:X6(u[R].stackGroups,d,f):H=H6(B,a.filter(function(z){var Y=l in z.props?z.props[l]:z.type.defaultProps[l],te="hide"in z.props?z.props.hide:z.type.defaultProps.hide;return Y===R&&(M||!te)}),E,m,!0);if(E==="number")H=WN(p,H,R,s,T),D&&(H=lN(D,H,A));else if(E==="category"&&D){var J=D,I=H.every(function(z){return J.indexOf(z)>=0});I&&(H=J)}}return ve(ve({},j),{},He({},R,ve(ve({},N),{},{axisType:s,domain:H,categoricalDomain:q,duplicateDomain:V,originalDomain:(b=N.domain)!==null&&b!==void 0?b:G,isCategorical:x,layout:m})))},{})},Jpe=function(t,n){var r=n.graphicalItems,a=n.Axis,s=n.axisType,l=n.axisIdKey,u=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,m=t.layout,p=t.children,g=Ry(t.data,{graphicalItems:r,dataStartIndex:d,dataEndIndex:f}),x=g.length,j=W6(m,s),w=-1;return r.reduce(function(b,N){var E=N.type.defaultProps!==void 0?ve(ve({},N.type.defaultProps),N.props):N.props,O=E[l],A=oF("number");if(!b[O]){w++;var C;return j?C=hg(0,x):u&&u[O]&&u[O].hasStack?(C=X6(u[O].stackGroups,d,f),C=WN(p,C,O,s)):(C=lN(A,H6(g,r.filter(function(k){var T,M,R=l in k.props?k.props[l]:(T=k.type.defaultProps)===null||T===void 0?void 0:T[l],B="hide"in k.props?k.props.hide:(M=k.type.defaultProps)===null||M===void 0?void 0:M.hide;return R===O&&!B}),"number",m),a.defaultProps.allowDataOverflow),C=WN(p,C,O,s)),ve(ve({},b),{},He({},O,ve(ve({axisType:s},a.defaultProps),{},{hide:!0,orientation:aa(Ype,"".concat(s,".").concat(w%2),null),domain:C,originalDomain:A,isCategorical:j,layout:m})))}return b},{})},eve=function(t,n){var r=n.axisType,a=r===void 0?"xAxis":r,s=n.AxisComp,l=n.graphicalItems,u=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,m=t.children,p="".concat(a,"Id"),g=ia(m,s),x={};return g&&g.length?x=Qpe(t,{axes:g,graphicalItems:l,axisType:a,axisIdKey:p,stackGroups:u,dataStartIndex:d,dataEndIndex:f}):l&&l.length&&(x=Jpe(t,{Axis:s,graphicalItems:l,axisType:a,axisIdKey:p,stackGroups:u,dataStartIndex:d,dataEndIndex:f})),x},tve=function(t){var n=Ws(t),r=Qi(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:yO(r,function(a){return a.coordinate}),tooltipAxis:n,tooltipAxisBandSize:eg(n,r)}},YI=function(t){var n=t.children,r=t.defaultShowTooltip,a=Qr(n,wu),s=0,l=0;return t.data&&t.data.length!==0&&(l=t.data.length-1),a&&a.props&&(a.props.startIndex>=0&&(s=a.props.startIndex),a.props.endIndex>=0&&(l=a.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:s,dataEndIndex:l,activeTooltipIndex:-1,isTooltipActive:!!r}},nve=function(t){return!t||!t.length?!1:t.some(function(n){var r=ns(n&&n.type);return r&&r.indexOf("Bar")>=0})},KI=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},rve=function(t,n){var r=t.props,a=t.graphicalItems,s=t.xAxisMap,l=s===void 0?{}:s,u=t.yAxisMap,d=u===void 0?{}:u,f=r.width,m=r.height,p=r.children,g=r.margin||{},x=Qr(p,wu),j=Qr(p,al),w=Object.keys(d).reduce(function(C,k){var T=d[k],M=T.orientation;return!T.mirror&&!T.hide?ve(ve({},C),{},He({},M,C[M]+T.width)):C},{left:g.left||0,right:g.right||0}),b=Object.keys(l).reduce(function(C,k){var T=l[k],M=T.orientation;return!T.mirror&&!T.hide?ve(ve({},C),{},He({},M,aa(C,"".concat(M))+T.height)):C},{top:g.top||0,bottom:g.bottom||0}),N=ve(ve({},b),w),E=N.bottom;x&&(N.bottom+=x.props.height||wu.defaultProps.height),j&&n&&(N=Noe(N,a,r,n));var O=f-N.left-N.right,A=m-N.top-N.bottom;return ve(ve({brushBottom:E},N),{},{width:Math.max(O,0),height:Math.max(A,0)})},ave=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},tE=function(t){var n=t.chartName,r=t.GraphicalChild,a=t.defaultTooltipEventType,s=a===void 0?"axis":a,l=t.validateTooltipEventTypes,u=l===void 0?["axis"]:l,d=t.axisComponents,f=t.legendContent,m=t.formatAxisMap,p=t.defaultProps,g=function(N,E){var O=E.graphicalItems,A=E.stackGroups,C=E.offset,k=E.updateId,T=E.dataStartIndex,M=E.dataEndIndex,R=N.barSize,B=N.layout,$=N.barGap,H=N.barCategoryGap,V=N.maxBarSize,q=KI(B),G=q.numericAxisName,L=q.cateAxisName,D=nve(O),U=[];return O.forEach(function(K,J){var I=Ry(N.data,{graphicalItems:[K],dataStartIndex:T,dataEndIndex:M}),z=K.type.defaultProps!==void 0?ve(ve({},K.type.defaultProps),K.props):K.props,Y=z.dataKey,te=z.maxBarSize,ae=z["".concat(G,"Id")],ge=z["".concat(L,"Id")],ee={},Se=d.reduce(function(Tt,Sn){var le=E["".concat(Sn.axisType,"Map")],ue=z["".concat(Sn.axisType,"Id")];le&&le[ue]||Sn.axisType==="zAxis"||pr(!1);var Ve=le[ue];return ve(ve({},Tt),{},He(He({},Sn.axisType,Ve),"".concat(Sn.axisType,"Ticks"),Qi(Ve)))},ee),re=Se[L],we=Se["".concat(L,"Ticks")],je=A&&A[ae]&&A[ae].hasStack&&$oe(K,A[ae].stackGroups),fe=ns(K.type).indexOf("Bar")>=0,Le=eg(re,we),Oe=[],We=D&&Soe({barSize:R,stackGroups:A,totalSize:ave(Se,L)});if(fe){var be,Ae,ke=Qe(te)?V:te,Qt=(be=(Ae=eg(re,we,!0))!==null&&Ae!==void 0?Ae:ke)!==null&&be!==void 0?be:0;Oe=_oe({barGap:$,barCategoryGap:H,bandSize:Qt!==Le?Qt:Le,sizeList:We[ge],maxBarSize:ke}),Qt!==Le&&(Oe=Oe.map(function(Tt){return ve(ve({},Tt),{},{position:ve(ve({},Tt.position),{},{offset:Tt.position.offset-Qt/2})})}))}var St=K&&K.type&&K.type.getComposedData;St&&U.push({props:ve(ve({},St(ve(ve({},Se),{},{displayedData:I,props:N,dataKey:Y,item:K,bandSize:Le,barPosition:Oe,offset:C,stackedData:je,layout:B,dataStartIndex:T,dataEndIndex:M}))),{},He(He(He({key:K.key||"item-".concat(J)},G,Se[G]),L,Se[L]),"animationId",k)),childIndex:EJ(K,N.children),item:K})}),U},x=function(N,E){var O=N.props,A=N.dataStartIndex,C=N.dataEndIndex,k=N.updateId;if(!sR({props:O}))return null;var T=O.children,M=O.layout,R=O.stackOffset,B=O.data,$=O.reverseStackOrder,H=KI(M),V=H.numericAxisName,q=H.cateAxisName,G=ia(T,r),L=Roe(B,G,"".concat(V,"Id"),"".concat(q,"Id"),R,$),D=d.reduce(function(z,Y){var te="".concat(Y.axisType,"Map");return ve(ve({},z),{},He({},te,eve(O,ve(ve({},Y),{},{graphicalItems:G,stackGroups:Y.axisType===V&&L,dataStartIndex:A,dataEndIndex:C}))))},{}),U=rve(ve(ve({},D),{},{props:O,graphicalItems:G}),E?.legendBBox);Object.keys(D).forEach(function(z){D[z]=m(O,D[z],U,z.replace("Map",""),n)});var K=D["".concat(q,"Map")],J=tve(K),I=g(O,ve(ve({},D),{},{dataStartIndex:A,dataEndIndex:C,updateId:k,graphicalItems:G,stackGroups:L,offset:U}));return ve(ve({formattedGraphicalItems:I,graphicalItems:G,offset:U,stackGroups:L},J),D)},j=(function(b){function N(E){var O,A,C;return Ipe(this,N),C=zpe(this,N,[E]),He(C,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),He(C,"accessibilityManager",new Spe),He(C,"handleLegendBBoxUpdate",function(k){if(k){var T=C.state,M=T.dataStartIndex,R=T.dataEndIndex,B=T.updateId;C.setState(ve({legendBBox:k},x({props:C.props,dataStartIndex:M,dataEndIndex:R,updateId:B},ve(ve({},C.state),{},{legendBBox:k}))))}}),He(C,"handleReceiveSyncEvent",function(k,T,M){if(C.props.syncId===k){if(M===C.eventEmitterSymbol&&typeof C.props.syncMethod!="function")return;C.applySyncEvent(T)}}),He(C,"handleBrushChange",function(k){var T=k.startIndex,M=k.endIndex;if(T!==C.state.dataStartIndex||M!==C.state.dataEndIndex){var R=C.state.updateId;C.setState(function(){return ve({dataStartIndex:T,dataEndIndex:M},x({props:C.props,dataStartIndex:T,dataEndIndex:M,updateId:R},C.state))}),C.triggerSyncEvent({dataStartIndex:T,dataEndIndex:M})}}),He(C,"handleMouseEnter",function(k){var T=C.getMouseInfo(k);if(T){var M=ve(ve({},T),{},{isTooltipActive:!0});C.setState(M),C.triggerSyncEvent(M);var R=C.props.onMouseEnter;Ke(R)&&R(M,k)}}),He(C,"triggeredAfterMouseMove",function(k){var T=C.getMouseInfo(k),M=T?ve(ve({},T),{},{isTooltipActive:!0}):{isTooltipActive:!1};C.setState(M),C.triggerSyncEvent(M);var R=C.props.onMouseMove;Ke(R)&&R(M,k)}),He(C,"handleItemMouseEnter",function(k){C.setState(function(){return{isTooltipActive:!0,activeItem:k,activePayload:k.tooltipPayload,activeCoordinate:k.tooltipPosition||{x:k.cx,y:k.cy}}})}),He(C,"handleItemMouseLeave",function(){C.setState(function(){return{isTooltipActive:!1}})}),He(C,"handleMouseMove",function(k){k.persist(),C.throttleTriggeredAfterMouseMove(k)}),He(C,"handleMouseLeave",function(k){C.throttleTriggeredAfterMouseMove.cancel();var T={isTooltipActive:!1};C.setState(T),C.triggerSyncEvent(T);var M=C.props.onMouseLeave;Ke(M)&&M(T,k)}),He(C,"handleOuterEvent",function(k){var T=OJ(k),M=aa(C.props,"".concat(T));if(T&&Ke(M)){var R,B;/.*touch.*/i.test(T)?B=C.getMouseInfo(k.changedTouches[0]):B=C.getMouseInfo(k),M((R=B)!==null&&R!==void 0?R:{},k)}}),He(C,"handleClick",function(k){var T=C.getMouseInfo(k);if(T){var M=ve(ve({},T),{},{isTooltipActive:!0});C.setState(M),C.triggerSyncEvent(M);var R=C.props.onClick;Ke(R)&&R(M,k)}}),He(C,"handleMouseDown",function(k){var T=C.props.onMouseDown;if(Ke(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"handleMouseUp",function(k){var T=C.props.onMouseUp;if(Ke(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"handleTouchMove",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&C.throttleTriggeredAfterMouseMove(k.changedTouches[0])}),He(C,"handleTouchStart",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&C.handleMouseDown(k.changedTouches[0])}),He(C,"handleTouchEnd",function(k){k.changedTouches!=null&&k.changedTouches.length>0&&C.handleMouseUp(k.changedTouches[0])}),He(C,"handleDoubleClick",function(k){var T=C.props.onDoubleClick;if(Ke(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"handleContextMenu",function(k){var T=C.props.onContextMenu;if(Ke(T)){var M=C.getMouseInfo(k);T(M,k)}}),He(C,"triggerSyncEvent",function(k){C.props.syncId!==void 0&&YS.emit(KS,C.props.syncId,k,C.eventEmitterSymbol)}),He(C,"applySyncEvent",function(k){var T=C.props,M=T.layout,R=T.syncMethod,B=C.state.updateId,$=k.dataStartIndex,H=k.dataEndIndex;if(k.dataStartIndex!==void 0||k.dataEndIndex!==void 0)C.setState(ve({dataStartIndex:$,dataEndIndex:H},x({props:C.props,dataStartIndex:$,dataEndIndex:H,updateId:B},C.state)));else if(k.activeTooltipIndex!==void 0){var V=k.chartX,q=k.chartY,G=k.activeTooltipIndex,L=C.state,D=L.offset,U=L.tooltipTicks;if(!D)return;if(typeof R=="function")G=R(U,k);else if(R==="value"){G=-1;for(var K=0;K=0){var je,fe;if(V.dataKey&&!V.allowDuplicatedCategory){var Le=typeof V.dataKey=="function"?we:"payload.".concat(V.dataKey.toString());je=Av(K,Le,G),fe=J&&I&&Av(I,Le,G)}else je=K?.[q],fe=J&&I&&I[q];if(ge||ae){var Oe=k.props.activeIndex!==void 0?k.props.activeIndex:q;return[y.cloneElement(k,ve(ve(ve({},R.props),Se),{},{activeIndex:Oe})),null,null]}if(!Qe(je))return[re].concat(ku(C.renderActivePoints({item:R,activePoint:je,basePoint:fe,childIndex:q,isRange:J})))}else{var We,be=(We=C.getItemByXY(C.state.activeCoordinate))!==null&&We!==void 0?We:{graphicalItem:re},Ae=be.graphicalItem,ke=Ae.item,Qt=ke===void 0?k:ke,St=Ae.childIndex,Tt=ve(ve(ve({},R.props),Se),{},{activeIndex:St});return[y.cloneElement(Qt,Tt),null,null]}return J?[re,null,null]:[re,null]}),He(C,"renderCustomized",function(k,T,M){return y.cloneElement(k,ve(ve({key:"recharts-customized-".concat(M)},C.props),C.state))}),He(C,"renderMap",{CartesianGrid:{handler:Vp,once:!0},ReferenceArea:{handler:C.renderReferenceElement},ReferenceLine:{handler:Vp},ReferenceDot:{handler:C.renderReferenceElement},XAxis:{handler:Vp},YAxis:{handler:Vp},Brush:{handler:C.renderBrush,once:!0},Bar:{handler:C.renderGraphicChild},Line:{handler:C.renderGraphicChild},Area:{handler:C.renderGraphicChild},Radar:{handler:C.renderGraphicChild},RadialBar:{handler:C.renderGraphicChild},Scatter:{handler:C.renderGraphicChild},Pie:{handler:C.renderGraphicChild},Funnel:{handler:C.renderGraphicChild},Tooltip:{handler:C.renderCursor,once:!0},PolarGrid:{handler:C.renderPolarGrid,once:!0},PolarAngleAxis:{handler:C.renderPolarAxis},PolarRadiusAxis:{handler:C.renderPolarAxis},Customized:{handler:C.renderCustomized}}),C.clipPathId="".concat((O=E.id)!==null&&O!==void 0?O:Wu("recharts"),"-clip"),C.throttleTriggeredAfterMouseMove=qz(C.triggeredAfterMouseMove,(A=E.throttleDelay)!==null&&A!==void 0?A:1e3/60),C.state={},C}return Upe(N,b),Bpe(N,[{key:"componentDidMount",value:function(){var O,A;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(O=this.props.margin.left)!==null&&O!==void 0?O:0,top:(A=this.props.margin.top)!==null&&A!==void 0?A:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var O=this.props,A=O.children,C=O.data,k=O.height,T=O.layout,M=Qr(A,ii);if(M){var R=M.props.defaultIndex;if(!(typeof R!="number"||R<0||R>this.state.tooltipTicks.length-1)){var B=this.state.tooltipTicks[R]&&this.state.tooltipTicks[R].value,$=YN(this.state,C,R,B),H=this.state.tooltipTicks[R].coordinate,V=(this.state.offset.top+k)/2,q=T==="horizontal",G=q?{x:H,y:V}:{y:H,x:V},L=this.state.formattedGraphicalItems.find(function(U){var K=U.item;return K.type.name==="Scatter"});L&&(G=ve(ve({},G),L.props.points[R].tooltipPosition),$=L.props.points[R].tooltipPayload);var D={activeTooltipIndex:R,isTooltipActive:!0,activeLabel:B,activePayload:$,activeCoordinate:G};this.setState(D),this.renderCursor(M),this.accessibilityManager.setIndex(R)}}}},{key:"getSnapshotBeforeUpdate",value:function(O,A){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==A.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==O.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==O.margin){var C,k;this.accessibilityManager.setDetails({offset:{left:(C=this.props.margin.left)!==null&&C!==void 0?C:0,top:(k=this.props.margin.top)!==null&&k!==void 0?k:0}})}return null}},{key:"componentDidUpdate",value:function(O){T_([Qr(O.children,ii)],[Qr(this.props.children,ii)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var O=Qr(this.props.children,ii);if(O&&typeof O.props.shared=="boolean"){var A=O.props.shared?"axis":"item";return u.indexOf(A)>=0?A:s}return s}},{key:"getMouseInfo",value:function(O){if(!this.container)return null;var A=this.container,C=A.getBoundingClientRect(),k=pre(C),T={chartX:Math.round(O.pageX-k.left),chartY:Math.round(O.pageY-k.top)},M=C.width/A.offsetWidth||1,R=this.inRange(T.chartX,T.chartY,M);if(!R)return null;var B=this.state,$=B.xAxisMap,H=B.yAxisMap,V=this.getTooltipEventType(),q=GI(this.state,this.props.data,this.props.layout,R);if(V!=="axis"&&$&&H){var G=Ws($).scale,L=Ws(H).scale,D=G&&G.invert?G.invert(T.chartX):null,U=L&&L.invert?L.invert(T.chartY):null;return ve(ve({},T),{},{xValue:D,yValue:U},q)}return q?ve(ve({},T),q):null}},{key:"inRange",value:function(O,A){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,k=this.props.layout,T=O/C,M=A/C;if(k==="horizontal"||k==="vertical"){var R=this.state.offset,B=T>=R.left&&T<=R.left+R.width&&M>=R.top&&M<=R.top+R.height;return B?{x:T,y:M}:null}var $=this.state,H=$.angleAxisMap,V=$.radiusAxisMap;if(H&&V){var q=Ws(H);return K3({x:T,y:M},q)}return null}},{key:"parseEventsOfWrapper",value:function(){var O=this.props.children,A=this.getTooltipEventType(),C=Qr(O,ii),k={};C&&A==="axis"&&(C.props.trigger==="click"?k={onClick:this.handleClick}:k={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var T=Tv(this.props,this.handleOuterEvent);return ve(ve({},T),k)}},{key:"addListener",value:function(){YS.on(KS,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){YS.removeListener(KS,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(O,A,C){for(var k=this.state.formattedGraphicalItems,T=0,M=k.length;T");return e}const Dc=y.forwardRef(({id:e,className:t,children:n,config:r,...a},s)=>{const l=y.useId(),u=`chart-${e||l.replace(/:/g,"")}`;return i.jsx(lF.Provider,{value:{config:r},children:i.jsxs("div",{"data-chart":u,ref:s,className:ce("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",t),...a,children:[i.jsx(lve,{id:u,config:r}),i.jsx(lre,{children:n})]})})});Dc.displayName="Chart";const lve=({id:e,config:t})=>{const n=Object.entries(t).filter(([,r])=>r.theme||r.color);return n.length?i.jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(ove).map(([r,a])=>` ${a} [data-chart=${e}] { ${n.map(([s,l])=>{const u=l.theme?.[r]||l.color;return u?` --color-${s}: ${u};`:null}).join(` `)} } `).join(` -`)}}):null},df=ii,$c=y.forwardRef(({active:e,payload:t,className:n,indicator:r="dot",hideLabel:a=!1,hideIndicator:s=!1,label:l,labelFormatter:u,labelClassName:d,formatter:f,color:m,nameKey:p,labelKey:g},x)=>{const{config:j}=cF(),w=y.useMemo(()=>{if(a||!t?.length)return null;const[N]=t,E=`${g||N?.dataKey||N?.name||"value"}`,O=YN(j,N,E),A=!g&&typeof l=="string"?j[l]?.label||l:O?.label;return u?i.jsx("div",{className:ce("font-medium",d),children:u(A,t)}):A?i.jsx("div",{className:ce("font-medium",d),children:A}):null},[l,u,t,a,d,j,g]);if(!e||!t?.length)return null;const b=t.length===1&&r!=="dot";return i.jsxs("div",{ref:x,className:ce("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",n),children:[b?null:w,i.jsx("div",{className:"grid gap-1.5",children:t.filter(N=>N.type!=="none").map((N,E)=>{const O=`${p||N.name||N.dataKey||"value"}`,A=YN(j,N,O),C=m||N.payload.fill||N.color;return i.jsx("div",{className:ce("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",r==="dot"&&"items-center"),children:f&&N?.value!==void 0&&N.name?f(N.value,N.name,N,E,N.payload):i.jsxs(i.Fragment,{children:[A?.icon?i.jsx(A.icon,{}):!s&&i.jsx("div",{className:ce("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":r==="dot","w-1":r==="line","w-0 border-[1.5px] border-dashed bg-transparent":r==="dashed","my-0.5":b&&r==="dashed"}),style:{"--color-bg":C,"--color-border":C}}),i.jsxs("div",{className:ce("flex flex-1 justify-between leading-none",b?"items-end":"items-center"),children:[i.jsxs("div",{className:"grid gap-1.5",children:[b?w:null,i.jsx("span",{className:"text-muted-foreground",children:A?.label||N.name})]}),N.value&&i.jsx("span",{className:"font-mono font-medium tabular-nums text-foreground",children:N.value.toLocaleString()})]})]})},N.dataKey)})})]})});$c.displayName="ChartTooltip";const cve=al,uF=y.forwardRef(({className:e,hideIcon:t=!1,payload:n,verticalAlign:r="bottom",nameKey:a},s)=>{const{config:l}=cF();return n?.length?i.jsx("div",{ref:s,className:ce("flex items-center justify-center gap-4",r==="top"?"pb-3":"pt-3",e),children:n.filter(u=>u.type!=="none").map(u=>{const d=`${a||u.dataKey||"value"}`,f=YN(l,u,d);return i.jsxs("div",{className:ce("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[f?.icon&&!t?i.jsx(f.icon,{}):i.jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:u.color}}),f?.label]},u.value)})}):null});uF.displayName="ChartLegend";function YN(e,t,n){if(typeof t!="object"||t===null)return;const r="payload"in t&&typeof t.payload=="object"&&t.payload!==null?t.payload:void 0;let a=n;return n in t&&typeof t[n]=="string"?a=t[n]:r&&n in r&&typeof r[n]=="string"&&(a=r[n]),a in e?e[a]:e[n]}const uve=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),dve=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase()),XI=e=>{const t=dve(e);return t.charAt(0).toUpperCase()+t.slice(1)},dF=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim(),fve=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};var hve={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const mve=y.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:a="",children:s,iconNode:l,...u},d)=>y.createElement("svg",{ref:d,...hve,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:dF("lucide",a),...!s&&!fve(u)&&{"aria-hidden":"true"},...u},[...l.map(([f,m])=>y.createElement(f,m)),...Array.isArray(s)?s:[s]]));const Ee=(e,t)=>{const n=y.forwardRef(({className:r,...a},s)=>y.createElement(mve,{ref:s,iconNode:t,className:dF(`lucide-${uve(XI(e))}`,`lucide-${e}`,r),...a}));return n.displayName=XI(e),n};const pve=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],vve=Ee("activity",pve);const gve=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],fF=Ee("arrow-left",gve);const yve=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],xve=Ee("arrow-right",yve);const bve=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ZI=Ee("ban",bve);const wve=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],jve=Ee("book-open",wve);const Sve=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],_ve=Ee("bot",Sve);const Nve=[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]],hF=Ee("boxes",Nve);const Cve=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],QI=Ee("calendar",Cve);const Ove=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],Eve=Ee("chart-column",Ove);const Ave=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],ol=Ee("check",Ave);const Tve=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],vh=Ee("chevron-down",Tve);const kve=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],tE=Ee("chevron-left",kve);const Mve=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],nE=Ee("chevron-right",Mve);const Pve=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],KN=Ee("chevron-up",Pve);const Rve=[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]],Dve=Ee("chevrons-up-down",Rve);const $ve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],gl=Ee("circle-alert",$ve);const Ive=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Pr=Ee("circle-check",Ive);const Lve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Bve=Ee("circle-question-mark",Lve);const zve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],mF=Ee("circle-user",zve);const qve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],XN=Ee("circle-x",qve);const Fve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Uve=Ee("circle",Fve);const Hve=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ll=Ee("clock",Hve);const Wve=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],ZN=Ee("copy",Wve);const Vve=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Gve=Ee("database",Vve);const Yve=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],Kve=Ee("dollar-sign",Yve);const Xve=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],QN=Ee("download",Xve);const Zve=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],Mf=Ee("external-link",Zve);const Qve=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],JN=Ee("eye-off",Qve);const Jve=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Va=Ee("eye",Jve);const ege=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]],Og=Ee("file-search",ege);const tge=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],rE=Ee("file-text",tge);const nge=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],eC=Ee("funnel",nge);const rge=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],Eg=Ee("hash",rge);const age=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],Ag=Ee("house",age);const ige=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Mu=Ee("info",ige);const sge=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],oge=Ee("key",sge);const lge=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],gh=Ee("loader-circle",lge);const cge=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],JI=Ee("lock",cge);const uge=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],eL=Ee("log-out",uge);const dge=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],fge=Ee("menu",dge);const hge=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],Gh=Ee("message-square",hge);const mge=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],tC=Ee("moon",mge);const pge=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],Tg=Ee("package",pge);const vge=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],pF=Ee("palette",vge);const gge=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],yge=Ee("pause",gge);const xge=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],Pu=Ee("pencil",xge);const bge=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],wge=Ee("play",bge);const jge=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],ir=Ee("plus",jge);const Sge=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],aE=Ee("power",Sge);const _ge=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],is=Ee("refresh-cw",_ge);const Nge=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Cge=Ee("rotate-ccw",Nge);const Oge=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],Ege=Ee("rotate-cw",Oge);const Age=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],iE=Ee("save",Age);const Tge=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],Lr=Ee("search",Tge);const kge=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],vF=Ee("server",kge);const Mge=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],Pge=Ee("settings-2",Mge);const Rge=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Fa=Ee("settings",Rge);const Dge=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],$ge=Ee("shield",Dge);const Ige=[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]],Lge=Ee("skip-forward",Ige);const Bge=[["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M12 21v-9",key:"17s77i"}],["path",{d:"M12 8V3",key:"13r4qs"}],["path",{d:"M17 16h4",key:"h1uq16"}],["path",{d:"M19 12V3",key:"o1uvq1"}],["path",{d:"M19 21v-5",key:"qua636"}],["path",{d:"M3 14h4",key:"bcjad9"}],["path",{d:"M5 10V3",key:"cb8scm"}],["path",{d:"M5 21v-7",key:"1w1uti"}]],zge=Ee("sliders-vertical",Bge);const qge=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]],sE=Ee("smile",qge);const Fge=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Uge=Ee("sparkles",Fge);const Hge=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],Ru=Ee("square-pen",Hge);const Wge=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],tL=Ee("star",Wge);const Vge=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],nC=Ee("sun",Vge);const Gge=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],Yge=Ee("terminal",Gge);const Kge=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],It=Ee("trash-2",Kge);const Xge=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],Zge=Ee("trending-up",Xge);const Qge=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Kc=Ee("triangle-alert",Qge);const Jge=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],gF=Ee("user",Jge);const eye=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],tye=Ee("users",eye);const nye=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Yh=Ee("x",nye);const rye=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],yh=Ee("zap",rye),nL=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,rL=Je,Zu=(e,t)=>n=>{var r;if(t?.variants==null)return rL(e,n?.class,n?.className);const{variants:a,defaultVariants:s}=t,l=Object.keys(a).map(f=>{const m=n?.[f],p=s?.[f];if(m===null)return null;const g=nL(m)||nL(p);return a[f][g]}),u=n&&Object.entries(n).reduce((f,m)=>{let[p,g]=m;return g===void 0||(f[p]=g),f},{}),d=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((f,m)=>{let{class:p,className:g,...x}=m;return Object.entries(x).every(j=>{let[w,b]=j;return Array.isArray(b)?b.includes({...s,...u}[w]):{...s,...u}[w]===b})?[...f,p,g]:f},[]);return rL(e,l,d,n?.class,n?.className)},xh=Zu("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),oe=y.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...a},s)=>{const l=r?hQ:"button";return i.jsx(l,{className:ce(xh({variant:t,size:n,className:e})),ref:s,...a})});oe.displayName="Button";function aye(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[a,s]=y.useState(0),[l,u]=y.useState(24),[d,f]=y.useState(!0),[m,p]=y.useState(null),[g,x]=y.useState(!0),j=y.useCallback(async()=>{try{x(!0);const R=await vn.get("https://v1.hitokoto.cn/?c=a&c=b&c=c&c=d&c=h&c=i&c=k");p({hitokoto:R.data.hitokoto,from:R.data.from||R.data.from_who||"未知"})}catch(R){console.error("获取一言失败:",R),p({hitokoto:"人生就像一盒巧克力,你永远不知道下一颗是什么味道。",from:"阿甘正传"})}finally{x(!1)}},[]),w=y.useCallback(async()=>{try{const R=localStorage.getItem("access-token"),B=await vn.get(`/api/webui/statistics/dashboard?hours=${l}`,{headers:{Authorization:`Bearer ${R}`}});t(B.data),r(!1),s(100)}catch(R){console.error("Failed to fetch dashboard data:",R),r(!1),s(100)}},[l]);if(y.useEffect(()=>{if(!n)return;s(0);const R=setTimeout(()=>s(15),200),B=setTimeout(()=>s(30),800),$=setTimeout(()=>s(45),2e3),H=setTimeout(()=>s(60),4e3),V=setTimeout(()=>s(75),6500),q=setTimeout(()=>s(85),9e3),G=setTimeout(()=>s(92),11e3);return()=>{clearTimeout(R),clearTimeout(B),clearTimeout($),clearTimeout(H),clearTimeout(V),clearTimeout(q),clearTimeout(G)}},[n]),y.useEffect(()=>{w(),j()},[w,j]),y.useEffect(()=>{if(!d)return;const R=setInterval(()=>{w()},3e4);return()=>clearInterval(R)},[d,w]),n||!e)return i.jsx("div",{className:"flex items-center justify-center h-[calc(100vh-200px)]",children:i.jsxs("div",{className:"text-center space-y-6 w-full max-w-md px-4",children:[i.jsx(is,{className:"h-12 w-12 animate-spin mx-auto text-primary"}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-lg font-medium",children:"加载统计数据中..."}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"正在获取麦麦运行数据"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx($h,{value:a,className:"h-2"}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:[a,"%"]})]})]})});const{summary:b,model_stats:N,hourly_data:E,daily_data:O,recent_activity:A}=e,C=R=>{const B=Math.floor(R/3600),$=Math.floor(R%3600/60);return`${B}小时${$}分钟`},k=R=>new Date(R).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),T=N.slice(0,6).map(R=>({name:R.model_name,value:R.request_count,fill:`hsl(var(--chart-${N.indexOf(R)%5+1}))`})),M={requests:{label:"请求数",color:"hsl(var(--chart-1))"},cost:{label:"花费(¥)",color:"hsl(var(--chart-2))"},tokens:{label:"Tokens",color:"hsl(var(--chart-3))"}};return i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"实时监控面板"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"麦麦运行状态和统计数据一览"})]}),i.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[i.jsx(dl,{value:l.toString(),onValueChange:R=>u(Number(R)),children:i.jsxs(eo,{className:"grid grid-cols-3 w-full sm:w-auto",children:[i.jsx(Rt,{value:"24",children:"24小时"}),i.jsx(Rt,{value:"168",children:"7天"}),i.jsx(Rt,{value:"720",children:"30天"})]})}),i.jsxs(oe,{variant:d?"default":"outline",size:"sm",onClick:()=>f(!d),className:"gap-2",children:[i.jsx(is,{className:`h-4 w-4 ${d?"animate-spin":""}`}),i.jsx("span",{className:"hidden sm:inline",children:"自动刷新"})]}),i.jsx(oe,{variant:"outline",size:"sm",onClick:w,children:i.jsx(is,{className:"h-4 w-4"})})]})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"总请求数"}),i.jsx(vve,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-2xl font-bold",children:b.total_requests.toLocaleString()}),i.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["最近",l<48?l+"小时":Math.floor(l/24)+"天"]})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"总花费"}),i.jsx(Kve,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsxs("div",{className:"text-2xl font-bold",children:["¥",b.total_cost.toFixed(2)]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:b.cost_per_hour>0?`¥${b.cost_per_hour.toFixed(2)}/小时`:"暂无数据"})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"Token消耗"}),i.jsx(Gve,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsxs("div",{className:"text-2xl font-bold",children:[(b.total_tokens/1e3).toFixed(1),"K"]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:b.tokens_per_hour>0?`${(b.tokens_per_hour/1e3).toFixed(1)}K/小时`:"暂无数据"})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"平均响应"}),i.jsx(yh,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsxs("div",{className:"text-2xl font-bold",children:[b.avg_response_time.toFixed(2),"s"]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"API平均耗时"})]})]})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 sm:grid-cols-3",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"在线时长"}),i.jsx(ll,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsx(Ct,{children:i.jsx("div",{className:"text-xl font-bold",children:C(b.online_time)})})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"消息处理"}),i.jsx(Gh,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-xl font-bold",children:b.total_messages.toLocaleString()}),i.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["回复 ",b.total_replies.toLocaleString()," 条"]})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"成本效率"}),i.jsx(Zge,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-xl font-bold",children:b.total_messages>0?`¥${(b.total_cost/b.total_messages*100).toFixed(2)}`:"¥0.00"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"每100条消息"})]})]})]}),i.jsxs(dl,{defaultValue:"trends",className:"space-y-4",children:[i.jsxs(eo,{className:"grid w-full grid-cols-2 sm:grid-cols-4",children:[i.jsx(Rt,{value:"trends",children:"趋势"}),i.jsx(Rt,{value:"models",children:"模型"}),i.jsx(Rt,{value:"activity",children:"活动"}),i.jsx(Rt,{value:"daily",children:"日统计"})]}),i.jsxs(sn,{value:"trends",className:"space-y-4",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"请求趋势"}),i.jsxs(Wn,{children:["最近",l,"小时的请求量变化"]})]}),i.jsx(Ct,{children:i.jsx(Dc,{config:M,className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:i.jsxs(ive,{data:E,children:[i.jsx(gf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Ys,{dataKey:"timestamp",tickFormatter:R=>k(R),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Ki,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(df,{content:i.jsx($c,{labelFormatter:R=>k(R)})}),i.jsx(Vh,{type:"monotone",dataKey:"requests",stroke:"var(--color-requests)",strokeWidth:2})]})})})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"花费趋势"}),i.jsx(Wn,{children:"API调用成本变化"})]}),i.jsx(Ct,{children:i.jsx(Dc,{config:M,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:i.jsxs(XS,{data:E,children:[i.jsx(gf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Ys,{dataKey:"timestamp",tickFormatter:R=>k(R),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Ki,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(df,{content:i.jsx($c,{labelFormatter:R=>k(R)})}),i.jsx(di,{dataKey:"cost",fill:"var(--color-cost)"})]})})})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"Token消耗"}),i.jsx(Wn,{children:"Token使用量变化"})]}),i.jsx(Ct,{children:i.jsx(Dc,{config:M,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:i.jsxs(XS,{data:E,children:[i.jsx(gf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Ys,{dataKey:"timestamp",tickFormatter:R=>k(R),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Ki,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(df,{content:i.jsx($c,{labelFormatter:R=>k(R)})}),i.jsx(di,{dataKey:"tokens",fill:"var(--color-tokens)"})]})})})]})]})]}),i.jsx(sn,{value:"models",className:"space-y-4",children:i.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"模型请求分布"}),i.jsx(Wn,{children:"各模型使用占比"})]}),i.jsx(Ct,{children:i.jsx(Dc,{config:Object.fromEntries(N.slice(0,6).map((R,B)=>[R.model_name,{label:R.model_name,color:`hsl(var(--chart-${B%5+1}))`}])),className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:i.jsxs(sve,{children:[i.jsx(df,{content:i.jsx($c,{})}),i.jsx(ps,{data:T,cx:"50%",cy:"50%",labelLine:!1,label:({name:R,percent:B})=>`${R} ${B?(B*100).toFixed(0):0}%`,outerRadius:100,dataKey:"value",children:T.map((R,B)=>i.jsx(uy,{fill:R.fill},`cell-${B}`))})]})})})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"模型详细统计"}),i.jsx(Wn,{children:"请求数、花费和性能"})]}),i.jsx(Ct,{children:i.jsx(Wt,{className:"h-[300px] sm:h-[400px]",children:i.jsx("div",{className:"space-y-3",children:N.map((R,B)=>i.jsxs("div",{className:"p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[i.jsxs("div",{className:"flex items-center justify-between mb-2",children:[i.jsx("h4",{className:"font-semibold text-sm truncate flex-1 min-w-0",children:R.model_name}),i.jsx("div",{className:"w-3 h-3 rounded-full ml-2 flex-shrink-0",style:{backgroundColor:`hsl(var(--chart-${B%5+1}))`}})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"请求数:"}),i.jsx("span",{className:"ml-1 font-medium",children:R.request_count.toLocaleString()})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"花费:"}),i.jsxs("span",{className:"ml-1 font-medium",children:["¥",R.total_cost.toFixed(2)]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),i.jsxs("span",{className:"ml-1 font-medium",children:[(R.total_tokens/1e3).toFixed(1),"K"]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"平均耗时:"}),i.jsxs("span",{className:"ml-1 font-medium",children:[R.avg_response_time.toFixed(2),"s"]})]})]})]},B))})})})]})]})}),i.jsx(sn,{value:"activity",children:i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"最近活动"}),i.jsx(Wn,{children:"最新的API调用记录"})]}),i.jsx(Ct,{children:i.jsx(Wt,{className:"h-[400px] sm:h-[500px]",children:i.jsx("div",{className:"space-y-2",children:A.map((R,B)=>i.jsxs("div",{className:"p-3 sm:p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-2 mb-2",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"font-medium text-sm truncate",children:R.model}),i.jsx("div",{className:"text-xs text-muted-foreground",children:R.request_type})]}),i.jsx("div",{className:"text-xs text-muted-foreground flex-shrink-0",children:k(R.timestamp)})]}),i.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2 text-xs",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),i.jsx("span",{className:"ml-1",children:R.tokens})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"花费:"}),i.jsxs("span",{className:"ml-1",children:["¥",R.cost.toFixed(4)]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"耗时:"}),i.jsxs("span",{className:"ml-1",children:[R.time_cost.toFixed(2),"s"]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"状态:"}),i.jsx("span",{className:`ml-1 ${R.status==="success"?"text-green-600":"text-red-600"}`,children:R.status})]})]})]},B))})})})]})}),i.jsx(sn,{value:"daily",children:i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"每日统计"}),i.jsx(Wn,{children:"最近7天的数据汇总"})]}),i.jsx(Ct,{children:i.jsx(Dc,{config:{requests:{label:"请求数",color:"hsl(var(--chart-1))"},cost:{label:"花费(¥)",color:"hsl(var(--chart-2))"}},className:"h-[400px] sm:h-[500px] w-full aspect-auto",children:i.jsxs(XS,{data:O,children:[i.jsx(gf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Ys,{dataKey:"timestamp",tickFormatter:R=>{const B=new Date(R);return`${B.getMonth()+1}/${B.getDate()}`},stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Ki,{yAxisId:"left",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Ki,{yAxisId:"right",orientation:"right",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(df,{content:i.jsx($c,{labelFormatter:R=>new Date(R).toLocaleDateString("zh-CN")})}),i.jsx(cve,{content:i.jsx(uF,{})}),i.jsx(di,{yAxisId:"left",dataKey:"requests",fill:"var(--color-requests)"}),i.jsx(di,{yAxisId:"right",dataKey:"cost",fill:"var(--color-cost)"})]})})})]})})]}),i.jsxs(Xe,{className:"border-2 border-primary/20",children:[i.jsx(pt,{className:"pb-3",children:i.jsx(vt,{className:"text-lg",children:"每日一言"})}),i.jsx(Ct,{children:g?i.jsxs("div",{className:"space-y-2",children:[i.jsx(KM,{className:"h-6 w-3/4"}),i.jsx(KM,{className:"h-4 w-1/4"})]}):m?i.jsxs("div",{className:"space-y-2",children:[i.jsxs("p",{className:"text-lg font-medium leading-relaxed italic",children:['"',m.hitokoto,'"']}),i.jsxs("p",{className:"text-sm text-muted-foreground text-right",children:["—— ",m.from]})]}):null})]})]})})}const iye={theme:"system",setTheme:()=>null},yF=y.createContext(iye),oE=()=>{const e=y.useContext(yF);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e},sye=(e,t,n)=>{const r=document.documentElement.classList.contains("no-animations");if(!document.startViewTransition||r){t(e);return}const a=n.clientX,s=n.clientY,l=Math.hypot(Math.max(a,innerWidth-a),Math.max(s,innerHeight-s));document.startViewTransition(()=>{t(e)}).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${a}px ${s}px)`,`circle(${l}px at ${a}px ${s}px)`]},{duration:500,easing:"ease-in-out",pseudoElement:"::view-transition-new(root)"})})},xF=y.createContext(void 0),bF=()=>{const e=y.useContext(xF);if(e===void 0)throw new Error("useAnimation must be used within an AnimationProvider");return e};function Dy(e){const t=y.useRef({value:e,previous:e});return y.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function $y(e){const[t,n]=y.useState(void 0);return Yn(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const s=a[0];let l,u;if("borderBoxSize"in s){const d=s.borderBoxSize,f=Array.isArray(d)?d[0]:d;l=f.inlineSize,u=f.blockSize}else l=e.offsetWidth,u=e.offsetHeight;n({width:l,height:u})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var Iy="Switch",[oye]=gr(Iy),[lye,cye]=oye(Iy),wF=y.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:a,defaultChecked:s,required:l,disabled:u,value:d="on",onCheckedChange:f,form:m,...p}=e,[g,x]=y.useState(null),j=Ue(t,O=>x(O)),w=y.useRef(!1),b=g?m||!!g.closest("form"):!0,[N,E]=Ea({prop:a,defaultProp:s??!1,onChange:f,caller:Iy});return i.jsxs(lye,{scope:n,checked:N,disabled:u,children:[i.jsx($e.button,{type:"button",role:"switch","aria-checked":N,"aria-required":l,"data-state":NF(N),"data-disabled":u?"":void 0,disabled:u,value:d,...p,ref:j,onClick:_e(e.onClick,O=>{E(A=>!A),b&&(w.current=O.isPropagationStopped(),w.current||O.stopPropagation())})}),b&&i.jsx(_F,{control:g,bubbles:!w.current,name:r,value:d,checked:N,required:l,disabled:u,form:m,style:{transform:"translateX(-100%)"}})]})});wF.displayName=Iy;var jF="SwitchThumb",SF=y.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,a=cye(jF,n);return i.jsx($e.span,{"data-state":NF(a.checked),"data-disabled":a.disabled?"":void 0,...r,ref:t})});SF.displayName=jF;var uye="SwitchBubbleInput",_F=y.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...a},s)=>{const l=y.useRef(null),u=Ue(l,s),d=Dy(n),f=$y(t);return y.useEffect(()=>{const m=l.current;if(!m)return;const p=window.HTMLInputElement.prototype,x=Object.getOwnPropertyDescriptor(p,"checked").set;if(d!==n&&x){const j=new Event("click",{bubbles:r});x.call(m,n),m.dispatchEvent(j)}},[d,n,r]),i.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...a,tabIndex:-1,ref:u,style:{...a.style,...f,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});_F.displayName=uye;function NF(e){return e?"checked":"unchecked"}var CF=wF,dye=SF;const lt=y.forwardRef(({className:e,...t},n)=>i.jsx(CF,{className:ce("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:n,children:i.jsx(dye,{className:ce("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));lt.displayName=CF.displayName;var fye=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],hye=fye.reduce((e,t)=>{const n=Dh(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),mye="Label",OF=y.forwardRef((e,t)=>i.jsx(hye.label,{...e,ref:t,onMouseDown:n=>{n.target.closest("button, input, select, textarea")||(e.onMouseDown?.(n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));OF.displayName=mye;var EF=OF;const pye=Zu("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Q=y.forwardRef(({className:e,...t},n)=>i.jsx(EF,{ref:n,className:ce(pye(),e),...t}));Q.displayName=EF.displayName;const Ne=y.forwardRef(({className:e,type:t,...n},r)=>i.jsx("input",{type:t,className:ce("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...n}));Ne.displayName="Input";const vye=1,gye=1e6;let ZS=0;function yye(){return ZS=(ZS+1)%Number.MAX_SAFE_INTEGER,ZS.toString()}const QS=new Map,aL=e=>{if(QS.has(e))return;const t=setTimeout(()=>{QS.delete(e),Pf({type:"REMOVE_TOAST",toastId:e})},gye);QS.set(e,t)},xye=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,vye)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?aL(n):e.toasts.forEach(r=>{aL(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},uv=[];let dv={toasts:[]};function Pf(e){dv=xye(dv,e),uv.forEach(t=>{t(dv)})}function bye({...e}){const t=yye(),n=a=>Pf({type:"UPDATE_TOAST",toast:{...a,id:t}}),r=()=>Pf({type:"DISMISS_TOAST",toastId:t});return Pf({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:a=>{a||r()}}}),{id:t,dismiss:r,update:n}}function yr(){const[e,t]=y.useState(dv);return y.useEffect(()=>(uv.push(t),()=>{const n=uv.indexOf(t);n>-1&&uv.splice(n,1)}),[e]),{...e,toast:bye,dismiss:n=>Pf({type:"DISMISS_TOAST",toastId:n})}}const wye=[{id:"minLength",label:"长度至少 10 位",description:"Token 长度必须大于等于 10 个字符",validate:e=>e.length>=10},{id:"hasUppercase",label:"包含大写字母",description:"至少包含一个大写字母 (A-Z)",validate:e=>/[A-Z]/.test(e)},{id:"hasLowercase",label:"包含小写字母",description:"至少包含一个小写字母 (a-z)",validate:e=>/[a-z]/.test(e)},{id:"hasSpecialChar",label:"包含特殊符号",description:"至少包含一个特殊符号 (!@#$%^&*()_+-=[]{}|;:,.<>?/)",validate:e=>/[!@#$%^&*()_+\-=[\]{}|;:,.<>?/]/.test(e)}];function jye(e){const t=wye.map(r=>({id:r.id,label:r.label,description:r.description,passed:r.validate(e)}));return{isValid:t.every(r=>r.passed),rules:t}}const lE="0.11.5 Beta",cE="MaiBot Dashboard",Sye=`${cE} v${lE}`,_ye=(e="v")=>`${e}${lE}`;function Nye(e,t=globalThis?.document){const n=ln(e);y.useEffect(()=>{const r=a=>{a.key==="Escape"&&n(a)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Cye="DismissableLayer",rC="dismissableLayer.update",Oye="dismissableLayer.pointerDownOutside",Eye="dismissableLayer.focusOutside",iL,AF=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Al=y.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:s,onInteractOutside:l,onDismiss:u,...d}=e,f=y.useContext(AF),[m,p]=y.useState(null),g=m?.ownerDocument??globalThis?.document,[,x]=y.useState({}),j=Ue(t,T=>p(T)),w=Array.from(f.layers),[b]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),N=w.indexOf(b),E=m?w.indexOf(m):-1,O=f.layersWithOutsidePointerEventsDisabled.size>0,A=E>=N,C=Tye(T=>{const M=T.target,R=[...f.branches].some(B=>B.contains(M));!A||R||(a?.(T),l?.(T),T.defaultPrevented||u?.())},g),k=kye(T=>{const M=T.target;[...f.branches].some(B=>B.contains(M))||(s?.(T),l?.(T),T.defaultPrevented||u?.())},g);return Nye(T=>{E===f.layers.size-1&&(r?.(T),!T.defaultPrevented&&u&&(T.preventDefault(),u()))},g),y.useEffect(()=>{if(m)return n&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(iL=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(m)),f.layers.add(m),sL(),()=>{n&&f.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=iL)}},[m,g,n,f]),y.useEffect(()=>()=>{m&&(f.layers.delete(m),f.layersWithOutsidePointerEventsDisabled.delete(m),sL())},[m,f]),y.useEffect(()=>{const T=()=>x({});return document.addEventListener(rC,T),()=>document.removeEventListener(rC,T)},[]),i.jsx($e.div,{...d,ref:j,style:{pointerEvents:O?A?"auto":"none":void 0,...e.style},onFocusCapture:_e(e.onFocusCapture,k.onFocusCapture),onBlurCapture:_e(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:_e(e.onPointerDownCapture,C.onPointerDownCapture)})});Al.displayName=Cye;var Aye="DismissableLayerBranch",TF=y.forwardRef((e,t)=>{const n=y.useContext(AF),r=y.useRef(null),a=Ue(t,r);return y.useEffect(()=>{const s=r.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),i.jsx($e.div,{...e,ref:a})});TF.displayName=Aye;function Tye(e,t=globalThis?.document){const n=ln(e),r=y.useRef(!1),a=y.useRef(()=>{});return y.useEffect(()=>{const s=u=>{if(u.target&&!r.current){let d=function(){kF(Oye,n,f,{discrete:!0})};const f={originalEvent:u};u.pointerType==="touch"?(t.removeEventListener("click",a.current),a.current=d,t.addEventListener("click",a.current,{once:!0})):d()}else t.removeEventListener("click",a.current);r.current=!1},l=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(l),t.removeEventListener("pointerdown",s),t.removeEventListener("click",a.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function kye(e,t=globalThis?.document){const n=ln(e),r=y.useRef(!1);return y.useEffect(()=>{const a=s=>{s.target&&!r.current&&kF(Eye,n,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",a),()=>t.removeEventListener("focusin",a)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function sL(){const e=new CustomEvent(rC);document.dispatchEvent(e)}function kF(e,t,n,{discrete:r}){const a=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?UC(a,s):a.dispatchEvent(s)}var Mye=Al,Pye=TF,JS="focusScope.autoFocusOnMount",e_="focusScope.autoFocusOnUnmount",oL={bubbles:!1,cancelable:!0},Rye="FocusScope",Kh=y.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:s,...l}=e,[u,d]=y.useState(null),f=ln(a),m=ln(s),p=y.useRef(null),g=Ue(t,w=>d(w)),x=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(r){let w=function(O){if(x.paused||!u)return;const A=O.target;u.contains(A)?p.current=A:Us(p.current,{select:!0})},b=function(O){if(x.paused||!u)return;const A=O.relatedTarget;A!==null&&(u.contains(A)||Us(p.current,{select:!0}))},N=function(O){if(document.activeElement===document.body)for(const C of O)C.removedNodes.length>0&&Us(u)};document.addEventListener("focusin",w),document.addEventListener("focusout",b);const E=new MutationObserver(N);return u&&E.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",b),E.disconnect()}}},[r,u,x.paused]),y.useEffect(()=>{if(u){cL.add(x);const w=document.activeElement;if(!u.contains(w)){const N=new CustomEvent(JS,oL);u.addEventListener(JS,f),u.dispatchEvent(N),N.defaultPrevented||(Dye(zye(MF(u)),{select:!0}),document.activeElement===w&&Us(u))}return()=>{u.removeEventListener(JS,f),setTimeout(()=>{const N=new CustomEvent(e_,oL);u.addEventListener(e_,m),u.dispatchEvent(N),N.defaultPrevented||Us(w??document.body,{select:!0}),u.removeEventListener(e_,m),cL.remove(x)},0)}}},[u,f,m,x]);const j=y.useCallback(w=>{if(!n&&!r||x.paused)return;const b=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,N=document.activeElement;if(b&&N){const E=w.currentTarget,[O,A]=$ye(E);O&&A?!w.shiftKey&&N===A?(w.preventDefault(),n&&Us(O,{select:!0})):w.shiftKey&&N===O&&(w.preventDefault(),n&&Us(A,{select:!0})):N===E&&w.preventDefault()}},[n,r,x.paused]);return i.jsx($e.div,{tabIndex:-1,...l,ref:g,onKeyDown:j})});Kh.displayName=Rye;function Dye(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Us(r,{select:t}),document.activeElement!==n)return}function $ye(e){const t=MF(e),n=lL(t,e),r=lL(t.reverse(),e);return[n,r]}function MF(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function lL(e,t){for(const n of e)if(!Iye(n,{upTo:t}))return n}function Iye(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Lye(e){return e instanceof HTMLInputElement&&"select"in e}function Us(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Lye(e)&&t&&e.select()}}var cL=Bye();function Bye(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=uL(e,t),e.unshift(t)},remove(t){e=uL(e,t),e[0]?.resume()}}}function uL(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function zye(e){return e.filter(t=>t.tagName!=="A")}var qye="Portal",Tl=y.forwardRef((e,t)=>{const{container:n,...r}=e,[a,s]=y.useState(!1);Yn(()=>s(!0),[]);const l=n||a&&globalThis?.document?.body;return l?NY.createPortal(i.jsx($e.div,{...r,ref:t}),l):null});Tl.displayName=qye;var t_=0;function Ly(){y.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??dL()),document.body.insertAdjacentElement("beforeend",e[1]??dL()),t_++,()=>{t_===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),t_--}},[])}function dL(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var si=function(){return si=Object.assign||function(t){for(var n,r=1,a=arguments.length;r"u")return axe;var t=ixe(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},oxe=$F(),Xc="data-scroll-locked",lxe=function(e,t,n,r){var a=e.left,s=e.top,l=e.right,u=e.gap;return n===void 0&&(n="margin"),` +`)}}):null},df=ii,$c=y.forwardRef(({active:e,payload:t,className:n,indicator:r="dot",hideLabel:a=!1,hideIndicator:s=!1,label:l,labelFormatter:u,labelClassName:d,formatter:f,color:m,nameKey:p,labelKey:g},x)=>{const{config:j}=cF(),w=y.useMemo(()=>{if(a||!t?.length)return null;const[N]=t,E=`${g||N?.dataKey||N?.name||"value"}`,O=KN(j,N,E),A=!g&&typeof l=="string"?j[l]?.label||l:O?.label;return u?i.jsx("div",{className:ce("font-medium",d),children:u(A,t)}):A?i.jsx("div",{className:ce("font-medium",d),children:A}):null},[l,u,t,a,d,j,g]);if(!e||!t?.length)return null;const b=t.length===1&&r!=="dot";return i.jsxs("div",{ref:x,className:ce("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",n),children:[b?null:w,i.jsx("div",{className:"grid gap-1.5",children:t.filter(N=>N.type!=="none").map((N,E)=>{const O=`${p||N.name||N.dataKey||"value"}`,A=KN(j,N,O),C=m||N.payload.fill||N.color;return i.jsx("div",{className:ce("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",r==="dot"&&"items-center"),children:f&&N?.value!==void 0&&N.name?f(N.value,N.name,N,E,N.payload):i.jsxs(i.Fragment,{children:[A?.icon?i.jsx(A.icon,{}):!s&&i.jsx("div",{className:ce("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":r==="dot","w-1":r==="line","w-0 border-[1.5px] border-dashed bg-transparent":r==="dashed","my-0.5":b&&r==="dashed"}),style:{"--color-bg":C,"--color-border":C}}),i.jsxs("div",{className:ce("flex flex-1 justify-between leading-none",b?"items-end":"items-center"),children:[i.jsxs("div",{className:"grid gap-1.5",children:[b?w:null,i.jsx("span",{className:"text-muted-foreground",children:A?.label||N.name})]}),N.value&&i.jsx("span",{className:"font-mono font-medium tabular-nums text-foreground",children:N.value.toLocaleString()})]})]})},N.dataKey)})})]})});$c.displayName="ChartTooltip";const cve=al,uF=y.forwardRef(({className:e,hideIcon:t=!1,payload:n,verticalAlign:r="bottom",nameKey:a},s)=>{const{config:l}=cF();return n?.length?i.jsx("div",{ref:s,className:ce("flex items-center justify-center gap-4",r==="top"?"pb-3":"pt-3",e),children:n.filter(u=>u.type!=="none").map(u=>{const d=`${a||u.dataKey||"value"}`,f=KN(l,u,d);return i.jsxs("div",{className:ce("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[f?.icon&&!t?i.jsx(f.icon,{}):i.jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:u.color}}),f?.label]},u.value)})}):null});uF.displayName="ChartLegend";function KN(e,t,n){if(typeof t!="object"||t===null)return;const r="payload"in t&&typeof t.payload=="object"&&t.payload!==null?t.payload:void 0;let a=n;return n in t&&typeof t[n]=="string"?a=t[n]:r&&n in r&&typeof r[n]=="string"&&(a=r[n]),a in e?e[a]:e[n]}const uve=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),dve=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase()),XI=e=>{const t=dve(e);return t.charAt(0).toUpperCase()+t.slice(1)},dF=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim(),fve=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};var hve={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const mve=y.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:a="",children:s,iconNode:l,...u},d)=>y.createElement("svg",{ref:d,...hve,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:dF("lucide",a),...!s&&!fve(u)&&{"aria-hidden":"true"},...u},[...l.map(([f,m])=>y.createElement(f,m)),...Array.isArray(s)?s:[s]]));const Ee=(e,t)=>{const n=y.forwardRef(({className:r,...a},s)=>y.createElement(mve,{ref:s,iconNode:t,className:dF(`lucide-${uve(XI(e))}`,`lucide-${e}`,r),...a}));return n.displayName=XI(e),n};const pve=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],vve=Ee("activity",pve);const gve=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],fF=Ee("arrow-left",gve);const yve=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],xve=Ee("arrow-right",yve);const bve=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ZI=Ee("ban",bve);const wve=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],jve=Ee("book-open",wve);const Sve=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],_ve=Ee("bot",Sve);const Nve=[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]],hF=Ee("boxes",Nve);const Cve=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],QI=Ee("calendar",Cve);const Ove=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],Eve=Ee("chart-column",Ove);const Ave=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],ol=Ee("check",Ave);const Tve=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],vh=Ee("chevron-down",Tve);const kve=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],nE=Ee("chevron-left",kve);const Mve=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],rE=Ee("chevron-right",Mve);const Pve=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],XN=Ee("chevron-up",Pve);const Rve=[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]],Dve=Ee("chevrons-up-down",Rve);const $ve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],gl=Ee("circle-alert",$ve);const Ive=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Pr=Ee("circle-check",Ive);const Lve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Bve=Ee("circle-question-mark",Lve);const zve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],mF=Ee("circle-user",zve);const qve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],ZN=Ee("circle-x",qve);const Fve=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Uve=Ee("circle",Fve);const Hve=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ll=Ee("clock",Hve);const Wve=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],QN=Ee("copy",Wve);const Vve=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Gve=Ee("database",Vve);const Yve=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],Kve=Ee("dollar-sign",Yve);const Xve=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],JN=Ee("download",Xve);const Zve=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],Mf=Ee("external-link",Zve);const Qve=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],eC=Ee("eye-off",Qve);const Jve=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Va=Ee("eye",Jve);const ege=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]],Og=Ee("file-search",ege);const tge=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],aE=Ee("file-text",tge);const nge=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],tC=Ee("funnel",nge);const rge=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],Eg=Ee("hash",rge);const age=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],Ag=Ee("house",age);const ige=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Mu=Ee("info",ige);const sge=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],oge=Ee("key",sge);const lge=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],gh=Ee("loader-circle",lge);const cge=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],JI=Ee("lock",cge);const uge=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],eL=Ee("log-out",uge);const dge=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],fge=Ee("menu",dge);const hge=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],Gh=Ee("message-square",hge);const mge=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],nC=Ee("moon",mge);const pge=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],Tg=Ee("package",pge);const vge=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],pF=Ee("palette",vge);const gge=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],yge=Ee("pause",gge);const xge=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],Pu=Ee("pencil",xge);const bge=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],wge=Ee("play",bge);const jge=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],ir=Ee("plus",jge);const Sge=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],iE=Ee("power",Sge);const _ge=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],is=Ee("refresh-cw",_ge);const Nge=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Cge=Ee("rotate-ccw",Nge);const Oge=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],Ege=Ee("rotate-cw",Oge);const Age=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],sE=Ee("save",Age);const Tge=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],Lr=Ee("search",Tge);const kge=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],vF=Ee("server",kge);const Mge=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],Pge=Ee("settings-2",Mge);const Rge=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Fa=Ee("settings",Rge);const Dge=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],$ge=Ee("shield",Dge);const Ige=[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]],Lge=Ee("skip-forward",Ige);const Bge=[["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M12 21v-9",key:"17s77i"}],["path",{d:"M12 8V3",key:"13r4qs"}],["path",{d:"M17 16h4",key:"h1uq16"}],["path",{d:"M19 12V3",key:"o1uvq1"}],["path",{d:"M19 21v-5",key:"qua636"}],["path",{d:"M3 14h4",key:"bcjad9"}],["path",{d:"M5 10V3",key:"cb8scm"}],["path",{d:"M5 21v-7",key:"1w1uti"}]],zge=Ee("sliders-vertical",Bge);const qge=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]],oE=Ee("smile",qge);const Fge=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Uge=Ee("sparkles",Fge);const Hge=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],Ru=Ee("square-pen",Hge);const Wge=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],tL=Ee("star",Wge);const Vge=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],rC=Ee("sun",Vge);const Gge=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],Yge=Ee("terminal",Gge);const Kge=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],It=Ee("trash-2",Kge);const Xge=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],Zge=Ee("trending-up",Xge);const Qge=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Kc=Ee("triangle-alert",Qge);const Jge=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],gF=Ee("user",Jge);const eye=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],tye=Ee("users",eye);const nye=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Yh=Ee("x",nye);const rye=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],yh=Ee("zap",rye),nL=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,rL=Je,Zu=(e,t)=>n=>{var r;if(t?.variants==null)return rL(e,n?.class,n?.className);const{variants:a,defaultVariants:s}=t,l=Object.keys(a).map(f=>{const m=n?.[f],p=s?.[f];if(m===null)return null;const g=nL(m)||nL(p);return a[f][g]}),u=n&&Object.entries(n).reduce((f,m)=>{let[p,g]=m;return g===void 0||(f[p]=g),f},{}),d=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((f,m)=>{let{class:p,className:g,...x}=m;return Object.entries(x).every(j=>{let[w,b]=j;return Array.isArray(b)?b.includes({...s,...u}[w]):{...s,...u}[w]===b})?[...f,p,g]:f},[]);return rL(e,l,d,n?.class,n?.className)},xh=Zu("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),oe=y.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...a},s)=>{const l=r?hQ:"button";return i.jsx(l,{className:ce(xh({variant:t,size:n,className:e})),ref:s,...a})});oe.displayName="Button";function aye(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[a,s]=y.useState(0),[l,u]=y.useState(24),[d,f]=y.useState(!0),[m,p]=y.useState(null),[g,x]=y.useState(!0),j=y.useCallback(async()=>{try{x(!0);const R=await vn.get("https://v1.hitokoto.cn/?c=a&c=b&c=c&c=d&c=h&c=i&c=k");p({hitokoto:R.data.hitokoto,from:R.data.from||R.data.from_who||"未知"})}catch(R){console.error("获取一言失败:",R),p({hitokoto:"人生就像一盒巧克力,你永远不知道下一颗是什么味道。",from:"阿甘正传"})}finally{x(!1)}},[]),w=y.useCallback(async()=>{try{const R=localStorage.getItem("access-token"),B=await vn.get(`/api/webui/statistics/dashboard?hours=${l}`,{headers:{Authorization:`Bearer ${R}`}});t(B.data),r(!1),s(100)}catch(R){console.error("Failed to fetch dashboard data:",R),r(!1),s(100)}},[l]);if(y.useEffect(()=>{if(!n)return;s(0);const R=setTimeout(()=>s(15),200),B=setTimeout(()=>s(30),800),$=setTimeout(()=>s(45),2e3),H=setTimeout(()=>s(60),4e3),V=setTimeout(()=>s(75),6500),q=setTimeout(()=>s(85),9e3),G=setTimeout(()=>s(92),11e3);return()=>{clearTimeout(R),clearTimeout(B),clearTimeout($),clearTimeout(H),clearTimeout(V),clearTimeout(q),clearTimeout(G)}},[n]),y.useEffect(()=>{w(),j()},[w,j]),y.useEffect(()=>{if(!d)return;const R=setInterval(()=>{w()},3e4);return()=>clearInterval(R)},[d,w]),n||!e)return i.jsx("div",{className:"flex items-center justify-center h-[calc(100vh-200px)]",children:i.jsxs("div",{className:"text-center space-y-6 w-full max-w-md px-4",children:[i.jsx(is,{className:"h-12 w-12 animate-spin mx-auto text-primary"}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-lg font-medium",children:"加载统计数据中..."}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"正在获取麦麦运行数据"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx($h,{value:a,className:"h-2"}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:[a,"%"]})]})]})});const{summary:b,model_stats:N,hourly_data:E,daily_data:O,recent_activity:A}=e,C=R=>{const B=Math.floor(R/3600),$=Math.floor(R%3600/60);return`${B}小时${$}分钟`},k=R=>new Date(R).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),T=N.slice(0,6).map(R=>({name:R.model_name,value:R.request_count,fill:`hsl(var(--chart-${N.indexOf(R)%5+1}))`})),M={requests:{label:"请求数",color:"hsl(var(--chart-1))"},cost:{label:"花费(¥)",color:"hsl(var(--chart-2))"},tokens:{label:"Tokens",color:"hsl(var(--chart-3))"}};return i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"实时监控面板"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"麦麦运行状态和统计数据一览"})]}),i.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[i.jsx(dl,{value:l.toString(),onValueChange:R=>u(Number(R)),children:i.jsxs(eo,{className:"grid grid-cols-3 w-full sm:w-auto",children:[i.jsx(Rt,{value:"24",children:"24小时"}),i.jsx(Rt,{value:"168",children:"7天"}),i.jsx(Rt,{value:"720",children:"30天"})]})}),i.jsxs(oe,{variant:d?"default":"outline",size:"sm",onClick:()=>f(!d),className:"gap-2",children:[i.jsx(is,{className:`h-4 w-4 ${d?"animate-spin":""}`}),i.jsx("span",{className:"hidden sm:inline",children:"自动刷新"})]}),i.jsx(oe,{variant:"outline",size:"sm",onClick:w,children:i.jsx(is,{className:"h-4 w-4"})})]})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"总请求数"}),i.jsx(vve,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-2xl font-bold",children:b.total_requests.toLocaleString()}),i.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["最近",l<48?l+"小时":Math.floor(l/24)+"天"]})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"总花费"}),i.jsx(Kve,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsxs("div",{className:"text-2xl font-bold",children:["¥",b.total_cost.toFixed(2)]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:b.cost_per_hour>0?`¥${b.cost_per_hour.toFixed(2)}/小时`:"暂无数据"})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"Token消耗"}),i.jsx(Gve,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsxs("div",{className:"text-2xl font-bold",children:[(b.total_tokens/1e3).toFixed(1),"K"]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:b.tokens_per_hour>0?`${(b.tokens_per_hour/1e3).toFixed(1)}K/小时`:"暂无数据"})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"平均响应"}),i.jsx(yh,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsxs("div",{className:"text-2xl font-bold",children:[b.avg_response_time.toFixed(2),"s"]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"API平均耗时"})]})]})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 sm:grid-cols-3",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"在线时长"}),i.jsx(ll,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsx(Ct,{children:i.jsx("div",{className:"text-xl font-bold",children:C(b.online_time)})})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"消息处理"}),i.jsx(Gh,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-xl font-bold",children:b.total_messages.toLocaleString()}),i.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["回复 ",b.total_replies.toLocaleString()," 条"]})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"成本效率"}),i.jsx(Zge,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-xl font-bold",children:b.total_messages>0?`¥${(b.total_cost/b.total_messages*100).toFixed(2)}`:"¥0.00"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"每100条消息"})]})]})]}),i.jsxs(dl,{defaultValue:"trends",className:"space-y-4",children:[i.jsxs(eo,{className:"grid w-full grid-cols-2 sm:grid-cols-4",children:[i.jsx(Rt,{value:"trends",children:"趋势"}),i.jsx(Rt,{value:"models",children:"模型"}),i.jsx(Rt,{value:"activity",children:"活动"}),i.jsx(Rt,{value:"daily",children:"日统计"})]}),i.jsxs(sn,{value:"trends",className:"space-y-4",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"请求趋势"}),i.jsxs(Wn,{children:["最近",l,"小时的请求量变化"]})]}),i.jsx(Ct,{children:i.jsx(Dc,{config:M,className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:i.jsxs(ive,{data:E,children:[i.jsx(gf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Ys,{dataKey:"timestamp",tickFormatter:R=>k(R),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Ki,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(df,{content:i.jsx($c,{labelFormatter:R=>k(R)})}),i.jsx(Vh,{type:"monotone",dataKey:"requests",stroke:"var(--color-requests)",strokeWidth:2})]})})})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"花费趋势"}),i.jsx(Wn,{children:"API调用成本变化"})]}),i.jsx(Ct,{children:i.jsx(Dc,{config:M,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:i.jsxs(ZS,{data:E,children:[i.jsx(gf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Ys,{dataKey:"timestamp",tickFormatter:R=>k(R),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Ki,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(df,{content:i.jsx($c,{labelFormatter:R=>k(R)})}),i.jsx(di,{dataKey:"cost",fill:"var(--color-cost)"})]})})})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"Token消耗"}),i.jsx(Wn,{children:"Token使用量变化"})]}),i.jsx(Ct,{children:i.jsx(Dc,{config:M,className:"h-[250px] sm:h-[300px] w-full aspect-auto",children:i.jsxs(ZS,{data:E,children:[i.jsx(gf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Ys,{dataKey:"timestamp",tickFormatter:R=>k(R),angle:-45,textAnchor:"end",height:60,stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Ki,{stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(df,{content:i.jsx($c,{labelFormatter:R=>k(R)})}),i.jsx(di,{dataKey:"tokens",fill:"var(--color-tokens)"})]})})})]})]})]}),i.jsx(sn,{value:"models",className:"space-y-4",children:i.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"模型请求分布"}),i.jsx(Wn,{children:"各模型使用占比"})]}),i.jsx(Ct,{children:i.jsx(Dc,{config:Object.fromEntries(N.slice(0,6).map((R,B)=>[R.model_name,{label:R.model_name,color:`hsl(var(--chart-${B%5+1}))`}])),className:"h-[300px] sm:h-[400px] w-full aspect-auto",children:i.jsxs(sve,{children:[i.jsx(df,{content:i.jsx($c,{})}),i.jsx(ps,{data:T,cx:"50%",cy:"50%",labelLine:!1,label:({name:R,percent:B})=>`${R} ${B?(B*100).toFixed(0):0}%`,outerRadius:100,dataKey:"value",children:T.map((R,B)=>i.jsx(uy,{fill:R.fill},`cell-${B}`))})]})})})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"模型详细统计"}),i.jsx(Wn,{children:"请求数、花费和性能"})]}),i.jsx(Ct,{children:i.jsx(Wt,{className:"h-[300px] sm:h-[400px]",children:i.jsx("div",{className:"space-y-3",children:N.map((R,B)=>i.jsxs("div",{className:"p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[i.jsxs("div",{className:"flex items-center justify-between mb-2",children:[i.jsx("h4",{className:"font-semibold text-sm truncate flex-1 min-w-0",children:R.model_name}),i.jsx("div",{className:"w-3 h-3 rounded-full ml-2 flex-shrink-0",style:{backgroundColor:`hsl(var(--chart-${B%5+1}))`}})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"请求数:"}),i.jsx("span",{className:"ml-1 font-medium",children:R.request_count.toLocaleString()})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"花费:"}),i.jsxs("span",{className:"ml-1 font-medium",children:["¥",R.total_cost.toFixed(2)]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),i.jsxs("span",{className:"ml-1 font-medium",children:[(R.total_tokens/1e3).toFixed(1),"K"]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"平均耗时:"}),i.jsxs("span",{className:"ml-1 font-medium",children:[R.avg_response_time.toFixed(2),"s"]})]})]})]},B))})})})]})]})}),i.jsx(sn,{value:"activity",children:i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"最近活动"}),i.jsx(Wn,{children:"最新的API调用记录"})]}),i.jsx(Ct,{children:i.jsx(Wt,{className:"h-[400px] sm:h-[500px]",children:i.jsx("div",{className:"space-y-2",children:A.map((R,B)=>i.jsxs("div",{className:"p-3 sm:p-4 rounded-lg border bg-card hover:bg-accent/50 transition-colors",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-2 mb-2",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"font-medium text-sm truncate",children:R.model}),i.jsx("div",{className:"text-xs text-muted-foreground",children:R.request_type})]}),i.jsx("div",{className:"text-xs text-muted-foreground flex-shrink-0",children:k(R.timestamp)})]}),i.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2 text-xs",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"Tokens:"}),i.jsx("span",{className:"ml-1",children:R.tokens})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"花费:"}),i.jsxs("span",{className:"ml-1",children:["¥",R.cost.toFixed(4)]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"耗时:"}),i.jsxs("span",{className:"ml-1",children:[R.time_cost.toFixed(2),"s"]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground",children:"状态:"}),i.jsx("span",{className:`ml-1 ${R.status==="success"?"text-green-600":"text-red-600"}`,children:R.status})]})]})]},B))})})})]})}),i.jsx(sn,{value:"daily",children:i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"每日统计"}),i.jsx(Wn,{children:"最近7天的数据汇总"})]}),i.jsx(Ct,{children:i.jsx(Dc,{config:{requests:{label:"请求数",color:"hsl(var(--chart-1))"},cost:{label:"花费(¥)",color:"hsl(var(--chart-2))"}},className:"h-[400px] sm:h-[500px] w-full aspect-auto",children:i.jsxs(ZS,{data:O,children:[i.jsx(gf,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground) / 0.2)"}),i.jsx(Ys,{dataKey:"timestamp",tickFormatter:R=>{const B=new Date(R);return`${B.getMonth()+1}/${B.getDate()}`},stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Ki,{yAxisId:"left",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(Ki,{yAxisId:"right",orientation:"right",stroke:"hsl(var(--muted-foreground))",tick:{fill:"hsl(var(--muted-foreground))"}}),i.jsx(df,{content:i.jsx($c,{labelFormatter:R=>new Date(R).toLocaleDateString("zh-CN")})}),i.jsx(cve,{content:i.jsx(uF,{})}),i.jsx(di,{yAxisId:"left",dataKey:"requests",fill:"var(--color-requests)"}),i.jsx(di,{yAxisId:"right",dataKey:"cost",fill:"var(--color-cost)"})]})})})]})})]}),i.jsxs(Xe,{className:"border-2 border-primary/20",children:[i.jsx(pt,{className:"pb-3",children:i.jsx(vt,{className:"text-lg",children:"每日一言"})}),i.jsx(Ct,{children:g?i.jsxs("div",{className:"space-y-2",children:[i.jsx(KM,{className:"h-6 w-3/4"}),i.jsx(KM,{className:"h-4 w-1/4"})]}):m?i.jsxs("div",{className:"space-y-2",children:[i.jsxs("p",{className:"text-lg font-medium leading-relaxed italic",children:['"',m.hitokoto,'"']}),i.jsxs("p",{className:"text-sm text-muted-foreground text-right",children:["—— ",m.from]})]}):null})]})]})})}const iye={theme:"system",setTheme:()=>null},yF=y.createContext(iye),lE=()=>{const e=y.useContext(yF);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e},sye=(e,t,n)=>{const r=document.documentElement.classList.contains("no-animations");if(!document.startViewTransition||r){t(e);return}const a=n.clientX,s=n.clientY,l=Math.hypot(Math.max(a,innerWidth-a),Math.max(s,innerHeight-s));document.startViewTransition(()=>{t(e)}).ready.then(()=>{document.documentElement.animate({clipPath:[`circle(0px at ${a}px ${s}px)`,`circle(${l}px at ${a}px ${s}px)`]},{duration:500,easing:"ease-in-out",pseudoElement:"::view-transition-new(root)"})})},xF=y.createContext(void 0),bF=()=>{const e=y.useContext(xF);if(e===void 0)throw new Error("useAnimation must be used within an AnimationProvider");return e};function Dy(e){const t=y.useRef({value:e,previous:e});return y.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function $y(e){const[t,n]=y.useState(void 0);return Yn(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const s=a[0];let l,u;if("borderBoxSize"in s){const d=s.borderBoxSize,f=Array.isArray(d)?d[0]:d;l=f.inlineSize,u=f.blockSize}else l=e.offsetWidth,u=e.offsetHeight;n({width:l,height:u})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var Iy="Switch",[oye]=gr(Iy),[lye,cye]=oye(Iy),wF=y.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:a,defaultChecked:s,required:l,disabled:u,value:d="on",onCheckedChange:f,form:m,...p}=e,[g,x]=y.useState(null),j=Ue(t,O=>x(O)),w=y.useRef(!1),b=g?m||!!g.closest("form"):!0,[N,E]=Ea({prop:a,defaultProp:s??!1,onChange:f,caller:Iy});return i.jsxs(lye,{scope:n,checked:N,disabled:u,children:[i.jsx($e.button,{type:"button",role:"switch","aria-checked":N,"aria-required":l,"data-state":NF(N),"data-disabled":u?"":void 0,disabled:u,value:d,...p,ref:j,onClick:_e(e.onClick,O=>{E(A=>!A),b&&(w.current=O.isPropagationStopped(),w.current||O.stopPropagation())})}),b&&i.jsx(_F,{control:g,bubbles:!w.current,name:r,value:d,checked:N,required:l,disabled:u,form:m,style:{transform:"translateX(-100%)"}})]})});wF.displayName=Iy;var jF="SwitchThumb",SF=y.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,a=cye(jF,n);return i.jsx($e.span,{"data-state":NF(a.checked),"data-disabled":a.disabled?"":void 0,...r,ref:t})});SF.displayName=jF;var uye="SwitchBubbleInput",_F=y.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...a},s)=>{const l=y.useRef(null),u=Ue(l,s),d=Dy(n),f=$y(t);return y.useEffect(()=>{const m=l.current;if(!m)return;const p=window.HTMLInputElement.prototype,x=Object.getOwnPropertyDescriptor(p,"checked").set;if(d!==n&&x){const j=new Event("click",{bubbles:r});x.call(m,n),m.dispatchEvent(j)}},[d,n,r]),i.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...a,tabIndex:-1,ref:u,style:{...a.style,...f,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});_F.displayName=uye;function NF(e){return e?"checked":"unchecked"}var CF=wF,dye=SF;const lt=y.forwardRef(({className:e,...t},n)=>i.jsx(CF,{className:ce("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:n,children:i.jsx(dye,{className:ce("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));lt.displayName=CF.displayName;var fye=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],hye=fye.reduce((e,t)=>{const n=Dh(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),mye="Label",OF=y.forwardRef((e,t)=>i.jsx(hye.label,{...e,ref:t,onMouseDown:n=>{n.target.closest("button, input, select, textarea")||(e.onMouseDown?.(n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));OF.displayName=mye;var EF=OF;const pye=Zu("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Q=y.forwardRef(({className:e,...t},n)=>i.jsx(EF,{ref:n,className:ce(pye(),e),...t}));Q.displayName=EF.displayName;const Ne=y.forwardRef(({className:e,type:t,...n},r)=>i.jsx("input",{type:t,className:ce("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...n}));Ne.displayName="Input";const vye=1,gye=1e6;let QS=0;function yye(){return QS=(QS+1)%Number.MAX_SAFE_INTEGER,QS.toString()}const JS=new Map,aL=e=>{if(JS.has(e))return;const t=setTimeout(()=>{JS.delete(e),Pf({type:"REMOVE_TOAST",toastId:e})},gye);JS.set(e,t)},xye=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,vye)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?aL(n):e.toasts.forEach(r=>{aL(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},uv=[];let dv={toasts:[]};function Pf(e){dv=xye(dv,e),uv.forEach(t=>{t(dv)})}function bye({...e}){const t=yye(),n=a=>Pf({type:"UPDATE_TOAST",toast:{...a,id:t}}),r=()=>Pf({type:"DISMISS_TOAST",toastId:t});return Pf({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:a=>{a||r()}}}),{id:t,dismiss:r,update:n}}function yr(){const[e,t]=y.useState(dv);return y.useEffect(()=>(uv.push(t),()=>{const n=uv.indexOf(t);n>-1&&uv.splice(n,1)}),[e]),{...e,toast:bye,dismiss:n=>Pf({type:"DISMISS_TOAST",toastId:n})}}const wye=[{id:"minLength",label:"长度至少 10 位",description:"Token 长度必须大于等于 10 个字符",validate:e=>e.length>=10},{id:"hasUppercase",label:"包含大写字母",description:"至少包含一个大写字母 (A-Z)",validate:e=>/[A-Z]/.test(e)},{id:"hasLowercase",label:"包含小写字母",description:"至少包含一个小写字母 (a-z)",validate:e=>/[a-z]/.test(e)},{id:"hasSpecialChar",label:"包含特殊符号",description:"至少包含一个特殊符号 (!@#$%^&*()_+-=[]{}|;:,.<>?/)",validate:e=>/[!@#$%^&*()_+\-=[\]{}|;:,.<>?/]/.test(e)}];function jye(e){const t=wye.map(r=>({id:r.id,label:r.label,description:r.description,passed:r.validate(e)}));return{isValid:t.every(r=>r.passed),rules:t}}const cE="0.11.5 Beta",uE="MaiBot Dashboard",Sye=`${uE} v${cE}`,_ye=(e="v")=>`${e}${cE}`;function Nye(e,t=globalThis?.document){const n=ln(e);y.useEffect(()=>{const r=a=>{a.key==="Escape"&&n(a)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Cye="DismissableLayer",aC="dismissableLayer.update",Oye="dismissableLayer.pointerDownOutside",Eye="dismissableLayer.focusOutside",iL,AF=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Al=y.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:s,onInteractOutside:l,onDismiss:u,...d}=e,f=y.useContext(AF),[m,p]=y.useState(null),g=m?.ownerDocument??globalThis?.document,[,x]=y.useState({}),j=Ue(t,T=>p(T)),w=Array.from(f.layers),[b]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),N=w.indexOf(b),E=m?w.indexOf(m):-1,O=f.layersWithOutsidePointerEventsDisabled.size>0,A=E>=N,C=Tye(T=>{const M=T.target,R=[...f.branches].some(B=>B.contains(M));!A||R||(a?.(T),l?.(T),T.defaultPrevented||u?.())},g),k=kye(T=>{const M=T.target;[...f.branches].some(B=>B.contains(M))||(s?.(T),l?.(T),T.defaultPrevented||u?.())},g);return Nye(T=>{E===f.layers.size-1&&(r?.(T),!T.defaultPrevented&&u&&(T.preventDefault(),u()))},g),y.useEffect(()=>{if(m)return n&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(iL=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(m)),f.layers.add(m),sL(),()=>{n&&f.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=iL)}},[m,g,n,f]),y.useEffect(()=>()=>{m&&(f.layers.delete(m),f.layersWithOutsidePointerEventsDisabled.delete(m),sL())},[m,f]),y.useEffect(()=>{const T=()=>x({});return document.addEventListener(aC,T),()=>document.removeEventListener(aC,T)},[]),i.jsx($e.div,{...d,ref:j,style:{pointerEvents:O?A?"auto":"none":void 0,...e.style},onFocusCapture:_e(e.onFocusCapture,k.onFocusCapture),onBlurCapture:_e(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:_e(e.onPointerDownCapture,C.onPointerDownCapture)})});Al.displayName=Cye;var Aye="DismissableLayerBranch",TF=y.forwardRef((e,t)=>{const n=y.useContext(AF),r=y.useRef(null),a=Ue(t,r);return y.useEffect(()=>{const s=r.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),i.jsx($e.div,{...e,ref:a})});TF.displayName=Aye;function Tye(e,t=globalThis?.document){const n=ln(e),r=y.useRef(!1),a=y.useRef(()=>{});return y.useEffect(()=>{const s=u=>{if(u.target&&!r.current){let d=function(){kF(Oye,n,f,{discrete:!0})};const f={originalEvent:u};u.pointerType==="touch"?(t.removeEventListener("click",a.current),a.current=d,t.addEventListener("click",a.current,{once:!0})):d()}else t.removeEventListener("click",a.current);r.current=!1},l=window.setTimeout(()=>{t.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(l),t.removeEventListener("pointerdown",s),t.removeEventListener("click",a.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function kye(e,t=globalThis?.document){const n=ln(e),r=y.useRef(!1);return y.useEffect(()=>{const a=s=>{s.target&&!r.current&&kF(Eye,n,{originalEvent:s},{discrete:!1})};return t.addEventListener("focusin",a),()=>t.removeEventListener("focusin",a)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function sL(){const e=new CustomEvent(aC);document.dispatchEvent(e)}function kF(e,t,n,{discrete:r}){const a=n.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?HC(a,s):a.dispatchEvent(s)}var Mye=Al,Pye=TF,e_="focusScope.autoFocusOnMount",t_="focusScope.autoFocusOnUnmount",oL={bubbles:!1,cancelable:!0},Rye="FocusScope",Kh=y.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:s,...l}=e,[u,d]=y.useState(null),f=ln(a),m=ln(s),p=y.useRef(null),g=Ue(t,w=>d(w)),x=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(r){let w=function(O){if(x.paused||!u)return;const A=O.target;u.contains(A)?p.current=A:Us(p.current,{select:!0})},b=function(O){if(x.paused||!u)return;const A=O.relatedTarget;A!==null&&(u.contains(A)||Us(p.current,{select:!0}))},N=function(O){if(document.activeElement===document.body)for(const C of O)C.removedNodes.length>0&&Us(u)};document.addEventListener("focusin",w),document.addEventListener("focusout",b);const E=new MutationObserver(N);return u&&E.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",b),E.disconnect()}}},[r,u,x.paused]),y.useEffect(()=>{if(u){cL.add(x);const w=document.activeElement;if(!u.contains(w)){const N=new CustomEvent(e_,oL);u.addEventListener(e_,f),u.dispatchEvent(N),N.defaultPrevented||(Dye(zye(MF(u)),{select:!0}),document.activeElement===w&&Us(u))}return()=>{u.removeEventListener(e_,f),setTimeout(()=>{const N=new CustomEvent(t_,oL);u.addEventListener(t_,m),u.dispatchEvent(N),N.defaultPrevented||Us(w??document.body,{select:!0}),u.removeEventListener(t_,m),cL.remove(x)},0)}}},[u,f,m,x]);const j=y.useCallback(w=>{if(!n&&!r||x.paused)return;const b=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,N=document.activeElement;if(b&&N){const E=w.currentTarget,[O,A]=$ye(E);O&&A?!w.shiftKey&&N===A?(w.preventDefault(),n&&Us(O,{select:!0})):w.shiftKey&&N===O&&(w.preventDefault(),n&&Us(A,{select:!0})):N===E&&w.preventDefault()}},[n,r,x.paused]);return i.jsx($e.div,{tabIndex:-1,...l,ref:g,onKeyDown:j})});Kh.displayName=Rye;function Dye(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Us(r,{select:t}),document.activeElement!==n)return}function $ye(e){const t=MF(e),n=lL(t,e),r=lL(t.reverse(),e);return[n,r]}function MF(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function lL(e,t){for(const n of e)if(!Iye(n,{upTo:t}))return n}function Iye(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Lye(e){return e instanceof HTMLInputElement&&"select"in e}function Us(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Lye(e)&&t&&e.select()}}var cL=Bye();function Bye(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=uL(e,t),e.unshift(t)},remove(t){e=uL(e,t),e[0]?.resume()}}}function uL(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function zye(e){return e.filter(t=>t.tagName!=="A")}var qye="Portal",Tl=y.forwardRef((e,t)=>{const{container:n,...r}=e,[a,s]=y.useState(!1);Yn(()=>s(!0),[]);const l=n||a&&globalThis?.document?.body;return l?NY.createPortal(i.jsx($e.div,{...r,ref:t}),l):null});Tl.displayName=qye;var n_=0;function Ly(){y.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??dL()),document.body.insertAdjacentElement("beforeend",e[1]??dL()),n_++,()=>{n_===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),n_--}},[])}function dL(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var si=function(){return si=Object.assign||function(t){for(var n,r=1,a=arguments.length;r"u")return axe;var t=ixe(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},oxe=$F(),Xc="data-scroll-locked",lxe=function(e,t,n,r){var a=e.left,s=e.top,l=e.right,u=e.gap;return n===void 0&&(n="margin"),` .`.concat(Uye,` { overflow: hidden `).concat(r,`; padding-right: `).concat(u,"px ").concat(r,`; @@ -124,34 +124,34 @@ ${n.map(([s,l])=>{const u=l.theme?.[r]||l.color;return u?` --color-${s}: ${u};` body[`).concat(Xc,`] { `).concat(Hye,": ").concat(u,`px; } -`)},hL=function(){var e=parseInt(document.body.getAttribute(Xc)||"0",10);return isFinite(e)?e:0},cxe=function(){y.useEffect(function(){return document.body.setAttribute(Xc,(hL()+1).toString()),function(){var e=hL()-1;e<=0?document.body.removeAttribute(Xc):document.body.setAttribute(Xc,e.toString())}},[])},uxe=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,a=r===void 0?"margin":r;cxe();var s=y.useMemo(function(){return sxe(a)},[a]);return y.createElement(oxe,{styles:lxe(s,!t,a,n?"":"!important")})},aC=!1;if(typeof window<"u")try{var Gp=Object.defineProperty({},"passive",{get:function(){return aC=!0,!0}});window.addEventListener("test",Gp,Gp),window.removeEventListener("test",Gp,Gp)}catch{aC=!1}var Ac=aC?{passive:!1}:!1,dxe=function(e){return e.tagName==="TEXTAREA"},IF=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!dxe(e)&&n[t]==="visible")},fxe=function(e){return IF(e,"overflowY")},hxe=function(e){return IF(e,"overflowX")},mL=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var a=LF(e,r);if(a){var s=BF(e,r),l=s[1],u=s[2];if(l>u)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},mxe=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},pxe=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},LF=function(e,t){return e==="v"?fxe(t):hxe(t)},BF=function(e,t){return e==="v"?mxe(t):pxe(t)},vxe=function(e,t){return e==="h"&&t==="rtl"?-1:1},gxe=function(e,t,n,r,a){var s=vxe(e,window.getComputedStyle(t).direction),l=s*r,u=n.target,d=t.contains(u),f=!1,m=l>0,p=0,g=0;do{if(!u)break;var x=BF(e,u),j=x[0],w=x[1],b=x[2],N=w-b-s*j;(j||N)&&LF(e,u)&&(p+=N,g+=j);var E=u.parentNode;u=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!d&&u!==document.body||d&&(t.contains(u)||t===u));return(m&&Math.abs(p)<1||!m&&Math.abs(g)<1)&&(f=!0),f},Yp=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},pL=function(e){return[e.deltaX,e.deltaY]},vL=function(e){return e&&"current"in e?e.current:e},yxe=function(e,t){return e[0]===t[0]&&e[1]===t[1]},xxe=function(e){return` +`)},hL=function(){var e=parseInt(document.body.getAttribute(Xc)||"0",10);return isFinite(e)?e:0},cxe=function(){y.useEffect(function(){return document.body.setAttribute(Xc,(hL()+1).toString()),function(){var e=hL()-1;e<=0?document.body.removeAttribute(Xc):document.body.setAttribute(Xc,e.toString())}},[])},uxe=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,a=r===void 0?"margin":r;cxe();var s=y.useMemo(function(){return sxe(a)},[a]);return y.createElement(oxe,{styles:lxe(s,!t,a,n?"":"!important")})},iC=!1;if(typeof window<"u")try{var Gp=Object.defineProperty({},"passive",{get:function(){return iC=!0,!0}});window.addEventListener("test",Gp,Gp),window.removeEventListener("test",Gp,Gp)}catch{iC=!1}var Ac=iC?{passive:!1}:!1,dxe=function(e){return e.tagName==="TEXTAREA"},IF=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!dxe(e)&&n[t]==="visible")},fxe=function(e){return IF(e,"overflowY")},hxe=function(e){return IF(e,"overflowX")},mL=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var a=LF(e,r);if(a){var s=BF(e,r),l=s[1],u=s[2];if(l>u)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},mxe=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},pxe=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},LF=function(e,t){return e==="v"?fxe(t):hxe(t)},BF=function(e,t){return e==="v"?mxe(t):pxe(t)},vxe=function(e,t){return e==="h"&&t==="rtl"?-1:1},gxe=function(e,t,n,r,a){var s=vxe(e,window.getComputedStyle(t).direction),l=s*r,u=n.target,d=t.contains(u),f=!1,m=l>0,p=0,g=0;do{if(!u)break;var x=BF(e,u),j=x[0],w=x[1],b=x[2],N=w-b-s*j;(j||N)&&LF(e,u)&&(p+=N,g+=j);var E=u.parentNode;u=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!d&&u!==document.body||d&&(t.contains(u)||t===u));return(m&&Math.abs(p)<1||!m&&Math.abs(g)<1)&&(f=!0),f},Yp=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},pL=function(e){return[e.deltaX,e.deltaY]},vL=function(e){return e&&"current"in e?e.current:e},yxe=function(e,t){return e[0]===t[0]&&e[1]===t[1]},xxe=function(e){return` .block-interactivity-`.concat(e,` {pointer-events: none;} .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},bxe=0,Tc=[];function wxe(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),a=y.useState(bxe++)[0],s=y.useState($F)[0],l=y.useRef(e);y.useEffect(function(){l.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var w=Fye([e.lockRef.current],(e.shards||[]).map(vL),!0).filter(Boolean);return w.forEach(function(b){return b.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),w.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var u=y.useCallback(function(w,b){if("touches"in w&&w.touches.length===2||w.type==="wheel"&&w.ctrlKey)return!l.current.allowPinchZoom;var N=Yp(w),E=n.current,O="deltaX"in w?w.deltaX:E[0]-N[0],A="deltaY"in w?w.deltaY:E[1]-N[1],C,k=w.target,T=Math.abs(O)>Math.abs(A)?"h":"v";if("touches"in w&&T==="h"&&k.type==="range")return!1;var M=mL(T,k);if(!M)return!0;if(M?C=T:(C=T==="v"?"h":"v",M=mL(T,k)),!M)return!1;if(!r.current&&"changedTouches"in w&&(O||A)&&(r.current=C),!C)return!0;var R=r.current||C;return gxe(R,b,w,R==="h"?O:A)},[]),d=y.useCallback(function(w){var b=w;if(!(!Tc.length||Tc[Tc.length-1]!==s)){var N="deltaY"in b?pL(b):Yp(b),E=t.current.filter(function(C){return C.name===b.type&&(C.target===b.target||b.target===C.shadowParent)&&yxe(C.delta,N)})[0];if(E&&E.should){b.cancelable&&b.preventDefault();return}if(!E){var O=(l.current.shards||[]).map(vL).filter(Boolean).filter(function(C){return C.contains(b.target)}),A=O.length>0?u(b,O[0]):!l.current.noIsolation;A&&b.cancelable&&b.preventDefault()}}},[]),f=y.useCallback(function(w,b,N,E){var O={name:w,delta:b,target:N,should:E,shadowParent:jxe(N)};t.current.push(O),setTimeout(function(){t.current=t.current.filter(function(A){return A!==O})},1)},[]),m=y.useCallback(function(w){n.current=Yp(w),r.current=void 0},[]),p=y.useCallback(function(w){f(w.type,pL(w),w.target,u(w,e.lockRef.current))},[]),g=y.useCallback(function(w){f(w.type,Yp(w),w.target,u(w,e.lockRef.current))},[]);y.useEffect(function(){return Tc.push(s),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:g}),document.addEventListener("wheel",d,Ac),document.addEventListener("touchmove",d,Ac),document.addEventListener("touchstart",m,Ac),function(){Tc=Tc.filter(function(w){return w!==s}),document.removeEventListener("wheel",d,Ac),document.removeEventListener("touchmove",d,Ac),document.removeEventListener("touchstart",m,Ac)}},[]);var x=e.removeScrollBar,j=e.inert;return y.createElement(y.Fragment,null,j?y.createElement(s,{styles:xxe(a)}):null,x?y.createElement(uxe,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function jxe(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Sxe=Zye(DF,wxe);var Xh=y.forwardRef(function(e,t){return y.createElement(By,si({},e,{ref:t,sideCar:Sxe}))});Xh.classNames=By.classNames;var _xe=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},kc=new WeakMap,Kp=new WeakMap,Xp={},i_=0,zF=function(e){return e&&(e.host||zF(e.parentNode))},Nxe=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=zF(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Cxe=function(e,t,n,r){var a=Nxe(t,Array.isArray(e)?e:[e]);Xp[n]||(Xp[n]=new WeakMap);var s=Xp[n],l=[],u=new Set,d=new Set(a),f=function(p){!p||u.has(p)||(u.add(p),f(p.parentNode))};a.forEach(f);var m=function(p){!p||d.has(p)||Array.prototype.forEach.call(p.children,function(g){if(u.has(g))m(g);else try{var x=g.getAttribute(r),j=x!==null&&x!=="false",w=(kc.get(g)||0)+1,b=(s.get(g)||0)+1;kc.set(g,w),s.set(g,b),l.push(g),w===1&&j&&Kp.set(g,!0),b===1&&g.setAttribute(n,"true"),j||g.setAttribute(r,"true")}catch(N){console.error("aria-hidden: cannot operate on ",g,N)}})};return m(t),u.clear(),i_++,function(){l.forEach(function(p){var g=kc.get(p)-1,x=s.get(p)-1;kc.set(p,g),s.set(p,x),g||(Kp.has(p)||p.removeAttribute(r),Kp.delete(p)),x||p.removeAttribute(n)}),i_--,i_||(kc=new WeakMap,kc=new WeakMap,Kp=new WeakMap,Xp={})}},zy=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),a=_xe(e);return a?(r.push.apply(r,Array.from(a.querySelectorAll("[aria-live], script"))),Cxe(r,a,n,"aria-hidden")):function(){return null}};function Oxe(e){const t=Exe(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(Txe);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function Exe(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=Mxe(a),u=kxe(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Axe=Symbol("radix.slottable");function Txe(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Axe}function kxe(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function Mxe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var qy="Dialog",[qF,FF]=gr(qy),[Pxe,Za]=qF(qy),UF=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:a,onOpenChange:s,modal:l=!0}=e,u=y.useRef(null),d=y.useRef(null),[f,m]=Ea({prop:r,defaultProp:a??!1,onChange:s,caller:qy});return i.jsx(Pxe,{scope:t,triggerRef:u,contentRef:d,contentId:Gn(),titleId:Gn(),descriptionId:Gn(),open:f,onOpenChange:m,onOpenToggle:y.useCallback(()=>m(p=>!p),[m]),modal:l,children:n})};UF.displayName=qy;var HF="DialogTrigger",WF=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Za(HF,n),s=Ue(t,a.triggerRef);return i.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":fE(a.open),...r,ref:s,onClick:_e(e.onClick,a.onOpenToggle)})});WF.displayName=HF;var uE="DialogPortal",[Rxe,VF]=qF(uE,{forceMount:void 0}),GF=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:a}=e,s=Za(uE,t);return i.jsx(Rxe,{scope:t,forceMount:n,children:y.Children.map(r,l=>i.jsx(Bn,{present:n||s.open,children:i.jsx(Tl,{asChild:!0,container:a,children:l})}))})};GF.displayName=uE;var kg="DialogOverlay",YF=y.forwardRef((e,t)=>{const n=VF(kg,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,s=Za(kg,e.__scopeDialog);return s.modal?i.jsx(Bn,{present:r||s.open,children:i.jsx($xe,{...a,ref:t})}):null});YF.displayName=kg;var Dxe=Oxe("DialogOverlay.RemoveScroll"),$xe=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Za(kg,n);return i.jsx(Xh,{as:Dxe,allowPinchZoom:!0,shards:[a.contentRef],children:i.jsx($e.div,{"data-state":fE(a.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),yl="DialogContent",KF=y.forwardRef((e,t)=>{const n=VF(yl,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,s=Za(yl,e.__scopeDialog);return i.jsx(Bn,{present:r||s.open,children:s.modal?i.jsx(Ixe,{...a,ref:t}):i.jsx(Lxe,{...a,ref:t})})});KF.displayName=yl;var Ixe=y.forwardRef((e,t)=>{const n=Za(yl,e.__scopeDialog),r=y.useRef(null),a=Ue(t,n.contentRef,r);return y.useEffect(()=>{const s=r.current;if(s)return zy(s)},[]),i.jsx(XF,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:_e(e.onCloseAutoFocus,s=>{s.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:_e(e.onPointerDownOutside,s=>{const l=s.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0;(l.button===2||u)&&s.preventDefault()}),onFocusOutside:_e(e.onFocusOutside,s=>s.preventDefault())})}),Lxe=y.forwardRef((e,t)=>{const n=Za(yl,e.__scopeDialog),r=y.useRef(!1),a=y.useRef(!1);return i.jsx(XF,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{e.onCloseAutoFocus?.(s),s.defaultPrevented||(r.current||n.triggerRef.current?.focus(),s.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:s=>{e.onInteractOutside?.(s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const l=s.target;n.triggerRef.current?.contains(l)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&a.current&&s.preventDefault()}})}),XF=y.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:s,...l}=e,u=Za(yl,n),d=y.useRef(null),f=Ue(t,d);return Ly(),i.jsxs(i.Fragment,{children:[i.jsx(Kh,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:s,children:i.jsx(Al,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":fE(u.open),...l,ref:f,onDismiss:()=>u.onOpenChange(!1)})}),i.jsxs(i.Fragment,{children:[i.jsx(zxe,{titleId:u.titleId}),i.jsx(Fxe,{contentRef:d,descriptionId:u.descriptionId})]})]})}),dE="DialogTitle",ZF=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Za(dE,n);return i.jsx($e.h2,{id:a.titleId,...r,ref:t})});ZF.displayName=dE;var QF="DialogDescription",JF=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Za(QF,n);return i.jsx($e.p,{id:a.descriptionId,...r,ref:t})});JF.displayName=QF;var e8="DialogClose",t8=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Za(e8,n);return i.jsx($e.button,{type:"button",...r,ref:t,onClick:_e(e.onClick,()=>a.onOpenChange(!1))})});t8.displayName=e8;function fE(e){return e?"open":"closed"}var n8="DialogTitleWarning",[Bxe,r8]=mZ(n8,{contentName:yl,titleName:dE,docsSlug:"dialog"}),zxe=({titleId:e})=>{const t=r8(n8),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. +`)},bxe=0,Tc=[];function wxe(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),a=y.useState(bxe++)[0],s=y.useState($F)[0],l=y.useRef(e);y.useEffect(function(){l.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var w=Fye([e.lockRef.current],(e.shards||[]).map(vL),!0).filter(Boolean);return w.forEach(function(b){return b.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),w.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var u=y.useCallback(function(w,b){if("touches"in w&&w.touches.length===2||w.type==="wheel"&&w.ctrlKey)return!l.current.allowPinchZoom;var N=Yp(w),E=n.current,O="deltaX"in w?w.deltaX:E[0]-N[0],A="deltaY"in w?w.deltaY:E[1]-N[1],C,k=w.target,T=Math.abs(O)>Math.abs(A)?"h":"v";if("touches"in w&&T==="h"&&k.type==="range")return!1;var M=mL(T,k);if(!M)return!0;if(M?C=T:(C=T==="v"?"h":"v",M=mL(T,k)),!M)return!1;if(!r.current&&"changedTouches"in w&&(O||A)&&(r.current=C),!C)return!0;var R=r.current||C;return gxe(R,b,w,R==="h"?O:A)},[]),d=y.useCallback(function(w){var b=w;if(!(!Tc.length||Tc[Tc.length-1]!==s)){var N="deltaY"in b?pL(b):Yp(b),E=t.current.filter(function(C){return C.name===b.type&&(C.target===b.target||b.target===C.shadowParent)&&yxe(C.delta,N)})[0];if(E&&E.should){b.cancelable&&b.preventDefault();return}if(!E){var O=(l.current.shards||[]).map(vL).filter(Boolean).filter(function(C){return C.contains(b.target)}),A=O.length>0?u(b,O[0]):!l.current.noIsolation;A&&b.cancelable&&b.preventDefault()}}},[]),f=y.useCallback(function(w,b,N,E){var O={name:w,delta:b,target:N,should:E,shadowParent:jxe(N)};t.current.push(O),setTimeout(function(){t.current=t.current.filter(function(A){return A!==O})},1)},[]),m=y.useCallback(function(w){n.current=Yp(w),r.current=void 0},[]),p=y.useCallback(function(w){f(w.type,pL(w),w.target,u(w,e.lockRef.current))},[]),g=y.useCallback(function(w){f(w.type,Yp(w),w.target,u(w,e.lockRef.current))},[]);y.useEffect(function(){return Tc.push(s),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:g}),document.addEventListener("wheel",d,Ac),document.addEventListener("touchmove",d,Ac),document.addEventListener("touchstart",m,Ac),function(){Tc=Tc.filter(function(w){return w!==s}),document.removeEventListener("wheel",d,Ac),document.removeEventListener("touchmove",d,Ac),document.removeEventListener("touchstart",m,Ac)}},[]);var x=e.removeScrollBar,j=e.inert;return y.createElement(y.Fragment,null,j?y.createElement(s,{styles:xxe(a)}):null,x?y.createElement(uxe,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function jxe(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Sxe=Zye(DF,wxe);var Xh=y.forwardRef(function(e,t){return y.createElement(By,si({},e,{ref:t,sideCar:Sxe}))});Xh.classNames=By.classNames;var _xe=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},kc=new WeakMap,Kp=new WeakMap,Xp={},s_=0,zF=function(e){return e&&(e.host||zF(e.parentNode))},Nxe=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=zF(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Cxe=function(e,t,n,r){var a=Nxe(t,Array.isArray(e)?e:[e]);Xp[n]||(Xp[n]=new WeakMap);var s=Xp[n],l=[],u=new Set,d=new Set(a),f=function(p){!p||u.has(p)||(u.add(p),f(p.parentNode))};a.forEach(f);var m=function(p){!p||d.has(p)||Array.prototype.forEach.call(p.children,function(g){if(u.has(g))m(g);else try{var x=g.getAttribute(r),j=x!==null&&x!=="false",w=(kc.get(g)||0)+1,b=(s.get(g)||0)+1;kc.set(g,w),s.set(g,b),l.push(g),w===1&&j&&Kp.set(g,!0),b===1&&g.setAttribute(n,"true"),j||g.setAttribute(r,"true")}catch(N){console.error("aria-hidden: cannot operate on ",g,N)}})};return m(t),u.clear(),s_++,function(){l.forEach(function(p){var g=kc.get(p)-1,x=s.get(p)-1;kc.set(p,g),s.set(p,x),g||(Kp.has(p)||p.removeAttribute(r),Kp.delete(p)),x||p.removeAttribute(n)}),s_--,s_||(kc=new WeakMap,kc=new WeakMap,Kp=new WeakMap,Xp={})}},zy=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),a=_xe(e);return a?(r.push.apply(r,Array.from(a.querySelectorAll("[aria-live], script"))),Cxe(r,a,n,"aria-hidden")):function(){return null}};function Oxe(e){const t=Exe(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(Txe);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function Exe(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=Mxe(a),u=kxe(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Axe=Symbol("radix.slottable");function Txe(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Axe}function kxe(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function Mxe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var qy="Dialog",[qF,FF]=gr(qy),[Pxe,Za]=qF(qy),UF=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:a,onOpenChange:s,modal:l=!0}=e,u=y.useRef(null),d=y.useRef(null),[f,m]=Ea({prop:r,defaultProp:a??!1,onChange:s,caller:qy});return i.jsx(Pxe,{scope:t,triggerRef:u,contentRef:d,contentId:Gn(),titleId:Gn(),descriptionId:Gn(),open:f,onOpenChange:m,onOpenToggle:y.useCallback(()=>m(p=>!p),[m]),modal:l,children:n})};UF.displayName=qy;var HF="DialogTrigger",WF=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Za(HF,n),s=Ue(t,a.triggerRef);return i.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":hE(a.open),...r,ref:s,onClick:_e(e.onClick,a.onOpenToggle)})});WF.displayName=HF;var dE="DialogPortal",[Rxe,VF]=qF(dE,{forceMount:void 0}),GF=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:a}=e,s=Za(dE,t);return i.jsx(Rxe,{scope:t,forceMount:n,children:y.Children.map(r,l=>i.jsx(Bn,{present:n||s.open,children:i.jsx(Tl,{asChild:!0,container:a,children:l})}))})};GF.displayName=dE;var kg="DialogOverlay",YF=y.forwardRef((e,t)=>{const n=VF(kg,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,s=Za(kg,e.__scopeDialog);return s.modal?i.jsx(Bn,{present:r||s.open,children:i.jsx($xe,{...a,ref:t})}):null});YF.displayName=kg;var Dxe=Oxe("DialogOverlay.RemoveScroll"),$xe=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Za(kg,n);return i.jsx(Xh,{as:Dxe,allowPinchZoom:!0,shards:[a.contentRef],children:i.jsx($e.div,{"data-state":hE(a.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),yl="DialogContent",KF=y.forwardRef((e,t)=>{const n=VF(yl,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,s=Za(yl,e.__scopeDialog);return i.jsx(Bn,{present:r||s.open,children:s.modal?i.jsx(Ixe,{...a,ref:t}):i.jsx(Lxe,{...a,ref:t})})});KF.displayName=yl;var Ixe=y.forwardRef((e,t)=>{const n=Za(yl,e.__scopeDialog),r=y.useRef(null),a=Ue(t,n.contentRef,r);return y.useEffect(()=>{const s=r.current;if(s)return zy(s)},[]),i.jsx(XF,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:_e(e.onCloseAutoFocus,s=>{s.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:_e(e.onPointerDownOutside,s=>{const l=s.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0;(l.button===2||u)&&s.preventDefault()}),onFocusOutside:_e(e.onFocusOutside,s=>s.preventDefault())})}),Lxe=y.forwardRef((e,t)=>{const n=Za(yl,e.__scopeDialog),r=y.useRef(!1),a=y.useRef(!1);return i.jsx(XF,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{e.onCloseAutoFocus?.(s),s.defaultPrevented||(r.current||n.triggerRef.current?.focus(),s.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:s=>{e.onInteractOutside?.(s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const l=s.target;n.triggerRef.current?.contains(l)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&a.current&&s.preventDefault()}})}),XF=y.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:s,...l}=e,u=Za(yl,n),d=y.useRef(null),f=Ue(t,d);return Ly(),i.jsxs(i.Fragment,{children:[i.jsx(Kh,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:s,children:i.jsx(Al,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":hE(u.open),...l,ref:f,onDismiss:()=>u.onOpenChange(!1)})}),i.jsxs(i.Fragment,{children:[i.jsx(zxe,{titleId:u.titleId}),i.jsx(Fxe,{contentRef:d,descriptionId:u.descriptionId})]})]})}),fE="DialogTitle",ZF=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Za(fE,n);return i.jsx($e.h2,{id:a.titleId,...r,ref:t})});ZF.displayName=fE;var QF="DialogDescription",JF=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Za(QF,n);return i.jsx($e.p,{id:a.descriptionId,...r,ref:t})});JF.displayName=QF;var e8="DialogClose",t8=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=Za(e8,n);return i.jsx($e.button,{type:"button",...r,ref:t,onClick:_e(e.onClick,()=>a.onOpenChange(!1))})});t8.displayName=e8;function hE(e){return e?"open":"closed"}var n8="DialogTitleWarning",[Bxe,r8]=mZ(n8,{contentName:yl,titleName:fE,docsSlug:"dialog"}),zxe=({titleId:e})=>{const t=r8(n8),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. -For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return y.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},qxe="DialogDescriptionWarning",Fxe=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${r8(qxe).contentName}}.`;return y.useEffect(()=>{const a=e.current?.getAttribute("aria-describedby");t&&a&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},hE=UF,a8=WF,mE=GF,Fy=YF,Uy=KF,pE=ZF,vE=JF,gE=t8;const sr=hE,i8=a8,Uxe=mE,s8=y.forwardRef(({className:e,...t},n)=>i.jsx(Fy,{ref:n,className:ce("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));s8.displayName=Fy.displayName;const Kn=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(Uxe,{children:[i.jsx(s8,{}),i.jsxs(Uy,{ref:r,className:ce("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...n,children:[t,i.jsxs(gE,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[i.jsx(Yh,{className:"h-4 w-4"}),i.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Kn.displayName=Uy.displayName;const Xn=({className:e,...t})=>i.jsx("div",{className:ce("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Xn.displayName="DialogHeader";const Br=({className:e,...t})=>i.jsx("div",{className:ce("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Br.displayName="DialogFooter";const Zn=y.forwardRef(({className:e,...t},n)=>i.jsx(pE,{ref:n,className:ce("text-lg font-semibold leading-none tracking-tight",e),...t}));Zn.displayName=pE.displayName;const vr=y.forwardRef(({className:e,...t},n)=>i.jsx(vE,{ref:n,className:ce("text-sm text-muted-foreground",e),...t}));vr.displayName=vE.displayName;var Hxe=Symbol("radix.slottable");function Wxe(e){const t=({children:n})=>i.jsx(i.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=Hxe,t}var o8="AlertDialog",[Vxe]=gr(o8,[FF]),vs=FF(),l8=e=>{const{__scopeAlertDialog:t,...n}=e,r=vs(t);return i.jsx(hE,{...r,...n,modal:!0})};l8.displayName=o8;var Gxe="AlertDialogTrigger",c8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=vs(n);return i.jsx(a8,{...a,...r,ref:t})});c8.displayName=Gxe;var Yxe="AlertDialogPortal",u8=e=>{const{__scopeAlertDialog:t,...n}=e,r=vs(t);return i.jsx(mE,{...r,...n})};u8.displayName=Yxe;var Kxe="AlertDialogOverlay",d8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=vs(n);return i.jsx(Fy,{...a,...r,ref:t})});d8.displayName=Kxe;var Zc="AlertDialogContent",[Xxe,Zxe]=Vxe(Zc),Qxe=Wxe("AlertDialogContent"),f8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...a}=e,s=vs(n),l=y.useRef(null),u=Ue(t,l),d=y.useRef(null);return i.jsx(Bxe,{contentName:Zc,titleName:h8,docsSlug:"alert-dialog",children:i.jsx(Xxe,{scope:n,cancelRef:d,children:i.jsxs(Uy,{role:"alertdialog",...s,...a,ref:u,onOpenAutoFocus:_e(a.onOpenAutoFocus,f=>{f.preventDefault(),d.current?.focus({preventScroll:!0})}),onPointerDownOutside:f=>f.preventDefault(),onInteractOutside:f=>f.preventDefault(),children:[i.jsx(Qxe,{children:r}),i.jsx(ebe,{contentRef:l})]})})})});f8.displayName=Zc;var h8="AlertDialogTitle",m8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=vs(n);return i.jsx(pE,{...a,...r,ref:t})});m8.displayName=h8;var p8="AlertDialogDescription",v8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=vs(n);return i.jsx(vE,{...a,...r,ref:t})});v8.displayName=p8;var Jxe="AlertDialogAction",g8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=vs(n);return i.jsx(gE,{...a,...r,ref:t})});g8.displayName=Jxe;var y8="AlertDialogCancel",x8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:a}=Zxe(y8,n),s=vs(n),l=Ue(t,a);return i.jsx(gE,{...s,...r,ref:l})});x8.displayName=y8;var ebe=({contentRef:e})=>{const t=`\`${Zc}\` requires a description for the component to be accessible for screen reader users. +For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return y.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},qxe="DialogDescriptionWarning",Fxe=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${r8(qxe).contentName}}.`;return y.useEffect(()=>{const a=e.current?.getAttribute("aria-describedby");t&&a&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},mE=UF,a8=WF,pE=GF,Fy=YF,Uy=KF,vE=ZF,gE=JF,yE=t8;const sr=mE,i8=a8,Uxe=pE,s8=y.forwardRef(({className:e,...t},n)=>i.jsx(Fy,{ref:n,className:ce("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));s8.displayName=Fy.displayName;const Kn=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(Uxe,{children:[i.jsx(s8,{}),i.jsxs(Uy,{ref:r,className:ce("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...n,children:[t,i.jsxs(yE,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[i.jsx(Yh,{className:"h-4 w-4"}),i.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Kn.displayName=Uy.displayName;const Xn=({className:e,...t})=>i.jsx("div",{className:ce("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Xn.displayName="DialogHeader";const Br=({className:e,...t})=>i.jsx("div",{className:ce("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Br.displayName="DialogFooter";const Zn=y.forwardRef(({className:e,...t},n)=>i.jsx(vE,{ref:n,className:ce("text-lg font-semibold leading-none tracking-tight",e),...t}));Zn.displayName=vE.displayName;const vr=y.forwardRef(({className:e,...t},n)=>i.jsx(gE,{ref:n,className:ce("text-sm text-muted-foreground",e),...t}));vr.displayName=gE.displayName;var Hxe=Symbol("radix.slottable");function Wxe(e){const t=({children:n})=>i.jsx(i.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=Hxe,t}var o8="AlertDialog",[Vxe]=gr(o8,[FF]),vs=FF(),l8=e=>{const{__scopeAlertDialog:t,...n}=e,r=vs(t);return i.jsx(mE,{...r,...n,modal:!0})};l8.displayName=o8;var Gxe="AlertDialogTrigger",c8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=vs(n);return i.jsx(a8,{...a,...r,ref:t})});c8.displayName=Gxe;var Yxe="AlertDialogPortal",u8=e=>{const{__scopeAlertDialog:t,...n}=e,r=vs(t);return i.jsx(pE,{...r,...n})};u8.displayName=Yxe;var Kxe="AlertDialogOverlay",d8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=vs(n);return i.jsx(Fy,{...a,...r,ref:t})});d8.displayName=Kxe;var Zc="AlertDialogContent",[Xxe,Zxe]=Vxe(Zc),Qxe=Wxe("AlertDialogContent"),f8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...a}=e,s=vs(n),l=y.useRef(null),u=Ue(t,l),d=y.useRef(null);return i.jsx(Bxe,{contentName:Zc,titleName:h8,docsSlug:"alert-dialog",children:i.jsx(Xxe,{scope:n,cancelRef:d,children:i.jsxs(Uy,{role:"alertdialog",...s,...a,ref:u,onOpenAutoFocus:_e(a.onOpenAutoFocus,f=>{f.preventDefault(),d.current?.focus({preventScroll:!0})}),onPointerDownOutside:f=>f.preventDefault(),onInteractOutside:f=>f.preventDefault(),children:[i.jsx(Qxe,{children:r}),i.jsx(ebe,{contentRef:l})]})})})});f8.displayName=Zc;var h8="AlertDialogTitle",m8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=vs(n);return i.jsx(vE,{...a,...r,ref:t})});m8.displayName=h8;var p8="AlertDialogDescription",v8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=vs(n);return i.jsx(gE,{...a,...r,ref:t})});v8.displayName=p8;var Jxe="AlertDialogAction",g8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,a=vs(n);return i.jsx(yE,{...a,...r,ref:t})});g8.displayName=Jxe;var y8="AlertDialogCancel",x8=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:a}=Zxe(y8,n),s=vs(n),l=Ue(t,a);return i.jsx(yE,{...s,...r,ref:l})});x8.displayName=y8;var ebe=({contentRef:e})=>{const t=`\`${Zc}\` requires a description for the component to be accessible for screen reader users. You can add a description to the \`${Zc}\` by passing a \`${p8}\` component as a child, which also benefits sighted users by adding visible context to the dialog. Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${Zc}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component. -For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return y.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},tbe=l8,nbe=c8,rbe=u8,b8=d8,w8=f8,j8=g8,S8=x8,_8=m8,N8=v8;const bn=tbe,mr=nbe,abe=rbe,C8=y.forwardRef(({className:e,...t},n)=>i.jsx(b8,{className:ce("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));C8.displayName=b8.displayName;const cn=y.forwardRef(({className:e,...t},n)=>i.jsxs(abe,{children:[i.jsx(C8,{}),i.jsx(w8,{ref:n,className:ce("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));cn.displayName=w8.displayName;const un=({className:e,...t})=>i.jsx("div",{className:ce("flex flex-col space-y-2 text-center sm:text-left",e),...t});un.displayName="AlertDialogHeader";const dn=({className:e,...t})=>i.jsx("div",{className:ce("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});dn.displayName="AlertDialogFooter";const fn=y.forwardRef(({className:e,...t},n)=>i.jsx(_8,{ref:n,className:ce("text-lg font-semibold",e),...t}));fn.displayName=_8.displayName;const hn=y.forwardRef(({className:e,...t},n)=>i.jsx(N8,{ref:n,className:ce("text-sm text-muted-foreground",e),...t}));hn.displayName=N8.displayName;const mn=y.forwardRef(({className:e,...t},n)=>i.jsx(j8,{ref:n,className:ce(xh(),e),...t}));mn.displayName=j8.displayName;const pn=y.forwardRef(({className:e,...t},n)=>i.jsx(S8,{ref:n,className:ce(xh({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));pn.displayName=S8.displayName;function ibe(){return i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"系统设置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理您的应用偏好设置"})]})}),i.jsxs(dl,{defaultValue:"appearance",className:"w-full",children:[i.jsxs(eo,{className:"grid w-full grid-cols-2 sm:grid-cols-4 gap-0.5 sm:gap-1 h-auto p-1",children:[i.jsxs(Rt,{value:"appearance",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx(pF,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"外观"})]}),i.jsxs(Rt,{value:"security",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx($ge,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"安全"})]}),i.jsxs(Rt,{value:"other",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx(Fa,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"其他"})]}),i.jsxs(Rt,{value:"about",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx(Mu,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"关于"})]})]}),i.jsxs(Wt,{className:"h-[calc(100vh-240px)] sm:h-[calc(100vh-280px)] mt-4 sm:mt-6",children:[i.jsx(sn,{value:"appearance",className:"mt-0",children:i.jsx(sbe,{})}),i.jsx(sn,{value:"security",className:"mt-0",children:i.jsx(obe,{})}),i.jsx(sn,{value:"other",className:"mt-0",children:i.jsx(lbe,{})}),i.jsx(sn,{value:"about",className:"mt-0",children:i.jsx(cbe,{})})]})]})]})}function gL(e){const t=document.documentElement,r={blue:{hsl:"221.2 83.2% 53.3%",darkHsl:"217.2 91.2% 59.8%",gradient:null},purple:{hsl:"271 91% 65%",darkHsl:"270 95% 75%",gradient:null},green:{hsl:"142 71% 45%",darkHsl:"142 76% 36%",gradient:null},orange:{hsl:"25 95% 53%",darkHsl:"20 90% 48%",gradient:null},pink:{hsl:"330 81% 60%",darkHsl:"330 85% 70%",gradient:null},red:{hsl:"0 84% 60%",darkHsl:"0 90% 70%",gradient:null},"gradient-sunset":{hsl:"15 95% 60%",darkHsl:"15 95% 65%",gradient:"linear-gradient(135deg, hsl(25 95% 53%) 0%, hsl(330 81% 60%) 100%)"},"gradient-ocean":{hsl:"200 90% 55%",darkHsl:"200 90% 60%",gradient:"linear-gradient(135deg, hsl(221.2 83.2% 53.3%) 0%, hsl(189 94% 43%) 100%)"},"gradient-forest":{hsl:"150 70% 45%",darkHsl:"150 75% 40%",gradient:"linear-gradient(135deg, hsl(142 71% 45%) 0%, hsl(158 64% 52%) 100%)"},"gradient-aurora":{hsl:"310 85% 65%",darkHsl:"310 90% 70%",gradient:"linear-gradient(135deg, hsl(271 91% 65%) 0%, hsl(330 81% 60%) 100%)"},"gradient-fire":{hsl:"15 95% 55%",darkHsl:"15 95% 60%",gradient:"linear-gradient(135deg, hsl(0 84% 60%) 0%, hsl(25 95% 53%) 100%)"},"gradient-twilight":{hsl:"250 90% 60%",darkHsl:"250 95% 65%",gradient:"linear-gradient(135deg, hsl(239 84% 67%) 0%, hsl(271 91% 65%) 100%)"}}[e];if(r)t.style.setProperty("--primary",r.hsl),r.gradient?(t.style.setProperty("--primary-gradient",r.gradient),t.classList.add("has-gradient")):(t.style.removeProperty("--primary-gradient"),t.classList.remove("has-gradient"));else if(e.startsWith("#")){const a=s=>{s=s.replace("#","");const l=parseInt(s.substring(0,2),16)/255,u=parseInt(s.substring(2,4),16)/255,d=parseInt(s.substring(4,6),16)/255,f=Math.max(l,u,d),m=Math.min(l,u,d);let p=0,g=0;const x=(f+m)/2;if(f!==m){const j=f-m;switch(g=x>.5?j/(2-f-m):j/(f+m),f){case l:p=((u-d)/j+(ulocalStorage.getItem("accent-color")||"blue");y.useEffect(()=>{const f=localStorage.getItem("accent-color")||"blue";gL(f)},[]);const d=f=>{u(f),localStorage.setItem("accent-color",f),gL(f)};return i.jsxs("div",{className:"space-y-6 sm:space-y-8",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题模式"}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 sm:gap-4",children:[i.jsx(s_,{value:"light",current:e,onChange:t,label:"浅色",description:"始终使用浅色主题"}),i.jsx(s_,{value:"dark",current:e,onChange:t,label:"深色",description:"始终使用深色主题"}),i.jsx(s_,{value:"system",current:e,onChange:t,label:"跟随系统",description:"根据系统设置自动切换"})]})]}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题色"}),i.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"单色"}),i.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[i.jsx(Sa,{value:"blue",current:l,onChange:d,label:"蓝色",colorClass:"bg-blue-500"}),i.jsx(Sa,{value:"purple",current:l,onChange:d,label:"紫色",colorClass:"bg-purple-500"}),i.jsx(Sa,{value:"green",current:l,onChange:d,label:"绿色",colorClass:"bg-green-500"}),i.jsx(Sa,{value:"orange",current:l,onChange:d,label:"橙色",colorClass:"bg-orange-500"}),i.jsx(Sa,{value:"pink",current:l,onChange:d,label:"粉色",colorClass:"bg-pink-500"}),i.jsx(Sa,{value:"red",current:l,onChange:d,label:"红色",colorClass:"bg-red-500"})]})]}),i.jsxs("div",{children:[i.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"渐变色"}),i.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[i.jsx(Sa,{value:"gradient-sunset",current:l,onChange:d,label:"日落",colorClass:"bg-gradient-to-r from-orange-500 to-pink-500"}),i.jsx(Sa,{value:"gradient-ocean",current:l,onChange:d,label:"海洋",colorClass:"bg-gradient-to-r from-blue-500 to-cyan-500"}),i.jsx(Sa,{value:"gradient-forest",current:l,onChange:d,label:"森林",colorClass:"bg-gradient-to-r from-green-500 to-emerald-500"}),i.jsx(Sa,{value:"gradient-aurora",current:l,onChange:d,label:"极光",colorClass:"bg-gradient-to-r from-purple-500 to-pink-500"}),i.jsx(Sa,{value:"gradient-fire",current:l,onChange:d,label:"烈焰",colorClass:"bg-gradient-to-r from-red-500 to-orange-500"}),i.jsx(Sa,{value:"gradient-twilight",current:l,onChange:d,label:"暮光",colorClass:"bg-gradient-to-r from-indigo-500 to-purple-500"})]})]}),i.jsxs("div",{children:[i.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"自定义颜色"}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-4",children:[i.jsx("div",{className:"flex-1",children:i.jsx("input",{type:"color",value:l.startsWith("#")?l:"#3b82f6",onChange:f=>d(f.target.value),className:"h-10 sm:h-12 w-full rounded-lg border-2 border-border cursor-pointer",title:"选择自定义颜色"})}),i.jsx("div",{className:"flex-1",children:i.jsx(Ne,{type:"text",value:l,onChange:f=>d(f.target.value),placeholder:"#3b82f6",className:"font-mono text-sm"})})]}),i.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground mt-2",children:"点击色块选择颜色,或手动输入 HEX 颜色代码"})]})]})]}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"动画效果"}),i.jsxs("div",{className:"space-y-2 sm:space-y-3",children:[i.jsx("div",{className:"rounded-lg border bg-card p-3 sm:p-4",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5 flex-1",children:[i.jsx(Q,{htmlFor:"animations",className:"text-base font-medium cursor-pointer",children:"启用动画效果"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后将禁用所有过渡动画和特效,提升性能"})]}),i.jsx(lt,{id:"animations",checked:n,onCheckedChange:r})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-4",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5 flex-1",children:[i.jsx(Q,{htmlFor:"waves-background",className:"text-base font-medium cursor-pointer",children:"登录页波浪背景"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后登录页将使用纯色背景,适合低性能设备"})]}),i.jsx(lt,{id:"waves-background",checked:a,onCheckedChange:s})]})})]})]})]})}function obe(){const e=la(),[t,n]=y.useState(""),[r,a]=y.useState(""),[s,l]=y.useState(!1),[u,d]=y.useState(!1),[f,m]=y.useState(!1),[p,g]=y.useState(!1),[x,j]=y.useState(!1),[w,b]=y.useState(!1),[N,E]=y.useState(""),[O,A]=y.useState(!1),{toast:C}=yr(),k=y.useMemo(()=>jye(r),[r]),T=()=>localStorage.getItem("access-token")||"",M=async q=>{try{await navigator.clipboard.writeText(q),j(!0),C({title:"复制成功",description:"Token 已复制到剪贴板"}),setTimeout(()=>j(!1),2e3)}catch{C({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},R=async()=>{if(!r.trim()){C({title:"输入错误",description:"请输入新的 Token",variant:"destructive"});return}if(!k.isValid){const q=k.rules.filter(G=>!G.passed).map(G=>G.label).join(", ");C({title:"格式错误",description:`Token 不符合要求: ${q}`,variant:"destructive"});return}m(!0);try{const q=T(),G=await fetch("/api/webui/auth/update",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${q}`},body:JSON.stringify({new_token:r.trim()})}),L=await G.json();G.ok&&L.success?(localStorage.setItem("access-token",r.trim()),a(""),t&&n(r.trim()),C({title:"更新成功",description:"Access Token 已更新,即将跳转到登录页"}),setTimeout(()=>{localStorage.removeItem("access-token"),e({to:"/auth"})},1500)):C({title:"更新失败",description:L.message||"无法更新 Token",variant:"destructive"})}catch(q){console.error("更新 Token 错误:",q),C({title:"更新失败",description:"连接服务器失败",variant:"destructive"})}finally{m(!1)}},B=async()=>{g(!0);try{const q=T(),G=await fetch("/api/webui/auth/regenerate",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${q}`}}),L=await G.json();G.ok&&L.success?(localStorage.setItem("access-token",L.token),n(L.token),E(L.token),b(!0),A(!1),C({title:"生成成功",description:"新的 Access Token 已生成,请及时保存"})):C({title:"生成失败",description:L.message||"无法生成新 Token",variant:"destructive"})}catch(q){console.error("生成 Token 错误:",q),C({title:"生成失败",description:"连接服务器失败",variant:"destructive"})}finally{g(!1)}},$=async()=>{try{await navigator.clipboard.writeText(N),A(!0),C({title:"复制成功",description:"Token 已复制到剪贴板"})}catch{C({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},H=()=>{b(!1),setTimeout(()=>{E(""),A(!1)},300),setTimeout(()=>{localStorage.removeItem("access-token"),e({to:"/auth"})},500)},V=q=>{q||H()};return i.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[i.jsx(sr,{open:w,onOpenChange:V,children:i.jsxs(Kn,{className:"sm:max-w-md",children:[i.jsxs(Xn,{children:[i.jsxs(Zn,{className:"flex items-center gap-2",children:[i.jsx(Kc,{className:"h-5 w-5 text-yellow-500"}),"新的 Access Token"]}),i.jsx(vr,{children:"这是您的新 Token,请立即保存。关闭此窗口后将跳转到登录页面。"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"rounded-lg border-2 border-primary/20 bg-primary/5 p-4",children:[i.jsx(Q,{className:"text-xs text-muted-foreground mb-2 block",children:"您的新 Token (64位安全令牌)"}),i.jsx("div",{className:"font-mono text-sm break-all select-all bg-background p-3 rounded border",children:N})]}),i.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Kc,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5"}),i.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[i.jsx("p",{className:"font-semibold",children:"重要提示"}),i.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[i.jsx("li",{children:"此 Token 仅显示一次,关闭后无法再查看"}),i.jsx("li",{children:"请立即复制并保存到安全的位置"}),i.jsx("li",{children:"关闭窗口后将自动跳转到登录页面"}),i.jsx("li",{children:"请使用新 Token 重新登录系统"})]})]})]})})]}),i.jsxs(Br,{className:"gap-2 sm:gap-0",children:[i.jsx(oe,{variant:"outline",onClick:$,className:"gap-2",children:O?i.jsxs(i.Fragment,{children:[i.jsx(ol,{className:"h-4 w-4 text-green-500"}),"已复制"]}):i.jsxs(i.Fragment,{children:[i.jsx(ZN,{className:"h-4 w-4"}),"复制 Token"]})}),i.jsx(oe,{onClick:H,children:"我已保存,关闭"})]})]})}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"当前 Access Token"}),i.jsx("div",{className:"space-y-3 sm:space-y-4",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"current-token",className:"text-sm",children:"您的访问令牌"}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[i.jsxs("div",{className:"relative flex-1",children:[i.jsx(Ne,{id:"current-token",type:s?"text":"password",value:t||T(),readOnly:!0,className:"pr-10 font-mono text-sm",placeholder:"点击查看按钮显示 Token"}),i.jsx("button",{onClick:()=>{t||n(T()),l(!s)},className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:s?"隐藏":"显示",children:s?i.jsx(JN,{className:"h-4 w-4 text-muted-foreground"}):i.jsx(Va,{className:"h-4 w-4 text-muted-foreground"})})]}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[i.jsx(oe,{variant:"outline",size:"icon",onClick:()=>M(T()),title:"复制到剪贴板",className:"flex-shrink-0",children:x?i.jsx(ol,{className:"h-4 w-4 text-green-500"}):i.jsx(ZN,{className:"h-4 w-4"})}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{variant:"outline",disabled:p,className:"gap-2 flex-1 sm:flex-none",children:[i.jsx(is,{className:ce("h-4 w-4",p&&"animate-spin")}),i.jsx("span",{className:"hidden sm:inline",children:"重新生成"}),i.jsx("span",{className:"sm:hidden",children:"生成"})]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认重新生成 Token"}),i.jsx(hn,{children:"这将生成一个新的 64 位安全令牌,并使当前 Token 立即失效。 您需要使用新 Token 重新登录系统。此操作不可撤销,确定要继续吗?"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:B,children:"确认生成"})]})]})]})]})]}),i.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground",children:"请妥善保管您的 Access Token,不要泄露给他人"})]})})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"自定义 Access Token"}),i.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"new-token",className:"text-sm",children:"新的访问令牌"}),i.jsxs("div",{className:"relative",children:[i.jsx(Ne,{id:"new-token",type:u?"text":"password",value:r,onChange:q=>a(q.target.value),className:"pr-10 font-mono text-sm",placeholder:"输入自定义 Token"}),i.jsx("button",{onClick:()=>d(!u),className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:u?"隐藏":"显示",children:u?i.jsx(JN,{className:"h-4 w-4 text-muted-foreground"}):i.jsx(Va,{className:"h-4 w-4 text-muted-foreground"})})]}),r&&i.jsxs("div",{className:"mt-3 space-y-2 p-3 rounded-lg bg-muted/50",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"Token 安全要求:"}),i.jsx("div",{className:"space-y-1.5",children:k.rules.map(q=>i.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[q.passed?i.jsx(Pr,{className:"h-4 w-4 text-green-500 flex-shrink-0"}):i.jsx(XN,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),i.jsx("span",{className:ce(q.passed?"text-green-600 dark:text-green-400":"text-muted-foreground"),children:q.label})]},q.id))}),k.isValid&&i.jsx("div",{className:"mt-2 pt-2 border-t border-border",children:i.jsxs("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[i.jsx(ol,{className:"h-4 w-4"}),i.jsx("span",{className:"font-medium",children:"Token 格式正确,可以使用"})]})})]})]}),i.jsx(oe,{onClick:R,disabled:f||!k.isValid||!r,className:"w-full sm:w-auto",children:f?"更新中...":"更新自定义 Token"})]})]}),i.jsxs("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3 sm:p-4",children:[i.jsx("h4",{className:"text-sm sm:text-base font-semibold text-yellow-900 dark:text-yellow-200 mb-2",children:"安全提示"}),i.jsxs("ul",{className:"text-xs sm:text-sm text-yellow-800 dark:text-yellow-300 space-y-1 list-disc list-inside",children:[i.jsx("li",{children:"重新生成 Token 会创建系统随机生成的 64 位安全令牌"}),i.jsx("li",{children:"自定义 Token 必须满足所有安全要求才能使用"}),i.jsx("li",{children:"更新 Token 后,旧的 Token 将立即失效"}),i.jsx("li",{children:"请在安全的环境下查看和复制 Token"}),i.jsx("li",{children:"如果怀疑 Token 泄露,请立即重新生成或更新"}),i.jsx("li",{children:"建议使用系统生成的 Token 以获得最高安全性"})]})]})]})}function lbe(){const e=la(),{toast:t}=yr(),[n,r]=y.useState(!1),a=async()=>{r(!0);try{const s=localStorage.getItem("access-token"),l=await fetch("/api/webui/setup/reset",{method:"POST",headers:{Authorization:`Bearer ${s}`}}),u=await l.json();l.ok&&u.success?(t({title:"重置成功",description:"即将进入初次配置向导"}),setTimeout(()=>{e({to:"/setup"})},1e3)):t({title:"重置失败",description:u.message||"无法重置配置状态",variant:"destructive"})}catch(s){console.error("重置配置状态错误:",s),t({title:"重置失败",description:"连接服务器失败",variant:"destructive"})}finally{r(!1)}};return i.jsx("div",{className:"space-y-4 sm:space-y-6",children:i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"配置向导"}),i.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[i.jsx("div",{className:"space-y-2",children:i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"重新进行初次配置向导,可以帮助您重新设置系统的基础配置。"})}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{variant:"outline",disabled:n,className:"gap-2",children:[i.jsx(Cge,{className:ce("h-4 w-4",n&&"animate-spin")}),"重新进行初次配置"]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认重新配置"}),i.jsx(hn,{children:"这将带您重新进入初次配置向导。您可以重新设置系统的基础配置项。确定要继续吗?"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:a,children:"确认重置"})]})]})]})]})]})})}function cbe(){return i.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsxs("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:["关于 ",cE]}),i.jsxs("div",{className:"space-y-2 text-xs sm:text-sm text-muted-foreground",children:[i.jsxs("p",{children:["版本: ",lE]}),i.jsx("p",{children:"麦麦(MaiBot)的现代化 Web 管理界面"})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"作者"}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx("p",{className:"text-sm font-medium",children:"MaiBot 核心"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"Mai-with-u"})]}),i.jsxs("div",{className:"space-y-1",children:[i.jsx("p",{className:"text-sm font-medium",children:"WebUI"}),i.jsxs("p",{className:"text-xs sm:text-sm text-muted-foreground",children:["Mai-with-u ",i.jsx("a",{href:"https://github.com/DrSmoothl",target:"_blank",rel:"noopener noreferrer",className:"text-primary underline",children:"@MotricSeven"})]})]})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"技术栈"}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 text-xs sm:text-sm text-muted-foreground",children:[i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"前端框架"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"React 19.2.0"}),i.jsx("li",{children:"TypeScript 5.7.2"}),i.jsx("li",{children:"Vite 6.0.7"}),i.jsx("li",{children:"TanStack Router 1.94.2"})]})]}),i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"UI 组件"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"shadcn/ui"}),i.jsx("li",{children:"Radix UI"}),i.jsx("li",{children:"Tailwind CSS 3.4.17"}),i.jsx("li",{children:"Lucide Icons"})]})]}),i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"后端"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"Python 3.12+"}),i.jsx("li",{children:"FastAPI"}),i.jsx("li",{children:"Uvicorn"}),i.jsx("li",{children:"WebSocket"})]})]}),i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"构建工具"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"Bun / npm"}),i.jsx("li",{children:"ESLint 9.17.0"}),i.jsx("li",{children:"PostCSS"})]})]})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源库感谢"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mb-3",children:"本项目使用了以下优秀的开源库,感谢他们的贡献:"}),i.jsx(Wt,{className:"h-[300px] sm:h-[400px]",children:i.jsxs("div",{className:"space-y-4 pr-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"UI 框架与组件"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"React",description:"用户界面构建库",license:"MIT"}),i.jsx(an,{name:"shadcn/ui",description:"优雅的 React 组件库",license:"MIT"}),i.jsx(an,{name:"Radix UI",description:"无样式的可访问组件库",license:"MIT"}),i.jsx(an,{name:"Tailwind CSS",description:"实用优先的 CSS 框架",license:"MIT"}),i.jsx(an,{name:"Lucide React",description:"精美的图标库",license:"ISC"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"路由与状态管理"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"TanStack Router",description:"类型安全的路由库",license:"MIT"}),i.jsx(an,{name:"Zustand",description:"轻量级状态管理",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"表单处理"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"React Hook Form",description:"高性能表单库",license:"MIT"}),i.jsx(an,{name:"Zod",description:"TypeScript 优先的 schema 验证",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"工具库"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"clsx",description:"条件 className 构建工具",license:"MIT"}),i.jsx(an,{name:"tailwind-merge",description:"Tailwind 类名合并工具",license:"MIT"}),i.jsx(an,{name:"class-variance-authority",description:"组件变体管理",license:"Apache-2.0"}),i.jsx(an,{name:"date-fns",description:"现代化日期处理库",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"动画效果"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"Framer Motion",description:"React 动画库",license:"MIT"}),i.jsx(an,{name:"vaul",description:"抽屉组件动画",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"后端框架"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"FastAPI",description:"现代化 Python Web 框架",license:"MIT"}),i.jsx(an,{name:"Uvicorn",description:"ASGI 服务器",license:"BSD-3-Clause"}),i.jsx(an,{name:"Pydantic",description:"数据验证库",license:"MIT"}),i.jsx(an,{name:"python-multipart",description:"文件上传支持",license:"Apache-2.0"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"开发工具"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"TypeScript",description:"JavaScript 的超集",license:"Apache-2.0"}),i.jsx(an,{name:"Vite",description:"下一代前端构建工具",license:"MIT"}),i.jsx(an,{name:"ESLint",description:"JavaScript 代码检查工具",license:"MIT"}),i.jsx(an,{name:"PostCSS",description:"CSS 转换工具",license:"MIT"})]})]})]})})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源许可"}),i.jsxs("div",{className:"space-y-3",children:[i.jsx("div",{className:"rounded-lg bg-primary/5 border border-primary/20 p-3 sm:p-4",children:i.jsxs("div",{className:"flex items-start gap-2 sm:gap-3",children:[i.jsx("div",{className:"flex-shrink-0 mt-0.5",children:i.jsx("div",{className:"rounded-md bg-primary/10 px-2 py-1",children:i.jsx("span",{className:"text-xs sm:text-sm font-bold text-primary",children:"GPLv3"})})}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("p",{className:"text-sm sm:text-base font-semibold text-foreground mb-1",children:"MaiBot WebUI"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目采用 GNU General Public License v3.0 开源许可证。 您可以自由地使用、修改和分发本软件,但必须保持相同的开源许可。"})]})]})}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目依赖的所有开源库均遵循各自的开源许可证(MIT、Apache-2.0、BSD 等)。 感谢所有开源贡献者的无私奉献。"})]})]})]})}function an({name:e,description:t,license:n}){return i.jsxs("div",{className:"flex items-start justify-between gap-2 rounded-lg border bg-muted/30 p-2.5 sm:p-3",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("p",{className:"font-medium text-foreground truncate",children:e}),i.jsx("p",{className:"text-muted-foreground text-xs mt-0.5",children:t})]}),i.jsx("span",{className:"inline-flex items-center rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-medium text-primary flex-shrink-0",children:n})]})}function s_({value:e,current:t,onChange:n,label:r,description:a}){const s=t===e;return i.jsxs("button",{onClick:()=>n(e),className:ce("relative rounded-lg border-2 p-3 sm:p-4 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",s?"border-primary bg-accent":"border-border"),children:[s&&i.jsx("div",{className:"absolute top-2 right-2 sm:top-3 sm:right-3 h-2 w-2 rounded-full bg-primary"}),i.jsxs("div",{className:"space-y-1",children:[i.jsx("div",{className:"text-sm sm:text-base font-medium",children:r}),i.jsx("div",{className:"text-[10px] sm:text-xs text-muted-foreground",children:a})]}),i.jsxs("div",{className:"mt-2 sm:mt-3 flex gap-1",children:[e==="light"&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-200"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-300"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-400"})]}),e==="dark"&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-700"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-800"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-900"})]}),e==="system"&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-200 to-slate-700"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-300 to-slate-800"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-400 to-slate-900"})]})]})]})}function Sa({value:e,current:t,onChange:n,label:r,colorClass:a}){const s=t===e;return i.jsxs("button",{onClick:()=>n(e),className:ce("relative rounded-lg border-2 p-2 sm:p-3 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",s?"border-primary bg-accent":"border-border"),children:[s&&i.jsx("div",{className:"absolute top-1.5 right-1.5 sm:top-2 sm:right-2 h-1.5 w-1.5 sm:h-2 sm:w-2 rounded-full bg-primary"}),i.jsxs("div",{className:"flex flex-col items-center gap-1.5 sm:gap-2",children:[i.jsx("div",{className:ce("h-8 w-8 sm:h-10 sm:w-10 rounded-full",a)}),i.jsx("div",{className:"text-[10px] sm:text-xs font-medium text-center",children:r})]})]})}class ube{grad3;p;perm;constructor(t=0){this.grad3=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1]],this.p=[];for(let n=0;n<256;n++)this.p[n]=Math.floor(Math.random()*256);this.perm=[];for(let n=0;n<512;n++)this.perm[n]=this.p[n&255]}dot(t,n,r){return t[0]*n+t[1]*r}mix(t,n,r){return(1-r)*t+r*n}fade(t){return t*t*t*(t*(t*6-15)+10)}perlin2(t,n){const r=Math.floor(t)&255,a=Math.floor(n)&255;t-=Math.floor(t),n-=Math.floor(n);const s=this.fade(t),l=this.fade(n),u=this.perm[r]+a,d=this.perm[u],f=this.perm[u+1],m=this.perm[r+1]+a,p=this.perm[m],g=this.perm[m+1];return this.mix(this.mix(this.dot(this.grad3[d%12],t,n),this.dot(this.grad3[p%12],t-1,n),s),this.mix(this.dot(this.grad3[f%12],t,n-1),this.dot(this.grad3[g%12],t-1,n-1),s),l)}}function dbe(){const e=y.useRef(null),t=y.useRef(null),n=y.useRef(void 0),r=y.useRef({mouse:{x:-10,y:0,lx:0,ly:0,sx:0,sy:0,v:0,vs:0,a:0,set:!1},lines:[],paths:[],noise:new ube(Math.random()),bounding:null});return y.useEffect(()=>{const a=t.current,s=e.current;if(!a||!s)return;const l=r.current,u=()=>{const w=a.getBoundingClientRect();l.bounding=w,s.style.width=`${w.width}px`,s.style.height=`${w.height}px`},d=()=>{if(!l.bounding)return;const{width:w,height:b}=l.bounding;l.lines=[],l.paths.forEach(R=>R.remove()),l.paths=[];const N=10,E=32,O=w+200,A=b+30,C=Math.ceil(O/N),k=Math.ceil(A/E),T=(w-N*C)/2,M=(b-E*k)/2;for(let R=0;R<=C;R++){const B=[];for(let H=0;H<=k;H++){const V={x:T+N*R,y:M+E*H,wave:{x:0,y:0},cursor:{x:0,y:0,vx:0,vy:0}};B.push(V)}const $=document.createElementNS("http://www.w3.org/2000/svg","path");s.appendChild($),l.paths.push($),l.lines.push(B)}},f=w=>{const{lines:b,mouse:N,noise:E}=l;b.forEach(O=>{O.forEach(A=>{const C=E.perlin2((A.x+w*.0125)*.002,(A.y+w*.005)*.0015)*12;A.wave.x=Math.cos(C)*32,A.wave.y=Math.sin(C)*16;const k=A.x-N.sx,T=A.y-N.sy,M=Math.hypot(k,T),R=Math.max(175,N.vs);if(M{const N={x:w.x+w.wave.x+(b?w.cursor.x:0),y:w.y+w.wave.y+(b?w.cursor.y:0)};return N.x=Math.round(N.x*10)/10,N.y=Math.round(N.y*10)/10,N},p=()=>{const{lines:w,paths:b}=l;w.forEach((N,E)=>{let O=m(N[0],!1),A=`M ${O.x} ${O.y}`;N.forEach((C,k)=>{const T=k===N.length-1;O=m(C,!T),A+=`L ${O.x} ${O.y}`}),b[E].setAttribute("d",A)})},g=w=>{const{mouse:b}=l;b.sx+=(b.x-b.sx)*.1,b.sy+=(b.y-b.sy)*.1;const N=b.x-b.lx,E=b.y-b.ly,O=Math.hypot(N,E);b.v=O,b.vs+=(O-b.vs)*.1,b.vs=Math.min(100,b.vs),b.lx=b.x,b.ly=b.y,b.a=Math.atan2(E,N),a&&(a.style.setProperty("--x",`${b.sx}px`),a.style.setProperty("--y",`${b.sy}px`)),f(w),p(),n.current=requestAnimationFrame(g)},x=w=>{if(!l.bounding)return;const{mouse:b}=l;b.x=w.pageX-l.bounding.left,b.y=w.pageY-l.bounding.top+window.scrollY,b.set||(b.sx=b.x,b.sy=b.y,b.lx=b.x,b.ly=b.y,b.set=!0)},j=()=>{u(),d()};return u(),d(),window.addEventListener("resize",j),window.addEventListener("mousemove",x),n.current=requestAnimationFrame(g),()=>{window.removeEventListener("resize",j),window.removeEventListener("mousemove",x),n.current&&cancelAnimationFrame(n.current)}},[]),i.jsxs("div",{ref:t,className:"waves-background",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"hidden",pointerEvents:"none"},children:[i.jsx("div",{className:"waves-cursor",style:{position:"absolute",top:0,left:0,width:"0.5rem",height:"0.5rem",background:"hsl(var(--primary) / 0.3)",borderRadius:"50%",transform:"translate3d(calc(var(--x, -0.5rem) - 50%), calc(var(--y, 50%) - 50%), 0)",willChange:"transform",pointerEvents:"none"}}),i.jsx("svg",{ref:e,style:{display:"block",width:"100%",height:"100%"},children:i.jsx("style",{children:` +For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return y.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},tbe=l8,nbe=c8,rbe=u8,b8=d8,w8=f8,j8=g8,S8=x8,_8=m8,N8=v8;const bn=tbe,mr=nbe,abe=rbe,C8=y.forwardRef(({className:e,...t},n)=>i.jsx(b8,{className:ce("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));C8.displayName=b8.displayName;const cn=y.forwardRef(({className:e,...t},n)=>i.jsxs(abe,{children:[i.jsx(C8,{}),i.jsx(w8,{ref:n,className:ce("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...t})]}));cn.displayName=w8.displayName;const un=({className:e,...t})=>i.jsx("div",{className:ce("flex flex-col space-y-2 text-center sm:text-left",e),...t});un.displayName="AlertDialogHeader";const dn=({className:e,...t})=>i.jsx("div",{className:ce("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});dn.displayName="AlertDialogFooter";const fn=y.forwardRef(({className:e,...t},n)=>i.jsx(_8,{ref:n,className:ce("text-lg font-semibold",e),...t}));fn.displayName=_8.displayName;const hn=y.forwardRef(({className:e,...t},n)=>i.jsx(N8,{ref:n,className:ce("text-sm text-muted-foreground",e),...t}));hn.displayName=N8.displayName;const mn=y.forwardRef(({className:e,...t},n)=>i.jsx(j8,{ref:n,className:ce(xh(),e),...t}));mn.displayName=j8.displayName;const pn=y.forwardRef(({className:e,...t},n)=>i.jsx(S8,{ref:n,className:ce(xh({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));pn.displayName=S8.displayName;function ibe(){return i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"系统设置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理您的应用偏好设置"})]})}),i.jsxs(dl,{defaultValue:"appearance",className:"w-full",children:[i.jsxs(eo,{className:"grid w-full grid-cols-2 sm:grid-cols-4 gap-0.5 sm:gap-1 h-auto p-1",children:[i.jsxs(Rt,{value:"appearance",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx(pF,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"外观"})]}),i.jsxs(Rt,{value:"security",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx($ge,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"安全"})]}),i.jsxs(Rt,{value:"other",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx(Fa,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"其他"})]}),i.jsxs(Rt,{value:"about",className:"gap-1 sm:gap-2 text-xs sm:text-sm px-2 sm:px-3 py-2",children:[i.jsx(Mu,{className:"h-3.5 w-3.5 sm:h-4 sm:w-4",strokeWidth:2,fill:"none"}),i.jsx("span",{children:"关于"})]})]}),i.jsxs(Wt,{className:"h-[calc(100vh-240px)] sm:h-[calc(100vh-280px)] mt-4 sm:mt-6",children:[i.jsx(sn,{value:"appearance",className:"mt-0",children:i.jsx(sbe,{})}),i.jsx(sn,{value:"security",className:"mt-0",children:i.jsx(obe,{})}),i.jsx(sn,{value:"other",className:"mt-0",children:i.jsx(lbe,{})}),i.jsx(sn,{value:"about",className:"mt-0",children:i.jsx(cbe,{})})]})]})]})}function gL(e){const t=document.documentElement,r={blue:{hsl:"221.2 83.2% 53.3%",darkHsl:"217.2 91.2% 59.8%",gradient:null},purple:{hsl:"271 91% 65%",darkHsl:"270 95% 75%",gradient:null},green:{hsl:"142 71% 45%",darkHsl:"142 76% 36%",gradient:null},orange:{hsl:"25 95% 53%",darkHsl:"20 90% 48%",gradient:null},pink:{hsl:"330 81% 60%",darkHsl:"330 85% 70%",gradient:null},red:{hsl:"0 84% 60%",darkHsl:"0 90% 70%",gradient:null},"gradient-sunset":{hsl:"15 95% 60%",darkHsl:"15 95% 65%",gradient:"linear-gradient(135deg, hsl(25 95% 53%) 0%, hsl(330 81% 60%) 100%)"},"gradient-ocean":{hsl:"200 90% 55%",darkHsl:"200 90% 60%",gradient:"linear-gradient(135deg, hsl(221.2 83.2% 53.3%) 0%, hsl(189 94% 43%) 100%)"},"gradient-forest":{hsl:"150 70% 45%",darkHsl:"150 75% 40%",gradient:"linear-gradient(135deg, hsl(142 71% 45%) 0%, hsl(158 64% 52%) 100%)"},"gradient-aurora":{hsl:"310 85% 65%",darkHsl:"310 90% 70%",gradient:"linear-gradient(135deg, hsl(271 91% 65%) 0%, hsl(330 81% 60%) 100%)"},"gradient-fire":{hsl:"15 95% 55%",darkHsl:"15 95% 60%",gradient:"linear-gradient(135deg, hsl(0 84% 60%) 0%, hsl(25 95% 53%) 100%)"},"gradient-twilight":{hsl:"250 90% 60%",darkHsl:"250 95% 65%",gradient:"linear-gradient(135deg, hsl(239 84% 67%) 0%, hsl(271 91% 65%) 100%)"}}[e];if(r)t.style.setProperty("--primary",r.hsl),r.gradient?(t.style.setProperty("--primary-gradient",r.gradient),t.classList.add("has-gradient")):(t.style.removeProperty("--primary-gradient"),t.classList.remove("has-gradient"));else if(e.startsWith("#")){const a=s=>{s=s.replace("#","");const l=parseInt(s.substring(0,2),16)/255,u=parseInt(s.substring(2,4),16)/255,d=parseInt(s.substring(4,6),16)/255,f=Math.max(l,u,d),m=Math.min(l,u,d);let p=0,g=0;const x=(f+m)/2;if(f!==m){const j=f-m;switch(g=x>.5?j/(2-f-m):j/(f+m),f){case l:p=((u-d)/j+(ulocalStorage.getItem("accent-color")||"blue");y.useEffect(()=>{const f=localStorage.getItem("accent-color")||"blue";gL(f)},[]);const d=f=>{u(f),localStorage.setItem("accent-color",f),gL(f)};return i.jsxs("div",{className:"space-y-6 sm:space-y-8",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题模式"}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 sm:gap-4",children:[i.jsx(o_,{value:"light",current:e,onChange:t,label:"浅色",description:"始终使用浅色主题"}),i.jsx(o_,{value:"dark",current:e,onChange:t,label:"深色",description:"始终使用深色主题"}),i.jsx(o_,{value:"system",current:e,onChange:t,label:"跟随系统",description:"根据系统设置自动切换"})]})]}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"主题色"}),i.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"单色"}),i.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[i.jsx(Sa,{value:"blue",current:l,onChange:d,label:"蓝色",colorClass:"bg-blue-500"}),i.jsx(Sa,{value:"purple",current:l,onChange:d,label:"紫色",colorClass:"bg-purple-500"}),i.jsx(Sa,{value:"green",current:l,onChange:d,label:"绿色",colorClass:"bg-green-500"}),i.jsx(Sa,{value:"orange",current:l,onChange:d,label:"橙色",colorClass:"bg-orange-500"}),i.jsx(Sa,{value:"pink",current:l,onChange:d,label:"粉色",colorClass:"bg-pink-500"}),i.jsx(Sa,{value:"red",current:l,onChange:d,label:"红色",colorClass:"bg-red-500"})]})]}),i.jsxs("div",{children:[i.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"渐变色"}),i.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-2 sm:gap-3",children:[i.jsx(Sa,{value:"gradient-sunset",current:l,onChange:d,label:"日落",colorClass:"bg-gradient-to-r from-orange-500 to-pink-500"}),i.jsx(Sa,{value:"gradient-ocean",current:l,onChange:d,label:"海洋",colorClass:"bg-gradient-to-r from-blue-500 to-cyan-500"}),i.jsx(Sa,{value:"gradient-forest",current:l,onChange:d,label:"森林",colorClass:"bg-gradient-to-r from-green-500 to-emerald-500"}),i.jsx(Sa,{value:"gradient-aurora",current:l,onChange:d,label:"极光",colorClass:"bg-gradient-to-r from-purple-500 to-pink-500"}),i.jsx(Sa,{value:"gradient-fire",current:l,onChange:d,label:"烈焰",colorClass:"bg-gradient-to-r from-red-500 to-orange-500"}),i.jsx(Sa,{value:"gradient-twilight",current:l,onChange:d,label:"暮光",colorClass:"bg-gradient-to-r from-indigo-500 to-purple-500"})]})]}),i.jsxs("div",{children:[i.jsx("h4",{className:"text-xs sm:text-sm font-medium mb-2 sm:mb-3",children:"自定义颜色"}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-4",children:[i.jsx("div",{className:"flex-1",children:i.jsx("input",{type:"color",value:l.startsWith("#")?l:"#3b82f6",onChange:f=>d(f.target.value),className:"h-10 sm:h-12 w-full rounded-lg border-2 border-border cursor-pointer",title:"选择自定义颜色"})}),i.jsx("div",{className:"flex-1",children:i.jsx(Ne,{type:"text",value:l,onChange:f=>d(f.target.value),placeholder:"#3b82f6",className:"font-mono text-sm"})})]}),i.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground mt-2",children:"点击色块选择颜色,或手动输入 HEX 颜色代码"})]})]})]}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"动画效果"}),i.jsxs("div",{className:"space-y-2 sm:space-y-3",children:[i.jsx("div",{className:"rounded-lg border bg-card p-3 sm:p-4",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5 flex-1",children:[i.jsx(Q,{htmlFor:"animations",className:"text-base font-medium cursor-pointer",children:"启用动画效果"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后将禁用所有过渡动画和特效,提升性能"})]}),i.jsx(lt,{id:"animations",checked:n,onCheckedChange:r})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-4",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5 flex-1",children:[i.jsx(Q,{htmlFor:"waves-background",className:"text-base font-medium cursor-pointer",children:"登录页波浪背景"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭后登录页将使用纯色背景,适合低性能设备"})]}),i.jsx(lt,{id:"waves-background",checked:a,onCheckedChange:s})]})})]})]})]})}function obe(){const e=la(),[t,n]=y.useState(""),[r,a]=y.useState(""),[s,l]=y.useState(!1),[u,d]=y.useState(!1),[f,m]=y.useState(!1),[p,g]=y.useState(!1),[x,j]=y.useState(!1),[w,b]=y.useState(!1),[N,E]=y.useState(""),[O,A]=y.useState(!1),{toast:C}=yr(),k=y.useMemo(()=>jye(r),[r]),T=()=>localStorage.getItem("access-token")||"",M=async q=>{try{await navigator.clipboard.writeText(q),j(!0),C({title:"复制成功",description:"Token 已复制到剪贴板"}),setTimeout(()=>j(!1),2e3)}catch{C({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},R=async()=>{if(!r.trim()){C({title:"输入错误",description:"请输入新的 Token",variant:"destructive"});return}if(!k.isValid){const q=k.rules.filter(G=>!G.passed).map(G=>G.label).join(", ");C({title:"格式错误",description:`Token 不符合要求: ${q}`,variant:"destructive"});return}m(!0);try{const q=T(),G=await fetch("/api/webui/auth/update",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${q}`},body:JSON.stringify({new_token:r.trim()})}),L=await G.json();G.ok&&L.success?(localStorage.setItem("access-token",r.trim()),a(""),t&&n(r.trim()),C({title:"更新成功",description:"Access Token 已更新,即将跳转到登录页"}),setTimeout(()=>{localStorage.removeItem("access-token"),e({to:"/auth"})},1500)):C({title:"更新失败",description:L.message||"无法更新 Token",variant:"destructive"})}catch(q){console.error("更新 Token 错误:",q),C({title:"更新失败",description:"连接服务器失败",variant:"destructive"})}finally{m(!1)}},B=async()=>{g(!0);try{const q=T(),G=await fetch("/api/webui/auth/regenerate",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${q}`}}),L=await G.json();G.ok&&L.success?(localStorage.setItem("access-token",L.token),n(L.token),E(L.token),b(!0),A(!1),C({title:"生成成功",description:"新的 Access Token 已生成,请及时保存"})):C({title:"生成失败",description:L.message||"无法生成新 Token",variant:"destructive"})}catch(q){console.error("生成 Token 错误:",q),C({title:"生成失败",description:"连接服务器失败",variant:"destructive"})}finally{g(!1)}},$=async()=>{try{await navigator.clipboard.writeText(N),A(!0),C({title:"复制成功",description:"Token 已复制到剪贴板"})}catch{C({title:"复制失败",description:"请手动复制 Token",variant:"destructive"})}},H=()=>{b(!1),setTimeout(()=>{E(""),A(!1)},300),setTimeout(()=>{localStorage.removeItem("access-token"),e({to:"/auth"})},500)},V=q=>{q||H()};return i.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[i.jsx(sr,{open:w,onOpenChange:V,children:i.jsxs(Kn,{className:"sm:max-w-md",children:[i.jsxs(Xn,{children:[i.jsxs(Zn,{className:"flex items-center gap-2",children:[i.jsx(Kc,{className:"h-5 w-5 text-yellow-500"}),"新的 Access Token"]}),i.jsx(vr,{children:"这是您的新 Token,请立即保存。关闭此窗口后将跳转到登录页面。"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"rounded-lg border-2 border-primary/20 bg-primary/5 p-4",children:[i.jsx(Q,{className:"text-xs text-muted-foreground mb-2 block",children:"您的新 Token (64位安全令牌)"}),i.jsx("div",{className:"font-mono text-sm break-all select-all bg-background p-3 rounded border",children:N})]}),i.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Kc,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5"}),i.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[i.jsx("p",{className:"font-semibold",children:"重要提示"}),i.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[i.jsx("li",{children:"此 Token 仅显示一次,关闭后无法再查看"}),i.jsx("li",{children:"请立即复制并保存到安全的位置"}),i.jsx("li",{children:"关闭窗口后将自动跳转到登录页面"}),i.jsx("li",{children:"请使用新 Token 重新登录系统"})]})]})]})})]}),i.jsxs(Br,{className:"gap-2 sm:gap-0",children:[i.jsx(oe,{variant:"outline",onClick:$,className:"gap-2",children:O?i.jsxs(i.Fragment,{children:[i.jsx(ol,{className:"h-4 w-4 text-green-500"}),"已复制"]}):i.jsxs(i.Fragment,{children:[i.jsx(QN,{className:"h-4 w-4"}),"复制 Token"]})}),i.jsx(oe,{onClick:H,children:"我已保存,关闭"})]})]})}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"当前 Access Token"}),i.jsx("div",{className:"space-y-3 sm:space-y-4",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"current-token",className:"text-sm",children:"您的访问令牌"}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[i.jsxs("div",{className:"relative flex-1",children:[i.jsx(Ne,{id:"current-token",type:s?"text":"password",value:t||T(),readOnly:!0,className:"pr-10 font-mono text-sm",placeholder:"点击查看按钮显示 Token"}),i.jsx("button",{onClick:()=>{t||n(T()),l(!s)},className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:s?"隐藏":"显示",children:s?i.jsx(eC,{className:"h-4 w-4 text-muted-foreground"}):i.jsx(Va,{className:"h-4 w-4 text-muted-foreground"})})]}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[i.jsx(oe,{variant:"outline",size:"icon",onClick:()=>M(T()),title:"复制到剪贴板",className:"flex-shrink-0",children:x?i.jsx(ol,{className:"h-4 w-4 text-green-500"}):i.jsx(QN,{className:"h-4 w-4"})}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{variant:"outline",disabled:p,className:"gap-2 flex-1 sm:flex-none",children:[i.jsx(is,{className:ce("h-4 w-4",p&&"animate-spin")}),i.jsx("span",{className:"hidden sm:inline",children:"重新生成"}),i.jsx("span",{className:"sm:hidden",children:"生成"})]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认重新生成 Token"}),i.jsx(hn,{children:"这将生成一个新的 64 位安全令牌,并使当前 Token 立即失效。 您需要使用新 Token 重新登录系统。此操作不可撤销,确定要继续吗?"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:B,children:"确认生成"})]})]})]})]})]}),i.jsx("p",{className:"text-[10px] sm:text-xs text-muted-foreground",children:"请妥善保管您的 Access Token,不要泄露给他人"})]})})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"自定义 Access Token"}),i.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"new-token",className:"text-sm",children:"新的访问令牌"}),i.jsxs("div",{className:"relative",children:[i.jsx(Ne,{id:"new-token",type:u?"text":"password",value:r,onChange:q=>a(q.target.value),className:"pr-10 font-mono text-sm",placeholder:"输入自定义 Token"}),i.jsx("button",{onClick:()=>d(!u),className:"absolute right-2 top-1/2 -translate-y-1/2 p-1.5 hover:bg-accent rounded",title:u?"隐藏":"显示",children:u?i.jsx(eC,{className:"h-4 w-4 text-muted-foreground"}):i.jsx(Va,{className:"h-4 w-4 text-muted-foreground"})})]}),r&&i.jsxs("div",{className:"mt-3 space-y-2 p-3 rounded-lg bg-muted/50",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"Token 安全要求:"}),i.jsx("div",{className:"space-y-1.5",children:k.rules.map(q=>i.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[q.passed?i.jsx(Pr,{className:"h-4 w-4 text-green-500 flex-shrink-0"}):i.jsx(ZN,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),i.jsx("span",{className:ce(q.passed?"text-green-600 dark:text-green-400":"text-muted-foreground"),children:q.label})]},q.id))}),k.isValid&&i.jsx("div",{className:"mt-2 pt-2 border-t border-border",children:i.jsxs("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[i.jsx(ol,{className:"h-4 w-4"}),i.jsx("span",{className:"font-medium",children:"Token 格式正确,可以使用"})]})})]})]}),i.jsx(oe,{onClick:R,disabled:f||!k.isValid||!r,className:"w-full sm:w-auto",children:f?"更新中...":"更新自定义 Token"})]})]}),i.jsxs("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3 sm:p-4",children:[i.jsx("h4",{className:"text-sm sm:text-base font-semibold text-yellow-900 dark:text-yellow-200 mb-2",children:"安全提示"}),i.jsxs("ul",{className:"text-xs sm:text-sm text-yellow-800 dark:text-yellow-300 space-y-1 list-disc list-inside",children:[i.jsx("li",{children:"重新生成 Token 会创建系统随机生成的 64 位安全令牌"}),i.jsx("li",{children:"自定义 Token 必须满足所有安全要求才能使用"}),i.jsx("li",{children:"更新 Token 后,旧的 Token 将立即失效"}),i.jsx("li",{children:"请在安全的环境下查看和复制 Token"}),i.jsx("li",{children:"如果怀疑 Token 泄露,请立即重新生成或更新"}),i.jsx("li",{children:"建议使用系统生成的 Token 以获得最高安全性"})]})]})]})}function lbe(){const e=la(),{toast:t}=yr(),[n,r]=y.useState(!1),a=async()=>{r(!0);try{const s=localStorage.getItem("access-token"),l=await fetch("/api/webui/setup/reset",{method:"POST",headers:{Authorization:`Bearer ${s}`}}),u=await l.json();l.ok&&u.success?(t({title:"重置成功",description:"即将进入初次配置向导"}),setTimeout(()=>{e({to:"/setup"})},1e3)):t({title:"重置失败",description:u.message||"无法重置配置状态",variant:"destructive"})}catch(s){console.error("重置配置状态错误:",s),t({title:"重置失败",description:"连接服务器失败",variant:"destructive"})}finally{r(!1)}};return i.jsx("div",{className:"space-y-4 sm:space-y-6",children:i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"配置向导"}),i.jsxs("div",{className:"space-y-3 sm:space-y-4",children:[i.jsx("div",{className:"space-y-2",children:i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"重新进行初次配置向导,可以帮助您重新设置系统的基础配置。"})}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{variant:"outline",disabled:n,className:"gap-2",children:[i.jsx(Cge,{className:ce("h-4 w-4",n&&"animate-spin")}),"重新进行初次配置"]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认重新配置"}),i.jsx(hn,{children:"这将带您重新进入初次配置向导。您可以重新设置系统的基础配置项。确定要继续吗?"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:a,children:"确认重置"})]})]})]})]})]})})}function cbe(){return i.jsxs("div",{className:"space-y-4 sm:space-y-6",children:[i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsxs("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:["关于 ",uE]}),i.jsxs("div",{className:"space-y-2 text-xs sm:text-sm text-muted-foreground",children:[i.jsxs("p",{children:["版本: ",cE]}),i.jsx("p",{children:"麦麦(MaiBot)的现代化 Web 管理界面"})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"作者"}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx("p",{className:"text-sm font-medium",children:"MaiBot 核心"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"Mai-with-u"})]}),i.jsxs("div",{className:"space-y-1",children:[i.jsx("p",{className:"text-sm font-medium",children:"WebUI"}),i.jsxs("p",{className:"text-xs sm:text-sm text-muted-foreground",children:["Mai-with-u ",i.jsx("a",{href:"https://github.com/DrSmoothl",target:"_blank",rel:"noopener noreferrer",className:"text-primary underline",children:"@MotricSeven"})]})]})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"技术栈"}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 text-xs sm:text-sm text-muted-foreground",children:[i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"前端框架"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"React 19.2.0"}),i.jsx("li",{children:"TypeScript 5.7.2"}),i.jsx("li",{children:"Vite 6.0.7"}),i.jsx("li",{children:"TanStack Router 1.94.2"})]})]}),i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"UI 组件"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"shadcn/ui"}),i.jsx("li",{children:"Radix UI"}),i.jsx("li",{children:"Tailwind CSS 3.4.17"}),i.jsx("li",{children:"Lucide Icons"})]})]}),i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"后端"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"Python 3.12+"}),i.jsx("li",{children:"FastAPI"}),i.jsx("li",{children:"Uvicorn"}),i.jsx("li",{children:"WebSocket"})]})]}),i.jsxs("div",{className:"space-y-1.5",children:[i.jsx("p",{className:"font-medium text-foreground",children:"构建工具"}),i.jsxs("ul",{className:"space-y-0.5 list-disc list-inside",children:[i.jsx("li",{children:"Bun / npm"}),i.jsx("li",{children:"ESLint 9.17.0"}),i.jsx("li",{children:"PostCSS"})]})]})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源库感谢"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mb-3",children:"本项目使用了以下优秀的开源库,感谢他们的贡献:"}),i.jsx(Wt,{className:"h-[300px] sm:h-[400px]",children:i.jsxs("div",{className:"space-y-4 pr-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"UI 框架与组件"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"React",description:"用户界面构建库",license:"MIT"}),i.jsx(an,{name:"shadcn/ui",description:"优雅的 React 组件库",license:"MIT"}),i.jsx(an,{name:"Radix UI",description:"无样式的可访问组件库",license:"MIT"}),i.jsx(an,{name:"Tailwind CSS",description:"实用优先的 CSS 框架",license:"MIT"}),i.jsx(an,{name:"Lucide React",description:"精美的图标库",license:"ISC"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"路由与状态管理"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"TanStack Router",description:"类型安全的路由库",license:"MIT"}),i.jsx(an,{name:"Zustand",description:"轻量级状态管理",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"表单处理"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"React Hook Form",description:"高性能表单库",license:"MIT"}),i.jsx(an,{name:"Zod",description:"TypeScript 优先的 schema 验证",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"工具库"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"clsx",description:"条件 className 构建工具",license:"MIT"}),i.jsx(an,{name:"tailwind-merge",description:"Tailwind 类名合并工具",license:"MIT"}),i.jsx(an,{name:"class-variance-authority",description:"组件变体管理",license:"Apache-2.0"}),i.jsx(an,{name:"date-fns",description:"现代化日期处理库",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"动画效果"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"Framer Motion",description:"React 动画库",license:"MIT"}),i.jsx(an,{name:"vaul",description:"抽屉组件动画",license:"MIT"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"后端框架"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"FastAPI",description:"现代化 Python Web 框架",license:"MIT"}),i.jsx(an,{name:"Uvicorn",description:"ASGI 服务器",license:"BSD-3-Clause"}),i.jsx(an,{name:"Pydantic",description:"数据验证库",license:"MIT"}),i.jsx(an,{name:"python-multipart",description:"文件上传支持",license:"Apache-2.0"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"开发工具"}),i.jsxs("div",{className:"grid gap-2 text-xs sm:text-sm",children:[i.jsx(an,{name:"TypeScript",description:"JavaScript 的超集",license:"Apache-2.0"}),i.jsx(an,{name:"Vite",description:"下一代前端构建工具",license:"MIT"}),i.jsx(an,{name:"ESLint",description:"JavaScript 代码检查工具",license:"MIT"}),i.jsx(an,{name:"PostCSS",description:"CSS 转换工具",license:"MIT"})]})]})]})})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6",children:[i.jsx("h3",{className:"text-base sm:text-lg font-semibold mb-3 sm:mb-4",children:"开源许可"}),i.jsxs("div",{className:"space-y-3",children:[i.jsx("div",{className:"rounded-lg bg-primary/5 border border-primary/20 p-3 sm:p-4",children:i.jsxs("div",{className:"flex items-start gap-2 sm:gap-3",children:[i.jsx("div",{className:"flex-shrink-0 mt-0.5",children:i.jsx("div",{className:"rounded-md bg-primary/10 px-2 py-1",children:i.jsx("span",{className:"text-xs sm:text-sm font-bold text-primary",children:"GPLv3"})})}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("p",{className:"text-sm sm:text-base font-semibold text-foreground mb-1",children:"MaiBot WebUI"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目采用 GNU General Public License v3.0 开源许可证。 您可以自由地使用、修改和分发本软件,但必须保持相同的开源许可。"})]})]})}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground",children:"本项目依赖的所有开源库均遵循各自的开源许可证(MIT、Apache-2.0、BSD 等)。 感谢所有开源贡献者的无私奉献。"})]})]})]})}function an({name:e,description:t,license:n}){return i.jsxs("div",{className:"flex items-start justify-between gap-2 rounded-lg border bg-muted/30 p-2.5 sm:p-3",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("p",{className:"font-medium text-foreground truncate",children:e}),i.jsx("p",{className:"text-muted-foreground text-xs mt-0.5",children:t})]}),i.jsx("span",{className:"inline-flex items-center rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-medium text-primary flex-shrink-0",children:n})]})}function o_({value:e,current:t,onChange:n,label:r,description:a}){const s=t===e;return i.jsxs("button",{onClick:()=>n(e),className:ce("relative rounded-lg border-2 p-3 sm:p-4 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",s?"border-primary bg-accent":"border-border"),children:[s&&i.jsx("div",{className:"absolute top-2 right-2 sm:top-3 sm:right-3 h-2 w-2 rounded-full bg-primary"}),i.jsxs("div",{className:"space-y-1",children:[i.jsx("div",{className:"text-sm sm:text-base font-medium",children:r}),i.jsx("div",{className:"text-[10px] sm:text-xs text-muted-foreground",children:a})]}),i.jsxs("div",{className:"mt-2 sm:mt-3 flex gap-1",children:[e==="light"&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-200"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-300"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-400"})]}),e==="dark"&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-700"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-800"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-slate-900"})]}),e==="system"&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-200 to-slate-700"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-300 to-slate-800"}),i.jsx("div",{className:"h-2 w-2 rounded-full bg-gradient-to-r from-slate-400 to-slate-900"})]})]})]})}function Sa({value:e,current:t,onChange:n,label:r,colorClass:a}){const s=t===e;return i.jsxs("button",{onClick:()=>n(e),className:ce("relative rounded-lg border-2 p-2 sm:p-3 text-left transition-all","hover:border-primary/50 hover:bg-accent/50",s?"border-primary bg-accent":"border-border"),children:[s&&i.jsx("div",{className:"absolute top-1.5 right-1.5 sm:top-2 sm:right-2 h-1.5 w-1.5 sm:h-2 sm:w-2 rounded-full bg-primary"}),i.jsxs("div",{className:"flex flex-col items-center gap-1.5 sm:gap-2",children:[i.jsx("div",{className:ce("h-8 w-8 sm:h-10 sm:w-10 rounded-full",a)}),i.jsx("div",{className:"text-[10px] sm:text-xs font-medium text-center",children:r})]})]})}class ube{grad3;p;perm;constructor(t=0){this.grad3=[[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0],[1,0,1],[-1,0,1],[1,0,-1],[-1,0,-1],[0,1,1],[0,-1,1],[0,1,-1],[0,-1,-1]],this.p=[];for(let n=0;n<256;n++)this.p[n]=Math.floor(Math.random()*256);this.perm=[];for(let n=0;n<512;n++)this.perm[n]=this.p[n&255]}dot(t,n,r){return t[0]*n+t[1]*r}mix(t,n,r){return(1-r)*t+r*n}fade(t){return t*t*t*(t*(t*6-15)+10)}perlin2(t,n){const r=Math.floor(t)&255,a=Math.floor(n)&255;t-=Math.floor(t),n-=Math.floor(n);const s=this.fade(t),l=this.fade(n),u=this.perm[r]+a,d=this.perm[u],f=this.perm[u+1],m=this.perm[r+1]+a,p=this.perm[m],g=this.perm[m+1];return this.mix(this.mix(this.dot(this.grad3[d%12],t,n),this.dot(this.grad3[p%12],t-1,n),s),this.mix(this.dot(this.grad3[f%12],t,n-1),this.dot(this.grad3[g%12],t-1,n-1),s),l)}}function dbe(){const e=y.useRef(null),t=y.useRef(null),n=y.useRef(void 0),r=y.useRef({mouse:{x:-10,y:0,lx:0,ly:0,sx:0,sy:0,v:0,vs:0,a:0,set:!1},lines:[],paths:[],noise:new ube(Math.random()),bounding:null});return y.useEffect(()=>{const a=t.current,s=e.current;if(!a||!s)return;const l=r.current,u=()=>{const w=a.getBoundingClientRect();l.bounding=w,s.style.width=`${w.width}px`,s.style.height=`${w.height}px`},d=()=>{if(!l.bounding)return;const{width:w,height:b}=l.bounding;l.lines=[],l.paths.forEach(R=>R.remove()),l.paths=[];const N=10,E=32,O=w+200,A=b+30,C=Math.ceil(O/N),k=Math.ceil(A/E),T=(w-N*C)/2,M=(b-E*k)/2;for(let R=0;R<=C;R++){const B=[];for(let H=0;H<=k;H++){const V={x:T+N*R,y:M+E*H,wave:{x:0,y:0},cursor:{x:0,y:0,vx:0,vy:0}};B.push(V)}const $=document.createElementNS("http://www.w3.org/2000/svg","path");s.appendChild($),l.paths.push($),l.lines.push(B)}},f=w=>{const{lines:b,mouse:N,noise:E}=l;b.forEach(O=>{O.forEach(A=>{const C=E.perlin2((A.x+w*.0125)*.002,(A.y+w*.005)*.0015)*12;A.wave.x=Math.cos(C)*32,A.wave.y=Math.sin(C)*16;const k=A.x-N.sx,T=A.y-N.sy,M=Math.hypot(k,T),R=Math.max(175,N.vs);if(M{const N={x:w.x+w.wave.x+(b?w.cursor.x:0),y:w.y+w.wave.y+(b?w.cursor.y:0)};return N.x=Math.round(N.x*10)/10,N.y=Math.round(N.y*10)/10,N},p=()=>{const{lines:w,paths:b}=l;w.forEach((N,E)=>{let O=m(N[0],!1),A=`M ${O.x} ${O.y}`;N.forEach((C,k)=>{const T=k===N.length-1;O=m(C,!T),A+=`L ${O.x} ${O.y}`}),b[E].setAttribute("d",A)})},g=w=>{const{mouse:b}=l;b.sx+=(b.x-b.sx)*.1,b.sy+=(b.y-b.sy)*.1;const N=b.x-b.lx,E=b.y-b.ly,O=Math.hypot(N,E);b.v=O,b.vs+=(O-b.vs)*.1,b.vs=Math.min(100,b.vs),b.lx=b.x,b.ly=b.y,b.a=Math.atan2(E,N),a&&(a.style.setProperty("--x",`${b.sx}px`),a.style.setProperty("--y",`${b.sy}px`)),f(w),p(),n.current=requestAnimationFrame(g)},x=w=>{if(!l.bounding)return;const{mouse:b}=l;b.x=w.pageX-l.bounding.left,b.y=w.pageY-l.bounding.top+window.scrollY,b.set||(b.sx=b.x,b.sy=b.y,b.lx=b.x,b.ly=b.y,b.set=!0)},j=()=>{u(),d()};return u(),d(),window.addEventListener("resize",j),window.addEventListener("mousemove",x),n.current=requestAnimationFrame(g),()=>{window.removeEventListener("resize",j),window.removeEventListener("mousemove",x),n.current&&cancelAnimationFrame(n.current)}},[]),i.jsxs("div",{ref:t,className:"waves-background",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"hidden",pointerEvents:"none"},children:[i.jsx("div",{className:"waves-cursor",style:{position:"absolute",top:0,left:0,width:"0.5rem",height:"0.5rem",background:"hsl(var(--primary) / 0.3)",borderRadius:"50%",transform:"translate3d(calc(var(--x, -0.5rem) - 50%), calc(var(--y, 50%) - 50%), 0)",willChange:"transform",pointerEvents:"none"}}),i.jsx("svg",{ref:e,style:{display:"block",width:"100%",height:"100%"},children:i.jsx("style",{children:` path { fill: none; stroke: hsl(var(--primary) / 0.20); stroke-width: 1px; } - `})})]})}function fbe(){const e=la();y.useEffect(()=>{localStorage.getItem("access-token")||e({to:"/auth"})},[e])}function O8(){return!!localStorage.getItem("access-token")}function hbe(){const[e,t]=y.useState(""),[n,r]=y.useState(!1),[a,s]=y.useState(""),l=la(),{enableWavesBackground:u,setEnableWavesBackground:d}=bF(),{theme:f,setTheme:m}=oE();y.useEffect(()=>{O8()&&l({to:"/"})},[l]);const g=f==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":f,x=()=>{m(g==="dark"?"light":"dark")},j=async w=>{if(w.preventDefault(),s(""),!e.trim()){s("请输入 Access Token");return}r(!0);try{const b=await fetch("/api/webui/auth/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:e.trim()})}),N=await b.json();if(b.ok&&N.valid){localStorage.setItem("access-token",e.trim());const E=await fetch("/api/webui/setup/status",{method:"GET",headers:{Authorization:`Bearer ${e.trim()}`}}),O=await E.json();E.ok&&O.is_first_setup?l({to:"/setup"}):l({to:"/"})}else s(N.message||"Token 验证失败,请检查后重试")}catch(b){console.error("Token 验证错误:",b),s("连接服务器失败,请检查网络连接")}finally{r(!1)}};return i.jsxs("div",{className:"relative flex min-h-screen items-center justify-center overflow-hidden bg-background p-4",children:[u&&i.jsx(dbe,{}),i.jsxs(Xe,{className:"relative z-10 w-full max-w-md shadow-2xl backdrop-blur-xl bg-card/80 border-border/50",children:[i.jsx("button",{onClick:x,className:"absolute right-4 top-4 rounded-lg p-2 hover:bg-accent transition-colors z-10 text-foreground",title:g==="dark"?"切换到浅色模式":"切换到深色模式",children:g==="dark"?i.jsx(nC,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"}):i.jsx(tC,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"})}),i.jsxs(pt,{className:"space-y-4 text-center",children:[i.jsx("div",{className:"mx-auto flex h-16 w-16 items-center justify-center rounded-2xl bg-primary/10",children:i.jsx(JI,{className:"h-8 w-8 text-primary",strokeWidth:2,fill:"none"})}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(vt,{className:"text-2xl font-bold",children:"欢迎使用 MaiBot"}),i.jsx(Wn,{className:"text-base",children:"请输入您的 Access Token 以继续访问系统"})]})]}),i.jsx(Ct,{children:i.jsxs("form",{onSubmit:j,className:"space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"token",className:"text-sm font-medium",children:"Access Token"}),i.jsxs("div",{className:"relative",children:[i.jsx(oge,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground",strokeWidth:2,fill:"none"}),i.jsx(Ne,{id:"token",type:"password",placeholder:"请输入您的 Access Token",value:e,onChange:w=>t(w.target.value),className:ce("pl-10",a&&"border-red-500 focus-visible:ring-red-500"),disabled:n,autoFocus:!0,autoComplete:"off"})]})]}),a&&i.jsxs("div",{className:"flex items-center gap-2 rounded-md bg-red-50 p-3 text-sm text-red-600 dark:bg-red-950/50 dark:text-red-400",children:[i.jsx(gl,{className:"h-4 w-4 flex-shrink-0",strokeWidth:2,fill:"none"}),i.jsx("span",{children:a})]}),i.jsx(oe,{type:"submit",className:"w-full",disabled:n,children:n?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"mr-2 h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}),"验证中..."]}):"验证并进入"}),i.jsxs(sr,{children:[i.jsx(i8,{asChild:!0,children:i.jsxs("button",{className:"w-full text-center text-sm text-primary hover:text-primary/80 transition-colors underline-offset-4 hover:underline flex items-center justify-center gap-1",children:[i.jsx(Bve,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我没有 Token,我该去哪里获得 Token?"]})}),i.jsxs(Kn,{className:"sm:max-w-md",children:[i.jsxs(Xn,{children:[i.jsxs(Zn,{className:"flex items-center gap-2",children:[i.jsx(JI,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"如何获取 Access Token"]}),i.jsx(vr,{children:"Access Token 是访问 MaiBot WebUI 的唯一凭证,请按以下方式获取"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx(Yge,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),i.jsxs("div",{className:"flex-1 space-y-2",children:[i.jsx("h4",{className:"font-semibold text-sm",children:"方式一:查看启动日志"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"在 MaiBot 启动时,控制台会显示 WebUI Access Token。"}),i.jsxs("div",{className:"rounded bg-background p-2 font-mono text-xs",children:[i.jsx("p",{className:"text-muted-foreground",children:"🔑 WebUI Access Token: abc123..."}),i.jsx("p",{className:"text-muted-foreground",children:"💡 请使用此 Token 登录 WebUI"})]})]})]})}),i.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx(rE,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),i.jsxs("div",{className:"flex-1 space-y-2",children:[i.jsx("h4",{className:"font-semibold text-sm",children:"方式二:查看配置文件"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Token 保存在项目根目录的配置文件中:"}),i.jsx("div",{className:"rounded bg-background p-2 font-mono text-xs break-all",children:i.jsx("code",{className:"text-primary",children:"data/webui.json"})}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["打开此文件,复制 ",i.jsx("code",{className:"px-1 py-0.5 bg-background rounded",children:"access_token"})," 字段的值"]})]})]})}),i.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:i.jsxs("div",{className:"flex gap-2",children:[i.jsx(gl,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),i.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[i.jsx("p",{className:"font-semibold",children:"安全提示"}),i.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[i.jsx("li",{children:"请妥善保管您的 Token,不要泄露给他人"}),i.jsx("li",{children:"如需重置 Token,请在登录后前往系统设置"})]})]})]})})]})]})]}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs("button",{className:"w-full text-center text-sm text-muted-foreground hover:text-foreground transition-colors underline-offset-4 hover:underline flex items-center justify-center gap-1",children:[i.jsx(yh,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我觉得这个界面很卡怎么办?"]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsxs(fn,{className:"flex items-center gap-2",children:[i.jsx(yh,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"关闭背景动画"]}),i.jsx(hn,{children:"背景动画可能会在低性能设备上造成卡顿。关闭动画可以显著提升界面流畅度。"})]}),i.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:i.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭动画后,背景将变为纯色,但不影响任何功能的使用。您可以随时在系统设置中重新开启动画。"})}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>d(!1),children:"关闭动画"})]})]})]})]})})]}),i.jsx("div",{className:"absolute bottom-4 left-0 right-0 text-center text-xs text-muted-foreground",children:i.jsx("p",{children:Sye})})]})}const Xt=y.forwardRef(({className:e,...t},n)=>i.jsx("textarea",{className:ce("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...t}));Xt.displayName="Textarea";var mbe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],pbe=mbe.reduce((e,t)=>{const n=Dh(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),vbe="Separator",yL="horizontal",gbe=["horizontal","vertical"],E8=y.forwardRef((e,t)=>{const{decorative:n,orientation:r=yL,...a}=e,s=ybe(r)?r:yL,u=n?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return i.jsx(pbe.div,{"data-orientation":s,...u,...a,ref:t})});E8.displayName=vbe;function ybe(e){return gbe.includes(e)}var A8=E8;const bh=y.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},a)=>i.jsx(A8,{ref:a,decorative:n,orientation:t,className:ce("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));bh.displayName=A8.displayName;const xbe=Zu("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Ft({className:e,variant:t,...n}){return i.jsx("div",{className:ce(xbe({variant:t}),e),...n})}function bbe({config:e,onChange:t}){const n=a=>{a.trim()&&!e.alias_names.includes(a.trim())&&t({...e,alias_names:[...e.alias_names,a.trim()]})},r=a=>{t({...e,alias_names:e.alias_names.filter((s,l)=>l!==a)})};return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"qq_account",children:"QQ账号 *"}),i.jsx(Ne,{id:"qq_account",type:"number",placeholder:"请输入机器人的QQ账号",value:e.qq_account||"",onChange:a=>t({...e,qq_account:Number(a.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人登录使用的QQ账号"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"nickname",children:"昵称 *"}),i.jsx(Ne,{id:"nickname",placeholder:"请输入机器人的昵称",value:e.nickname,onChange:a=>t({...e,nickname:a.target.value})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的主要称呼名称"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{children:"别名"}),i.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:e.alias_names.map((a,s)=>i.jsxs(Ft,{variant:"secondary",className:"gap-1",children:[a,i.jsx("button",{type:"button",onClick:()=>r(s),className:"ml-1 hover:text-destructive",children:i.jsx(Yh,{className:"h-3 w-3"})})]},s))}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ne,{id:"alias_input",placeholder:"输入别名后按回车添加",onKeyPress:a=>{a.key==="Enter"&&(n(a.target.value),a.target.value="")}}),i.jsx(oe,{type:"button",variant:"outline",onClick:()=>{const a=document.getElementById("alias_input");a&&(n(a.value),a.value="")},children:"添加"})]}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的其他称呼,可以添加多个"})]})]})}function wbe({config:e,onChange:t}){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"personality",children:"人格特征 *"}),i.jsx(Xt,{id:"personality",placeholder:"描述机器人的人格特质和身份特征(建议120字以内)",value:e.personality,onChange:n=>t({...e,personality:n.target.value}),rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:是一个女大学生,现在在读大二,会刷贴吧"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"reply_style",children:"表达风格 *"}),i.jsx(Xt,{id:"reply_style",placeholder:"描述机器人说话的表达风格、表达习惯",value:e.reply_style,onChange:n=>t({...e,reply_style:n.target.value}),rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:回复平淡一些,简短一些,说中文,参考贴吧、知乎和微博的回复风格"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"interest",children:"兴趣 *"}),i.jsx(Xt,{id:"interest",placeholder:"描述机器人感兴趣的话题",value:e.interest,onChange:n=>t({...e,interest:n.target.value}),rows:2}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"会影响机器人对什么话题进行回复"})]}),i.jsx(bh,{}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"plan_style",children:"群聊说话规则 *"}),i.jsx(Xt,{id:"plan_style",placeholder:"机器人在群聊中的行为风格和规则",value:e.plan_style,onChange:n=>t({...e,plan_style:n.target.value}),rows:4}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在群聊中如何行动,例如回复频率、条件等"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"private_plan_style",children:"私聊说话规则 *"}),i.jsx(Xt,{id:"private_plan_style",placeholder:"机器人在私聊中的行为风格和规则",value:e.private_plan_style,onChange:n=>t({...e,private_plan_style:n.target.value}),rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在私聊中的行为方式"})]})]})}function jbe({config:e,onChange:t}){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{htmlFor:"emoji_chance",children:"表情包激活概率"}),i.jsxs("span",{className:"text-sm text-muted-foreground",children:[(e.emoji_chance*100).toFixed(0),"%"]})]}),i.jsx(Ne,{id:"emoji_chance",type:"range",min:"0",max:"1",step:"0.1",value:e.emoji_chance,onChange:n=>t({...e,emoji_chance:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人发送表情包的概率"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"max_reg_num",children:"最大表情包数量"}),i.jsx(Ne,{id:"max_reg_num",type:"number",min:"1",max:"200",value:e.max_reg_num,onChange:n=>t({...e,max_reg_num:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人最多保存的表情包数量"})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"do_replace",children:"达到最大数量时替换"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"开启后会删除旧表情包,关闭则不再收集新表情包"})]}),i.jsx(lt,{id:"do_replace",checked:e.do_replace,onCheckedChange:n=>t({...e,do_replace:n})})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),i.jsx(Ne,{id:"check_interval",type:"number",min:"1",max:"120",value:e.check_interval,onChange:n=>t({...e,check_interval:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包注册、破损、删除的时间间隔"})]}),i.jsx(bh,{}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"steal_emoji",children:"偷取表情包"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人将一些表情包据为己有"})]}),i.jsx(lt,{id:"steal_emoji",checked:e.steal_emoji,onCheckedChange:n=>t({...e,steal_emoji:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"content_filtration",children:"启用表情包过滤"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"只保存符合要求的表情包"})]}),i.jsx(lt,{id:"content_filtration",checked:e.content_filtration,onCheckedChange:n=>t({...e,content_filtration:n})})]}),e.content_filtration&&i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"filtration_prompt",children:"过滤要求"}),i.jsx(Ne,{id:"filtration_prompt",placeholder:"例如:符合公序良俗",value:e.filtration_prompt,onChange:n=>t({...e,filtration_prompt:n.target.value})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"描述表情包应该符合的要求"})]})]})}function Sbe({config:e,onChange:t}){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"enable_tool",children:"启用工具系统"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人使用各种工具增强功能"})]}),i.jsx(lt,{id:"enable_tool",checked:e.enable_tool,onCheckedChange:n=>t({...e,enable_tool:n})})]}),i.jsx(bh,{}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"enable_mood",children:"启用情绪系统"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"让机器人具有情绪变化能力"})]}),i.jsx(lt,{id:"enable_mood",checked:e.enable_mood,onCheckedChange:n=>t({...e,enable_mood:n})})]}),e.enable_mood&&i.jsxs("div",{className:"ml-6 space-y-6 border-l-2 border-primary/20 pl-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"mood_update_threshold",children:"情绪更新阈值"}),i.jsx(Ne,{id:"mood_update_threshold",type:"number",min:"0.1",max:"10",step:"0.1",value:e.mood_update_threshold||1,onChange:n=>t({...e,mood_update_threshold:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"值越高,情绪更新越慢"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"emotion_style",children:"情感特征"}),i.jsx(Xt,{id:"emotion_style",placeholder:"描述情绪的变化情况,例如:情绪较为稳定,但遭遇特定事件时起伏较大",value:e.emotion_style||"",onChange:n=>t({...e,emotion_style:n.target.value}),rows:2}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"影响机器人的情绪变化方式"})]})]}),i.jsx(bh,{}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"all_global",children:"启用全局黑话模式"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人学习和使用群组黑话"})]}),i.jsx(lt,{id:"all_global",checked:e.all_global,onCheckedChange:n=>t({...e,all_global:n})})]})]})}async function rt(e,t){const n=await fetch(e,t);if(n.status===401)throw localStorage.removeItem("access-token"),window.location.href="/auth",new Error("认证失败,请重新登录");return n}function dt(){return{"Content-Type":"application/json",Authorization:`Bearer ${localStorage.getItem("access-token")}`}}async function _be(){const e=await rt("/api/webui/config/bot",{method:"GET",headers:dt()});if(!e.ok)throw new Error("读取Bot配置失败");const n=(await e.json()).config.bot||{};return{qq_account:n.qq_account||0,nickname:n.nickname||"",alias_names:n.alias_names||[]}}async function Nbe(){const e=await rt("/api/webui/config/bot",{method:"GET",headers:dt()});if(!e.ok)throw new Error("读取人格配置失败");const n=(await e.json()).config.personality||{};return{personality:n.personality||"",reply_style:n.reply_style||"",interest:n.interest||"",plan_style:n.plan_style||"",private_plan_style:n.private_plan_style||""}}async function Cbe(){const e=await rt("/api/webui/config/bot",{method:"GET",headers:dt()});if(!e.ok)throw new Error("读取表情包配置失败");const n=(await e.json()).config.emoji||{};return{emoji_chance:n.emoji_chance??.4,max_reg_num:n.max_reg_num??40,do_replace:n.do_replace??!0,check_interval:n.check_interval??10,steal_emoji:n.steal_emoji??!0,content_filtration:n.content_filtration??!1,filtration_prompt:n.filtration_prompt||""}}async function Obe(){const e=await rt("/api/webui/config/bot",{method:"GET",headers:dt()});if(!e.ok)throw new Error("读取其他配置失败");const n=(await e.json()).config,r=n.tool||{},a=n.mood||{},s=n.jargon||{};return{enable_tool:r.enable_tool??!0,enable_mood:a.enable_mood??!1,mood_update_threshold:a.mood_update_threshold,emotion_style:a.emotion_style,all_global:s.all_global??!0}}async function Ebe(e){const t=await rt("/api/webui/config/bot/section/bot",{method:"POST",headers:dt(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"保存Bot基础配置失败")}return await t.json()}async function Abe(e){const t=await rt("/api/webui/config/bot/section/personality",{method:"POST",headers:dt(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"保存人格配置失败")}return await t.json()}async function Tbe(e){const t=await rt("/api/webui/config/bot/section/emoji",{method:"POST",headers:dt(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"保存表情包配置失败")}return await t.json()}async function kbe(e){const t=[];t.push(rt("/api/webui/config/bot/section/tool",{method:"POST",headers:dt(),body:JSON.stringify({enable_tool:e.enable_tool})})),t.push(rt("/api/webui/config/bot/section/jargon",{method:"POST",headers:dt(),body:JSON.stringify({all_global:e.all_global})}));const n={enable_mood:e.enable_mood};e.enable_mood&&(n.mood_update_threshold=e.mood_update_threshold||1,n.emotion_style=e.emotion_style||""),t.push(rt("/api/webui/config/bot/section/mood",{method:"POST",headers:dt(),body:JSON.stringify(n)}));const r=await Promise.all(t);for(const a of r)if(!a.ok){const s=await a.json();throw new Error(s.detail||"保存其他配置失败")}return{success:!0}}async function xL(){const e=localStorage.getItem("access-token"),t=await rt("/api/webui/setup/complete",{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!t.ok){const n=await t.json();throw new Error(n.message||"标记配置完成失败")}return await t.json()}function Mbe(){const e=la(),{toast:t}=yr(),[n,r]=y.useState(0),[a,s]=y.useState(!1),[l,u]=y.useState(!1),[d,f]=y.useState(!0),[m,p]=y.useState({qq_account:0,nickname:"",alias_names:[]}),[g,x]=y.useState({personality:"是一个女大学生,现在在读大二,会刷贴吧。",reply_style:"请回复的平淡一些,简短一些,说中文,不要刻意突出自身学科背景。可以参考贴吧,知乎和微博的回复风格。",interest:"对技术相关话题,游戏和动漫相关话题感兴趣,也对日常话题感兴趣,不喜欢太过沉重严肃的话题",plan_style:`1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用条件符合聊天内容就使用 + `})})]})}function fbe(){const e=la();y.useEffect(()=>{localStorage.getItem("access-token")||e({to:"/auth"})},[e])}function O8(){return!!localStorage.getItem("access-token")}function hbe(){const[e,t]=y.useState(""),[n,r]=y.useState(!1),[a,s]=y.useState(""),l=la(),{enableWavesBackground:u,setEnableWavesBackground:d}=bF(),{theme:f,setTheme:m}=lE();y.useEffect(()=>{O8()&&l({to:"/"})},[l]);const g=f==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":f,x=()=>{m(g==="dark"?"light":"dark")},j=async w=>{if(w.preventDefault(),s(""),!e.trim()){s("请输入 Access Token");return}r(!0);try{const b=await fetch("/api/webui/auth/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:e.trim()})}),N=await b.json();if(b.ok&&N.valid){localStorage.setItem("access-token",e.trim());const E=await fetch("/api/webui/setup/status",{method:"GET",headers:{Authorization:`Bearer ${e.trim()}`}}),O=await E.json();E.ok&&O.is_first_setup?l({to:"/setup"}):l({to:"/"})}else s(N.message||"Token 验证失败,请检查后重试")}catch(b){console.error("Token 验证错误:",b),s("连接服务器失败,请检查网络连接")}finally{r(!1)}};return i.jsxs("div",{className:"relative flex min-h-screen items-center justify-center overflow-hidden bg-background p-4",children:[u&&i.jsx(dbe,{}),i.jsxs(Xe,{className:"relative z-10 w-full max-w-md shadow-2xl backdrop-blur-xl bg-card/80 border-border/50",children:[i.jsx("button",{onClick:x,className:"absolute right-4 top-4 rounded-lg p-2 hover:bg-accent transition-colors z-10 text-foreground",title:g==="dark"?"切换到浅色模式":"切换到深色模式",children:g==="dark"?i.jsx(rC,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"}):i.jsx(nC,{className:"h-5 w-5",strokeWidth:2.5,fill:"none"})}),i.jsxs(pt,{className:"space-y-4 text-center",children:[i.jsx("div",{className:"mx-auto flex h-16 w-16 items-center justify-center rounded-2xl bg-primary/10",children:i.jsx(JI,{className:"h-8 w-8 text-primary",strokeWidth:2,fill:"none"})}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(vt,{className:"text-2xl font-bold",children:"欢迎使用 MaiBot"}),i.jsx(Wn,{className:"text-base",children:"请输入您的 Access Token 以继续访问系统"})]})]}),i.jsx(Ct,{children:i.jsxs("form",{onSubmit:j,className:"space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"token",className:"text-sm font-medium",children:"Access Token"}),i.jsxs("div",{className:"relative",children:[i.jsx(oge,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground",strokeWidth:2,fill:"none"}),i.jsx(Ne,{id:"token",type:"password",placeholder:"请输入您的 Access Token",value:e,onChange:w=>t(w.target.value),className:ce("pl-10",a&&"border-red-500 focus-visible:ring-red-500"),disabled:n,autoFocus:!0,autoComplete:"off"})]})]}),a&&i.jsxs("div",{className:"flex items-center gap-2 rounded-md bg-red-50 p-3 text-sm text-red-600 dark:bg-red-950/50 dark:text-red-400",children:[i.jsx(gl,{className:"h-4 w-4 flex-shrink-0",strokeWidth:2,fill:"none"}),i.jsx("span",{children:a})]}),i.jsx(oe,{type:"submit",className:"w-full",disabled:n,children:n?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"mr-2 h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}),"验证中..."]}):"验证并进入"}),i.jsxs(sr,{children:[i.jsx(i8,{asChild:!0,children:i.jsxs("button",{className:"w-full text-center text-sm text-primary hover:text-primary/80 transition-colors underline-offset-4 hover:underline flex items-center justify-center gap-1",children:[i.jsx(Bve,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我没有 Token,我该去哪里获得 Token?"]})}),i.jsxs(Kn,{className:"sm:max-w-md",children:[i.jsxs(Xn,{children:[i.jsxs(Zn,{className:"flex items-center gap-2",children:[i.jsx(JI,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"如何获取 Access Token"]}),i.jsx(vr,{children:"Access Token 是访问 MaiBot WebUI 的唯一凭证,请按以下方式获取"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx(Yge,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),i.jsxs("div",{className:"flex-1 space-y-2",children:[i.jsx("h4",{className:"font-semibold text-sm",children:"方式一:查看启动日志"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"在 MaiBot 启动时,控制台会显示 WebUI Access Token。"}),i.jsxs("div",{className:"rounded bg-background p-2 font-mono text-xs",children:[i.jsx("p",{className:"text-muted-foreground",children:"🔑 WebUI Access Token: abc123..."}),i.jsx("p",{className:"text-muted-foreground",children:"💡 请使用此 Token 登录 WebUI"})]})]})]})}),i.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx(aE,{className:"h-5 w-5 text-primary flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),i.jsxs("div",{className:"flex-1 space-y-2",children:[i.jsx("h4",{className:"font-semibold text-sm",children:"方式二:查看配置文件"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"Token 保存在项目根目录的配置文件中:"}),i.jsx("div",{className:"rounded bg-background p-2 font-mono text-xs break-all",children:i.jsx("code",{className:"text-primary",children:"data/webui.json"})}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["打开此文件,复制 ",i.jsx("code",{className:"px-1 py-0.5 bg-background rounded",children:"access_token"})," 字段的值"]})]})]})}),i.jsx("div",{className:"rounded-lg border border-yellow-200 dark:border-yellow-900 bg-yellow-50 dark:bg-yellow-950/30 p-3",children:i.jsxs("div",{className:"flex gap-2",children:[i.jsx(gl,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-500 flex-shrink-0 mt-0.5",strokeWidth:2,fill:"none"}),i.jsxs("div",{className:"text-sm text-yellow-800 dark:text-yellow-300 space-y-1",children:[i.jsx("p",{className:"font-semibold",children:"安全提示"}),i.jsxs("ul",{className:"list-disc list-inside space-y-0.5 text-xs",children:[i.jsx("li",{children:"请妥善保管您的 Token,不要泄露给他人"}),i.jsx("li",{children:"如需重置 Token,请在登录后前往系统设置"})]})]})]})})]})]})]}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs("button",{className:"w-full text-center text-sm text-muted-foreground hover:text-foreground transition-colors underline-offset-4 hover:underline flex items-center justify-center gap-1",children:[i.jsx(yh,{className:"h-4 w-4",strokeWidth:2,fill:"none"}),"我觉得这个界面很卡怎么办?"]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsxs(fn,{className:"flex items-center gap-2",children:[i.jsx(yh,{className:"h-5 w-5 text-primary",strokeWidth:2,fill:"none"}),"关闭背景动画"]}),i.jsx(hn,{children:"背景动画可能会在低性能设备上造成卡顿。关闭动画可以显著提升界面流畅度。"})]}),i.jsx("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-2",children:i.jsx("p",{className:"text-sm text-muted-foreground",children:"关闭动画后,背景将变为纯色,但不影响任何功能的使用。您可以随时在系统设置中重新开启动画。"})}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>d(!1),children:"关闭动画"})]})]})]})]})})]}),i.jsx("div",{className:"absolute bottom-4 left-0 right-0 text-center text-xs text-muted-foreground",children:i.jsx("p",{children:Sye})})]})}const Xt=y.forwardRef(({className:e,...t},n)=>i.jsx("textarea",{className:ce("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...t}));Xt.displayName="Textarea";var mbe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],pbe=mbe.reduce((e,t)=>{const n=Dh(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),vbe="Separator",yL="horizontal",gbe=["horizontal","vertical"],E8=y.forwardRef((e,t)=>{const{decorative:n,orientation:r=yL,...a}=e,s=ybe(r)?r:yL,u=n?{role:"none"}:{"aria-orientation":s==="vertical"?s:void 0,role:"separator"};return i.jsx(pbe.div,{"data-orientation":s,...u,...a,ref:t})});E8.displayName=vbe;function ybe(e){return gbe.includes(e)}var A8=E8;const bh=y.forwardRef(({className:e,orientation:t="horizontal",decorative:n=!0,...r},a)=>i.jsx(A8,{ref:a,decorative:n,orientation:t,className:ce("shrink-0 bg-border",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));bh.displayName=A8.displayName;const xbe=Zu("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Ft({className:e,variant:t,...n}){return i.jsx("div",{className:ce(xbe({variant:t}),e),...n})}function bbe({config:e,onChange:t}){const n=a=>{a.trim()&&!e.alias_names.includes(a.trim())&&t({...e,alias_names:[...e.alias_names,a.trim()]})},r=a=>{t({...e,alias_names:e.alias_names.filter((s,l)=>l!==a)})};return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"qq_account",children:"QQ账号 *"}),i.jsx(Ne,{id:"qq_account",type:"number",placeholder:"请输入机器人的QQ账号",value:e.qq_account||"",onChange:a=>t({...e,qq_account:Number(a.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人登录使用的QQ账号"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"nickname",children:"昵称 *"}),i.jsx(Ne,{id:"nickname",placeholder:"请输入机器人的昵称",value:e.nickname,onChange:a=>t({...e,nickname:a.target.value})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的主要称呼名称"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{children:"别名"}),i.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:e.alias_names.map((a,s)=>i.jsxs(Ft,{variant:"secondary",className:"gap-1",children:[a,i.jsx("button",{type:"button",onClick:()=>r(s),className:"ml-1 hover:text-destructive",children:i.jsx(Yh,{className:"h-3 w-3"})})]},s))}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ne,{id:"alias_input",placeholder:"输入别名后按回车添加",onKeyPress:a=>{a.key==="Enter"&&(n(a.target.value),a.target.value="")}}),i.jsx(oe,{type:"button",variant:"outline",onClick:()=>{const a=document.getElementById("alias_input");a&&(n(a.value),a.value="")},children:"添加"})]}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人的其他称呼,可以添加多个"})]})]})}function wbe({config:e,onChange:t}){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"personality",children:"人格特征 *"}),i.jsx(Xt,{id:"personality",placeholder:"描述机器人的人格特质和身份特征(建议120字以内)",value:e.personality,onChange:n=>t({...e,personality:n.target.value}),rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:是一个女大学生,现在在读大二,会刷贴吧"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"reply_style",children:"表达风格 *"}),i.jsx(Xt,{id:"reply_style",placeholder:"描述机器人说话的表达风格、表达习惯",value:e.reply_style,onChange:n=>t({...e,reply_style:n.target.value}),rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"例如:回复平淡一些,简短一些,说中文,参考贴吧、知乎和微博的回复风格"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"interest",children:"兴趣 *"}),i.jsx(Xt,{id:"interest",placeholder:"描述机器人感兴趣的话题",value:e.interest,onChange:n=>t({...e,interest:n.target.value}),rows:2}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"会影响机器人对什么话题进行回复"})]}),i.jsx(bh,{}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"plan_style",children:"群聊说话规则 *"}),i.jsx(Xt,{id:"plan_style",placeholder:"机器人在群聊中的行为风格和规则",value:e.plan_style,onChange:n=>t({...e,plan_style:n.target.value}),rows:4}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在群聊中如何行动,例如回复频率、条件等"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"private_plan_style",children:"私聊说话规则 *"}),i.jsx(Xt,{id:"private_plan_style",placeholder:"机器人在私聊中的行为风格和规则",value:e.private_plan_style,onChange:n=>t({...e,private_plan_style:n.target.value}),rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"定义机器人在私聊中的行为方式"})]})]})}function jbe({config:e,onChange:t}){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{htmlFor:"emoji_chance",children:"表情包激活概率"}),i.jsxs("span",{className:"text-sm text-muted-foreground",children:[(e.emoji_chance*100).toFixed(0),"%"]})]}),i.jsx(Ne,{id:"emoji_chance",type:"range",min:"0",max:"1",step:"0.1",value:e.emoji_chance,onChange:n=>t({...e,emoji_chance:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人发送表情包的概率"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"max_reg_num",children:"最大表情包数量"}),i.jsx(Ne,{id:"max_reg_num",type:"number",min:"1",max:"200",value:e.max_reg_num,onChange:n=>t({...e,max_reg_num:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"机器人最多保存的表情包数量"})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"do_replace",children:"达到最大数量时替换"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"开启后会删除旧表情包,关闭则不再收集新表情包"})]}),i.jsx(lt,{id:"do_replace",checked:e.do_replace,onCheckedChange:n=>t({...e,do_replace:n})})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),i.jsx(Ne,{id:"check_interval",type:"number",min:"1",max:"120",value:e.check_interval,onChange:n=>t({...e,check_interval:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包注册、破损、删除的时间间隔"})]}),i.jsx(bh,{}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"steal_emoji",children:"偷取表情包"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人将一些表情包据为己有"})]}),i.jsx(lt,{id:"steal_emoji",checked:e.steal_emoji,onCheckedChange:n=>t({...e,steal_emoji:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"content_filtration",children:"启用表情包过滤"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"只保存符合要求的表情包"})]}),i.jsx(lt,{id:"content_filtration",checked:e.content_filtration,onCheckedChange:n=>t({...e,content_filtration:n})})]}),e.content_filtration&&i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"filtration_prompt",children:"过滤要求"}),i.jsx(Ne,{id:"filtration_prompt",placeholder:"例如:符合公序良俗",value:e.filtration_prompt,onChange:n=>t({...e,filtration_prompt:n.target.value})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"描述表情包应该符合的要求"})]})]})}function Sbe({config:e,onChange:t}){return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"enable_tool",children:"启用工具系统"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人使用各种工具增强功能"})]}),i.jsx(lt,{id:"enable_tool",checked:e.enable_tool,onCheckedChange:n=>t({...e,enable_tool:n})})]}),i.jsx(bh,{}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"enable_mood",children:"启用情绪系统"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"让机器人具有情绪变化能力"})]}),i.jsx(lt,{id:"enable_mood",checked:e.enable_mood,onCheckedChange:n=>t({...e,enable_mood:n})})]}),e.enable_mood&&i.jsxs("div",{className:"ml-6 space-y-6 border-l-2 border-primary/20 pl-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"mood_update_threshold",children:"情绪更新阈值"}),i.jsx(Ne,{id:"mood_update_threshold",type:"number",min:"0.1",max:"10",step:"0.1",value:e.mood_update_threshold||1,onChange:n=>t({...e,mood_update_threshold:Number(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"值越高,情绪更新越慢"})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx(Q,{htmlFor:"emotion_style",children:"情感特征"}),i.jsx(Xt,{id:"emotion_style",placeholder:"描述情绪的变化情况,例如:情绪较为稳定,但遭遇特定事件时起伏较大",value:e.emotion_style||"",onChange:n=>t({...e,emotion_style:n.target.value}),rows:2}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"影响机器人的情绪变化方式"})]})]}),i.jsx(bh,{}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-1",children:[i.jsx(Q,{htmlFor:"all_global",children:"启用全局黑话模式"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"允许机器人学习和使用群组黑话"})]}),i.jsx(lt,{id:"all_global",checked:e.all_global,onCheckedChange:n=>t({...e,all_global:n})})]})]})}async function rt(e,t){const n=await fetch(e,t);if(n.status===401)throw localStorage.removeItem("access-token"),window.location.href="/auth",new Error("认证失败,请重新登录");return n}function dt(){return{"Content-Type":"application/json",Authorization:`Bearer ${localStorage.getItem("access-token")}`}}async function _be(){const e=await rt("/api/webui/config/bot",{method:"GET",headers:dt()});if(!e.ok)throw new Error("读取Bot配置失败");const n=(await e.json()).config.bot||{};return{qq_account:n.qq_account||0,nickname:n.nickname||"",alias_names:n.alias_names||[]}}async function Nbe(){const e=await rt("/api/webui/config/bot",{method:"GET",headers:dt()});if(!e.ok)throw new Error("读取人格配置失败");const n=(await e.json()).config.personality||{};return{personality:n.personality||"",reply_style:n.reply_style||"",interest:n.interest||"",plan_style:n.plan_style||"",private_plan_style:n.private_plan_style||""}}async function Cbe(){const e=await rt("/api/webui/config/bot",{method:"GET",headers:dt()});if(!e.ok)throw new Error("读取表情包配置失败");const n=(await e.json()).config.emoji||{};return{emoji_chance:n.emoji_chance??.4,max_reg_num:n.max_reg_num??40,do_replace:n.do_replace??!0,check_interval:n.check_interval??10,steal_emoji:n.steal_emoji??!0,content_filtration:n.content_filtration??!1,filtration_prompt:n.filtration_prompt||""}}async function Obe(){const e=await rt("/api/webui/config/bot",{method:"GET",headers:dt()});if(!e.ok)throw new Error("读取其他配置失败");const n=(await e.json()).config,r=n.tool||{},a=n.mood||{},s=n.jargon||{};return{enable_tool:r.enable_tool??!0,enable_mood:a.enable_mood??!1,mood_update_threshold:a.mood_update_threshold,emotion_style:a.emotion_style,all_global:s.all_global??!0}}async function Ebe(e){const t=await rt("/api/webui/config/bot/section/bot",{method:"POST",headers:dt(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"保存Bot基础配置失败")}return await t.json()}async function Abe(e){const t=await rt("/api/webui/config/bot/section/personality",{method:"POST",headers:dt(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"保存人格配置失败")}return await t.json()}async function Tbe(e){const t=await rt("/api/webui/config/bot/section/emoji",{method:"POST",headers:dt(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"保存表情包配置失败")}return await t.json()}async function kbe(e){const t=[];t.push(rt("/api/webui/config/bot/section/tool",{method:"POST",headers:dt(),body:JSON.stringify({enable_tool:e.enable_tool})})),t.push(rt("/api/webui/config/bot/section/jargon",{method:"POST",headers:dt(),body:JSON.stringify({all_global:e.all_global})}));const n={enable_mood:e.enable_mood};e.enable_mood&&(n.mood_update_threshold=e.mood_update_threshold||1,n.emotion_style=e.emotion_style||""),t.push(rt("/api/webui/config/bot/section/mood",{method:"POST",headers:dt(),body:JSON.stringify(n)}));const r=await Promise.all(t);for(const a of r)if(!a.ok){const s=await a.json();throw new Error(s.detail||"保存其他配置失败")}return{success:!0}}async function xL(){const e=localStorage.getItem("access-token"),t=await rt("/api/webui/setup/complete",{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!t.ok){const n=await t.json();throw new Error(n.message||"标记配置完成失败")}return await t.json()}function Mbe(){const e=la(),{toast:t}=yr(),[n,r]=y.useState(0),[a,s]=y.useState(!1),[l,u]=y.useState(!1),[d,f]=y.useState(!0),[m,p]=y.useState({qq_account:0,nickname:"",alias_names:[]}),[g,x]=y.useState({personality:"是一个女大学生,现在在读大二,会刷贴吧。",reply_style:"请回复的平淡一些,简短一些,说中文,不要刻意突出自身学科背景。可以参考贴吧,知乎和微博的回复风格。",interest:"对技术相关话题,游戏和动漫相关话题感兴趣,也对日常话题感兴趣,不喜欢太过沉重严肃的话题",plan_style:`1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用条件符合聊天内容就使用 2.如果相同的内容已经被执行,请不要重复执行 3.请控制你的发言频率,不要太过频繁的发言 4.如果有人对你感到厌烦,请减少回复 5.如果有人对你进行攻击,或者情绪激动,请你以合适的方法应对`,private_plan_style:`1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用条件符合聊天内容就使用 2.如果相同的内容已经被执行,请不要重复执行 -3.某句话如果已经被回复过,不要重复回复`}),[j,w]=y.useState({emoji_chance:.4,max_reg_num:40,do_replace:!0,check_interval:10,steal_emoji:!0,content_filtration:!1,filtration_prompt:"符合公序良俗"}),[b,N]=y.useState({enable_tool:!0,enable_mood:!1,mood_update_threshold:1,emotion_style:"情绪较为稳定,但遭遇特定事件的时候起伏较大",all_global:!0}),E=[{id:"bot-basic",title:"Bot基础",description:"配置机器人的基本信息",icon:_ve},{id:"personality",title:"人格配置",description:"定义机器人的性格和说话风格",icon:gF},{id:"emoji",title:"表情包",description:"配置表情包相关设置",icon:sE},{id:"other",title:"其他设置",description:"工具、情绪系统等配置",icon:Fa},{id:"complete",title:"完成设置",description:"后续配置提示",icon:yh}],O=(n+1)/E.length*100;y.useEffect(()=>{(async()=>{try{f(!0);const[$,H,V,q]=await Promise.all([_be(),Nbe(),Cbe(),Obe()]);p($),x(H),w(V),N(q)}catch($){t({title:"加载配置失败",description:$ instanceof Error?$.message:"无法加载现有配置,将使用默认值",variant:"destructive"})}finally{f(!1)}})()},[t]);const A=async()=>{u(!0);try{switch(n){case 0:await Ebe(m);break;case 1:await Abe(g);break;case 2:await Tbe(j);break;case 3:await kbe(b);break}return t({title:"保存成功",description:`${E[n].title}配置已保存`}),!0}catch(B){return t({title:"保存失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"}),!1}finally{u(!1)}},C=async()=>{await A()&&n{n>0&&r(n-1)},T=async()=>{s(!0);try{if(!await A()){s(!1);return}await xL(),t({title:"配置完成",description:"所有配置已保存,正在跳转..."}),setTimeout(()=>{e({to:"/"})},500)}catch(B){t({title:"完成失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"})}finally{s(!1)}},M=async()=>{try{await xL(),e({to:"/"})}catch(B){t({title:"跳过失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"})}},R=()=>{switch(n){case 0:return i.jsx(bbe,{config:m,onChange:p});case 1:return i.jsx(wbe,{config:g,onChange:x});case 2:return i.jsx(jbe,{config:j,onChange:w});case 3:return i.jsx(Sbe,{config:b,onChange:N});case 4:return i.jsxs("div",{className:"space-y-6 text-center py-8",children:[i.jsx("div",{className:"mx-auto w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center",children:i.jsx(yh,{className:"h-8 w-8 text-primary",strokeWidth:2})}),i.jsxs("div",{className:"space-y-3",children:[i.jsx("h3",{className:"text-xl font-semibold",children:"模型配置"}),i.jsx("p",{className:"text-muted-foreground max-w-md mx-auto",children:"为了让机器人正常工作,您需要配置 AI 模型提供商和模型。"})]}),i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-6 max-w-md mx-auto text-left space-y-4",children:[i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"mt-0.5",children:i.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"1"})}),i.jsxs("div",{children:[i.jsx("p",{className:"font-medium",children:"配置 API 提供商"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → API 提供商"中添加您的 API 提供商信息'})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"mt-0.5",children:i.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"2"})}),i.jsxs("div",{children:[i.jsx("p",{className:"font-medium",children:"添加模型"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型列表"中添加需要使用的模型'})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"mt-0.5",children:i.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"3"})}),i.jsxs("div",{children:[i.jsx("p",{className:"font-medium",children:"配置模型任务"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型任务配置"中为不同任务分配模型'})]})]})]}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"💡 提示:完成向导后,您可以在系统设置中进行详细的模型配置"})]});default:return null}};return i.jsxs("div",{className:"relative flex min-h-screen flex-col items-center justify-center overflow-hidden bg-gradient-to-br from-primary/5 via-background to-secondary/5 p-4 md:p-6",children:[i.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[i.jsx("div",{className:"absolute left-1/4 top-1/4 h-64 w-64 md:h-96 md:w-96 rounded-full bg-primary/5 blur-3xl"}),i.jsx("div",{className:"absolute right-1/4 bottom-1/4 h-64 w-64 md:h-96 md:w-96 rounded-full bg-secondary/5 blur-3xl"})]}),d?i.jsxs("div",{className:"relative z-10 text-center",children:[i.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center",children:i.jsx("div",{className:"h-12 w-12 animate-spin rounded-full border-4 border-primary border-t-transparent"})}),i.jsx("p",{className:"text-lg font-medium",children:"加载配置中..."}),i.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"正在读取现有配置"})]}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"relative z-10 w-full max-w-4xl",children:[i.jsxs("div",{className:"mb-6 md:mb-8 text-center",children:[i.jsx("div",{className:"mx-auto mb-4 flex h-12 w-12 md:h-16 md:w-16 items-center justify-center rounded-2xl bg-primary/10",children:i.jsx(Uge,{className:"h-6 w-6 md:h-8 md:w-8 text-primary",strokeWidth:2,fill:"none"})}),i.jsx("h1",{className:"mb-2 text-2xl md:text-3xl font-bold",children:"首次配置向导"}),i.jsxs("p",{className:"text-sm md:text-base text-muted-foreground",children:["让我们一起完成 ",cE," 的初始配置"]})]}),i.jsxs("div",{className:"mb-6 md:mb-8",children:[i.jsxs("div",{className:"mb-2 flex items-center justify-between text-xs md:text-sm",children:[i.jsxs("span",{className:"text-muted-foreground",children:["步骤 ",n+1," / ",E.length]}),i.jsxs("span",{className:"font-medium text-primary",children:[Math.round(O),"%"]})]}),i.jsx($h,{value:O,className:"h-2"})]}),i.jsx("div",{className:"mb-6 md:mb-8 flex justify-between",children:E.map((B,$)=>{const H=B.icon;return i.jsxs("div",{className:ce("flex flex-1 flex-col items-center gap-1 md:gap-2",$e({to:"/"}),className:"gap-2 w-full sm:w-auto",children:[i.jsx(Ag,{className:"h-4 w-4"}),"返回首页"]}),i.jsxs(oe,{size:"lg",variant:"outline",onClick:()=>window.history.back(),className:"gap-2 w-full sm:w-auto",children:[i.jsx(fF,{className:"h-4 w-4"}),"返回上一页"]})]}),i.jsx("div",{className:"mt-12 pt-8 border-t border-border",children:i.jsx("p",{className:"text-sm text-muted-foreground",children:"如果您认为这是一个错误,请联系系统管理员"})})]})})}var k8=["PageUp","PageDown"],M8=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],P8={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Qu="Slider",[iC,Pbe,Rbe]=Ph(Qu),[R8]=gr(Qu,[Rbe]),[Dbe,Hy]=R8(Qu),D8=y.forwardRef((e,t)=>{const{name:n,min:r=0,max:a=100,step:s=1,orientation:l="horizontal",disabled:u=!1,minStepsBetweenThumbs:d=0,defaultValue:f=[r],value:m,onValueChange:p=()=>{},onValueCommit:g=()=>{},inverted:x=!1,form:j,...w}=e,b=y.useRef(new Set),N=y.useRef(0),O=l==="horizontal"?$be:Ibe,[A=[],C]=Ea({prop:m,defaultProp:f,onChange:$=>{[...b.current][N.current]?.focus(),p($)}}),k=y.useRef(A);function T($){const H=Fbe(A,$);B($,H)}function M($){B($,N.current)}function R(){const $=k.current[N.current];A[N.current]!==$&&g(A)}function B($,H,{commit:V}={commit:!1}){const q=Vbe(s),G=Gbe(Math.round(($-r)/s)*s+r,q),L=Rf(G,[r,a]);C((D=[])=>{const U=zbe(D,L,H);if(Wbe(U,d*s)){N.current=U.indexOf(L);const K=String(U)!==String(D);return K&&V&&g(U),K?U:D}else return D})}return i.jsx(Dbe,{scope:e.__scopeSlider,name:n,disabled:u,min:r,max:a,valueIndexToChangeRef:N,thumbs:b.current,values:A,orientation:l,form:j,children:i.jsx(iC.Provider,{scope:e.__scopeSlider,children:i.jsx(iC.Slot,{scope:e.__scopeSlider,children:i.jsx(O,{"aria-disabled":u,"data-disabled":u?"":void 0,...w,ref:t,onPointerDown:_e(w.onPointerDown,()=>{u||(k.current=A)}),min:r,max:a,inverted:x,onSlideStart:u?void 0:T,onSlideMove:u?void 0:M,onSlideEnd:u?void 0:R,onHomeKeyDown:()=>!u&&B(r,0,{commit:!0}),onEndKeyDown:()=>!u&&B(a,A.length-1,{commit:!0}),onStepKeyDown:({event:$,direction:H})=>{if(!u){const G=k8.includes($.key)||$.shiftKey&&M8.includes($.key)?10:1,L=N.current,D=A[L],U=s*G*H;B(D+U,L,{commit:!0})}}})})})})});D8.displayName=Qu;var[$8,I8]=R8(Qu,{startEdge:"left",endEdge:"right",size:"width",direction:1}),$be=y.forwardRef((e,t)=>{const{min:n,max:r,dir:a,inverted:s,onSlideStart:l,onSlideMove:u,onSlideEnd:d,onStepKeyDown:f,...m}=e,[p,g]=y.useState(null),x=Ue(t,O=>g(O)),j=y.useRef(void 0),w=Fu(a),b=w==="ltr",N=b&&!s||!b&&s;function E(O){const A=j.current||p.getBoundingClientRect(),C=[0,A.width],T=yE(C,N?[n,r]:[r,n]);return j.current=A,T(O-A.left)}return i.jsx($8,{scope:e.__scopeSlider,startEdge:N?"left":"right",endEdge:N?"right":"left",direction:N?1:-1,size:"width",children:i.jsx(L8,{dir:w,"data-orientation":"horizontal",...m,ref:x,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:O=>{const A=E(O.clientX);l?.(A)},onSlideMove:O=>{const A=E(O.clientX);u?.(A)},onSlideEnd:()=>{j.current=void 0,d?.()},onStepKeyDown:O=>{const C=P8[N?"from-left":"from-right"].includes(O.key);f?.({event:O,direction:C?-1:1})}})})}),Ibe=y.forwardRef((e,t)=>{const{min:n,max:r,inverted:a,onSlideStart:s,onSlideMove:l,onSlideEnd:u,onStepKeyDown:d,...f}=e,m=y.useRef(null),p=Ue(t,m),g=y.useRef(void 0),x=!a;function j(w){const b=g.current||m.current.getBoundingClientRect(),N=[0,b.height],O=yE(N,x?[r,n]:[n,r]);return g.current=b,O(w-b.top)}return i.jsx($8,{scope:e.__scopeSlider,startEdge:x?"bottom":"top",endEdge:x?"top":"bottom",size:"height",direction:x?1:-1,children:i.jsx(L8,{"data-orientation":"vertical",...f,ref:p,style:{...f.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:w=>{const b=j(w.clientY);s?.(b)},onSlideMove:w=>{const b=j(w.clientY);l?.(b)},onSlideEnd:()=>{g.current=void 0,u?.()},onStepKeyDown:w=>{const N=P8[x?"from-bottom":"from-top"].includes(w.key);d?.({event:w,direction:N?-1:1})}})})}),L8=y.forwardRef((e,t)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:a,onSlideEnd:s,onHomeKeyDown:l,onEndKeyDown:u,onStepKeyDown:d,...f}=e,m=Hy(Qu,n);return i.jsx($e.span,{...f,ref:t,onKeyDown:_e(e.onKeyDown,p=>{p.key==="Home"?(l(p),p.preventDefault()):p.key==="End"?(u(p),p.preventDefault()):k8.concat(M8).includes(p.key)&&(d(p),p.preventDefault())}),onPointerDown:_e(e.onPointerDown,p=>{const g=p.target;g.setPointerCapture(p.pointerId),p.preventDefault(),m.thumbs.has(g)?g.focus():r(p)}),onPointerMove:_e(e.onPointerMove,p=>{p.target.hasPointerCapture(p.pointerId)&&a(p)}),onPointerUp:_e(e.onPointerUp,p=>{const g=p.target;g.hasPointerCapture(p.pointerId)&&(g.releasePointerCapture(p.pointerId),s(p))})})}),B8="SliderTrack",z8=y.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,a=Hy(B8,n);return i.jsx($e.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...r,ref:t})});z8.displayName=B8;var sC="SliderRange",q8=y.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,a=Hy(sC,n),s=I8(sC,n),l=y.useRef(null),u=Ue(t,l),d=a.values.length,f=a.values.map(g=>H8(g,a.min,a.max)),m=d>1?Math.min(...f):0,p=100-Math.max(...f);return i.jsx($e.span,{"data-orientation":a.orientation,"data-disabled":a.disabled?"":void 0,...r,ref:u,style:{...e.style,[s.startEdge]:m+"%",[s.endEdge]:p+"%"}})});q8.displayName=sC;var oC="SliderThumb",F8=y.forwardRef((e,t)=>{const n=Pbe(e.__scopeSlider),[r,a]=y.useState(null),s=Ue(t,u=>a(u)),l=y.useMemo(()=>r?n().findIndex(u=>u.ref.current===r):-1,[n,r]);return i.jsx(Lbe,{...e,ref:s,index:l})}),Lbe=y.forwardRef((e,t)=>{const{__scopeSlider:n,index:r,name:a,...s}=e,l=Hy(oC,n),u=I8(oC,n),[d,f]=y.useState(null),m=Ue(t,E=>f(E)),p=d?l.form||!!d.closest("form"):!0,g=$y(d),x=l.values[r],j=x===void 0?0:H8(x,l.min,l.max),w=qbe(r,l.values.length),b=g?.[u.size],N=b?Ube(b,j,u.direction):0;return y.useEffect(()=>{if(d)return l.thumbs.add(d),()=>{l.thumbs.delete(d)}},[d,l.thumbs]),i.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[u.startEdge]:`calc(${j}% + ${N}px)`},children:[i.jsx(iC.ItemSlot,{scope:e.__scopeSlider,children:i.jsx($e.span,{role:"slider","aria-label":e["aria-label"]||w,"aria-valuemin":l.min,"aria-valuenow":x,"aria-valuemax":l.max,"aria-orientation":l.orientation,"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,tabIndex:l.disabled?void 0:0,...s,ref:m,style:x===void 0?{display:"none"}:e.style,onFocus:_e(e.onFocus,()=>{l.valueIndexToChangeRef.current=r})})}),p&&i.jsx(U8,{name:a??(l.name?l.name+(l.values.length>1?"[]":""):void 0),form:l.form,value:x},r)]})});F8.displayName=oC;var Bbe="RadioBubbleInput",U8=y.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{const a=y.useRef(null),s=Ue(a,r),l=Dy(t);return y.useEffect(()=>{const u=a.current;if(!u)return;const d=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(d,"value").set;if(l!==t&&m){const p=new Event("input",{bubbles:!0});m.call(u,t),u.dispatchEvent(p)}},[l,t]),i.jsx($e.input,{style:{display:"none"},...n,ref:s,defaultValue:t})});U8.displayName=Bbe;function zbe(e=[],t,n){const r=[...e];return r[n]=t,r.sort((a,s)=>a-s)}function H8(e,t,n){const s=100/(n-t)*(e-t);return Rf(s,[0,100])}function qbe(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function Fbe(e,t){if(e.length===1)return 0;const n=e.map(a=>Math.abs(a-t)),r=Math.min(...n);return n.indexOf(r)}function Ube(e,t,n){const r=e/2,s=yE([0,50],[0,r]);return(r-s(t)*n)*n}function Hbe(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function Wbe(e,t){if(t>0){const n=Hbe(e);return Math.min(...n)>=t}return!0}function yE(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Vbe(e){return(String(e).split(".")[1]||"").length}function Gbe(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}var W8=D8,Ybe=z8,Kbe=q8,Xbe=F8;const xE=y.forwardRef(({className:e,...t},n)=>i.jsxs(W8,{ref:n,className:ce("relative flex w-full touch-none select-none items-center",e),...t,children:[i.jsx(Ybe,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20",children:i.jsx(Kbe,{className:"absolute h-full bg-primary"})}),i.jsx(Xbe,{className:"block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"})]}));xE.displayName=W8.displayName;const Zbe=["top","right","bottom","left"],to=Math.min,na=Math.max,Mg=Math.round,Zp=Math.floor,gi=e=>({x:e,y:e}),Qbe={left:"right",right:"left",bottom:"top",top:"bottom"},Jbe={start:"end",end:"start"};function lC(e,t,n){return na(e,to(t,n))}function cs(e,t){return typeof e=="function"?e(t):e}function us(e){return e.split("-")[0]}function Ju(e){return e.split("-")[1]}function bE(e){return e==="x"?"y":"x"}function wE(e){return e==="y"?"height":"width"}const e0e=new Set(["top","bottom"]);function fi(e){return e0e.has(us(e))?"y":"x"}function jE(e){return bE(fi(e))}function t0e(e,t,n){n===void 0&&(n=!1);const r=Ju(e),a=jE(e),s=wE(a);let l=a==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(l=Pg(l)),[l,Pg(l)]}function n0e(e){const t=Pg(e);return[cC(e),t,cC(t)]}function cC(e){return e.replace(/start|end/g,t=>Jbe[t])}const bL=["left","right"],wL=["right","left"],r0e=["top","bottom"],a0e=["bottom","top"];function i0e(e,t,n){switch(e){case"top":case"bottom":return n?t?wL:bL:t?bL:wL;case"left":case"right":return t?r0e:a0e;default:return[]}}function s0e(e,t,n,r){const a=Ju(e);let s=i0e(us(e),n==="start",r);return a&&(s=s.map(l=>l+"-"+a),t&&(s=s.concat(s.map(cC)))),s}function Pg(e){return e.replace(/left|right|bottom|top/g,t=>Qbe[t])}function o0e(e){return{top:0,right:0,bottom:0,left:0,...e}}function V8(e){return typeof e!="number"?o0e(e):{top:e,right:e,bottom:e,left:e}}function Rg(e){const{x:t,y:n,width:r,height:a}=e;return{width:r,height:a,top:n,left:t,right:t+r,bottom:n+a,x:t,y:n}}function jL(e,t,n){let{reference:r,floating:a}=e;const s=fi(t),l=jE(t),u=wE(l),d=us(t),f=s==="y",m=r.x+r.width/2-a.width/2,p=r.y+r.height/2-a.height/2,g=r[u]/2-a[u]/2;let x;switch(d){case"top":x={x:m,y:r.y-a.height};break;case"bottom":x={x:m,y:r.y+r.height};break;case"right":x={x:r.x+r.width,y:p};break;case"left":x={x:r.x-a.width,y:p};break;default:x={x:r.x,y:r.y}}switch(Ju(t)){case"start":x[l]-=g*(n&&f?-1:1);break;case"end":x[l]+=g*(n&&f?-1:1);break}return x}const l0e=async(e,t,n)=>{const{placement:r="bottom",strategy:a="absolute",middleware:s=[],platform:l}=n,u=s.filter(Boolean),d=await(l.isRTL==null?void 0:l.isRTL(t));let f=await l.getElementRects({reference:e,floating:t,strategy:a}),{x:m,y:p}=jL(f,r,d),g=r,x={},j=0;for(let w=0;w({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:a,rects:s,platform:l,elements:u,middlewareData:d}=t,{element:f,padding:m=0}=cs(e,t)||{};if(f==null)return{};const p=V8(m),g={x:n,y:r},x=jE(a),j=wE(x),w=await l.getDimensions(f),b=x==="y",N=b?"top":"left",E=b?"bottom":"right",O=b?"clientHeight":"clientWidth",A=s.reference[j]+s.reference[x]-g[x]-s.floating[j],C=g[x]-s.reference[x],k=await(l.getOffsetParent==null?void 0:l.getOffsetParent(f));let T=k?k[O]:0;(!T||!await(l.isElement==null?void 0:l.isElement(k)))&&(T=u.floating[O]||s.floating[j]);const M=A/2-C/2,R=T/2-w[j]/2-1,B=to(p[N],R),$=to(p[E],R),H=B,V=T-w[j]-$,q=T/2-w[j]/2+M,G=lC(H,q,V),L=!d.arrow&&Ju(a)!=null&&q!==G&&s.reference[j]/2-(qq<=0)){var $,H;const q=((($=s.flip)==null?void 0:$.index)||0)+1,G=T[q];if(G&&(!(p==="alignment"?E!==fi(G):!1)||B.every(U=>fi(U.placement)===E?U.overflows[0]>0:!0)))return{data:{index:q,overflows:B},reset:{placement:G}};let L=(H=B.filter(D=>D.overflows[0]<=0).sort((D,U)=>D.overflows[1]-U.overflows[1])[0])==null?void 0:H.placement;if(!L)switch(x){case"bestFit":{var V;const D=(V=B.filter(U=>{if(k){const K=fi(U.placement);return K===E||K==="y"}return!0}).map(U=>[U.placement,U.overflows.filter(K=>K>0).reduce((K,J)=>K+J,0)]).sort((U,K)=>U[1]-K[1])[0])==null?void 0:V[0];D&&(L=D);break}case"initialPlacement":L=u;break}if(a!==L)return{reset:{placement:L}}}return{}}}};function SL(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function _L(e){return Zbe.some(t=>e[t]>=0)}const d0e=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...a}=cs(e,t);switch(r){case"referenceHidden":{const s=await wh(t,{...a,elementContext:"reference"}),l=SL(s,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:_L(l)}}}case"escaped":{const s=await wh(t,{...a,altBoundary:!0}),l=SL(s,n.floating);return{data:{escapedOffsets:l,escaped:_L(l)}}}default:return{}}}}},G8=new Set(["left","top"]);async function f0e(e,t){const{placement:n,platform:r,elements:a}=e,s=await(r.isRTL==null?void 0:r.isRTL(a.floating)),l=us(n),u=Ju(n),d=fi(n)==="y",f=G8.has(l)?-1:1,m=s&&d?-1:1,p=cs(t,e);let{mainAxis:g,crossAxis:x,alignmentAxis:j}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return u&&typeof j=="number"&&(x=u==="end"?j*-1:j),d?{x:x*m,y:g*f}:{x:g*f,y:x*m}}const h0e=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:a,y:s,placement:l,middlewareData:u}=t,d=await f0e(t,e);return l===((n=u.offset)==null?void 0:n.placement)&&(r=u.arrow)!=null&&r.alignmentOffset?{}:{x:a+d.x,y:s+d.y,data:{...d,placement:l}}}}},m0e=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:a}=t,{mainAxis:s=!0,crossAxis:l=!1,limiter:u={fn:b=>{let{x:N,y:E}=b;return{x:N,y:E}}},...d}=cs(e,t),f={x:n,y:r},m=await wh(t,d),p=fi(us(a)),g=bE(p);let x=f[g],j=f[p];if(s){const b=g==="y"?"top":"left",N=g==="y"?"bottom":"right",E=x+m[b],O=x-m[N];x=lC(E,x,O)}if(l){const b=p==="y"?"top":"left",N=p==="y"?"bottom":"right",E=j+m[b],O=j-m[N];j=lC(E,j,O)}const w=u.fn({...t,[g]:x,[p]:j});return{...w,data:{x:w.x-n,y:w.y-r,enabled:{[g]:s,[p]:l}}}}}},p0e=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:a,rects:s,middlewareData:l}=t,{offset:u=0,mainAxis:d=!0,crossAxis:f=!0}=cs(e,t),m={x:n,y:r},p=fi(a),g=bE(p);let x=m[g],j=m[p];const w=cs(u,t),b=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(d){const O=g==="y"?"height":"width",A=s.reference[g]-s.floating[O]+b.mainAxis,C=s.reference[g]+s.reference[O]-b.mainAxis;xC&&(x=C)}if(f){var N,E;const O=g==="y"?"width":"height",A=G8.has(us(a)),C=s.reference[p]-s.floating[O]+(A&&((N=l.offset)==null?void 0:N[p])||0)+(A?0:b.crossAxis),k=s.reference[p]+s.reference[O]+(A?0:((E=l.offset)==null?void 0:E[p])||0)-(A?b.crossAxis:0);jk&&(j=k)}return{[g]:x,[p]:j}}}},v0e=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:a,rects:s,platform:l,elements:u}=t,{apply:d=()=>{},...f}=cs(e,t),m=await wh(t,f),p=us(a),g=Ju(a),x=fi(a)==="y",{width:j,height:w}=s.floating;let b,N;p==="top"||p==="bottom"?(b=p,N=g===(await(l.isRTL==null?void 0:l.isRTL(u.floating))?"start":"end")?"left":"right"):(N=p,b=g==="end"?"top":"bottom");const E=w-m.top-m.bottom,O=j-m.left-m.right,A=to(w-m[b],E),C=to(j-m[N],O),k=!t.middlewareData.shift;let T=A,M=C;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(M=O),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(T=E),k&&!g){const B=na(m.left,0),$=na(m.right,0),H=na(m.top,0),V=na(m.bottom,0);x?M=j-2*(B!==0||$!==0?B+$:na(m.left,m.right)):T=w-2*(H!==0||V!==0?H+V:na(m.top,m.bottom))}await d({...t,availableWidth:M,availableHeight:T});const R=await l.getDimensions(u.floating);return j!==R.width||w!==R.height?{reset:{rects:!0}}:{}}}};function Wy(){return typeof window<"u"}function ed(e){return Y8(e)?(e.nodeName||"").toLowerCase():"#document"}function sa(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ni(e){var t;return(t=(Y8(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Y8(e){return Wy()?e instanceof Node||e instanceof sa(e).Node:!1}function Ga(e){return Wy()?e instanceof Element||e instanceof sa(e).Element:!1}function wi(e){return Wy()?e instanceof HTMLElement||e instanceof sa(e).HTMLElement:!1}function NL(e){return!Wy()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof sa(e).ShadowRoot}const g0e=new Set(["inline","contents"]);function Zh(e){const{overflow:t,overflowX:n,overflowY:r,display:a}=Ya(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!g0e.has(a)}const y0e=new Set(["table","td","th"]);function x0e(e){return y0e.has(ed(e))}const b0e=[":popover-open",":modal"];function Vy(e){return b0e.some(t=>{try{return e.matches(t)}catch{return!1}})}const w0e=["transform","translate","scale","rotate","perspective"],j0e=["transform","translate","scale","rotate","perspective","filter"],S0e=["paint","layout","strict","content"];function SE(e){const t=_E(),n=Ga(e)?Ya(e):e;return w0e.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||j0e.some(r=>(n.willChange||"").includes(r))||S0e.some(r=>(n.contain||"").includes(r))}function _0e(e){let t=no(e);for(;wi(t)&&!Du(t);){if(SE(t))return t;if(Vy(t))return null;t=no(t)}return null}function _E(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const N0e=new Set(["html","body","#document"]);function Du(e){return N0e.has(ed(e))}function Ya(e){return sa(e).getComputedStyle(e)}function Gy(e){return Ga(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function no(e){if(ed(e)==="html")return e;const t=e.assignedSlot||e.parentNode||NL(e)&&e.host||Ni(e);return NL(t)?t.host:t}function K8(e){const t=no(e);return Du(t)?e.ownerDocument?e.ownerDocument.body:e.body:wi(t)&&Zh(t)?t:K8(t)}function jh(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const a=K8(e),s=a===((r=e.ownerDocument)==null?void 0:r.body),l=sa(a);if(s){const u=uC(l);return t.concat(l,l.visualViewport||[],Zh(a)?a:[],u&&n?jh(u):[])}return t.concat(a,jh(a,[],n))}function uC(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function X8(e){const t=Ya(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const a=wi(e),s=a?e.offsetWidth:n,l=a?e.offsetHeight:r,u=Mg(n)!==s||Mg(r)!==l;return u&&(n=s,r=l),{width:n,height:r,$:u}}function NE(e){return Ga(e)?e:e.contextElement}function Qc(e){const t=NE(e);if(!wi(t))return gi(1);const n=t.getBoundingClientRect(),{width:r,height:a,$:s}=X8(t);let l=(s?Mg(n.width):n.width)/r,u=(s?Mg(n.height):n.height)/a;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}const C0e=gi(0);function Z8(e){const t=sa(e);return!_E()||!t.visualViewport?C0e:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function O0e(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==sa(e)?!1:t}function xl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const a=e.getBoundingClientRect(),s=NE(e);let l=gi(1);t&&(r?Ga(r)&&(l=Qc(r)):l=Qc(e));const u=O0e(s,n,r)?Z8(s):gi(0);let d=(a.left+u.x)/l.x,f=(a.top+u.y)/l.y,m=a.width/l.x,p=a.height/l.y;if(s){const g=sa(s),x=r&&Ga(r)?sa(r):r;let j=g,w=uC(j);for(;w&&r&&x!==j;){const b=Qc(w),N=w.getBoundingClientRect(),E=Ya(w),O=N.left+(w.clientLeft+parseFloat(E.paddingLeft))*b.x,A=N.top+(w.clientTop+parseFloat(E.paddingTop))*b.y;d*=b.x,f*=b.y,m*=b.x,p*=b.y,d+=O,f+=A,j=sa(w),w=uC(j)}}return Rg({width:m,height:p,x:d,y:f})}function Yy(e,t){const n=Gy(e).scrollLeft;return t?t.left+n:xl(Ni(e)).left+n}function Q8(e,t){const n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-Yy(e,n),a=n.top+t.scrollTop;return{x:r,y:a}}function E0e(e){let{elements:t,rect:n,offsetParent:r,strategy:a}=e;const s=a==="fixed",l=Ni(r),u=t?Vy(t.floating):!1;if(r===l||u&&s)return n;let d={scrollLeft:0,scrollTop:0},f=gi(1);const m=gi(0),p=wi(r);if((p||!p&&!s)&&((ed(r)!=="body"||Zh(l))&&(d=Gy(r)),wi(r))){const x=xl(r);f=Qc(r),m.x=x.x+r.clientLeft,m.y=x.y+r.clientTop}const g=l&&!p&&!s?Q8(l,d):gi(0);return{width:n.width*f.x,height:n.height*f.y,x:n.x*f.x-d.scrollLeft*f.x+m.x+g.x,y:n.y*f.y-d.scrollTop*f.y+m.y+g.y}}function A0e(e){return Array.from(e.getClientRects())}function T0e(e){const t=Ni(e),n=Gy(e),r=e.ownerDocument.body,a=na(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),s=na(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Yy(e);const u=-n.scrollTop;return Ya(r).direction==="rtl"&&(l+=na(t.clientWidth,r.clientWidth)-a),{width:a,height:s,x:l,y:u}}const CL=25;function k0e(e,t){const n=sa(e),r=Ni(e),a=n.visualViewport;let s=r.clientWidth,l=r.clientHeight,u=0,d=0;if(a){s=a.width,l=a.height;const m=_E();(!m||m&&t==="fixed")&&(u=a.offsetLeft,d=a.offsetTop)}const f=Yy(r);if(f<=0){const m=r.ownerDocument,p=m.body,g=getComputedStyle(p),x=m.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,j=Math.abs(r.clientWidth-p.clientWidth-x);j<=CL&&(s-=j)}else f<=CL&&(s+=f);return{width:s,height:l,x:u,y:d}}const M0e=new Set(["absolute","fixed"]);function P0e(e,t){const n=xl(e,!0,t==="fixed"),r=n.top+e.clientTop,a=n.left+e.clientLeft,s=wi(e)?Qc(e):gi(1),l=e.clientWidth*s.x,u=e.clientHeight*s.y,d=a*s.x,f=r*s.y;return{width:l,height:u,x:d,y:f}}function OL(e,t,n){let r;if(t==="viewport")r=k0e(e,n);else if(t==="document")r=T0e(Ni(e));else if(Ga(t))r=P0e(t,n);else{const a=Z8(e);r={x:t.x-a.x,y:t.y-a.y,width:t.width,height:t.height}}return Rg(r)}function J8(e,t){const n=no(e);return n===t||!Ga(n)||Du(n)?!1:Ya(n).position==="fixed"||J8(n,t)}function R0e(e,t){const n=t.get(e);if(n)return n;let r=jh(e,[],!1).filter(u=>Ga(u)&&ed(u)!=="body"),a=null;const s=Ya(e).position==="fixed";let l=s?no(e):e;for(;Ga(l)&&!Du(l);){const u=Ya(l),d=SE(l);!d&&u.position==="fixed"&&(a=null),(s?!d&&!a:!d&&u.position==="static"&&!!a&&M0e.has(a.position)||Zh(l)&&!d&&J8(e,l))?r=r.filter(m=>m!==l):a=u,l=no(l)}return t.set(e,r),r}function D0e(e){let{element:t,boundary:n,rootBoundary:r,strategy:a}=e;const l=[...n==="clippingAncestors"?Vy(t)?[]:R0e(t,this._c):[].concat(n),r],u=l[0],d=l.reduce((f,m)=>{const p=OL(t,m,a);return f.top=na(p.top,f.top),f.right=to(p.right,f.right),f.bottom=to(p.bottom,f.bottom),f.left=na(p.left,f.left),f},OL(t,u,a));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function $0e(e){const{width:t,height:n}=X8(e);return{width:t,height:n}}function I0e(e,t,n){const r=wi(t),a=Ni(t),s=n==="fixed",l=xl(e,!0,s,t);let u={scrollLeft:0,scrollTop:0};const d=gi(0);function f(){d.x=Yy(a)}if(r||!r&&!s)if((ed(t)!=="body"||Zh(a))&&(u=Gy(t)),r){const x=xl(t,!0,s,t);d.x=x.x+t.clientLeft,d.y=x.y+t.clientTop}else a&&f();s&&!r&&a&&f();const m=a&&!r&&!s?Q8(a,u):gi(0),p=l.left+u.scrollLeft-d.x-m.x,g=l.top+u.scrollTop-d.y-m.y;return{x:p,y:g,width:l.width,height:l.height}}function o_(e){return Ya(e).position==="static"}function EL(e,t){if(!wi(e)||Ya(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Ni(e)===n&&(n=n.ownerDocument.body),n}function eU(e,t){const n=sa(e);if(Vy(e))return n;if(!wi(e)){let a=no(e);for(;a&&!Du(a);){if(Ga(a)&&!o_(a))return a;a=no(a)}return n}let r=EL(e,t);for(;r&&x0e(r)&&o_(r);)r=EL(r,t);return r&&Du(r)&&o_(r)&&!SE(r)?n:r||_0e(e)||n}const L0e=async function(e){const t=this.getOffsetParent||eU,n=this.getDimensions,r=await n(e.floating);return{reference:I0e(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function B0e(e){return Ya(e).direction==="rtl"}const z0e={convertOffsetParentRelativeRectToViewportRelativeRect:E0e,getDocumentElement:Ni,getClippingRect:D0e,getOffsetParent:eU,getElementRects:L0e,getClientRects:A0e,getDimensions:$0e,getScale:Qc,isElement:Ga,isRTL:B0e};function tU(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function q0e(e,t){let n=null,r;const a=Ni(e);function s(){var u;clearTimeout(r),(u=n)==null||u.disconnect(),n=null}function l(u,d){u===void 0&&(u=!1),d===void 0&&(d=1),s();const f=e.getBoundingClientRect(),{left:m,top:p,width:g,height:x}=f;if(u||t(),!g||!x)return;const j=Zp(p),w=Zp(a.clientWidth-(m+g)),b=Zp(a.clientHeight-(p+x)),N=Zp(m),O={rootMargin:-j+"px "+-w+"px "+-b+"px "+-N+"px",threshold:na(0,to(1,d))||1};let A=!0;function C(k){const T=k[0].intersectionRatio;if(T!==d){if(!A)return l();T?l(!1,T):r=setTimeout(()=>{l(!1,1e-7)},1e3)}T===1&&!tU(f,e.getBoundingClientRect())&&l(),A=!1}try{n=new IntersectionObserver(C,{...O,root:a.ownerDocument})}catch{n=new IntersectionObserver(C,O)}n.observe(e)}return l(!0),s}function F0e(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:a=!0,ancestorResize:s=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,f=NE(e),m=a||s?[...f?jh(f):[],...jh(t)]:[];m.forEach(N=>{a&&N.addEventListener("scroll",n,{passive:!0}),s&&N.addEventListener("resize",n)});const p=f&&u?q0e(f,n):null;let g=-1,x=null;l&&(x=new ResizeObserver(N=>{let[E]=N;E&&E.target===f&&x&&(x.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var O;(O=x)==null||O.observe(t)})),n()}),f&&!d&&x.observe(f),x.observe(t));let j,w=d?xl(e):null;d&&b();function b(){const N=xl(e);w&&!tU(w,N)&&n(),w=N,j=requestAnimationFrame(b)}return n(),()=>{var N;m.forEach(E=>{a&&E.removeEventListener("scroll",n),s&&E.removeEventListener("resize",n)}),p?.(),(N=x)==null||N.disconnect(),x=null,d&&cancelAnimationFrame(j)}}const U0e=h0e,H0e=m0e,W0e=u0e,V0e=v0e,G0e=d0e,AL=c0e,Y0e=p0e,K0e=(e,t,n)=>{const r=new Map,a={platform:z0e,...n},s={...a.platform,_c:r};return l0e(e,t,{...a,platform:s})};var X0e=typeof document<"u",Z0e=function(){},mv=X0e?y.useLayoutEffect:Z0e;function Dg(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,a;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Dg(e[r],t[r]))return!1;return!0}if(a=Object.keys(e),n=a.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,a[r]))return!1;for(r=n;r--!==0;){const s=a[r];if(!(s==="_owner"&&e.$$typeof)&&!Dg(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function nU(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function TL(e,t){const n=nU(e);return Math.round(t*n)/n}function l_(e){const t=y.useRef(e);return mv(()=>{t.current=e}),t}function Q0e(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:a,elements:{reference:s,floating:l}={},transform:u=!0,whileElementsMounted:d,open:f}=e,[m,p]=y.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[g,x]=y.useState(r);Dg(g,r)||x(r);const[j,w]=y.useState(null),[b,N]=y.useState(null),E=y.useCallback(U=>{U!==k.current&&(k.current=U,w(U))},[]),O=y.useCallback(U=>{U!==T.current&&(T.current=U,N(U))},[]),A=s||j,C=l||b,k=y.useRef(null),T=y.useRef(null),M=y.useRef(m),R=d!=null,B=l_(d),$=l_(a),H=l_(f),V=y.useCallback(()=>{if(!k.current||!T.current)return;const U={placement:t,strategy:n,middleware:g};$.current&&(U.platform=$.current),K0e(k.current,T.current,U).then(K=>{const J={...K,isPositioned:H.current!==!1};q.current&&!Dg(M.current,J)&&(M.current=J,Sl.flushSync(()=>{p(J)}))})},[g,t,n,$,H]);mv(()=>{f===!1&&M.current.isPositioned&&(M.current.isPositioned=!1,p(U=>({...U,isPositioned:!1})))},[f]);const q=y.useRef(!1);mv(()=>(q.current=!0,()=>{q.current=!1}),[]),mv(()=>{if(A&&(k.current=A),C&&(T.current=C),A&&C){if(B.current)return B.current(A,C,V);V()}},[A,C,V,B,R]);const G=y.useMemo(()=>({reference:k,floating:T,setReference:E,setFloating:O}),[E,O]),L=y.useMemo(()=>({reference:A,floating:C}),[A,C]),D=y.useMemo(()=>{const U={position:n,left:0,top:0};if(!L.floating)return U;const K=TL(L.floating,m.x),J=TL(L.floating,m.y);return u?{...U,transform:"translate("+K+"px, "+J+"px)",...nU(L.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:K,top:J}},[n,u,L.floating,m.x,m.y]);return y.useMemo(()=>({...m,update:V,refs:G,elements:L,floatingStyles:D}),[m,V,G,L,D])}const J0e=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:a}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?AL({element:r.current,padding:a}).fn(n):{}:r?AL({element:r,padding:a}).fn(n):{}}}},ewe=(e,t)=>({...U0e(e),options:[e,t]}),twe=(e,t)=>({...H0e(e),options:[e,t]}),nwe=(e,t)=>({...Y0e(e),options:[e,t]}),rwe=(e,t)=>({...W0e(e),options:[e,t]}),awe=(e,t)=>({...V0e(e),options:[e,t]}),iwe=(e,t)=>({...G0e(e),options:[e,t]}),swe=(e,t)=>({...J0e(e),options:[e,t]});var owe="Arrow",rU=y.forwardRef((e,t)=>{const{children:n,width:r=10,height:a=5,...s}=e;return i.jsx($e.svg,{...s,ref:t,width:r,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});rU.displayName=owe;var lwe=rU,CE="Popper",[aU,ho]=gr(CE),[cwe,iU]=aU(CE),sU=e=>{const{__scopePopper:t,children:n}=e,[r,a]=y.useState(null);return i.jsx(cwe,{scope:t,anchor:r,onAnchorChange:a,children:n})};sU.displayName=CE;var oU="PopperAnchor",lU=y.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...a}=e,s=iU(oU,n),l=y.useRef(null),u=Ue(t,l),d=y.useRef(null);return y.useEffect(()=>{const f=d.current;d.current=r?.current||l.current,f!==d.current&&s.onAnchorChange(d.current)}),r?null:i.jsx($e.div,{...a,ref:u})});lU.displayName=oU;var OE="PopperContent",[uwe,dwe]=aU(OE),cU=y.forwardRef((e,t)=>{const{__scopePopper:n,side:r="bottom",sideOffset:a=0,align:s="center",alignOffset:l=0,arrowPadding:u=0,avoidCollisions:d=!0,collisionBoundary:f=[],collisionPadding:m=0,sticky:p="partial",hideWhenDetached:g=!1,updatePositionStrategy:x="optimized",onPlaced:j,...w}=e,b=iU(OE,n),[N,E]=y.useState(null),O=Ue(t,ee=>E(ee)),[A,C]=y.useState(null),k=$y(A),T=k?.width??0,M=k?.height??0,R=r+(s!=="center"?"-"+s:""),B=typeof m=="number"?m:{top:0,right:0,bottom:0,left:0,...m},$=Array.isArray(f)?f:[f],H=$.length>0,V={padding:B,boundary:$.filter(hwe),altBoundary:H},{refs:q,floatingStyles:G,placement:L,isPositioned:D,middlewareData:U}=Q0e({strategy:"fixed",placement:R,whileElementsMounted:(...ee)=>F0e(...ee,{animationFrame:x==="always"}),elements:{reference:b.anchor},middleware:[ewe({mainAxis:a+M,alignmentAxis:l}),d&&twe({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?nwe():void 0,...V}),d&&rwe({...V}),awe({...V,apply:({elements:ee,rects:Se,availableWidth:re,availableHeight:we})=>{const{width:je,height:fe}=Se.reference,Le=ee.floating.style;Le.setProperty("--radix-popper-available-width",`${re}px`),Le.setProperty("--radix-popper-available-height",`${we}px`),Le.setProperty("--radix-popper-anchor-width",`${je}px`),Le.setProperty("--radix-popper-anchor-height",`${fe}px`)}}),A&&swe({element:A,padding:u}),mwe({arrowWidth:T,arrowHeight:M}),g&&iwe({strategy:"referenceHidden",...V})]}),[K,J]=fU(L),I=ln(j);Yn(()=>{D&&I?.()},[D,I]);const z=U.arrow?.x,Y=U.arrow?.y,te=U.arrow?.centerOffset!==0,[ae,ge]=y.useState();return Yn(()=>{N&&ge(window.getComputedStyle(N).zIndex)},[N]),i.jsx("div",{ref:q.setFloating,"data-radix-popper-content-wrapper":"",style:{...G,transform:D?G.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ae,"--radix-popper-transform-origin":[U.transformOrigin?.x,U.transformOrigin?.y].join(" "),...U.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:i.jsx(uwe,{scope:n,placedSide:K,onArrowChange:C,arrowX:z,arrowY:Y,shouldHideArrow:te,children:i.jsx($e.div,{"data-side":K,"data-align":J,...w,ref:O,style:{...w.style,animation:D?void 0:"none"}})})})});cU.displayName=OE;var uU="PopperArrow",fwe={top:"bottom",right:"left",bottom:"top",left:"right"},dU=y.forwardRef(function(t,n){const{__scopePopper:r,...a}=t,s=dwe(uU,r),l=fwe[s.placedSide];return i.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:i.jsx(lwe,{...a,ref:n,style:{...a.style,display:"block"}})})});dU.displayName=uU;function hwe(e){return e!==null}var mwe=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:a}=t,l=a.arrow?.centerOffset!==0,u=l?0:e.arrowWidth,d=l?0:e.arrowHeight,[f,m]=fU(n),p={start:"0%",center:"50%",end:"100%"}[m],g=(a.arrow?.x??0)+u/2,x=(a.arrow?.y??0)+d/2;let j="",w="";return f==="bottom"?(j=l?p:`${g}px`,w=`${-d}px`):f==="top"?(j=l?p:`${g}px`,w=`${r.floating.height+d}px`):f==="right"?(j=`${-d}px`,w=l?p:`${x}px`):f==="left"&&(j=`${r.floating.width+d}px`,w=l?p:`${x}px`),{data:{x:j,y:w}}}});function fU(e){const[t,n="center"]=e.split("-");return[t,n]}var Qh=sU,Jh=lU,Ky=cU,Xy=dU;function pwe(e){const t=vwe(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(ywe);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function vwe(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=bwe(a),u=xwe(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var gwe=Symbol("radix.slottable");function ywe(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===gwe}function xwe(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function bwe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var hU=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),wwe="VisuallyHidden",Zy=y.forwardRef((e,t)=>i.jsx($e.span,{...e,ref:t,style:{...hU,...e.style}}));Zy.displayName=wwe;var jwe=Zy,Swe=[" ","Enter","ArrowUp","ArrowDown"],_we=[" ","Enter"],bl="Select",[Qy,Jy,Nwe]=Ph(bl),[td]=gr(bl,[Nwe,ho]),ex=ho(),[Cwe,mo]=td(bl),[Owe,Ewe]=td(bl),mU=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:a,onOpenChange:s,value:l,defaultValue:u,onValueChange:d,dir:f,name:m,autoComplete:p,disabled:g,required:x,form:j}=e,w=ex(t),[b,N]=y.useState(null),[E,O]=y.useState(null),[A,C]=y.useState(!1),k=Fu(f),[T,M]=Ea({prop:r,defaultProp:a??!1,onChange:s,caller:bl}),[R,B]=Ea({prop:l,defaultProp:u,onChange:d,caller:bl}),$=y.useRef(null),H=b?j||!!b.closest("form"):!0,[V,q]=y.useState(new Set),G=Array.from(V).map(L=>L.props.value).join(";");return i.jsx(Qh,{...w,children:i.jsxs(Cwe,{required:x,scope:t,trigger:b,onTriggerChange:N,valueNode:E,onValueNodeChange:O,valueNodeHasChildren:A,onValueNodeHasChildrenChange:C,contentId:Gn(),value:R,onValueChange:B,open:T,onOpenChange:M,dir:k,triggerPointerDownPosRef:$,disabled:g,children:[i.jsx(Qy.Provider,{scope:t,children:i.jsx(Owe,{scope:e.__scopeSelect,onNativeOptionAdd:y.useCallback(L=>{q(D=>new Set(D).add(L))},[]),onNativeOptionRemove:y.useCallback(L=>{q(D=>{const U=new Set(D);return U.delete(L),U})},[]),children:n})}),H?i.jsxs(LU,{"aria-hidden":!0,required:x,tabIndex:-1,name:m,autoComplete:p,value:R,onChange:L=>B(L.target.value),disabled:g,form:j,children:[R===void 0?i.jsx("option",{value:""}):null,Array.from(V)]},G):null]})})};mU.displayName=bl;var pU="SelectTrigger",vU=y.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...a}=e,s=ex(n),l=mo(pU,n),u=l.disabled||r,d=Ue(t,l.onTriggerChange),f=Jy(n),m=y.useRef("touch"),[p,g,x]=zU(w=>{const b=f().filter(O=>!O.disabled),N=b.find(O=>O.value===l.value),E=qU(b,w,N);E!==void 0&&l.onValueChange(E.value)}),j=w=>{u||(l.onOpenChange(!0),x()),w&&(l.triggerPointerDownPosRef.current={x:Math.round(w.pageX),y:Math.round(w.pageY)})};return i.jsx(Jh,{asChild:!0,...s,children:i.jsx($e.button,{type:"button",role:"combobox","aria-controls":l.contentId,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":BU(l.value)?"":void 0,...a,ref:d,onClick:_e(a.onClick,w=>{w.currentTarget.focus(),m.current!=="mouse"&&j(w)}),onPointerDown:_e(a.onPointerDown,w=>{m.current=w.pointerType;const b=w.target;b.hasPointerCapture(w.pointerId)&&b.releasePointerCapture(w.pointerId),w.button===0&&w.ctrlKey===!1&&w.pointerType==="mouse"&&(j(w),w.preventDefault())}),onKeyDown:_e(a.onKeyDown,w=>{const b=p.current!=="";!(w.ctrlKey||w.altKey||w.metaKey)&&w.key.length===1&&g(w.key),!(b&&w.key===" ")&&Swe.includes(w.key)&&(j(),w.preventDefault())})})})});vU.displayName=pU;var gU="SelectValue",yU=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:a,children:s,placeholder:l="",...u}=e,d=mo(gU,n),{onValueNodeHasChildrenChange:f}=d,m=s!==void 0,p=Ue(t,d.onValueNodeChange);return Yn(()=>{f(m)},[f,m]),i.jsx($e.span,{...u,ref:p,style:{pointerEvents:"none"},children:BU(d.value)?i.jsx(i.Fragment,{children:l}):s})});yU.displayName=gU;var Awe="SelectIcon",xU=y.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...a}=e;return i.jsx($e.span,{"aria-hidden":!0,...a,ref:t,children:r||"▼"})});xU.displayName=Awe;var Twe="SelectPortal",bU=e=>i.jsx(Tl,{asChild:!0,...e});bU.displayName=Twe;var wl="SelectContent",wU=y.forwardRef((e,t)=>{const n=mo(wl,e.__scopeSelect),[r,a]=y.useState();if(Yn(()=>{a(new DocumentFragment)},[]),!n.open){const s=r;return s?Sl.createPortal(i.jsx(jU,{scope:e.__scopeSelect,children:i.jsx(Qy.Slot,{scope:e.__scopeSelect,children:i.jsx("div",{children:e.children})})}),s):null}return i.jsx(SU,{...e,ref:t})});wU.displayName=wl;var La=10,[jU,po]=td(wl),kwe="SelectContentImpl",Mwe=pwe("SelectContent.RemoveScroll"),SU=y.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:s,onPointerDownOutside:l,side:u,sideOffset:d,align:f,alignOffset:m,arrowPadding:p,collisionBoundary:g,collisionPadding:x,sticky:j,hideWhenDetached:w,avoidCollisions:b,...N}=e,E=mo(wl,n),[O,A]=y.useState(null),[C,k]=y.useState(null),T=Ue(t,ee=>A(ee)),[M,R]=y.useState(null),[B,$]=y.useState(null),H=Jy(n),[V,q]=y.useState(!1),G=y.useRef(!1);y.useEffect(()=>{if(O)return zy(O)},[O]),Ly();const L=y.useCallback(ee=>{const[Se,...re]=H().map(fe=>fe.ref.current),[we]=re.slice(-1),je=document.activeElement;for(const fe of ee)if(fe===je||(fe?.scrollIntoView({block:"nearest"}),fe===Se&&C&&(C.scrollTop=0),fe===we&&C&&(C.scrollTop=C.scrollHeight),fe?.focus(),document.activeElement!==je))return},[H,C]),D=y.useCallback(()=>L([M,O]),[L,M,O]);y.useEffect(()=>{V&&D()},[V,D]);const{onOpenChange:U,triggerPointerDownPosRef:K}=E;y.useEffect(()=>{if(O){let ee={x:0,y:0};const Se=we=>{ee={x:Math.abs(Math.round(we.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(we.pageY)-(K.current?.y??0))}},re=we=>{ee.x<=10&&ee.y<=10?we.preventDefault():O.contains(we.target)||U(!1),document.removeEventListener("pointermove",Se),K.current=null};return K.current!==null&&(document.addEventListener("pointermove",Se),document.addEventListener("pointerup",re,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",Se),document.removeEventListener("pointerup",re,{capture:!0})}}},[O,U,K]),y.useEffect(()=>{const ee=()=>U(!1);return window.addEventListener("blur",ee),window.addEventListener("resize",ee),()=>{window.removeEventListener("blur",ee),window.removeEventListener("resize",ee)}},[U]);const[J,I]=zU(ee=>{const Se=H().filter(je=>!je.disabled),re=Se.find(je=>je.ref.current===document.activeElement),we=qU(Se,ee,re);we&&setTimeout(()=>we.ref.current.focus())}),z=y.useCallback((ee,Se,re)=>{const we=!G.current&&!re;(E.value!==void 0&&E.value===Se||we)&&(R(ee),we&&(G.current=!0))},[E.value]),Y=y.useCallback(()=>O?.focus(),[O]),te=y.useCallback((ee,Se,re)=>{const we=!G.current&&!re;(E.value!==void 0&&E.value===Se||we)&&$(ee)},[E.value]),ae=r==="popper"?dC:_U,ge=ae===dC?{side:u,sideOffset:d,align:f,alignOffset:m,arrowPadding:p,collisionBoundary:g,collisionPadding:x,sticky:j,hideWhenDetached:w,avoidCollisions:b}:{};return i.jsx(jU,{scope:n,content:O,viewport:C,onViewportChange:k,itemRefCallback:z,selectedItem:M,onItemLeave:Y,itemTextRefCallback:te,focusSelectedItem:D,selectedItemText:B,position:r,isPositioned:V,searchRef:J,children:i.jsx(Xh,{as:Mwe,allowPinchZoom:!0,children:i.jsx(Kh,{asChild:!0,trapped:E.open,onMountAutoFocus:ee=>{ee.preventDefault()},onUnmountAutoFocus:_e(a,ee=>{E.trigger?.focus({preventScroll:!0}),ee.preventDefault()}),children:i.jsx(Al,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:ee=>ee.preventDefault(),onDismiss:()=>E.onOpenChange(!1),children:i.jsx(ae,{role:"listbox",id:E.contentId,"data-state":E.open?"open":"closed",dir:E.dir,onContextMenu:ee=>ee.preventDefault(),...N,...ge,onPlaced:()=>q(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...N.style},onKeyDown:_e(N.onKeyDown,ee=>{const Se=ee.ctrlKey||ee.altKey||ee.metaKey;if(ee.key==="Tab"&&ee.preventDefault(),!Se&&ee.key.length===1&&I(ee.key),["ArrowUp","ArrowDown","Home","End"].includes(ee.key)){let we=H().filter(je=>!je.disabled).map(je=>je.ref.current);if(["ArrowUp","End"].includes(ee.key)&&(we=we.slice().reverse()),["ArrowUp","ArrowDown"].includes(ee.key)){const je=ee.target,fe=we.indexOf(je);we=we.slice(fe+1)}setTimeout(()=>L(we)),ee.preventDefault()}})})})})})})});SU.displayName=kwe;var Pwe="SelectItemAlignedPosition",_U=y.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...a}=e,s=mo(wl,n),l=po(wl,n),[u,d]=y.useState(null),[f,m]=y.useState(null),p=Ue(t,T=>m(T)),g=Jy(n),x=y.useRef(!1),j=y.useRef(!0),{viewport:w,selectedItem:b,selectedItemText:N,focusSelectedItem:E}=l,O=y.useCallback(()=>{if(s.trigger&&s.valueNode&&u&&f&&w&&b&&N){const T=s.trigger.getBoundingClientRect(),M=f.getBoundingClientRect(),R=s.valueNode.getBoundingClientRect(),B=N.getBoundingClientRect();if(s.dir!=="rtl"){const je=B.left-M.left,fe=R.left-je,Le=T.left-fe,Oe=T.width+Le,We=Math.max(Oe,M.width),be=window.innerWidth-La,Ae=Rf(fe,[La,Math.max(La,be-We)]);u.style.minWidth=Oe+"px",u.style.left=Ae+"px"}else{const je=M.right-B.right,fe=window.innerWidth-R.right-je,Le=window.innerWidth-T.right-fe,Oe=T.width+Le,We=Math.max(Oe,M.width),be=window.innerWidth-La,Ae=Rf(fe,[La,Math.max(La,be-We)]);u.style.minWidth=Oe+"px",u.style.right=Ae+"px"}const $=g(),H=window.innerHeight-La*2,V=w.scrollHeight,q=window.getComputedStyle(f),G=parseInt(q.borderTopWidth,10),L=parseInt(q.paddingTop,10),D=parseInt(q.borderBottomWidth,10),U=parseInt(q.paddingBottom,10),K=G+L+V+U+D,J=Math.min(b.offsetHeight*5,K),I=window.getComputedStyle(w),z=parseInt(I.paddingTop,10),Y=parseInt(I.paddingBottom,10),te=T.top+T.height/2-La,ae=H-te,ge=b.offsetHeight/2,ee=b.offsetTop+ge,Se=G+L+ee,re=K-Se;if(Se<=te){const je=$.length>0&&b===$[$.length-1].ref.current;u.style.bottom="0px";const fe=f.clientHeight-w.offsetTop-w.offsetHeight,Le=Math.max(ae,ge+(je?Y:0)+fe+D),Oe=Se+Le;u.style.height=Oe+"px"}else{const je=$.length>0&&b===$[0].ref.current;u.style.top="0px";const Le=Math.max(te,G+w.offsetTop+(je?z:0)+ge)+re;u.style.height=Le+"px",w.scrollTop=Se-te+w.offsetTop}u.style.margin=`${La}px 0`,u.style.minHeight=J+"px",u.style.maxHeight=H+"px",r?.(),requestAnimationFrame(()=>x.current=!0)}},[g,s.trigger,s.valueNode,u,f,w,b,N,s.dir,r]);Yn(()=>O(),[O]);const[A,C]=y.useState();Yn(()=>{f&&C(window.getComputedStyle(f).zIndex)},[f]);const k=y.useCallback(T=>{T&&j.current===!0&&(O(),E?.(),j.current=!1)},[O,E]);return i.jsx(Dwe,{scope:n,contentWrapper:u,shouldExpandOnScrollRef:x,onScrollButtonChange:k,children:i.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:i.jsx($e.div,{...a,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});_U.displayName=Pwe;var Rwe="SelectPopperPosition",dC=y.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:a=La,...s}=e,l=ex(n);return i.jsx(Ky,{...l,...s,ref:t,align:r,collisionPadding:a,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});dC.displayName=Rwe;var[Dwe,EE]=td(wl,{}),fC="SelectViewport",NU=y.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...a}=e,s=po(fC,n),l=EE(fC,n),u=Ue(t,s.onViewportChange),d=y.useRef(0);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),i.jsx(Qy.Slot,{scope:n,children:i.jsx($e.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:_e(a.onScroll,f=>{const m=f.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:g}=l;if(g?.current&&p){const x=Math.abs(d.current-m.scrollTop);if(x>0){const j=window.innerHeight-La*2,w=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),N=Math.max(w,b);if(N0?A:0,p.style.justifyContent="flex-end")}}}d.current=m.scrollTop})})})]})});NU.displayName=fC;var CU="SelectGroup",[$we,Iwe]=td(CU),Lwe=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,a=Gn();return i.jsx($we,{scope:n,id:a,children:i.jsx($e.div,{role:"group","aria-labelledby":a,...r,ref:t})})});Lwe.displayName=CU;var OU="SelectLabel",EU=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,a=Iwe(OU,n);return i.jsx($e.div,{id:a.id,...r,ref:t})});EU.displayName=OU;var $g="SelectItem",[Bwe,AU]=td($g),TU=y.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:a=!1,textValue:s,...l}=e,u=mo($g,n),d=po($g,n),f=u.value===r,[m,p]=y.useState(s??""),[g,x]=y.useState(!1),j=Ue(t,E=>d.itemRefCallback?.(E,r,a)),w=Gn(),b=y.useRef("touch"),N=()=>{a||(u.onValueChange(r),u.onOpenChange(!1))};if(r==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return i.jsx(Bwe,{scope:n,value:r,disabled:a,textId:w,isSelected:f,onItemTextChange:y.useCallback(E=>{p(O=>O||(E?.textContent??"").trim())},[]),children:i.jsx(Qy.ItemSlot,{scope:n,value:r,disabled:a,textValue:m,children:i.jsx($e.div,{role:"option","aria-labelledby":w,"data-highlighted":g?"":void 0,"aria-selected":f&&g,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...l,ref:j,onFocus:_e(l.onFocus,()=>x(!0)),onBlur:_e(l.onBlur,()=>x(!1)),onClick:_e(l.onClick,()=>{b.current!=="mouse"&&N()}),onPointerUp:_e(l.onPointerUp,()=>{b.current==="mouse"&&N()}),onPointerDown:_e(l.onPointerDown,E=>{b.current=E.pointerType}),onPointerMove:_e(l.onPointerMove,E=>{b.current=E.pointerType,a?d.onItemLeave?.():b.current==="mouse"&&E.currentTarget.focus({preventScroll:!0})}),onPointerLeave:_e(l.onPointerLeave,E=>{E.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:_e(l.onKeyDown,E=>{d.searchRef?.current!==""&&E.key===" "||(_we.includes(E.key)&&N(),E.key===" "&&E.preventDefault())})})})})});TU.displayName=$g;var yf="SelectItemText",kU=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:a,...s}=e,l=mo(yf,n),u=po(yf,n),d=AU(yf,n),f=Ewe(yf,n),[m,p]=y.useState(null),g=Ue(t,N=>p(N),d.onItemTextChange,N=>u.itemTextRefCallback?.(N,d.value,d.disabled)),x=m?.textContent,j=y.useMemo(()=>i.jsx("option",{value:d.value,disabled:d.disabled,children:x},d.value),[d.disabled,d.value,x]),{onNativeOptionAdd:w,onNativeOptionRemove:b}=f;return Yn(()=>(w(j),()=>b(j)),[w,b,j]),i.jsxs(i.Fragment,{children:[i.jsx($e.span,{id:d.textId,...s,ref:g}),d.isSelected&&l.valueNode&&!l.valueNodeHasChildren?Sl.createPortal(s.children,l.valueNode):null]})});kU.displayName=yf;var MU="SelectItemIndicator",PU=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return AU(MU,n).isSelected?i.jsx($e.span,{"aria-hidden":!0,...r,ref:t}):null});PU.displayName=MU;var hC="SelectScrollUpButton",RU=y.forwardRef((e,t)=>{const n=po(hC,e.__scopeSelect),r=EE(hC,e.__scopeSelect),[a,s]=y.useState(!1),l=Ue(t,r.onScrollButtonChange);return Yn(()=>{if(n.viewport&&n.isPositioned){let u=function(){const f=d.scrollTop>0;s(f)};const d=n.viewport;return u(),d.addEventListener("scroll",u),()=>d.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),a?i.jsx($U,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:d}=n;u&&d&&(u.scrollTop=u.scrollTop-d.offsetHeight)}}):null});RU.displayName=hC;var mC="SelectScrollDownButton",DU=y.forwardRef((e,t)=>{const n=po(mC,e.__scopeSelect),r=EE(mC,e.__scopeSelect),[a,s]=y.useState(!1),l=Ue(t,r.onScrollButtonChange);return Yn(()=>{if(n.viewport&&n.isPositioned){let u=function(){const f=d.scrollHeight-d.clientHeight,m=Math.ceil(d.scrollTop)d.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),a?i.jsx($U,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:d}=n;u&&d&&(u.scrollTop=u.scrollTop+d.offsetHeight)}}):null});DU.displayName=mC;var $U=y.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...a}=e,s=po("SelectScrollButton",n),l=y.useRef(null),u=Jy(n),d=y.useCallback(()=>{l.current!==null&&(window.clearInterval(l.current),l.current=null)},[]);return y.useEffect(()=>()=>d(),[d]),Yn(()=>{u().find(m=>m.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[u]),i.jsx($e.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:_e(a.onPointerDown,()=>{l.current===null&&(l.current=window.setInterval(r,50))}),onPointerMove:_e(a.onPointerMove,()=>{s.onItemLeave?.(),l.current===null&&(l.current=window.setInterval(r,50))}),onPointerLeave:_e(a.onPointerLeave,()=>{d()})})}),zwe="SelectSeparator",IU=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return i.jsx($e.div,{"aria-hidden":!0,...r,ref:t})});IU.displayName=zwe;var pC="SelectArrow",qwe=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,a=ex(n),s=mo(pC,n),l=po(pC,n);return s.open&&l.position==="popper"?i.jsx(Xy,{...a,...r,ref:t}):null});qwe.displayName=pC;var Fwe="SelectBubbleInput",LU=y.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{const a=y.useRef(null),s=Ue(r,a),l=Dy(t);return y.useEffect(()=>{const u=a.current;if(!u)return;const d=window.HTMLSelectElement.prototype,m=Object.getOwnPropertyDescriptor(d,"value").set;if(l!==t&&m){const p=new Event("change",{bubbles:!0});m.call(u,t),u.dispatchEvent(p)}},[l,t]),i.jsx($e.select,{...n,style:{...hU,...n.style},ref:s,defaultValue:t})});LU.displayName=Fwe;function BU(e){return e===""||e===void 0}function zU(e){const t=ln(e),n=y.useRef(""),r=y.useRef(0),a=y.useCallback(l=>{const u=n.current+l;t(u),(function d(f){n.current=f,window.clearTimeout(r.current),f!==""&&(r.current=window.setTimeout(()=>d(""),1e3))})(u)},[t]),s=y.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,a,s]}function qU(e,t,n){const a=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let l=Uwe(e,Math.max(s,0));a.length===1&&(l=l.filter(f=>f!==n));const d=l.find(f=>f.textValue.toLowerCase().startsWith(a.toLowerCase()));return d!==n?d:void 0}function Uwe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Hwe=mU,FU=vU,Wwe=yU,Vwe=xU,Gwe=bU,UU=wU,Ywe=NU,HU=EU,WU=TU,Kwe=kU,Xwe=PU,VU=RU,GU=DU,YU=IU;const Dt=Hwe,$t=Wwe,Ot=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(FU,{ref:r,className:ce("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...n,children:[t,i.jsx(Vwe,{asChild:!0,children:i.jsx(vh,{className:"h-4 w-4 opacity-50"})})]}));Ot.displayName=FU.displayName;const KU=y.forwardRef(({className:e,...t},n)=>i.jsx(VU,{ref:n,className:ce("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(KN,{className:"h-4 w-4"})}));KU.displayName=VU.displayName;const XU=y.forwardRef(({className:e,...t},n)=>i.jsx(GU,{ref:n,className:ce("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(vh,{className:"h-4 w-4"})}));XU.displayName=GU.displayName;const Et=y.forwardRef(({className:e,children:t,position:n="popper",...r},a)=>i.jsx(Gwe,{children:i.jsxs(UU,{ref:a,className:ce("relative z-[100] max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-hidden rounded-md border border-border bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[i.jsx(KU,{}),i.jsx(Ywe,{className:ce("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),i.jsx(XU,{})]})}));Et.displayName=UU.displayName;const Zwe=y.forwardRef(({className:e,...t},n)=>i.jsx(HU,{ref:n,className:ce("px-2 py-1.5 text-sm font-semibold",e),...t}));Zwe.displayName=HU.displayName;const De=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(WU,{ref:r,className:ce("relative flex w-full cursor-default select-none items-center rounded-sm py-2 pl-2 pr-8 text-sm outline-none bg-white dark:bg-gray-900 hover:bg-gray-100 dark:hover:bg-gray-800 focus:bg-gray-100 dark:focus:bg-gray-800 data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[i.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Xwe,{children:i.jsx(ol,{className:"h-4 w-4"})})}),i.jsx(Kwe,{children:t})]}));De.displayName=WU.displayName;const Qwe=y.forwardRef(({className:e,...t},n)=>i.jsx(YU,{ref:n,className:ce("-mx-1 my-1 h-px bg-muted",e),...t}));Qwe.displayName=YU.displayName;function Jwe(e){const t=eje(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(nje);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function eje(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=aje(a),u=rje(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var tje=Symbol("radix.slottable");function nje(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===tje}function rje(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function aje(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var tx="Popover",[ZU]=gr(tx,[ho]),em=ho(),[ije,vo]=ZU(tx),QU=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:a,onOpenChange:s,modal:l=!1}=e,u=em(t),d=y.useRef(null),[f,m]=y.useState(!1),[p,g]=Ea({prop:r,defaultProp:a??!1,onChange:s,caller:tx});return i.jsx(Qh,{...u,children:i.jsx(ije,{scope:t,contentId:Gn(),triggerRef:d,open:p,onOpenChange:g,onOpenToggle:y.useCallback(()=>g(x=>!x),[g]),hasCustomAnchor:f,onCustomAnchorAdd:y.useCallback(()=>m(!0),[]),onCustomAnchorRemove:y.useCallback(()=>m(!1),[]),modal:l,children:n})})};QU.displayName=tx;var JU="PopoverAnchor",sje=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=vo(JU,n),s=em(n),{onCustomAnchorAdd:l,onCustomAnchorRemove:u}=a;return y.useEffect(()=>(l(),()=>u()),[l,u]),i.jsx(Jh,{...s,...r,ref:t})});sje.displayName=JU;var eH="PopoverTrigger",tH=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=vo(eH,n),s=em(n),l=Ue(t,a.triggerRef),u=i.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":sH(a.open),...r,ref:l,onClick:_e(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?u:i.jsx(Jh,{asChild:!0,...s,children:u})});tH.displayName=eH;var AE="PopoverPortal",[oje,lje]=ZU(AE,{forceMount:void 0}),nH=e=>{const{__scopePopover:t,forceMount:n,children:r,container:a}=e,s=vo(AE,t);return i.jsx(oje,{scope:t,forceMount:n,children:i.jsx(Bn,{present:n||s.open,children:i.jsx(Tl,{asChild:!0,container:a,children:r})})})};nH.displayName=AE;var $u="PopoverContent",rH=y.forwardRef((e,t)=>{const n=lje($u,e.__scopePopover),{forceMount:r=n.forceMount,...a}=e,s=vo($u,e.__scopePopover);return i.jsx(Bn,{present:r||s.open,children:s.modal?i.jsx(uje,{...a,ref:t}):i.jsx(dje,{...a,ref:t})})});rH.displayName=$u;var cje=Jwe("PopoverContent.RemoveScroll"),uje=y.forwardRef((e,t)=>{const n=vo($u,e.__scopePopover),r=y.useRef(null),a=Ue(t,r),s=y.useRef(!1);return y.useEffect(()=>{const l=r.current;if(l)return zy(l)},[]),i.jsx(Xh,{as:cje,allowPinchZoom:!0,children:i.jsx(aH,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:_e(e.onCloseAutoFocus,l=>{l.preventDefault(),s.current||n.triggerRef.current?.focus()}),onPointerDownOutside:_e(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0,f=u.button===2||d;s.current=f},{checkForDefaultPrevented:!1}),onFocusOutside:_e(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1})})})}),dje=y.forwardRef((e,t)=>{const n=vo($u,e.__scopePopover),r=y.useRef(!1),a=y.useRef(!1);return i.jsx(aH,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{e.onCloseAutoFocus?.(s),s.defaultPrevented||(r.current||n.triggerRef.current?.focus(),s.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:s=>{e.onInteractOutside?.(s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const l=s.target;n.triggerRef.current?.contains(l)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&a.current&&s.preventDefault()}})}),aH=y.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:m,...p}=e,g=vo($u,n),x=em(n);return Ly(),i.jsx(Kh,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:s,children:i.jsx(Al,{asChild:!0,disableOutsidePointerEvents:l,onInteractOutside:m,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onDismiss:()=>g.onOpenChange(!1),children:i.jsx(Ky,{"data-state":sH(g.open),role:"dialog",id:g.contentId,...x,...p,ref:t,style:{...p.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),iH="PopoverClose",fje=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=vo(iH,n);return i.jsx($e.button,{type:"button",...r,ref:t,onClick:_e(e.onClick,()=>a.onOpenChange(!1))})});fje.displayName=iH;var hje="PopoverArrow",mje=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=em(n);return i.jsx(Xy,{...a,...r,ref:t})});mje.displayName=hje;function sH(e){return e?"open":"closed"}var pje=QU,vje=tH,gje=nH,oH=rH;const ro=pje,ao=vje,ds=y.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},a)=>i.jsx(gje,{children:i.jsx(oH,{ref:a,align:t,sideOffset:n,className:ce("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",e),...r})}));ds.displayName=oH.displayName;const nd="/api/webui/config";async function yje(){const t=await(await rt(`${nd}/bot`)).json();if(!t.success)throw new Error("获取配置数据失败");return t.config}async function Jc(){const t=await(await rt(`${nd}/model`)).json();if(!t.success)throw new Error("获取模型配置数据失败");return t.config}async function kL(e){const n=await(await rt(`${nd}/bot`,{method:"POST",headers:dt(),body:JSON.stringify(e)})).json();if(!n.success)throw new Error(n.message||"保存配置失败")}async function Ig(e){const n=await(await rt(`${nd}/model`,{method:"POST",headers:dt(),body:JSON.stringify(e)})).json();if(!n.success)throw new Error(n.message||"保存配置失败")}async function xje(e,t){const r=await(await rt(`${nd}/bot/section/${e}`,{method:"POST",headers:dt(),body:JSON.stringify(t)})).json();if(!r.success)throw new Error(r.message||`保存配置节 ${e} 失败`)}async function vC(e,t){const r=await(await rt(`${nd}/model/section/${e}`,{method:"POST",headers:dt(),body:JSON.stringify(t)})).json();if(!r.success)throw new Error(r.message||`保存配置节 ${e} 失败`)}const bje=vn.create({baseURL:"",timeout:1e4});async function TE(){try{return(await bje.post("/api/webui/system/restart")).data}catch(e){throw console.error("重启麦麦失败:",e),e}}const wje=Zu("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),nx=y.forwardRef(({className:e,variant:t,...n},r)=>i.jsx("div",{ref:r,role:"alert",className:ce(wje({variant:t}),e),...n}));nx.displayName="Alert";const jje=y.forwardRef(({className:e,...t},n)=>i.jsx("h5",{ref:n,className:ce("mb-1 font-medium leading-none tracking-tight",e),...t}));jje.displayName="AlertTitle";const rx=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("text-sm [&_p]:leading-relaxed",e),...t}));rx.displayName="AlertDescription";function kE({onRestartComplete:e,onRestartFailed:t}){const[n,r]=y.useState(0),[a,s]=y.useState("restarting"),[l,u]=y.useState(0),[d,f]=y.useState(0);y.useEffect(()=>{const g=setInterval(()=>{r(w=>w>=90?w:w+1)},200),x=setInterval(()=>{u(w=>w+1)},1e3),j=setTimeout(()=>{s("checking"),m()},3e3);return()=>{clearInterval(g),clearInterval(x),clearTimeout(j)}},[]);const m=()=>{const x=async()=>{try{if(f(w=>w+1),(await fetch("/api/webui/system/status",{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)})).ok)r(100),s("success"),setTimeout(()=>{e?.()},1500);else throw new Error("Status check failed")}catch{d<60?setTimeout(x,2e3):(s("failed"),t?.())}};x()},p=g=>{const x=Math.floor(g/60),j=g%60;return`${x}:${j.toString().padStart(2,"0")}`};return i.jsx("div",{className:"fixed inset-0 bg-background/95 backdrop-blur-sm z-50 flex items-center justify-center",children:i.jsxs("div",{className:"max-w-md w-full mx-4 space-y-8",children:[i.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[a==="restarting"&&i.jsxs(i.Fragment,{children:[i.jsx(gh,{className:"h-16 w-16 text-primary animate-spin"}),i.jsx("h2",{className:"text-2xl font-bold",children:"正在重启麦麦"}),i.jsx("p",{className:"text-muted-foreground text-center",children:"请稍候,麦麦正在重启中..."})]}),a==="checking"&&i.jsxs(i.Fragment,{children:[i.jsx(gh,{className:"h-16 w-16 text-primary animate-spin"}),i.jsx("h2",{className:"text-2xl font-bold",children:"检查服务状态"}),i.jsxs("p",{className:"text-muted-foreground text-center",children:["等待服务恢复... (尝试 ",d,"/60)"]})]}),a==="success"&&i.jsxs(i.Fragment,{children:[i.jsx(Pr,{className:"h-16 w-16 text-green-500"}),i.jsx("h2",{className:"text-2xl font-bold",children:"重启成功"}),i.jsx("p",{className:"text-muted-foreground text-center",children:"正在跳转到登录页面..."})]}),a==="failed"&&i.jsxs(i.Fragment,{children:[i.jsx(gl,{className:"h-16 w-16 text-destructive"}),i.jsx("h2",{className:"text-2xl font-bold",children:"重启超时"}),i.jsx("p",{className:"text-muted-foreground text-center",children:"服务未能在预期时间内恢复,请手动检查或刷新页面"})]})]}),a!=="failed"&&i.jsxs("div",{className:"space-y-2",children:[i.jsx($h,{value:n,className:"h-2"}),i.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground",children:[i.jsxs("span",{children:[n,"%"]}),i.jsxs("span",{children:["已用时: ",p(l)]})]})]}),i.jsx("div",{className:"bg-muted/50 rounded-lg p-4 space-y-2",children:i.jsxs("p",{className:"text-sm text-muted-foreground",children:[a==="restarting"&&"🔄 配置已保存,正在重启主程序...",a==="checking"&&"⏳ 正在等待服务恢复,请勿关闭页面...",a==="success"&&"✅ 配置已生效,服务运行正常",a==="failed"&&"⚠️ 如果长时间无响应,请尝试手动重启"]})}),a==="failed"&&i.jsxs("div",{className:"flex gap-2",children:[i.jsx("button",{onClick:()=>window.location.reload(),className:"flex-1 px-4 py-2 bg-primary text-primary-foreground rounded-md hover:bg-primary/90",children:"刷新页面"}),i.jsx("button",{onClick:()=>{s("checking"),f(0),m()},className:"flex-1 px-4 py-2 bg-secondary text-secondary-foreground rounded-md hover:bg-secondary/90",children:"重试检测"})]})]})})}function Sje(){const[e,t]=y.useState(!0),[n,r]=y.useState(!1),[a,s]=y.useState(!1),[l,u]=y.useState(!1),[d,f]=y.useState(!1),[m,p]=y.useState(!1),{toast:g}=yr(),[x,j]=y.useState(null),[w,b]=y.useState(null),[N,E]=y.useState(null),[O,A]=y.useState(null),[C,k]=y.useState(null),[T,M]=y.useState(null),[R,B]=y.useState(null),[$,H]=y.useState(null),[V,q]=y.useState(null),[G,L]=y.useState(null),[D,U]=y.useState(null),[K,J]=y.useState(null),[I,z]=y.useState(null),[Y,te]=y.useState(null),[ae,ge]=y.useState(null),[ee,Se]=y.useState(null),[re,we]=y.useState(null),[je,fe]=y.useState(null),Le=y.useRef(null),Oe=y.useRef(!0),We=y.useRef({}),be=y.useCallback(async()=>{try{t(!0);const ue=await yje();We.current=ue,j(ue.bot),b(ue.personality);const Ve=ue.chat;Ve.talk_value_rules||(Ve.talk_value_rules=[]),E(Ve),A(ue.expression),k(ue.emoji),M(ue.memory),B(ue.tool),H(ue.mood),q(ue.voice),L(ue.lpmm_knowledge),U(ue.keyword_reaction),J(ue.response_post_process),z(ue.chinese_typo),te(ue.response_splitter),ge(ue.log),Se(ue.debug),we(ue.maim_message),fe(ue.telemetry),u(!1),Oe.current=!1}catch(ue){console.error("加载配置失败:",ue),g({title:"加载失败",description:"无法加载配置文件",variant:"destructive"})}finally{t(!1)}},[g]);y.useEffect(()=>{be()},[be]);const Ae=y.useCallback(async(ue,Ve)=>{if(!Oe.current)try{s(!0),await xje(ue,Ve),u(!1)}catch(Mn){console.error(`自动保存 ${ue} 失败:`,Mn),u(!0)}finally{s(!1)}},[]),ke=y.useCallback((ue,Ve)=>{Oe.current||(u(!0),Le.current&&clearTimeout(Le.current),Le.current=setTimeout(()=>{Ae(ue,Ve)},2e3))},[Ae]);y.useEffect(()=>{x&&!Oe.current&&ke("bot",x)},[x,ke]),y.useEffect(()=>{w&&!Oe.current&&ke("personality",w)},[w,ke]),y.useEffect(()=>{N&&!Oe.current&&ke("chat",N)},[N,ke]),y.useEffect(()=>{O&&!Oe.current&&ke("expression",O)},[O,ke]),y.useEffect(()=>{C&&!Oe.current&&ke("emoji",C)},[C,ke]),y.useEffect(()=>{T&&!Oe.current&&ke("memory",T)},[T,ke]),y.useEffect(()=>{R&&!Oe.current&&ke("tool",R)},[R,ke]),y.useEffect(()=>{$&&!Oe.current&&ke("mood",$)},[$,ke]),y.useEffect(()=>{V&&!Oe.current&&ke("voice",V)},[V,ke]),y.useEffect(()=>{G&&!Oe.current&&ke("lpmm_knowledge",G)},[G,ke]),y.useEffect(()=>{D&&!Oe.current&&ke("keyword_reaction",D)},[D,ke]),y.useEffect(()=>{K&&!Oe.current&&ke("response_post_process",K)},[K,ke]),y.useEffect(()=>{I&&!Oe.current&&ke("chinese_typo",I)},[I,ke]),y.useEffect(()=>{Y&&!Oe.current&&ke("response_splitter",Y)},[Y,ke]),y.useEffect(()=>{ae&&!Oe.current&&ke("log",ae)},[ae,ke]),y.useEffect(()=>{ee&&!Oe.current&&ke("debug",ee)},[ee,ke]),y.useEffect(()=>{re&&!Oe.current&&ke("maim_message",re)},[re,ke]),y.useEffect(()=>{je&&!Oe.current&&ke("telemetry",je)},[je,ke]);const Qt=async()=>{try{r(!0),Le.current&&clearTimeout(Le.current);const ue={...We.current,bot:x,personality:w,chat:N,expression:O,emoji:C,memory:T,tool:R,mood:$,voice:V,lpmm_knowledge:G,keyword_reaction:D,response_post_process:K,chinese_typo:I,response_splitter:Y,log:ae,debug:ee,maim_message:re,telemetry:je};await kL(ue),u(!1),g({title:"保存成功",description:"麦麦主程序配置已保存"})}catch(ue){console.error("保存配置失败:",ue),g({title:"保存失败",description:ue.message,variant:"destructive"})}finally{r(!1)}},St=async()=>{try{f(!0),TE().catch(()=>{}),p(!0)}catch(ue){console.error("重启失败:",ue),p(!1),g({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),f(!1)}},Tt=async()=>{try{r(!0),Le.current&&clearTimeout(Le.current);const ue={...We.current,bot:x,personality:w,chat:N,expression:O,emoji:C,memory:T,tool:R,mood:$,voice:V,lpmm_knowledge:G,keyword_reaction:D,response_post_process:K,chinese_typo:I,response_splitter:Y,log:ae,debug:ee,maim_message:re,telemetry:je};await kL(ue),u(!1),g({title:"保存成功",description:"配置已保存,即将重启麦麦..."}),await new Promise(Ve=>setTimeout(Ve,500)),await St()}catch(ue){console.error("保存失败:",ue),g({title:"保存失败",description:ue.message,variant:"destructive"})}finally{r(!1)}},Sn=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},le=()=>{p(!1),f(!1),g({title:"重启失败",description:"服务器未能在预期时间内恢复,请手动检查",variant:"destructive"})};return e?i.jsx(Wt,{className:"h-full",children:i.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:i.jsx("div",{className:"flex items-center justify-center h-64",children:i.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"麦麦主程序配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理麦麦的核心功能和行为设置"})]}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[i.jsxs(oe,{onClick:Qt,disabled:n||a||!l||d,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[i.jsx(iE,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),n?"保存中...":a?"自动保存中...":l?"保存配置":"已保存"]}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{disabled:n||a||d,size:"sm",className:"flex-1 sm:flex-none",children:[i.jsx(aE,{className:"mr-2 h-4 w-4"}),d?"重启中...":l?"保存并重启":"重启麦麦"]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认重启麦麦?"}),i.jsx(hn,{children:l?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:l?Tt:St,children:l?"保存并重启":"确认重启"})]})]})]})]})]}),i.jsxs(nx,{children:[i.jsx(Mu,{className:"h-4 w-4"}),i.jsxs(rx,{children:["配置更新后需要",i.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),i.jsxs(dl,{defaultValue:"bot",className:"w-full",children:[i.jsx("div",{className:"overflow-x-auto -mx-4 px-4 sm:mx-0 sm:px-0",children:i.jsxs(eo,{className:"inline-flex w-auto min-w-full sm:grid sm:w-full sm:grid-cols-5 lg:grid-cols-10",children:[i.jsx(Rt,{value:"bot",className:"flex-shrink-0",children:"基本信息"}),i.jsx(Rt,{value:"personality",className:"flex-shrink-0",children:"人格"}),i.jsx(Rt,{value:"chat",className:"flex-shrink-0",children:"聊天"}),i.jsx(Rt,{value:"expression",className:"flex-shrink-0",children:"表达"}),i.jsx(Rt,{value:"features",className:"flex-shrink-0",children:"功能"}),i.jsx(Rt,{value:"processing",className:"flex-shrink-0",children:"处理"}),i.jsx(Rt,{value:"mood",className:"flex-shrink-0",children:"情绪"}),i.jsx(Rt,{value:"voice",className:"flex-shrink-0",children:"语音"}),i.jsx(Rt,{value:"lpmm",className:"flex-shrink-0",children:"知识库"}),i.jsx(Rt,{value:"other",className:"flex-shrink-0",children:"其他"})]})}),i.jsx(sn,{value:"bot",className:"space-y-4",children:x&&i.jsx(_je,{config:x,onChange:j})}),i.jsx(sn,{value:"personality",className:"space-y-4",children:w&&i.jsx(Nje,{config:w,onChange:b})}),i.jsx(sn,{value:"chat",className:"space-y-4",children:N&&i.jsx(Cje,{config:N,onChange:E})}),i.jsx(sn,{value:"expression",className:"space-y-4",children:O&&i.jsx(Oje,{config:O,onChange:A})}),i.jsx(sn,{value:"features",className:"space-y-4",children:C&&T&&R&&i.jsx(Eje,{emojiConfig:C,memoryConfig:T,toolConfig:R,onEmojiChange:k,onMemoryChange:M,onToolChange:B})}),i.jsx(sn,{value:"processing",className:"space-y-4",children:D&&K&&I&&Y&&i.jsx(Aje,{keywordReactionConfig:D,responsePostProcessConfig:K,chineseTypoConfig:I,responseSplitterConfig:Y,onKeywordReactionChange:U,onResponsePostProcessChange:J,onChineseTypoChange:z,onResponseSplitterChange:te})}),i.jsx(sn,{value:"mood",className:"space-y-4",children:$&&i.jsx(Tje,{config:$,onChange:H})}),i.jsx(sn,{value:"voice",className:"space-y-4",children:V&&i.jsx(kje,{config:V,onChange:q})}),i.jsx(sn,{value:"lpmm",className:"space-y-4",children:G&&i.jsx(Mje,{config:G,onChange:L})}),i.jsxs(sn,{value:"other",className:"space-y-4",children:[ae&&i.jsx(Pje,{config:ae,onChange:ge}),ee&&i.jsx(Rje,{config:ee,onChange:Se}),re&&i.jsx(Dje,{config:re,onChange:we}),je&&i.jsx($je,{config:je,onChange:fe})]})]}),m&&i.jsx(kE,{onRestartComplete:Sn,onRestartFailed:le})]})})}function _je({config:e,onChange:t}){const n=()=>{t({...e,platforms:[...e.platforms,""]})},r=d=>{t({...e,platforms:e.platforms.filter((f,m)=>m!==d)})},a=(d,f)=>{const m=[...e.platforms];m[d]=f,t({...e,platforms:m})},s=()=>{t({...e,alias_names:[...e.alias_names,""]})},l=d=>{t({...e,alias_names:e.alias_names.filter((f,m)=>m!==d)})},u=(d,f)=>{const m=[...e.alias_names];m[d]=f,t({...e,alias_names:m})};return i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"基本信息"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"platform",children:"平台"}),i.jsx(Ne,{id:"platform",value:e.platform,onChange:d=>t({...e,platform:d.target.value}),placeholder:"qq"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"qq_account",children:"QQ账号"}),i.jsx(Ne,{id:"qq_account",value:e.qq_account,onChange:d=>t({...e,qq_account:d.target.value}),placeholder:"123456789"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"nickname",children:"昵称"}),i.jsx(Ne,{id:"nickname",value:e.nickname,onChange:d=>t({...e,nickname:d.target.value}),placeholder:"麦麦"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{children:"其他平台账号"}),i.jsxs(oe,{onClick:n,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加"]})]}),i.jsxs("div",{className:"space-y-2",children:[e.platforms.map((d,f)=>i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ne,{value:d,onChange:m=>a(f,m.target.value),placeholder:"wx:114514"}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除平台账号 "',d||"(空)",'" 吗?此操作无法撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>r(f),children:"删除"})]})]})]})]},f)),e.platforms.length===0&&i.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无其他平台账号"})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{children:"别名"}),i.jsxs(oe,{onClick:s,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加"]})]}),i.jsxs("div",{className:"space-y-2",children:[e.alias_names.map((d,f)=>i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ne,{value:d,onChange:m=>u(f,m.target.value),placeholder:"小麦"}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除别名 "',d||"(空)",'" 吗?此操作无法撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>l(f),children:"删除"})]})]})]})]},f)),e.alias_names.length===0&&i.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无别名"})]})]})]})]})})}function Nje({config:e,onChange:t}){const n=()=>{t({...e,states:[...e.states,""]})},r=s=>{t({...e,states:e.states.filter((l,u)=>u!==s)})},a=(s,l)=>{const u=[...e.states];u[s]=l,t({...e,states:u})};return i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"人格设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"personality",children:"人格特质"}),i.jsx(Xt,{id:"personality",value:e.personality,onChange:s=>t({...e,personality:s.target.value}),placeholder:"描述人格特质和身份特征(建议120字以内)",rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"建议120字以内,描述人格特质和身份特征"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"reply_style",children:"表达风格"}),i.jsx(Xt,{id:"reply_style",value:e.reply_style,onChange:s=>t({...e,reply_style:s.target.value}),placeholder:"描述说话的表达风格和习惯",rows:3})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"interest",children:"兴趣"}),i.jsx(Xt,{id:"interest",value:e.interest,onChange:s=>t({...e,interest:s.target.value}),placeholder:"会影响麦麦对什么话题进行回复",rows:2})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"plan_style",children:"说话规则与行为风格"}),i.jsx(Xt,{id:"plan_style",value:e.plan_style,onChange:s=>t({...e,plan_style:s.target.value}),placeholder:"麦麦的说话规则和行为风格",rows:5})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"visual_style",children:"识图规则"}),i.jsx(Xt,{id:"visual_style",value:e.visual_style,onChange:s=>t({...e,visual_style:s.target.value}),placeholder:"识图时的处理规则",rows:3})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"private_plan_style",children:"私聊规则"}),i.jsx(Xt,{id:"private_plan_style",value:e.private_plan_style,onChange:s=>t({...e,private_plan_style:s.target.value}),placeholder:"私聊的说话规则和行为风格",rows:4})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{children:"状态列表(人格多样性)"}),i.jsxs(oe,{onClick:n,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加状态"]})]}),i.jsx("div",{className:"space-y-2",children:e.states.map((s,l)=>i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Xt,{value:s,onChange:u=>a(l,u.target.value),placeholder:"描述一个人格状态",rows:2}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsx(hn,{children:"确定要删除这个人格状态吗?此操作无法撤销。"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>r(l),children:"删除"})]})]})]})]},l))})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"state_probability",children:"状态替换概率"}),i.jsx(Ne,{id:"state_probability",type:"number",step:"0.1",min:"0",max:"1",value:e.state_probability,onChange:s=>t({...e,state_probability:parseFloat(s.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"每次构建人格时替换 personality 的概率(0.0-1.0)"})]})]})]})})}function Cje({config:e,onChange:t}){const n=()=>{t({...e,talk_value_rules:[...e.talk_value_rules,{target:"",time:"00:00-23:59",value:1}]})},r=u=>{t({...e,talk_value_rules:e.talk_value_rules.filter((d,f)=>f!==u)})},a=(u,d,f)=>{const m=[...e.talk_value_rules];m[u]={...m[u],[d]:f},t({...e,talk_value_rules:m})},s=({value:u,onChange:d})=>{const[f,m]=y.useState("00"),[p,g]=y.useState("00"),[x,j]=y.useState("23"),[w,b]=y.useState("59");y.useEffect(()=>{const E=u.split("-");if(E.length===2){const[O,A]=E,[C,k]=O.split(":"),[T,M]=A.split(":");C&&m(C.padStart(2,"0")),k&&g(k.padStart(2,"0")),T&&j(T.padStart(2,"0")),M&&b(M.padStart(2,"0"))}},[u]);const N=(E,O,A,C)=>{const k=`${E}:${O}-${A}:${C}`;d(k)};return i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",className:"w-full justify-start font-mono text-sm",children:[i.jsx(ll,{className:"h-4 w-4 mr-2"}),u||"选择时间段"]})}),i.jsx(ds,{className:"w-80",children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"font-medium text-sm mb-3",children:"开始时间"}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs",children:"小时"}),i.jsxs(Dt,{value:f,onValueChange:E=>{m(E),N(E,p,x,w)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:Array.from({length:24},(E,O)=>O).map(E=>i.jsx(De,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs",children:"分钟"}),i.jsxs(Dt,{value:p,onValueChange:E=>{g(E),N(f,E,x,w)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:Array.from({length:60},(E,O)=>O).map(E=>i.jsx(De,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]})]})]}),i.jsxs("div",{children:[i.jsx("h4",{className:"font-medium text-sm mb-3",children:"结束时间"}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs",children:"小时"}),i.jsxs(Dt,{value:x,onValueChange:E=>{j(E),N(f,p,E,w)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:Array.from({length:24},(E,O)=>O).map(E=>i.jsx(De,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs",children:"分钟"}),i.jsxs(Dt,{value:w,onValueChange:E=>{b(E),N(f,p,x,E)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:Array.from({length:60},(E,O)=>O).map(E=>i.jsx(De,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]})]})]})]})})]})},l=({rule:u})=>{const d=`{ target = "${u.target}", time = "${u.time}", value = ${u.value.toFixed(1)} }`;return i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Va,{className:"h-4 w-4 mr-1"}),"预览"]})}),i.jsx(ds,{className:"w-96",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),i.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:d}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})};return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"聊天设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"talk_value",children:"聊天频率(基础值)"}),i.jsx(Ne,{id:"talk_value",type:"number",step:"0.1",min:"0",max:"1",value:e.talk_value,onChange:u=>t({...e,talk_value:parseFloat(u.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"越小越沉默,范围 0-1"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"mentioned_bot_reply",children:"提及回复增幅"}),i.jsx(Ne,{id:"mentioned_bot_reply",type:"number",step:"0.1",min:"0",max:"1",value:e.mentioned_bot_reply,onChange:u=>t({...e,mentioned_bot_reply:parseFloat(u.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"提及时回复概率增幅,1 为 100% 回复"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_context_size",children:"上下文长度"}),i.jsx(Ne,{id:"max_context_size",type:"number",min:"1",value:e.max_context_size,onChange:u=>t({...e,max_context_size:parseInt(u.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"planner_smooth",children:"规划器平滑"}),i.jsx(Ne,{id:"planner_smooth",type:"number",step:"1",min:"0",value:e.planner_smooth,onChange:u=>t({...e,planner_smooth:parseFloat(u.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"增大数值会减小 planner 负荷,推荐 1-5,0 为关闭"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"enable_talk_value_rules",checked:e.enable_talk_value_rules,onCheckedChange:u=>t({...e,enable_talk_value_rules:u})}),i.jsx(Q,{htmlFor:"enable_talk_value_rules",className:"cursor-pointer",children:"启用动态发言频率规则"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"include_planner_reasoning",checked:e.include_planner_reasoning,onCheckedChange:u=>t({...e,include_planner_reasoning:u})}),i.jsx(Q,{htmlFor:"include_planner_reasoning",className:"cursor-pointer",children:"将 planner 推理加入 replyer"})]})]})]}),e.enable_talk_value_rules&&i.jsxs("div",{className:"border-t pt-6",children:[i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-base font-semibold",children:"动态发言频率规则"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"按时段或聊天流ID调整发言频率,优先匹配具体聊天,再匹配全局规则"})]}),i.jsxs(oe,{onClick:n,size:"sm",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),e.talk_value_rules&&e.talk_value_rules.length>0?i.jsx("div",{className:"space-y-4",children:e.talk_value_rules.map((u,d)=>i.jsxs("div",{className:"rounded-lg border p-4 bg-muted/50 space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium text-muted-foreground",children:["规则 #",d+1]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(l,{rule:u}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{variant:"ghost",size:"sm",children:i.jsx(It,{className:"h-4 w-4 text-destructive"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:["确定要删除规则 #",d+1," 吗?此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>r(d),children:"删除"})]})]})]})]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"配置类型"}),i.jsxs(Dt,{value:u.target===""?"global":"specific",onValueChange:f=>{f==="global"?a(d,"target",""):a(d,"target","qq::group")},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"global",children:"全局配置"}),i.jsx(De,{value:"specific",children:"详细配置"})]})]})]}),u.target!==""&&(()=>{const f=u.target.split(":"),m=f[0]||"qq",p=f[1]||"",g=f[2]||"group";return i.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[i.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"平台"}),i.jsxs(Dt,{value:m,onValueChange:x=>{a(d,"target",`${x}:${p}:${g}`)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"qq",children:"QQ"}),i.jsx(De,{value:"wx",children:"微信"})]})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"群 ID"}),i.jsx(Ne,{value:p,onChange:x=>{a(d,"target",`${m}:${x.target.value}:${g}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"类型"}),i.jsxs(Dt,{value:g,onValueChange:x=>{a(d,"target",`${m}:${p}:${x}`)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"group",children:"群组(group)"}),i.jsx(De,{value:"private",children:"私聊(private)"})]})]})]})]}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",u.target||"(未设置)"]})]})})(),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"时间段 (Time)"}),i.jsx(s,{value:u.time,onChange:f=>a(d,"time",f)}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"支持跨夜区间,例如 23:00-02:00"})]}),i.jsxs("div",{className:"grid gap-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{htmlFor:`rule-value-${d}`,className:"text-xs font-medium",children:"发言频率值 (Value)"}),i.jsx(Ne,{id:`rule-value-${d}`,type:"number",step:"0.01",min:"0",max:"1",value:u.value,onChange:f=>{const m=parseFloat(f.target.value);isNaN(m)||a(d,"value",Math.max(0,Math.min(1,m)))},className:"w-20 h-8 text-xs"})]}),i.jsx(xE,{value:[u.value],onValueChange:f=>a(d,"value",f[0]),min:0,max:1,step:.01,className:"w-full"}),i.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[i.jsx("span",{children:"0 (完全沉默)"}),i.jsx("span",{children:"0.5"}),i.jsx("span",{children:"1.0 (正常)"})]})]})]})]},d))}):i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:i.jsx("p",{className:"text-sm",children:'暂无规则,点击"添加规则"按钮创建'})}),i.jsxs("div",{className:"mt-4 p-4 bg-blue-50 dark:bg-blue-950/20 border border-blue-200 dark:border-blue-800 rounded-lg",children:[i.jsx("h5",{className:"text-sm font-semibold text-blue-900 dark:text-blue-100 mb-2",children:"📝 规则说明"}),i.jsxs("ul",{className:"text-xs text-blue-800 dark:text-blue-200 space-y-1",children:[i.jsxs("li",{children:["• ",i.jsx("strong",{children:"Target 为空"}),":全局规则,对所有聊天生效"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"Target 指定"}),":仅对特定聊天流生效(格式:platform:id:type)"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"优先级"}),":先匹配具体聊天流规则,再匹配全局规则"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"时间支持跨夜"}),":例如 23:00-02:00 表示晚上11点到次日凌晨2点"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"数值范围"}),":建议 0-1,0 表示完全沉默,1 表示正常发言"]})]})]})]})]})}function Oje({config:e,onChange:t}){const n=()=>{t({...e,learning_list:[...e.learning_list,["","enable","enable","1.0"]]})},r=g=>{t({...e,learning_list:e.learning_list.filter((x,j)=>j!==g)})},a=(g,x,j)=>{const w=[...e.learning_list];w[g][x]=j,t({...e,learning_list:w})},s=({rule:g})=>{const x=`["${g[0]}", "${g[1]}", "${g[2]}", "${g[3]}"]`;return i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Va,{className:"h-4 w-4 mr-1"}),"预览"]})}),i.jsx(ds,{className:"w-96",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),i.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:x}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})},l=({member:g,groupIndex:x,memberIndex:j,availableChatIds:w})=>{const b=w.includes(g)||g==="*",[N,E]=y.useState(!b);return i.jsxs("div",{className:"flex gap-2",children:[i.jsx("div",{className:"flex-1 flex gap-2",children:N?i.jsxs(i.Fragment,{children:[i.jsx(Ne,{value:g,onChange:O=>p(x,j,O.target.value),placeholder:'输入 "*" 或 "qq:123456:group"',className:"flex-1"}),w.length>0&&i.jsx(oe,{size:"sm",variant:"outline",onClick:()=>E(!1),title:"切换到下拉选择",children:"下拉"})]}):i.jsxs(i.Fragment,{children:[i.jsxs(Dt,{value:g,onValueChange:O=>p(x,j,O),children:[i.jsx(Ot,{className:"flex-1",children:i.jsx($t,{placeholder:"选择聊天流"})}),i.jsxs(Et,{children:[i.jsx(De,{value:"*",children:"* (全局共享)"}),w.map((O,A)=>i.jsx(De,{value:O,children:O},A))]})]}),i.jsx(oe,{size:"sm",variant:"outline",onClick:()=>E(!0),title:"切换到手动输入",children:"输入"})]})}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除组成员 "',g||"(空)",'" 吗?此操作无法撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>m(x,j),children:"删除"})]})]})]})]})},u=()=>{t({...e,expression_groups:[...e.expression_groups,[]]})},d=g=>{t({...e,expression_groups:e.expression_groups.filter((x,j)=>j!==g)})},f=g=>{const x=[...e.expression_groups];x[g]=[...x[g],""],t({...e,expression_groups:x})},m=(g,x)=>{const j=[...e.expression_groups];j[g]=j[g].filter((w,b)=>b!==x),t({...e,expression_groups:j})},p=(g,x,j)=>{const w=[...e.expression_groups];w[g][x]=j,t({...e,expression_groups:w})};return i.jsxs("div",{className:"space-y-6",children:[i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold",children:"表达学习配置"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置麦麦如何学习和使用表达方式"})]}),i.jsxs(oe,{onClick:n,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),i.jsxs("div",{className:"space-y-4",children:[e.learning_list.map((g,x)=>{const j=e.learning_list.some((A,C)=>C!==x&&A[0]===""),w=g[0]==="",b=g[0].split(":"),N=b[0]||"qq",E=b[1]||"",O=b[2]||"group";return i.jsxs("div",{className:"rounded-lg border p-4 space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium",children:["规则 ",x+1," ",w&&"(全局配置)"]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(s,{rule:g}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"sm",variant:"ghost",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:["确定要删除学习规则 ",x+1," 吗?此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>r(x),children:"删除"})]})]})]})]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"配置类型"}),i.jsxs(Dt,{value:w?"global":"specific",onValueChange:A=>{A==="global"?a(x,0,""):a(x,0,"qq::group")},disabled:j&&!w,children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"global",children:"全局配置"}),i.jsx(De,{value:"specific",disabled:j&&!w,children:"详细配置"})]})]}),j&&!w&&i.jsx("p",{className:"text-xs text-amber-600",children:"已存在全局配置,无法创建新的全局配置"})]}),!w&&i.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[i.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"平台"}),i.jsxs(Dt,{value:N,onValueChange:A=>{a(x,0,`${A}:${E}:${O}`)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"qq",children:"QQ"}),i.jsx(De,{value:"wx",children:"微信"})]})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"群 ID"}),i.jsx(Ne,{value:E,onChange:A=>{a(x,0,`${N}:${A.target.value}:${O}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"类型"}),i.jsxs(Dt,{value:O,onValueChange:A=>{a(x,0,`${N}:${E}:${A}`)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"group",children:"群组(group)"}),i.jsx(De,{value:"private",children:"私聊(private)"})]})]})]})]}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",g[0]||"(未设置)"]})]}),i.jsx("div",{className:"grid gap-2",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs font-medium",children:"使用学到的表达"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦使用从聊天中学到的表达方式"})]}),i.jsx(lt,{checked:g[1]==="enable",onCheckedChange:A=>a(x,1,A?"enable":"disable")})]})}),i.jsx("div",{className:"grid gap-2",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs font-medium",children:"学习表达"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦从聊天中学习新的表达方式"})]}),i.jsx(lt,{checked:g[2]==="enable",onCheckedChange:A=>a(x,2,A?"enable":"disable")})]})}),i.jsxs("div",{className:"grid gap-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{className:"text-xs font-medium",children:"学习强度"}),i.jsx(Ne,{type:"number",step:"0.1",min:"0",max:"5",value:g[3],onChange:A=>{const C=parseFloat(A.target.value);isNaN(C)||a(x,3,Math.max(0,Math.min(5,C)).toFixed(1))},className:"w-20 h-8 text-xs"})]}),i.jsx(xE,{value:[parseFloat(g[3])||1],onValueChange:A=>a(x,3,A[0].toFixed(1)),min:0,max:5,step:.1,className:"w-full"}),i.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[i.jsx("span",{children:"0 (不学习)"}),i.jsx("span",{children:"2.5"}),i.jsx("span",{children:"5.0 (快速学习)"})]}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"影响学习频率,最短学习间隔 = 300/学习强度(秒)"})]})]})]},x)}),e.learning_list.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无学习规则,点击"添加规则"开始配置'})]})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold",children:"表达共享组配置"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置不同聊天流之间如何共享学到的表达方式"})]}),i.jsxs(oe,{onClick:u,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加共享组"]})]}),i.jsxs("div",{className:"space-y-4",children:[e.expression_groups.map((g,x)=>{const j=e.learning_list.map(w=>w[0]).filter(w=>w!=="");return i.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium",children:["共享组 ",x+1,g.length===1&&g[0]==="*"&&"(全局共享)"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(oe,{onClick:()=>f(x),size:"sm",variant:"outline",children:i.jsx(ir,{className:"h-4 w-4"})}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"sm",variant:"ghost",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:["确定要删除共享组 ",x+1," 吗?此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>d(x),children:"删除"})]})]})]})]})]}),i.jsx("div",{className:"space-y-2",children:g.map((w,b)=>i.jsx(l,{member:w,groupIndex:x,memberIndex:b,availableChatIds:j},b))}),i.jsx("p",{className:"text-xs text-muted-foreground",children:'提示:可以从下拉框选择已配置的聊天流,或手动输入。输入 "*" 启用全局共享'})]},x)}),e.expression_groups.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无共享组,点击"添加共享组"开始配置'})]})]})})]})}function Eje({emojiConfig:e,memoryConfig:t,toolConfig:n,onEmojiChange:r,onMemoryChange:a,onToolChange:s}){return i.jsxs("div",{className:"space-y-6",children:[i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"工具设置"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"enable_tool",checked:n.enable_tool,onCheckedChange:l=>s({...n,enable_tool:l})}),i.jsx(Q,{htmlFor:"enable_tool",className:"cursor-pointer",children:"启用工具系统"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"允许麦麦使用各种工具来增强功能"})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"记忆设置"}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_agent_iterations",children:"记忆思考深度"}),i.jsx(Ne,{id:"max_agent_iterations",type:"number",min:"1",value:t.max_agent_iterations,onChange:l=>a({...t,max_agent_iterations:parseInt(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"最低为 1(不深入思考)"})]})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"表情包设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"emoji_chance",children:"表情包激活概率"}),i.jsx(Ne,{id:"emoji_chance",type:"number",step:"0.1",min:"0",max:"1",value:e.emoji_chance,onChange:l=>r({...e,emoji_chance:parseFloat(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"范围 0-1,越大越容易发送表情包"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_reg_num",children:"最大注册数量"}),i.jsx(Ne,{id:"max_reg_num",type:"number",min:"1",value:e.max_reg_num,onChange:l=>r({...e,max_reg_num:parseInt(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"麦麦最多可以注册的表情包数量"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),i.jsx(Ne,{id:"check_interval",type:"number",min:"1",value:e.check_interval,onChange:l=>r({...e,check_interval:parseInt(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包(注册、破损、删除)的时间间隔"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"do_replace",checked:e.do_replace,onCheckedChange:l=>r({...e,do_replace:l})}),i.jsx(Q,{htmlFor:"do_replace",className:"cursor-pointer",children:"达到最大数量时替换表情包"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"steal_emoji",checked:e.steal_emoji,onCheckedChange:l=>r({...e,steal_emoji:l})}),i.jsx(Q,{htmlFor:"steal_emoji",className:"cursor-pointer",children:"偷取表情包"})]}),i.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"允许麦麦将看到的表情包据为己有"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"content_filtration",checked:e.content_filtration,onCheckedChange:l=>r({...e,content_filtration:l})}),i.jsx(Q,{htmlFor:"content_filtration",className:"cursor-pointer",children:"启用表情包过滤"})]}),e.content_filtration&&i.jsxs("div",{className:"grid gap-2 pl-6 border-l-2 border-primary/20",children:[i.jsx(Q,{htmlFor:"filtration_prompt",children:"过滤要求"}),i.jsx(Ne,{id:"filtration_prompt",value:e.filtration_prompt,onChange:l=>r({...e,filtration_prompt:l.target.value}),placeholder:"符合公序良俗"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"只有符合此要求的表情包才会被保存"})]})]})]})})]})}function Aje({keywordReactionConfig:e,responsePostProcessConfig:t,chineseTypoConfig:n,responseSplitterConfig:r,onKeywordReactionChange:a,onResponsePostProcessChange:s,onChineseTypoChange:l,onResponseSplitterChange:u}){const d=()=>{a({...e,regex_rules:[...e.regex_rules,{regex:[""],reaction:""}]})},f=A=>{a({...e,regex_rules:e.regex_rules.filter((C,k)=>k!==A)})},m=(A,C,k)=>{const T=[...e.regex_rules];C==="regex"&&typeof k=="string"?T[A]={...T[A],regex:[k]}:C==="reaction"&&typeof k=="string"&&(T[A]={...T[A],reaction:k}),a({...e,regex_rules:T})},p=({regex:A,reaction:C,onRegexChange:k,onReactionChange:T})=>{const[M,R]=y.useState(!1),[B,$]=y.useState(""),[H,V]=y.useState(null),[q,G]=y.useState(""),[L,D]=y.useState({}),[U,K]=y.useState(""),J=y.useRef(null),[I,z]=y.useState("build"),Y=ee=>ee.replace(/\(\?P<([^>]+)>/g,"(?<$1>"),te=(ee,Se=0)=>{const re=J.current;if(!re)return;const we=re.selectionStart||0,je=re.selectionEnd||0,fe=A.substring(0,we)+ee+A.substring(je);k(fe),setTimeout(()=>{const Le=we+ee.length+Se;re.setSelectionRange(Le,Le),re.focus()},0)};y.useEffect(()=>{if(!A||!B){V(null),D({}),K(C),G("");return}try{const ee=Y(A),Se=new RegExp(ee,"g"),re=B.match(Se);V(re),G("");const je=new RegExp(ee).exec(B);if(je&&je.groups){D(je.groups);let fe=C;Object.entries(je.groups).forEach(([Le,Oe])=>{fe=fe.replace(new RegExp(`\\[${Le}\\]`,"g"),Oe||"")}),K(fe)}else D({}),K(C)}catch(ee){G(ee.message),V(null),D({}),K(C)}},[A,B,C]);const ae=()=>{if(!B||!H||H.length===0)return i.jsx("span",{className:"text-muted-foreground",children:B||"请输入测试文本"});try{const ee=Y(A),Se=new RegExp(ee,"g");let re=0;const we=[];let je;for(;(je=Se.exec(B))!==null;)je.index>re&&we.push(i.jsx("span",{children:B.substring(re,je.index)},`text-${re}`)),we.push(i.jsx("span",{className:"bg-yellow-200 dark:bg-yellow-900 font-semibold",children:je[0]},`match-${je.index}`)),re=je.index+je[0].length;return re)",desc:"Python风格命名捕获组",moveCursor:-1},{label:"非捕获组",pattern:"(?:)",desc:"分组但不保存匹配结果",moveCursor:-1}]},{category:"字符类",items:[{label:"字符集",pattern:"[]",desc:"匹配括号内的任意字符",moveCursor:-1},{label:"排除字符",pattern:"[^]",desc:"匹配不在括号内的字符",moveCursor:-1},{label:"范围",pattern:"[a-z]",desc:"匹配a到z的字符"},{label:"中文字符",pattern:"[\\u4e00-\\u9fa5]",desc:"匹配中文汉字"}]},{category:"常用模板",items:[{label:"捕获词语",pattern:"(?P\\S+)",desc:"捕获一个词语"},{label:"捕获句子",pattern:"(?P.+)",desc:"捕获整个句子"},{label:"捕获数字",pattern:"(?P\\d+)",desc:"捕获一个或多个数字"},{label:"可选词语",pattern:"(?:词语1|词语2)",desc:"匹配多个可选项之一"}]}];return i.jsxs(sr,{open:M,onOpenChange:R,children:[i.jsx(i8,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Og,{className:"h-4 w-4 mr-1"}),"正则编辑器"]})}),i.jsxs(Kn,{className:"max-w-[95vw] sm:max-w-[900px] max-h-[90vh]",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"正则表达式编辑器"}),i.jsx(vr,{className:"text-sm",children:"使用可视化工具构建正则表达式,并实时测试效果"})]}),i.jsx(Wt,{className:"max-h-[calc(90vh-120px)]",children:i.jsxs(dl,{value:I,onValueChange:ee=>z(ee),className:"w-full",children:[i.jsxs(eo,{className:"grid w-full grid-cols-2",children:[i.jsx(Rt,{value:"build",children:"🔧 构建器"}),i.jsx(Rt,{value:"test",children:"🧪 测试器"})]}),i.jsxs(sn,{value:"build",className:"space-y-4 mt-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{className:"text-sm font-medium",children:"正则表达式"}),i.jsx(Ne,{ref:J,value:A,onChange:ee=>k(ee.target.value),className:"font-mono text-sm",placeholder:"点击下方按钮构建正则表达式..."})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{className:"text-sm font-medium",children:"Reaction 内容"}),i.jsx(Xt,{value:C,onChange:ee=>T(ee.target.value),placeholder:"使用 [捕获组名] 引用捕获的内容...",rows:3,className:"text-sm"})]}),i.jsxs("div",{className:"space-y-4 border-t pt-4",children:[ge.map(ee=>i.jsxs("div",{className:"space-y-2",children:[i.jsx("h5",{className:"text-xs font-semibold text-primary",children:ee.category}),i.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:ee.items.map(Se=>i.jsx(oe,{variant:"outline",size:"sm",className:"justify-start h-auto py-2 px-3",onClick:()=>te(Se.pattern,Se.moveCursor||0),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsxs("div",{className:"flex items-center gap-2 w-full",children:[i.jsx("span",{className:"text-xs font-medium",children:Se.label}),i.jsx("code",{className:"ml-auto text-xs bg-muted px-1.5 py-0.5 rounded font-mono",children:Se.pattern})]}),i.jsx("span",{className:"text-xs text-muted-foreground mt-0.5",children:Se.desc})]})},Se.label))})]},ee.category)),i.jsxs("div",{className:"space-y-2 border-t pt-4",children:[i.jsx("h5",{className:"text-xs font-semibold text-primary",children:"完整示例模板"}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(oe,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>k("^(?P\\S{1,20})是这样的$"),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsxs("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:["^(?P\\S","{1,20}",")是这样的$"]}),i.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「某事物是这样的」并捕获事物名称"})]})}),i.jsx(oe,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>k("(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"}),i.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「我没要求你做某事」并捕获具体行为"})]})}),i.jsx(oe,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>k("(?P.+?)(?:是|为什么|怎么)"),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?P.+?)(?:是|为什么|怎么)"}),i.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"捕获问题主题词"})]})})]})]})]}),i.jsxs("div",{className:"rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3 space-y-1",children:[i.jsx("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:"💡 使用提示"}),i.jsxs("ul",{className:"text-xs text-blue-700 dark:text-blue-300 space-y-1 list-disc list-inside",children:[i.jsx("li",{children:"点击输入框设置光标位置,然后点击按钮插入模式"}),i.jsxs("li",{children:["命名捕获组格式:",i.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"(?P<名称>模式)"})]}),i.jsxs("li",{children:["在 reaction 中使用 ",i.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"[名称]"})," 引用捕获的内容"]}),i.jsx("li",{children:"切换到测试器标签页验证正则表达式效果"})]})]})]}),i.jsxs(sn,{value:"test",className:"space-y-4 mt-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{className:"text-sm font-medium",children:"当前正则表达式"}),i.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:A||"(未设置)"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"test-text",className:"text-sm font-medium",children:"测试文本"}),i.jsx(Xt,{id:"test-text",value:B,onChange:ee=>$(ee.target.value),placeholder:`在此输入要测试的文本... +3.某句话如果已经被回复过,不要重复回复`}),[j,w]=y.useState({emoji_chance:.4,max_reg_num:40,do_replace:!0,check_interval:10,steal_emoji:!0,content_filtration:!1,filtration_prompt:"符合公序良俗"}),[b,N]=y.useState({enable_tool:!0,enable_mood:!1,mood_update_threshold:1,emotion_style:"情绪较为稳定,但遭遇特定事件的时候起伏较大",all_global:!0}),E=[{id:"bot-basic",title:"Bot基础",description:"配置机器人的基本信息",icon:_ve},{id:"personality",title:"人格配置",description:"定义机器人的性格和说话风格",icon:gF},{id:"emoji",title:"表情包",description:"配置表情包相关设置",icon:oE},{id:"other",title:"其他设置",description:"工具、情绪系统等配置",icon:Fa},{id:"complete",title:"完成设置",description:"后续配置提示",icon:yh}],O=(n+1)/E.length*100;y.useEffect(()=>{(async()=>{try{f(!0);const[$,H,V,q]=await Promise.all([_be(),Nbe(),Cbe(),Obe()]);p($),x(H),w(V),N(q)}catch($){t({title:"加载配置失败",description:$ instanceof Error?$.message:"无法加载现有配置,将使用默认值",variant:"destructive"})}finally{f(!1)}})()},[t]);const A=async()=>{u(!0);try{switch(n){case 0:await Ebe(m);break;case 1:await Abe(g);break;case 2:await Tbe(j);break;case 3:await kbe(b);break}return t({title:"保存成功",description:`${E[n].title}配置已保存`}),!0}catch(B){return t({title:"保存失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"}),!1}finally{u(!1)}},C=async()=>{await A()&&n{n>0&&r(n-1)},T=async()=>{s(!0);try{if(!await A()){s(!1);return}await xL(),t({title:"配置完成",description:"所有配置已保存,正在跳转..."}),setTimeout(()=>{e({to:"/"})},500)}catch(B){t({title:"完成失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"})}finally{s(!1)}},M=async()=>{try{await xL(),e({to:"/"})}catch(B){t({title:"跳过失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"})}},R=()=>{switch(n){case 0:return i.jsx(bbe,{config:m,onChange:p});case 1:return i.jsx(wbe,{config:g,onChange:x});case 2:return i.jsx(jbe,{config:j,onChange:w});case 3:return i.jsx(Sbe,{config:b,onChange:N});case 4:return i.jsxs("div",{className:"space-y-6 text-center py-8",children:[i.jsx("div",{className:"mx-auto w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center",children:i.jsx(yh,{className:"h-8 w-8 text-primary",strokeWidth:2})}),i.jsxs("div",{className:"space-y-3",children:[i.jsx("h3",{className:"text-xl font-semibold",children:"模型配置"}),i.jsx("p",{className:"text-muted-foreground max-w-md mx-auto",children:"为了让机器人正常工作,您需要配置 AI 模型提供商和模型。"})]}),i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-6 max-w-md mx-auto text-left space-y-4",children:[i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"mt-0.5",children:i.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"1"})}),i.jsxs("div",{children:[i.jsx("p",{className:"font-medium",children:"配置 API 提供商"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → API 提供商"中添加您的 API 提供商信息'})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"mt-0.5",children:i.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"2"})}),i.jsxs("div",{children:[i.jsx("p",{className:"font-medium",children:"添加模型"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型列表"中添加需要使用的模型'})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"mt-0.5",children:i.jsx("div",{className:"h-6 w-6 rounded-full bg-primary/20 flex items-center justify-center text-primary text-sm font-semibold",children:"3"})}),i.jsxs("div",{children:[i.jsx("p",{className:"font-medium",children:"配置模型任务"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:'在"系统设置 → 模型配置 → 模型任务配置"中为不同任务分配模型'})]})]})]}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"💡 提示:完成向导后,您可以在系统设置中进行详细的模型配置"})]});default:return null}};return i.jsxs("div",{className:"relative flex min-h-screen flex-col items-center justify-center overflow-hidden bg-gradient-to-br from-primary/5 via-background to-secondary/5 p-4 md:p-6",children:[i.jsxs("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[i.jsx("div",{className:"absolute left-1/4 top-1/4 h-64 w-64 md:h-96 md:w-96 rounded-full bg-primary/5 blur-3xl"}),i.jsx("div",{className:"absolute right-1/4 bottom-1/4 h-64 w-64 md:h-96 md:w-96 rounded-full bg-secondary/5 blur-3xl"})]}),d?i.jsxs("div",{className:"relative z-10 text-center",children:[i.jsx("div",{className:"mx-auto mb-4 flex h-16 w-16 items-center justify-center",children:i.jsx("div",{className:"h-12 w-12 animate-spin rounded-full border-4 border-primary border-t-transparent"})}),i.jsx("p",{className:"text-lg font-medium",children:"加载配置中..."}),i.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:"正在读取现有配置"})]}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"relative z-10 w-full max-w-4xl",children:[i.jsxs("div",{className:"mb-6 md:mb-8 text-center",children:[i.jsx("div",{className:"mx-auto mb-4 flex h-12 w-12 md:h-16 md:w-16 items-center justify-center rounded-2xl bg-primary/10",children:i.jsx(Uge,{className:"h-6 w-6 md:h-8 md:w-8 text-primary",strokeWidth:2,fill:"none"})}),i.jsx("h1",{className:"mb-2 text-2xl md:text-3xl font-bold",children:"首次配置向导"}),i.jsxs("p",{className:"text-sm md:text-base text-muted-foreground",children:["让我们一起完成 ",uE," 的初始配置"]})]}),i.jsxs("div",{className:"mb-6 md:mb-8",children:[i.jsxs("div",{className:"mb-2 flex items-center justify-between text-xs md:text-sm",children:[i.jsxs("span",{className:"text-muted-foreground",children:["步骤 ",n+1," / ",E.length]}),i.jsxs("span",{className:"font-medium text-primary",children:[Math.round(O),"%"]})]}),i.jsx($h,{value:O,className:"h-2"})]}),i.jsx("div",{className:"mb-6 md:mb-8 flex justify-between",children:E.map((B,$)=>{const H=B.icon;return i.jsxs("div",{className:ce("flex flex-1 flex-col items-center gap-1 md:gap-2",$e({to:"/"}),className:"gap-2 w-full sm:w-auto",children:[i.jsx(Ag,{className:"h-4 w-4"}),"返回首页"]}),i.jsxs(oe,{size:"lg",variant:"outline",onClick:()=>window.history.back(),className:"gap-2 w-full sm:w-auto",children:[i.jsx(fF,{className:"h-4 w-4"}),"返回上一页"]})]}),i.jsx("div",{className:"mt-12 pt-8 border-t border-border",children:i.jsx("p",{className:"text-sm text-muted-foreground",children:"如果您认为这是一个错误,请联系系统管理员"})})]})})}var k8=["PageUp","PageDown"],M8=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],P8={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Qu="Slider",[sC,Pbe,Rbe]=Ph(Qu),[R8]=gr(Qu,[Rbe]),[Dbe,Hy]=R8(Qu),D8=y.forwardRef((e,t)=>{const{name:n,min:r=0,max:a=100,step:s=1,orientation:l="horizontal",disabled:u=!1,minStepsBetweenThumbs:d=0,defaultValue:f=[r],value:m,onValueChange:p=()=>{},onValueCommit:g=()=>{},inverted:x=!1,form:j,...w}=e,b=y.useRef(new Set),N=y.useRef(0),O=l==="horizontal"?$be:Ibe,[A=[],C]=Ea({prop:m,defaultProp:f,onChange:$=>{[...b.current][N.current]?.focus(),p($)}}),k=y.useRef(A);function T($){const H=Fbe(A,$);B($,H)}function M($){B($,N.current)}function R(){const $=k.current[N.current];A[N.current]!==$&&g(A)}function B($,H,{commit:V}={commit:!1}){const q=Vbe(s),G=Gbe(Math.round(($-r)/s)*s+r,q),L=Rf(G,[r,a]);C((D=[])=>{const U=zbe(D,L,H);if(Wbe(U,d*s)){N.current=U.indexOf(L);const K=String(U)!==String(D);return K&&V&&g(U),K?U:D}else return D})}return i.jsx(Dbe,{scope:e.__scopeSlider,name:n,disabled:u,min:r,max:a,valueIndexToChangeRef:N,thumbs:b.current,values:A,orientation:l,form:j,children:i.jsx(sC.Provider,{scope:e.__scopeSlider,children:i.jsx(sC.Slot,{scope:e.__scopeSlider,children:i.jsx(O,{"aria-disabled":u,"data-disabled":u?"":void 0,...w,ref:t,onPointerDown:_e(w.onPointerDown,()=>{u||(k.current=A)}),min:r,max:a,inverted:x,onSlideStart:u?void 0:T,onSlideMove:u?void 0:M,onSlideEnd:u?void 0:R,onHomeKeyDown:()=>!u&&B(r,0,{commit:!0}),onEndKeyDown:()=>!u&&B(a,A.length-1,{commit:!0}),onStepKeyDown:({event:$,direction:H})=>{if(!u){const G=k8.includes($.key)||$.shiftKey&&M8.includes($.key)?10:1,L=N.current,D=A[L],U=s*G*H;B(D+U,L,{commit:!0})}}})})})})});D8.displayName=Qu;var[$8,I8]=R8(Qu,{startEdge:"left",endEdge:"right",size:"width",direction:1}),$be=y.forwardRef((e,t)=>{const{min:n,max:r,dir:a,inverted:s,onSlideStart:l,onSlideMove:u,onSlideEnd:d,onStepKeyDown:f,...m}=e,[p,g]=y.useState(null),x=Ue(t,O=>g(O)),j=y.useRef(void 0),w=Fu(a),b=w==="ltr",N=b&&!s||!b&&s;function E(O){const A=j.current||p.getBoundingClientRect(),C=[0,A.width],T=xE(C,N?[n,r]:[r,n]);return j.current=A,T(O-A.left)}return i.jsx($8,{scope:e.__scopeSlider,startEdge:N?"left":"right",endEdge:N?"right":"left",direction:N?1:-1,size:"width",children:i.jsx(L8,{dir:w,"data-orientation":"horizontal",...m,ref:x,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:O=>{const A=E(O.clientX);l?.(A)},onSlideMove:O=>{const A=E(O.clientX);u?.(A)},onSlideEnd:()=>{j.current=void 0,d?.()},onStepKeyDown:O=>{const C=P8[N?"from-left":"from-right"].includes(O.key);f?.({event:O,direction:C?-1:1})}})})}),Ibe=y.forwardRef((e,t)=>{const{min:n,max:r,inverted:a,onSlideStart:s,onSlideMove:l,onSlideEnd:u,onStepKeyDown:d,...f}=e,m=y.useRef(null),p=Ue(t,m),g=y.useRef(void 0),x=!a;function j(w){const b=g.current||m.current.getBoundingClientRect(),N=[0,b.height],O=xE(N,x?[r,n]:[n,r]);return g.current=b,O(w-b.top)}return i.jsx($8,{scope:e.__scopeSlider,startEdge:x?"bottom":"top",endEdge:x?"top":"bottom",size:"height",direction:x?1:-1,children:i.jsx(L8,{"data-orientation":"vertical",...f,ref:p,style:{...f.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:w=>{const b=j(w.clientY);s?.(b)},onSlideMove:w=>{const b=j(w.clientY);l?.(b)},onSlideEnd:()=>{g.current=void 0,u?.()},onStepKeyDown:w=>{const N=P8[x?"from-bottom":"from-top"].includes(w.key);d?.({event:w,direction:N?-1:1})}})})}),L8=y.forwardRef((e,t)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:a,onSlideEnd:s,onHomeKeyDown:l,onEndKeyDown:u,onStepKeyDown:d,...f}=e,m=Hy(Qu,n);return i.jsx($e.span,{...f,ref:t,onKeyDown:_e(e.onKeyDown,p=>{p.key==="Home"?(l(p),p.preventDefault()):p.key==="End"?(u(p),p.preventDefault()):k8.concat(M8).includes(p.key)&&(d(p),p.preventDefault())}),onPointerDown:_e(e.onPointerDown,p=>{const g=p.target;g.setPointerCapture(p.pointerId),p.preventDefault(),m.thumbs.has(g)?g.focus():r(p)}),onPointerMove:_e(e.onPointerMove,p=>{p.target.hasPointerCapture(p.pointerId)&&a(p)}),onPointerUp:_e(e.onPointerUp,p=>{const g=p.target;g.hasPointerCapture(p.pointerId)&&(g.releasePointerCapture(p.pointerId),s(p))})})}),B8="SliderTrack",z8=y.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,a=Hy(B8,n);return i.jsx($e.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...r,ref:t})});z8.displayName=B8;var oC="SliderRange",q8=y.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,a=Hy(oC,n),s=I8(oC,n),l=y.useRef(null),u=Ue(t,l),d=a.values.length,f=a.values.map(g=>H8(g,a.min,a.max)),m=d>1?Math.min(...f):0,p=100-Math.max(...f);return i.jsx($e.span,{"data-orientation":a.orientation,"data-disabled":a.disabled?"":void 0,...r,ref:u,style:{...e.style,[s.startEdge]:m+"%",[s.endEdge]:p+"%"}})});q8.displayName=oC;var lC="SliderThumb",F8=y.forwardRef((e,t)=>{const n=Pbe(e.__scopeSlider),[r,a]=y.useState(null),s=Ue(t,u=>a(u)),l=y.useMemo(()=>r?n().findIndex(u=>u.ref.current===r):-1,[n,r]);return i.jsx(Lbe,{...e,ref:s,index:l})}),Lbe=y.forwardRef((e,t)=>{const{__scopeSlider:n,index:r,name:a,...s}=e,l=Hy(lC,n),u=I8(lC,n),[d,f]=y.useState(null),m=Ue(t,E=>f(E)),p=d?l.form||!!d.closest("form"):!0,g=$y(d),x=l.values[r],j=x===void 0?0:H8(x,l.min,l.max),w=qbe(r,l.values.length),b=g?.[u.size],N=b?Ube(b,j,u.direction):0;return y.useEffect(()=>{if(d)return l.thumbs.add(d),()=>{l.thumbs.delete(d)}},[d,l.thumbs]),i.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[u.startEdge]:`calc(${j}% + ${N}px)`},children:[i.jsx(sC.ItemSlot,{scope:e.__scopeSlider,children:i.jsx($e.span,{role:"slider","aria-label":e["aria-label"]||w,"aria-valuemin":l.min,"aria-valuenow":x,"aria-valuemax":l.max,"aria-orientation":l.orientation,"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,tabIndex:l.disabled?void 0:0,...s,ref:m,style:x===void 0?{display:"none"}:e.style,onFocus:_e(e.onFocus,()=>{l.valueIndexToChangeRef.current=r})})}),p&&i.jsx(U8,{name:a??(l.name?l.name+(l.values.length>1?"[]":""):void 0),form:l.form,value:x},r)]})});F8.displayName=lC;var Bbe="RadioBubbleInput",U8=y.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{const a=y.useRef(null),s=Ue(a,r),l=Dy(t);return y.useEffect(()=>{const u=a.current;if(!u)return;const d=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(d,"value").set;if(l!==t&&m){const p=new Event("input",{bubbles:!0});m.call(u,t),u.dispatchEvent(p)}},[l,t]),i.jsx($e.input,{style:{display:"none"},...n,ref:s,defaultValue:t})});U8.displayName=Bbe;function zbe(e=[],t,n){const r=[...e];return r[n]=t,r.sort((a,s)=>a-s)}function H8(e,t,n){const s=100/(n-t)*(e-t);return Rf(s,[0,100])}function qbe(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function Fbe(e,t){if(e.length===1)return 0;const n=e.map(a=>Math.abs(a-t)),r=Math.min(...n);return n.indexOf(r)}function Ube(e,t,n){const r=e/2,s=xE([0,50],[0,r]);return(r-s(t)*n)*n}function Hbe(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function Wbe(e,t){if(t>0){const n=Hbe(e);return Math.min(...n)>=t}return!0}function xE(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Vbe(e){return(String(e).split(".")[1]||"").length}function Gbe(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}var W8=D8,Ybe=z8,Kbe=q8,Xbe=F8;const Wy=y.forwardRef(({className:e,...t},n)=>i.jsxs(W8,{ref:n,className:ce("relative flex w-full touch-none select-none items-center",e),...t,children:[i.jsx(Ybe,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20",children:i.jsx(Kbe,{className:"absolute h-full bg-primary"})}),i.jsx(Xbe,{className:"block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"})]}));Wy.displayName=W8.displayName;const Zbe=["top","right","bottom","left"],to=Math.min,na=Math.max,Mg=Math.round,Zp=Math.floor,gi=e=>({x:e,y:e}),Qbe={left:"right",right:"left",bottom:"top",top:"bottom"},Jbe={start:"end",end:"start"};function cC(e,t,n){return na(e,to(t,n))}function cs(e,t){return typeof e=="function"?e(t):e}function us(e){return e.split("-")[0]}function Ju(e){return e.split("-")[1]}function bE(e){return e==="x"?"y":"x"}function wE(e){return e==="y"?"height":"width"}const e0e=new Set(["top","bottom"]);function fi(e){return e0e.has(us(e))?"y":"x"}function jE(e){return bE(fi(e))}function t0e(e,t,n){n===void 0&&(n=!1);const r=Ju(e),a=jE(e),s=wE(a);let l=a==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(l=Pg(l)),[l,Pg(l)]}function n0e(e){const t=Pg(e);return[uC(e),t,uC(t)]}function uC(e){return e.replace(/start|end/g,t=>Jbe[t])}const bL=["left","right"],wL=["right","left"],r0e=["top","bottom"],a0e=["bottom","top"];function i0e(e,t,n){switch(e){case"top":case"bottom":return n?t?wL:bL:t?bL:wL;case"left":case"right":return t?r0e:a0e;default:return[]}}function s0e(e,t,n,r){const a=Ju(e);let s=i0e(us(e),n==="start",r);return a&&(s=s.map(l=>l+"-"+a),t&&(s=s.concat(s.map(uC)))),s}function Pg(e){return e.replace(/left|right|bottom|top/g,t=>Qbe[t])}function o0e(e){return{top:0,right:0,bottom:0,left:0,...e}}function V8(e){return typeof e!="number"?o0e(e):{top:e,right:e,bottom:e,left:e}}function Rg(e){const{x:t,y:n,width:r,height:a}=e;return{width:r,height:a,top:n,left:t,right:t+r,bottom:n+a,x:t,y:n}}function jL(e,t,n){let{reference:r,floating:a}=e;const s=fi(t),l=jE(t),u=wE(l),d=us(t),f=s==="y",m=r.x+r.width/2-a.width/2,p=r.y+r.height/2-a.height/2,g=r[u]/2-a[u]/2;let x;switch(d){case"top":x={x:m,y:r.y-a.height};break;case"bottom":x={x:m,y:r.y+r.height};break;case"right":x={x:r.x+r.width,y:p};break;case"left":x={x:r.x-a.width,y:p};break;default:x={x:r.x,y:r.y}}switch(Ju(t)){case"start":x[l]-=g*(n&&f?-1:1);break;case"end":x[l]+=g*(n&&f?-1:1);break}return x}const l0e=async(e,t,n)=>{const{placement:r="bottom",strategy:a="absolute",middleware:s=[],platform:l}=n,u=s.filter(Boolean),d=await(l.isRTL==null?void 0:l.isRTL(t));let f=await l.getElementRects({reference:e,floating:t,strategy:a}),{x:m,y:p}=jL(f,r,d),g=r,x={},j=0;for(let w=0;w({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:a,rects:s,platform:l,elements:u,middlewareData:d}=t,{element:f,padding:m=0}=cs(e,t)||{};if(f==null)return{};const p=V8(m),g={x:n,y:r},x=jE(a),j=wE(x),w=await l.getDimensions(f),b=x==="y",N=b?"top":"left",E=b?"bottom":"right",O=b?"clientHeight":"clientWidth",A=s.reference[j]+s.reference[x]-g[x]-s.floating[j],C=g[x]-s.reference[x],k=await(l.getOffsetParent==null?void 0:l.getOffsetParent(f));let T=k?k[O]:0;(!T||!await(l.isElement==null?void 0:l.isElement(k)))&&(T=u.floating[O]||s.floating[j]);const M=A/2-C/2,R=T/2-w[j]/2-1,B=to(p[N],R),$=to(p[E],R),H=B,V=T-w[j]-$,q=T/2-w[j]/2+M,G=cC(H,q,V),L=!d.arrow&&Ju(a)!=null&&q!==G&&s.reference[j]/2-(qq<=0)){var $,H;const q=((($=s.flip)==null?void 0:$.index)||0)+1,G=T[q];if(G&&(!(p==="alignment"?E!==fi(G):!1)||B.every(U=>fi(U.placement)===E?U.overflows[0]>0:!0)))return{data:{index:q,overflows:B},reset:{placement:G}};let L=(H=B.filter(D=>D.overflows[0]<=0).sort((D,U)=>D.overflows[1]-U.overflows[1])[0])==null?void 0:H.placement;if(!L)switch(x){case"bestFit":{var V;const D=(V=B.filter(U=>{if(k){const K=fi(U.placement);return K===E||K==="y"}return!0}).map(U=>[U.placement,U.overflows.filter(K=>K>0).reduce((K,J)=>K+J,0)]).sort((U,K)=>U[1]-K[1])[0])==null?void 0:V[0];D&&(L=D);break}case"initialPlacement":L=u;break}if(a!==L)return{reset:{placement:L}}}return{}}}};function SL(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function _L(e){return Zbe.some(t=>e[t]>=0)}const d0e=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...a}=cs(e,t);switch(r){case"referenceHidden":{const s=await wh(t,{...a,elementContext:"reference"}),l=SL(s,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:_L(l)}}}case"escaped":{const s=await wh(t,{...a,altBoundary:!0}),l=SL(s,n.floating);return{data:{escapedOffsets:l,escaped:_L(l)}}}default:return{}}}}},G8=new Set(["left","top"]);async function f0e(e,t){const{placement:n,platform:r,elements:a}=e,s=await(r.isRTL==null?void 0:r.isRTL(a.floating)),l=us(n),u=Ju(n),d=fi(n)==="y",f=G8.has(l)?-1:1,m=s&&d?-1:1,p=cs(t,e);let{mainAxis:g,crossAxis:x,alignmentAxis:j}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return u&&typeof j=="number"&&(x=u==="end"?j*-1:j),d?{x:x*m,y:g*f}:{x:g*f,y:x*m}}const h0e=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:a,y:s,placement:l,middlewareData:u}=t,d=await f0e(t,e);return l===((n=u.offset)==null?void 0:n.placement)&&(r=u.arrow)!=null&&r.alignmentOffset?{}:{x:a+d.x,y:s+d.y,data:{...d,placement:l}}}}},m0e=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:a}=t,{mainAxis:s=!0,crossAxis:l=!1,limiter:u={fn:b=>{let{x:N,y:E}=b;return{x:N,y:E}}},...d}=cs(e,t),f={x:n,y:r},m=await wh(t,d),p=fi(us(a)),g=bE(p);let x=f[g],j=f[p];if(s){const b=g==="y"?"top":"left",N=g==="y"?"bottom":"right",E=x+m[b],O=x-m[N];x=cC(E,x,O)}if(l){const b=p==="y"?"top":"left",N=p==="y"?"bottom":"right",E=j+m[b],O=j-m[N];j=cC(E,j,O)}const w=u.fn({...t,[g]:x,[p]:j});return{...w,data:{x:w.x-n,y:w.y-r,enabled:{[g]:s,[p]:l}}}}}},p0e=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:a,rects:s,middlewareData:l}=t,{offset:u=0,mainAxis:d=!0,crossAxis:f=!0}=cs(e,t),m={x:n,y:r},p=fi(a),g=bE(p);let x=m[g],j=m[p];const w=cs(u,t),b=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(d){const O=g==="y"?"height":"width",A=s.reference[g]-s.floating[O]+b.mainAxis,C=s.reference[g]+s.reference[O]-b.mainAxis;xC&&(x=C)}if(f){var N,E;const O=g==="y"?"width":"height",A=G8.has(us(a)),C=s.reference[p]-s.floating[O]+(A&&((N=l.offset)==null?void 0:N[p])||0)+(A?0:b.crossAxis),k=s.reference[p]+s.reference[O]+(A?0:((E=l.offset)==null?void 0:E[p])||0)-(A?b.crossAxis:0);jk&&(j=k)}return{[g]:x,[p]:j}}}},v0e=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:a,rects:s,platform:l,elements:u}=t,{apply:d=()=>{},...f}=cs(e,t),m=await wh(t,f),p=us(a),g=Ju(a),x=fi(a)==="y",{width:j,height:w}=s.floating;let b,N;p==="top"||p==="bottom"?(b=p,N=g===(await(l.isRTL==null?void 0:l.isRTL(u.floating))?"start":"end")?"left":"right"):(N=p,b=g==="end"?"top":"bottom");const E=w-m.top-m.bottom,O=j-m.left-m.right,A=to(w-m[b],E),C=to(j-m[N],O),k=!t.middlewareData.shift;let T=A,M=C;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(M=O),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(T=E),k&&!g){const B=na(m.left,0),$=na(m.right,0),H=na(m.top,0),V=na(m.bottom,0);x?M=j-2*(B!==0||$!==0?B+$:na(m.left,m.right)):T=w-2*(H!==0||V!==0?H+V:na(m.top,m.bottom))}await d({...t,availableWidth:M,availableHeight:T});const R=await l.getDimensions(u.floating);return j!==R.width||w!==R.height?{reset:{rects:!0}}:{}}}};function Vy(){return typeof window<"u"}function ed(e){return Y8(e)?(e.nodeName||"").toLowerCase():"#document"}function sa(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ni(e){var t;return(t=(Y8(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Y8(e){return Vy()?e instanceof Node||e instanceof sa(e).Node:!1}function Ga(e){return Vy()?e instanceof Element||e instanceof sa(e).Element:!1}function wi(e){return Vy()?e instanceof HTMLElement||e instanceof sa(e).HTMLElement:!1}function NL(e){return!Vy()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof sa(e).ShadowRoot}const g0e=new Set(["inline","contents"]);function Zh(e){const{overflow:t,overflowX:n,overflowY:r,display:a}=Ya(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!g0e.has(a)}const y0e=new Set(["table","td","th"]);function x0e(e){return y0e.has(ed(e))}const b0e=[":popover-open",":modal"];function Gy(e){return b0e.some(t=>{try{return e.matches(t)}catch{return!1}})}const w0e=["transform","translate","scale","rotate","perspective"],j0e=["transform","translate","scale","rotate","perspective","filter"],S0e=["paint","layout","strict","content"];function SE(e){const t=_E(),n=Ga(e)?Ya(e):e;return w0e.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||j0e.some(r=>(n.willChange||"").includes(r))||S0e.some(r=>(n.contain||"").includes(r))}function _0e(e){let t=no(e);for(;wi(t)&&!Du(t);){if(SE(t))return t;if(Gy(t))return null;t=no(t)}return null}function _E(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const N0e=new Set(["html","body","#document"]);function Du(e){return N0e.has(ed(e))}function Ya(e){return sa(e).getComputedStyle(e)}function Yy(e){return Ga(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function no(e){if(ed(e)==="html")return e;const t=e.assignedSlot||e.parentNode||NL(e)&&e.host||Ni(e);return NL(t)?t.host:t}function K8(e){const t=no(e);return Du(t)?e.ownerDocument?e.ownerDocument.body:e.body:wi(t)&&Zh(t)?t:K8(t)}function jh(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const a=K8(e),s=a===((r=e.ownerDocument)==null?void 0:r.body),l=sa(a);if(s){const u=dC(l);return t.concat(l,l.visualViewport||[],Zh(a)?a:[],u&&n?jh(u):[])}return t.concat(a,jh(a,[],n))}function dC(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function X8(e){const t=Ya(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const a=wi(e),s=a?e.offsetWidth:n,l=a?e.offsetHeight:r,u=Mg(n)!==s||Mg(r)!==l;return u&&(n=s,r=l),{width:n,height:r,$:u}}function NE(e){return Ga(e)?e:e.contextElement}function Qc(e){const t=NE(e);if(!wi(t))return gi(1);const n=t.getBoundingClientRect(),{width:r,height:a,$:s}=X8(t);let l=(s?Mg(n.width):n.width)/r,u=(s?Mg(n.height):n.height)/a;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}const C0e=gi(0);function Z8(e){const t=sa(e);return!_E()||!t.visualViewport?C0e:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function O0e(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==sa(e)?!1:t}function xl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const a=e.getBoundingClientRect(),s=NE(e);let l=gi(1);t&&(r?Ga(r)&&(l=Qc(r)):l=Qc(e));const u=O0e(s,n,r)?Z8(s):gi(0);let d=(a.left+u.x)/l.x,f=(a.top+u.y)/l.y,m=a.width/l.x,p=a.height/l.y;if(s){const g=sa(s),x=r&&Ga(r)?sa(r):r;let j=g,w=dC(j);for(;w&&r&&x!==j;){const b=Qc(w),N=w.getBoundingClientRect(),E=Ya(w),O=N.left+(w.clientLeft+parseFloat(E.paddingLeft))*b.x,A=N.top+(w.clientTop+parseFloat(E.paddingTop))*b.y;d*=b.x,f*=b.y,m*=b.x,p*=b.y,d+=O,f+=A,j=sa(w),w=dC(j)}}return Rg({width:m,height:p,x:d,y:f})}function Ky(e,t){const n=Yy(e).scrollLeft;return t?t.left+n:xl(Ni(e)).left+n}function Q8(e,t){const n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-Ky(e,n),a=n.top+t.scrollTop;return{x:r,y:a}}function E0e(e){let{elements:t,rect:n,offsetParent:r,strategy:a}=e;const s=a==="fixed",l=Ni(r),u=t?Gy(t.floating):!1;if(r===l||u&&s)return n;let d={scrollLeft:0,scrollTop:0},f=gi(1);const m=gi(0),p=wi(r);if((p||!p&&!s)&&((ed(r)!=="body"||Zh(l))&&(d=Yy(r)),wi(r))){const x=xl(r);f=Qc(r),m.x=x.x+r.clientLeft,m.y=x.y+r.clientTop}const g=l&&!p&&!s?Q8(l,d):gi(0);return{width:n.width*f.x,height:n.height*f.y,x:n.x*f.x-d.scrollLeft*f.x+m.x+g.x,y:n.y*f.y-d.scrollTop*f.y+m.y+g.y}}function A0e(e){return Array.from(e.getClientRects())}function T0e(e){const t=Ni(e),n=Yy(e),r=e.ownerDocument.body,a=na(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),s=na(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+Ky(e);const u=-n.scrollTop;return Ya(r).direction==="rtl"&&(l+=na(t.clientWidth,r.clientWidth)-a),{width:a,height:s,x:l,y:u}}const CL=25;function k0e(e,t){const n=sa(e),r=Ni(e),a=n.visualViewport;let s=r.clientWidth,l=r.clientHeight,u=0,d=0;if(a){s=a.width,l=a.height;const m=_E();(!m||m&&t==="fixed")&&(u=a.offsetLeft,d=a.offsetTop)}const f=Ky(r);if(f<=0){const m=r.ownerDocument,p=m.body,g=getComputedStyle(p),x=m.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,j=Math.abs(r.clientWidth-p.clientWidth-x);j<=CL&&(s-=j)}else f<=CL&&(s+=f);return{width:s,height:l,x:u,y:d}}const M0e=new Set(["absolute","fixed"]);function P0e(e,t){const n=xl(e,!0,t==="fixed"),r=n.top+e.clientTop,a=n.left+e.clientLeft,s=wi(e)?Qc(e):gi(1),l=e.clientWidth*s.x,u=e.clientHeight*s.y,d=a*s.x,f=r*s.y;return{width:l,height:u,x:d,y:f}}function OL(e,t,n){let r;if(t==="viewport")r=k0e(e,n);else if(t==="document")r=T0e(Ni(e));else if(Ga(t))r=P0e(t,n);else{const a=Z8(e);r={x:t.x-a.x,y:t.y-a.y,width:t.width,height:t.height}}return Rg(r)}function J8(e,t){const n=no(e);return n===t||!Ga(n)||Du(n)?!1:Ya(n).position==="fixed"||J8(n,t)}function R0e(e,t){const n=t.get(e);if(n)return n;let r=jh(e,[],!1).filter(u=>Ga(u)&&ed(u)!=="body"),a=null;const s=Ya(e).position==="fixed";let l=s?no(e):e;for(;Ga(l)&&!Du(l);){const u=Ya(l),d=SE(l);!d&&u.position==="fixed"&&(a=null),(s?!d&&!a:!d&&u.position==="static"&&!!a&&M0e.has(a.position)||Zh(l)&&!d&&J8(e,l))?r=r.filter(m=>m!==l):a=u,l=no(l)}return t.set(e,r),r}function D0e(e){let{element:t,boundary:n,rootBoundary:r,strategy:a}=e;const l=[...n==="clippingAncestors"?Gy(t)?[]:R0e(t,this._c):[].concat(n),r],u=l[0],d=l.reduce((f,m)=>{const p=OL(t,m,a);return f.top=na(p.top,f.top),f.right=to(p.right,f.right),f.bottom=to(p.bottom,f.bottom),f.left=na(p.left,f.left),f},OL(t,u,a));return{width:d.right-d.left,height:d.bottom-d.top,x:d.left,y:d.top}}function $0e(e){const{width:t,height:n}=X8(e);return{width:t,height:n}}function I0e(e,t,n){const r=wi(t),a=Ni(t),s=n==="fixed",l=xl(e,!0,s,t);let u={scrollLeft:0,scrollTop:0};const d=gi(0);function f(){d.x=Ky(a)}if(r||!r&&!s)if((ed(t)!=="body"||Zh(a))&&(u=Yy(t)),r){const x=xl(t,!0,s,t);d.x=x.x+t.clientLeft,d.y=x.y+t.clientTop}else a&&f();s&&!r&&a&&f();const m=a&&!r&&!s?Q8(a,u):gi(0),p=l.left+u.scrollLeft-d.x-m.x,g=l.top+u.scrollTop-d.y-m.y;return{x:p,y:g,width:l.width,height:l.height}}function l_(e){return Ya(e).position==="static"}function EL(e,t){if(!wi(e)||Ya(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Ni(e)===n&&(n=n.ownerDocument.body),n}function eU(e,t){const n=sa(e);if(Gy(e))return n;if(!wi(e)){let a=no(e);for(;a&&!Du(a);){if(Ga(a)&&!l_(a))return a;a=no(a)}return n}let r=EL(e,t);for(;r&&x0e(r)&&l_(r);)r=EL(r,t);return r&&Du(r)&&l_(r)&&!SE(r)?n:r||_0e(e)||n}const L0e=async function(e){const t=this.getOffsetParent||eU,n=this.getDimensions,r=await n(e.floating);return{reference:I0e(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function B0e(e){return Ya(e).direction==="rtl"}const z0e={convertOffsetParentRelativeRectToViewportRelativeRect:E0e,getDocumentElement:Ni,getClippingRect:D0e,getOffsetParent:eU,getElementRects:L0e,getClientRects:A0e,getDimensions:$0e,getScale:Qc,isElement:Ga,isRTL:B0e};function tU(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function q0e(e,t){let n=null,r;const a=Ni(e);function s(){var u;clearTimeout(r),(u=n)==null||u.disconnect(),n=null}function l(u,d){u===void 0&&(u=!1),d===void 0&&(d=1),s();const f=e.getBoundingClientRect(),{left:m,top:p,width:g,height:x}=f;if(u||t(),!g||!x)return;const j=Zp(p),w=Zp(a.clientWidth-(m+g)),b=Zp(a.clientHeight-(p+x)),N=Zp(m),O={rootMargin:-j+"px "+-w+"px "+-b+"px "+-N+"px",threshold:na(0,to(1,d))||1};let A=!0;function C(k){const T=k[0].intersectionRatio;if(T!==d){if(!A)return l();T?l(!1,T):r=setTimeout(()=>{l(!1,1e-7)},1e3)}T===1&&!tU(f,e.getBoundingClientRect())&&l(),A=!1}try{n=new IntersectionObserver(C,{...O,root:a.ownerDocument})}catch{n=new IntersectionObserver(C,O)}n.observe(e)}return l(!0),s}function F0e(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:a=!0,ancestorResize:s=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:d=!1}=r,f=NE(e),m=a||s?[...f?jh(f):[],...jh(t)]:[];m.forEach(N=>{a&&N.addEventListener("scroll",n,{passive:!0}),s&&N.addEventListener("resize",n)});const p=f&&u?q0e(f,n):null;let g=-1,x=null;l&&(x=new ResizeObserver(N=>{let[E]=N;E&&E.target===f&&x&&(x.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var O;(O=x)==null||O.observe(t)})),n()}),f&&!d&&x.observe(f),x.observe(t));let j,w=d?xl(e):null;d&&b();function b(){const N=xl(e);w&&!tU(w,N)&&n(),w=N,j=requestAnimationFrame(b)}return n(),()=>{var N;m.forEach(E=>{a&&E.removeEventListener("scroll",n),s&&E.removeEventListener("resize",n)}),p?.(),(N=x)==null||N.disconnect(),x=null,d&&cancelAnimationFrame(j)}}const U0e=h0e,H0e=m0e,W0e=u0e,V0e=v0e,G0e=d0e,AL=c0e,Y0e=p0e,K0e=(e,t,n)=>{const r=new Map,a={platform:z0e,...n},s={...a.platform,_c:r};return l0e(e,t,{...a,platform:s})};var X0e=typeof document<"u",Z0e=function(){},mv=X0e?y.useLayoutEffect:Z0e;function Dg(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,a;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Dg(e[r],t[r]))return!1;return!0}if(a=Object.keys(e),n=a.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,a[r]))return!1;for(r=n;r--!==0;){const s=a[r];if(!(s==="_owner"&&e.$$typeof)&&!Dg(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function nU(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function TL(e,t){const n=nU(e);return Math.round(t*n)/n}function c_(e){const t=y.useRef(e);return mv(()=>{t.current=e}),t}function Q0e(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:a,elements:{reference:s,floating:l}={},transform:u=!0,whileElementsMounted:d,open:f}=e,[m,p]=y.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[g,x]=y.useState(r);Dg(g,r)||x(r);const[j,w]=y.useState(null),[b,N]=y.useState(null),E=y.useCallback(U=>{U!==k.current&&(k.current=U,w(U))},[]),O=y.useCallback(U=>{U!==T.current&&(T.current=U,N(U))},[]),A=s||j,C=l||b,k=y.useRef(null),T=y.useRef(null),M=y.useRef(m),R=d!=null,B=c_(d),$=c_(a),H=c_(f),V=y.useCallback(()=>{if(!k.current||!T.current)return;const U={placement:t,strategy:n,middleware:g};$.current&&(U.platform=$.current),K0e(k.current,T.current,U).then(K=>{const J={...K,isPositioned:H.current!==!1};q.current&&!Dg(M.current,J)&&(M.current=J,Sl.flushSync(()=>{p(J)}))})},[g,t,n,$,H]);mv(()=>{f===!1&&M.current.isPositioned&&(M.current.isPositioned=!1,p(U=>({...U,isPositioned:!1})))},[f]);const q=y.useRef(!1);mv(()=>(q.current=!0,()=>{q.current=!1}),[]),mv(()=>{if(A&&(k.current=A),C&&(T.current=C),A&&C){if(B.current)return B.current(A,C,V);V()}},[A,C,V,B,R]);const G=y.useMemo(()=>({reference:k,floating:T,setReference:E,setFloating:O}),[E,O]),L=y.useMemo(()=>({reference:A,floating:C}),[A,C]),D=y.useMemo(()=>{const U={position:n,left:0,top:0};if(!L.floating)return U;const K=TL(L.floating,m.x),J=TL(L.floating,m.y);return u?{...U,transform:"translate("+K+"px, "+J+"px)",...nU(L.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:K,top:J}},[n,u,L.floating,m.x,m.y]);return y.useMemo(()=>({...m,update:V,refs:G,elements:L,floatingStyles:D}),[m,V,G,L,D])}const J0e=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:a}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?AL({element:r.current,padding:a}).fn(n):{}:r?AL({element:r,padding:a}).fn(n):{}}}},ewe=(e,t)=>({...U0e(e),options:[e,t]}),twe=(e,t)=>({...H0e(e),options:[e,t]}),nwe=(e,t)=>({...Y0e(e),options:[e,t]}),rwe=(e,t)=>({...W0e(e),options:[e,t]}),awe=(e,t)=>({...V0e(e),options:[e,t]}),iwe=(e,t)=>({...G0e(e),options:[e,t]}),swe=(e,t)=>({...J0e(e),options:[e,t]});var owe="Arrow",rU=y.forwardRef((e,t)=>{const{children:n,width:r=10,height:a=5,...s}=e;return i.jsx($e.svg,{...s,ref:t,width:r,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});rU.displayName=owe;var lwe=rU,CE="Popper",[aU,ho]=gr(CE),[cwe,iU]=aU(CE),sU=e=>{const{__scopePopper:t,children:n}=e,[r,a]=y.useState(null);return i.jsx(cwe,{scope:t,anchor:r,onAnchorChange:a,children:n})};sU.displayName=CE;var oU="PopperAnchor",lU=y.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...a}=e,s=iU(oU,n),l=y.useRef(null),u=Ue(t,l),d=y.useRef(null);return y.useEffect(()=>{const f=d.current;d.current=r?.current||l.current,f!==d.current&&s.onAnchorChange(d.current)}),r?null:i.jsx($e.div,{...a,ref:u})});lU.displayName=oU;var OE="PopperContent",[uwe,dwe]=aU(OE),cU=y.forwardRef((e,t)=>{const{__scopePopper:n,side:r="bottom",sideOffset:a=0,align:s="center",alignOffset:l=0,arrowPadding:u=0,avoidCollisions:d=!0,collisionBoundary:f=[],collisionPadding:m=0,sticky:p="partial",hideWhenDetached:g=!1,updatePositionStrategy:x="optimized",onPlaced:j,...w}=e,b=iU(OE,n),[N,E]=y.useState(null),O=Ue(t,ee=>E(ee)),[A,C]=y.useState(null),k=$y(A),T=k?.width??0,M=k?.height??0,R=r+(s!=="center"?"-"+s:""),B=typeof m=="number"?m:{top:0,right:0,bottom:0,left:0,...m},$=Array.isArray(f)?f:[f],H=$.length>0,V={padding:B,boundary:$.filter(hwe),altBoundary:H},{refs:q,floatingStyles:G,placement:L,isPositioned:D,middlewareData:U}=Q0e({strategy:"fixed",placement:R,whileElementsMounted:(...ee)=>F0e(...ee,{animationFrame:x==="always"}),elements:{reference:b.anchor},middleware:[ewe({mainAxis:a+M,alignmentAxis:l}),d&&twe({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?nwe():void 0,...V}),d&&rwe({...V}),awe({...V,apply:({elements:ee,rects:Se,availableWidth:re,availableHeight:we})=>{const{width:je,height:fe}=Se.reference,Le=ee.floating.style;Le.setProperty("--radix-popper-available-width",`${re}px`),Le.setProperty("--radix-popper-available-height",`${we}px`),Le.setProperty("--radix-popper-anchor-width",`${je}px`),Le.setProperty("--radix-popper-anchor-height",`${fe}px`)}}),A&&swe({element:A,padding:u}),mwe({arrowWidth:T,arrowHeight:M}),g&&iwe({strategy:"referenceHidden",...V})]}),[K,J]=fU(L),I=ln(j);Yn(()=>{D&&I?.()},[D,I]);const z=U.arrow?.x,Y=U.arrow?.y,te=U.arrow?.centerOffset!==0,[ae,ge]=y.useState();return Yn(()=>{N&&ge(window.getComputedStyle(N).zIndex)},[N]),i.jsx("div",{ref:q.setFloating,"data-radix-popper-content-wrapper":"",style:{...G,transform:D?G.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ae,"--radix-popper-transform-origin":[U.transformOrigin?.x,U.transformOrigin?.y].join(" "),...U.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:i.jsx(uwe,{scope:n,placedSide:K,onArrowChange:C,arrowX:z,arrowY:Y,shouldHideArrow:te,children:i.jsx($e.div,{"data-side":K,"data-align":J,...w,ref:O,style:{...w.style,animation:D?void 0:"none"}})})})});cU.displayName=OE;var uU="PopperArrow",fwe={top:"bottom",right:"left",bottom:"top",left:"right"},dU=y.forwardRef(function(t,n){const{__scopePopper:r,...a}=t,s=dwe(uU,r),l=fwe[s.placedSide];return i.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:i.jsx(lwe,{...a,ref:n,style:{...a.style,display:"block"}})})});dU.displayName=uU;function hwe(e){return e!==null}var mwe=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:a}=t,l=a.arrow?.centerOffset!==0,u=l?0:e.arrowWidth,d=l?0:e.arrowHeight,[f,m]=fU(n),p={start:"0%",center:"50%",end:"100%"}[m],g=(a.arrow?.x??0)+u/2,x=(a.arrow?.y??0)+d/2;let j="",w="";return f==="bottom"?(j=l?p:`${g}px`,w=`${-d}px`):f==="top"?(j=l?p:`${g}px`,w=`${r.floating.height+d}px`):f==="right"?(j=`${-d}px`,w=l?p:`${x}px`):f==="left"&&(j=`${r.floating.width+d}px`,w=l?p:`${x}px`),{data:{x:j,y:w}}}});function fU(e){const[t,n="center"]=e.split("-");return[t,n]}var Qh=sU,Jh=lU,Xy=cU,Zy=dU;function pwe(e){const t=vwe(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(ywe);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function vwe(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=bwe(a),u=xwe(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var gwe=Symbol("radix.slottable");function ywe(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===gwe}function xwe(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function bwe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var hU=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),wwe="VisuallyHidden",Qy=y.forwardRef((e,t)=>i.jsx($e.span,{...e,ref:t,style:{...hU,...e.style}}));Qy.displayName=wwe;var jwe=Qy,Swe=[" ","Enter","ArrowUp","ArrowDown"],_we=[" ","Enter"],bl="Select",[Jy,ex,Nwe]=Ph(bl),[td]=gr(bl,[Nwe,ho]),tx=ho(),[Cwe,mo]=td(bl),[Owe,Ewe]=td(bl),mU=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:a,onOpenChange:s,value:l,defaultValue:u,onValueChange:d,dir:f,name:m,autoComplete:p,disabled:g,required:x,form:j}=e,w=tx(t),[b,N]=y.useState(null),[E,O]=y.useState(null),[A,C]=y.useState(!1),k=Fu(f),[T,M]=Ea({prop:r,defaultProp:a??!1,onChange:s,caller:bl}),[R,B]=Ea({prop:l,defaultProp:u,onChange:d,caller:bl}),$=y.useRef(null),H=b?j||!!b.closest("form"):!0,[V,q]=y.useState(new Set),G=Array.from(V).map(L=>L.props.value).join(";");return i.jsx(Qh,{...w,children:i.jsxs(Cwe,{required:x,scope:t,trigger:b,onTriggerChange:N,valueNode:E,onValueNodeChange:O,valueNodeHasChildren:A,onValueNodeHasChildrenChange:C,contentId:Gn(),value:R,onValueChange:B,open:T,onOpenChange:M,dir:k,triggerPointerDownPosRef:$,disabled:g,children:[i.jsx(Jy.Provider,{scope:t,children:i.jsx(Owe,{scope:e.__scopeSelect,onNativeOptionAdd:y.useCallback(L=>{q(D=>new Set(D).add(L))},[]),onNativeOptionRemove:y.useCallback(L=>{q(D=>{const U=new Set(D);return U.delete(L),U})},[]),children:n})}),H?i.jsxs(LU,{"aria-hidden":!0,required:x,tabIndex:-1,name:m,autoComplete:p,value:R,onChange:L=>B(L.target.value),disabled:g,form:j,children:[R===void 0?i.jsx("option",{value:""}):null,Array.from(V)]},G):null]})})};mU.displayName=bl;var pU="SelectTrigger",vU=y.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...a}=e,s=tx(n),l=mo(pU,n),u=l.disabled||r,d=Ue(t,l.onTriggerChange),f=ex(n),m=y.useRef("touch"),[p,g,x]=zU(w=>{const b=f().filter(O=>!O.disabled),N=b.find(O=>O.value===l.value),E=qU(b,w,N);E!==void 0&&l.onValueChange(E.value)}),j=w=>{u||(l.onOpenChange(!0),x()),w&&(l.triggerPointerDownPosRef.current={x:Math.round(w.pageX),y:Math.round(w.pageY)})};return i.jsx(Jh,{asChild:!0,...s,children:i.jsx($e.button,{type:"button",role:"combobox","aria-controls":l.contentId,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":BU(l.value)?"":void 0,...a,ref:d,onClick:_e(a.onClick,w=>{w.currentTarget.focus(),m.current!=="mouse"&&j(w)}),onPointerDown:_e(a.onPointerDown,w=>{m.current=w.pointerType;const b=w.target;b.hasPointerCapture(w.pointerId)&&b.releasePointerCapture(w.pointerId),w.button===0&&w.ctrlKey===!1&&w.pointerType==="mouse"&&(j(w),w.preventDefault())}),onKeyDown:_e(a.onKeyDown,w=>{const b=p.current!=="";!(w.ctrlKey||w.altKey||w.metaKey)&&w.key.length===1&&g(w.key),!(b&&w.key===" ")&&Swe.includes(w.key)&&(j(),w.preventDefault())})})})});vU.displayName=pU;var gU="SelectValue",yU=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:a,children:s,placeholder:l="",...u}=e,d=mo(gU,n),{onValueNodeHasChildrenChange:f}=d,m=s!==void 0,p=Ue(t,d.onValueNodeChange);return Yn(()=>{f(m)},[f,m]),i.jsx($e.span,{...u,ref:p,style:{pointerEvents:"none"},children:BU(d.value)?i.jsx(i.Fragment,{children:l}):s})});yU.displayName=gU;var Awe="SelectIcon",xU=y.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...a}=e;return i.jsx($e.span,{"aria-hidden":!0,...a,ref:t,children:r||"▼"})});xU.displayName=Awe;var Twe="SelectPortal",bU=e=>i.jsx(Tl,{asChild:!0,...e});bU.displayName=Twe;var wl="SelectContent",wU=y.forwardRef((e,t)=>{const n=mo(wl,e.__scopeSelect),[r,a]=y.useState();if(Yn(()=>{a(new DocumentFragment)},[]),!n.open){const s=r;return s?Sl.createPortal(i.jsx(jU,{scope:e.__scopeSelect,children:i.jsx(Jy.Slot,{scope:e.__scopeSelect,children:i.jsx("div",{children:e.children})})}),s):null}return i.jsx(SU,{...e,ref:t})});wU.displayName=wl;var La=10,[jU,po]=td(wl),kwe="SelectContentImpl",Mwe=pwe("SelectContent.RemoveScroll"),SU=y.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:s,onPointerDownOutside:l,side:u,sideOffset:d,align:f,alignOffset:m,arrowPadding:p,collisionBoundary:g,collisionPadding:x,sticky:j,hideWhenDetached:w,avoidCollisions:b,...N}=e,E=mo(wl,n),[O,A]=y.useState(null),[C,k]=y.useState(null),T=Ue(t,ee=>A(ee)),[M,R]=y.useState(null),[B,$]=y.useState(null),H=ex(n),[V,q]=y.useState(!1),G=y.useRef(!1);y.useEffect(()=>{if(O)return zy(O)},[O]),Ly();const L=y.useCallback(ee=>{const[Se,...re]=H().map(fe=>fe.ref.current),[we]=re.slice(-1),je=document.activeElement;for(const fe of ee)if(fe===je||(fe?.scrollIntoView({block:"nearest"}),fe===Se&&C&&(C.scrollTop=0),fe===we&&C&&(C.scrollTop=C.scrollHeight),fe?.focus(),document.activeElement!==je))return},[H,C]),D=y.useCallback(()=>L([M,O]),[L,M,O]);y.useEffect(()=>{V&&D()},[V,D]);const{onOpenChange:U,triggerPointerDownPosRef:K}=E;y.useEffect(()=>{if(O){let ee={x:0,y:0};const Se=we=>{ee={x:Math.abs(Math.round(we.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(we.pageY)-(K.current?.y??0))}},re=we=>{ee.x<=10&&ee.y<=10?we.preventDefault():O.contains(we.target)||U(!1),document.removeEventListener("pointermove",Se),K.current=null};return K.current!==null&&(document.addEventListener("pointermove",Se),document.addEventListener("pointerup",re,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",Se),document.removeEventListener("pointerup",re,{capture:!0})}}},[O,U,K]),y.useEffect(()=>{const ee=()=>U(!1);return window.addEventListener("blur",ee),window.addEventListener("resize",ee),()=>{window.removeEventListener("blur",ee),window.removeEventListener("resize",ee)}},[U]);const[J,I]=zU(ee=>{const Se=H().filter(je=>!je.disabled),re=Se.find(je=>je.ref.current===document.activeElement),we=qU(Se,ee,re);we&&setTimeout(()=>we.ref.current.focus())}),z=y.useCallback((ee,Se,re)=>{const we=!G.current&&!re;(E.value!==void 0&&E.value===Se||we)&&(R(ee),we&&(G.current=!0))},[E.value]),Y=y.useCallback(()=>O?.focus(),[O]),te=y.useCallback((ee,Se,re)=>{const we=!G.current&&!re;(E.value!==void 0&&E.value===Se||we)&&$(ee)},[E.value]),ae=r==="popper"?fC:_U,ge=ae===fC?{side:u,sideOffset:d,align:f,alignOffset:m,arrowPadding:p,collisionBoundary:g,collisionPadding:x,sticky:j,hideWhenDetached:w,avoidCollisions:b}:{};return i.jsx(jU,{scope:n,content:O,viewport:C,onViewportChange:k,itemRefCallback:z,selectedItem:M,onItemLeave:Y,itemTextRefCallback:te,focusSelectedItem:D,selectedItemText:B,position:r,isPositioned:V,searchRef:J,children:i.jsx(Xh,{as:Mwe,allowPinchZoom:!0,children:i.jsx(Kh,{asChild:!0,trapped:E.open,onMountAutoFocus:ee=>{ee.preventDefault()},onUnmountAutoFocus:_e(a,ee=>{E.trigger?.focus({preventScroll:!0}),ee.preventDefault()}),children:i.jsx(Al,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:ee=>ee.preventDefault(),onDismiss:()=>E.onOpenChange(!1),children:i.jsx(ae,{role:"listbox",id:E.contentId,"data-state":E.open?"open":"closed",dir:E.dir,onContextMenu:ee=>ee.preventDefault(),...N,...ge,onPlaced:()=>q(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...N.style},onKeyDown:_e(N.onKeyDown,ee=>{const Se=ee.ctrlKey||ee.altKey||ee.metaKey;if(ee.key==="Tab"&&ee.preventDefault(),!Se&&ee.key.length===1&&I(ee.key),["ArrowUp","ArrowDown","Home","End"].includes(ee.key)){let we=H().filter(je=>!je.disabled).map(je=>je.ref.current);if(["ArrowUp","End"].includes(ee.key)&&(we=we.slice().reverse()),["ArrowUp","ArrowDown"].includes(ee.key)){const je=ee.target,fe=we.indexOf(je);we=we.slice(fe+1)}setTimeout(()=>L(we)),ee.preventDefault()}})})})})})})});SU.displayName=kwe;var Pwe="SelectItemAlignedPosition",_U=y.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...a}=e,s=mo(wl,n),l=po(wl,n),[u,d]=y.useState(null),[f,m]=y.useState(null),p=Ue(t,T=>m(T)),g=ex(n),x=y.useRef(!1),j=y.useRef(!0),{viewport:w,selectedItem:b,selectedItemText:N,focusSelectedItem:E}=l,O=y.useCallback(()=>{if(s.trigger&&s.valueNode&&u&&f&&w&&b&&N){const T=s.trigger.getBoundingClientRect(),M=f.getBoundingClientRect(),R=s.valueNode.getBoundingClientRect(),B=N.getBoundingClientRect();if(s.dir!=="rtl"){const je=B.left-M.left,fe=R.left-je,Le=T.left-fe,Oe=T.width+Le,We=Math.max(Oe,M.width),be=window.innerWidth-La,Ae=Rf(fe,[La,Math.max(La,be-We)]);u.style.minWidth=Oe+"px",u.style.left=Ae+"px"}else{const je=M.right-B.right,fe=window.innerWidth-R.right-je,Le=window.innerWidth-T.right-fe,Oe=T.width+Le,We=Math.max(Oe,M.width),be=window.innerWidth-La,Ae=Rf(fe,[La,Math.max(La,be-We)]);u.style.minWidth=Oe+"px",u.style.right=Ae+"px"}const $=g(),H=window.innerHeight-La*2,V=w.scrollHeight,q=window.getComputedStyle(f),G=parseInt(q.borderTopWidth,10),L=parseInt(q.paddingTop,10),D=parseInt(q.borderBottomWidth,10),U=parseInt(q.paddingBottom,10),K=G+L+V+U+D,J=Math.min(b.offsetHeight*5,K),I=window.getComputedStyle(w),z=parseInt(I.paddingTop,10),Y=parseInt(I.paddingBottom,10),te=T.top+T.height/2-La,ae=H-te,ge=b.offsetHeight/2,ee=b.offsetTop+ge,Se=G+L+ee,re=K-Se;if(Se<=te){const je=$.length>0&&b===$[$.length-1].ref.current;u.style.bottom="0px";const fe=f.clientHeight-w.offsetTop-w.offsetHeight,Le=Math.max(ae,ge+(je?Y:0)+fe+D),Oe=Se+Le;u.style.height=Oe+"px"}else{const je=$.length>0&&b===$[0].ref.current;u.style.top="0px";const Le=Math.max(te,G+w.offsetTop+(je?z:0)+ge)+re;u.style.height=Le+"px",w.scrollTop=Se-te+w.offsetTop}u.style.margin=`${La}px 0`,u.style.minHeight=J+"px",u.style.maxHeight=H+"px",r?.(),requestAnimationFrame(()=>x.current=!0)}},[g,s.trigger,s.valueNode,u,f,w,b,N,s.dir,r]);Yn(()=>O(),[O]);const[A,C]=y.useState();Yn(()=>{f&&C(window.getComputedStyle(f).zIndex)},[f]);const k=y.useCallback(T=>{T&&j.current===!0&&(O(),E?.(),j.current=!1)},[O,E]);return i.jsx(Dwe,{scope:n,contentWrapper:u,shouldExpandOnScrollRef:x,onScrollButtonChange:k,children:i.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:A},children:i.jsx($e.div,{...a,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});_U.displayName=Pwe;var Rwe="SelectPopperPosition",fC=y.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:a=La,...s}=e,l=tx(n);return i.jsx(Xy,{...l,...s,ref:t,align:r,collisionPadding:a,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});fC.displayName=Rwe;var[Dwe,EE]=td(wl,{}),hC="SelectViewport",NU=y.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...a}=e,s=po(hC,n),l=EE(hC,n),u=Ue(t,s.onViewportChange),d=y.useRef(0);return i.jsxs(i.Fragment,{children:[i.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),i.jsx(Jy.Slot,{scope:n,children:i.jsx($e.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:_e(a.onScroll,f=>{const m=f.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:g}=l;if(g?.current&&p){const x=Math.abs(d.current-m.scrollTop);if(x>0){const j=window.innerHeight-La*2,w=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),N=Math.max(w,b);if(N0?A:0,p.style.justifyContent="flex-end")}}}d.current=m.scrollTop})})})]})});NU.displayName=hC;var CU="SelectGroup",[$we,Iwe]=td(CU),Lwe=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,a=Gn();return i.jsx($we,{scope:n,id:a,children:i.jsx($e.div,{role:"group","aria-labelledby":a,...r,ref:t})})});Lwe.displayName=CU;var OU="SelectLabel",EU=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,a=Iwe(OU,n);return i.jsx($e.div,{id:a.id,...r,ref:t})});EU.displayName=OU;var $g="SelectItem",[Bwe,AU]=td($g),TU=y.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:a=!1,textValue:s,...l}=e,u=mo($g,n),d=po($g,n),f=u.value===r,[m,p]=y.useState(s??""),[g,x]=y.useState(!1),j=Ue(t,E=>d.itemRefCallback?.(E,r,a)),w=Gn(),b=y.useRef("touch"),N=()=>{a||(u.onValueChange(r),u.onOpenChange(!1))};if(r==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return i.jsx(Bwe,{scope:n,value:r,disabled:a,textId:w,isSelected:f,onItemTextChange:y.useCallback(E=>{p(O=>O||(E?.textContent??"").trim())},[]),children:i.jsx(Jy.ItemSlot,{scope:n,value:r,disabled:a,textValue:m,children:i.jsx($e.div,{role:"option","aria-labelledby":w,"data-highlighted":g?"":void 0,"aria-selected":f&&g,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...l,ref:j,onFocus:_e(l.onFocus,()=>x(!0)),onBlur:_e(l.onBlur,()=>x(!1)),onClick:_e(l.onClick,()=>{b.current!=="mouse"&&N()}),onPointerUp:_e(l.onPointerUp,()=>{b.current==="mouse"&&N()}),onPointerDown:_e(l.onPointerDown,E=>{b.current=E.pointerType}),onPointerMove:_e(l.onPointerMove,E=>{b.current=E.pointerType,a?d.onItemLeave?.():b.current==="mouse"&&E.currentTarget.focus({preventScroll:!0})}),onPointerLeave:_e(l.onPointerLeave,E=>{E.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:_e(l.onKeyDown,E=>{d.searchRef?.current!==""&&E.key===" "||(_we.includes(E.key)&&N(),E.key===" "&&E.preventDefault())})})})})});TU.displayName=$g;var yf="SelectItemText",kU=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:a,...s}=e,l=mo(yf,n),u=po(yf,n),d=AU(yf,n),f=Ewe(yf,n),[m,p]=y.useState(null),g=Ue(t,N=>p(N),d.onItemTextChange,N=>u.itemTextRefCallback?.(N,d.value,d.disabled)),x=m?.textContent,j=y.useMemo(()=>i.jsx("option",{value:d.value,disabled:d.disabled,children:x},d.value),[d.disabled,d.value,x]),{onNativeOptionAdd:w,onNativeOptionRemove:b}=f;return Yn(()=>(w(j),()=>b(j)),[w,b,j]),i.jsxs(i.Fragment,{children:[i.jsx($e.span,{id:d.textId,...s,ref:g}),d.isSelected&&l.valueNode&&!l.valueNodeHasChildren?Sl.createPortal(s.children,l.valueNode):null]})});kU.displayName=yf;var MU="SelectItemIndicator",PU=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return AU(MU,n).isSelected?i.jsx($e.span,{"aria-hidden":!0,...r,ref:t}):null});PU.displayName=MU;var mC="SelectScrollUpButton",RU=y.forwardRef((e,t)=>{const n=po(mC,e.__scopeSelect),r=EE(mC,e.__scopeSelect),[a,s]=y.useState(!1),l=Ue(t,r.onScrollButtonChange);return Yn(()=>{if(n.viewport&&n.isPositioned){let u=function(){const f=d.scrollTop>0;s(f)};const d=n.viewport;return u(),d.addEventListener("scroll",u),()=>d.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),a?i.jsx($U,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:d}=n;u&&d&&(u.scrollTop=u.scrollTop-d.offsetHeight)}}):null});RU.displayName=mC;var pC="SelectScrollDownButton",DU=y.forwardRef((e,t)=>{const n=po(pC,e.__scopeSelect),r=EE(pC,e.__scopeSelect),[a,s]=y.useState(!1),l=Ue(t,r.onScrollButtonChange);return Yn(()=>{if(n.viewport&&n.isPositioned){let u=function(){const f=d.scrollHeight-d.clientHeight,m=Math.ceil(d.scrollTop)d.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),a?i.jsx($U,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:d}=n;u&&d&&(u.scrollTop=u.scrollTop+d.offsetHeight)}}):null});DU.displayName=pC;var $U=y.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...a}=e,s=po("SelectScrollButton",n),l=y.useRef(null),u=ex(n),d=y.useCallback(()=>{l.current!==null&&(window.clearInterval(l.current),l.current=null)},[]);return y.useEffect(()=>()=>d(),[d]),Yn(()=>{u().find(m=>m.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[u]),i.jsx($e.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:_e(a.onPointerDown,()=>{l.current===null&&(l.current=window.setInterval(r,50))}),onPointerMove:_e(a.onPointerMove,()=>{s.onItemLeave?.(),l.current===null&&(l.current=window.setInterval(r,50))}),onPointerLeave:_e(a.onPointerLeave,()=>{d()})})}),zwe="SelectSeparator",IU=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return i.jsx($e.div,{"aria-hidden":!0,...r,ref:t})});IU.displayName=zwe;var vC="SelectArrow",qwe=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,a=tx(n),s=mo(vC,n),l=po(vC,n);return s.open&&l.position==="popper"?i.jsx(Zy,{...a,...r,ref:t}):null});qwe.displayName=vC;var Fwe="SelectBubbleInput",LU=y.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{const a=y.useRef(null),s=Ue(r,a),l=Dy(t);return y.useEffect(()=>{const u=a.current;if(!u)return;const d=window.HTMLSelectElement.prototype,m=Object.getOwnPropertyDescriptor(d,"value").set;if(l!==t&&m){const p=new Event("change",{bubbles:!0});m.call(u,t),u.dispatchEvent(p)}},[l,t]),i.jsx($e.select,{...n,style:{...hU,...n.style},ref:s,defaultValue:t})});LU.displayName=Fwe;function BU(e){return e===""||e===void 0}function zU(e){const t=ln(e),n=y.useRef(""),r=y.useRef(0),a=y.useCallback(l=>{const u=n.current+l;t(u),(function d(f){n.current=f,window.clearTimeout(r.current),f!==""&&(r.current=window.setTimeout(()=>d(""),1e3))})(u)},[t]),s=y.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,a,s]}function qU(e,t,n){const a=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let l=Uwe(e,Math.max(s,0));a.length===1&&(l=l.filter(f=>f!==n));const d=l.find(f=>f.textValue.toLowerCase().startsWith(a.toLowerCase()));return d!==n?d:void 0}function Uwe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Hwe=mU,FU=vU,Wwe=yU,Vwe=xU,Gwe=bU,UU=wU,Ywe=NU,HU=EU,WU=TU,Kwe=kU,Xwe=PU,VU=RU,GU=DU,YU=IU;const Dt=Hwe,$t=Wwe,Ot=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(FU,{ref:r,className:ce("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...n,children:[t,i.jsx(Vwe,{asChild:!0,children:i.jsx(vh,{className:"h-4 w-4 opacity-50"})})]}));Ot.displayName=FU.displayName;const KU=y.forwardRef(({className:e,...t},n)=>i.jsx(VU,{ref:n,className:ce("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(XN,{className:"h-4 w-4"})}));KU.displayName=VU.displayName;const XU=y.forwardRef(({className:e,...t},n)=>i.jsx(GU,{ref:n,className:ce("flex cursor-default items-center justify-center py-1",e),...t,children:i.jsx(vh,{className:"h-4 w-4"})}));XU.displayName=GU.displayName;const Et=y.forwardRef(({className:e,children:t,position:n="popper",...r},a)=>i.jsx(Gwe,{children:i.jsxs(UU,{ref:a,className:ce("relative z-[100] max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-hidden rounded-md border border-border bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[i.jsx(KU,{}),i.jsx(Ywe,{className:ce("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),i.jsx(XU,{})]})}));Et.displayName=UU.displayName;const Zwe=y.forwardRef(({className:e,...t},n)=>i.jsx(HU,{ref:n,className:ce("px-2 py-1.5 text-sm font-semibold",e),...t}));Zwe.displayName=HU.displayName;const De=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(WU,{ref:r,className:ce("relative flex w-full cursor-default select-none items-center rounded-sm py-2 pl-2 pr-8 text-sm outline-none bg-white dark:bg-gray-900 hover:bg-gray-100 dark:hover:bg-gray-800 focus:bg-gray-100 dark:focus:bg-gray-800 data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[i.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Xwe,{children:i.jsx(ol,{className:"h-4 w-4"})})}),i.jsx(Kwe,{children:t})]}));De.displayName=WU.displayName;const Qwe=y.forwardRef(({className:e,...t},n)=>i.jsx(YU,{ref:n,className:ce("-mx-1 my-1 h-px bg-muted",e),...t}));Qwe.displayName=YU.displayName;function Jwe(e){const t=eje(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(nje);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function eje(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=aje(a),u=rje(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var tje=Symbol("radix.slottable");function nje(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===tje}function rje(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function aje(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var nx="Popover",[ZU]=gr(nx,[ho]),em=ho(),[ije,vo]=ZU(nx),QU=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:a,onOpenChange:s,modal:l=!1}=e,u=em(t),d=y.useRef(null),[f,m]=y.useState(!1),[p,g]=Ea({prop:r,defaultProp:a??!1,onChange:s,caller:nx});return i.jsx(Qh,{...u,children:i.jsx(ije,{scope:t,contentId:Gn(),triggerRef:d,open:p,onOpenChange:g,onOpenToggle:y.useCallback(()=>g(x=>!x),[g]),hasCustomAnchor:f,onCustomAnchorAdd:y.useCallback(()=>m(!0),[]),onCustomAnchorRemove:y.useCallback(()=>m(!1),[]),modal:l,children:n})})};QU.displayName=nx;var JU="PopoverAnchor",sje=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=vo(JU,n),s=em(n),{onCustomAnchorAdd:l,onCustomAnchorRemove:u}=a;return y.useEffect(()=>(l(),()=>u()),[l,u]),i.jsx(Jh,{...s,...r,ref:t})});sje.displayName=JU;var eH="PopoverTrigger",tH=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=vo(eH,n),s=em(n),l=Ue(t,a.triggerRef),u=i.jsx($e.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":sH(a.open),...r,ref:l,onClick:_e(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?u:i.jsx(Jh,{asChild:!0,...s,children:u})});tH.displayName=eH;var AE="PopoverPortal",[oje,lje]=ZU(AE,{forceMount:void 0}),nH=e=>{const{__scopePopover:t,forceMount:n,children:r,container:a}=e,s=vo(AE,t);return i.jsx(oje,{scope:t,forceMount:n,children:i.jsx(Bn,{present:n||s.open,children:i.jsx(Tl,{asChild:!0,container:a,children:r})})})};nH.displayName=AE;var $u="PopoverContent",rH=y.forwardRef((e,t)=>{const n=lje($u,e.__scopePopover),{forceMount:r=n.forceMount,...a}=e,s=vo($u,e.__scopePopover);return i.jsx(Bn,{present:r||s.open,children:s.modal?i.jsx(uje,{...a,ref:t}):i.jsx(dje,{...a,ref:t})})});rH.displayName=$u;var cje=Jwe("PopoverContent.RemoveScroll"),uje=y.forwardRef((e,t)=>{const n=vo($u,e.__scopePopover),r=y.useRef(null),a=Ue(t,r),s=y.useRef(!1);return y.useEffect(()=>{const l=r.current;if(l)return zy(l)},[]),i.jsx(Xh,{as:cje,allowPinchZoom:!0,children:i.jsx(aH,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:_e(e.onCloseAutoFocus,l=>{l.preventDefault(),s.current||n.triggerRef.current?.focus()}),onPointerDownOutside:_e(e.onPointerDownOutside,l=>{const u=l.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0,f=u.button===2||d;s.current=f},{checkForDefaultPrevented:!1}),onFocusOutside:_e(e.onFocusOutside,l=>l.preventDefault(),{checkForDefaultPrevented:!1})})})}),dje=y.forwardRef((e,t)=>{const n=vo($u,e.__scopePopover),r=y.useRef(!1),a=y.useRef(!1);return i.jsx(aH,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{e.onCloseAutoFocus?.(s),s.defaultPrevented||(r.current||n.triggerRef.current?.focus(),s.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:s=>{e.onInteractOutside?.(s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(a.current=!0));const l=s.target;n.triggerRef.current?.contains(l)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&a.current&&s.preventDefault()}})}),aH=y.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:s,disableOutsidePointerEvents:l,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:m,...p}=e,g=vo($u,n),x=em(n);return Ly(),i.jsx(Kh,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:s,children:i.jsx(Al,{asChild:!0,disableOutsidePointerEvents:l,onInteractOutside:m,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onDismiss:()=>g.onOpenChange(!1),children:i.jsx(Xy,{"data-state":sH(g.open),role:"dialog",id:g.contentId,...x,...p,ref:t,style:{...p.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),iH="PopoverClose",fje=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=vo(iH,n);return i.jsx($e.button,{type:"button",...r,ref:t,onClick:_e(e.onClick,()=>a.onOpenChange(!1))})});fje.displayName=iH;var hje="PopoverArrow",mje=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,a=em(n);return i.jsx(Zy,{...a,...r,ref:t})});mje.displayName=hje;function sH(e){return e?"open":"closed"}var pje=QU,vje=tH,gje=nH,oH=rH;const ro=pje,ao=vje,ds=y.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},a)=>i.jsx(gje,{children:i.jsx(oH,{ref:a,align:t,sideOffset:n,className:ce("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",e),...r})}));ds.displayName=oH.displayName;const nd="/api/webui/config";async function yje(){const t=await(await rt(`${nd}/bot`)).json();if(!t.success)throw new Error("获取配置数据失败");return t.config}async function Jc(){const t=await(await rt(`${nd}/model`)).json();if(!t.success)throw new Error("获取模型配置数据失败");return t.config}async function kL(e){const n=await(await rt(`${nd}/bot`,{method:"POST",headers:dt(),body:JSON.stringify(e)})).json();if(!n.success)throw new Error(n.message||"保存配置失败")}async function Ig(e){const n=await(await rt(`${nd}/model`,{method:"POST",headers:dt(),body:JSON.stringify(e)})).json();if(!n.success)throw new Error(n.message||"保存配置失败")}async function xje(e,t){const r=await(await rt(`${nd}/bot/section/${e}`,{method:"POST",headers:dt(),body:JSON.stringify(t)})).json();if(!r.success)throw new Error(r.message||`保存配置节 ${e} 失败`)}async function gC(e,t){const r=await(await rt(`${nd}/model/section/${e}`,{method:"POST",headers:dt(),body:JSON.stringify(t)})).json();if(!r.success)throw new Error(r.message||`保存配置节 ${e} 失败`)}const bje=vn.create({baseURL:"",timeout:1e4});async function TE(){try{return(await bje.post("/api/webui/system/restart")).data}catch(e){throw console.error("重启麦麦失败:",e),e}}const wje=Zu("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),rx=y.forwardRef(({className:e,variant:t,...n},r)=>i.jsx("div",{ref:r,role:"alert",className:ce(wje({variant:t}),e),...n}));rx.displayName="Alert";const jje=y.forwardRef(({className:e,...t},n)=>i.jsx("h5",{ref:n,className:ce("mb-1 font-medium leading-none tracking-tight",e),...t}));jje.displayName="AlertTitle";const ax=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{ref:n,className:ce("text-sm [&_p]:leading-relaxed",e),...t}));ax.displayName="AlertDescription";function kE({onRestartComplete:e,onRestartFailed:t}){const[n,r]=y.useState(0),[a,s]=y.useState("restarting"),[l,u]=y.useState(0),[d,f]=y.useState(0);y.useEffect(()=>{const g=setInterval(()=>{r(w=>w>=90?w:w+1)},200),x=setInterval(()=>{u(w=>w+1)},1e3),j=setTimeout(()=>{s("checking"),m()},3e3);return()=>{clearInterval(g),clearInterval(x),clearTimeout(j)}},[]);const m=()=>{const x=async()=>{try{if(f(w=>w+1),(await fetch("/api/webui/system/status",{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(3e3)})).ok)r(100),s("success"),setTimeout(()=>{e?.()},1500);else throw new Error("Status check failed")}catch{d<60?setTimeout(x,2e3):(s("failed"),t?.())}};x()},p=g=>{const x=Math.floor(g/60),j=g%60;return`${x}:${j.toString().padStart(2,"0")}`};return i.jsx("div",{className:"fixed inset-0 bg-background/95 backdrop-blur-sm z-50 flex items-center justify-center",children:i.jsxs("div",{className:"max-w-md w-full mx-4 space-y-8",children:[i.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[a==="restarting"&&i.jsxs(i.Fragment,{children:[i.jsx(gh,{className:"h-16 w-16 text-primary animate-spin"}),i.jsx("h2",{className:"text-2xl font-bold",children:"正在重启麦麦"}),i.jsx("p",{className:"text-muted-foreground text-center",children:"请稍候,麦麦正在重启中..."})]}),a==="checking"&&i.jsxs(i.Fragment,{children:[i.jsx(gh,{className:"h-16 w-16 text-primary animate-spin"}),i.jsx("h2",{className:"text-2xl font-bold",children:"检查服务状态"}),i.jsxs("p",{className:"text-muted-foreground text-center",children:["等待服务恢复... (尝试 ",d,"/60)"]})]}),a==="success"&&i.jsxs(i.Fragment,{children:[i.jsx(Pr,{className:"h-16 w-16 text-green-500"}),i.jsx("h2",{className:"text-2xl font-bold",children:"重启成功"}),i.jsx("p",{className:"text-muted-foreground text-center",children:"正在跳转到登录页面..."})]}),a==="failed"&&i.jsxs(i.Fragment,{children:[i.jsx(gl,{className:"h-16 w-16 text-destructive"}),i.jsx("h2",{className:"text-2xl font-bold",children:"重启超时"}),i.jsx("p",{className:"text-muted-foreground text-center",children:"服务未能在预期时间内恢复,请手动检查或刷新页面"})]})]}),a!=="failed"&&i.jsxs("div",{className:"space-y-2",children:[i.jsx($h,{value:n,className:"h-2"}),i.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground",children:[i.jsxs("span",{children:[n,"%"]}),i.jsxs("span",{children:["已用时: ",p(l)]})]})]}),i.jsx("div",{className:"bg-muted/50 rounded-lg p-4 space-y-2",children:i.jsxs("p",{className:"text-sm text-muted-foreground",children:[a==="restarting"&&"🔄 配置已保存,正在重启主程序...",a==="checking"&&"⏳ 正在等待服务恢复,请勿关闭页面...",a==="success"&&"✅ 配置已生效,服务运行正常",a==="failed"&&"⚠️ 如果长时间无响应,请尝试手动重启"]})}),a==="failed"&&i.jsxs("div",{className:"flex gap-2",children:[i.jsx("button",{onClick:()=>window.location.reload(),className:"flex-1 px-4 py-2 bg-primary text-primary-foreground rounded-md hover:bg-primary/90",children:"刷新页面"}),i.jsx("button",{onClick:()=>{s("checking"),f(0),m()},className:"flex-1 px-4 py-2 bg-secondary text-secondary-foreground rounded-md hover:bg-secondary/90",children:"重试检测"})]})]})})}function Sje(){const[e,t]=y.useState(!0),[n,r]=y.useState(!1),[a,s]=y.useState(!1),[l,u]=y.useState(!1),[d,f]=y.useState(!1),[m,p]=y.useState(!1),{toast:g}=yr(),[x,j]=y.useState(null),[w,b]=y.useState(null),[N,E]=y.useState(null),[O,A]=y.useState(null),[C,k]=y.useState(null),[T,M]=y.useState(null),[R,B]=y.useState(null),[$,H]=y.useState(null),[V,q]=y.useState(null),[G,L]=y.useState(null),[D,U]=y.useState(null),[K,J]=y.useState(null),[I,z]=y.useState(null),[Y,te]=y.useState(null),[ae,ge]=y.useState(null),[ee,Se]=y.useState(null),[re,we]=y.useState(null),[je,fe]=y.useState(null),Le=y.useRef(null),Oe=y.useRef(!0),We=y.useRef({}),be=y.useCallback(async()=>{try{t(!0);const ue=await yje();We.current=ue,j(ue.bot),b(ue.personality);const Ve=ue.chat;Ve.talk_value_rules||(Ve.talk_value_rules=[]),E(Ve),A(ue.expression),k(ue.emoji),M(ue.memory),B(ue.tool),H(ue.mood),q(ue.voice),L(ue.lpmm_knowledge),U(ue.keyword_reaction),J(ue.response_post_process),z(ue.chinese_typo),te(ue.response_splitter),ge(ue.log),Se(ue.debug),we(ue.maim_message),fe(ue.telemetry),u(!1),Oe.current=!1}catch(ue){console.error("加载配置失败:",ue),g({title:"加载失败",description:"无法加载配置文件",variant:"destructive"})}finally{t(!1)}},[g]);y.useEffect(()=>{be()},[be]);const Ae=y.useCallback(async(ue,Ve)=>{if(!Oe.current)try{s(!0),await xje(ue,Ve),u(!1)}catch(Mn){console.error(`自动保存 ${ue} 失败:`,Mn),u(!0)}finally{s(!1)}},[]),ke=y.useCallback((ue,Ve)=>{Oe.current||(u(!0),Le.current&&clearTimeout(Le.current),Le.current=setTimeout(()=>{Ae(ue,Ve)},2e3))},[Ae]);y.useEffect(()=>{x&&!Oe.current&&ke("bot",x)},[x,ke]),y.useEffect(()=>{w&&!Oe.current&&ke("personality",w)},[w,ke]),y.useEffect(()=>{N&&!Oe.current&&ke("chat",N)},[N,ke]),y.useEffect(()=>{O&&!Oe.current&&ke("expression",O)},[O,ke]),y.useEffect(()=>{C&&!Oe.current&&ke("emoji",C)},[C,ke]),y.useEffect(()=>{T&&!Oe.current&&ke("memory",T)},[T,ke]),y.useEffect(()=>{R&&!Oe.current&&ke("tool",R)},[R,ke]),y.useEffect(()=>{$&&!Oe.current&&ke("mood",$)},[$,ke]),y.useEffect(()=>{V&&!Oe.current&&ke("voice",V)},[V,ke]),y.useEffect(()=>{G&&!Oe.current&&ke("lpmm_knowledge",G)},[G,ke]),y.useEffect(()=>{D&&!Oe.current&&ke("keyword_reaction",D)},[D,ke]),y.useEffect(()=>{K&&!Oe.current&&ke("response_post_process",K)},[K,ke]),y.useEffect(()=>{I&&!Oe.current&&ke("chinese_typo",I)},[I,ke]),y.useEffect(()=>{Y&&!Oe.current&&ke("response_splitter",Y)},[Y,ke]),y.useEffect(()=>{ae&&!Oe.current&&ke("log",ae)},[ae,ke]),y.useEffect(()=>{ee&&!Oe.current&&ke("debug",ee)},[ee,ke]),y.useEffect(()=>{re&&!Oe.current&&ke("maim_message",re)},[re,ke]),y.useEffect(()=>{je&&!Oe.current&&ke("telemetry",je)},[je,ke]);const Qt=async()=>{try{r(!0),Le.current&&clearTimeout(Le.current);const ue={...We.current,bot:x,personality:w,chat:N,expression:O,emoji:C,memory:T,tool:R,mood:$,voice:V,lpmm_knowledge:G,keyword_reaction:D,response_post_process:K,chinese_typo:I,response_splitter:Y,log:ae,debug:ee,maim_message:re,telemetry:je};await kL(ue),u(!1),g({title:"保存成功",description:"麦麦主程序配置已保存"})}catch(ue){console.error("保存配置失败:",ue),g({title:"保存失败",description:ue.message,variant:"destructive"})}finally{r(!1)}},St=async()=>{try{f(!0),TE().catch(()=>{}),p(!0)}catch(ue){console.error("重启失败:",ue),p(!1),g({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),f(!1)}},Tt=async()=>{try{r(!0),Le.current&&clearTimeout(Le.current);const ue={...We.current,bot:x,personality:w,chat:N,expression:O,emoji:C,memory:T,tool:R,mood:$,voice:V,lpmm_knowledge:G,keyword_reaction:D,response_post_process:K,chinese_typo:I,response_splitter:Y,log:ae,debug:ee,maim_message:re,telemetry:je};await kL(ue),u(!1),g({title:"保存成功",description:"配置已保存,即将重启麦麦..."}),await new Promise(Ve=>setTimeout(Ve,500)),await St()}catch(ue){console.error("保存失败:",ue),g({title:"保存失败",description:ue.message,variant:"destructive"})}finally{r(!1)}},Sn=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},le=()=>{p(!1),f(!1),g({title:"重启失败",description:"服务器未能在预期时间内恢复,请手动检查",variant:"destructive"})};return e?i.jsx(Wt,{className:"h-full",children:i.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:i.jsx("div",{className:"flex items-center justify-center h-64",children:i.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"麦麦主程序配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理麦麦的核心功能和行为设置"})]}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[i.jsxs(oe,{onClick:Qt,disabled:n||a||!l||d,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[i.jsx(sE,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),n?"保存中...":a?"自动保存中...":l?"保存配置":"已保存"]}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{disabled:n||a||d,size:"sm",className:"flex-1 sm:flex-none",children:[i.jsx(iE,{className:"mr-2 h-4 w-4"}),d?"重启中...":l?"保存并重启":"重启麦麦"]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认重启麦麦?"}),i.jsx(hn,{children:l?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:l?Tt:St,children:l?"保存并重启":"确认重启"})]})]})]})]})]}),i.jsxs(rx,{children:[i.jsx(Mu,{className:"h-4 w-4"}),i.jsxs(ax,{children:["配置更新后需要",i.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),i.jsxs(dl,{defaultValue:"bot",className:"w-full",children:[i.jsx("div",{className:"overflow-x-auto -mx-4 px-4 sm:mx-0 sm:px-0",children:i.jsxs(eo,{className:"inline-flex w-auto min-w-full sm:grid sm:w-full sm:grid-cols-5 lg:grid-cols-10",children:[i.jsx(Rt,{value:"bot",className:"flex-shrink-0",children:"基本信息"}),i.jsx(Rt,{value:"personality",className:"flex-shrink-0",children:"人格"}),i.jsx(Rt,{value:"chat",className:"flex-shrink-0",children:"聊天"}),i.jsx(Rt,{value:"expression",className:"flex-shrink-0",children:"表达"}),i.jsx(Rt,{value:"features",className:"flex-shrink-0",children:"功能"}),i.jsx(Rt,{value:"processing",className:"flex-shrink-0",children:"处理"}),i.jsx(Rt,{value:"mood",className:"flex-shrink-0",children:"情绪"}),i.jsx(Rt,{value:"voice",className:"flex-shrink-0",children:"语音"}),i.jsx(Rt,{value:"lpmm",className:"flex-shrink-0",children:"知识库"}),i.jsx(Rt,{value:"other",className:"flex-shrink-0",children:"其他"})]})}),i.jsx(sn,{value:"bot",className:"space-y-4",children:x&&i.jsx(_je,{config:x,onChange:j})}),i.jsx(sn,{value:"personality",className:"space-y-4",children:w&&i.jsx(Nje,{config:w,onChange:b})}),i.jsx(sn,{value:"chat",className:"space-y-4",children:N&&i.jsx(Cje,{config:N,onChange:E})}),i.jsx(sn,{value:"expression",className:"space-y-4",children:O&&i.jsx(Oje,{config:O,onChange:A})}),i.jsx(sn,{value:"features",className:"space-y-4",children:C&&T&&R&&i.jsx(Eje,{emojiConfig:C,memoryConfig:T,toolConfig:R,onEmojiChange:k,onMemoryChange:M,onToolChange:B})}),i.jsx(sn,{value:"processing",className:"space-y-4",children:D&&K&&I&&Y&&i.jsx(Aje,{keywordReactionConfig:D,responsePostProcessConfig:K,chineseTypoConfig:I,responseSplitterConfig:Y,onKeywordReactionChange:U,onResponsePostProcessChange:J,onChineseTypoChange:z,onResponseSplitterChange:te})}),i.jsx(sn,{value:"mood",className:"space-y-4",children:$&&i.jsx(Tje,{config:$,onChange:H})}),i.jsx(sn,{value:"voice",className:"space-y-4",children:V&&i.jsx(kje,{config:V,onChange:q})}),i.jsx(sn,{value:"lpmm",className:"space-y-4",children:G&&i.jsx(Mje,{config:G,onChange:L})}),i.jsxs(sn,{value:"other",className:"space-y-4",children:[ae&&i.jsx(Pje,{config:ae,onChange:ge}),ee&&i.jsx(Rje,{config:ee,onChange:Se}),re&&i.jsx(Dje,{config:re,onChange:we}),je&&i.jsx($je,{config:je,onChange:fe})]})]}),m&&i.jsx(kE,{onRestartComplete:Sn,onRestartFailed:le})]})})}function _je({config:e,onChange:t}){const n=()=>{t({...e,platforms:[...e.platforms,""]})},r=d=>{t({...e,platforms:e.platforms.filter((f,m)=>m!==d)})},a=(d,f)=>{const m=[...e.platforms];m[d]=f,t({...e,platforms:m})},s=()=>{t({...e,alias_names:[...e.alias_names,""]})},l=d=>{t({...e,alias_names:e.alias_names.filter((f,m)=>m!==d)})},u=(d,f)=>{const m=[...e.alias_names];m[d]=f,t({...e,alias_names:m})};return i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"基本信息"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"platform",children:"平台"}),i.jsx(Ne,{id:"platform",value:e.platform,onChange:d=>t({...e,platform:d.target.value}),placeholder:"qq"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"qq_account",children:"QQ账号"}),i.jsx(Ne,{id:"qq_account",value:e.qq_account,onChange:d=>t({...e,qq_account:d.target.value}),placeholder:"123456789"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"nickname",children:"昵称"}),i.jsx(Ne,{id:"nickname",value:e.nickname,onChange:d=>t({...e,nickname:d.target.value}),placeholder:"麦麦"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{children:"其他平台账号"}),i.jsxs(oe,{onClick:n,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加"]})]}),i.jsxs("div",{className:"space-y-2",children:[e.platforms.map((d,f)=>i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ne,{value:d,onChange:m=>a(f,m.target.value),placeholder:"wx:114514"}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除平台账号 "',d||"(空)",'" 吗?此操作无法撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>r(f),children:"删除"})]})]})]})]},f)),e.platforms.length===0&&i.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无其他平台账号"})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{children:"别名"}),i.jsxs(oe,{onClick:s,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加"]})]}),i.jsxs("div",{className:"space-y-2",children:[e.alias_names.map((d,f)=>i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ne,{value:d,onChange:m=>u(f,m.target.value),placeholder:"小麦"}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除别名 "',d||"(空)",'" 吗?此操作无法撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>l(f),children:"删除"})]})]})]})]},f)),e.alias_names.length===0&&i.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无别名"})]})]})]})]})})}function Nje({config:e,onChange:t}){const n=()=>{t({...e,states:[...e.states,""]})},r=s=>{t({...e,states:e.states.filter((l,u)=>u!==s)})},a=(s,l)=>{const u=[...e.states];u[s]=l,t({...e,states:u})};return i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"人格设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"personality",children:"人格特质"}),i.jsx(Xt,{id:"personality",value:e.personality,onChange:s=>t({...e,personality:s.target.value}),placeholder:"描述人格特质和身份特征(建议120字以内)",rows:3}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"建议120字以内,描述人格特质和身份特征"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"reply_style",children:"表达风格"}),i.jsx(Xt,{id:"reply_style",value:e.reply_style,onChange:s=>t({...e,reply_style:s.target.value}),placeholder:"描述说话的表达风格和习惯",rows:3})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"interest",children:"兴趣"}),i.jsx(Xt,{id:"interest",value:e.interest,onChange:s=>t({...e,interest:s.target.value}),placeholder:"会影响麦麦对什么话题进行回复",rows:2})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"plan_style",children:"说话规则与行为风格"}),i.jsx(Xt,{id:"plan_style",value:e.plan_style,onChange:s=>t({...e,plan_style:s.target.value}),placeholder:"麦麦的说话规则和行为风格",rows:5})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"visual_style",children:"识图规则"}),i.jsx(Xt,{id:"visual_style",value:e.visual_style,onChange:s=>t({...e,visual_style:s.target.value}),placeholder:"识图时的处理规则",rows:3})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"private_plan_style",children:"私聊规则"}),i.jsx(Xt,{id:"private_plan_style",value:e.private_plan_style,onChange:s=>t({...e,private_plan_style:s.target.value}),placeholder:"私聊的说话规则和行为风格",rows:4})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{children:"状态列表(人格多样性)"}),i.jsxs(oe,{onClick:n,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加状态"]})]}),i.jsx("div",{className:"space-y-2",children:e.states.map((s,l)=>i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Xt,{value:s,onChange:u=>a(l,u.target.value),placeholder:"描述一个人格状态",rows:2}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsx(hn,{children:"确定要删除这个人格状态吗?此操作无法撤销。"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>r(l),children:"删除"})]})]})]})]},l))})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"state_probability",children:"状态替换概率"}),i.jsx(Ne,{id:"state_probability",type:"number",step:"0.1",min:"0",max:"1",value:e.state_probability,onChange:s=>t({...e,state_probability:parseFloat(s.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"每次构建人格时替换 personality 的概率(0.0-1.0)"})]})]})]})})}function Cje({config:e,onChange:t}){const n=()=>{t({...e,talk_value_rules:[...e.talk_value_rules,{target:"",time:"00:00-23:59",value:1}]})},r=u=>{t({...e,talk_value_rules:e.talk_value_rules.filter((d,f)=>f!==u)})},a=(u,d,f)=>{const m=[...e.talk_value_rules];m[u]={...m[u],[d]:f},t({...e,talk_value_rules:m})},s=({value:u,onChange:d})=>{const[f,m]=y.useState("00"),[p,g]=y.useState("00"),[x,j]=y.useState("23"),[w,b]=y.useState("59");y.useEffect(()=>{const E=u.split("-");if(E.length===2){const[O,A]=E,[C,k]=O.split(":"),[T,M]=A.split(":");C&&m(C.padStart(2,"0")),k&&g(k.padStart(2,"0")),T&&j(T.padStart(2,"0")),M&&b(M.padStart(2,"0"))}},[u]);const N=(E,O,A,C)=>{const k=`${E}:${O}-${A}:${C}`;d(k)};return i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",className:"w-full justify-start font-mono text-sm",children:[i.jsx(ll,{className:"h-4 w-4 mr-2"}),u||"选择时间段"]})}),i.jsx(ds,{className:"w-80",children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"font-medium text-sm mb-3",children:"开始时间"}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs",children:"小时"}),i.jsxs(Dt,{value:f,onValueChange:E=>{m(E),N(E,p,x,w)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:Array.from({length:24},(E,O)=>O).map(E=>i.jsx(De,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs",children:"分钟"}),i.jsxs(Dt,{value:p,onValueChange:E=>{g(E),N(f,E,x,w)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:Array.from({length:60},(E,O)=>O).map(E=>i.jsx(De,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]})]})]}),i.jsxs("div",{children:[i.jsx("h4",{className:"font-medium text-sm mb-3",children:"结束时间"}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:gap-3",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs",children:"小时"}),i.jsxs(Dt,{value:x,onValueChange:E=>{j(E),N(f,p,E,w)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:Array.from({length:24},(E,O)=>O).map(E=>i.jsx(De,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs",children:"分钟"}),i.jsxs(Dt,{value:w,onValueChange:E=>{b(E),N(f,p,x,E)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:Array.from({length:60},(E,O)=>O).map(E=>i.jsx(De,{value:E.toString().padStart(2,"0"),children:E.toString().padStart(2,"0")},E))})]})]})]})]})]})})]})},l=({rule:u})=>{const d=`{ target = "${u.target}", time = "${u.time}", value = ${u.value.toFixed(1)} }`;return i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Va,{className:"h-4 w-4 mr-1"}),"预览"]})}),i.jsx(ds,{className:"w-96",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),i.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:d}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})};return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"聊天设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"talk_value",children:"聊天频率(基础值)"}),i.jsx(Ne,{id:"talk_value",type:"number",step:"0.1",min:"0",max:"1",value:e.talk_value,onChange:u=>t({...e,talk_value:parseFloat(u.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"越小越沉默,范围 0-1"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"mentioned_bot_reply",children:"提及回复增幅"}),i.jsx(Ne,{id:"mentioned_bot_reply",type:"number",step:"0.1",min:"0",max:"1",value:e.mentioned_bot_reply,onChange:u=>t({...e,mentioned_bot_reply:parseFloat(u.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"提及时回复概率增幅,1 为 100% 回复"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_context_size",children:"上下文长度"}),i.jsx(Ne,{id:"max_context_size",type:"number",min:"1",value:e.max_context_size,onChange:u=>t({...e,max_context_size:parseInt(u.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"planner_smooth",children:"规划器平滑"}),i.jsx(Ne,{id:"planner_smooth",type:"number",step:"1",min:"0",value:e.planner_smooth,onChange:u=>t({...e,planner_smooth:parseFloat(u.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"增大数值会减小 planner 负荷,推荐 1-5,0 为关闭"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"enable_talk_value_rules",checked:e.enable_talk_value_rules,onCheckedChange:u=>t({...e,enable_talk_value_rules:u})}),i.jsx(Q,{htmlFor:"enable_talk_value_rules",className:"cursor-pointer",children:"启用动态发言频率规则"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"include_planner_reasoning",checked:e.include_planner_reasoning,onCheckedChange:u=>t({...e,include_planner_reasoning:u})}),i.jsx(Q,{htmlFor:"include_planner_reasoning",className:"cursor-pointer",children:"将 planner 推理加入 replyer"})]})]})]}),e.enable_talk_value_rules&&i.jsxs("div",{className:"border-t pt-6",children:[i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-base font-semibold",children:"动态发言频率规则"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"按时段或聊天流ID调整发言频率,优先匹配具体聊天,再匹配全局规则"})]}),i.jsxs(oe,{onClick:n,size:"sm",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),e.talk_value_rules&&e.talk_value_rules.length>0?i.jsx("div",{className:"space-y-4",children:e.talk_value_rules.map((u,d)=>i.jsxs("div",{className:"rounded-lg border p-4 bg-muted/50 space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium text-muted-foreground",children:["规则 #",d+1]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(l,{rule:u}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{variant:"ghost",size:"sm",children:i.jsx(It,{className:"h-4 w-4 text-destructive"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:["确定要删除规则 #",d+1," 吗?此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>r(d),children:"删除"})]})]})]})]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"配置类型"}),i.jsxs(Dt,{value:u.target===""?"global":"specific",onValueChange:f=>{f==="global"?a(d,"target",""):a(d,"target","qq::group")},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"global",children:"全局配置"}),i.jsx(De,{value:"specific",children:"详细配置"})]})]})]}),u.target!==""&&(()=>{const f=u.target.split(":"),m=f[0]||"qq",p=f[1]||"",g=f[2]||"group";return i.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[i.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"平台"}),i.jsxs(Dt,{value:m,onValueChange:x=>{a(d,"target",`${x}:${p}:${g}`)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"qq",children:"QQ"}),i.jsx(De,{value:"wx",children:"微信"})]})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"群 ID"}),i.jsx(Ne,{value:p,onChange:x=>{a(d,"target",`${m}:${x.target.value}:${g}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"类型"}),i.jsxs(Dt,{value:g,onValueChange:x=>{a(d,"target",`${m}:${p}:${x}`)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"group",children:"群组(group)"}),i.jsx(De,{value:"private",children:"私聊(private)"})]})]})]})]}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",u.target||"(未设置)"]})]})})(),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"时间段 (Time)"}),i.jsx(s,{value:u.time,onChange:f=>a(d,"time",f)}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"支持跨夜区间,例如 23:00-02:00"})]}),i.jsxs("div",{className:"grid gap-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{htmlFor:`rule-value-${d}`,className:"text-xs font-medium",children:"发言频率值 (Value)"}),i.jsx(Ne,{id:`rule-value-${d}`,type:"number",step:"0.01",min:"0",max:"1",value:u.value,onChange:f=>{const m=parseFloat(f.target.value);isNaN(m)||a(d,"value",Math.max(0,Math.min(1,m)))},className:"w-20 h-8 text-xs"})]}),i.jsx(Wy,{value:[u.value],onValueChange:f=>a(d,"value",f[0]),min:0,max:1,step:.01,className:"w-full"}),i.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[i.jsx("span",{children:"0 (完全沉默)"}),i.jsx("span",{children:"0.5"}),i.jsx("span",{children:"1.0 (正常)"})]})]})]})]},d))}):i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:i.jsx("p",{className:"text-sm",children:'暂无规则,点击"添加规则"按钮创建'})}),i.jsxs("div",{className:"mt-4 p-4 bg-blue-50 dark:bg-blue-950/20 border border-blue-200 dark:border-blue-800 rounded-lg",children:[i.jsx("h5",{className:"text-sm font-semibold text-blue-900 dark:text-blue-100 mb-2",children:"📝 规则说明"}),i.jsxs("ul",{className:"text-xs text-blue-800 dark:text-blue-200 space-y-1",children:[i.jsxs("li",{children:["• ",i.jsx("strong",{children:"Target 为空"}),":全局规则,对所有聊天生效"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"Target 指定"}),":仅对特定聊天流生效(格式:platform:id:type)"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"优先级"}),":先匹配具体聊天流规则,再匹配全局规则"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"时间支持跨夜"}),":例如 23:00-02:00 表示晚上11点到次日凌晨2点"]}),i.jsxs("li",{children:["• ",i.jsx("strong",{children:"数值范围"}),":建议 0-1,0 表示完全沉默,1 表示正常发言"]})]})]})]})]})}function Oje({config:e,onChange:t}){const n=()=>{t({...e,learning_list:[...e.learning_list,["","enable","enable","1.0"]]})},r=g=>{t({...e,learning_list:e.learning_list.filter((x,j)=>j!==g)})},a=(g,x,j)=>{const w=[...e.learning_list];w[g][x]=j,t({...e,learning_list:w})},s=({rule:g})=>{const x=`["${g[0]}", "${g[1]}", "${g[2]}", "${g[3]}"]`;return i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Va,{className:"h-4 w-4 mr-1"}),"预览"]})}),i.jsx(ds,{className:"w-96",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),i.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:x}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})},l=({member:g,groupIndex:x,memberIndex:j,availableChatIds:w})=>{const b=w.includes(g)||g==="*",[N,E]=y.useState(!b);return i.jsxs("div",{className:"flex gap-2",children:[i.jsx("div",{className:"flex-1 flex gap-2",children:N?i.jsxs(i.Fragment,{children:[i.jsx(Ne,{value:g,onChange:O=>p(x,j,O.target.value),placeholder:'输入 "*" 或 "qq:123456:group"',className:"flex-1"}),w.length>0&&i.jsx(oe,{size:"sm",variant:"outline",onClick:()=>E(!1),title:"切换到下拉选择",children:"下拉"})]}):i.jsxs(i.Fragment,{children:[i.jsxs(Dt,{value:g,onValueChange:O=>p(x,j,O),children:[i.jsx(Ot,{className:"flex-1",children:i.jsx($t,{placeholder:"选择聊天流"})}),i.jsxs(Et,{children:[i.jsx(De,{value:"*",children:"* (全局共享)"}),w.map((O,A)=>i.jsx(De,{value:O,children:O},A))]})]}),i.jsx(oe,{size:"sm",variant:"outline",onClick:()=>E(!0),title:"切换到手动输入",children:"输入"})]})}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"icon",variant:"outline",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除组成员 "',g||"(空)",'" 吗?此操作无法撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>m(x,j),children:"删除"})]})]})]})]})},u=()=>{t({...e,expression_groups:[...e.expression_groups,[]]})},d=g=>{t({...e,expression_groups:e.expression_groups.filter((x,j)=>j!==g)})},f=g=>{const x=[...e.expression_groups];x[g]=[...x[g],""],t({...e,expression_groups:x})},m=(g,x)=>{const j=[...e.expression_groups];j[g]=j[g].filter((w,b)=>b!==x),t({...e,expression_groups:j})},p=(g,x,j)=>{const w=[...e.expression_groups];w[g][x]=j,t({...e,expression_groups:w})};return i.jsxs("div",{className:"space-y-6",children:[i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold",children:"表达学习配置"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置麦麦如何学习和使用表达方式"})]}),i.jsxs(oe,{onClick:n,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加规则"]})]}),i.jsxs("div",{className:"space-y-4",children:[e.learning_list.map((g,x)=>{const j=e.learning_list.some((A,C)=>C!==x&&A[0]===""),w=g[0]==="",b=g[0].split(":"),N=b[0]||"qq",E=b[1]||"",O=b[2]||"group";return i.jsxs("div",{className:"rounded-lg border p-4 space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium",children:["规则 ",x+1," ",w&&"(全局配置)"]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(s,{rule:g}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"sm",variant:"ghost",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:["确定要删除学习规则 ",x+1," 吗?此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>r(x),children:"删除"})]})]})]})]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"配置类型"}),i.jsxs(Dt,{value:w?"global":"specific",onValueChange:A=>{A==="global"?a(x,0,""):a(x,0,"qq::group")},disabled:j&&!w,children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"global",children:"全局配置"}),i.jsx(De,{value:"specific",disabled:j&&!w,children:"详细配置"})]})]}),j&&!w&&i.jsx("p",{className:"text-xs text-amber-600",children:"已存在全局配置,无法创建新的全局配置"})]}),!w&&i.jsxs("div",{className:"grid gap-4 p-4 rounded-lg bg-muted/50",children:[i.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"平台"}),i.jsxs(Dt,{value:N,onValueChange:A=>{a(x,0,`${A}:${E}:${O}`)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"qq",children:"QQ"}),i.jsx(De,{value:"wx",children:"微信"})]})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"群 ID"}),i.jsx(Ne,{value:E,onChange:A=>{a(x,0,`${N}:${A.target.value}:${O}`)},placeholder:"输入群 ID",className:"font-mono text-sm"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"类型"}),i.jsxs(Dt,{value:O,onValueChange:A=>{a(x,0,`${N}:${E}:${A}`)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"group",children:"群组(group)"}),i.jsx(De,{value:"private",children:"私聊(private)"})]})]})]})]}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["当前聊天流 ID:",g[0]||"(未设置)"]})]}),i.jsx("div",{className:"grid gap-2",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs font-medium",children:"使用学到的表达"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦使用从聊天中学到的表达方式"})]}),i.jsx(lt,{checked:g[1]==="enable",onCheckedChange:A=>a(x,1,A?"enable":"disable")})]})}),i.jsx("div",{className:"grid gap-2",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-xs font-medium",children:"学习表达"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"允许麦麦从聊天中学习新的表达方式"})]}),i.jsx(lt,{checked:g[2]==="enable",onCheckedChange:A=>a(x,2,A?"enable":"disable")})]})}),i.jsxs("div",{className:"grid gap-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{className:"text-xs font-medium",children:"学习强度"}),i.jsx(Ne,{type:"number",step:"0.1",min:"0",max:"5",value:g[3],onChange:A=>{const C=parseFloat(A.target.value);isNaN(C)||a(x,3,Math.max(0,Math.min(5,C)).toFixed(1))},className:"w-20 h-8 text-xs"})]}),i.jsx(Wy,{value:[parseFloat(g[3])||1],onValueChange:A=>a(x,3,A[0].toFixed(1)),min:0,max:5,step:.1,className:"w-full"}),i.jsxs("div",{className:"flex justify-between text-xs text-muted-foreground",children:[i.jsx("span",{children:"0 (不学习)"}),i.jsx("span",{children:"2.5"}),i.jsx("span",{children:"5.0 (快速学习)"})]}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"影响学习频率,最短学习间隔 = 300/学习强度(秒)"})]})]})]},x)}),e.learning_list.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无学习规则,点击"添加规则"开始配置'})]})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold",children:"表达共享组配置"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"配置不同聊天流之间如何共享学到的表达方式"})]}),i.jsxs(oe,{onClick:u,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加共享组"]})]}),i.jsxs("div",{className:"space-y-4",children:[e.expression_groups.map((g,x)=>{const j=e.learning_list.map(w=>w[0]).filter(w=>w!=="");return i.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium",children:["共享组 ",x+1,g.length===1&&g[0]==="*"&&"(全局共享)"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(oe,{onClick:()=>f(x),size:"sm",variant:"outline",children:i.jsx(ir,{className:"h-4 w-4"})}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"sm",variant:"ghost",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:["确定要删除共享组 ",x+1," 吗?此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>d(x),children:"删除"})]})]})]})]})]}),i.jsx("div",{className:"space-y-2",children:g.map((w,b)=>i.jsx(l,{member:w,groupIndex:x,memberIndex:b,availableChatIds:j},b))}),i.jsx("p",{className:"text-xs text-muted-foreground",children:'提示:可以从下拉框选择已配置的聊天流,或手动输入。输入 "*" 启用全局共享'})]},x)}),e.expression_groups.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无共享组,点击"添加共享组"开始配置'})]})]})})]})}function Eje({emojiConfig:e,memoryConfig:t,toolConfig:n,onEmojiChange:r,onMemoryChange:a,onToolChange:s}){return i.jsxs("div",{className:"space-y-6",children:[i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"工具设置"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"enable_tool",checked:n.enable_tool,onCheckedChange:l=>s({...n,enable_tool:l})}),i.jsx(Q,{htmlFor:"enable_tool",className:"cursor-pointer",children:"启用工具系统"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"允许麦麦使用各种工具来增强功能"})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"记忆设置"}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_agent_iterations",children:"记忆思考深度"}),i.jsx(Ne,{id:"max_agent_iterations",type:"number",min:"1",value:t.max_agent_iterations,onChange:l=>a({...t,max_agent_iterations:parseInt(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"最低为 1(不深入思考)"})]})]})}),i.jsx("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"表情包设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"emoji_chance",children:"表情包激活概率"}),i.jsx(Ne,{id:"emoji_chance",type:"number",step:"0.1",min:"0",max:"1",value:e.emoji_chance,onChange:l=>r({...e,emoji_chance:parseFloat(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"范围 0-1,越大越容易发送表情包"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_reg_num",children:"最大注册数量"}),i.jsx(Ne,{id:"max_reg_num",type:"number",min:"1",value:e.max_reg_num,onChange:l=>r({...e,max_reg_num:parseInt(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"麦麦最多可以注册的表情包数量"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"check_interval",children:"检查间隔(分钟)"}),i.jsx(Ne,{id:"check_interval",type:"number",min:"1",value:e.check_interval,onChange:l=>r({...e,check_interval:parseInt(l.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"检查表情包(注册、破损、删除)的时间间隔"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"do_replace",checked:e.do_replace,onCheckedChange:l=>r({...e,do_replace:l})}),i.jsx(Q,{htmlFor:"do_replace",className:"cursor-pointer",children:"达到最大数量时替换表情包"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"steal_emoji",checked:e.steal_emoji,onCheckedChange:l=>r({...e,steal_emoji:l})}),i.jsx(Q,{htmlFor:"steal_emoji",className:"cursor-pointer",children:"偷取表情包"})]}),i.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"允许麦麦将看到的表情包据为己有"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"content_filtration",checked:e.content_filtration,onCheckedChange:l=>r({...e,content_filtration:l})}),i.jsx(Q,{htmlFor:"content_filtration",className:"cursor-pointer",children:"启用表情包过滤"})]}),e.content_filtration&&i.jsxs("div",{className:"grid gap-2 pl-6 border-l-2 border-primary/20",children:[i.jsx(Q,{htmlFor:"filtration_prompt",children:"过滤要求"}),i.jsx(Ne,{id:"filtration_prompt",value:e.filtration_prompt,onChange:l=>r({...e,filtration_prompt:l.target.value}),placeholder:"符合公序良俗"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"只有符合此要求的表情包才会被保存"})]})]})]})})]})}function Aje({keywordReactionConfig:e,responsePostProcessConfig:t,chineseTypoConfig:n,responseSplitterConfig:r,onKeywordReactionChange:a,onResponsePostProcessChange:s,onChineseTypoChange:l,onResponseSplitterChange:u}){const d=()=>{a({...e,regex_rules:[...e.regex_rules,{regex:[""],reaction:""}]})},f=A=>{a({...e,regex_rules:e.regex_rules.filter((C,k)=>k!==A)})},m=(A,C,k)=>{const T=[...e.regex_rules];C==="regex"&&typeof k=="string"?T[A]={...T[A],regex:[k]}:C==="reaction"&&typeof k=="string"&&(T[A]={...T[A],reaction:k}),a({...e,regex_rules:T})},p=({regex:A,reaction:C,onRegexChange:k,onReactionChange:T})=>{const[M,R]=y.useState(!1),[B,$]=y.useState(""),[H,V]=y.useState(null),[q,G]=y.useState(""),[L,D]=y.useState({}),[U,K]=y.useState(""),J=y.useRef(null),[I,z]=y.useState("build"),Y=ee=>ee.replace(/\(\?P<([^>]+)>/g,"(?<$1>"),te=(ee,Se=0)=>{const re=J.current;if(!re)return;const we=re.selectionStart||0,je=re.selectionEnd||0,fe=A.substring(0,we)+ee+A.substring(je);k(fe),setTimeout(()=>{const Le=we+ee.length+Se;re.setSelectionRange(Le,Le),re.focus()},0)};y.useEffect(()=>{if(!A||!B){V(null),D({}),K(C),G("");return}try{const ee=Y(A),Se=new RegExp(ee,"g"),re=B.match(Se);V(re),G("");const je=new RegExp(ee).exec(B);if(je&&je.groups){D(je.groups);let fe=C;Object.entries(je.groups).forEach(([Le,Oe])=>{fe=fe.replace(new RegExp(`\\[${Le}\\]`,"g"),Oe||"")}),K(fe)}else D({}),K(C)}catch(ee){G(ee.message),V(null),D({}),K(C)}},[A,B,C]);const ae=()=>{if(!B||!H||H.length===0)return i.jsx("span",{className:"text-muted-foreground",children:B||"请输入测试文本"});try{const ee=Y(A),Se=new RegExp(ee,"g");let re=0;const we=[];let je;for(;(je=Se.exec(B))!==null;)je.index>re&&we.push(i.jsx("span",{children:B.substring(re,je.index)},`text-${re}`)),we.push(i.jsx("span",{className:"bg-yellow-200 dark:bg-yellow-900 font-semibold",children:je[0]},`match-${je.index}`)),re=je.index+je[0].length;return re)",desc:"Python风格命名捕获组",moveCursor:-1},{label:"非捕获组",pattern:"(?:)",desc:"分组但不保存匹配结果",moveCursor:-1}]},{category:"字符类",items:[{label:"字符集",pattern:"[]",desc:"匹配括号内的任意字符",moveCursor:-1},{label:"排除字符",pattern:"[^]",desc:"匹配不在括号内的字符",moveCursor:-1},{label:"范围",pattern:"[a-z]",desc:"匹配a到z的字符"},{label:"中文字符",pattern:"[\\u4e00-\\u9fa5]",desc:"匹配中文汉字"}]},{category:"常用模板",items:[{label:"捕获词语",pattern:"(?P\\S+)",desc:"捕获一个词语"},{label:"捕获句子",pattern:"(?P.+)",desc:"捕获整个句子"},{label:"捕获数字",pattern:"(?P\\d+)",desc:"捕获一个或多个数字"},{label:"可选词语",pattern:"(?:词语1|词语2)",desc:"匹配多个可选项之一"}]}];return i.jsxs(sr,{open:M,onOpenChange:R,children:[i.jsx(i8,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Og,{className:"h-4 w-4 mr-1"}),"正则编辑器"]})}),i.jsxs(Kn,{className:"max-w-[95vw] sm:max-w-[900px] max-h-[90vh]",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"正则表达式编辑器"}),i.jsx(vr,{className:"text-sm",children:"使用可视化工具构建正则表达式,并实时测试效果"})]}),i.jsx(Wt,{className:"max-h-[calc(90vh-120px)]",children:i.jsxs(dl,{value:I,onValueChange:ee=>z(ee),className:"w-full",children:[i.jsxs(eo,{className:"grid w-full grid-cols-2",children:[i.jsx(Rt,{value:"build",children:"🔧 构建器"}),i.jsx(Rt,{value:"test",children:"🧪 测试器"})]}),i.jsxs(sn,{value:"build",className:"space-y-4 mt-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{className:"text-sm font-medium",children:"正则表达式"}),i.jsx(Ne,{ref:J,value:A,onChange:ee=>k(ee.target.value),className:"font-mono text-sm",placeholder:"点击下方按钮构建正则表达式..."})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{className:"text-sm font-medium",children:"Reaction 内容"}),i.jsx(Xt,{value:C,onChange:ee=>T(ee.target.value),placeholder:"使用 [捕获组名] 引用捕获的内容...",rows:3,className:"text-sm"})]}),i.jsxs("div",{className:"space-y-4 border-t pt-4",children:[ge.map(ee=>i.jsxs("div",{className:"space-y-2",children:[i.jsx("h5",{className:"text-xs font-semibold text-primary",children:ee.category}),i.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:ee.items.map(Se=>i.jsx(oe,{variant:"outline",size:"sm",className:"justify-start h-auto py-2 px-3",onClick:()=>te(Se.pattern,Se.moveCursor||0),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsxs("div",{className:"flex items-center gap-2 w-full",children:[i.jsx("span",{className:"text-xs font-medium",children:Se.label}),i.jsx("code",{className:"ml-auto text-xs bg-muted px-1.5 py-0.5 rounded font-mono",children:Se.pattern})]}),i.jsx("span",{className:"text-xs text-muted-foreground mt-0.5",children:Se.desc})]})},Se.label))})]},ee.category)),i.jsxs("div",{className:"space-y-2 border-t pt-4",children:[i.jsx("h5",{className:"text-xs font-semibold text-primary",children:"完整示例模板"}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(oe,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>k("^(?P\\S{1,20})是这样的$"),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsxs("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:["^(?P\\S","{1,20}",")是这样的$"]}),i.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「某事物是这样的」并捕获事物名称"})]})}),i.jsx(oe,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>k("(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?:[^,。.\\s]+,\\s*)?我(?:也)?[没沒]要求你\\s*(?P.+?)[.。,,]?$"}),i.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"匹配「我没要求你做某事」并捕获具体行为"})]})}),i.jsx(oe,{variant:"outline",size:"sm",className:"w-full justify-start h-auto py-2 px-3",onClick:()=>k("(?P.+?)(?:是|为什么|怎么)"),children:i.jsxs("div",{className:"flex flex-col items-start w-full",children:[i.jsx("code",{className:"text-xs font-mono bg-muted px-2 py-1 rounded w-full overflow-x-auto",children:"(?P.+?)(?:是|为什么|怎么)"}),i.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"捕获问题主题词"})]})})]})]})]}),i.jsxs("div",{className:"rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3 space-y-1",children:[i.jsx("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:"💡 使用提示"}),i.jsxs("ul",{className:"text-xs text-blue-700 dark:text-blue-300 space-y-1 list-disc list-inside",children:[i.jsx("li",{children:"点击输入框设置光标位置,然后点击按钮插入模式"}),i.jsxs("li",{children:["命名捕获组格式:",i.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"(?P<名称>模式)"})]}),i.jsxs("li",{children:["在 reaction 中使用 ",i.jsx("code",{className:"bg-blue-100 dark:bg-blue-900 px-1 rounded",children:"[名称]"})," 引用捕获的内容"]}),i.jsx("li",{children:"切换到测试器标签页验证正则表达式效果"})]})]})]}),i.jsxs(sn,{value:"test",className:"space-y-4 mt-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{className:"text-sm font-medium",children:"当前正则表达式"}),i.jsx("div",{className:"rounded-md bg-muted p-3 font-mono text-xs break-all",children:A||"(未设置)"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"test-text",className:"text-sm font-medium",children:"测试文本"}),i.jsx(Xt,{id:"test-text",value:B,onChange:ee=>$(ee.target.value),placeholder:`在此输入要测试的文本... 例如:打游戏是这样的`,className:"min-h-[100px] text-sm"})]}),q&&i.jsxs("div",{className:"rounded-md bg-destructive/10 border border-destructive/20 p-3",children:[i.jsx("p",{className:"text-sm text-destructive font-medium",children:"正则表达式错误"}),i.jsx("p",{className:"text-xs text-destructive/80 mt-1",children:q})]}),!q&&B&&i.jsxs("div",{className:"space-y-3",children:[i.jsx("div",{className:"flex items-center gap-2",children:H&&H.length>0?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-green-500"}),i.jsxs("span",{className:"text-sm font-medium text-green-600 dark:text-green-400",children:["匹配成功 (",H.length," 处)"]})]}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"h-2 w-2 rounded-full bg-gray-400"}),i.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"无匹配"})]})}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{className:"text-sm font-medium",children:"匹配高亮"}),i.jsx(Wt,{className:"h-40 rounded-md bg-muted p-3",children:i.jsx("div",{className:"text-sm break-words",children:ae()})})]}),Object.keys(L).length>0&&i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{className:"text-sm font-medium",children:"命名捕获组"}),i.jsx(Wt,{className:"h-32 rounded-md border p-3",children:i.jsx("div",{className:"space-y-2",children:Object.entries(L).map(([ee,Se])=>i.jsxs("div",{className:"flex items-start gap-2 text-sm",children:[i.jsxs("span",{className:"font-mono font-semibold text-primary min-w-[80px]",children:["[",ee,"]"]}),i.jsx("span",{className:"text-muted-foreground",children:"="}),i.jsx("span",{className:"font-mono bg-muted px-2 py-0.5 rounded",children:Se})]},ee))})})]}),Object.keys(L).length>0&&C&&i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{className:"text-sm font-medium",children:"Reaction 替换预览"}),i.jsx(Wt,{className:"h-48 rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3",children:i.jsx("div",{className:"text-sm break-words",children:U})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"reaction 中的 [name] 已被替换为对应的捕获组值"})]})]}),i.jsxs("div",{className:"rounded-md bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3 space-y-1",children:[i.jsx("p",{className:"text-xs font-medium text-blue-900 dark:text-blue-100",children:"💡 测试说明"}),i.jsxs("ul",{className:"text-xs text-blue-700 dark:text-blue-300 space-y-1 list-disc list-inside",children:[i.jsx("li",{children:"匹配的文本会以黄色背景高亮显示"}),i.jsx("li",{children:"命名捕获组的值会显示在下方列表中"}),i.jsx("li",{children:"Reaction 替换预览显示最终生成的反应内容"}),i.jsx("li",{children:"如需修改正则,切换回构建器标签页"})]})]})]})]})})]})]})},g=()=>{a({...e,keyword_rules:[...e.keyword_rules,{keywords:[],reaction:""}]})},x=A=>{a({...e,keyword_rules:e.keyword_rules.filter((C,k)=>k!==A)})},j=(A,C,k)=>{const T=[...e.keyword_rules];typeof k=="string"&&(T[A]={...T[A],reaction:k}),a({...e,keyword_rules:T})},w=A=>{const C=[...e.keyword_rules];C[A]={...C[A],keywords:[...C[A].keywords||[],""]},a({...e,keyword_rules:C})},b=(A,C)=>{const k=[...e.keyword_rules];k[A]={...k[A],keywords:(k[A].keywords||[]).filter((T,M)=>M!==C)},a({...e,keyword_rules:k})},N=(A,C,k)=>{const T=[...e.keyword_rules],M=[...T[A].keywords||[]];M[C]=k,T[A]={...T[A],keywords:M},a({...e,keyword_rules:T})},E=({rule:A})=>{const C=`{ regex = [${(A.regex||[]).map(k=>`"${k}"`).join(", ")}], reaction = "${A.reaction}" }`;return i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Va,{className:"h-4 w-4 mr-1"}),"预览"]})}),i.jsx(ds,{className:"w-[95vw] sm:w-[500px]",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),i.jsx(Wt,{className:"h-60 rounded-md bg-muted p-3",children:i.jsx("pre",{className:"font-mono text-xs break-all",children:C})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})},O=({rule:A})=>{const C=`[[keyword_reaction.keyword_rules]] keywords = [${(A.keywords||[]).map(k=>`"${k}"`).join(", ")}] reaction = "${A.reaction}"`;return i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(Va,{className:"h-4 w-4 mr-1"}),"预览"]})}),i.jsx(ds,{className:"w-[95vw] sm:w-[500px]",children:i.jsxs("div",{className:"space-y-2",children:[i.jsx("h4",{className:"font-medium text-sm",children:"配置预览"}),i.jsx(Wt,{className:"h-60 rounded-md bg-muted p-3",children:i.jsx("pre",{className:"font-mono text-xs whitespace-pre-wrap break-all",children:C})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"这是保存到 bot_config.toml 文件中的格式"})]})})]})};return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-2",children:"关键词反应配置"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"配置触发特定反应的关键词和正则表达式规则"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-base font-semibold",children:"正则表达式规则"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"使用正则表达式匹配消息内容"})]}),i.jsxs(oe,{onClick:d,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加正则规则"]})]}),i.jsxs("div",{className:"space-y-3",children:[e.regex_rules.map((A,C)=>i.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium",children:["正则规则 ",C+1]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(p,{regex:A.regex&&A.regex[0]||"",reaction:A.reaction,onRegexChange:k=>m(C,"regex",k),onReactionChange:k=>m(C,"reaction",k)}),i.jsx(E,{rule:A}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"sm",variant:"ghost",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:["确定要删除正则规则 ",C+1," 吗?此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>f(C),children:"删除"})]})]})]})]})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"正则表达式(Python 语法)"}),i.jsx(Ne,{value:A.regex&&A.regex[0]||"",onChange:k=>m(C,"regex",k.target.value),placeholder:"例如:^(?P\\\\S{1,20})是这样的$ (点击正则编辑器按钮可视化构建)",className:"font-mono text-sm"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:'支持命名捕获组 (?Ppattern),可在 reaction 中使用 [name] 引用。点击"正则编辑器"可视化构建和测试!'})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"反应内容"}),i.jsx(Xt,{value:A.reaction,onChange:k=>m(C,"reaction",k.target.value),placeholder:`触发后麦麦的反应... -可以使用 [捕获组名] 来引用正则表达式中的内容`,rows:3,className:"text-sm"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"使用 [捕获组名] 引用正则表达式中的命名捕获组,例如 [n] 会被替换为捕获的内容"})]})]})]},C)),e.regex_rules.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无正则规则,点击"添加正则规则"开始配置'})]})]}),i.jsxs("div",{className:"space-y-4 border-t pt-6",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-base font-semibold",children:"关键词规则"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"使用关键词列表匹配消息内容"})]}),i.jsxs(oe,{onClick:g,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加关键词规则"]})]}),i.jsxs("div",{className:"space-y-3",children:[e.keyword_rules.map((A,C)=>i.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium",children:["关键词规则 ",C+1]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(O,{rule:A}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"sm",variant:"ghost",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:["确定要删除关键词规则 ",C+1," 吗?此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>x(C),children:"删除"})]})]})]})]})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{className:"text-xs font-medium",children:"关键词列表"}),i.jsxs(oe,{onClick:()=>w(C),size:"sm",variant:"ghost",children:[i.jsx(ir,{className:"h-3 w-3 mr-1"}),"添加关键词"]})]}),i.jsxs("div",{className:"space-y-2",children:[(A.keywords||[]).map((k,T)=>i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Ne,{value:k,onChange:M=>N(C,T,M.target.value),placeholder:"关键词",className:"flex-1"}),i.jsx(oe,{onClick:()=>b(C,T),size:"sm",variant:"ghost",children:i.jsx(It,{className:"h-4 w-4"})})]},T)),(!A.keywords||A.keywords.length===0)&&i.jsx("p",{className:"text-xs text-muted-foreground text-center py-2",children:'暂无关键词,点击"添加关键词"开始配置'})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"反应内容"}),i.jsx(Xt,{value:A.reaction,onChange:k=>j(C,"reaction",k.target.value),placeholder:"触发后麦麦的反应...",rows:3,className:"text-sm"})]})]})]},C)),e.keyword_rules.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无关键词规则,点击"添加关键词规则"开始配置'})]})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"回复后处理配置"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"enable_response_post_process",checked:t.enable_response_post_process,onCheckedChange:A=>s({...t,enable_response_post_process:A})}),i.jsx(Q,{htmlFor:"enable_response_post_process",className:"cursor-pointer",children:"启用回复后处理"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"包括错别字生成器和回复分割器"})]}),t.enable_response_post_process&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"border-t pt-6 space-y-4",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[i.jsx(lt,{id:"enable_chinese_typo",checked:n.enable,onCheckedChange:A=>l({...n,enable:A})}),i.jsx(Q,{htmlFor:"enable_chinese_typo",className:"cursor-pointer font-semibold",children:"中文错别字生成器"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"为回复添加随机错别字,让麦麦的回复更自然"}),n.enable&&i.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"error_rate",className:"text-xs font-medium",children:"单字替换概率"}),i.jsx(Ne,{id:"error_rate",type:"number",step:"0.001",min:"0",max:"1",value:n.error_rate,onChange:A=>l({...n,error_rate:parseFloat(A.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"min_freq",className:"text-xs font-medium",children:"最小字频阈值"}),i.jsx(Ne,{id:"min_freq",type:"number",min:"0",value:n.min_freq,onChange:A=>l({...n,min_freq:parseInt(A.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"tone_error_rate",className:"text-xs font-medium",children:"声调错误概率"}),i.jsx(Ne,{id:"tone_error_rate",type:"number",step:"0.01",min:"0",max:"1",value:n.tone_error_rate,onChange:A=>l({...n,tone_error_rate:parseFloat(A.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"word_replace_rate",className:"text-xs font-medium",children:"整词替换概率"}),i.jsx(Ne,{id:"word_replace_rate",type:"number",step:"0.001",min:"0",max:"1",value:n.word_replace_rate,onChange:A=>l({...n,word_replace_rate:parseFloat(A.target.value)})})]})]})]})}),i.jsx("div",{className:"border-t pt-6 space-y-4",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[i.jsx(lt,{id:"enable_response_splitter",checked:r.enable,onCheckedChange:A=>u({...r,enable:A})}),i.jsx(Q,{htmlFor:"enable_response_splitter",className:"cursor-pointer font-semibold",children:"回复分割器"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"控制回复的长度和句子数量"}),r.enable&&i.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_length",className:"text-xs font-medium",children:"最大长度"}),i.jsx(Ne,{id:"max_length",type:"number",min:"1",value:r.max_length,onChange:A=>u({...r,max_length:parseInt(A.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大字符数"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_sentence_num",className:"text-xs font-medium",children:"最大句子数"}),i.jsx(Ne,{id:"max_sentence_num",type:"number",min:"1",value:r.max_sentence_num,onChange:A=>u({...r,max_sentence_num:parseInt(A.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大句子数量"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"enable_kaomoji_protection",checked:r.enable_kaomoji_protection,onCheckedChange:A=>u({...r,enable_kaomoji_protection:A})}),i.jsx(Q,{htmlFor:"enable_kaomoji_protection",className:"cursor-pointer",children:"启用颜文字保护"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"enable_overflow_return_all",checked:r.enable_overflow_return_all,onCheckedChange:A=>u({...r,enable_overflow_return_all:A})}),i.jsx(Q,{htmlFor:"enable_overflow_return_all",className:"cursor-pointer",children:"超出时一次性返回全部"})]}),i.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"当句子数量超出限制时,合并后一次性返回所有内容"})]})]})})]})]})]})}function Tje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"情绪设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{checked:e.enable_mood,onCheckedChange:n=>t({...e,enable_mood:n})}),i.jsx(Q,{className:"cursor-pointer",children:"启用情绪系统"})]}),e.enable_mood&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"情绪更新阈值"}),i.jsx(Ne,{type:"number",min:"1",value:e.mood_update_threshold,onChange:n=>t({...e,mood_update_threshold:parseInt(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"越高,更新越慢"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"情感特征"}),i.jsx(Xt,{value:e.emotion_style,onChange:n=>t({...e,emotion_style:n.target.value}),placeholder:"影响情绪的变化情况",rows:2})]})]})]})]})}function kje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"语音设置"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{checked:e.enable_asr,onCheckedChange:n=>t({...e,enable_asr:n})}),i.jsx(Q,{className:"cursor-pointer",children:"启用语音识别"})]}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"启用后麦麦可以识别语音消息,需要配置语音识别模型"})]})}function Mje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{checked:e.enable,onCheckedChange:n=>t({...e,enable:n})}),i.jsx(Q,{className:"cursor-pointer",children:"启用 LPMM 知识库"})]}),e.enable&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"LPMM 模式"}),i.jsxs(Dt,{value:e.lpmm_mode,onValueChange:n=>t({...e,lpmm_mode:n}),children:[i.jsx(Ot,{children:i.jsx($t,{placeholder:"选择 LPMM 模式"})}),i.jsxs(Et,{children:[i.jsx(De,{value:"classic",children:"经典模式"}),i.jsx(De,{value:"agent",children:"Agent 模式"})]})]})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"同义词搜索 TopK"}),i.jsx(Ne,{type:"number",min:"1",value:e.rag_synonym_search_top_k,onChange:n=>t({...e,rag_synonym_search_top_k:parseInt(n.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"同义词阈值"}),i.jsx(Ne,{type:"number",step:"0.1",min:"0",max:"1",value:e.rag_synonym_threshold,onChange:n=>t({...e,rag_synonym_threshold:parseFloat(n.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"实体提取线程数"}),i.jsx(Ne,{type:"number",min:"1",value:e.info_extraction_workers,onChange:n=>t({...e,info_extraction_workers:parseInt(n.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"嵌入向量维度"}),i.jsx(Ne,{type:"number",min:"1",value:e.embedding_dimension,onChange:n=>t({...e,embedding_dimension:parseInt(n.target.value)})})]})]})]})]})]})}function Pje({config:e,onChange:t}){const[n,r]=y.useState(""),[a,s]=y.useState("WARNING"),l=()=>{n&&!e.suppress_libraries.includes(n)&&(t({...e,suppress_libraries:[...e.suppress_libraries,n]}),r(""))},u=x=>{t({...e,suppress_libraries:e.suppress_libraries.filter(j=>j!==x)})},d=()=>{n&&!e.library_log_levels[n]&&(t({...e,library_log_levels:{...e.library_log_levels,[n]:a}}),r(""),s("WARNING"))},f=x=>{const j={...e.library_log_levels};delete j[x],t({...e,library_log_levels:j})},m=["DEBUG","INFO","WARNING","ERROR","CRITICAL"],p=["FULL","compact","lite"],g=["none","title","full"];return i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"日志配置"}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"日期格式"}),i.jsx(Ne,{value:e.date_style,onChange:x=>t({...e,date_style:x.target.value}),placeholder:"例如: m-d H:i:s"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"m=月, d=日, H=时, i=分, s=秒"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"日志级别样式"}),i.jsxs(Dt,{value:e.log_level_style,onValueChange:x=>t({...e,log_level_style:x}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:p.map(x=>i.jsx(De,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"日志文本颜色"}),i.jsxs(Dt,{value:e.color_text,onValueChange:x=>t({...e,color_text:x}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:g.map(x=>i.jsx(De,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"全局日志级别"}),i.jsxs(Dt,{value:e.log_level,onValueChange:x=>t({...e,log_level:x}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:m.map(x=>i.jsx(De,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"控制台日志级别"}),i.jsxs(Dt,{value:e.console_log_level,onValueChange:x=>t({...e,console_log_level:x}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:m.map(x=>i.jsx(De,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"文件日志级别"}),i.jsxs(Dt,{value:e.file_log_level,onValueChange:x=>t({...e,file_log_level:x}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:m.map(x=>i.jsx(De,{value:x,children:x},x))})]})]})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"mb-2 block",children:"完全屏蔽的库"}),i.jsxs("div",{className:"flex gap-2 mb-2",children:[i.jsx(Ne,{value:n,onChange:x=>r(x.target.value),placeholder:"输入库名",className:"flex-1",onKeyDown:x=>{x.key==="Enter"&&(x.preventDefault(),l())}}),i.jsx(oe,{onClick:l,size:"sm",className:"flex-shrink-0",children:i.jsx(ir,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),i.jsx("div",{className:"flex flex-wrap gap-2",children:e.suppress_libraries.map(x=>i.jsxs("div",{className:"flex items-center gap-1 bg-secondary px-3 py-1 rounded-md",children:[i.jsx("span",{className:"text-sm",children:x}),i.jsx(oe,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0",onClick:()=>u(x),children:i.jsx(It,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},x))})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"mb-2 block",children:"特定库的日志级别"}),i.jsxs("div",{className:"flex gap-2 mb-2",children:[i.jsx(Ne,{value:n,onChange:x=>r(x.target.value),placeholder:"输入库名",className:"flex-1"}),i.jsxs(Dt,{value:a,onValueChange:s,children:[i.jsx(Ot,{className:"w-32",children:i.jsx($t,{})}),i.jsx(Et,{children:m.map(x=>i.jsx(De,{value:x,children:x},x))})]}),i.jsx(oe,{onClick:d,size:"sm",children:i.jsx(ir,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),i.jsx("div",{className:"space-y-2",children:Object.entries(e.library_log_levels).map(([x,j])=>i.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[i.jsx("span",{className:"text-sm font-medium",children:x}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-sm text-muted-foreground",children:j}),i.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>f(x),children:i.jsx(It,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]})]},x))})]})]})}function Rje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"调试配置"}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"显示 Prompt"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否在日志中显示提示词"})]}),i.jsx(lt,{checked:e.show_prompt,onCheckedChange:n=>t({...e,show_prompt:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"显示回复器 Prompt"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的提示词"})]}),i.jsx(lt,{checked:e.show_replyer_prompt,onCheckedChange:n=>t({...e,show_replyer_prompt:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"显示回复器推理"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的推理过程"})]}),i.jsx(lt,{checked:e.show_replyer_reasoning,onCheckedChange:n=>t({...e,show_replyer_reasoning:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"显示 Jargon Prompt"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示术语相关的提示词"})]}),i.jsx(lt,{checked:e.show_jargon_prompt,onCheckedChange:n=>t({...e,show_jargon_prompt:n})})]})]})]})}function Dje({config:e,onChange:t}){const[n,r]=y.useState(""),a=()=>{n&&!e.auth_token.includes(n)&&(t({...e,auth_token:[...e.auth_token,n]}),r(""))},s=l=>{t({...e,auth_token:e.auth_token.filter((u,d)=>d!==l)})};return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"MaimMessage 服务配置"}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"启用自定义服务器"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否使用自定义的 MaimMessage 服务器"})]}),i.jsx(lt,{checked:e.use_custom,onCheckedChange:l=>t({...e,use_custom:l})})]}),e.use_custom&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"主机地址"}),i.jsx(Ne,{value:e.host,onChange:l=>t({...e,host:l.target.value}),placeholder:"127.0.0.1"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"端口号"}),i.jsx(Ne,{type:"number",value:e.port,onChange:l=>t({...e,port:parseInt(l.target.value)}),placeholder:"8090"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"连接模式"}),i.jsxs(Dt,{value:e.mode,onValueChange:l=>t({...e,mode:l}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"ws",children:"WebSocket (ws)"}),i.jsx(De,{value:"tcp",children:"TCP"})]})]})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{checked:e.use_wss,onCheckedChange:l=>t({...e,use_wss:l}),disabled:e.mode!=="ws"}),i.jsx(Q,{children:"使用 WSS 安全连接"})]})]}),e.use_wss&&e.mode==="ws"&&i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"SSL 证书文件路径"}),i.jsx(Ne,{value:e.cert_file,onChange:l=>t({...e,cert_file:l.target.value}),placeholder:"cert.pem"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"SSL 密钥文件路径"}),i.jsx(Ne,{value:e.key_file,onChange:l=>t({...e,key_file:l.target.value}),placeholder:"key.pem"})]})]})]})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"mb-2 block",children:"认证令牌"}),i.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"用于 API 验证,为空则不启用验证"}),i.jsxs("div",{className:"flex gap-2 mb-2",children:[i.jsx(Ne,{value:n,onChange:l=>r(l.target.value),placeholder:"输入认证令牌",onKeyDown:l=>{l.key==="Enter"&&(l.preventDefault(),a())}}),i.jsx(oe,{onClick:a,size:"sm",children:i.jsx(ir,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),i.jsx("div",{className:"space-y-2",children:e.auth_token.map((l,u)=>i.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[i.jsx("span",{className:"text-sm font-mono",children:l}),i.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>s(u),children:i.jsx(It,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},u))})]})]})}function $je({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"统计信息"}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"启用统计信息发送"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"发送匿名统计信息,帮助我们了解全球有多少只麦麦在运行"})]}),i.jsx(lt,{checked:e.enable,onCheckedChange:n=>t({...e,enable:n})})]})]})}const kl=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{className:"relative w-full overflow-auto",children:i.jsx("table",{ref:n,className:ce("w-full caption-bottom text-sm",e),...t})}));kl.displayName="Table";const Ml=y.forwardRef(({className:e,...t},n)=>i.jsx("thead",{ref:n,className:ce("[&_tr]:border-b",e),...t}));Ml.displayName="TableHeader";const Pl=y.forwardRef(({className:e,...t},n)=>i.jsx("tbody",{ref:n,className:ce("[&_tr:last-child]:border-0",e),...t}));Pl.displayName="TableBody";const Ije=y.forwardRef(({className:e,...t},n)=>i.jsx("tfoot",{ref:n,className:ce("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));Ije.displayName="TableFooter";const An=y.forwardRef(({className:e,...t},n)=>i.jsx("tr",{ref:n,className:ce("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));An.displayName="TableRow";const nt=y.forwardRef(({className:e,...t},n)=>i.jsx("th",{ref:n,className:ce("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));nt.displayName="TableHead";const Ge=y.forwardRef(({className:e,...t},n)=>i.jsx("td",{ref:n,className:ce("px-4 py-3 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));Ge.displayName="TableCell";const Lje=y.forwardRef(({className:e,...t},n)=>i.jsx("caption",{ref:n,className:ce("mt-4 text-sm text-muted-foreground",e),...t}));Lje.displayName="TableCaption";var ax="Checkbox",[Bje]=gr(ax),[zje,ME]=Bje(ax);function qje(e){const{__scopeCheckbox:t,checked:n,children:r,defaultChecked:a,disabled:s,form:l,name:u,onCheckedChange:d,required:f,value:m="on",internal_do_not_use_render:p}=e,[g,x]=Ea({prop:n,defaultProp:a??!1,onChange:d,caller:ax}),[j,w]=y.useState(null),[b,N]=y.useState(null),E=y.useRef(!1),O=j?!!l||!!j.closest("form"):!0,A={checked:g,disabled:s,setChecked:x,control:j,setControl:w,name:u,form:l,value:m,hasConsumerStoppedPropagationRef:E,required:f,defaultChecked:Js(a)?!1:a,isFormControl:O,bubbleInput:b,setBubbleInput:N};return i.jsx(zje,{scope:t,...A,children:Fje(p)?p(A):r})}var lH="CheckboxTrigger",cH=y.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},a)=>{const{control:s,value:l,disabled:u,checked:d,required:f,setControl:m,setChecked:p,hasConsumerStoppedPropagationRef:g,isFormControl:x,bubbleInput:j}=ME(lH,e),w=Ue(a,m),b=y.useRef(d);return y.useEffect(()=>{const N=s?.form;if(N){const E=()=>p(b.current);return N.addEventListener("reset",E),()=>N.removeEventListener("reset",E)}},[s,p]),i.jsx($e.button,{type:"button",role:"checkbox","aria-checked":Js(d)?"mixed":d,"aria-required":f,"data-state":mH(d),"data-disabled":u?"":void 0,disabled:u,value:l,...r,ref:w,onKeyDown:_e(t,N=>{N.key==="Enter"&&N.preventDefault()}),onClick:_e(n,N=>{p(E=>Js(E)?!0:!E),j&&x&&(g.current=N.isPropagationStopped(),g.current||N.stopPropagation())})})});cH.displayName=lH;var PE=y.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:r,checked:a,defaultChecked:s,required:l,disabled:u,value:d,onCheckedChange:f,form:m,...p}=e;return i.jsx(qje,{__scopeCheckbox:n,checked:a,defaultChecked:s,disabled:u,required:l,onCheckedChange:f,name:r,form:m,value:d,internal_do_not_use_render:({isFormControl:g})=>i.jsxs(i.Fragment,{children:[i.jsx(cH,{...p,ref:t,__scopeCheckbox:n}),g&&i.jsx(hH,{__scopeCheckbox:n})]})})});PE.displayName=ax;var uH="CheckboxIndicator",dH=y.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...a}=e,s=ME(uH,n);return i.jsx(Bn,{present:r||Js(s.checked)||s.checked===!0,children:i.jsx($e.span,{"data-state":mH(s.checked),"data-disabled":s.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});dH.displayName=uH;var fH="CheckboxBubbleInput",hH=y.forwardRef(({__scopeCheckbox:e,...t},n)=>{const{control:r,hasConsumerStoppedPropagationRef:a,checked:s,defaultChecked:l,required:u,disabled:d,name:f,value:m,form:p,bubbleInput:g,setBubbleInput:x}=ME(fH,e),j=Ue(n,x),w=Dy(s),b=$y(r);y.useEffect(()=>{const E=g;if(!E)return;const O=window.HTMLInputElement.prototype,C=Object.getOwnPropertyDescriptor(O,"checked").set,k=!a.current;if(w!==s&&C){const T=new Event("click",{bubbles:k});E.indeterminate=Js(s),C.call(E,Js(s)?!1:s),E.dispatchEvent(T)}},[g,w,s,a]);const N=y.useRef(Js(s)?!1:s);return i.jsx($e.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??N.current,required:u,disabled:d,name:f,value:m,form:p,...t,tabIndex:-1,ref:j,style:{...t.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});hH.displayName=fH;function Fje(e){return typeof e=="function"}function Js(e){return e==="indeterminate"}function mH(e){return Js(e)?"indeterminate":e?"checked":"unchecked"}const io=y.forwardRef(({className:e,...t},n)=>i.jsx(PE,{ref:n,className:ce("grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:i.jsx(dH,{className:ce("grid place-content-center text-current"),children:i.jsx(ol,{className:"h-4 w-4"})})}));io.displayName=PE.displayName;function Uje(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[a,s]=y.useState(!1),[l,u]=y.useState(!1),[d,f]=y.useState(!1),[m,p]=y.useState(!1),[g,x]=y.useState(!1),[j,w]=y.useState(!1),[b,N]=y.useState(null),[E,O]=y.useState(null),[A,C]=y.useState(!1),[k,T]=y.useState(null),[M,R]=y.useState(!1),[B,$]=y.useState(""),[H,V]=y.useState(new Set),[q,G]=y.useState(!1),{toast:L}=yr(),D=y.useRef(null),U=y.useRef(!0);y.useEffect(()=>{K()},[]);const K=async()=>{try{r(!0);const be=await Jc();t(be.api_providers||[]),f(!1),U.current=!1}catch(be){console.error("加载配置失败:",be)}finally{r(!1)}},J=async()=>{try{p(!0),TE().catch(()=>{}),x(!0)}catch(be){console.error("重启失败:",be),x(!1),L({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),p(!1)}},I=async()=>{try{s(!0),D.current&&clearTimeout(D.current);const be=await Jc();be.api_providers=e,await Ig(be),f(!1),L({title:"保存成功",description:"正在重启麦麦..."}),await J()}catch(be){console.error("保存配置失败:",be),L({title:"保存失败",description:be.message,variant:"destructive"}),s(!1)}},z=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},Y=()=>{x(!1),p(!1),L({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},te=y.useCallback(async be=>{if(!U.current)try{u(!0),await vC("api_providers",be),f(!1)}catch(Ae){console.error("自动保存失败:",Ae),f(!0)}finally{u(!1)}},[]);y.useEffect(()=>{if(!U.current)return f(!0),D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{te(e)},2e3),()=>{D.current&&clearTimeout(D.current)}},[e,te]);const ae=async()=>{try{s(!0),D.current&&clearTimeout(D.current);const be=await Jc();be.api_providers=e,await Ig(be),f(!1),L({title:"保存成功",description:"模型提供商配置已保存"})}catch(be){console.error("保存配置失败:",be),L({title:"保存失败",description:be.message,variant:"destructive"})}finally{s(!1)}},ge=(be,Ae)=>{N(be||{name:"",base_url:"",api_key:"",client_type:"openai",max_retry:2,timeout:30,retry_interval:10}),O(Ae),R(!1),w(!0)},ee=async()=>{if(b?.api_key)try{await navigator.clipboard.writeText(b.api_key),L({title:"复制成功",description:"API Key 已复制到剪贴板"})}catch{L({title:"复制失败",description:"无法访问剪贴板",variant:"destructive"})}},Se=()=>{if(b){if(E!==null){const be=[...e];be[E]=b,t(be)}else t([...e,b]);w(!1),N(null),O(null)}},re=be=>{T(be),C(!0)},we=()=>{if(k!==null){const be=e.filter((Ae,ke)=>ke!==k);t(be),L({title:"删除成功",description:"提供商已从列表中移除"})}C(!1),T(null)},je=be=>{const Ae=new Set(H);Ae.has(be)?Ae.delete(be):Ae.add(be),V(Ae)},fe=()=>{if(H.size===We.length)V(new Set);else{const be=We.map((Ae,ke)=>e.findIndex(Qt=>Qt===We[ke]));V(new Set(be))}},Le=()=>{if(H.size===0){L({title:"提示",description:"请先选择要删除的提供商",variant:"default"});return}G(!0)},Oe=()=>{const be=e.filter((Ae,ke)=>!H.has(ke));t(be),V(new Set),G(!1),L({title:"批量删除成功",description:`已删除 ${H.size} 个提供商`})},We=e.filter(be=>{if(!B)return!0;const Ae=B.toLowerCase();return be.name.toLowerCase().includes(Ae)||be.base_url.toLowerCase().includes(Ae)||be.client_type.toLowerCase().includes(Ae)});return n?i.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:i.jsx("div",{className:"flex items-center justify-center h-64",children:i.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})}):i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型提供商配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理 API 提供商配置"})]}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[H.size>0&&i.jsxs(oe,{onClick:Le,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[i.jsx(It,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",H.size,")"]}),i.jsxs(oe,{onClick:()=>ge(null,null),size:"sm",className:"w-full sm:w-auto",children:[i.jsx(ir,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加提供商"]}),i.jsxs(oe,{onClick:ae,disabled:a||l||!d||m,size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[i.jsx(iE,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),a?"保存中...":l?"自动保存中...":d?"保存配置":"已保存"]}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{disabled:a||l||m,size:"sm",className:"w-full sm:w-auto",children:[i.jsx(aE,{className:"mr-2 h-4 w-4"}),m?"重启中...":d?"保存并重启":"重启麦麦"]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认重启麦麦?"}),i.jsx(hn,{children:d?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:d?I:J,children:d?"保存并重启":"确认重启"})]})]})]})]})]}),i.jsxs(nx,{children:[i.jsx(Mu,{className:"h-4 w-4"}),i.jsxs(rx,{children:["配置更新后需要",i.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),i.jsxs(Wt,{className:"h-[calc(100vh-260px)]",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2 mb-4",children:[i.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{placeholder:"搜索提供商名称、URL 或类型...",value:B,onChange:be=>$(be.target.value),className:"pl-9"})]}),B&&i.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",We.length," 个结果"]})]}),i.jsx("div",{className:"md:hidden space-y-3",children:We.length===0?i.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:B?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'}):We.map((be,Ae)=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("h3",{className:"font-semibold text-base truncate",children:be.name}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1 break-all",children:be.base_url})]}),i.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>ge(be,Ae),children:i.jsx(Pu,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>re(Ae),children:i.jsx(It,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"客户端类型"}),i.jsx("p",{className:"font-medium",children:be.client_type})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"最大重试"}),i.jsx("p",{className:"font-medium",children:be.max_retry})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"超时(秒)"}),i.jsx("p",{className:"font-medium",children:be.timeout})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"重试间隔(秒)"}),i.jsx("p",{className:"font-medium",children:be.retry_interval})]})]})]},Ae))}),i.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{className:"w-12",children:i.jsx(io,{checked:H.size===We.length&&We.length>0,onCheckedChange:fe})}),i.jsx(nt,{children:"名称"}),i.jsx(nt,{children:"基础URL"}),i.jsx(nt,{children:"客户端类型"}),i.jsx(nt,{className:"text-right",children:"最大重试"}),i.jsx(nt,{className:"text-right",children:"超时(秒)"}),i.jsx(nt,{className:"text-right",children:"重试间隔(秒)"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:We.length===0?i.jsx(An,{children:i.jsx(Ge,{colSpan:8,className:"text-center text-muted-foreground py-8",children:B?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'})}):We.map((be,Ae)=>{const ke=e.findIndex(Qt=>Qt===be);return i.jsxs(An,{children:[i.jsx(Ge,{children:i.jsx(io,{checked:H.has(ke),onCheckedChange:()=>je(ke)})}),i.jsx(Ge,{className:"font-medium",children:be.name}),i.jsx(Ge,{className:"max-w-xs truncate",title:be.base_url,children:be.base_url}),i.jsx(Ge,{children:be.client_type}),i.jsx(Ge,{className:"text-right",children:be.max_retry}),i.jsx(Ge,{className:"text-right",children:be.timeout}),i.jsx(Ge,{className:"text-right",children:be.retry_interval}),i.jsx(Ge,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>ge(be,ke),children:i.jsx(Pu,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>re(ke),children:i.jsx(It,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})})]},Ae)})})]})})]}),i.jsx(sr,{open:j,onOpenChange:w,children:i.jsxs(Kn,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:E!==null?"编辑提供商":"添加提供商"}),i.jsx(vr,{children:"配置 API 提供商的连接信息和参数"})]}),i.jsxs("div",{className:"grid gap-4 py-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"name",children:"名称 *"}),i.jsx(Ne,{id:"name",value:b?.name||"",onChange:be=>N(Ae=>Ae?{...Ae,name:be.target.value}:null),placeholder:"例如: DeepSeek, SiliconFlow"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"base_url",children:"基础 URL *"}),i.jsx(Ne,{id:"base_url",value:b?.base_url||"",onChange:be=>N(Ae=>Ae?{...Ae,base_url:be.target.value}:null),placeholder:"https://api.example.com/v1"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"api_key",children:"API Key *"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ne,{id:"api_key",type:M?"text":"password",value:b?.api_key||"",onChange:be=>N(Ae=>Ae?{...Ae,api_key:be.target.value}:null),placeholder:"sk-...",className:"flex-1"}),i.jsx(oe,{type:"button",variant:"outline",size:"icon",onClick:()=>R(!M),title:M?"隐藏密钥":"显示密钥",children:M?i.jsx(JN,{className:"h-4 w-4"}):i.jsx(Va,{className:"h-4 w-4"})}),i.jsx(oe,{type:"button",variant:"outline",size:"icon",onClick:ee,title:"复制密钥",children:i.jsx(ZN,{className:"h-4 w-4"})})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"client_type",children:"客户端类型"}),i.jsxs(Dt,{value:b?.client_type||"openai",onValueChange:be=>N(Ae=>Ae?{...Ae,client_type:be}:null),children:[i.jsx(Ot,{id:"client_type",children:i.jsx($t,{placeholder:"选择客户端类型"})}),i.jsxs(Et,{children:[i.jsx(De,{value:"openai",children:"OpenAI"}),i.jsx(De,{value:"gemini",children:"Gemini"})]})]})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_retry",children:"最大重试"}),i.jsx(Ne,{id:"max_retry",type:"number",min:"0",value:b?.max_retry||2,onChange:be=>N(Ae=>Ae?{...Ae,max_retry:parseInt(be.target.value)}:null)})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"timeout",children:"超时(秒)"}),i.jsx(Ne,{id:"timeout",type:"number",min:"1",value:b?.timeout||30,onChange:be=>N(Ae=>Ae?{...Ae,timeout:parseInt(be.target.value)}:null)})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"retry_interval",children:"重试间隔(秒)"}),i.jsx(Ne,{id:"retry_interval",type:"number",min:"1",value:b?.retry_interval||10,onChange:be=>N(Ae=>Ae?{...Ae,retry_interval:parseInt(be.target.value)}:null)})]})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>w(!1),children:"取消"}),i.jsx(oe,{onClick:Se,children:"保存"})]})]})}),i.jsx(bn,{open:A,onOpenChange:C,children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除提供商 "',k!==null?e[k]?.name:"",'" 吗? 此操作无法撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:we,children:"删除"})]})]})}),i.jsx(bn,{open:q,onOpenChange:G,children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认批量删除"}),i.jsxs(hn,{children:["确定要删除选中的 ",H.size," 个提供商吗? 此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:Oe,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),g&&i.jsx(kE,{onRestartComplete:z,onRestartFailed:Y})]})}var ML=1,Hje=.9,Wje=.8,Vje=.17,c_=.1,u_=.999,Gje=.9999,Yje=.99,Kje=/[\\\/_+.#"@\[\(\{&]/,Xje=/[\\\/_+.#"@\[\(\{&]/g,Zje=/[\s-]/,pH=/[\s-]/g;function gC(e,t,n,r,a,s,l){if(s===t.length)return a===e.length?ML:Yje;var u=`${a},${s}`;if(l[u]!==void 0)return l[u];for(var d=r.charAt(s),f=n.indexOf(d,a),m=0,p,g,x,j;f>=0;)p=gC(e,t,n,r,f+1,s+1,l),p>m&&(f===a?p*=ML:Kje.test(e.charAt(f-1))?(p*=Wje,x=e.slice(a,f-1).match(Xje),x&&a>0&&(p*=Math.pow(u_,x.length))):Zje.test(e.charAt(f-1))?(p*=Hje,j=e.slice(a,f-1).match(pH),j&&a>0&&(p*=Math.pow(u_,j.length))):(p*=Vje,a>0&&(p*=Math.pow(u_,f-a))),e.charAt(f)!==t.charAt(s)&&(p*=Gje)),(pp&&(p=g*c_)),p>m&&(m=p),f=n.indexOf(d,f+1);return l[u]=m,m}function PL(e){return e.toLowerCase().replace(pH," ")}function Qje(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,gC(e,t,PL(e),PL(t),0,0,{})}var Jje=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],go=Jje.reduce((e,t)=>{const n=Dh(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),ff='[cmdk-group=""]',d_='[cmdk-group-items=""]',e1e='[cmdk-group-heading=""]',vH='[cmdk-item=""]',RL=`${vH}:not([aria-disabled="true"])`,yC="cmdk-item-select",Ic="data-value",t1e=(e,t,n)=>Qje(e,t,n),gH=y.createContext(void 0),tm=()=>y.useContext(gH),yH=y.createContext(void 0),RE=()=>y.useContext(yH),xH=y.createContext(void 0),bH=y.forwardRef((e,t)=>{let n=Lc(()=>{var z,Y;return{search:"",value:(Y=(z=e.value)!=null?z:e.defaultValue)!=null?Y:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=Lc(()=>new Set),a=Lc(()=>new Map),s=Lc(()=>new Map),l=Lc(()=>new Set),u=wH(e),{label:d,children:f,value:m,onValueChange:p,filter:g,shouldFilter:x,loop:j,disablePointerSelection:w=!1,vimBindings:b=!0,...N}=e,E=Gn(),O=Gn(),A=Gn(),C=y.useRef(null),k=f1e();jl(()=>{if(m!==void 0){let z=m.trim();n.current.value=z,T.emit()}},[m]),jl(()=>{k(6,V)},[]);let T=y.useMemo(()=>({subscribe:z=>(l.current.add(z),()=>l.current.delete(z)),snapshot:()=>n.current,setState:(z,Y,te)=>{var ae,ge,ee,Se;if(!Object.is(n.current[z],Y)){if(n.current[z]=Y,z==="search")H(),B(),k(1,$);else if(z==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let re=document.getElementById(A);re?re.focus():(ae=document.getElementById(E))==null||ae.focus()}if(k(7,()=>{var re;n.current.selectedItemId=(re=q())==null?void 0:re.id,T.emit()}),te||k(5,V),((ge=u.current)==null?void 0:ge.value)!==void 0){let re=Y??"";(Se=(ee=u.current).onValueChange)==null||Se.call(ee,re);return}}T.emit()}},emit:()=>{l.current.forEach(z=>z())}}),[]),M=y.useMemo(()=>({value:(z,Y,te)=>{var ae;Y!==((ae=s.current.get(z))==null?void 0:ae.value)&&(s.current.set(z,{value:Y,keywords:te}),n.current.filtered.items.set(z,R(Y,te)),k(2,()=>{B(),T.emit()}))},item:(z,Y)=>(r.current.add(z),Y&&(a.current.has(Y)?a.current.get(Y).add(z):a.current.set(Y,new Set([z]))),k(3,()=>{H(),B(),n.current.value||$(),T.emit()}),()=>{s.current.delete(z),r.current.delete(z),n.current.filtered.items.delete(z);let te=q();k(4,()=>{H(),te?.getAttribute("id")===z&&$(),T.emit()})}),group:z=>(a.current.has(z)||a.current.set(z,new Set),()=>{s.current.delete(z),a.current.delete(z)}),filter:()=>u.current.shouldFilter,label:d||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:E,inputId:A,labelId:O,listInnerRef:C}),[]);function R(z,Y){var te,ae;let ge=(ae=(te=u.current)==null?void 0:te.filter)!=null?ae:t1e;return z?ge(z,n.current.search,Y):0}function B(){if(!n.current.search||u.current.shouldFilter===!1)return;let z=n.current.filtered.items,Y=[];n.current.filtered.groups.forEach(ae=>{let ge=a.current.get(ae),ee=0;ge.forEach(Se=>{let re=z.get(Se);ee=Math.max(re,ee)}),Y.push([ae,ee])});let te=C.current;G().sort((ae,ge)=>{var ee,Se;let re=ae.getAttribute("id"),we=ge.getAttribute("id");return((ee=z.get(we))!=null?ee:0)-((Se=z.get(re))!=null?Se:0)}).forEach(ae=>{let ge=ae.closest(d_);ge?ge.appendChild(ae.parentElement===ge?ae:ae.closest(`${d_} > *`)):te.appendChild(ae.parentElement===te?ae:ae.closest(`${d_} > *`))}),Y.sort((ae,ge)=>ge[1]-ae[1]).forEach(ae=>{var ge;let ee=(ge=C.current)==null?void 0:ge.querySelector(`${ff}[${Ic}="${encodeURIComponent(ae[0])}"]`);ee?.parentElement.appendChild(ee)})}function $(){let z=G().find(te=>te.getAttribute("aria-disabled")!=="true"),Y=z?.getAttribute(Ic);T.setState("value",Y||void 0)}function H(){var z,Y,te,ae;if(!n.current.search||u.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let ge=0;for(let ee of r.current){let Se=(Y=(z=s.current.get(ee))==null?void 0:z.value)!=null?Y:"",re=(ae=(te=s.current.get(ee))==null?void 0:te.keywords)!=null?ae:[],we=R(Se,re);n.current.filtered.items.set(ee,we),we>0&&ge++}for(let[ee,Se]of a.current)for(let re of Se)if(n.current.filtered.items.get(re)>0){n.current.filtered.groups.add(ee);break}n.current.filtered.count=ge}function V(){var z,Y,te;let ae=q();ae&&(((z=ae.parentElement)==null?void 0:z.firstChild)===ae&&((te=(Y=ae.closest(ff))==null?void 0:Y.querySelector(e1e))==null||te.scrollIntoView({block:"nearest"})),ae.scrollIntoView({block:"nearest"}))}function q(){var z;return(z=C.current)==null?void 0:z.querySelector(`${vH}[aria-selected="true"]`)}function G(){var z;return Array.from(((z=C.current)==null?void 0:z.querySelectorAll(RL))||[])}function L(z){let Y=G()[z];Y&&T.setState("value",Y.getAttribute(Ic))}function D(z){var Y;let te=q(),ae=G(),ge=ae.findIndex(Se=>Se===te),ee=ae[ge+z];(Y=u.current)!=null&&Y.loop&&(ee=ge+z<0?ae[ae.length-1]:ge+z===ae.length?ae[0]:ae[ge+z]),ee&&T.setState("value",ee.getAttribute(Ic))}function U(z){let Y=q(),te=Y?.closest(ff),ae;for(;te&&!ae;)te=z>0?u1e(te,ff):d1e(te,ff),ae=te?.querySelector(RL);ae?T.setState("value",ae.getAttribute(Ic)):D(z)}let K=()=>L(G().length-1),J=z=>{z.preventDefault(),z.metaKey?K():z.altKey?U(1):D(1)},I=z=>{z.preventDefault(),z.metaKey?L(0):z.altKey?U(-1):D(-1)};return y.createElement(go.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:z=>{var Y;(Y=N.onKeyDown)==null||Y.call(N,z);let te=z.nativeEvent.isComposing||z.keyCode===229;if(!(z.defaultPrevented||te))switch(z.key){case"n":case"j":{b&&z.ctrlKey&&J(z);break}case"ArrowDown":{J(z);break}case"p":case"k":{b&&z.ctrlKey&&I(z);break}case"ArrowUp":{I(z);break}case"Home":{z.preventDefault(),L(0);break}case"End":{z.preventDefault(),K();break}case"Enter":{z.preventDefault();let ae=q();if(ae){let ge=new Event(yC);ae.dispatchEvent(ge)}}}}},y.createElement("label",{"cmdk-label":"",htmlFor:M.inputId,id:M.labelId,style:m1e},d),ix(e,z=>y.createElement(yH.Provider,{value:T},y.createElement(gH.Provider,{value:M},z))))}),n1e=y.forwardRef((e,t)=>{var n,r;let a=Gn(),s=y.useRef(null),l=y.useContext(xH),u=tm(),d=wH(e),f=(r=(n=d.current)==null?void 0:n.forceMount)!=null?r:l?.forceMount;jl(()=>{if(!f)return u.item(a,l?.id)},[f]);let m=jH(a,s,[e.value,e.children,s],e.keywords),p=RE(),g=so(k=>k.value&&k.value===m.current),x=so(k=>f||u.filter()===!1?!0:k.search?k.filtered.items.get(a)>0:!0);y.useEffect(()=>{let k=s.current;if(!(!k||e.disabled))return k.addEventListener(yC,j),()=>k.removeEventListener(yC,j)},[x,e.onSelect,e.disabled]);function j(){var k,T;w(),(T=(k=d.current).onSelect)==null||T.call(k,m.current)}function w(){p.setState("value",m.current,!0)}if(!x)return null;let{disabled:b,value:N,onSelect:E,forceMount:O,keywords:A,...C}=e;return y.createElement(go.div,{ref:Ir(s,t),...C,id:a,"cmdk-item":"",role:"option","aria-disabled":!!b,"aria-selected":!!g,"data-disabled":!!b,"data-selected":!!g,onPointerMove:b||u.getDisablePointerSelection()?void 0:w,onClick:b?void 0:j},e.children)}),r1e=y.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:a,...s}=e,l=Gn(),u=y.useRef(null),d=y.useRef(null),f=Gn(),m=tm(),p=so(x=>a||m.filter()===!1?!0:x.search?x.filtered.groups.has(l):!0);jl(()=>m.group(l),[]),jH(l,u,[e.value,e.heading,d]);let g=y.useMemo(()=>({id:l,forceMount:a}),[a]);return y.createElement(go.div,{ref:Ir(u,t),...s,"cmdk-group":"",role:"presentation",hidden:p?void 0:!0},n&&y.createElement("div",{ref:d,"cmdk-group-heading":"","aria-hidden":!0,id:f},n),ix(e,x=>y.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?f:void 0},y.createElement(xH.Provider,{value:g},x))))}),a1e=y.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,a=y.useRef(null),s=so(l=>!l.search);return!n&&!s?null:y.createElement(go.div,{ref:Ir(a,t),...r,"cmdk-separator":"",role:"separator"})}),i1e=y.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,a=e.value!=null,s=RE(),l=so(f=>f.search),u=so(f=>f.selectedItemId),d=tm();return y.useEffect(()=>{e.value!=null&&s.setState("search",e.value)},[e.value]),y.createElement(go.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":d.listId,"aria-labelledby":d.labelId,"aria-activedescendant":u,id:d.inputId,type:"text",value:a?e.value:l,onChange:f=>{a||s.setState("search",f.target.value),n?.(f.target.value)}})}),s1e=y.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...a}=e,s=y.useRef(null),l=y.useRef(null),u=so(f=>f.selectedItemId),d=tm();return y.useEffect(()=>{if(l.current&&s.current){let f=l.current,m=s.current,p,g=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let x=f.offsetHeight;m.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return g.observe(f),()=>{cancelAnimationFrame(p),g.unobserve(f)}}},[]),y.createElement(go.div,{ref:Ir(s,t),...a,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":u,"aria-label":r,id:d.listId},ix(e,f=>y.createElement("div",{ref:Ir(l,d.listInnerRef),"cmdk-list-sizer":""},f)))}),o1e=y.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:a,contentClassName:s,container:l,...u}=e;return y.createElement(hE,{open:n,onOpenChange:r},y.createElement(mE,{container:l},y.createElement(Fy,{"cmdk-overlay":"",className:a}),y.createElement(Uy,{"aria-label":e.label,"cmdk-dialog":"",className:s},y.createElement(bH,{ref:t,...u}))))}),l1e=y.forwardRef((e,t)=>so(n=>n.filtered.count===0)?y.createElement(go.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),c1e=y.forwardRef((e,t)=>{let{progress:n,children:r,label:a="Loading...",...s}=e;return y.createElement(go.div,{ref:t,...s,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},ix(e,l=>y.createElement("div",{"aria-hidden":!0},l)))}),Fr=Object.assign(bH,{List:s1e,Item:n1e,Input:i1e,Group:r1e,Separator:a1e,Dialog:o1e,Empty:l1e,Loading:c1e});function u1e(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function d1e(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function wH(e){let t=y.useRef(e);return jl(()=>{t.current=e}),t}var jl=typeof window>"u"?y.useEffect:y.useLayoutEffect;function Lc(e){let t=y.useRef();return t.current===void 0&&(t.current=e()),t}function so(e){let t=RE(),n=()=>e(t.snapshot());return y.useSyncExternalStore(t.subscribe,n,n)}function jH(e,t,n,r=[]){let a=y.useRef(),s=tm();return jl(()=>{var l;let u=(()=>{var f;for(let m of n){if(typeof m=="string")return m.trim();if(typeof m=="object"&&"current"in m)return m.current?(f=m.current.textContent)==null?void 0:f.trim():a.current}})(),d=r.map(f=>f.trim());s.value(e,u,d),(l=t.current)==null||l.setAttribute(Ic,u),a.current=u}),a}var f1e=()=>{let[e,t]=y.useState(),n=Lc(()=>new Map);return jl(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,a)=>{n.current.set(r,a),t({})}};function h1e(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function ix({asChild:e,children:t},n){return e&&y.isValidElement(t)?y.cloneElement(h1e(t),{ref:t.ref},n(t.props.children)):n(t)}var m1e={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const SH=y.forwardRef(({className:e,...t},n)=>i.jsx(Fr,{ref:n,className:ce("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));SH.displayName=Fr.displayName;const _H=y.forwardRef(({className:e,...t},n)=>i.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[i.jsx(Lr,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),i.jsx(Fr.Input,{ref:n,className:ce("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));_H.displayName=Fr.Input.displayName;const NH=y.forwardRef(({className:e,...t},n)=>i.jsx(Fr.List,{ref:n,className:ce("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));NH.displayName=Fr.List.displayName;const CH=y.forwardRef((e,t)=>i.jsx(Fr.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));CH.displayName=Fr.Empty.displayName;const OH=y.forwardRef(({className:e,...t},n)=>i.jsx(Fr.Group,{ref:n,className:ce("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));OH.displayName=Fr.Group.displayName;const p1e=y.forwardRef(({className:e,...t},n)=>i.jsx(Fr.Separator,{ref:n,className:ce("-mx-1 h-px bg-border",e),...t}));p1e.displayName=Fr.Separator.displayName;const EH=y.forwardRef(({className:e,...t},n)=>i.jsx(Fr.Item,{ref:n,className:ce("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));EH.displayName=Fr.Item.displayName;function v1e({options:e,selected:t,onChange:n,placeholder:r="选择选项...",emptyText:a="未找到选项",className:s}){const[l,u]=y.useState(!1),d=m=>{t.includes(m)?n(t.filter(p=>p!==m)):n([...t,m])},f=m=>{n(t.filter(p=>p!==m))};return i.jsxs(ro,{open:l,onOpenChange:u,children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",role:"combobox","aria-expanded":l,className:ce("w-full justify-between min-h-10 h-auto",s),children:[i.jsx("div",{className:"flex gap-1 flex-wrap flex-1",children:t.length===0?i.jsx("span",{className:"text-muted-foreground",children:r}):t.map(m=>{const p=e.find(g=>g.value===m);return i.jsxs(Ft,{variant:"secondary",className:"cursor-pointer hover:bg-secondary/80",onClick:g=>{g.stopPropagation(),f(m)},children:[p?.label||m,i.jsx(Yh,{className:"ml-1 h-3 w-3",strokeWidth:2,fill:"none"})]},m)})}),i.jsx(Dve,{className:"ml-2 h-4 w-4 shrink-0 opacity-50",strokeWidth:2,fill:"none"})]})}),i.jsx(ds,{className:"w-full p-0",align:"start",children:i.jsxs(SH,{children:[i.jsx(_H,{placeholder:"搜索...",className:"h-9"}),i.jsxs(NH,{children:[i.jsx(CH,{children:a}),i.jsx(OH,{children:e.map(m=>{const p=t.includes(m.value);return i.jsxs(EH,{value:m.value,onSelect:()=>d(m.value),children:[i.jsx("div",{className:ce("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",p?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:i.jsx(ol,{className:"h-3 w-3",strokeWidth:2,fill:"none"})}),i.jsx("span",{children:m.label})]},m.value)})})]})]})})]})}function g1e(){const[e,t]=y.useState([]),[n,r]=y.useState([]),[a,s]=y.useState([]),[l,u]=y.useState(null),[d,f]=y.useState(!0),[m,p]=y.useState(!1),[g,x]=y.useState(!1),[j,w]=y.useState(!1),[b,N]=y.useState(!1),[E,O]=y.useState(!1),[A,C]=y.useState(!1),[k,T]=y.useState(null),[M,R]=y.useState(null),[B,$]=y.useState(!1),[H,V]=y.useState(null),[q,G]=y.useState(""),[L,D]=y.useState(new Set),[U,K]=y.useState(!1),{toast:J}=yr(),I=y.useRef(null),z=y.useRef(null),Y=y.useRef(!0);y.useEffect(()=>{te()},[]);const te=async()=>{try{f(!0);const le=await Jc(),ue=le.models||[];t(ue),s(ue.map(Mn=>Mn.name));const Ve=le.api_providers||[];r(Ve.map(Mn=>Mn.name)),u(le.model_task_config||null),w(!1),Y.current=!1}catch(le){console.error("加载配置失败:",le)}finally{f(!1)}},ae=async()=>{try{N(!0),TE().catch(()=>{}),O(!0)}catch(le){console.error("重启失败:",le),O(!1),J({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),N(!1)}},ge=async()=>{try{p(!0),I.current&&clearTimeout(I.current),z.current&&clearTimeout(z.current);const le=await Jc();le.models=e,le.model_task_config=l,await Ig(le),w(!1),J({title:"保存成功",description:"正在重启麦麦..."}),await ae()}catch(le){console.error("保存配置失败:",le),J({title:"保存失败",description:le.message,variant:"destructive"}),p(!1)}},ee=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},Se=()=>{O(!1),N(!1),J({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},re=y.useCallback(async le=>{if(!Y.current)try{x(!0),await vC("models",le),w(!1)}catch(ue){console.error("自动保存模型列表失败:",ue),w(!0)}finally{x(!1)}},[]),we=y.useCallback(async le=>{if(!Y.current)try{x(!0),await vC("model_task_config",le),w(!1)}catch(ue){console.error("自动保存任务配置失败:",ue),w(!0)}finally{x(!1)}},[]);y.useEffect(()=>{if(!Y.current)return w(!0),I.current&&clearTimeout(I.current),I.current=setTimeout(()=>{re(e)},2e3),()=>{I.current&&clearTimeout(I.current)}},[e,re]),y.useEffect(()=>{if(!(Y.current||!l))return w(!0),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{we(l)},2e3),()=>{z.current&&clearTimeout(z.current)}},[l,we]);const je=async()=>{try{p(!0),I.current&&clearTimeout(I.current),z.current&&clearTimeout(z.current);const le=await Jc();le.models=e,le.model_task_config=l,await Ig(le),w(!1),J({title:"保存成功",description:"模型配置已保存"}),await te()}catch(le){console.error("保存配置失败:",le),J({title:"保存失败",description:le.message,variant:"destructive"})}finally{p(!1)}},fe=(le,ue)=>{T(le||{model_identifier:"",name:"",api_provider:n[0]||"",price_in:0,price_out:0,force_stream_mode:!1,extra_params:{}}),R(ue),C(!0)},Le=()=>{if(!k)return;let le;M!==null?(le=[...e],le[M]=k):le=[...e,k],t(le),s(le.map(ue=>ue.name)),C(!1),T(null),R(null)},Oe=le=>{V(le),$(!0)},We=()=>{if(H!==null){const le=e.filter((ue,Ve)=>Ve!==H);t(le),s(le.map(ue=>ue.name)),J({title:"删除成功",description:"模型已从列表中移除"})}$(!1),V(null)},be=le=>{const ue=new Set(L);ue.has(le)?ue.delete(le):ue.add(le),D(ue)},Ae=()=>{if(L.size===Tt.length)D(new Set);else{const le=Tt.map((ue,Ve)=>e.findIndex(Mn=>Mn===Tt[Ve]));D(new Set(le))}},ke=()=>{if(L.size===0){J({title:"提示",description:"请先选择要删除的模型",variant:"default"});return}K(!0)},Qt=()=>{const le=e.filter((ue,Ve)=>!L.has(Ve));t(le),s(le.map(ue=>ue.name)),D(new Set),K(!1),J({title:"批量删除成功",description:`已删除 ${L.size} 个模型`})},St=(le,ue,Ve)=>{l&&u({...l,[le]:{...l[le],[ue]:Ve}})},Tt=e.filter(le=>{if(!q)return!0;const ue=q.toLowerCase();return le.name.toLowerCase().includes(ue)||le.model_identifier.toLowerCase().includes(ue)||le.api_provider.toLowerCase().includes(ue)}),Sn=le=>l?[l.utils?.model_list||[],l.utils_small?.model_list||[],l.tool_use?.model_list||[],l.replyer?.model_list||[],l.planner?.model_list||[],l.vlm?.model_list||[],l.voice?.model_list||[],l.embedding?.model_list||[],l.lpmm_entity_extract?.model_list||[],l.lpmm_rdf_build?.model_list||[],l.lpmm_qa?.model_list||[]].some(Ve=>Ve.includes(le)):!1;return d?i.jsx(Wt,{className:"h-full",children:i.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:i.jsx("div",{className:"flex items-center justify-center h-64",children:i.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理模型和任务配置"})]}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[i.jsxs(oe,{onClick:je,disabled:m||g||!j||b,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[i.jsx(iE,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),m?"保存中...":g?"自动保存中...":j?"保存配置":"已保存"]}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{disabled:m||g||b,size:"sm",className:"flex-1 sm:flex-none",children:[i.jsx(aE,{className:"mr-2 h-4 w-4"}),b?"重启中...":j?"保存并重启":"重启麦麦"]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认重启麦麦?"}),i.jsx(hn,{children:j?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:j?ge:ae,children:j?"保存并重启":"确认重启"})]})]})]})]})]}),i.jsxs(nx,{children:[i.jsx(Mu,{className:"h-4 w-4"}),i.jsxs(rx,{children:["配置更新后需要",i.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),i.jsxs(dl,{defaultValue:"models",className:"w-full",children:[i.jsxs(eo,{className:"grid w-full max-w-full sm:max-w-md grid-cols-2",children:[i.jsx(Rt,{value:"models",children:"模型配置"}),i.jsx(Rt,{value:"tasks",children:"模型任务配置"})]}),i.jsxs(sn,{value:"models",className:"space-y-4 mt-0",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-2",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"配置可用的模型列表"}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[L.size>0&&i.jsxs(oe,{onClick:ke,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[i.jsx(It,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",L.size,")"]}),i.jsxs(oe,{onClick:()=>fe(null,null),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[i.jsx(ir,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加模型"]})]})]}),i.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2",children:[i.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{placeholder:"搜索模型名称、标识符或提供商...",value:q,onChange:le=>G(le.target.value),className:"pl-9"})]}),q&&i.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",Tt.length," 个结果"]})]}),i.jsx("div",{className:"md:hidden space-y-3",children:Tt.length===0?i.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:q?"未找到匹配的模型":"暂无模型配置"}):Tt.map((le,ue)=>{const Ve=Sn(le.name);return i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[i.jsx("h3",{className:"font-semibold text-base",children:le.name}),i.jsx(Ft,{variant:Ve?"default":"secondary",className:Ve?"bg-green-600 hover:bg-green-700":"",children:Ve?"已使用":"未使用"})]}),i.jsx("p",{className:"text-xs text-muted-foreground break-all",title:le.model_identifier,children:le.model_identifier})]}),i.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>fe(le,ue),children:i.jsx(Pu,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>Oe(ue),children:i.jsx(It,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"提供商"}),i.jsx("p",{className:"font-medium",children:le.api_provider})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"强制流式"}),i.jsx("p",{className:"font-medium",children:le.force_stream_mode?"是":"否"})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"输入价格"}),i.jsxs("p",{className:"font-medium",children:["¥",le.price_in,"/M"]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"输出价格"}),i.jsxs("p",{className:"font-medium",children:["¥",le.price_out,"/M"]})]})]})]},ue)})}),i.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{className:"w-12",children:i.jsx(io,{checked:L.size===Tt.length&&Tt.length>0,onCheckedChange:Ae})}),i.jsx(nt,{className:"w-24",children:"使用状态"}),i.jsx(nt,{children:"模型名称"}),i.jsx(nt,{children:"模型标识符"}),i.jsx(nt,{children:"提供商"}),i.jsx(nt,{className:"text-right",children:"输入价格"}),i.jsx(nt,{className:"text-right",children:"输出价格"}),i.jsx(nt,{className:"text-center",children:"强制流式"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:Tt.length===0?i.jsx(An,{children:i.jsx(Ge,{colSpan:9,className:"text-center text-muted-foreground py-8",children:q?"未找到匹配的模型":"暂无模型配置"})}):Tt.map((le,ue)=>{const Ve=e.findIndex($l=>$l===le),Mn=Sn(le.name);return i.jsxs(An,{children:[i.jsx(Ge,{children:i.jsx(io,{checked:L.has(Ve),onCheckedChange:()=>be(Ve)})}),i.jsx(Ge,{children:i.jsx(Ft,{variant:Mn?"default":"secondary",className:Mn?"bg-green-600 hover:bg-green-700":"",children:Mn?"已使用":"未使用"})}),i.jsx(Ge,{className:"font-medium",children:le.name}),i.jsx(Ge,{className:"max-w-xs truncate",title:le.model_identifier,children:le.model_identifier}),i.jsx(Ge,{children:le.api_provider}),i.jsxs(Ge,{className:"text-right",children:["¥",le.price_in,"/M"]}),i.jsxs(Ge,{className:"text-right",children:["¥",le.price_out,"/M"]}),i.jsx(Ge,{className:"text-center",children:le.force_stream_mode?"是":"否"}),i.jsx(Ge,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>fe(le,Ve),children:i.jsx(Pu,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>Oe(Ve),children:i.jsx(It,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})})]},ue)})})]})})]}),i.jsxs(sn,{value:"tasks",className:"space-y-6 mt-0",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"为不同的任务配置使用的模型和参数"}),l&&i.jsxs("div",{className:"grid gap-4 sm:gap-6",children:[i.jsx($a,{title:"组件模型 (utils)",description:"用于表情包、取名、关系、情绪变化等组件",taskConfig:l.utils,modelNames:a,onChange:(le,ue)=>St("utils",le,ue)}),i.jsx($a,{title:"组件小模型 (utils_small)",description:"消耗量较大的组件,建议使用速度较快的小模型",taskConfig:l.utils_small,modelNames:a,onChange:(le,ue)=>St("utils_small",le,ue)}),i.jsx($a,{title:"工具调用模型 (tool_use)",description:"需要使用支持工具调用的模型",taskConfig:l.tool_use,modelNames:a,onChange:(le,ue)=>St("tool_use",le,ue)}),i.jsx($a,{title:"首要回复模型 (replyer)",description:"用于表达器和表达方式学习",taskConfig:l.replyer,modelNames:a,onChange:(le,ue)=>St("replyer",le,ue)}),i.jsx($a,{title:"决策模型 (planner)",description:"负责决定麦麦该什么时候回复",taskConfig:l.planner,modelNames:a,onChange:(le,ue)=>St("planner",le,ue)}),i.jsx($a,{title:"图像识别模型 (vlm)",description:"视觉语言模型",taskConfig:l.vlm,modelNames:a,onChange:(le,ue)=>St("vlm",le,ue),hideTemperature:!0}),i.jsx($a,{title:"语音识别模型 (voice)",description:"语音转文字",taskConfig:l.voice,modelNames:a,onChange:(le,ue)=>St("voice",le,ue),hideTemperature:!0,hideMaxTokens:!0}),i.jsx($a,{title:"嵌入模型 (embedding)",description:"用于向量化",taskConfig:l.embedding,modelNames:a,onChange:(le,ue)=>St("embedding",le,ue),hideTemperature:!0,hideMaxTokens:!0}),i.jsxs("div",{className:"space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库模型"}),i.jsx($a,{title:"实体提取模型 (lpmm_entity_extract)",description:"从文本中提取实体",taskConfig:l.lpmm_entity_extract,modelNames:a,onChange:(le,ue)=>St("lpmm_entity_extract",le,ue)}),i.jsx($a,{title:"RDF 构建模型 (lpmm_rdf_build)",description:"构建知识图谱",taskConfig:l.lpmm_rdf_build,modelNames:a,onChange:(le,ue)=>St("lpmm_rdf_build",le,ue)}),i.jsx($a,{title:"问答模型 (lpmm_qa)",description:"知识库问答",taskConfig:l.lpmm_qa,modelNames:a,onChange:(le,ue)=>St("lpmm_qa",le,ue)})]})]})]})]}),i.jsx(sr,{open:A,onOpenChange:C,children:i.jsxs(Kn,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:M!==null?"编辑模型":"添加模型"}),i.jsx(vr,{children:"配置模型的基本信息和参数"})]}),i.jsxs("div",{className:"grid gap-4 py-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"model_name",children:"模型名称 *"}),i.jsx(Ne,{id:"model_name",value:k?.name||"",onChange:le=>T(ue=>ue?{...ue,name:le.target.value}:null),placeholder:"例如: qwen3-30b"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"用于在任务配置中引用此模型"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"model_identifier",children:"模型标识符 *"}),i.jsx(Ne,{id:"model_identifier",value:k?.model_identifier||"",onChange:le=>T(ue=>ue?{...ue,model_identifier:le.target.value}:null),placeholder:"Qwen/Qwen3-30B-A3B-Instruct-2507"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"API 提供商提供的模型 ID"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"api_provider",children:"API 提供商 *"}),i.jsxs(Dt,{value:k?.api_provider||"",onValueChange:le=>T(ue=>ue?{...ue,api_provider:le}:null),children:[i.jsx(Ot,{id:"api_provider",children:i.jsx($t,{placeholder:"选择提供商"})}),i.jsx(Et,{children:n.map(le=>i.jsx(De,{value:le,children:le},le))})]})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"price_in",children:"输入价格 (¥/M token)"}),i.jsx(Ne,{id:"price_in",type:"number",step:"0.1",min:"0",value:k?.price_in||0,onChange:le=>T(ue=>ue?{...ue,price_in:parseFloat(le.target.value)}:null)})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"price_out",children:"输出价格 (¥/M token)"}),i.jsx(Ne,{id:"price_out",type:"number",step:"0.1",min:"0",value:k?.price_out||0,onChange:le=>T(ue=>ue?{...ue,price_out:parseFloat(le.target.value)}:null)})]})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"force_stream_mode",checked:k?.force_stream_mode||!1,onCheckedChange:le=>T(ue=>ue?{...ue,force_stream_mode:le}:null)}),i.jsx(Q,{htmlFor:"force_stream_mode",className:"cursor-pointer",children:"强制流式输出模式"})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>C(!1),children:"取消"}),i.jsx(oe,{onClick:Le,children:"保存"})]})]})}),i.jsx(bn,{open:B,onOpenChange:$,children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除模型 "',H!==null?e[H]?.name:"",'" 吗? 此操作无法撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:We,children:"删除"})]})]})}),i.jsx(bn,{open:U,onOpenChange:K,children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认批量删除"}),i.jsxs(hn,{children:["确定要删除选中的 ",L.size," 个模型吗? 此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:Qt,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),E&&i.jsx(kE,{onRestartComplete:ee,onRestartFailed:Se})]})})}function $a({title:e,description:t,taskConfig:n,modelNames:r,onChange:a,hideTemperature:s=!1,hideMaxTokens:l=!1}){const u=d=>{a("model_list",d)};return i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"font-semibold text-base sm:text-lg",children:e}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:t})]}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"模型列表"}),i.jsx(v1e,{options:r.map(d=>({label:d,value:d})),selected:n.model_list||[],onChange:u,placeholder:"选择模型...",emptyText:"暂无可用模型"})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[!s&&i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"温度"}),i.jsx(Ne,{type:"number",step:"0.1",min:"0",max:"2",value:n.temperature||.3,onChange:d=>a("temperature",parseFloat(d.target.value))})]}),!l&&i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"最大 Token"}),i.jsx(Ne,{type:"number",step:"1",min:"1",value:n.max_tokens||1024,onChange:d=>a("max_tokens",parseInt(d.target.value))})]})]})]})]})}const yo="/api/webui/emoji";async function y1e(e){const t=new URLSearchParams;e.page&&t.append("page",e.page.toString()),e.page_size&&t.append("page_size",e.page_size.toString()),e.search&&t.append("search",e.search),e.is_registered!==void 0&&t.append("is_registered",e.is_registered.toString()),e.is_banned!==void 0&&t.append("is_banned",e.is_banned.toString()),e.format&&t.append("format",e.format),e.sort_by&&t.append("sort_by",e.sort_by),e.sort_order&&t.append("sort_order",e.sort_order);const n=await rt(`${yo}/list?${t}`,{headers:dt()});if(!n.ok)throw new Error(`获取表情包列表失败: ${n.statusText}`);return n.json()}async function x1e(e){const t=await rt(`${yo}/${e}`,{headers:dt()});if(!t.ok)throw new Error(`获取表情包详情失败: ${t.statusText}`);return t.json()}async function b1e(e,t){const n=await rt(`${yo}/${e}`,{method:"PATCH",headers:dt(),body:JSON.stringify(t)});if(!n.ok)throw new Error(`更新表情包失败: ${n.statusText}`);return n.json()}async function w1e(e){const t=await rt(`${yo}/${e}`,{method:"DELETE",headers:dt()});if(!t.ok)throw new Error(`删除表情包失败: ${t.statusText}`);return t.json()}async function j1e(){const e=await rt(`${yo}/stats/summary`,{headers:dt()});if(!e.ok)throw new Error(`获取统计数据失败: ${e.statusText}`);return e.json()}async function S1e(e){const t=await rt(`${yo}/${e}/register`,{method:"POST",headers:dt()});if(!t.ok)throw new Error(`注册表情包失败: ${t.statusText}`);return t.json()}async function _1e(e){const t=await rt(`${yo}/${e}/ban`,{method:"POST",headers:dt()});if(!t.ok)throw new Error(`封禁表情包失败: ${t.statusText}`);return t.json()}function xC(e){const t=localStorage.getItem("access-token");return`${yo}/${e}/thumbnail?token=${encodeURIComponent(t||"")}`}function N1e(){const[e,t]=y.useState([]),[n,r]=y.useState(null),[a,s]=y.useState(!1),[l,u]=y.useState(1),[d,f]=y.useState(0),[m]=y.useState(20),[p,g]=y.useState(""),[x,j]=y.useState("all"),[w,b]=y.useState("all"),[N,E]=y.useState("all"),[O,A]=y.useState(null),[C,k]=y.useState(!1),[T,M]=y.useState(!1),[R,B]=y.useState(!1),{toast:$}=yr(),H=y.useCallback(async()=>{try{s(!0);const I=await y1e({page:l,page_size:m,search:p||void 0,is_registered:x==="all"?void 0:x==="registered",is_banned:w==="all"?void 0:w==="banned",format:N==="all"?void 0:N,sort_by:"usage_count",sort_order:"desc"});t(I.data),f(I.total)}catch(I){const z=I instanceof Error?I.message:"加载表情包列表失败";$({title:"错误",description:z,variant:"destructive"})}finally{s(!1)}},[l,m,p,x,w,N,$]),V=async()=>{try{const I=await j1e();r(I.data)}catch(I){console.error("加载统计数据失败:",I)}};y.useEffect(()=>{H()},[H]),y.useEffect(()=>{V()},[]);const q=async I=>{try{const z=await x1e(I.id);A(z.data),k(!0)}catch(z){const Y=z instanceof Error?z.message:"加载详情失败";$({title:"错误",description:Y,variant:"destructive"})}},G=I=>{A(I),M(!0)},L=I=>{A(I),B(!0)},D=async()=>{if(O)try{await w1e(O.id),$({title:"成功",description:"表情包已删除"}),B(!1),A(null),H(),V()}catch(I){const z=I instanceof Error?I.message:"删除失败";$({title:"错误",description:z,variant:"destructive"})}},U=async I=>{try{await S1e(I.id),$({title:"成功",description:"表情包已注册"}),H(),V()}catch(z){const Y=z instanceof Error?z.message:"注册失败";$({title:"错误",description:Y,variant:"destructive"})}},K=async I=>{try{await _1e(I.id),$({title:"成功",description:"表情包已封禁"}),H(),V()}catch(z){const Y=z instanceof Error?z.message:"封禁失败";$({title:"错误",description:Y,variant:"destructive"})}},J=n?.formats?Object.keys(n.formats):[];return i.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[i.jsxs("div",{className:"mb-4 sm:mb-6",children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"表情包管理"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理麦麦的表情包资源"})]}),i.jsx(Wt,{className:"flex-1",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[n&&i.jsxs("div",{className:"grid gap-4 grid-cols-2 lg:grid-cols-4",children:[i.jsx(Xe,{children:i.jsxs(pt,{className:"pb-2",children:[i.jsx(Wn,{children:"总数"}),i.jsx(vt,{className:"text-2xl",children:n.total})]})}),i.jsx(Xe,{children:i.jsxs(pt,{className:"pb-2",children:[i.jsx(Wn,{children:"已注册"}),i.jsx(vt,{className:"text-2xl text-green-600",children:n.registered})]})}),i.jsx(Xe,{children:i.jsxs(pt,{className:"pb-2",children:[i.jsx(Wn,{children:"已封禁"}),i.jsx(vt,{className:"text-2xl text-red-600",children:n.banned})]})}),i.jsx(Xe,{children:i.jsxs(pt,{className:"pb-2",children:[i.jsx(Wn,{children:"未注册"}),i.jsx(vt,{className:"text-2xl text-gray-600",children:n.unregistered})]})})]}),i.jsxs(Xe,{children:[i.jsx(pt,{children:i.jsxs(vt,{className:"flex items-center gap-2",children:[i.jsx(eC,{className:"h-5 w-5"}),"搜索和筛选"]})}),i.jsxs(Ct,{className:"space-y-4",children:[i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{children:"搜索"}),i.jsxs("div",{className:"relative",children:[i.jsx(Lr,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{placeholder:"描述或哈希值...",value:p,onChange:I=>{g(I.target.value),u(1)},className:"pl-8"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{children:"注册状态"}),i.jsxs(Dt,{value:x,onValueChange:I=>{j(I),u(1)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部"}),i.jsx(De,{value:"registered",children:"已注册"}),i.jsx(De,{value:"unregistered",children:"未注册"})]})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{children:"封禁状态"}),i.jsxs(Dt,{value:w,onValueChange:I=>{b(I),u(1)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部"}),i.jsx(De,{value:"banned",children:"已封禁"}),i.jsx(De,{value:"unbanned",children:"未封禁"})]})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{children:"格式"}),i.jsxs(Dt,{value:N,onValueChange:I=>{E(I),u(1)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部"}),J.map(I=>i.jsxs(De,{value:I,children:[I.toUpperCase()," (",n?.formats[I],")"]},I))]})]})]})]}),i.jsx("div",{className:"flex justify-end",children:i.jsxs(oe,{variant:"outline",size:"sm",onClick:H,disabled:a,children:[i.jsx(is,{className:`h-4 w-4 mr-2 ${a?"animate-spin":""}`}),"刷新"]})})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"表情包列表"}),i.jsxs(Wn,{children:["共 ",d," 个表情包,当前第 ",l," 页"]})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"hidden md:block rounded-md border overflow-hidden",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{className:"w-16",children:"预览"}),i.jsx(nt,{children:"描述"}),i.jsx(nt,{children:"格式"}),i.jsx(nt,{children:"情绪标签"}),i.jsx(nt,{className:"text-center",children:"状态"}),i.jsx(nt,{className:"text-right",children:"使用次数"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:e.length===0?i.jsx(An,{children:i.jsx(Ge,{colSpan:7,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):e.map(I=>i.jsxs(An,{children:[i.jsx(Ge,{children:i.jsx("div",{className:"w-20 h-20 bg-muted rounded flex items-center justify-center overflow-hidden",children:i.jsx("img",{src:xC(I.id),alt:I.description||"表情包",className:"w-full h-full object-cover",onError:z=>{const Y=z.target;Y.style.display="none";const te=Y.parentElement;te&&(te.innerHTML='')}})})}),i.jsx(Ge,{children:i.jsxs("div",{className:"space-y-1 max-w-xs",children:[i.jsx("div",{className:"font-medium truncate",title:I.description||"无描述",children:I.description||"无描述"}),i.jsxs("div",{className:"text-xs text-muted-foreground font-mono",children:[I.emoji_hash.slice(0,16),"..."]})]})}),i.jsx(Ge,{children:i.jsx(Ft,{variant:"outline",children:I.format.toUpperCase()})}),i.jsx(Ge,{children:i.jsx(DL,{emotions:I.emotion})}),i.jsx(Ge,{className:"align-middle",children:i.jsxs("div",{className:"flex gap-2 justify-center",children:[I.is_registered&&i.jsxs(Ft,{variant:"default",className:"bg-green-600",children:[i.jsx(Pr,{className:"h-3 w-3 mr-1"}),"已注册"]}),I.is_banned&&i.jsxs(Ft,{variant:"destructive",children:[i.jsx(XN,{className:"h-3 w-3 mr-1"}),"已封禁"]})]})}),i.jsx(Ge,{className:"text-right font-mono",children:I.usage_count}),i.jsx(Ge,{children:i.jsxs("div",{className:"flex items-center justify-end gap-1 flex-wrap",children:[i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>q(I),children:[i.jsx(Mu,{className:"h-4 w-4 mr-1"}),"详情"]}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>G(I),children:[i.jsx(Ru,{className:"h-4 w-4 mr-1"}),"编辑"]}),!I.is_registered&&i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>U(I),className:"text-green-600 hover:text-green-700",children:[i.jsx(Pr,{className:"h-4 w-4 mr-1"}),"注册"]}),!I.is_banned&&i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>K(I),className:"text-orange-600 hover:text-orange-700",children:[i.jsx(ZI,{className:"h-4 w-4 mr-1"}),"封禁"]}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>L(I),className:"text-red-600 hover:text-red-700",children:[i.jsx(It,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},I.id))})]})}),i.jsx("div",{className:"md:hidden space-y-3",children:e.length===0?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):e.map(I=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[i.jsxs("div",{className:"flex gap-3",children:[i.jsx("div",{className:"flex-shrink-0",children:i.jsx("div",{className:"w-16 h-16 bg-muted rounded flex items-center justify-center overflow-hidden",children:i.jsx("img",{src:xC(I.id),alt:I.description||"表情包",className:"w-full h-full object-cover",onError:z=>{const Y=z.target;Y.style.display="none";const te=Y.parentElement;te&&(te.innerHTML='')}})})}),i.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[i.jsxs("div",{className:"min-w-0 w-full overflow-hidden",children:[i.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",title:I.description||"无描述",children:I.description||"无描述"}),i.jsxs("p",{className:"text-xs text-muted-foreground font-mono line-clamp-1 w-full break-all",children:[I.emoji_hash.slice(0,16),"..."]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 items-center min-w-0",children:[i.jsx(Ft,{variant:"outline",className:"text-xs flex-shrink-0",children:I.format.toUpperCase()}),I.is_registered&&i.jsxs(Ft,{variant:"default",className:"bg-green-600 text-xs flex-shrink-0",children:[i.jsx(Pr,{className:"h-3 w-3 mr-1"}),"已注册"]}),I.is_banned&&i.jsxs(Ft,{variant:"destructive",className:"text-xs flex-shrink-0",children:[i.jsx(XN,{className:"h-3 w-3 mr-1"}),"已封禁"]}),i.jsxs("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:["使用: ",I.usage_count]})]}),I.emotion&&I.emotion.length>0&&i.jsx("div",{className:"min-w-0 overflow-hidden",children:i.jsx(DL,{emotions:I.emotion})})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>q(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Mu,{className:"h-3 w-3 mr-1"}),"详情"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>G(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Ru,{className:"h-3 w-3 mr-1"}),"编辑"]}),!I.is_registered&&i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>U(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-green-600 hover:text-green-700",children:[i.jsx(Pr,{className:"h-3 w-3 mr-1"}),"注册"]}),!I.is_banned&&i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>K(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-orange-600 hover:text-orange-700",children:[i.jsx(ZI,{className:"h-3 w-3 mr-1"}),"封禁"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>L(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-red-600 hover:text-red-700",children:[i.jsx(It,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},I.id))}),d>m&&i.jsxs("div",{className:"flex items-center justify-between mt-4",children:[i.jsxs("div",{className:"text-sm text-muted-foreground",children:["显示 ",(l-1)*m+1," 到"," ",Math.min(l*m,d)," 条,共 ",d," 条"]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>u(I=>Math.max(1,I-1)),disabled:l===1,children:[i.jsx(tE,{className:"h-4 w-4"}),"上一页"]}),i.jsxs("div",{className:"text-sm",children:["第 ",l," / ",Math.ceil(d/m)," 页"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>u(I=>I+1),disabled:l>=Math.ceil(d/m),children:["下一页",i.jsx(nE,{className:"h-4 w-4"})]})]})]})]})]}),i.jsx(C1e,{emoji:O,open:C,onOpenChange:k}),i.jsx(O1e,{emoji:O,open:T,onOpenChange:M,onSuccess:()=>{H(),V()}})]})}),i.jsx(sr,{open:R,onOpenChange:B,children:i.jsxs(Kn,{children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"确认删除"}),i.jsx(vr,{children:"确定要删除这个表情包吗?此操作无法撤销。"})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>B(!1),children:"取消"}),i.jsx(oe,{variant:"destructive",onClick:D,children:"删除"})]})]})})]})}function C1e({emoji:e,open:t,onOpenChange:n}){if(!e)return null;const r=a=>a?new Date(a*1e3).toLocaleString("zh-CN"):"-";return i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl",children:[i.jsx(Xn,{children:i.jsx(Zn,{children:"表情包详情"})}),i.jsxs("div",{className:"space-y-4",children:[i.jsx("div",{className:"flex justify-center",children:i.jsx("div",{className:"w-32 h-32 bg-muted rounded-lg flex items-center justify-center overflow-hidden",children:i.jsx("img",{src:xC(e.id),alt:e.description||"表情包",className:"w-full h-full object-cover",onError:a=>{const s=a.target;s.style.display="none";const l=s.parentElement;l&&(l.innerHTML='')}})})}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"ID"}),i.jsx("div",{className:"mt-1 font-mono",children:e.id})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"格式"}),i.jsx("div",{className:"mt-1",children:i.jsx(Ft,{variant:"outline",children:e.format.toUpperCase()})})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"文件路径"}),i.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:e.full_path})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"哈希值"}),i.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:e.emoji_hash})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"描述"}),i.jsx("div",{className:"mt-1",children:e.description||"-"})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"情绪标签"}),i.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:e.emotion&&e.emotion.length>0?e.emotion.map((a,s)=>i.jsx(Ft,{variant:"secondary",children:a},s)):i.jsx("span",{className:"text-sm text-muted-foreground",children:"无"})})]}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"状态"}),i.jsxs("div",{className:"mt-2 flex gap-2",children:[e.is_registered&&i.jsx(Ft,{variant:"default",className:"bg-green-600",children:"已注册"}),e.is_banned&&i.jsx(Ft,{variant:"destructive",children:"已封禁"}),!e.is_registered&&!e.is_banned&&i.jsx(Ft,{variant:"outline",children:"未注册"})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"使用次数"}),i.jsx("div",{className:"mt-1 font-mono text-lg",children:e.usage_count})]})]}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"记录时间"}),i.jsx("div",{className:"mt-1 text-sm",children:r(e.record_time)})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"注册时间"}),i.jsx("div",{className:"mt-1 text-sm",children:r(e.register_time)})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"最后使用"}),i.jsx("div",{className:"mt-1 text-sm",children:r(e.last_used_time)})]})]})]})})}function O1e({emoji:e,open:t,onOpenChange:n,onSuccess:r}){const[a,s]=y.useState(""),[l,u]=y.useState(""),[d,f]=y.useState(!1),[m,p]=y.useState(!1),[g,x]=y.useState(!1),{toast:j}=yr();y.useEffect(()=>{e&&(s(e.description||""),u(e.emotion?e.emotion.join(", "):""),f(e.is_registered),p(e.is_banned))},[e]);const w=async()=>{if(e)try{x(!0);const b=l.split(/[,,]/).map(N=>N.trim()).filter(Boolean);await b1e(e.id,{description:a||void 0,emotion:b.length>0?b:void 0,is_registered:d,is_banned:m}),j({title:"成功",description:"表情包信息已更新"}),n(!1),r()}catch(b){const N=b instanceof Error?b.message:"保存失败";j({title:"错误",description:N,variant:"destructive"})}finally{x(!1)}};return e?i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑表情包"}),i.jsx(vr,{children:"修改表情包的描述和标签信息"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx(Q,{children:"描述"}),i.jsx(Xt,{value:a,onChange:b=>s(b.target.value),placeholder:"输入表情包描述...",rows:3,className:"mt-1"})]}),i.jsxs("div",{children:[i.jsx(Q,{children:"情绪标签"}),i.jsx(Ne,{value:l,onChange:b=>u(b.target.value),placeholder:"使用逗号分隔多个标签,如:开心, 微笑, 快乐",className:"mt-1"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"输入多个标签时使用逗号分隔(支持中英文逗号)"})]}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(io,{id:"is_registered",checked:d,onCheckedChange:b=>f(b===!0)}),i.jsx(Q,{htmlFor:"is_registered",className:"cursor-pointer",children:"已注册"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(io,{id:"is_banned",checked:m,onCheckedChange:b=>p(b===!0)}),i.jsx(Q,{htmlFor:"is_banned",className:"cursor-pointer",children:"已封禁"})]})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>n(!1),children:"取消"}),i.jsx(oe,{onClick:w,disabled:g,children:g?"保存中...":"保存"})]})]})}):null}function DL({emotions:e}){if(!e||e.length===0)return i.jsx("span",{className:"text-xs text-muted-foreground",children:"-"});const t=(a,s=6)=>a.length<=s?a:a.slice(0,s)+"...",n=e.slice(0,3),r=e.length-3;return i.jsxs("div",{className:"flex flex-wrap gap-1 max-w-full overflow-hidden",children:[n.map((a,s)=>i.jsx(Ft,{variant:"secondary",className:"text-xs flex-shrink-0",title:a,children:t(a)},s)),r>0&&i.jsxs(Ft,{variant:"outline",className:"text-xs flex-shrink-0",title:`还有 ${r} 个标签: ${e.slice(3).join(", ")}`,children:["+",r]})]})}const rd="/api/webui/expression";async function E1e(e){const t=new URLSearchParams;e.page&&t.append("page",e.page.toString()),e.page_size&&t.append("page_size",e.page_size.toString()),e.search&&t.append("search",e.search),e.chat_id&&t.append("chat_id",e.chat_id);const n=await rt(`${rd}/list?${t}`,{headers:dt()});if(!n.ok){const r=await n.json();throw new Error(r.detail||"获取表达方式列表失败")}return n.json()}async function A1e(e){const t=await rt(`${rd}/${e}`,{headers:dt()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"获取表达方式详情失败")}return t.json()}async function T1e(e){const t=await rt(`${rd}/`,{method:"POST",headers:dt(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"创建表达方式失败")}return t.json()}async function k1e(e,t){const n=await rt(`${rd}/${e}`,{method:"PATCH",headers:dt(),body:JSON.stringify(t)});if(!n.ok){const r=await n.json();throw new Error(r.detail||"更新表达方式失败")}return n.json()}async function M1e(e){const t=await rt(`${rd}/${e}`,{method:"DELETE",headers:dt()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"删除表达方式失败")}return t.json()}async function P1e(){const e=await rt(`${rd}/stats/summary`,{headers:dt()});if(!e.ok){const t=await e.json();throw new Error(t.detail||"获取统计数据失败")}return e.json()}function R1e(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[a,s]=y.useState(0),[l,u]=y.useState(1),[d]=y.useState(20),[f,m]=y.useState(""),[p,g]=y.useState(null),[x,j]=y.useState(!1),[w,b]=y.useState(!1),[N,E]=y.useState(!1),[O,A]=y.useState(null),[C,k]=y.useState({total:0,recent_7days:0,chat_count:0,top_chats:{}}),{toast:T}=yr(),M=async()=>{try{r(!0);const q=await E1e({page:l,page_size:d,search:f||void 0});t(q.data),s(q.total)}catch(q){T({title:"加载失败",description:q instanceof Error?q.message:"无法加载表达方式",variant:"destructive"})}finally{r(!1)}},R=async()=>{try{const q=await P1e();k(q.data)}catch(q){console.error("加载统计数据失败:",q)}};y.useEffect(()=>{M(),R()},[l,d,f]);const B=async q=>{try{const G=await A1e(q.id);g(G.data),j(!0)}catch(G){T({title:"加载详情失败",description:G instanceof Error?G.message:"无法加载表达方式详情",variant:"destructive"})}},$=q=>{g(q),b(!0)},H=async q=>{try{await M1e(q.id),T({title:"删除成功",description:`已删除表达方式: ${q.situation}`}),A(null),M(),R()}catch(G){T({title:"删除失败",description:G instanceof Error?G.message:"无法删除表达方式",variant:"destructive"})}},V=q=>q?new Date(q*1e3).toLocaleString("zh-CN"):"-";return i.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[i.jsx("div",{className:"mb-4 sm:mb-6",children:i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[i.jsx(Gh,{className:"h-8 w-8",strokeWidth:2}),"表达方式管理"]}),i.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦的表达方式和话术模板"})]}),i.jsxs(oe,{onClick:()=>E(!0),className:"gap-2",children:[i.jsx(ir,{className:"h-4 w-4"}),"新增表达方式"]})]})}),i.jsx(Wt,{className:"flex-1",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"总数量"}),i.jsx("div",{className:"text-2xl font-bold mt-1",children:C.total})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"近7天新增"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:C.recent_7days})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"关联聊天数"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-blue-600",children:C.chat_count})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx(Q,{htmlFor:"search",children:"搜索"}),i.jsxs("div",{className:"relative mt-1.5",children:[i.jsx(Lr,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{id:"search",placeholder:"搜索情境、风格或上下文...",value:f,onChange:q=>m(q.target.value),className:"pl-9"})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card",children:[i.jsx("div",{className:"hidden md:block",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{children:"情境"}),i.jsx(nt,{children:"风格"}),i.jsx(nt,{children:"聊天ID"}),i.jsx(nt,{children:"最后活跃"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:n?i.jsx(An,{children:i.jsx(Ge,{colSpan:5,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):e.length===0?i.jsx(An,{children:i.jsx(Ge,{colSpan:5,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):e.map(q=>i.jsxs(An,{children:[i.jsx(Ge,{className:"font-medium max-w-xs truncate",children:q.situation}),i.jsx(Ge,{className:"max-w-xs truncate",children:q.style}),i.jsx(Ge,{className:"font-mono text-sm",children:q.chat_id}),i.jsx(Ge,{className:"text-sm text-muted-foreground",children:V(q.last_active_time)}),i.jsx(Ge,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>B(q),children:i.jsx(Va,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>$(q),children:i.jsx(Ru,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>A(q),children:i.jsx(It,{className:"h-4 w-4 text-destructive"})})]})})]},q.id))})]})}),i.jsx("div",{className:"md:hidden space-y-3 p-4",children:n?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):e.length===0?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):e.map(q=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[i.jsxs("div",{className:"min-w-0 w-full overflow-hidden space-y-2",children:[i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"情境"}),i.jsx("h3",{className:"font-semibold text-sm line-clamp-2 w-full break-all",title:q.situation,children:q.situation})]}),i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"风格"}),i.jsx("p",{className:"text-sm line-clamp-2 w-full break-all",title:q.style,children:q.style})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"聊天ID"}),i.jsx("p",{className:"font-mono text-xs truncate",children:q.chat_id})]}),i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后活跃"}),i.jsx("p",{className:"text-xs",children:V(q.last_active_time)})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>B(q),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Va,{className:"h-3 w-3 mr-1"}),"查看"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>$(q),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Ru,{className:"h-3 w-3 mr-1"}),"编辑"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>A(q),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[i.jsx(It,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},q.id))}),a>d&&i.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-t",children:[i.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",a," 条记录,第 ",l," / ",Math.ceil(a/d)," 页"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(l-1),disabled:l===1,children:"上一页"}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(l+1),disabled:l>=Math.ceil(a/d),children:"下一页"})]})]})]})]})}),i.jsx(D1e,{expression:p,open:x,onOpenChange:j}),i.jsx($1e,{open:N,onOpenChange:E,onSuccess:()=>{M(),R(),E(!1)}}),i.jsx(I1e,{expression:p,open:w,onOpenChange:b,onSuccess:()=>{M(),R(),b(!1)}}),i.jsx(bn,{open:!!O,onOpenChange:()=>A(null),children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除表达方式 "',O?.situation,'" 吗? 此操作不可撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>O&&H(O),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})})]})}function D1e({expression:e,open:t,onOpenChange:n}){if(!e)return null;const r=a=>a?new Date(a*1e3).toLocaleString("zh-CN"):"-";return i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"表达方式详情"}),i.jsx(vr,{children:"查看表达方式的完整信息"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsx(Mc,{label:"情境",value:e.situation}),i.jsx(Mc,{label:"风格",value:e.style}),i.jsx(Mc,{icon:Eg,label:"聊天ID",value:e.chat_id,mono:!0}),i.jsx(Mc,{icon:Eg,label:"记录ID",value:e.id.toString(),mono:!0})]}),e.context&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(Q,{className:"text-xs text-muted-foreground",children:"上下文"}),i.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:e.context})]}),e.up_content&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(Q,{className:"text-xs text-muted-foreground",children:"上文内容"}),i.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:e.up_content})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsx(Mc,{icon:ll,label:"最后活跃",value:r(e.last_active_time)}),i.jsx(Mc,{icon:ll,label:"创建时间",value:r(e.create_date)})]})]}),i.jsx(Br,{children:i.jsx(oe,{onClick:()=>n(!1),children:"关闭"})})]})})}function Mc({icon:e,label:t,value:n,mono:r=!1}){return i.jsxs("div",{className:"space-y-1",children:[i.jsxs(Q,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[e&&i.jsx(e,{className:"h-3 w-3"}),t]}),i.jsx("div",{className:ce("text-sm",r&&"font-mono",!n&&"text-muted-foreground"),children:n||"-"})]})}function $1e({open:e,onOpenChange:t,onSuccess:n}){const[r,a]=y.useState({situation:"",style:"",context:"",up_content:"",chat_id:""}),[s,l]=y.useState(!1),{toast:u}=yr(),d=async()=>{if(!r.situation||!r.style||!r.chat_id){u({title:"验证失败",description:"请填写必填字段:情境、风格和聊天ID",variant:"destructive"});return}try{l(!0),await T1e(r),u({title:"创建成功",description:"表达方式已创建"}),a({situation:"",style:"",context:"",up_content:"",chat_id:""}),n()}catch(f){u({title:"创建失败",description:f instanceof Error?f.message:"无法创建表达方式",variant:"destructive"})}finally{l(!1)}};return i.jsx(sr,{open:e,onOpenChange:t,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"新增表达方式"}),i.jsx(vr,{children:"创建新的表达方式记录"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsxs(Q,{htmlFor:"situation",children:["情境 ",i.jsx("span",{className:"text-destructive",children:"*"})]}),i.jsx(Ne,{id:"situation",value:r.situation,onChange:f=>a({...r,situation:f.target.value}),placeholder:"描述使用场景"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsxs(Q,{htmlFor:"style",children:["风格 ",i.jsx("span",{className:"text-destructive",children:"*"})]}),i.jsx(Ne,{id:"style",value:r.style,onChange:f=>a({...r,style:f.target.value}),placeholder:"描述表达风格"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsxs(Q,{htmlFor:"chat_id",children:["聊天ID ",i.jsx("span",{className:"text-destructive",children:"*"})]}),i.jsx(Ne,{id:"chat_id",value:r.chat_id,onChange:f=>a({...r,chat_id:f.target.value}),placeholder:"关联的聊天ID"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"context",children:"上下文"}),i.jsx(Xt,{id:"context",value:r.context,onChange:f=>a({...r,context:f.target.value}),placeholder:"上下文信息(可选)",rows:3})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"up_content",children:"上文内容"}),i.jsx(Xt,{id:"up_content",value:r.up_content,onChange:f=>a({...r,up_content:f.target.value}),placeholder:"上文内容(可选)",rows:3})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>t(!1),children:"取消"}),i.jsx(oe,{onClick:d,disabled:s,children:s?"创建中...":"创建"})]})]})})}function I1e({expression:e,open:t,onOpenChange:n,onSuccess:r}){const[a,s]=y.useState({}),[l,u]=y.useState(!1),{toast:d}=yr();y.useEffect(()=>{e&&s({situation:e.situation,style:e.style,context:e.context||"",up_content:e.up_content||"",chat_id:e.chat_id})},[e]);const f=async()=>{if(e)try{u(!0),await k1e(e.id,a),d({title:"保存成功",description:"表达方式已更新"}),r()}catch(m){d({title:"保存失败",description:m instanceof Error?m.message:"无法更新表达方式",variant:"destructive"})}finally{u(!1)}};return e?i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑表达方式"}),i.jsx(vr,{children:"修改表达方式的信息"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit_situation",children:"情境"}),i.jsx(Ne,{id:"edit_situation",value:a.situation||"",onChange:m=>s({...a,situation:m.target.value}),placeholder:"描述使用场景"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit_style",children:"风格"}),i.jsx(Ne,{id:"edit_style",value:a.style||"",onChange:m=>s({...a,style:m.target.value}),placeholder:"描述表达风格"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit_chat_id",children:"聊天ID"}),i.jsx(Ne,{id:"edit_chat_id",value:a.chat_id||"",onChange:m=>s({...a,chat_id:m.target.value}),placeholder:"关联的聊天ID"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit_context",children:"上下文"}),i.jsx(Xt,{id:"edit_context",value:a.context||"",onChange:m=>s({...a,context:m.target.value}),placeholder:"上下文信息",rows:3})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit_up_content",children:"上文内容"}),i.jsx(Xt,{id:"edit_up_content",value:a.up_content||"",onChange:m=>s({...a,up_content:m.target.value}),placeholder:"上文内容",rows:3})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>n(!1),children:"取消"}),i.jsx(oe,{onClick:f,disabled:l,children:l?"保存中...":"保存"})]})]})}):null}const nm="/api/webui/person";async function L1e(e){const t=new URLSearchParams;e.page&&t.append("page",e.page.toString()),e.page_size&&t.append("page_size",e.page_size.toString()),e.search&&t.append("search",e.search),e.is_known!==void 0&&t.append("is_known",e.is_known.toString()),e.platform&&t.append("platform",e.platform);const n=await rt(`${nm}/list?${t}`,{headers:dt()});if(!n.ok){const r=await n.json();throw new Error(r.detail||"获取人物列表失败")}return n.json()}async function B1e(e){const t=await rt(`${nm}/${e}`,{headers:dt()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"获取人物详情失败")}return t.json()}async function z1e(e,t){const n=await rt(`${nm}/${e}`,{method:"PATCH",headers:dt(),body:JSON.stringify(t)});if(!n.ok){const r=await n.json();throw new Error(r.detail||"更新人物信息失败")}return n.json()}async function q1e(e){const t=await rt(`${nm}/${e}`,{method:"DELETE",headers:dt()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"删除人物信息失败")}return t.json()}async function F1e(){const e=await rt(`${nm}/stats/summary`,{headers:dt()});if(!e.ok){const t=await e.json();throw new Error(t.detail||"获取统计数据失败")}return e.json()}function U1e(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[a,s]=y.useState(0),[l,u]=y.useState(1),[d]=y.useState(20),[f,m]=y.useState(""),[p,g]=y.useState(void 0),[x,j]=y.useState(void 0),[w,b]=y.useState(null),[N,E]=y.useState(!1),[O,A]=y.useState(!1),[C,k]=y.useState(null),[T,M]=y.useState({total:0,known:0,unknown:0,platforms:{}}),{toast:R}=yr(),B=async()=>{try{r(!0);const D=await L1e({page:l,page_size:d,search:f||void 0,is_known:p,platform:x});t(D.data),s(D.total)}catch(D){R({title:"加载失败",description:D instanceof Error?D.message:"无法加载人物信息",variant:"destructive"})}finally{r(!1)}},$=async()=>{try{const D=await F1e();M(D.data)}catch(D){console.error("加载统计数据失败:",D)}};y.useEffect(()=>{B(),$()},[l,d,f,p,x]);const H=async D=>{try{const U=await B1e(D.person_id);b(U.data),E(!0)}catch(U){R({title:"加载详情失败",description:U instanceof Error?U.message:"无法加载人物详情",variant:"destructive"})}},V=D=>{b(D),A(!0)},q=async D=>{try{await q1e(D.person_id),R({title:"删除成功",description:`已删除人物信息: ${D.person_name||D.nickname||D.user_id}`}),k(null),B(),$()}catch(U){R({title:"删除失败",description:U instanceof Error?U.message:"无法删除人物信息",variant:"destructive"})}},G=y.useMemo(()=>Object.keys(T.platforms),[T.platforms]),L=D=>D?new Date(D*1e3).toLocaleString("zh-CN"):"-";return i.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[i.jsx("div",{className:"mb-4 sm:mb-6",children:i.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:i.jsxs("div",{children:[i.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[i.jsx(tye,{className:"h-8 w-8",strokeWidth:2}),"人物信息管理"]}),i.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦认识的所有人物信息"})]})})}),i.jsx(Wt,{className:"flex-1",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"总人数"}),i.jsx("div",{className:"text-2xl font-bold mt-1",children:T.total})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"已认识"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:T.known})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"未认识"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-muted-foreground",children:T.unknown})]})]}),i.jsx("div",{className:"rounded-lg border bg-card p-4",children:i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-4 gap-4",children:[i.jsxs("div",{className:"sm:col-span-2",children:[i.jsx(Q,{htmlFor:"search",children:"搜索"}),i.jsxs("div",{className:"relative mt-1.5",children:[i.jsx(Lr,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{id:"search",placeholder:"搜索名称、昵称或用户ID...",value:f,onChange:D=>m(D.target.value),className:"pl-9"})]})]}),i.jsxs("div",{children:[i.jsx(Q,{htmlFor:"filter-known",children:"认识状态"}),i.jsxs(Dt,{value:p===void 0?"all":p.toString(),onValueChange:D=>{g(D==="all"?void 0:D==="true"),u(1)},children:[i.jsx(Ot,{id:"filter-known",className:"mt-1.5",children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部"}),i.jsx(De,{value:"true",children:"已认识"}),i.jsx(De,{value:"false",children:"未认识"})]})]})]}),i.jsxs("div",{children:[i.jsx(Q,{htmlFor:"filter-platform",children:"平台"}),i.jsxs(Dt,{value:x||"all",onValueChange:D=>{j(D==="all"?void 0:D),u(1)},children:[i.jsx(Ot,{id:"filter-platform",className:"mt-1.5",children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部平台"}),G.map(D=>i.jsxs(De,{value:D,children:[D," (",T.platforms[D],")"]},D))]})]})]})]})}),i.jsxs("div",{className:"rounded-lg border bg-card",children:[i.jsx("div",{className:"hidden md:block",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{children:"状态"}),i.jsx(nt,{children:"名称"}),i.jsx(nt,{children:"昵称"}),i.jsx(nt,{children:"平台"}),i.jsx(nt,{children:"用户ID"}),i.jsx(nt,{children:"最后更新"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:n?i.jsx(An,{children:i.jsx(Ge,{colSpan:7,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):e.length===0?i.jsx(An,{children:i.jsx(Ge,{colSpan:7,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):e.map(D=>i.jsxs(An,{children:[i.jsx(Ge,{children:i.jsx("div",{className:ce("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium",D.is_known?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-400"),children:D.is_known?"已认识":"未认识"})}),i.jsx(Ge,{className:"font-medium",children:D.person_name||i.jsx("span",{className:"text-muted-foreground",children:"-"})}),i.jsx(Ge,{children:D.nickname||"-"}),i.jsx(Ge,{children:D.platform}),i.jsx(Ge,{className:"font-mono text-sm",children:D.user_id}),i.jsx(Ge,{className:"text-sm text-muted-foreground",children:L(D.last_know)}),i.jsx(Ge,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>H(D),children:i.jsx(Va,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>V(D),children:i.jsx(Ru,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>k(D),children:i.jsx(It,{className:"h-4 w-4 text-destructive"})})]})})]},D.id))})]})}),i.jsx("div",{className:"md:hidden space-y-3 p-4",children:n?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):e.length===0?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):e.map(D=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[i.jsx("div",{className:"flex items-start justify-between gap-2",children:i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:ce("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium mb-2",D.is_known?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-400"),children:D.is_known?"已认识":"未认识"}),i.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",children:D.person_name||i.jsx("span",{className:"text-muted-foreground",children:"未命名"})}),D.nickname&&i.jsxs("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-1 w-full break-all",children:["昵称: ",D.nickname]})]})}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"平台"}),i.jsx("p",{className:"font-medium text-xs",children:D.platform})]}),i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"用户ID"}),i.jsx("p",{className:"font-mono text-xs truncate",title:D.user_id,children:D.user_id})]}),i.jsxs("div",{className:"col-span-2",children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后更新"}),i.jsx("p",{className:"text-xs",children:L(D.last_know)})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>H(D),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Va,{className:"h-3 w-3 mr-1"}),"查看"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>V(D),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Ru,{className:"h-3 w-3 mr-1"}),"编辑"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>k(D),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[i.jsx(It,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},D.id))}),a>d&&i.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-t",children:[i.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",a," 条记录,第 ",l," / ",Math.ceil(a/d)," 页"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(l-1),disabled:l===1,children:"上一页"}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(l+1),disabled:l>=Math.ceil(a/d),children:"下一页"})]})]})]})]})}),i.jsx(H1e,{person:w,open:N,onOpenChange:E}),i.jsx(W1e,{person:w,open:O,onOpenChange:A,onSuccess:()=>{B(),$(),A(!1)}}),i.jsx(bn,{open:!!C,onOpenChange:()=>k(null),children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除人物信息 "',C?.person_name||C?.nickname||C?.user_id,'" 吗? 此操作不可撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>C&&q(C),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})})]})}function H1e({person:e,open:t,onOpenChange:n}){if(!e)return null;const r=a=>a?new Date(a*1e3).toLocaleString("zh-CN"):"-";return i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"人物详情"}),i.jsxs(vr,{children:["查看 ",e.person_name||e.nickname||e.user_id," 的完整信息"]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsx(Gi,{icon:gF,label:"人物名称",value:e.person_name}),i.jsx(Gi,{icon:Gh,label:"昵称",value:e.nickname}),i.jsx(Gi,{icon:Eg,label:"用户ID",value:e.user_id,mono:!0}),i.jsx(Gi,{icon:Eg,label:"人物ID",value:e.person_id,mono:!0}),i.jsx(Gi,{label:"平台",value:e.platform}),i.jsx(Gi,{label:"状态",value:e.is_known?"已认识":"未认识"})]}),e.name_reason&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(Q,{className:"text-xs text-muted-foreground",children:"名称设定原因"}),i.jsx("p",{className:"mt-1 text-sm",children:e.name_reason})]}),e.memory_points&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(Q,{className:"text-xs text-muted-foreground",children:"个人印象"}),i.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:e.memory_points})]}),e.group_nick_name&&e.group_nick_name.length>0&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(Q,{className:"text-xs text-muted-foreground",children:"群昵称"}),i.jsx("div",{className:"mt-2 space-y-1",children:e.group_nick_name.map((a,s)=>i.jsxs("div",{className:"text-sm flex items-center gap-2",children:[i.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:a.group_id}),i.jsx("span",{children:"→"}),i.jsx("span",{children:a.group_nick_name})]},s))})]}),i.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[i.jsx(Gi,{icon:ll,label:"认识时间",value:r(e.know_times)}),i.jsx(Gi,{icon:ll,label:"首次记录",value:r(e.know_since)}),i.jsx(Gi,{icon:ll,label:"最后更新",value:r(e.last_know)})]})]}),i.jsx(Br,{children:i.jsx(oe,{onClick:()=>n(!1),children:"关闭"})})]})})}function Gi({icon:e,label:t,value:n,mono:r=!1}){return i.jsxs("div",{className:"space-y-1",children:[i.jsxs(Q,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[e&&i.jsx(e,{className:"h-3 w-3"}),t]}),i.jsx("div",{className:ce("text-sm",r&&"font-mono",!n&&"text-muted-foreground"),children:n||"-"})]})}function W1e({person:e,open:t,onOpenChange:n,onSuccess:r}){const[a,s]=y.useState({}),[l,u]=y.useState(!1),{toast:d}=yr();y.useEffect(()=>{e&&s({person_name:e.person_name||"",name_reason:e.name_reason||"",nickname:e.nickname||"",memory_points:e.memory_points||"",is_known:e.is_known})},[e]);const f=async()=>{if(e)try{u(!0),await z1e(e.person_id,a),d({title:"保存成功",description:"人物信息已更新"}),r()}catch(m){d({title:"保存失败",description:m instanceof Error?m.message:"无法更新人物信息",variant:"destructive"})}finally{u(!1)}};return e?i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑人物信息"}),i.jsxs(vr,{children:["修改 ",e.person_name||e.nickname||e.user_id," 的信息"]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"person_name",children:"人物名称"}),i.jsx(Ne,{id:"person_name",value:a.person_name||"",onChange:m=>s({...a,person_name:m.target.value}),placeholder:"为这个人设置一个名称"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"nickname",children:"昵称"}),i.jsx(Ne,{id:"nickname",value:a.nickname||"",onChange:m=>s({...a,nickname:m.target.value}),placeholder:"昵称"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"name_reason",children:"名称设定原因"}),i.jsx(Xt,{id:"name_reason",value:a.name_reason||"",onChange:m=>s({...a,name_reason:m.target.value}),placeholder:"为什么这样称呼这个人?",rows:2})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"memory_points",children:"个人印象"}),i.jsx(Xt,{id:"memory_points",value:a.memory_points||"",onChange:m=>s({...a,memory_points:m.target.value}),placeholder:"对这个人的印象和记忆点...",rows:4})]}),i.jsxs("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[i.jsxs("div",{children:[i.jsx(Q,{htmlFor:"is_known",className:"text-base font-medium",children:"已认识"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"标记是否已经认识这个人"})]}),i.jsx(lt,{id:"is_known",checked:a.is_known,onCheckedChange:m=>s({...a,is_known:m})})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>n(!1),children:"取消"}),i.jsx(oe,{onClick:f,disabled:l,children:l?"保存中...":"保存"})]})]})}):null}function V1e(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const G1e={},xf={};function Jo(e,t){try{const r=(G1e[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return r in xf?xf[r]:$L(r,r.split(":"))}catch{if(e in xf)return xf[e];const n=e?.match(Y1e);return n?$L(e,n.slice(1)):NaN}}const Y1e=/([+-]\d\d):?(\d\d)?/;function $L(e,t){const n=+(t[0]||0),r=+(t[1]||0),a=+(t[2]||0)/60;return xf[e]=n*60+r>0?n*60+r+a:n*60-r-a}class hi extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Jo(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),AH(this),bC(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new hi(...n,t):new hi(Date.now(),t)}withTimeZone(t){return new hi(+this,t)}getTimezoneOffset(){const t=-Jo(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),bC(this),+this}[Symbol.for("constructDateFrom")](t){return new hi(+new Date(t),this.timeZone)}}const IL=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!IL.test(e))return;const t=e.replace(IL,"$1UTC");hi.prototype[t]&&(e.startsWith("get")?hi.prototype[e]=function(){return this.internal[t]()}:(hi.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),K1e(this),+this},hi.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),bC(this),+this}))});function bC(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Jo(e.timeZone,e)*60))}function K1e(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),AH(e)}function AH(e){const t=Jo(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const a=-new Date(+e).getTimezoneOffset(),s=-new Date(+r).getTimezoneOffset(),l=a-s,u=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();l&&u&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+l);const d=a-n;d&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+d);const f=new Date(+e);f.setUTCSeconds(0);const m=a>0?f.getSeconds():(f.getSeconds()-60)%60,p=Math.round(-(Jo(e.timeZone,e)*60))%60;(p||m)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+p),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+m));const g=Jo(e.timeZone,e),x=g>0?Math.floor(g):Math.ceil(g),w=-new Date(+e).getTimezoneOffset()-x,b=x!==n,N=w-d;if(b&&N){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+N);const E=Jo(e.timeZone,e),O=E>0?Math.floor(E):Math.ceil(E),A=x-O;A&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+A),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+A))}}class dr extends hi{static tz(t,...n){return n.length?new dr(...n,t):new dr(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),a=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,a]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${r} ${n} ${a}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,a]=this.tzComponents();return`${t} GMT${n}${r}${a} (${V1e(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),a=String(Math.abs(t)%60).padStart(2,"0");return[n,r,a]}withTimeZone(t){return new dr(+this,t)}[Symbol.for("constructDateFrom")](t){return new dr(+new Date(t),this.timeZone)}}const TH=6048e5,X1e=864e5,LL=Symbol.for("constructDateFrom");function kn(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&LL in e?e[LL](t):e instanceof Date?new e.constructor(t):new Date(t)}function Ut(e,t){return kn(t||e,e)}function kH(e,t,n){const r=Ut(e,n?.in);return isNaN(t)?kn(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function MH(e,t,n){const r=Ut(e,n?.in);if(isNaN(t))return kn(e,NaN);if(!t)return r;const a=r.getDate(),s=kn(e,r.getTime());s.setMonth(r.getMonth()+t+1,0);const l=s.getDate();return a>=l?s:(r.setFullYear(s.getFullYear(),s.getMonth(),a),r)}let Z1e={};function rm(){return Z1e}function oo(e,t){const n=rm(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=Ut(e,t?.in),s=a.getDay(),l=(s=s.getTime()?r+1:n.getTime()>=u.getTime()?r:r-1}function BL(e){const t=Ut(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Rl(e,...t){const n=kn.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function _h(e,t){const n=Ut(e,t?.in);return n.setHours(0,0,0,0),n}function RH(e,t,n){const[r,a]=Rl(n?.in,e,t),s=_h(r),l=_h(a),u=+s-BL(s),d=+l-BL(l);return Math.round((u-d)/X1e)}function Q1e(e,t){const n=PH(e,t),r=kn(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Sh(r)}function J1e(e,t,n){return kH(e,t*7,n)}function eSe(e,t,n){return MH(e,t*12,n)}function tSe(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=kn.bind(null,a));const s=Ut(a,r);(!n||n{!r&&typeof a=="object"&&(r=kn.bind(null,a));const s=Ut(a,r);(!n||n>s||isNaN(+s))&&(n=s)}),kn(r,n||NaN)}function rSe(e,t,n){const[r,a]=Rl(n?.in,e,t);return+_h(r)==+_h(a)}function DH(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function aSe(e){return!(!DH(e)&&typeof e!="number"||isNaN(+Ut(e)))}function iSe(e,t,n){const[r,a]=Rl(n?.in,e,t),s=r.getFullYear()-a.getFullYear(),l=r.getMonth()-a.getMonth();return s*12+l}function sSe(e,t){const n=Ut(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function $H(e,t){const[n,r]=Rl(e,t.start,t.end);return{start:n,end:r}}function oSe(e,t){const{start:n,end:r}=$H(t?.in,e);let a=+n>+r;const s=a?+n:+r,l=a?r:n;l.setHours(0,0,0,0),l.setDate(1);let u=1;const d=[];for(;+l<=s;)d.push(kn(n,l)),l.setMonth(l.getMonth()+u);return a?d.reverse():d}function lSe(e,t){const n=Ut(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function cSe(e,t){const n=Ut(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function IH(e,t){const n=Ut(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function uSe(e,t){const{start:n,end:r}=$H(t?.in,e);let a=+n>+r;const s=a?+n:+r,l=a?r:n;l.setHours(0,0,0,0),l.setMonth(0,1);let u=1;const d=[];for(;+l<=s;)d.push(kn(n,l)),l.setFullYear(l.getFullYear()+u);return a?d.reverse():d}function LH(e,t){const n=rm(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=Ut(e,t?.in),s=a.getDay(),l=(s{let r;const a=fSe[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function eu(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const mSe={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},pSe={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},vSe={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},gSe={date:eu({formats:mSe,defaultWidth:"full"}),time:eu({formats:pSe,defaultWidth:"full"}),dateTime:eu({formats:vSe,defaultWidth:"full"})},ySe={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},xSe=(e,t,n,r)=>ySe[e];function oi(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const l=e.defaultFormattingWidth||e.defaultWidth,u=n?.width?String(n.width):l;a=e.formattingValues[u]||e.formattingValues[l]}else{const l=e.defaultWidth,u=n?.width?String(n.width):e.defaultWidth;a=e.values[u]||e.values[l]}const s=e.argumentCallback?e.argumentCallback(t):t;return a[s]}}const bSe={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},wSe={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},jSe={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},SSe={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},_Se={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},NSe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},CSe=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},OSe={ordinalNumber:CSe,era:oi({values:bSe,defaultWidth:"wide"}),quarter:oi({values:wSe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:oi({values:jSe,defaultWidth:"wide"}),day:oi({values:SSe,defaultWidth:"wide"}),dayPeriod:oi({values:_Se,defaultWidth:"wide",formattingValues:NSe,defaultFormattingWidth:"wide"})};function li(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],s=t.match(a);if(!s)return null;const l=s[0],u=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(u)?ASe(u,p=>p.test(l)):ESe(u,p=>p.test(l));let f;f=e.valueCallback?e.valueCallback(d):d,f=n.valueCallback?n.valueCallback(f):f;const m=t.slice(l.length);return{value:f,rest:m}}}function ESe(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ASe(e,t){for(let n=0;n{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],s=t.match(e.parsePattern);if(!s)return null;let l=e.valueCallback?e.valueCallback(s[0]):s[0];l=n.valueCallback?n.valueCallback(l):l;const u=t.slice(a.length);return{value:l,rest:u}}}const TSe=/^(\d+)(th|st|nd|rd)?/i,kSe=/\d+/i,MSe={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},PSe={any:[/^b/i,/^(a|c)/i]},RSe={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},DSe={any:[/1/i,/2/i,/3/i,/4/i]},$Se={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ISe={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},LSe={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},BSe={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},zSe={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},qSe={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},FSe={ordinalNumber:BH({matchPattern:TSe,parsePattern:kSe,valueCallback:e=>parseInt(e,10)}),era:li({matchPatterns:MSe,defaultMatchWidth:"wide",parsePatterns:PSe,defaultParseWidth:"any"}),quarter:li({matchPatterns:RSe,defaultMatchWidth:"wide",parsePatterns:DSe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:li({matchPatterns:$Se,defaultMatchWidth:"wide",parsePatterns:ISe,defaultParseWidth:"any"}),day:li({matchPatterns:LSe,defaultMatchWidth:"wide",parsePatterns:BSe,defaultParseWidth:"any"}),dayPeriod:li({matchPatterns:zSe,defaultMatchWidth:"any",parsePatterns:qSe,defaultParseWidth:"any"})},DE={code:"en-US",formatDistance:hSe,formatLong:gSe,formatRelative:xSe,localize:OSe,match:FSe,options:{weekStartsOn:0,firstWeekContainsDate:1}};function USe(e,t){const n=Ut(e,t?.in);return RH(n,IH(n))+1}function zH(e,t){const n=Ut(e,t?.in),r=+Sh(n)-+Q1e(n);return Math.round(r/TH)+1}function qH(e,t){const n=Ut(e,t?.in),r=n.getFullYear(),a=rm(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,l=kn(t?.in||e,0);l.setFullYear(r+1,0,s),l.setHours(0,0,0,0);const u=oo(l,t),d=kn(t?.in||e,0);d.setFullYear(r,0,s),d.setHours(0,0,0,0);const f=oo(d,t);return+n>=+u?r+1:+n>=+f?r:r-1}function HSe(e,t){const n=rm(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=qH(e,t),s=kn(t?.in||e,0);return s.setFullYear(a,0,r),s.setHours(0,0,0,0),oo(s,t)}function FH(e,t){const n=Ut(e,t?.in),r=+oo(n,t)-+HSe(n,t);return Math.round(r/TH)+1}function Pt(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Fs={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return Pt(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Pt(n+1,2)},d(e,t){return Pt(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Pt(e.getHours()%12||12,t.length)},H(e,t){return Pt(e.getHours(),t.length)},m(e,t){return Pt(e.getMinutes(),t.length)},s(e,t){return Pt(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return Pt(a,t.length)}},Pc={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},zL={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return Fs.y(e,t)},Y:function(e,t,n,r){const a=qH(e,r),s=a>0?a:1-a;if(t==="YY"){const l=s%100;return Pt(l,2)}return t==="Yo"?n.ordinalNumber(s,{unit:"year"}):Pt(s,t.length)},R:function(e,t){const n=PH(e);return Pt(n,t.length)},u:function(e,t){const n=e.getFullYear();return Pt(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return Pt(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return Pt(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Fs.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return Pt(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=FH(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):Pt(a,t.length)},I:function(e,t,n){const r=zH(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):Pt(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Fs.d(e,t)},D:function(e,t,n){const r=USe(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):Pt(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return Pt(s,2);case"eo":return n.ordinalNumber(s,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return Pt(s,t.length);case"co":return n.ordinalNumber(s,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return Pt(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=Pc.noon:r===0?a=Pc.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=Pc.evening:r>=12?a=Pc.afternoon:r>=4?a=Pc.morning:a=Pc.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Fs.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Fs.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):Pt(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):Pt(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Fs.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Fs.s(e,t)},S:function(e,t){return Fs.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return FL(r);case"XXXX":case"XX":return Vo(r);case"XXXXX":case"XXX":default:return Vo(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return FL(r);case"xxxx":case"xx":return Vo(r);case"xxxxx":case"xxx":default:return Vo(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+qL(r,":");case"OOOO":default:return"GMT"+Vo(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+qL(r,":");case"zzzz":default:return"GMT"+Vo(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return Pt(r,t.length)},T:function(e,t,n){return Pt(+e,t.length)}};function qL(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),s=r%60;return s===0?n+String(a):n+String(a)+t+Pt(s,2)}function FL(e,t){return e%60===0?(e>0?"-":"+")+Pt(Math.abs(e)/60,2):Vo(e,t)}function Vo(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Pt(Math.trunc(r/60),2),s=Pt(r%60,2);return n+a+t+s}const UL=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},UH=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},WSe=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return UL(e,t);let s;switch(r){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;case"PPPP":default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",UL(r,t)).replace("{{time}}",UH(a,t))},VSe={p:UH,P:WSe},GSe=/^D+$/,YSe=/^Y+$/,KSe=["D","DD","YY","YYYY"];function XSe(e){return GSe.test(e)}function ZSe(e){return YSe.test(e)}function QSe(e,t,n){const r=JSe(e,t,n);if(console.warn(r),KSe.includes(e))throw new RangeError(r)}function JSe(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const e_e=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,t_e=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,n_e=/^'([^]*?)'?$/,r_e=/''/g,a_e=/[a-zA-Z]/;function pv(e,t,n){const r=rm(),a=n?.locale??r.locale??DE,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,l=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,u=Ut(e,n?.in);if(!aSe(u))throw new RangeError("Invalid time value");let d=t.match(t_e).map(m=>{const p=m[0];if(p==="p"||p==="P"){const g=VSe[p];return g(m,a.formatLong)}return m}).join("").match(e_e).map(m=>{if(m==="''")return{isToken:!1,value:"'"};const p=m[0];if(p==="'")return{isToken:!1,value:i_e(m)};if(zL[p])return{isToken:!0,value:m};if(p.match(a_e))throw new RangeError("Format string contains an unescaped latin alphabet character `"+p+"`");return{isToken:!1,value:m}});a.localize.preprocessor&&(d=a.localize.preprocessor(u,d));const f={firstWeekContainsDate:s,weekStartsOn:l,locale:a};return d.map(m=>{if(!m.isToken)return m.value;const p=m.value;(!n?.useAdditionalWeekYearTokens&&ZSe(p)||!n?.useAdditionalDayOfYearTokens&&XSe(p))&&QSe(p,t,String(e));const g=zL[p[0]];return g(u,p,a.localize,f)}).join("")}function i_e(e){const t=e.match(n_e);return t?t[1].replace(r_e,"'"):e}function s_e(e,t){const n=Ut(e,t?.in),r=n.getFullYear(),a=n.getMonth(),s=kn(n,0);return s.setFullYear(r,a+1,0),s.setHours(0,0,0,0),s.getDate()}function o_e(e,t){return Ut(e,t?.in).getMonth()}function l_e(e,t){return Ut(e,t?.in).getFullYear()}function c_e(e,t){return+Ut(e)>+Ut(t)}function u_e(e,t){return+Ut(e)<+Ut(t)}function d_e(e,t,n){const[r,a]=Rl(n?.in,e,t);return+oo(r,n)==+oo(a,n)}function f_e(e,t,n){const[r,a]=Rl(n?.in,e,t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function h_e(e,t,n){const[r,a]=Rl(n?.in,e,t);return r.getFullYear()===a.getFullYear()}function m_e(e,t,n){const r=Ut(e,n?.in),a=r.getFullYear(),s=r.getDate(),l=kn(e,0);l.setFullYear(a,t,15),l.setHours(0,0,0,0);const u=s_e(l);return r.setMonth(t,Math.min(s,u)),r}function p_e(e,t,n){const r=Ut(e,n?.in);return isNaN(+r)?kn(e,NaN):(r.setFullYear(t),r)}const HL=5,v_e=4;function g_e(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,a=t.addDays(e,-r+1),s=t.addDays(a,HL*7-1);return t.getMonth(e)===t.getMonth(s)?HL:v_e}function HH(e,t){const n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-6):t.addDays(n,-1*(r-1))}function y_e(e,t){const n=HH(e,t),r=g_e(e,t);return t.addDays(n,r*7-1)}class oa{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?dr.tz(this.options.timeZone):new this.Date,this.newDate=(r,a,s)=>this.overrides?.newDate?this.overrides.newDate(r,a,s):this.options.timeZone?new dr(r,a,s,this.options.timeZone):new Date(r,a,s),this.addDays=(r,a)=>this.overrides?.addDays?this.overrides.addDays(r,a):kH(r,a),this.addMonths=(r,a)=>this.overrides?.addMonths?this.overrides.addMonths(r,a):MH(r,a),this.addWeeks=(r,a)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,a):J1e(r,a),this.addYears=(r,a)=>this.overrides?.addYears?this.overrides.addYears(r,a):eSe(r,a),this.differenceInCalendarDays=(r,a)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,a):RH(r,a),this.differenceInCalendarMonths=(r,a)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,a):iSe(r,a),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):oSe(r),this.eachYearOfInterval=r=>{const a=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):uSe(r),s=new Set(a.map(u=>this.getYear(u)));if(s.size===a.length)return a;const l=[];return s.forEach(u=>{l.push(new Date(u,0,1))}),l},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):y_e(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):dSe(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):sSe(r),this.endOfWeek=(r,a)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,a):LH(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):cSe(r),this.format=(r,a,s)=>{const l=this.overrides?.format?this.overrides.format(r,a,this.options):pv(r,a,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(l):l},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):zH(r),this.getMonth=(r,a)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):o_e(r,this.options),this.getYear=(r,a)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):l_e(r,this.options),this.getWeek=(r,a)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):FH(r,this.options),this.isAfter=(r,a)=>this.overrides?.isAfter?this.overrides.isAfter(r,a):c_e(r,a),this.isBefore=(r,a)=>this.overrides?.isBefore?this.overrides.isBefore(r,a):u_e(r,a),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):DH(r),this.isSameDay=(r,a)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,a):rSe(r,a),this.isSameMonth=(r,a)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,a):f_e(r,a),this.isSameYear=(r,a)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,a):h_e(r,a),this.max=r=>this.overrides?.max?this.overrides.max(r):tSe(r),this.min=r=>this.overrides?.min?this.overrides.min(r):nSe(r),this.setMonth=(r,a)=>this.overrides?.setMonth?this.overrides.setMonth(r,a):m_e(r,a),this.setYear=(r,a)=>this.overrides?.setYear?this.overrides.setYear(r,a):p_e(r,a),this.startOfBroadcastWeek=(r,a)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):HH(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):_h(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):Sh(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):lSe(r),this.startOfWeek=(r,a)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):oo(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):IH(r),this.options={locale:DE,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),r={};for(let a=0;a<10;a++)r[a.toString()]=n.format(a);return r}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,r=>n[r]||r)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&oa.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:a}=this.options,s=n?.code;if(s&&oa.yearFirstLocales.has(s))try{return new Intl.DateTimeFormat(s,{month:"long",year:"numeric",timeZone:r,numberingSystem:a}).format(t)}catch{}const l=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,l)}}oa.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const Ci=new oa;class WH{constructor(t,n,r=Ci){this.date=t,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(t,n)),this.dateLib=r}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class x_e{constructor(t,n){this.date=t,this.weeks=n}}class b_e{constructor(t,n){this.days=n,this.weekNumber=t}}function w_e(e){return W.createElement("button",{...e})}function j_e(e){return W.createElement("span",{...e})}function S_e(e){const{size:t=24,orientation:n="left",className:r}=e;return W.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&W.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&W.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&W.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&W.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function __e(e){const{day:t,modifiers:n,...r}=e;return W.createElement("td",{...r})}function N_e(e){const{day:t,modifiers:n,...r}=e,a=W.useRef(null);return W.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),W.createElement("button",{ref:a,...r})}var Be;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(Be||(Be={}));var on;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(on||(on={}));var Ua;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Ua||(Ua={}));var Jr;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(Jr||(Jr={}));function C_e(e){const{options:t,className:n,components:r,classNames:a,...s}=e,l=[a[Be.Dropdown],n].join(" "),u=t?.find(({value:d})=>d===s.value);return W.createElement("span",{"data-disabled":s.disabled,className:a[Be.DropdownRoot]},W.createElement(r.Select,{className:l,...s},t?.map(({value:d,label:f,disabled:m})=>W.createElement(r.Option,{key:d,value:d,disabled:m},f))),W.createElement("span",{className:a[Be.CaptionLabel],"aria-hidden":!0},u?.label,W.createElement(r.Chevron,{orientation:"down",size:18,className:a[Be.Chevron]})))}function O_e(e){return W.createElement("div",{...e})}function E_e(e){return W.createElement("div",{...e})}function A_e(e){const{calendarMonth:t,displayIndex:n,...r}=e;return W.createElement("div",{...r},e.children)}function T_e(e){const{calendarMonth:t,displayIndex:n,...r}=e;return W.createElement("div",{...r})}function k_e(e){return W.createElement("table",{...e})}function M_e(e){return W.createElement("div",{...e})}const VH=y.createContext(void 0);function am(){const e=y.useContext(VH);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function P_e(e){const{components:t}=am();return W.createElement(t.Dropdown,{...e})}function R_e(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:a,...s}=e,{components:l,classNames:u,labels:{labelPrevious:d,labelNext:f}}=am(),m=y.useCallback(g=>{a&&n?.(g)},[a,n]),p=y.useCallback(g=>{r&&t?.(g)},[r,t]);return W.createElement("nav",{...s},W.createElement(l.PreviousMonthButton,{type:"button",className:u[Be.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":d(r),onClick:p},W.createElement(l.Chevron,{disabled:r?void 0:!0,className:u[Be.Chevron],orientation:"left"})),W.createElement(l.NextMonthButton,{type:"button",className:u[Be.NextMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":f(a),onClick:m},W.createElement(l.Chevron,{disabled:a?void 0:!0,orientation:"right",className:u[Be.Chevron]})))}function D_e(e){const{components:t}=am();return W.createElement(t.Button,{...e})}function $_e(e){return W.createElement("option",{...e})}function I_e(e){const{components:t}=am();return W.createElement(t.Button,{...e})}function L_e(e){const{rootRef:t,...n}=e;return W.createElement("div",{...n,ref:t})}function B_e(e){return W.createElement("select",{...e})}function z_e(e){const{week:t,...n}=e;return W.createElement("tr",{...n})}function q_e(e){return W.createElement("th",{...e})}function F_e(e){return W.createElement("thead",{"aria-hidden":!0},W.createElement("tr",{...e}))}function U_e(e){const{week:t,...n}=e;return W.createElement("th",{...n})}function H_e(e){return W.createElement("th",{...e})}function W_e(e){return W.createElement("tbody",{...e})}function V_e(e){const{components:t}=am();return W.createElement(t.Dropdown,{...e})}const G_e=Object.freeze(Object.defineProperty({__proto__:null,Button:w_e,CaptionLabel:j_e,Chevron:S_e,Day:__e,DayButton:N_e,Dropdown:C_e,DropdownNav:O_e,Footer:E_e,Month:A_e,MonthCaption:T_e,MonthGrid:k_e,Months:M_e,MonthsDropdown:P_e,Nav:R_e,NextMonthButton:D_e,Option:$_e,PreviousMonthButton:I_e,Root:L_e,Select:B_e,Week:z_e,WeekNumber:U_e,WeekNumberHeader:H_e,Weekday:q_e,Weekdays:F_e,Weeks:W_e,YearsDropdown:V_e},Symbol.toStringTag,{value:"Module"}));function Ji(e,t,n=!1,r=Ci){let{from:a,to:s}=e;const{differenceInCalendarDays:l,isSameDay:u}=r;return a&&s?(l(s,a)<0&&([a,s]=[s,a]),l(t,a)>=(n?1:0)&&l(s,t)>=(n?1:0)):!n&&s?u(s,t):!n&&a?u(a,t):!1}function GH(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function $E(e){return!!(e&&typeof e=="object"&&"from"in e)}function YH(e){return!!(e&&typeof e=="object"&&"after"in e)}function KH(e){return!!(e&&typeof e=="object"&&"before"in e)}function XH(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function ZH(e,t){return Array.isArray(e)&&e.every(t.isDate)}function es(e,t,n=Ci){const r=Array.isArray(t)?t:[t],{isSameDay:a,differenceInCalendarDays:s,isAfter:l}=n;return r.some(u=>{if(typeof u=="boolean")return u;if(n.isDate(u))return a(e,u);if(ZH(u,n))return u.includes(e);if($E(u))return Ji(u,e,!1,n);if(XH(u))return Array.isArray(u.dayOfWeek)?u.dayOfWeek.includes(e.getDay()):u.dayOfWeek===e.getDay();if(GH(u)){const d=s(u.before,e),f=s(u.after,e),m=d>0,p=f<0;return l(u.before,u.after)?p&&m:m||p}return YH(u)?s(e,u.after)>0:KH(u)?s(u.before,e)>0:typeof u=="function"?u(e):!1})}function Y_e(e,t,n,r,a){const{disabled:s,hidden:l,modifiers:u,showOutsideDays:d,broadcastCalendar:f,today:m}=t,{isSameDay:p,isSameMonth:g,startOfMonth:x,isBefore:j,endOfMonth:w,isAfter:b}=a,N=n&&x(n),E=r&&w(r),O={[on.focused]:[],[on.outside]:[],[on.disabled]:[],[on.hidden]:[],[on.today]:[]},A={};for(const C of e){const{date:k,displayMonth:T}=C,M=!!(T&&!g(k,T)),R=!!(N&&j(k,N)),B=!!(E&&b(k,E)),$=!!(s&&es(k,s,a)),H=!!(l&&es(k,l,a))||R||B||!f&&!d&&M||f&&d===!1&&M,V=p(k,m??a.today());M&&O.outside.push(C),$&&O.disabled.push(C),H&&O.hidden.push(C),V&&O.today.push(C),u&&Object.keys(u).forEach(q=>{const G=u?.[q];G&&es(k,G,a)&&(A[q]?A[q].push(C):A[q]=[C])})}return C=>{const k={[on.focused]:!1,[on.disabled]:!1,[on.hidden]:!1,[on.outside]:!1,[on.today]:!1},T={};for(const M in O){const R=O[M];k[M]=R.some(B=>B===C)}for(const M in A)T[M]=A[M].some(R=>R===C);return{...k,...T}}}function K_e(e,t,n={}){return Object.entries(e).filter(([,a])=>a===!0).reduce((a,[s])=>(n[s]?a.push(n[s]):t[on[s]]?a.push(t[on[s]]):t[Ua[s]]&&a.push(t[Ua[s]]),a),[t[Be.Day]])}function X_e(e){return{...G_e,...e}}function Z_e(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,r])=>{n.startsWith("data-")&&(t[n]=r)}),t}function IE(){const e={};for(const t in Be)e[Be[t]]=`rdp-${Be[t]}`;for(const t in on)e[on[t]]=`rdp-${on[t]}`;for(const t in Ua)e[Ua[t]]=`rdp-${Ua[t]}`;for(const t in Jr)e[Jr[t]]=`rdp-${Jr[t]}`;return e}function QH(e,t,n){return(n??new oa(t)).formatMonthYear(e)}const Q_e=QH;function J_e(e,t,n){return(n??new oa(t)).format(e,"d")}function eNe(e,t=Ci){return t.format(e,"LLLL")}function tNe(e,t,n){return(n??new oa(t)).format(e,"cccccc")}function nNe(e,t=Ci){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function rNe(){return""}function JH(e,t=Ci){return t.format(e,"yyyy")}const aNe=JH,iNe=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:QH,formatDay:J_e,formatMonthCaption:Q_e,formatMonthDropdown:eNe,formatWeekNumber:nNe,formatWeekNumberHeader:rNe,formatWeekdayName:tNe,formatYearCaption:aNe,formatYearDropdown:JH},Symbol.toStringTag,{value:"Module"}));function sNe(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...iNe,...e}}function oNe(e,t,n,r,a){const{startOfMonth:s,startOfYear:l,endOfYear:u,eachMonthOfInterval:d,getMonth:f}=a;return d({start:l(e),end:u(e)}).map(g=>{const x=r.formatMonthDropdown(g,a),j=f(g),w=t&&gs(n)||!1;return{value:j,label:x,disabled:w}})}function lNe(e,t={},n={}){let r={...t?.[Be.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{r={...r,...n?.[a]}}),r}function cNe(e,t,n){const r=e.today(),a=t?e.startOfISOWeek(r):e.startOfWeek(r),s=[];for(let l=0;l<7;l++){const u=e.addDays(a,l);s.push(u)}return s}function uNe(e,t,n,r,a=!1){if(!e||!t)return;const{startOfYear:s,endOfYear:l,eachYearOfInterval:u,getYear:d}=r,f=s(e),m=l(t),p=u({start:f,end:m});return a&&p.reverse(),p.map(g=>{const x=n.formatYearDropdown(g,r);return{value:d(g),label:x,disabled:!1}})}function e9(e,t,n,r){let a=(r??new oa(n)).format(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a}const dNe=e9;function t9(e,t,n){return(n??new oa(t)).formatMonthYear(e)}const fNe=t9;function hNe(e,t,n,r){let a=(r??new oa(n)).format(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a}function mNe(e){return"Choose the Month"}function pNe(){return""}function vNe(e){return"Go to the Next Month"}function gNe(e){return"Go to the Previous Month"}function yNe(e,t,n){return(n??new oa(t)).format(e,"cccc")}function xNe(e,t){return`Week ${e}`}function bNe(e){return"Week Number"}function wNe(e){return"Choose the Year"}const jNe=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:fNe,labelDay:dNe,labelDayButton:e9,labelGrid:t9,labelGridcell:hNe,labelMonthDropdown:mNe,labelNav:pNe,labelNext:vNe,labelPrevious:gNe,labelWeekNumber:xNe,labelWeekNumberHeader:bNe,labelWeekday:yNe,labelYearDropdown:wNe},Symbol.toStringTag,{value:"Module"})),im=e=>e instanceof HTMLElement?e:null,f_=e=>[...e.querySelectorAll("[data-animated-month]")??[]],SNe=e=>im(e.querySelector("[data-animated-month]")),h_=e=>im(e.querySelector("[data-animated-caption]")),m_=e=>im(e.querySelector("[data-animated-weeks]")),_Ne=e=>im(e.querySelector("[data-animated-nav]")),NNe=e=>im(e.querySelector("[data-animated-weekdays]"));function CNe(e,t,{classNames:n,months:r,focused:a,dateLib:s}){const l=y.useRef(null),u=y.useRef(r),d=y.useRef(!1);y.useLayoutEffect(()=>{const f=u.current;if(u.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||f.length===0||r.length!==f.length)return;const m=s.isSameMonth(r[0].date,f[0].date),p=s.isAfter(r[0].date,f[0].date),g=p?n[Jr.caption_after_enter]:n[Jr.caption_before_enter],x=p?n[Jr.weeks_after_enter]:n[Jr.weeks_before_enter],j=l.current,w=e.current.cloneNode(!0);if(w instanceof HTMLElement?(f_(w).forEach(O=>{if(!(O instanceof HTMLElement))return;const A=SNe(O);A&&O.contains(A)&&O.removeChild(A);const C=h_(O);C&&C.classList.remove(g);const k=m_(O);k&&k.classList.remove(x)}),l.current=w):l.current=null,d.current||m||a)return;const b=j instanceof HTMLElement?f_(j):[],N=f_(e.current);if(N?.every(E=>E instanceof HTMLElement)&&b&&b.every(E=>E instanceof HTMLElement)){d.current=!0,e.current.style.isolation="isolate";const E=_Ne(e.current);E&&(E.style.zIndex="1"),N.forEach((O,A)=>{const C=b[A];if(!C)return;O.style.position="relative",O.style.overflow="hidden";const k=h_(O);k&&k.classList.add(g);const T=m_(O);T&&T.classList.add(x);const M=()=>{d.current=!1,e.current&&(e.current.style.isolation=""),E&&(E.style.zIndex=""),k&&k.classList.remove(g),T&&T.classList.remove(x),O.style.position="",O.style.overflow="",O.contains(C)&&O.removeChild(C)};C.style.pointerEvents="none",C.style.position="absolute",C.style.overflow="hidden",C.setAttribute("aria-hidden","true");const R=NNe(C);R&&(R.style.opacity="0");const B=h_(C);B&&(B.classList.add(p?n[Jr.caption_before_exit]:n[Jr.caption_after_exit]),B.addEventListener("animationend",M));const $=m_(C);$&&$.classList.add(p?n[Jr.weeks_before_exit]:n[Jr.weeks_after_exit]),O.insertBefore(C,O.firstChild)})}})}function ONe(e,t,n,r){const a=e[0],s=e[e.length-1],{ISOWeek:l,fixedWeeks:u,broadcastCalendar:d}=n??{},{addDays:f,differenceInCalendarDays:m,differenceInCalendarMonths:p,endOfBroadcastWeek:g,endOfISOWeek:x,endOfMonth:j,endOfWeek:w,isAfter:b,startOfBroadcastWeek:N,startOfISOWeek:E,startOfWeek:O}=r,A=d?N(a,r):l?E(a):O(a),C=d?g(s):l?x(j(s)):w(j(s)),k=m(C,A),T=p(s,a)+1,M=[];for(let $=0;$<=k;$++){const H=f(A,$);if(t&&b(H,t))break;M.push(H)}const B=(d?35:42)*T;if(u&&M.length{const a=r.weeks.reduce((s,l)=>s.concat(l.days.slice()),t.slice());return n.concat(a.slice())},t.slice())}function ANe(e,t,n,r){const{numberOfMonths:a=1}=n,s=[];for(let l=0;lt)break;s.push(u)}return s}function WL(e,t,n,r){const{month:a,defaultMonth:s,today:l=r.today(),numberOfMonths:u=1}=e;let d=a||s||l;const{differenceInCalendarMonths:f,addMonths:m,startOfMonth:p}=r;if(n&&f(n,d){const N=n.broadcastCalendar?p(b,r):n.ISOWeek?g(b):x(b),E=n.broadcastCalendar?s(b):n.ISOWeek?l(u(b)):d(u(b)),O=t.filter(T=>T>=N&&T<=E),A=n.broadcastCalendar?35:42;if(n.fixedWeeks&&O.length{const R=A-O.length;return M>E&&M<=a(E,R)});O.push(...T)}const C=O.reduce((T,M)=>{const R=n.ISOWeek?f(M):m(M),B=T.find(H=>H.weekNumber===R),$=new WH(M,b,r);return B?B.days.push($):T.push(new b_e(R,[$])),T},[]),k=new x_e(b,C);return w.push(k),w},[]);return n.reverseMonths?j.reverse():j}function kNe(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:a,startOfDay:s,startOfMonth:l,endOfMonth:u,addYears:d,endOfYear:f,newDate:m,today:p}=t,{fromYear:g,toYear:x,fromMonth:j,toMonth:w}=e;!n&&j&&(n=j),!n&&g&&(n=t.newDate(g,0,1)),!r&&w&&(r=w),!r&&x&&(r=m(x,11,31));const b=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=l(n):g?n=m(g,0,1):!n&&b&&(n=a(d(e.today??p(),-100))),r?r=u(r):x?r=m(x,11,31):!r&&b&&(r=f(e.today??p())),[n&&s(n),r&&s(r)]}function MNe(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:s=1}=n,{startOfMonth:l,addMonths:u,differenceInCalendarMonths:d}=r,f=a?s:1,m=l(e);if(!t)return u(m,f);if(!(d(t,e)n.concat(r.weeks.slice()),t.slice())}function sx(e,t){const[n,r]=y.useState(e);return[t===void 0?n:t,r]}function DNe(e,t){const[n,r]=kNe(e,t),{startOfMonth:a,endOfMonth:s}=t,l=WL(e,n,r,t),[u,d]=sx(l,e.month?l:void 0);y.useEffect(()=>{const k=WL(e,n,r,t);d(k)},[e.timeZone]);const f=ANe(u,r,e,t),m=ONe(f,e.endMonth?s(e.endMonth):void 0,e,t),p=TNe(f,m,e,t),g=RNe(p),x=ENe(p),j=PNe(u,n,e,t),w=MNe(u,r,e,t),{disableNavigation:b,onMonthChange:N}=e,E=k=>g.some(T=>T.days.some(M=>M.isEqualTo(k))),O=k=>{if(b)return;let T=a(k);n&&Ta(r)&&(T=a(r)),d(T),N?.(T)};return{months:p,weeks:g,days:x,navStart:n,navEnd:r,previousMonth:j,nextMonth:w,goToMonth:O,goToDay:k=>{E(k)||O(k.date)}}}var ai;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(ai||(ai={}));function VL(e){return!e[on.disabled]&&!e[on.hidden]&&!e[on.outside]}function $Ne(e,t,n,r){let a,s=-1;for(const l of e){const u=t(l);VL(u)&&(u[on.focused]&&sVL(t(l)))),a}function INe(e,t,n,r,a,s,l){const{ISOWeek:u,broadcastCalendar:d}=s,{addDays:f,addMonths:m,addWeeks:p,addYears:g,endOfBroadcastWeek:x,endOfISOWeek:j,endOfWeek:w,max:b,min:N,startOfBroadcastWeek:E,startOfISOWeek:O,startOfWeek:A}=l;let k={day:f,week:p,month:m,year:g,startOfWeek:T=>d?E(T,l):u?O(T):A(T),endOfWeek:T=>d?x(T):u?j(T):w(T)}[e](n,t==="after"?1:-1);return t==="before"&&r?k=b([r,k]):t==="after"&&a&&(k=N([a,k])),k}function n9(e,t,n,r,a,s,l,u=0){if(u>365)return;const d=INe(e,t,n.date,r,a,s,l),f=!!(s.disabled&&es(d,s.disabled,l)),m=!!(s.hidden&&es(d,s.hidden,l)),p=d,g=new WH(d,p,l);return!f&&!m?g:n9(e,t,g,r,a,s,l,u+1)}function LNe(e,t,n,r,a){const{autoFocus:s}=e,[l,u]=y.useState(),d=$Ne(t.days,n,r||(()=>!1),l),[f,m]=y.useState(s?d:void 0);return{isFocusTarget:w=>!!d?.isEqualTo(w),setFocused:m,focused:f,blur:()=>{u(f),m(void 0)},moveFocus:(w,b)=>{if(!f)return;const N=n9(w,b,f,t.navStart,t.navEnd,e,a);N&&(e.disableNavigation&&!t.days.some(O=>O.isEqualTo(N))||(t.goToDay(N),m(N)))}}}function BNe(e,t){const{selected:n,required:r,onSelect:a}=e,[s,l]=sx(n,a?n:void 0),u=a?n:s,{isSameDay:d}=t,f=x=>u?.some(j=>d(j,x))??!1,{min:m,max:p}=e;return{selected:u,select:(x,j,w)=>{let b=[...u??[]];if(f(x)){if(u?.length===m||r&&u?.length===1)return;b=u?.filter(N=>!d(N,x))}else u?.length===p?b=[x]:b=[...b,x];return a||l(b),a?.(b,x,j,w),b},isSelected:f}}function zNe(e,t,n=0,r=0,a=!1,s=Ci){const{from:l,to:u}=t||{},{isSameDay:d,isAfter:f,isBefore:m}=s;let p;if(!l&&!u)p={from:e,to:n>0?void 0:e};else if(l&&!u)d(l,e)?n===0?p={from:l,to:e}:a?p={from:l,to:void 0}:p=void 0:m(e,l)?p={from:e,to:l}:p={from:l,to:e};else if(l&&u)if(d(l,e)&&d(u,e))a?p={from:l,to:u}:p=void 0;else if(d(l,e))p={from:l,to:n>0?void 0:e};else if(d(u,e))p={from:e,to:n>0?void 0:e};else if(m(e,l))p={from:e,to:u};else if(f(e,l))p={from:l,to:e};else if(f(e,u))p={from:l,to:e};else throw new Error("Invalid range");if(p?.from&&p?.to){const g=s.differenceInCalendarDays(p.to,p.from);r>0&&g>r?p={from:e,to:void 0}:n>1&&gtypeof u!="function").some(u=>typeof u=="boolean"?u:n.isDate(u)?Ji(e,u,!1,n):ZH(u,n)?u.some(d=>Ji(e,d,!1,n)):$E(u)?u.from&&u.to?GL(e,{from:u.from,to:u.to},n):!1:XH(u)?qNe(e,u.dayOfWeek,n):GH(u)?n.isAfter(u.before,u.after)?GL(e,{from:n.addDays(u.after,1),to:n.addDays(u.before,-1)},n):es(e.from,u,n)||es(e.to,u,n):YH(u)||KH(u)?es(e.from,u,n)||es(e.to,u,n):!1))return!0;const l=r.filter(u=>typeof u=="function");if(l.length){let u=e.from;const d=n.differenceInCalendarDays(e.to,e.from);for(let f=0;f<=d;f++){if(l.some(m=>m(u)))return!0;u=n.addDays(u,1)}}return!1}function UNe(e,t){const{disabled:n,excludeDisabled:r,selected:a,required:s,onSelect:l}=e,[u,d]=sx(a,l?a:void 0),f=l?a:u;return{selected:f,select:(g,x,j)=>{const{min:w,max:b}=e,N=g?zNe(g,f,w,b,s,t):void 0;return r&&n&&N?.from&&N.to&&FNe({from:N.from,to:N.to},n,t)&&(N.from=g,N.to=void 0),l||d(N),l?.(N,g,x,j),N},isSelected:g=>f&&Ji(f,g,!1,t)}}function HNe(e,t){const{selected:n,required:r,onSelect:a}=e,[s,l]=sx(n,a?n:void 0),u=a?n:s,{isSameDay:d}=t;return{selected:u,select:(p,g,x)=>{let j=p;return!r&&u&&u&&d(p,u)&&(j=void 0),a||l(j),a?.(j,p,g,x),j},isSelected:p=>u?d(u,p):!1}}function WNe(e,t){const n=HNe(e,t),r=BNe(e,t),a=UNe(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return a;default:return}}function VNe(e){let t=e;t.timeZone&&(t={...e},t.today&&(t.today=new dr(t.today,t.timeZone)),t.month&&(t.month=new dr(t.month,t.timeZone)),t.defaultMonth&&(t.defaultMonth=new dr(t.defaultMonth,t.timeZone)),t.startMonth&&(t.startMonth=new dr(t.startMonth,t.timeZone)),t.endMonth&&(t.endMonth=new dr(t.endMonth,t.timeZone)),t.mode==="single"&&t.selected?t.selected=new dr(t.selected,t.timeZone):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(it=>new dr(it,t.timeZone)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?new dr(t.selected.from,t.timeZone):void 0,to:t.selected.to?new dr(t.selected.to,t.timeZone):void 0}));const{components:n,formatters:r,labels:a,dateLib:s,locale:l,classNames:u}=y.useMemo(()=>{const it={...DE,...t.locale};return{dateLib:new oa({locale:it,weekStartsOn:t.broadcastCalendar?1:t.weekStartsOn,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},t.dateLib),components:X_e(t.components),formatters:sNe(t.formatters),labels:{...jNe,...t.labels},locale:it,classNames:{...IE(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.components,t.formatters,t.labels,t.classNames]),{captionLayout:d,mode:f,navLayout:m,numberOfMonths:p=1,onDayBlur:g,onDayClick:x,onDayFocus:j,onDayKeyDown:w,onDayMouseEnter:b,onDayMouseLeave:N,onNextClick:E,onPrevClick:O,showWeekNumber:A,styles:C}=t,{formatCaption:k,formatDay:T,formatMonthDropdown:M,formatWeekNumber:R,formatWeekNumberHeader:B,formatWeekdayName:$,formatYearDropdown:H}=r,V=DNe(t,s),{days:q,months:G,navStart:L,navEnd:D,previousMonth:U,nextMonth:K,goToMonth:J}=V,I=Y_e(q,t,L,D,s),{isSelected:z,select:Y,selected:te}=WNe(t,s)??{},{blur:ae,focused:ge,isFocusTarget:ee,moveFocus:Se,setFocused:re}=LNe(t,V,I,z??(()=>!1),s),{labelDayButton:we,labelGridcell:je,labelGrid:fe,labelMonthDropdown:Le,labelNav:Oe,labelPrevious:We,labelNext:be,labelWeekday:Ae,labelWeekNumber:ke,labelWeekNumberHeader:Qt,labelYearDropdown:St}=a,Tt=y.useMemo(()=>cNe(s,t.ISOWeek),[s,t.ISOWeek]),Sn=f!==void 0||x!==void 0,le=y.useCallback(()=>{U&&(J(U),O?.(U))},[U,J,O]),ue=y.useCallback(()=>{K&&(J(K),E?.(K))},[J,K,E]),Ve=y.useCallback((it,Gt)=>Ye=>{Ye.preventDefault(),Ye.stopPropagation(),re(it),Y?.(it.date,Gt,Ye),x?.(it.date,Gt,Ye)},[Y,x,re]),Mn=y.useCallback((it,Gt)=>Ye=>{re(it),j?.(it.date,Gt,Ye)},[j,re]),$l=y.useCallback((it,Gt)=>Ye=>{ae(),g?.(it.date,Gt,Ye)},[ae,g]),Il=y.useCallback((it,Gt)=>Ye=>{const wt={ArrowLeft:[Ye.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[Ye.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[Ye.shiftKey?"year":"week","after"],ArrowUp:[Ye.shiftKey?"year":"week","before"],PageUp:[Ye.shiftKey?"year":"month","before"],PageDown:[Ye.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(wt[Ye.key]){Ye.preventDefault(),Ye.stopPropagation();const[qn,st]=wt[Ye.key];Se(qn,st)}w?.(it.date,Gt,Ye)},[Se,w,t.dir]),dx=y.useCallback((it,Gt)=>Ye=>{b?.(it.date,Gt,Ye)},[b]),fm=y.useCallback((it,Gt)=>Ye=>{N?.(it.date,Gt,Ye)},[N]),fx=y.useCallback(it=>Gt=>{const Ye=Number(Gt.target.value),wt=s.setMonth(s.startOfMonth(it),Ye);J(wt)},[s,J]),hx=y.useCallback(it=>Gt=>{const Ye=Number(Gt.target.value),wt=s.setYear(s.startOfMonth(it),Ye);J(wt)},[s,J]),{className:bo,style:br}=y.useMemo(()=>({className:[u[Be.Root],t.className].filter(Boolean).join(" "),style:{...C?.[Be.Root],...t.style}}),[u,t.className,t.style,C]),Qa=Z_e(t),lr=y.useRef(null);CNe(lr,!!t.animate,{classNames:u,months:G,focused:ge,dateLib:s});const mx={dayPickerProps:t,selected:te,select:Y,isSelected:z,months:G,nextMonth:K,previousMonth:U,goToMonth:J,getModifiers:I,components:n,classNames:u,styles:C,labels:a,formatters:r};return W.createElement(VH.Provider,{value:mx},W.createElement(n.Root,{rootRef:t.animate?lr:void 0,className:bo,style:br,dir:t.dir,id:t.id,lang:t.lang,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...Qa},W.createElement(n.Months,{className:u[Be.Months],style:C?.[Be.Months]},!t.hideNavigation&&!m&&W.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:u[Be.Nav],style:C?.[Be.Nav],"aria-label":Oe(),onPreviousClick:le,onNextClick:ue,previousMonth:U,nextMonth:K}),G.map((it,Gt)=>W.createElement(n.Month,{"data-animated-month":t.animate?"true":void 0,className:u[Be.Month],style:C?.[Be.Month],key:Gt,displayIndex:Gt,calendarMonth:it},m==="around"&&!t.hideNavigation&&Gt===0&&W.createElement(n.PreviousMonthButton,{type:"button",className:u[Be.PreviousMonthButton],tabIndex:U?void 0:-1,"aria-disabled":U?void 0:!0,"aria-label":We(U),onClick:le,"data-animated-button":t.animate?"true":void 0},W.createElement(n.Chevron,{disabled:U?void 0:!0,className:u[Be.Chevron],orientation:t.dir==="rtl"?"right":"left"})),W.createElement(n.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:u[Be.MonthCaption],style:C?.[Be.MonthCaption],calendarMonth:it,displayIndex:Gt},d?.startsWith("dropdown")?W.createElement(n.DropdownNav,{className:u[Be.Dropdowns],style:C?.[Be.Dropdowns]},(()=>{const Ye=d==="dropdown"||d==="dropdown-months"?W.createElement(n.MonthsDropdown,{key:"month",className:u[Be.MonthsDropdown],"aria-label":Le(),classNames:u,components:n,disabled:!!t.disableNavigation,onChange:fx(it.date),options:oNe(it.date,L,D,r,s),style:C?.[Be.Dropdown],value:s.getMonth(it.date)}):W.createElement("span",{key:"month"},M(it.date,s)),wt=d==="dropdown"||d==="dropdown-years"?W.createElement(n.YearsDropdown,{key:"year",className:u[Be.YearsDropdown],"aria-label":St(s.options),classNames:u,components:n,disabled:!!t.disableNavigation,onChange:hx(it.date),options:uNe(L,D,r,s,!!t.reverseYears),style:C?.[Be.Dropdown],value:s.getYear(it.date)}):W.createElement("span",{key:"year"},H(it.date,s));return s.getMonthYearOrder()==="year-first"?[wt,Ye]:[Ye,wt]})(),W.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},k(it.date,s.options,s))):W.createElement(n.CaptionLabel,{className:u[Be.CaptionLabel],role:"status","aria-live":"polite"},k(it.date,s.options,s))),m==="around"&&!t.hideNavigation&&Gt===p-1&&W.createElement(n.NextMonthButton,{type:"button",className:u[Be.NextMonthButton],tabIndex:K?void 0:-1,"aria-disabled":K?void 0:!0,"aria-label":be(K),onClick:ue,"data-animated-button":t.animate?"true":void 0},W.createElement(n.Chevron,{disabled:K?void 0:!0,className:u[Be.Chevron],orientation:t.dir==="rtl"?"left":"right"})),Gt===p-1&&m==="after"&&!t.hideNavigation&&W.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:u[Be.Nav],style:C?.[Be.Nav],"aria-label":Oe(),onPreviousClick:le,onNextClick:ue,previousMonth:U,nextMonth:K}),W.createElement(n.MonthGrid,{role:"grid","aria-multiselectable":f==="multiple"||f==="range","aria-label":fe(it.date,s.options,s)||void 0,className:u[Be.MonthGrid],style:C?.[Be.MonthGrid]},!t.hideWeekdays&&W.createElement(n.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:u[Be.Weekdays],style:C?.[Be.Weekdays]},A&&W.createElement(n.WeekNumberHeader,{"aria-label":Qt(s.options),className:u[Be.WeekNumberHeader],style:C?.[Be.WeekNumberHeader],scope:"col"},B()),Tt.map(Ye=>W.createElement(n.Weekday,{"aria-label":Ae(Ye,s.options,s),className:u[Be.Weekday],key:String(Ye),style:C?.[Be.Weekday],scope:"col"},$(Ye,s.options,s)))),W.createElement(n.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:u[Be.Weeks],style:C?.[Be.Weeks]},it.weeks.map(Ye=>W.createElement(n.Week,{className:u[Be.Week],key:Ye.weekNumber,style:C?.[Be.Week],week:Ye},A&&W.createElement(n.WeekNumber,{week:Ye,style:C?.[Be.WeekNumber],"aria-label":ke(Ye.weekNumber,{locale:l}),className:u[Be.WeekNumber],scope:"row",role:"rowheader"},R(Ye.weekNumber,s)),Ye.days.map(wt=>{const{date:qn}=wt,st=I(wt);if(st[on.focused]=!st.hidden&&!!ge?.isEqualTo(wt),st[Ua.selected]=z?.(qn)||st.selected,$E(te)){const{from:Bl,to:jo}=te;st[Ua.range_start]=!!(Bl&&jo&&s.isSameDay(qn,Bl)),st[Ua.range_end]=!!(Bl&&jo&&s.isSameDay(qn,jo)),st[Ua.range_middle]=Ji(te,qn,!0,s)}const Ll=lNe(st,C,t.modifiersStyles),wo=K_e(st,u,t.modifiersClassNames),px=!Sn&&!st.hidden?je(qn,st,s.options,s):void 0;return W.createElement(n.Day,{key:`${s.format(qn,"yyyy-MM-dd")}_${s.format(wt.displayMonth,"yyyy-MM")}`,day:wt,modifiers:st,className:wo.join(" "),style:Ll,role:"gridcell","aria-selected":st.selected||void 0,"aria-label":px,"data-day":s.format(qn,"yyyy-MM-dd"),"data-month":wt.outside?s.format(qn,"yyyy-MM"):void 0,"data-selected":st.selected||void 0,"data-disabled":st.disabled||void 0,"data-hidden":st.hidden||void 0,"data-outside":wt.outside||void 0,"data-focused":st.focused||void 0,"data-today":st.today||void 0},!st.hidden&&Sn?W.createElement(n.DayButton,{className:u[Be.DayButton],style:C?.[Be.DayButton],type:"button",day:wt,modifiers:st,disabled:st.disabled||void 0,tabIndex:ee(wt)?0:-1,"aria-label":we(qn,st,s.options,s),onClick:Ve(wt,st),onBlur:$l(wt,st),onFocus:Mn(wt,st),onKeyDown:Il(wt,st),onMouseEnter:dx(wt,st),onMouseLeave:fm(wt,st)},T(qn,s.options,s)):!st.hidden&&T(wt.date,s.options,s))})))))))),t.footer&&W.createElement(n.Footer,{className:u[Be.Footer],style:C?.[Be.Footer],role:"status","aria-live":"polite"},t.footer)))}function YL({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r="label",buttonVariant:a="ghost",formatters:s,components:l,...u}){const d=IE();return i.jsx(VNe,{showOutsideDays:n,className:ce("bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:f=>f.toLocaleString("default",{month:"short"}),...s},classNames:{root:ce("w-fit",d.root),months:ce("relative flex flex-col gap-4 md:flex-row",d.months),month:ce("flex w-full flex-col gap-4",d.month),nav:ce("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",d.nav),button_previous:ce(xh({variant:a}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",d.button_previous),button_next:ce(xh({variant:a}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",d.button_next),month_caption:ce("flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",d.month_caption),dropdowns:ce("flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",d.dropdowns),dropdown_root:ce("has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",d.dropdown_root),dropdown:ce("bg-popover absolute inset-0 opacity-0",d.dropdown),caption_label:ce("select-none font-medium",r==="label"?"text-sm":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5",d.caption_label),table:"w-full border-collapse",weekdays:ce("flex",d.weekdays),weekday:ce("text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",d.weekday),week:ce("mt-2 flex w-full",d.week),week_number_header:ce("w-[--cell-size] select-none",d.week_number_header),week_number:ce("text-muted-foreground select-none text-[0.8rem]",d.week_number),day:ce("group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",d.day),range_start:ce("bg-accent rounded-l-md",d.range_start),range_middle:ce("rounded-none",d.range_middle),range_end:ce("bg-accent rounded-r-md",d.range_end),today:ce("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",d.today),outside:ce("text-muted-foreground aria-selected:text-muted-foreground",d.outside),disabled:ce("text-muted-foreground opacity-50",d.disabled),hidden:ce("invisible",d.hidden),...t},components:{Root:({className:f,rootRef:m,...p})=>i.jsx("div",{"data-slot":"calendar",ref:m,className:ce(f),...p}),Chevron:({className:f,orientation:m,...p})=>m==="left"?i.jsx(tE,{className:ce("size-4",f),...p}):m==="right"?i.jsx(nE,{className:ce("size-4",f),...p}):i.jsx(vh,{className:ce("size-4",f),...p}),DayButton:GNe,WeekNumber:({children:f,...m})=>i.jsx("td",{...m,children:i.jsx("div",{className:"flex size-[--cell-size] items-center justify-center text-center",children:f})}),...l},...u})}function GNe({className:e,day:t,modifiers:n,...r}){const a=IE(),s=y.useRef(null);return y.useEffect(()=>{n.focused&&s.current?.focus()},[n.focused]),i.jsx(oe,{ref:s,variant:"ghost",size:"icon","data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:ce("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",a.day,e),...r})}class YNe{ws=null;reconnectTimeout=null;reconnectAttempts=0;maxReconnectAttempts=10;heartbeatInterval=null;logCallbacks=new Set;connectionCallbacks=new Set;isConnected=!1;logCache=[];maxCacheSize=1e3;getWebSocketUrl(){{const t=window.location.protocol==="https:"?"wss:":"ws:",n=window.location.host;return`${t}//${n}/ws/logs`}}connect(){if(this.ws?.readyState===WebSocket.OPEN||this.ws?.readyState===WebSocket.CONNECTING)return;const t=this.getWebSocketUrl();try{this.ws=new WebSocket(t),this.ws.onopen=()=>{this.isConnected=!0,this.reconnectAttempts=0,this.notifyConnection(!0),this.startHeartbeat()},this.ws.onmessage=n=>{try{if(n.data==="pong")return;const r=JSON.parse(n.data);this.notifyLog(r)}catch(r){console.error("解析日志消息失败:",r)}},this.ws.onerror=n=>{console.error("❌ WebSocket 错误:",n),this.isConnected=!1,this.notifyConnection(!1)},this.ws.onclose=()=>{this.isConnected=!1,this.notifyConnection(!1),this.stopHeartbeat(),this.attemptReconnect()}}catch(n){console.error("创建 WebSocket 连接失败:",n),this.attemptReconnect()}}attemptReconnect(){if(this.reconnectAttempts>=this.maxReconnectAttempts)return;this.reconnectAttempts+=1;const t=Math.min(1e3*this.reconnectAttempts,1e4);this.reconnectTimeout=window.setTimeout(()=>{this.connect()},t)}startHeartbeat(){this.heartbeatInterval=window.setInterval(()=>{this.ws?.readyState===WebSocket.OPEN&&this.ws.send("ping")},3e4)}stopHeartbeat(){this.heartbeatInterval!==null&&(clearInterval(this.heartbeatInterval),this.heartbeatInterval=null)}disconnect(){this.reconnectTimeout!==null&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.stopHeartbeat(),this.ws&&(this.ws.close(),this.ws=null),this.isConnected=!1,this.reconnectAttempts=0}onLog(t){return this.logCallbacks.add(t),()=>this.logCallbacks.delete(t)}onConnectionChange(t){return this.connectionCallbacks.add(t),t(this.isConnected),()=>this.connectionCallbacks.delete(t)}notifyLog(t){this.logCache.some(r=>r.id===t.id)||(this.logCache.push(t),this.logCache.length>this.maxCacheSize&&(this.logCache=this.logCache.slice(-this.maxCacheSize)),this.logCallbacks.forEach(r=>{try{r(t)}catch(a){console.error("日志回调执行失败:",a)}}))}notifyConnection(t){this.connectionCallbacks.forEach(n=>{try{n(t)}catch(r){console.error("连接状态回调执行失败:",r)}})}getAllLogs(){return[...this.logCache]}clearLogs(){this.logCache=[]}getConnectionStatus(){return this.isConnected}}const Bc=new YNe;typeof window<"u"&&Bc.connect();const KNe={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},XNe=(e,t,n)=>{let r;const a=KNe[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"内":r+"前":r},ZNe={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},QNe={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},JNe={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},eCe={date:eu({formats:ZNe,defaultWidth:"full"}),time:eu({formats:QNe,defaultWidth:"full"}),dateTime:eu({formats:JNe,defaultWidth:"full"})};function KL(e,t,n){const r="eeee p";return d_e(e,t,n)?r:e.getTime()>t.getTime()?"'下个'"+r:"'上个'"+r}const tCe={lastWeek:KL,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:KL,other:"PP p"},nCe=(e,t,n,r)=>{const a=tCe[e];return typeof a=="function"?a(t,n,r):a},rCe={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},aCe={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},iCe={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},sCe={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},oCe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},lCe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},cCe=(e,t)=>{const n=Number(e);switch(t?.unit){case"date":return n.toString()+"日";case"hour":return n.toString()+"时";case"minute":return n.toString()+"分";case"second":return n.toString()+"秒";default:return"第 "+n.toString()}},uCe={ordinalNumber:cCe,era:oi({values:rCe,defaultWidth:"wide"}),quarter:oi({values:aCe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:oi({values:iCe,defaultWidth:"wide"}),day:oi({values:sCe,defaultWidth:"wide"}),dayPeriod:oi({values:oCe,defaultWidth:"wide",formattingValues:lCe,defaultFormattingWidth:"wide"})},dCe=/^(第\s*)?\d+(日|时|分|秒)?/i,fCe=/\d+/i,hCe={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},mCe={any:[/^(前)/i,/^(公元)/i]},pCe={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},vCe={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},gCe={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},yCe={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},xCe={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},bCe={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},wCe={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},jCe={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},SCe={ordinalNumber:BH({matchPattern:dCe,parsePattern:fCe,valueCallback:e=>parseInt(e,10)}),era:li({matchPatterns:hCe,defaultMatchWidth:"wide",parsePatterns:mCe,defaultParseWidth:"any"}),quarter:li({matchPatterns:pCe,defaultMatchWidth:"wide",parsePatterns:vCe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:li({matchPatterns:gCe,defaultMatchWidth:"wide",parsePatterns:yCe,defaultParseWidth:"any"}),day:li({matchPatterns:xCe,defaultMatchWidth:"wide",parsePatterns:bCe,defaultParseWidth:"any"}),dayPeriod:li({matchPatterns:wCe,defaultMatchWidth:"any",parsePatterns:jCe,defaultParseWidth:"any"})},Qp={code:"zh-CN",formatDistance:XNe,formatLong:eCe,formatRelative:nCe,localize:uCe,match:SCe,options:{weekStartsOn:1,firstWeekContainsDate:4}};function _Ce(){const[e,t]=y.useState([]),[n,r]=y.useState(""),[a,s]=y.useState("all"),[l,u]=y.useState("all"),[d,f]=y.useState(void 0),[m,p]=y.useState(void 0),[g,x]=y.useState(!0),[j,w]=y.useState(!1),b=y.useRef(null),N=y.useRef(null);y.useEffect(()=>{const $=Bc.getAllLogs();t($);const H=Bc.onLog(()=>{t(Bc.getAllLogs())}),V=Bc.onConnectionChange(q=>{w(q)});return()=>{H(),V()}},[]),y.useEffect(()=>{g&&N.current&&N.current.scrollIntoView({behavior:"smooth",block:"end"})},[e,g]);const E=y.useMemo(()=>{const $=new Set(e.map(H=>H.module));return Array.from($).sort()},[e]),O=$=>{switch($){case"DEBUG":return"text-muted-foreground";case"INFO":return"text-blue-500 dark:text-blue-400";case"WARNING":return"text-yellow-600 dark:text-yellow-500";case"ERROR":return"text-red-600 dark:text-red-500";case"CRITICAL":return"text-red-700 dark:text-red-400 font-bold";default:return"text-foreground"}},A=$=>{switch($){case"DEBUG":return"bg-gray-800/30 dark:bg-gray-800/50";case"INFO":return"bg-blue-900/20 dark:bg-blue-500/20";case"WARNING":return"bg-yellow-900/20 dark:bg-yellow-500/20";case"ERROR":return"bg-red-900/20 dark:bg-red-500/20";case"CRITICAL":return"bg-red-900/30 dark:bg-red-600/30";default:return"bg-gray-800/20 dark:bg-gray-800/30"}},C=()=>{window.location.reload()},k=()=>{Bc.clearLogs(),t([])},T=()=>{const $=B.map(G=>`${G.timestamp} [${G.level.padEnd(8)}] [${G.module}] ${G.message}`).join(` -`),H=new Blob([$],{type:"text/plain;charset=utf-8"}),V=URL.createObjectURL(H),q=document.createElement("a");q.href=V,q.download=`logs-${pv(new Date,"yyyy-MM-dd-HHmmss")}.txt`,q.click(),URL.revokeObjectURL(V)},M=()=>{x(!g)},R=()=>{f(void 0),p(void 0)},B=y.useMemo(()=>e.filter($=>{const H=n===""||$.message.toLowerCase().includes(n.toLowerCase())||$.module.toLowerCase().includes(n.toLowerCase()),V=a==="all"||$.level===a,q=l==="all"||$.module===l;let G=!0;if(d||m){const L=new Date($.timestamp);if(d){const D=new Date(d);D.setHours(0,0,0,0),G=G&&L>=D}if(m){const D=new Date(m);D.setHours(23,59,59,999),G=G&&L<=D}}return H&&V&&q&&G}),[e,n,a,l,d,m]);return i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 p-3 sm:p-4 lg:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-xl sm:text-2xl lg:text-3xl font-bold",children:"日志查看器"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:"实时查看和分析麦麦运行日志"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("div",{className:ce("h-2.5 w-2.5 sm:h-3 sm:w-3 rounded-full",j?"bg-green-500 animate-pulse":"bg-red-500")}),i.jsx("span",{className:"text-xs sm:text-sm text-muted-foreground",children:j?"已连接":"未连接"})]})]}),i.jsx(Xe,{className:"p-3 sm:p-4",children:i.jsxs("div",{className:"flex flex-col gap-3 sm:gap-4",children:[i.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:gap-4",children:[i.jsxs("div",{className:"flex-1 relative",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{placeholder:"搜索日志...",value:n,onChange:$=>r($.target.value),className:"pl-9 h-9 text-sm"})]}),i.jsxs(Dt,{value:a,onValueChange:s,children:[i.jsxs(Ot,{className:"w-full sm:w-[140px] lg:w-[180px] h-9 text-sm",children:[i.jsx(eC,{className:"h-4 w-4 mr-2"}),i.jsx($t,{placeholder:"级别"})]}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部级别"}),i.jsx(De,{value:"DEBUG",children:"DEBUG"}),i.jsx(De,{value:"INFO",children:"INFO"}),i.jsx(De,{value:"WARNING",children:"WARNING"}),i.jsx(De,{value:"ERROR",children:"ERROR"}),i.jsx(De,{value:"CRITICAL",children:"CRITICAL"})]})]}),i.jsxs(Dt,{value:l,onValueChange:u,children:[i.jsxs(Ot,{className:"w-full sm:w-[160px] lg:w-[200px] h-9 text-sm",children:[i.jsx(eC,{className:"h-4 w-4 mr-2"}),i.jsx($t,{placeholder:"模块"})]}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部模块"}),E.map($=>i.jsx(De,{value:$,children:$},$))]})]})]}),i.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:gap-4",children:[i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",className:ce("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!d&&"text-muted-foreground"),children:[i.jsx(QI,{className:"mr-2 h-4 w-4"}),i.jsx("span",{className:"text-xs sm:text-sm",children:d?pv(d,"PPP",{locale:Qp}):"开始日期"})]})}),i.jsx(ds,{className:"w-auto p-0",align:"start",children:i.jsx(YL,{mode:"single",selected:d,onSelect:f,initialFocus:!0,locale:Qp})})]}),i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",className:ce("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!m&&"text-muted-foreground"),children:[i.jsx(QI,{className:"mr-2 h-4 w-4"}),i.jsx("span",{className:"text-xs sm:text-sm",children:m?pv(m,"PPP",{locale:Qp}):"结束日期"})]})}),i.jsx(ds,{className:"w-auto p-0",align:"start",children:i.jsx(YL,{mode:"single",selected:m,onSelect:p,initialFocus:!0,locale:Qp})})]}),(d||m)&&i.jsxs(oe,{variant:"outline",size:"sm",onClick:R,className:"w-full sm:w-auto h-9",children:[i.jsx(Yh,{className:"h-4 w-4 sm:mr-2"}),i.jsx("span",{className:"hidden sm:inline text-sm",children:"清除时间筛选"}),i.jsx("span",{className:"sm:hidden text-sm",children:"清除"})]})]}),i.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",children:[i.jsxs("div",{className:"flex gap-2 flex-wrap",children:[i.jsxs(oe,{variant:g?"default":"outline",size:"sm",onClick:M,className:"flex-1 sm:flex-none h-9",children:[g?i.jsx(yge,{className:"h-4 w-4"}):i.jsx(wge,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:g?"自动滚动":"已暂停"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:C,className:"flex-1 sm:flex-none h-9",children:[i.jsx(is,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:"刷新"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:k,className:"flex-1 sm:flex-none h-9",children:[i.jsx(It,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:"清空"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:T,className:"flex-1 sm:flex-none h-9",children:[i.jsx(QN,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:"导出"})]})]}),i.jsx("div",{className:"flex-1 hidden sm:block"}),i.jsxs("div",{className:"text-xs sm:text-sm text-muted-foreground flex items-center justify-center sm:justify-end",children:[i.jsxs("span",{className:"font-mono",children:[B.length," / ",e.length]}),i.jsx("span",{className:"ml-1",children:"条日志"})]})]})]})}),i.jsx(Xe,{className:"bg-black dark:bg-gray-950 border-gray-800 dark:border-gray-900",children:i.jsx(Wt,{className:"h-[calc(100vh-280px)] sm:h-[calc(100vh-320px)] lg:h-[calc(100vh-400px)]",children:i.jsxs("div",{ref:b,className:"p-2 sm:p-3 lg:p-4 font-mono text-xs sm:text-sm space-y-1",children:[B.length===0?i.jsx("div",{className:"text-gray-500 dark:text-gray-600 text-center py-8 text-sm",children:"暂无日志数据"}):B.map($=>i.jsxs("div",{className:ce("py-2 px-2 sm:px-3 rounded hover:bg-white/5 transition-colors group",A($.level)),children:[i.jsxs("div",{className:"flex flex-col gap-1 sm:hidden",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-gray-500 dark:text-gray-600 text-xs",children:$.timestamp}),i.jsxs("span",{className:ce("text-xs font-semibold",O($.level)),children:["[",$.level,"]"]})]}),i.jsx("div",{className:"text-cyan-400 dark:text-cyan-500 text-xs truncate",children:$.module}),i.jsx("div",{className:"text-gray-300 dark:text-gray-400 text-xs break-all",children:$.message})]}),i.jsxs("div",{className:"hidden sm:flex gap-3 items-start",children:[i.jsx("span",{className:"text-gray-500 dark:text-gray-600 flex-shrink-0 w-[140px] lg:w-[180px] text-xs lg:text-sm",children:$.timestamp}),i.jsxs("span",{className:ce("flex-shrink-0 w-[70px] lg:w-[80px] font-semibold text-xs lg:text-sm",O($.level)),children:["[",$.level,"]"]}),i.jsx("span",{className:"text-cyan-400 dark:text-cyan-500 flex-shrink-0 w-[120px] lg:w-[150px] truncate text-xs lg:text-sm",children:$.module}),i.jsx("span",{className:"text-gray-300 dark:text-gray-400 flex-1 break-all text-xs lg:text-sm",children:$.message})]})]},$.id)),i.jsx("div",{ref:N,className:"h-4"})]})})})]})})}const NCe="Mai-with-u",CCe="plugin-repo",OCe="main",ECe="plugin_details.json";async function ACe(){try{const e=await rt("/api/webui/plugins/fetch-raw",{method:"POST",headers:dt(),body:JSON.stringify({owner:NCe,repo:CCe,branch:OCe,file_path:ECe})});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const t=await e.json();if(!t.success||!t.data)throw new Error(t.error||"获取插件列表失败");return JSON.parse(t.data).filter(a=>!a?.id||!a?.manifest?(console.warn("跳过无效插件数据:",a),!1):!a.manifest.name||!a.manifest.version?(console.warn("跳过缺少必需字段的插件:",a.id),!1):!0).map(a=>({id:a.id,manifest:{manifest_version:a.manifest.manifest_version||1,name:a.manifest.name,version:a.manifest.version,description:a.manifest.description||"",author:a.manifest.author||{name:"Unknown"},license:a.manifest.license||"Unknown",host_application:a.manifest.host_application||{min_version:"0.0.0"},homepage_url:a.manifest.homepage_url,repository_url:a.manifest.repository_url,keywords:a.manifest.keywords||[],categories:a.manifest.categories||[],default_locale:a.manifest.default_locale||"zh-CN",locales_path:a.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!1,published_at:new Date().toISOString(),updated_at:new Date().toISOString()}))}catch(e){throw console.error("Failed to fetch plugin list:",e),e}}async function TCe(){try{const e=await rt("/api/webui/plugins/git-status");if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return await e.json()}catch(e){return console.error("Failed to check Git status:",e),{installed:!1,error:"无法检测 Git 安装状态"}}}async function kCe(){try{const e=await rt("/api/webui/plugins/version");if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return await e.json()}catch(e){return console.error("Failed to get Maimai version:",e),{version:"0.0.0",version_major:0,version_minor:0,version_patch:0}}}function MCe(e,t,n){const r=e.split(".").map(u=>parseInt(u)||0),a=r[0]||0,s=r[1]||0,l=r[2]||0;if(n.version_majorparseInt(p)||0),d=u[0]||0,f=u[1]||0,m=u[2]||0;if(n.version_major>d||n.version_major===d&&n.version_minor>f||n.version_major===d&&n.version_minor===f&&n.version_patch>m)return!1}return!0}function PCe(e,t){const n=window.location.protocol==="https:"?"wss:":"ws:",r=window.location.host,a=new WebSocket(`${n}//${r}/api/webui/ws/plugin-progress`);return a.onopen=()=>{console.log("Plugin progress WebSocket connected");const s=setInterval(()=>{a.readyState===WebSocket.OPEN?a.send("ping"):clearInterval(s)},3e4)},a.onmessage=s=>{try{if(s.data==="pong")return;const l=JSON.parse(s.data);e(l)}catch(l){console.error("Failed to parse progress data:",l)}},a.onerror=s=>{console.error("Plugin progress WebSocket error:",s),t?.(s)},a.onclose=()=>{console.log("Plugin progress WebSocket disconnected")},a}async function Jp(){try{const e=await rt("/api/webui/plugins/installed",{headers:dt()});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const t=await e.json();if(!t.success)throw new Error(t.message||"获取已安装插件列表失败");return t.plugins||[]}catch(e){return console.error("Failed to get installed plugins:",e),[]}}function ev(e,t){return t.some(n=>n.id===e)}function tv(e,t){const n=t.find(r=>r.id===e);if(n)return n.manifest?.version||n.version}async function RCe(e,t,n="main"){const r=await rt("/api/webui/plugins/install",{method:"POST",headers:dt(),body:JSON.stringify({plugin_id:e,repository_url:t,branch:n})});if(!r.ok){const a=await r.json();throw new Error(a.detail||"安装失败")}return await r.json()}async function DCe(e){const t=await rt("/api/webui/plugins/uninstall",{method:"POST",headers:dt(),body:JSON.stringify({plugin_id:e})});if(!t.ok){const n=await t.json();throw new Error(n.detail||"卸载失败")}return await t.json()}async function $Ce(e,t,n="main"){const r=await rt("/api/webui/plugins/update",{method:"POST",headers:dt(),body:JSON.stringify({plugin_id:e,repository_url:t,branch:n})});if(!r.ok){const a=await r.json();throw new Error(a.detail||"更新失败")}return await r.json()}const XL={"Group Management":"群组管理","Entertainment & Interaction":"娱乐互动","Utility Tools":"实用工具","Content Generation":"内容生成",Multimedia:"多媒体","External Integration":"外部集成","Data Analysis & Insights":"数据分析与洞察",Other:"其他"};function ICe(){const e=la(),[t,n]=y.useState(null),[r,a]=y.useState(""),[s,l]=y.useState("all"),[u,d]=y.useState("all"),[f,m]=y.useState(!1),[p,g]=y.useState([]),[x,j]=y.useState(!0),[w,b]=y.useState(null),[N,E]=y.useState(null),[O,A]=y.useState(null),[C,k]=y.useState(null),[,T]=y.useState([]),{toast:M}=yr();y.useEffect(()=>{let D=null,U=!1;return(async()=>{if(D=PCe(J=>{U||(A(J),J.stage==="success"?setTimeout(()=>{U||A(null)},2e3):J.stage==="error"&&(j(!1),b(J.error||"加载失败")))},J=>{console.error("WebSocket error:",J),U||M({title:"WebSocket 连接失败",description:"无法实时显示加载进度",variant:"destructive"})}),await new Promise(J=>{if(!D){J();return}const I=()=>{D&&D.readyState===WebSocket.OPEN?(console.log("WebSocket connected, starting to load plugins"),J()):D&&D.readyState===WebSocket.CLOSED?(console.warn("WebSocket closed before loading plugins"),J()):setTimeout(I,100)};I()}),!U){const J=await TCe();E(J),J.installed||M({title:"Git 未安装",description:J.error||"请先安装 Git 才能使用插件安装功能",variant:"destructive"})}if(!U){const J=await kCe();k(J)}if(!U)try{j(!0),b(null);const J=await ACe();if(!U){const I=await Jp();T(I);const z=J.map(Y=>{const te=ev(Y.id,I),ae=tv(Y.id,I);return{...Y,installed:te,installed_version:ae}});for(const Y of I)!z.some(ae=>ae.id===Y.id)&&Y.manifest&&z.push({id:Y.id,manifest:{manifest_version:Y.manifest.manifest_version||1,name:Y.manifest.name,version:Y.manifest.version,description:Y.manifest.description||"",author:Y.manifest.author,license:Y.manifest.license||"Unknown",host_application:Y.manifest.host_application,homepage_url:Y.manifest.homepage_url,repository_url:Y.manifest.repository_url,keywords:Y.manifest.keywords||[],categories:Y.manifest.categories||[],default_locale:Y.manifest.default_locale||"zh-CN",locales_path:Y.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!0,installed_version:Y.manifest.version,published_at:new Date().toISOString(),updated_at:new Date().toISOString()});g(z)}}catch(J){if(!U){const I=J instanceof Error?J.message:"加载插件列表失败";b(I),M({title:"加载失败",description:I,variant:"destructive"})}}finally{U||j(!1)}})(),()=>{U=!0,D&&D.close()}},[M]);const R=D=>{if(!D.installed&&C&&!B(D))return i.jsxs(Ft,{variant:"destructive",className:"gap-1",children:[i.jsx(gl,{className:"h-3 w-3"}),"不兼容"]});if(D.installed){const U=D.installed_version?.trim(),K=D.manifest.version?.trim();if(U!==K){const J=U?.split(".").map(Number)||[0,0,0],I=K?.split(".").map(Number)||[0,0,0];for(let z=0;z<3;z++){if((I[z]||0)>(J[z]||0))return i.jsxs(Ft,{variant:"outline",className:"gap-1 text-orange-600 border-orange-600",children:[i.jsx(gl,{className:"h-3 w-3"}),"可更新"]});if((I[z]||0)<(J[z]||0))break}}return i.jsxs(Ft,{variant:"default",className:"gap-1",children:[i.jsx(Pr,{className:"h-3 w-3"}),"已安装"]})}return null},B=D=>!C||!D.manifest?.host_application?!0:MCe(D.manifest.host_application.min_version,D.manifest.host_application.max_version,C),$=D=>{if(!D.installed||!D.installed_version||!D.manifest?.version)return!1;const U=D.installed_version.trim(),K=D.manifest.version.trim();if(U===K)return!1;const J=U.split(".").map(Number),I=K.split(".").map(Number);for(let z=0;z<3;z++){if((I[z]||0)>(J[z]||0))return!0;if((I[z]||0)<(J[z]||0))return!1}return!1},H=p.filter(D=>{if(!D.manifest)return console.warn("[过滤] 跳过无 manifest 的插件:",D.id),!1;const U=r===""||D.manifest.name?.toLowerCase().includes(r.toLowerCase())||D.manifest.description?.toLowerCase().includes(r.toLowerCase())||D.manifest.keywords&&D.manifest.keywords.some(z=>z.toLowerCase().includes(r.toLowerCase())),K=s==="all"||D.manifest.categories&&D.manifest.categories.includes(s);let J=!0;u==="installed"?J=D.installed===!0:u==="updates"&&(J=D.installed===!0&&$(D));const I=!f||!C||B(D);return U&&K&&J&&I}),V=()=>{n(null)},q=async D=>{if(!N?.installed){M({title:"无法安装",description:"Git 未安装",variant:"destructive"});return}if(C&&!B(D)){M({title:"无法安装",description:"插件与当前麦麦版本不兼容",variant:"destructive"});return}try{await RCe(D.id,D.manifest.repository_url||"","main"),M({title:"安装成功",description:`${D.manifest.name} 已成功安装`});const U=await Jp();T(U),g(K=>K.map(J=>{if(J.id===D.id){const I=ev(J.id,U),z=tv(J.id,U);return{...J,installed:I,installed_version:z}}return J}))}catch(U){M({title:"安装失败",description:U instanceof Error?U.message:"未知错误",variant:"destructive"})}},G=async D=>{try{await DCe(D.id),M({title:"卸载成功",description:`${D.manifest.name} 已成功卸载`});const U=await Jp();T(U),g(K=>K.map(J=>{if(J.id===D.id){const I=ev(J.id,U),z=tv(J.id,U);return{...J,installed:I,installed_version:z}}return J}))}catch(U){M({title:"卸载失败",description:U instanceof Error?U.message:"未知错误",variant:"destructive"})}},L=async D=>{if(!N?.installed){M({title:"无法更新",description:"Git 未安装",variant:"destructive"});return}try{const U=await $Ce(D.id,D.manifest.repository_url||"","main");M({title:"更新成功",description:`${D.manifest.name} 已从 ${U.old_version} 更新到 ${U.new_version}`});const K=await Jp();T(K),g(J=>J.map(I=>{if(I.id===D.id){const z=ev(I.id,K),Y=tv(I.id,K);return{...I,installed:z,installed_version:Y}}return I}))}catch(U){M({title:"更新失败",description:U instanceof Error?U.message:"未知错误",variant:"destructive"})}};return i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件市场"}),i.jsx("p",{className:"text-muted-foreground mt-2",children:"浏览和管理麦麦的插件"})]}),i.jsxs(oe,{onClick:()=>e({to:"/plugin-mirrors"}),children:[i.jsx(Pge,{className:"h-4 w-4 mr-2"}),"配置镜像源"]})]}),N&&!N.installed&&i.jsxs(Xe,{className:"border-orange-600 bg-orange-50 dark:bg-orange-950/20",children:[i.jsx(pt,{children:i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx(Kc,{className:"h-5 w-5 text-orange-600"}),i.jsxs("div",{children:[i.jsx(vt,{className:"text-lg text-orange-900 dark:text-orange-100",children:"Git 未安装"}),i.jsx(Wn,{className:"text-orange-800 dark:text-orange-200",children:N.error||"请先安装 Git 才能使用插件安装功能"})]})]})}),i.jsx(Ct,{children:i.jsxs("p",{className:"text-sm text-orange-800 dark:text-orange-200",children:["您可以从 ",i.jsx("a",{href:"https://git-scm.com/downloads",target:"_blank",rel:"noopener noreferrer",className:"underline font-medium",children:"git-scm.com"})," 下载并安装 Git。 安装完成后,请重启麦麦应用。"]})})]}),i.jsx(Xe,{className:"p-4",children:i.jsxs("div",{className:"flex flex-col gap-4",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[i.jsxs("div",{className:"flex-1 relative",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{placeholder:"搜索插件...",value:r,onChange:D=>a(D.target.value),className:"pl-9"})]}),i.jsxs(Dt,{value:s,onValueChange:l,children:[i.jsx(Ot,{className:"w-full sm:w-[200px]",children:i.jsx($t,{placeholder:"选择分类"})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部分类"}),i.jsx(De,{value:"Group Management",children:"群组管理"}),i.jsx(De,{value:"Entertainment & Interaction",children:"娱乐互动"}),i.jsx(De,{value:"Utility Tools",children:"实用工具"}),i.jsx(De,{value:"Content Generation",children:"内容生成"}),i.jsx(De,{value:"Multimedia",children:"多媒体"}),i.jsx(De,{value:"External Integration",children:"外部集成"}),i.jsx(De,{value:"Data Analysis & Insights",children:"数据分析与洞察"}),i.jsx(De,{value:"Other",children:"其他"})]})]})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(io,{id:"compatible-only",checked:f,onCheckedChange:D=>m(D===!0)}),i.jsx("label",{htmlFor:"compatible-only",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer",children:"只显示兼容当前版本的插件"})]})]})}),i.jsx(dl,{value:u,onValueChange:d,className:"w-full",children:i.jsxs(eo,{className:"grid w-full grid-cols-3",children:[i.jsxs(Rt,{value:"all",children:["全部插件 (",p.length,")"]}),i.jsxs(Rt,{value:"installed",children:["已安装 (",p.filter(D=>D.installed).length,")"]}),i.jsxs(Rt,{value:"updates",children:["可更新 (",p.filter(D=>D.installed&&$(D)).length,")"]})]})}),O&&O.stage==="loading"&&i.jsx(Xe,{className:"p-4",children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(gh,{className:"h-4 w-4 animate-spin"}),i.jsxs("span",{className:"text-sm font-medium",children:[O.operation==="fetch"&&"加载插件列表",O.operation==="install"&&`安装插件${O.plugin_id?`: ${O.plugin_id}`:""}`,O.operation==="uninstall"&&`卸载插件${O.plugin_id?`: ${O.plugin_id}`:""}`,O.operation==="update"&&`更新插件${O.plugin_id?`: ${O.plugin_id}`:""}`]})]}),i.jsxs("span",{className:"text-sm font-medium",children:[O.progress,"%"]})]}),i.jsx($h,{value:O.progress,className:"h-2"}),i.jsx("div",{className:"text-xs text-muted-foreground",children:O.message}),O.operation==="fetch"&&O.total_plugins>0&&i.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["已加载 ",O.loaded_plugins," / ",O.total_plugins," 个插件"]})]})}),O&&O.stage==="error"&&O.error&&i.jsx(Xe,{className:"border-destructive bg-destructive/10",children:i.jsx(pt,{children:i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx(Kc,{className:"h-5 w-5 text-destructive"}),i.jsxs("div",{children:[i.jsx(vt,{className:"text-lg text-destructive",children:"加载失败"}),i.jsx(Wn,{className:"text-destructive/80",children:O.error})]})]})})}),x?i.jsxs("div",{className:"flex items-center justify-center py-12",children:[i.jsx(gh,{className:"h-8 w-8 animate-spin text-muted-foreground"}),i.jsx("span",{className:"ml-3 text-muted-foreground",children:"加载插件列表中..."})]}):w?i.jsx(Xe,{className:"p-6",children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[i.jsx(Kc,{className:"h-12 w-12 text-destructive mb-4"}),i.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),i.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:w}),i.jsx(oe,{onClick:()=>window.location.reload(),children:"重新加载"})]})}):H.length===0?i.jsx(Xe,{className:"p-6",children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[i.jsx(Lr,{className:"h-12 w-12 text-muted-foreground mb-4"}),i.jsx("h3",{className:"text-lg font-semibold mb-2",children:"未找到插件"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:r||s!=="all"?"尝试调整搜索条件或筛选器":"暂无可用插件"})]})}):i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:H.map(D=>i.jsxs(Xe,{className:"flex flex-col hover:shadow-lg transition-shadow h-full",children:[i.jsxs(pt,{children:[i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsx(vt,{className:"text-xl",children:D.manifest?.name||D.id}),i.jsxs("div",{className:"flex flex-col gap-1",children:[D.manifest?.categories&&D.manifest.categories[0]&&i.jsx(Ft,{variant:"secondary",className:"text-xs whitespace-nowrap",children:XL[D.manifest.categories[0]]||D.manifest.categories[0]}),R(D)]})]}),i.jsx(Wn,{className:"line-clamp-2",children:D.manifest?.description||"无描述"})]}),i.jsx(Ct,{className:"flex-1",children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx(QN,{className:"h-4 w-4"}),i.jsx("span",{children:D.downloads.toLocaleString()})]}),i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx(tL,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),i.jsx("span",{children:D.rating.toFixed(1)})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-2",children:[D.manifest?.keywords&&D.manifest.keywords.slice(0,3).map(U=>i.jsx(Ft,{variant:"outline",className:"text-xs",children:U},U)),D.manifest?.keywords&&D.manifest.keywords.length>3&&i.jsxs(Ft,{variant:"outline",className:"text-xs",children:["+",D.manifest.keywords.length-3]})]}),i.jsxs("div",{className:"text-xs text-muted-foreground pt-2 border-t space-y-1",children:[i.jsxs("div",{children:["v",D.manifest?.version||"unknown"," · ",D.manifest?.author?.name||"Unknown"]}),D.manifest?.host_application&&i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx("span",{children:"支持:"}),i.jsxs("span",{className:"font-medium",children:[D.manifest.host_application.min_version,D.manifest.host_application.max_version?` - ${D.manifest.host_application.max_version}`:" - 最新版本"]})]})]})]})}),i.jsx(eB,{className:"pt-4",children:i.jsxs("div",{className:"flex items-center justify-end gap-2 w-full",children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>n(D),children:"查看详情"}),D.installed?$(D)?i.jsxs(oe,{size:"sm",disabled:!N?.installed,title:N?.installed?void 0:"Git 未安装",onClick:()=>L(D),children:[i.jsx(is,{className:"h-4 w-4 mr-1"}),"更新"]}):i.jsxs(oe,{variant:"destructive",size:"sm",disabled:!N?.installed,title:N?.installed?void 0:"Git 未安装",onClick:()=>G(D),children:[i.jsx(It,{className:"h-4 w-4 mr-1"}),"卸载"]}):i.jsxs(oe,{size:"sm",disabled:!N?.installed||O?.operation==="install"||C!==null&&!B(D),title:N?.installed?C!==null&&!B(D)?`不兼容当前版本 (需要 ${D.manifest?.host_application?.min_version||"未知"}${D.manifest?.host_application?.max_version?` - ${D.manifest.host_application.max_version}`:"+"},当前 ${C?.version})`:void 0:"Git 未安装",onClick:()=>q(D),children:[i.jsx(QN,{className:"h-4 w-4 mr-1"}),O?.operation==="install"&&O?.plugin_id===D.id?"安装中...":"安装"]})]})})]},D.id))}),i.jsx(sr,{open:t!==null,onOpenChange:V,children:t&&t.manifest&&i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsx(Xn,{children:i.jsxs("div",{className:"flex items-start justify-between gap-4",children:[i.jsxs("div",{className:"space-y-2 flex-1",children:[i.jsx(Zn,{className:"text-2xl",children:t.manifest.name}),i.jsxs(vr,{children:["作者: ",t.manifest.author?.name||"Unknown",t.manifest.author?.url&&i.jsx("a",{href:t.manifest.author.url,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-primary hover:underline",children:i.jsx(Mf,{className:"h-3 w-3 inline"})})]})]}),i.jsxs("div",{className:"flex flex-col gap-2",children:[t.manifest.categories&&t.manifest.categories[0]&&i.jsx(Ft,{variant:"secondary",children:XL[t.manifest.categories[0]]||t.manifest.categories[0]}),R(t)]})]})}),i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"版本"}),i.jsxs("p",{className:"text-sm text-muted-foreground",children:["v",t.manifest?.version||"unknown"]}),t.installed&&t.installed_version&&i.jsxs("p",{className:"text-xs text-muted-foreground",children:["已安装: v",t.installed_version]})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"下载量"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:t.downloads.toLocaleString()})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"评分"}),i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx(tL,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),i.jsxs("span",{className:"text-sm text-muted-foreground",children:[t.rating.toFixed(1)," (",t.review_count,")"]})]})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"许可证"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:t.manifest.license||"Unknown"})]}),i.jsxs("div",{className:"col-span-2",children:[i.jsx("p",{className:"text-sm font-medium",children:"支持版本"}),i.jsxs("p",{className:"text-sm text-muted-foreground",children:[t.manifest.host_application?.min_version||"未知",t.manifest.host_application?.max_version?` - ${t.manifest.host_application.max_version}`:" - 最新版本"]})]})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium mb-2",children:"关键词"}),i.jsx("div",{className:"flex flex-wrap gap-2",children:t.manifest.keywords&&t.manifest.keywords.map(D=>i.jsx(Ft,{variant:"outline",children:D},D))})]}),t.detailed_description&&i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium mb-2",children:"详细说明"}),i.jsx("p",{className:"text-sm text-muted-foreground whitespace-pre-line",children:t.detailed_description})]}),!t.detailed_description&&i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium mb-2",children:"说明"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:t.manifest.description||"无描述"})]}),i.jsxs("div",{className:"space-y-2",children:[t.manifest.homepage_url&&i.jsxs("div",{className:"text-sm",children:[i.jsx("span",{className:"font-medium",children:"主页: "}),i.jsx("a",{href:t.manifest.homepage_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:t.manifest.homepage_url})]}),t.manifest.repository_url&&i.jsxs("div",{className:"text-sm",children:[i.jsx("span",{className:"font-medium",children:"仓库: "}),i.jsx("a",{href:t.manifest.repository_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:t.manifest.repository_url})]})]})]}),i.jsxs(Br,{children:[t.manifest.homepage_url&&i.jsxs(oe,{onClick:()=>window.open(t.manifest.homepage_url,"_blank"),children:[i.jsx(Mf,{className:"h-4 w-4 mr-2"}),"访问主页"]}),t.manifest.repository_url&&i.jsxs(oe,{variant:"outline",onClick:()=>window.open(t.manifest.repository_url,"_blank"),children:[i.jsx(Mf,{className:"h-4 w-4 mr-2"}),"查看仓库"]})]})]})})]})})}function LCe(){return i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理和配置已安装的插件"})]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(is,{className:"h-4 w-4 mr-2"}),"刷新"]}),i.jsxs(oe,{size:"sm",children:[i.jsx(Fa,{className:"h-4 w-4 mr-2"}),"全局设置"]})]})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"已安装插件"}),i.jsx(Tg,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"正在加载..."})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"已启用"}),i.jsx(Pr,{className:"h-4 w-4 text-green-600"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"运行中的插件"})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"已禁用"}),i.jsx(gl,{className:"h-4 w-4 text-orange-600"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"未激活的插件"})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"可更新"}),i.jsx(is,{className:"h-4 w-4 text-blue-600"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"有新版本可用"})]})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"已安装的插件"}),i.jsx(Wn,{children:"查看和管理已安装插件的配置"})]}),i.jsx(Ct,{children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-12 space-y-4",children:[i.jsx(Tg,{className:"h-16 w-16 text-muted-foreground/50"}),i.jsxs("div",{className:"text-center space-y-2",children:[i.jsx("p",{className:"text-lg font-medium text-muted-foreground",children:"插件配置功能开发中"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"即将支持插件的启用/禁用、参数配置等功能"})]}),i.jsx("div",{className:"flex gap-2",children:i.jsx(oe,{variant:"outline",asChild:!0,children:i.jsxs("a",{href:"/plugins",children:[i.jsx(Mf,{className:"h-4 w-4 mr-2"}),"前往插件市场"]})})})]})})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[i.jsxs(Xe,{children:[i.jsx(pt,{children:i.jsx(vt,{className:"text-base",children:"即将推出的功能"})}),i.jsx(Ct,{children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Pr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"插件启用/禁用"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"快速切换插件运行状态"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Pr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"配置参数编辑"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"可视化编辑插件配置文件"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Pr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"依赖管理"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"查看和安装插件依赖包"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Pr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"插件日志"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"查看插件运行日志和错误信息"})]})]})]})})]}),i.jsxs(Xe,{children:[i.jsx(pt,{children:i.jsx(vt,{className:"text-base",children:"开发者工具"})}),i.jsx(Ct,{children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Fa,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"热重载"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"无需重启即可重新加载插件"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Fa,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"配置验证"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"检查配置文件格式和完整性"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Fa,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"性能监控"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"监控插件的资源占用情况"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Fa,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"调试模式"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"详细的调试信息和错误追踪"})]})]})]})})]})]}),i.jsx(Xe,{className:"border-blue-200 bg-blue-50 dark:bg-blue-950/20 dark:border-blue-900",children:i.jsx(Ct,{className:"pt-6",children:i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx(gl,{className:"h-5 w-5 text-blue-600 mt-0.5 flex-shrink-0"}),i.jsxs("div",{className:"space-y-1",children:[i.jsx("p",{className:"text-sm font-medium text-blue-900 dark:text-blue-100",children:"开发进行中"}),i.jsxs("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:["插件配置功能正在积极开发中。目前您可以通过",i.jsx("strong",{children:"插件市场"}),"安装和卸载插件,完整的配置管理功能即将推出。"]})]})]})})})]})})}function BCe(){const e=la(),{toast:t}=yr(),[n,r]=y.useState([]),[a,s]=y.useState(!0),[l,u]=y.useState(null),[d,f]=y.useState(null),[m,p]=y.useState(!1),[g,x]=y.useState(!1),[j,w]=y.useState({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),b=y.useCallback(async()=>{try{s(!0),u(null);const T=localStorage.getItem("access-token"),M=await fetch("/api/webui/plugins/mirrors",{headers:{Authorization:`Bearer ${T}`}});if(!M.ok)throw new Error("获取镜像源列表失败");const R=await M.json();r(R.mirrors||[])}catch(T){const M=T instanceof Error?T.message:"加载镜像源失败";u(M),t({title:"加载失败",description:M,variant:"destructive"})}finally{s(!1)}},[t]);y.useEffect(()=>{b()},[b]);const N=async()=>{try{const T=localStorage.getItem("access-token"),M=await fetch("/api/webui/plugins/mirrors",{method:"POST",headers:{Authorization:`Bearer ${T}`,"Content-Type":"application/json"},body:JSON.stringify(j)});if(!M.ok){const R=await M.json();throw new Error(R.detail||"添加镜像源失败")}t({title:"添加成功",description:"镜像源已添加"}),p(!1),w({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),b()}catch(T){t({title:"添加失败",description:T instanceof Error?T.message:"未知错误",variant:"destructive"})}},E=async()=>{if(d)try{const T=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${d.id}`,{method:"PUT",headers:{Authorization:`Bearer ${T}`,"Content-Type":"application/json"},body:JSON.stringify({name:j.name,raw_prefix:j.raw_prefix,clone_prefix:j.clone_prefix,enabled:j.enabled,priority:j.priority})})).ok)throw new Error("更新镜像源失败");t({title:"更新成功",description:"镜像源已更新"}),x(!1),f(null),b()}catch(T){t({title:"更新失败",description:T instanceof Error?T.message:"未知错误",variant:"destructive"})}},O=async T=>{if(confirm("确定要删除这个镜像源吗?"))try{const M=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${T}`,{method:"DELETE",headers:{Authorization:`Bearer ${M}`}})).ok)throw new Error("删除镜像源失败");t({title:"删除成功",description:"镜像源已删除"}),b()}catch(M){t({title:"删除失败",description:M instanceof Error?M.message:"未知错误",variant:"destructive"})}},A=async T=>{try{const M=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${T.id}`,{method:"PUT",headers:{Authorization:`Bearer ${M}`,"Content-Type":"application/json"},body:JSON.stringify({enabled:!T.enabled})})).ok)throw new Error("更新状态失败");b()}catch(M){t({title:"更新失败",description:M instanceof Error?M.message:"未知错误",variant:"destructive"})}},C=T=>{f(T),w({id:T.id,name:T.name,raw_prefix:T.raw_prefix,clone_prefix:T.clone_prefix,enabled:T.enabled,priority:T.priority}),x(!0)},k=async(T,M)=>{const R=M==="up"?T.priority-1:T.priority+1;if(!(R<1))try{const B=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${T.id}`,{method:"PUT",headers:{Authorization:`Bearer ${B}`,"Content-Type":"application/json"},body:JSON.stringify({priority:R})})).ok)throw new Error("更新优先级失败");b()}catch(B){t({title:"更新失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"})}};return i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[i.jsxs("div",{className:"flex items-center gap-4",children:[i.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>e({to:"/plugins"}),children:i.jsx(fF,{className:"h-5 w-5"})}),i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"镜像源配置"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理 Git 克隆和文件下载的镜像源"})]})]}),i.jsxs(oe,{onClick:()=>p(!0),children:[i.jsx(ir,{className:"h-4 w-4 mr-2"}),"添加镜像源"]})]}),a?i.jsx(Xe,{className:"p-6",children:i.jsx("div",{className:"flex items-center justify-center py-8",children:i.jsx(gh,{className:"h-8 w-8 animate-spin text-primary"})})}):l?i.jsx(Xe,{className:"p-6",children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[i.jsx(Kc,{className:"h-12 w-12 text-destructive mb-4"}),i.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),i.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:l}),i.jsx(oe,{onClick:b,children:"重新加载"})]})}):i.jsxs(Xe,{children:[i.jsx("div",{className:"hidden md:block",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{children:"状态"}),i.jsx(nt,{children:"名称"}),i.jsx(nt,{children:"ID"}),i.jsx(nt,{children:"优先级"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:n.map(T=>i.jsxs(An,{children:[i.jsx(Ge,{children:i.jsx(lt,{checked:T.enabled,onCheckedChange:()=>A(T)})}),i.jsx(Ge,{children:i.jsxs("div",{children:[i.jsx("div",{className:"font-medium",children:T.name}),i.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Raw: ",T.raw_prefix]})]})}),i.jsx(Ge,{children:i.jsx(Ft,{variant:"outline",children:T.id})}),i.jsx(Ge,{children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"font-mono",children:T.priority}),i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsx(oe,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>k(T,"up"),disabled:T.priority===1,children:i.jsx(KN,{className:"h-3 w-3"})}),i.jsx(oe,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>k(T,"down"),children:i.jsx(vh,{className:"h-3 w-3"})})]})]})}),i.jsx(Ge,{className:"text-right",children:i.jsxs("div",{className:"flex items-center justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>C(T),children:i.jsx(Pu,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>O(T.id),children:i.jsx(It,{className:"h-4 w-4 text-destructive"})})]})})]},T.id))})]})}),i.jsx("div",{className:"md:hidden p-4 space-y-4",children:n.map(T=>i.jsx(Xe,{className:"p-4",children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-start justify-between",children:[i.jsxs("div",{className:"flex-1",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("h3",{className:"font-semibold",children:T.name}),T.enabled&&i.jsx(Ft,{variant:"default",className:"text-xs",children:"启用"})]}),i.jsx(Ft,{variant:"outline",className:"mt-1 text-xs",children:T.id})]}),i.jsx(lt,{checked:T.enabled,onCheckedChange:()=>A(T)})]}),i.jsxs("div",{className:"text-sm space-y-1",children:[i.jsxs("div",{className:"text-muted-foreground",children:[i.jsx("span",{className:"font-medium",children:"Raw: "}),i.jsx("span",{className:"break-all",children:T.raw_prefix})]}),i.jsxs("div",{className:"text-muted-foreground",children:[i.jsx("span",{className:"font-medium",children:"优先级: "}),i.jsx("span",{className:"font-mono",children:T.priority})]})]}),i.jsxs("div",{className:"flex items-center gap-2 pt-2 border-t",children:[i.jsxs(oe,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>C(T),children:[i.jsx(Pu,{className:"h-4 w-4 mr-1"}),"编辑"]}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>k(T,"up"),disabled:T.priority===1,children:i.jsx(KN,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>k(T,"down"),children:i.jsx(vh,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"destructive",size:"sm",onClick:()=>O(T.id),children:i.jsx(It,{className:"h-4 w-4"})})]})]})},T.id))})]}),i.jsx(sr,{open:m,onOpenChange:p,children:i.jsxs(Kn,{className:"max-w-lg",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"添加镜像源"}),i.jsx(vr,{children:"添加新的 Git 镜像源配置"})]}),i.jsxs("div",{className:"space-y-4 py-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"add-id",children:"镜像源 ID *"}),i.jsx(Ne,{id:"add-id",placeholder:"例如: my-mirror",value:j.id,onChange:T=>w({...j,id:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"add-name",children:"名称 *"}),i.jsx(Ne,{id:"add-name",placeholder:"例如: 我的镜像源",value:j.name,onChange:T=>w({...j,name:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"add-raw",children:"Raw 文件前缀 *"}),i.jsx(Ne,{id:"add-raw",placeholder:"https://example.com/raw",value:j.raw_prefix,onChange:T=>w({...j,raw_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"add-clone",children:"克隆前缀 *"}),i.jsx(Ne,{id:"add-clone",placeholder:"https://example.com/clone",value:j.clone_prefix,onChange:T=>w({...j,clone_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"add-priority",children:"优先级"}),i.jsx(Ne,{id:"add-priority",type:"number",min:"1",value:j.priority,onChange:T=>w({...j,priority:parseInt(T.target.value)||1})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"add-enabled",checked:j.enabled,onCheckedChange:T=>w({...j,enabled:T})}),i.jsx(Q,{htmlFor:"add-enabled",children:"启用此镜像源"})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>p(!1),children:"取消"}),i.jsx(oe,{onClick:N,children:"添加"})]})]})}),i.jsx(sr,{open:g,onOpenChange:x,children:i.jsxs(Kn,{className:"max-w-lg",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑镜像源"}),i.jsx(vr,{children:"修改镜像源配置"})]}),i.jsxs("div",{className:"space-y-4 py-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{children:"镜像源 ID"}),i.jsx(Ne,{value:j.id,disabled:!0})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit-name",children:"名称 *"}),i.jsx(Ne,{id:"edit-name",value:j.name,onChange:T=>w({...j,name:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit-raw",children:"Raw 文件前缀 *"}),i.jsx(Ne,{id:"edit-raw",value:j.raw_prefix,onChange:T=>w({...j,raw_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit-clone",children:"克隆前缀 *"}),i.jsx(Ne,{id:"edit-clone",value:j.clone_prefix,onChange:T=>w({...j,clone_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit-priority",children:"优先级"}),i.jsx(Ne,{id:"edit-priority",type:"number",min:"1",value:j.priority,onChange:T=>w({...j,priority:parseInt(T.target.value)||1})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"edit-enabled",checked:j.enabled,onCheckedChange:T=>w({...j,enabled:T})}),i.jsx(Q,{htmlFor:"edit-enabled",children:"启用此镜像源"})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>x(!1),children:"取消"}),i.jsx(oe,{onClick:E,children:"保存"})]})]})})]})})}const zCe=Zu("pointer-events-none inline-flex select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono font-medium opacity-100",{variants:{size:{sm:"h-5 text-[10px]",default:"h-6 text-xs",lg:"h-7 text-sm"}},defaultVariants:{size:"default"}}),r9=y.forwardRef(({className:e,size:t,abbrTitle:n,children:r,...a},s)=>i.jsx("kbd",{className:ce(zCe({size:t,className:e})),ref:s,...a,children:n?i.jsx("abbr",{title:n,children:r}):r}));r9.displayName="Kbd";const qCe=[{icon:Ag,title:"首页",description:"查看仪表板概览",path:"/",category:"概览"},{icon:rE,title:"麦麦主程序配置",description:"配置麦麦的核心设置",path:"/config/bot",category:"配置"},{icon:vF,title:"麦麦模型提供商配置",description:"配置模型提供商",path:"/config/modelProvider",category:"配置"},{icon:hF,title:"麦麦模型配置",description:"配置模型参数",path:"/config/model",category:"配置"},{icon:sE,title:"表情包管理",description:"管理麦麦的表情包",path:"/resource/emoji",category:"资源"},{icon:Gh,title:"表达方式管理",description:"管理麦麦的表达方式",path:"/resource/expression",category:"资源"},{icon:mF,title:"人物信息管理",description:"管理人物信息",path:"/resource/person",category:"资源"},{icon:Eve,title:"统计信息",description:"查看使用统计",path:"/statistics",category:"监控"},{icon:Tg,title:"插件市场",description:"浏览和安装插件",path:"/plugins",category:"扩展"},{icon:Og,title:"日志查看器",description:"查看系统日志",path:"/logs",category:"监控"},{icon:Fa,title:"系统设置",description:"配置系统参数",path:"/settings",category:"系统"}];function FCe({open:e,onOpenChange:t}){const[n,r]=y.useState(""),[a,s]=y.useState(0),l=la(),u=qCe.filter(m=>m.title.toLowerCase().includes(n.toLowerCase())||m.description.toLowerCase().includes(n.toLowerCase())||m.category.toLowerCase().includes(n.toLowerCase()));y.useEffect(()=>{e&&(r(""),s(0))},[e]);const d=y.useCallback(m=>{l({to:m}),t(!1)},[l,t]),f=y.useCallback(m=>{m.key==="ArrowDown"?(m.preventDefault(),s(p=>(p+1)%u.length)):m.key==="ArrowUp"?(m.preventDefault(),s(p=>(p-1+u.length)%u.length)):m.key==="Enter"&&u[a]&&(m.preventDefault(),d(u[a].path))},[u,a,d]);return i.jsx(sr,{open:e,onOpenChange:t,children:i.jsxs(Kn,{className:"max-w-2xl p-0 gap-0",children:[i.jsxs(Xn,{className:"px-4 pt-4 pb-0",children:[i.jsx(Zn,{className:"sr-only",children:"搜索"}),i.jsxs("div",{className:"relative",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 h-5 w-5 -translate-y-1/2 text-muted-foreground"}),i.jsx(Ne,{value:n,onChange:m=>{r(m.target.value),s(0)},onKeyDown:f,placeholder:"搜索页面...",className:"h-12 pl-11 text-base border-0 focus-visible:ring-0 shadow-none",autoFocus:!0})]})]}),i.jsx("div",{className:"border-t",children:i.jsx(Wt,{className:"h-[400px]",children:u.length>0?i.jsx("div",{className:"p-2",children:u.map((m,p)=>{const g=m.icon;return i.jsxs("button",{onClick:()=>d(m.path),onMouseEnter:()=>s(p),className:ce("w-full flex items-center gap-3 px-3 py-2.5 rounded-md text-left transition-colors",p===a?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:[i.jsx(g,{className:"h-5 w-5 flex-shrink-0"}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"font-medium text-sm",children:m.title}),i.jsx("div",{className:"text-xs text-muted-foreground truncate",children:m.description})]}),i.jsx("div",{className:"text-xs text-muted-foreground px-2 py-1 bg-muted rounded",children:m.category})]},m.path)})}):i.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[i.jsx(Lr,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:n?"未找到匹配的页面":"输入关键词开始搜索"})]})})}),i.jsx("div",{className:"border-t px-4 py-3 flex items-center justify-between text-xs text-muted-foreground",children:i.jsxs("div",{className:"flex items-center gap-4",children:[i.jsxs("span",{className:"flex items-center gap-1",children:[i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↑"}),i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↓"}),"导航"]}),i.jsxs("span",{className:"flex items-center gap-1",children:[i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Enter"}),"选择"]}),i.jsxs("span",{className:"flex items-center gap-1",children:[i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Esc"}),"关闭"]})]})})]})})}function UCe(e){const t=HCe(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(VCe);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function HCe(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=YCe(a),u=GCe(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var WCe=Symbol("radix.slottable");function VCe(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===WCe}function GCe(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function YCe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var wC=["Enter"," "],KCe=["ArrowDown","PageUp","Home"],a9=["ArrowUp","PageDown","End"],XCe=[...KCe,...a9],ZCe={ltr:[...wC,"ArrowRight"],rtl:[...wC,"ArrowLeft"]},QCe={ltr:["ArrowLeft"],rtl:["ArrowRight"]},sm="Menu",[Nh,JCe,eOe]=Ph(sm),[Dl,i9]=gr(sm,[eOe,ho,Yg]),om=ho(),s9=Yg(),[o9,xo]=Dl(sm),[tOe,lm]=Dl(sm),l9=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:a,onOpenChange:s,modal:l=!0}=e,u=om(t),[d,f]=y.useState(null),m=y.useRef(!1),p=ln(s),g=Fu(a);return y.useEffect(()=>{const x=()=>{m.current=!0,document.addEventListener("pointerdown",j,{capture:!0,once:!0}),document.addEventListener("pointermove",j,{capture:!0,once:!0})},j=()=>m.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",j,{capture:!0}),document.removeEventListener("pointermove",j,{capture:!0})}},[]),i.jsx(Qh,{...u,children:i.jsx(o9,{scope:t,open:n,onOpenChange:p,content:d,onContentChange:f,children:i.jsx(tOe,{scope:t,onClose:y.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:m,dir:g,modal:l,children:r})})})};l9.displayName=sm;var nOe="MenuAnchor",LE=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,a=om(n);return i.jsx(Jh,{...a,...r,ref:t})});LE.displayName=nOe;var BE="MenuPortal",[rOe,c9]=Dl(BE,{forceMount:void 0}),u9=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:a}=e,s=xo(BE,t);return i.jsx(rOe,{scope:t,forceMount:n,children:i.jsx(Bn,{present:n||s.open,children:i.jsx(Tl,{asChild:!0,container:a,children:r})})})};u9.displayName=BE;var Oa="MenuContent",[aOe,zE]=Dl(Oa),d9=y.forwardRef((e,t)=>{const n=c9(Oa,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,s=xo(Oa,e.__scopeMenu),l=lm(Oa,e.__scopeMenu);return i.jsx(Nh.Provider,{scope:e.__scopeMenu,children:i.jsx(Bn,{present:r||s.open,children:i.jsx(Nh.Slot,{scope:e.__scopeMenu,children:l.modal?i.jsx(iOe,{...a,ref:t}):i.jsx(sOe,{...a,ref:t})})})})}),iOe=y.forwardRef((e,t)=>{const n=xo(Oa,e.__scopeMenu),r=y.useRef(null),a=Ue(t,r);return y.useEffect(()=>{const s=r.current;if(s)return zy(s)},[]),i.jsx(qE,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:_e(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),sOe=y.forwardRef((e,t)=>{const n=xo(Oa,e.__scopeMenu);return i.jsx(qE,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),oOe=UCe("MenuContent.ScrollLock"),qE=y.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:l,disableOutsidePointerEvents:u,onEntryFocus:d,onEscapeKeyDown:f,onPointerDownOutside:m,onFocusOutside:p,onInteractOutside:g,onDismiss:x,disableOutsideScroll:j,...w}=e,b=xo(Oa,n),N=lm(Oa,n),E=om(n),O=s9(n),A=JCe(n),[C,k]=y.useState(null),T=y.useRef(null),M=Ue(t,T,b.onContentChange),R=y.useRef(0),B=y.useRef(""),$=y.useRef(0),H=y.useRef(null),V=y.useRef("right"),q=y.useRef(0),G=j?Xh:y.Fragment,L=j?{as:oOe,allowPinchZoom:!0}:void 0,D=K=>{const J=B.current+K,I=A().filter(ee=>!ee.disabled),z=document.activeElement,Y=I.find(ee=>ee.ref.current===z)?.textValue,te=I.map(ee=>ee.textValue),ae=xOe(te,J,Y),ge=I.find(ee=>ee.textValue===ae)?.ref.current;(function ee(Se){B.current=Se,window.clearTimeout(R.current),Se!==""&&(R.current=window.setTimeout(()=>ee(""),1e3))})(J),ge&&setTimeout(()=>ge.focus())};y.useEffect(()=>()=>window.clearTimeout(R.current),[]),Ly();const U=y.useCallback(K=>V.current===H.current?.side&&wOe(K,H.current?.area),[]);return i.jsx(aOe,{scope:n,searchRef:B,onItemEnter:y.useCallback(K=>{U(K)&&K.preventDefault()},[U]),onItemLeave:y.useCallback(K=>{U(K)||(T.current?.focus(),k(null))},[U]),onTriggerLeave:y.useCallback(K=>{U(K)&&K.preventDefault()},[U]),pointerGraceTimerRef:$,onPointerGraceIntentChange:y.useCallback(K=>{H.current=K},[]),children:i.jsx(G,{...L,children:i.jsx(Kh,{asChild:!0,trapped:a,onMountAutoFocus:_e(s,K=>{K.preventDefault(),T.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:l,children:i.jsx(Al,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:f,onPointerDownOutside:m,onFocusOutside:p,onInteractOutside:g,onDismiss:x,children:i.jsx(sB,{asChild:!0,...O,dir:N.dir,orientation:"vertical",loop:r,currentTabStopId:C,onCurrentTabStopIdChange:k,onEntryFocus:_e(d,K=>{N.isUsingKeyboardRef.current||K.preventDefault()}),preventScrollOnEntryFocus:!0,children:i.jsx(Ky,{role:"menu","aria-orientation":"vertical","data-state":E9(b.open),"data-radix-menu-content":"",dir:N.dir,...E,...w,ref:M,style:{outline:"none",...w.style},onKeyDown:_e(w.onKeyDown,K=>{const I=K.target.closest("[data-radix-menu-content]")===K.currentTarget,z=K.ctrlKey||K.altKey||K.metaKey,Y=K.key.length===1;I&&(K.key==="Tab"&&K.preventDefault(),!z&&Y&&D(K.key));const te=T.current;if(K.target!==te||!XCe.includes(K.key))return;K.preventDefault();const ge=A().filter(ee=>!ee.disabled).map(ee=>ee.ref.current);a9.includes(K.key)&&ge.reverse(),gOe(ge)}),onBlur:_e(e.onBlur,K=>{K.currentTarget.contains(K.target)||(window.clearTimeout(R.current),B.current="")}),onPointerMove:_e(e.onPointerMove,Ch(K=>{const J=K.target,I=q.current!==K.clientX;if(K.currentTarget.contains(J)&&I){const z=K.clientX>q.current?"right":"left";V.current=z,q.current=K.clientX}}))})})})})})})});d9.displayName=Oa;var lOe="MenuGroup",FE=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx($e.div,{role:"group",...r,ref:t})});FE.displayName=lOe;var cOe="MenuLabel",f9=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx($e.div,{...r,ref:t})});f9.displayName=cOe;var Lg="MenuItem",ZL="menu.itemSelect",ox=y.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...a}=e,s=y.useRef(null),l=lm(Lg,e.__scopeMenu),u=zE(Lg,e.__scopeMenu),d=Ue(t,s),f=y.useRef(!1),m=()=>{const p=s.current;if(!n&&p){const g=new CustomEvent(ZL,{bubbles:!0,cancelable:!0});p.addEventListener(ZL,x=>r?.(x),{once:!0}),UC(p,g),g.defaultPrevented?f.current=!1:l.onClose()}};return i.jsx(h9,{...a,ref:d,disabled:n,onClick:_e(e.onClick,m),onPointerDown:p=>{e.onPointerDown?.(p),f.current=!0},onPointerUp:_e(e.onPointerUp,p=>{f.current||p.currentTarget?.click()}),onKeyDown:_e(e.onKeyDown,p=>{const g=u.searchRef.current!=="";n||g&&p.key===" "||wC.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});ox.displayName=Lg;var h9=y.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:a,...s}=e,l=zE(Lg,n),u=s9(n),d=y.useRef(null),f=Ue(t,d),[m,p]=y.useState(!1),[g,x]=y.useState("");return y.useEffect(()=>{const j=d.current;j&&x((j.textContent??"").trim())},[s.children]),i.jsx(Nh.ItemSlot,{scope:n,disabled:r,textValue:a??g,children:i.jsx(oB,{asChild:!0,...u,focusable:!r,children:i.jsx($e.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:f,onPointerMove:_e(e.onPointerMove,Ch(j=>{r?l.onItemLeave(j):(l.onItemEnter(j),j.defaultPrevented||j.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:_e(e.onPointerLeave,Ch(j=>l.onItemLeave(j))),onFocus:_e(e.onFocus,()=>p(!0)),onBlur:_e(e.onBlur,()=>p(!1))})})})}),uOe="MenuCheckboxItem",m9=y.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...a}=e;return i.jsx(x9,{scope:e.__scopeMenu,checked:n,children:i.jsx(ox,{role:"menuitemcheckbox","aria-checked":Bg(n)?"mixed":n,...a,ref:t,"data-state":WE(n),onSelect:_e(a.onSelect,()=>r?.(Bg(n)?!0:!n),{checkForDefaultPrevented:!1})})})});m9.displayName=uOe;var p9="MenuRadioGroup",[dOe,fOe]=Dl(p9,{value:void 0,onValueChange:()=>{}}),v9=y.forwardRef((e,t)=>{const{value:n,onValueChange:r,...a}=e,s=ln(r);return i.jsx(dOe,{scope:e.__scopeMenu,value:n,onValueChange:s,children:i.jsx(FE,{...a,ref:t})})});v9.displayName=p9;var g9="MenuRadioItem",y9=y.forwardRef((e,t)=>{const{value:n,...r}=e,a=fOe(g9,e.__scopeMenu),s=n===a.value;return i.jsx(x9,{scope:e.__scopeMenu,checked:s,children:i.jsx(ox,{role:"menuitemradio","aria-checked":s,...r,ref:t,"data-state":WE(s),onSelect:_e(r.onSelect,()=>a.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});y9.displayName=g9;var UE="MenuItemIndicator",[x9,hOe]=Dl(UE,{checked:!1}),b9=y.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...a}=e,s=hOe(UE,n);return i.jsx(Bn,{present:r||Bg(s.checked)||s.checked===!0,children:i.jsx($e.span,{...a,ref:t,"data-state":WE(s.checked)})})});b9.displayName=UE;var mOe="MenuSeparator",w9=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx($e.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});w9.displayName=mOe;var pOe="MenuArrow",j9=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,a=om(n);return i.jsx(Xy,{...a,...r,ref:t})});j9.displayName=pOe;var HE="MenuSub",[vOe,S9]=Dl(HE),_9=e=>{const{__scopeMenu:t,children:n,open:r=!1,onOpenChange:a}=e,s=xo(HE,t),l=om(t),[u,d]=y.useState(null),[f,m]=y.useState(null),p=ln(a);return y.useEffect(()=>(s.open===!1&&p(!1),()=>p(!1)),[s.open,p]),i.jsx(Qh,{...l,children:i.jsx(o9,{scope:t,open:r,onOpenChange:p,content:f,onContentChange:m,children:i.jsx(vOe,{scope:t,contentId:Gn(),triggerId:Gn(),trigger:u,onTriggerChange:d,children:n})})})};_9.displayName=HE;var bf="MenuSubTrigger",N9=y.forwardRef((e,t)=>{const n=xo(bf,e.__scopeMenu),r=lm(bf,e.__scopeMenu),a=S9(bf,e.__scopeMenu),s=zE(bf,e.__scopeMenu),l=y.useRef(null),{pointerGraceTimerRef:u,onPointerGraceIntentChange:d}=s,f={__scopeMenu:e.__scopeMenu},m=y.useCallback(()=>{l.current&&window.clearTimeout(l.current),l.current=null},[]);return y.useEffect(()=>m,[m]),y.useEffect(()=>{const p=u.current;return()=>{window.clearTimeout(p),d(null)}},[u,d]),i.jsx(LE,{asChild:!0,...f,children:i.jsx(h9,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":a.contentId,"data-state":E9(n.open),...e,ref:Ir(t,a.onTriggerChange),onClick:p=>{e.onClick?.(p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:_e(e.onPointerMove,Ch(p=>{s.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!n.open&&!l.current&&(s.onPointerGraceIntentChange(null),l.current=window.setTimeout(()=>{n.onOpenChange(!0),m()},100))})),onPointerLeave:_e(e.onPointerLeave,Ch(p=>{m();const g=n.content?.getBoundingClientRect();if(g){const x=n.content?.dataset.side,j=x==="right",w=j?-5:5,b=g[j?"left":"right"],N=g[j?"right":"left"];s.onPointerGraceIntentChange({area:[{x:p.clientX+w,y:p.clientY},{x:b,y:g.top},{x:N,y:g.top},{x:N,y:g.bottom},{x:b,y:g.bottom}],side:x}),window.clearTimeout(u.current),u.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(p),p.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:_e(e.onKeyDown,p=>{const g=s.searchRef.current!=="";e.disabled||g&&p.key===" "||ZCe[r.dir].includes(p.key)&&(n.onOpenChange(!0),n.content?.focus(),p.preventDefault())})})})});N9.displayName=bf;var C9="MenuSubContent",O9=y.forwardRef((e,t)=>{const n=c9(Oa,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,s=xo(Oa,e.__scopeMenu),l=lm(Oa,e.__scopeMenu),u=S9(C9,e.__scopeMenu),d=y.useRef(null),f=Ue(t,d);return i.jsx(Nh.Provider,{scope:e.__scopeMenu,children:i.jsx(Bn,{present:r||s.open,children:i.jsx(Nh.Slot,{scope:e.__scopeMenu,children:i.jsx(qE,{id:u.contentId,"aria-labelledby":u.triggerId,...a,ref:f,align:"start",side:l.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:m=>{l.isUsingKeyboardRef.current&&d.current?.focus(),m.preventDefault()},onCloseAutoFocus:m=>m.preventDefault(),onFocusOutside:_e(e.onFocusOutside,m=>{m.target!==u.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:_e(e.onEscapeKeyDown,m=>{l.onClose(),m.preventDefault()}),onKeyDown:_e(e.onKeyDown,m=>{const p=m.currentTarget.contains(m.target),g=QCe[l.dir].includes(m.key);p&&g&&(s.onOpenChange(!1),u.trigger?.focus(),m.preventDefault())})})})})})});O9.displayName=C9;function E9(e){return e?"open":"closed"}function Bg(e){return e==="indeterminate"}function WE(e){return Bg(e)?"indeterminate":e?"checked":"unchecked"}function gOe(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function yOe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function xOe(e,t,n){const a=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let l=yOe(e,Math.max(s,0));a.length===1&&(l=l.filter(f=>f!==n));const d=l.find(f=>f.toLowerCase().startsWith(a.toLowerCase()));return d!==n?d:void 0}function bOe(e,t){const{x:n,y:r}=e;let a=!1;for(let s=0,l=t.length-1;sr!=g>r&&n<(p-f)*(r-m)/(g-m)+f&&(a=!a)}return a}function wOe(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return bOe(n,t)}function Ch(e){return t=>t.pointerType==="mouse"?e(t):void 0}var jOe=l9,SOe=LE,_Oe=u9,NOe=d9,COe=FE,OOe=f9,EOe=ox,AOe=m9,TOe=v9,kOe=y9,MOe=b9,POe=w9,ROe=j9,DOe=_9,$Oe=N9,IOe=O9,VE="ContextMenu",[LOe]=gr(VE,[i9]),xr=i9(),[BOe,A9]=LOe(VE),T9=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,dir:a,modal:s=!0}=e,[l,u]=y.useState(!1),d=xr(t),f=ln(r),m=y.useCallback(p=>{u(p),f(p)},[f]);return i.jsx(BOe,{scope:t,open:l,onOpenChange:m,modal:s,children:i.jsx(jOe,{...d,dir:a,open:l,onOpenChange:m,modal:s,children:n})})};T9.displayName=VE;var k9="ContextMenuTrigger",M9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,disabled:r=!1,...a}=e,s=A9(k9,n),l=xr(n),u=y.useRef({x:0,y:0}),d=y.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...u.current})}),f=y.useRef(0),m=y.useCallback(()=>window.clearTimeout(f.current),[]),p=g=>{u.current={x:g.clientX,y:g.clientY},s.onOpenChange(!0)};return y.useEffect(()=>m,[m]),y.useEffect(()=>void(r&&m()),[r,m]),i.jsxs(i.Fragment,{children:[i.jsx(SOe,{...l,virtualRef:d}),i.jsx($e.span,{"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,...a,ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:r?e.onContextMenu:_e(e.onContextMenu,g=>{m(),p(g),g.preventDefault()}),onPointerDown:r?e.onPointerDown:_e(e.onPointerDown,nv(g=>{m(),f.current=window.setTimeout(()=>p(g),700)})),onPointerMove:r?e.onPointerMove:_e(e.onPointerMove,nv(m)),onPointerCancel:r?e.onPointerCancel:_e(e.onPointerCancel,nv(m)),onPointerUp:r?e.onPointerUp:_e(e.onPointerUp,nv(m))})]})});M9.displayName=k9;var zOe="ContextMenuPortal",P9=e=>{const{__scopeContextMenu:t,...n}=e,r=xr(t);return i.jsx(_Oe,{...r,...n})};P9.displayName=zOe;var R9="ContextMenuContent",D9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=A9(R9,n),s=xr(n),l=y.useRef(!1);return i.jsx(NOe,{...s,...r,ref:t,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:u=>{e.onCloseAutoFocus?.(u),!u.defaultPrevented&&l.current&&u.preventDefault(),l.current=!1},onInteractOutside:u=>{e.onInteractOutside?.(u),!u.defaultPrevented&&!a.modal&&(l.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});D9.displayName=R9;var qOe="ContextMenuGroup",FOe=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(COe,{...a,...r,ref:t})});FOe.displayName=qOe;var UOe="ContextMenuLabel",$9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(OOe,{...a,...r,ref:t})});$9.displayName=UOe;var HOe="ContextMenuItem",I9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(EOe,{...a,...r,ref:t})});I9.displayName=HOe;var WOe="ContextMenuCheckboxItem",L9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(AOe,{...a,...r,ref:t})});L9.displayName=WOe;var VOe="ContextMenuRadioGroup",GOe=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(TOe,{...a,...r,ref:t})});GOe.displayName=VOe;var YOe="ContextMenuRadioItem",B9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(kOe,{...a,...r,ref:t})});B9.displayName=YOe;var KOe="ContextMenuItemIndicator",z9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(MOe,{...a,...r,ref:t})});z9.displayName=KOe;var XOe="ContextMenuSeparator",q9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(POe,{...a,...r,ref:t})});q9.displayName=XOe;var ZOe="ContextMenuArrow",QOe=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(ROe,{...a,...r,ref:t})});QOe.displayName=ZOe;var F9="ContextMenuSub",U9=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,open:a,defaultOpen:s}=e,l=xr(t),[u,d]=Ea({prop:a,defaultProp:s??!1,onChange:r,caller:F9});return i.jsx(DOe,{...l,open:u,onOpenChange:d,children:n})};U9.displayName=F9;var JOe="ContextMenuSubTrigger",H9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx($Oe,{...a,...r,ref:t})});H9.displayName=JOe;var eEe="ContextMenuSubContent",W9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(IOe,{...a,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});W9.displayName=eEe;function nv(e){return t=>t.pointerType!=="mouse"?e(t):void 0}var tEe=T9,nEe=M9,rEe=P9,V9=D9,G9=$9,Y9=I9,K9=L9,X9=B9,Z9=z9,Q9=q9,aEe=U9,J9=H9,eW=W9;const iEe=tEe,sEe=nEe,oEe=aEe,tW=y.forwardRef(({className:e,inset:t,children:n,...r},a)=>i.jsxs(J9,{ref:a,className:ce("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",t&&"pl-8",e),...r,children:[n,i.jsx(nE,{className:"ml-auto h-4 w-4"})]}));tW.displayName=J9.displayName;const nW=y.forwardRef(({className:e,...t},n)=>i.jsx(eW,{ref:n,className:ce("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",e),...t}));nW.displayName=eW.displayName;const rW=y.forwardRef(({className:e,...t},n)=>i.jsx(rEe,{children:i.jsx(V9,{ref:n,className:ce("z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",e),...t})}));rW.displayName=V9.displayName;const Ia=y.forwardRef(({className:e,inset:t,...n},r)=>i.jsx(Y9,{ref:r,className:ce("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...n}));Ia.displayName=Y9.displayName;const lEe=y.forwardRef(({className:e,children:t,checked:n,...r},a)=>i.jsxs(K9,{ref:a,className:ce("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...r,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Z9,{children:i.jsx(ol,{className:"h-4 w-4"})})}),t]}));lEe.displayName=K9.displayName;const cEe=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(X9,{ref:r,className:ce("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Z9,{children:i.jsx(Uve,{className:"h-2 w-2 fill-current"})})}),t]}));cEe.displayName=X9.displayName;const uEe=y.forwardRef(({className:e,inset:t,...n},r)=>i.jsx(G9,{ref:r,className:ce("px-2 py-1.5 text-sm font-semibold text-foreground",t&&"pl-8",e),...n}));uEe.displayName=G9.displayName;const wf=y.forwardRef(({className:e,...t},n)=>i.jsx(Q9,{ref:n,className:ce("-mx-1 my-1 h-px bg-border",e),...t}));wf.displayName=Q9.displayName;const zc=({className:e,...t})=>i.jsx("span",{className:ce("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});zc.displayName="ContextMenuShortcut";var dEe=Symbol("radix.slottable");function fEe(e){const t=({children:n})=>i.jsx(i.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=dEe,t}var[lx]=gr("Tooltip",[ho]),cx=ho(),aW="TooltipProvider",hEe=700,jC="tooltip.open",[mEe,GE]=lx(aW),iW=e=>{const{__scopeTooltip:t,delayDuration:n=hEe,skipDelayDuration:r=300,disableHoverableContent:a=!1,children:s}=e,l=y.useRef(!0),u=y.useRef(!1),d=y.useRef(0);return y.useEffect(()=>{const f=d.current;return()=>window.clearTimeout(f)},[]),i.jsx(mEe,{scope:t,isOpenDelayedRef:l,delayDuration:n,onOpen:y.useCallback(()=>{window.clearTimeout(d.current),l.current=!1},[]),onClose:y.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.current=!0,r)},[r]),isPointerInTransitRef:u,onPointerInTransitChange:y.useCallback(f=>{u.current=f},[]),disableHoverableContent:a,children:s})};iW.displayName=aW;var Oh="Tooltip",[pEe,cm]=lx(Oh),sW=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:a,onOpenChange:s,disableHoverableContent:l,delayDuration:u}=e,d=GE(Oh,e.__scopeTooltip),f=cx(t),[m,p]=y.useState(null),g=Gn(),x=y.useRef(0),j=l??d.disableHoverableContent,w=u??d.delayDuration,b=y.useRef(!1),[N,E]=Ea({prop:r,defaultProp:a??!1,onChange:T=>{T?(d.onOpen(),document.dispatchEvent(new CustomEvent(jC))):d.onClose(),s?.(T)},caller:Oh}),O=y.useMemo(()=>N?b.current?"delayed-open":"instant-open":"closed",[N]),A=y.useCallback(()=>{window.clearTimeout(x.current),x.current=0,b.current=!1,E(!0)},[E]),C=y.useCallback(()=>{window.clearTimeout(x.current),x.current=0,E(!1)},[E]),k=y.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{b.current=!0,E(!0),x.current=0},w)},[w,E]);return y.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),i.jsx(Qh,{...f,children:i.jsx(pEe,{scope:t,contentId:g,open:N,stateAttribute:O,trigger:m,onTriggerChange:p,onTriggerEnter:y.useCallback(()=>{d.isOpenDelayedRef.current?k():A()},[d.isOpenDelayedRef,k,A]),onTriggerLeave:y.useCallback(()=>{j?C():(window.clearTimeout(x.current),x.current=0)},[C,j]),onOpen:A,onClose:C,disableHoverableContent:j,children:n})})};sW.displayName=Oh;var SC="TooltipTrigger",oW=y.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=cm(SC,n),s=GE(SC,n),l=cx(n),u=y.useRef(null),d=Ue(t,u,a.onTriggerChange),f=y.useRef(!1),m=y.useRef(!1),p=y.useCallback(()=>f.current=!1,[]);return y.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),i.jsx(Jh,{asChild:!0,...l,children:i.jsx($e.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:d,onPointerMove:_e(e.onPointerMove,g=>{g.pointerType!=="touch"&&!m.current&&!s.isPointerInTransitRef.current&&(a.onTriggerEnter(),m.current=!0)}),onPointerLeave:_e(e.onPointerLeave,()=>{a.onTriggerLeave(),m.current=!1}),onPointerDown:_e(e.onPointerDown,()=>{a.open&&a.onClose(),f.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:_e(e.onFocus,()=>{f.current||a.onOpen()}),onBlur:_e(e.onBlur,a.onClose),onClick:_e(e.onClick,a.onClose)})})});oW.displayName=SC;var YE="TooltipPortal",[vEe,gEe]=lx(YE,{forceMount:void 0}),lW=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:a}=e,s=cm(YE,t);return i.jsx(vEe,{scope:t,forceMount:n,children:i.jsx(Bn,{present:n||s.open,children:i.jsx(Tl,{asChild:!0,container:a,children:r})})})};lW.displayName=YE;var Iu="TooltipContent",cW=y.forwardRef((e,t)=>{const n=gEe(Iu,e.__scopeTooltip),{forceMount:r=n.forceMount,side:a="top",...s}=e,l=cm(Iu,e.__scopeTooltip);return i.jsx(Bn,{present:r||l.open,children:l.disableHoverableContent?i.jsx(uW,{side:a,...s,ref:t}):i.jsx(yEe,{side:a,...s,ref:t})})}),yEe=y.forwardRef((e,t)=>{const n=cm(Iu,e.__scopeTooltip),r=GE(Iu,e.__scopeTooltip),a=y.useRef(null),s=Ue(t,a),[l,u]=y.useState(null),{trigger:d,onClose:f}=n,m=a.current,{onPointerInTransitChange:p}=r,g=y.useCallback(()=>{u(null),p(!1)},[p]),x=y.useCallback((j,w)=>{const b=j.currentTarget,N={x:j.clientX,y:j.clientY},E=SEe(N,b.getBoundingClientRect()),O=_Ee(N,E),A=NEe(w.getBoundingClientRect()),C=OEe([...O,...A]);u(C),p(!0)},[p]);return y.useEffect(()=>()=>g(),[g]),y.useEffect(()=>{if(d&&m){const j=b=>x(b,m),w=b=>x(b,d);return d.addEventListener("pointerleave",j),m.addEventListener("pointerleave",w),()=>{d.removeEventListener("pointerleave",j),m.removeEventListener("pointerleave",w)}}},[d,m,x,g]),y.useEffect(()=>{if(l){const j=w=>{const b=w.target,N={x:w.clientX,y:w.clientY},E=d?.contains(b)||m?.contains(b),O=!CEe(N,l);E?g():O&&(g(),f())};return document.addEventListener("pointermove",j),()=>document.removeEventListener("pointermove",j)}},[d,m,l,f,g]),i.jsx(uW,{...e,ref:s})}),[xEe,bEe]=lx(Oh,{isInside:!1}),wEe=fEe("TooltipContent"),uW=y.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":a,onEscapeKeyDown:s,onPointerDownOutside:l,...u}=e,d=cm(Iu,n),f=cx(n),{onClose:m}=d;return y.useEffect(()=>(document.addEventListener(jC,m),()=>document.removeEventListener(jC,m)),[m]),y.useEffect(()=>{if(d.trigger){const p=g=>{g.target?.contains(d.trigger)&&m()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[d.trigger,m]),i.jsx(Al,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:p=>p.preventDefault(),onDismiss:m,children:i.jsxs(Ky,{"data-state":d.stateAttribute,...f,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(wEe,{children:r}),i.jsx(xEe,{scope:n,isInside:!0,children:i.jsx(jwe,{id:d.contentId,role:"tooltip",children:a||r})})]})})});cW.displayName=Iu;var dW="TooltipArrow",jEe=y.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=cx(n);return bEe(dW,n).isInside?null:i.jsx(Xy,{...a,...r,ref:t})});jEe.displayName=dW;function SEe(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,r,a,s)){case s:return"left";case a:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function _Ee(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function NEe(e){const{top:t,right:n,bottom:r,left:a}=e;return[{x:a,y:t},{x:n,y:t},{x:n,y:r},{x:a,y:r}]}function CEe(e,t){const{x:n,y:r}=e;let a=!1;for(let s=0,l=t.length-1;sr!=g>r&&n<(p-f)*(r-m)/(g-m)+f&&(a=!a)}return a}function OEe(e){const t=e.slice();return t.sort((n,r)=>n.xr.x?1:n.yr.y?1:0),EEe(t)}function EEe(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r=2;){const s=t[t.length-1],l=t[t.length-2];if((s.x-l.x)*(a.y-l.y)>=(s.y-l.y)*(a.x-l.x))t.pop();else break}t.push(a)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const a=e[r];for(;n.length>=2;){const s=n[n.length-1],l=n[n.length-2];if((s.x-l.x)*(a.y-l.y)>=(s.y-l.y)*(a.x-l.x))n.pop();else break}n.push(a)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var AEe=iW,TEe=sW,kEe=oW,MEe=lW,fW=cW;const PEe=AEe,REe=TEe,DEe=kEe,hW=y.forwardRef(({className:e,sideOffset:t=4,...n},r)=>i.jsx(MEe,{children:i.jsx(fW,{ref:r,sideOffset:t,className:ce("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...n})}));hW.displayName=fW.displayName;function $Ee({children:e}){fbe();const[t,n]=y.useState(!0),[r,a]=y.useState(!1),[s,l]=y.useState(!1),{theme:u,setTheme:d}=oE(),f=VY(),m=la();y.useEffect(()=>{const w=b=>{(b.metaKey||b.ctrlKey)&&b.key==="k"&&(b.preventDefault(),l(!0))};return window.addEventListener("keydown",w),()=>window.removeEventListener("keydown",w)},[]);const p=[{title:"概览",items:[{icon:Ag,label:"首页",path:"/"}]},{title:"麦麦配置编辑",items:[{icon:rE,label:"麦麦主程序配置",path:"/config/bot"},{icon:vF,label:"麦麦模型提供商配置",path:"/config/modelProvider"},{icon:hF,label:"麦麦模型配置",path:"/config/model"}]},{title:"麦麦资源管理",items:[{icon:sE,label:"表情包管理",path:"/resource/emoji"},{icon:Gh,label:"表达方式管理",path:"/resource/expression"},{icon:mF,label:"人物信息管理",path:"/resource/person"}]},{title:"扩展与监控",items:[{icon:Tg,label:"插件市场",path:"/plugins"},{icon:zge,label:"插件配置",path:"/plugin-config"},{icon:Og,label:"日志查看器",path:"/logs"}]},{title:"系统",items:[{icon:Fa,label:"系统设置",path:"/settings"}]}],x=u==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":u,j=()=>{localStorage.removeItem("access-token"),m({to:"/auth"})};return i.jsx(PEe,{delayDuration:300,children:i.jsxs("div",{className:"flex h-screen overflow-hidden",children:[i.jsxs("aside",{className:ce("fixed inset-y-0 left-0 z-50 flex flex-col border-r bg-card transition-all duration-300 lg:relative lg:z-0","w-64 lg:w-auto",t?"lg:w-64":"lg:w-16",r?"translate-x-0":"-translate-x-full lg:translate-x-0"),children:[i.jsx("div",{className:"flex h-16 items-center border-b px-4",children:i.jsxs("div",{className:ce("relative flex items-center justify-center flex-1 transition-all overflow-hidden","lg:flex-1",!t&&"lg:flex-none lg:w-8"),children:[i.jsxs("div",{className:ce("flex items-baseline gap-2",!t&&"lg:hidden"),children:[i.jsx("span",{className:"font-bold text-xl text-primary-gradient whitespace-nowrap",children:"MaiBot WebUI"}),i.jsx("span",{className:"text-xs text-primary/60 whitespace-nowrap",children:_ye()})]}),!t&&i.jsx("span",{className:"hidden lg:block font-bold text-primary-gradient text-2xl",children:"M"})]})}),i.jsx("nav",{className:"flex-1 overflow-y-auto p-4",children:i.jsx("ul",{className:ce("space-y-6",!t&&"lg:space-y-3"),children:p.map((w,b)=>i.jsxs("li",{children:[i.jsx("div",{className:ce("px-3 h-[1.25rem]","mb-2",!t&&"lg:mb-1 lg:invisible"),children:i.jsx("h3",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground/60 whitespace-nowrap",children:w.title})}),!t&&b>0&&i.jsx("div",{className:"hidden lg:block mb-2 border-t border-border"}),i.jsx("ul",{className:"space-y-1",children:w.items.map(N=>{const E=f({to:N.path}),O=N.icon,A=i.jsxs(i.Fragment,{children:[E&&i.jsx("div",{className:"absolute left-0 top-1/2 h-8 w-1 -translate-y-1/2 rounded-r-full bg-primary transition-opacity duration-300"}),i.jsxs("div",{className:ce("flex items-center transition-all duration-300",t?"gap-3":"lg:gap-0"),children:[i.jsx(O,{className:ce("h-5 w-5 flex-shrink-0",E&&"text-primary"),strokeWidth:2,fill:"none"}),i.jsx("span",{className:ce("text-sm font-medium whitespace-nowrap transition-all duration-300",E&&"font-semibold",t?"opacity-100 max-w-[200px]":"lg:opacity-0 lg:max-w-0 lg:overflow-hidden"),children:N.label})]})]});return i.jsx("li",{className:"relative",children:i.jsxs(REe,{children:[i.jsx(DEe,{asChild:!0,children:i.jsx($C,{to:N.path,className:ce("relative flex items-center rounded-lg py-2 transition-all duration-300","hover:bg-accent hover:text-accent-foreground",E?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground",t?"px-3":"lg:px-0 lg:justify-center"),onClick:()=>a(!1),children:A})}),!t&&i.jsx(hW,{side:"right",className:"hidden lg:block",children:i.jsx("p",{children:N.label})})]})},N.path)})})]},w.title))})})]}),r&&i.jsx("div",{className:"fixed inset-0 z-40 bg-black/50 lg:hidden",onClick:()=>a(!1)}),i.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[i.jsxs("header",{className:"flex h-16 items-center justify-between border-b bg-card/80 backdrop-blur-md px-4 sticky top-0 z-10",children:[i.jsxs("div",{className:"flex items-center gap-4",children:[i.jsx("button",{onClick:()=>a(!r),className:"rounded-lg p-2 hover:bg-accent lg:hidden",children:i.jsx(fge,{className:"h-5 w-5"})}),i.jsx("button",{onClick:()=>n(!t),className:"hidden rounded-lg p-2 hover:bg-accent lg:block",title:t?"收起侧边栏":"展开侧边栏",children:i.jsx(tE,{className:ce("h-5 w-5 transition-transform",!t&&"rotate-180")})})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("button",{onClick:()=>l(!0),className:"relative hidden md:flex items-center w-64 h-9 pl-9 pr-16 bg-background/50 border rounded-md hover:bg-accent/50 transition-colors text-left",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),i.jsx("span",{className:"text-sm text-muted-foreground",children:"搜索..."}),i.jsxs(r9,{size:"sm",className:"absolute right-2 top-1/2 -translate-y-1/2",children:[i.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]}),i.jsx(FCe,{open:s,onOpenChange:l}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>window.open("https://docs.mai-mai.org","_blank"),className:"gap-2",title:"查看麦麦文档",children:[i.jsx(jve,{className:"h-4 w-4"}),i.jsx("span",{className:"hidden sm:inline",children:"麦麦文档"})]}),i.jsx("button",{onClick:w=>{sye(x==="dark"?"light":"dark",d,w)},className:"rounded-lg p-2 hover:bg-accent",title:x==="dark"?"切换到浅色模式":"切换到深色模式",children:x==="dark"?i.jsx(nC,{className:"h-5 w-5"}):i.jsx(tC,{className:"h-5 w-5"})}),i.jsx("div",{className:"h-6 w-px bg-border"}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:j,className:"gap-2",title:"登出系统",children:[i.jsx(eL,{className:"h-4 w-4"}),i.jsx("span",{className:"hidden sm:inline",children:"登出"})]})]})]}),i.jsxs(iEe,{children:[i.jsx(sEe,{asChild:!0,children:i.jsx("main",{className:"flex-1 overflow-hidden bg-background",children:e})}),i.jsxs(rW,{className:"w-64",children:[i.jsxs(Ia,{onClick:()=>m({to:"/"}),children:[i.jsx(Ag,{className:"mr-2 h-4 w-4"}),"首页"]}),i.jsxs(Ia,{onClick:()=>m({to:"/settings"}),children:[i.jsx(Fa,{className:"mr-2 h-4 w-4"}),"系统设置"]}),i.jsxs(Ia,{onClick:()=>m({to:"/logs"}),children:[i.jsx(Og,{className:"mr-2 h-4 w-4"}),"日志查看器"]}),i.jsx(wf,{}),i.jsxs(oEe,{children:[i.jsxs(tW,{children:[i.jsx(pF,{className:"mr-2 h-4 w-4"}),"切换主题"]}),i.jsxs(nW,{className:"w-48",children:[i.jsxs(Ia,{onClick:()=>d("light"),disabled:u==="light",children:[i.jsx(nC,{className:"mr-2 h-4 w-4"}),"浅色",u==="light"&&i.jsx(zc,{children:"✓"})]}),i.jsxs(Ia,{onClick:()=>d("dark"),disabled:u==="dark",children:[i.jsx(tC,{className:"mr-2 h-4 w-4"}),"深色",u==="dark"&&i.jsx(zc,{children:"✓"})]}),i.jsxs(Ia,{onClick:()=>d("system"),disabled:u==="system",children:[i.jsx(Fa,{className:"mr-2 h-4 w-4"}),"跟随系统",u==="system"&&i.jsx(zc,{children:"✓"})]})]})]}),i.jsx(wf,{}),i.jsxs(Ia,{onClick:()=>window.location.reload(),children:[i.jsx(Ege,{className:"mr-2 h-4 w-4"}),"刷新页面",i.jsx(zc,{children:"⌘R"})]}),i.jsxs(Ia,{onClick:()=>l(!0),children:[i.jsx(Lr,{className:"mr-2 h-4 w-4"}),"搜索",i.jsx(zc,{children:"⌘K"})]}),i.jsx(wf,{}),i.jsxs(Ia,{onClick:()=>window.open("https://docs.mai-mai.org","_blank"),children:[i.jsx(Mf,{className:"mr-2 h-4 w-4"}),"麦麦文档"]}),i.jsx(wf,{}),i.jsxs(Ia,{onClick:j,className:"text-destructive focus:text-destructive",children:[i.jsx(eL,{className:"mr-2 h-4 w-4"}),"登出系统"]})]})]})]})]})})}const um=IY({component:()=>i.jsxs(i.Fragment,{children:[i.jsx(IC,{}),!1]}),beforeLoad:()=>{if(window.location.pathname==="/"&&!O8())throw r5({to:"/auth"})}}),IEe=or({getParentRoute:()=>um,path:"/auth",component:hbe}),LEe=or({getParentRoute:()=>um,path:"/setup",component:Mbe}),ca=or({getParentRoute:()=>um,id:"protected",component:()=>i.jsx($Ee,{children:i.jsx(IC,{})})}),BEe=or({getParentRoute:()=>ca,path:"/",component:aye}),zEe=or({getParentRoute:()=>ca,path:"/config/bot",component:Sje}),qEe=or({getParentRoute:()=>ca,path:"/config/modelProvider",component:Uje}),FEe=or({getParentRoute:()=>ca,path:"/config/model",component:g1e}),UEe=or({getParentRoute:()=>ca,path:"/resource/emoji",component:N1e}),HEe=or({getParentRoute:()=>ca,path:"/resource/expression",component:R1e}),WEe=or({getParentRoute:()=>ca,path:"/resource/person",component:U1e}),VEe=or({getParentRoute:()=>ca,path:"/logs",component:_Ce}),GEe=or({getParentRoute:()=>ca,path:"/plugins",component:ICe}),YEe=or({getParentRoute:()=>ca,path:"/plugin-config",component:LCe}),KEe=or({getParentRoute:()=>ca,path:"/plugin-mirrors",component:BCe}),XEe=or({getParentRoute:()=>ca,path:"/settings",component:ibe}),ZEe=or({getParentRoute:()=>um,path:"*",component:T8}),QEe=um.addChildren([IEe,LEe,ca.addChildren([BEe,zEe,qEe,FEe,UEe,HEe,WEe,GEe,YEe,KEe,VEe,XEe]),ZEe]),JEe=GY({routeTree:QEe,defaultNotFoundComponent:T8});function eAe({children:e,defaultTheme:t="system",storageKey:n="ui-theme",...r}){const[a,s]=y.useState(()=>localStorage.getItem(n)||t);y.useEffect(()=>{const u=window.document.documentElement;if(u.classList.remove("light","dark"),a==="system"){const d=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";u.classList.add(d);return}u.classList.add(a)},[a]),y.useEffect(()=>{const u=localStorage.getItem("accent-color");if(u){const d=document.documentElement,m={blue:{hsl:"221.2 83.2% 53.3%",darkHsl:"217.2 91.2% 59.8%"},purple:{hsl:"271 91% 65%",darkHsl:"270 95% 75%"},green:{hsl:"142 71% 45%",darkHsl:"142 76% 36%"},orange:{hsl:"25 95% 53%",darkHsl:"20 90% 48%"},pink:{hsl:"330 81% 60%",darkHsl:"330 85% 70%"}}[u];m&&d.style.setProperty("--primary",m.hsl)}},[]);const l={theme:a,setTheme:u=>{localStorage.setItem(n,u),s(u)}};return i.jsx(yF.Provider,{...r,value:l,children:e})}function tAe({children:e,defaultEnabled:t=!0,defaultWavesEnabled:n=!0,storageKey:r="enable-animations",wavesStorageKey:a="enable-waves-background"}){const[s,l]=y.useState(()=>{const m=localStorage.getItem(r);return m!==null?m==="true":t}),[u,d]=y.useState(()=>{const m=localStorage.getItem(a);return m!==null?m==="true":n});y.useEffect(()=>{const m=document.documentElement;s?m.classList.remove("no-animations"):m.classList.add("no-animations"),localStorage.setItem(r,String(s))},[s,r]),y.useEffect(()=>{localStorage.setItem(a,String(u))},[u,a]);const f={enableAnimations:s,setEnableAnimations:l,enableWavesBackground:u,setEnableWavesBackground:d};return i.jsx(xF.Provider,{value:f,children:e})}var KE="ToastProvider",[XE,nAe,rAe]=Ph("Toast"),[mW]=gr("Toast",[rAe]),[aAe,ux]=mW(KE),pW=e=>{const{__scopeToast:t,label:n="Notification",duration:r=5e3,swipeDirection:a="right",swipeThreshold:s=50,children:l}=e,[u,d]=y.useState(null),[f,m]=y.useState(0),p=y.useRef(!1),g=y.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${KE}\`. Expected non-empty \`string\`.`),i.jsx(XE.Provider,{scope:t,children:i.jsx(aAe,{scope:t,label:n,duration:r,swipeDirection:a,swipeThreshold:s,toastCount:f,viewport:u,onViewportChange:d,onToastAdd:y.useCallback(()=>m(x=>x+1),[]),onToastRemove:y.useCallback(()=>m(x=>x-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:g,children:l})})};pW.displayName=KE;var vW="ToastViewport",iAe=["F8"],_C="toast.viewportPause",NC="toast.viewportResume",gW=y.forwardRef((e,t)=>{const{__scopeToast:n,hotkey:r=iAe,label:a="Notifications ({hotkey})",...s}=e,l=ux(vW,n),u=nAe(n),d=y.useRef(null),f=y.useRef(null),m=y.useRef(null),p=y.useRef(null),g=Ue(t,p,l.onViewportChange),x=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),j=l.toastCount>0;y.useEffect(()=>{const b=N=>{r.length!==0&&r.every(O=>N[O]||N.code===O)&&p.current?.focus()};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[r]),y.useEffect(()=>{const b=d.current,N=p.current;if(j&&b&&N){const E=()=>{if(!l.isClosePausedRef.current){const k=new CustomEvent(_C);N.dispatchEvent(k),l.isClosePausedRef.current=!0}},O=()=>{if(l.isClosePausedRef.current){const k=new CustomEvent(NC);N.dispatchEvent(k),l.isClosePausedRef.current=!1}},A=k=>{!b.contains(k.relatedTarget)&&O()},C=()=>{b.contains(document.activeElement)||O()};return b.addEventListener("focusin",E),b.addEventListener("focusout",A),b.addEventListener("pointermove",E),b.addEventListener("pointerleave",C),window.addEventListener("blur",E),window.addEventListener("focus",O),()=>{b.removeEventListener("focusin",E),b.removeEventListener("focusout",A),b.removeEventListener("pointermove",E),b.removeEventListener("pointerleave",C),window.removeEventListener("blur",E),window.removeEventListener("focus",O)}}},[j,l.isClosePausedRef]);const w=y.useCallback(({tabbingDirection:b})=>{const E=u().map(O=>{const A=O.ref.current,C=[A,...yAe(A)];return b==="forwards"?C:C.reverse()});return(b==="forwards"?E.reverse():E).flat()},[u]);return y.useEffect(()=>{const b=p.current;if(b){const N=E=>{const O=E.altKey||E.ctrlKey||E.metaKey;if(E.key==="Tab"&&!O){const C=document.activeElement,k=E.shiftKey;if(E.target===b&&k){f.current?.focus();return}const R=w({tabbingDirection:k?"backwards":"forwards"}),B=R.findIndex($=>$===C);p_(R.slice(B+1))?E.preventDefault():k?f.current?.focus():m.current?.focus()}};return b.addEventListener("keydown",N),()=>b.removeEventListener("keydown",N)}},[u,w]),i.jsxs(Pye,{ref:d,role:"region","aria-label":a.replace("{hotkey}",x),tabIndex:-1,style:{pointerEvents:j?void 0:"none"},children:[j&&i.jsx(CC,{ref:f,onFocusFromOutsideViewport:()=>{const b=w({tabbingDirection:"forwards"});p_(b)}}),i.jsx(XE.Slot,{scope:n,children:i.jsx($e.ol,{tabIndex:-1,...s,ref:g})}),j&&i.jsx(CC,{ref:m,onFocusFromOutsideViewport:()=>{const b=w({tabbingDirection:"backwards"});p_(b)}})]})});gW.displayName=vW;var yW="ToastFocusProxy",CC=y.forwardRef((e,t)=>{const{__scopeToast:n,onFocusFromOutsideViewport:r,...a}=e,s=ux(yW,n);return i.jsx(Zy,{tabIndex:0,...a,ref:t,style:{position:"fixed"},onFocus:l=>{const u=l.relatedTarget;!s.viewport?.contains(u)&&r()}})});CC.displayName=yW;var dm="Toast",sAe="toast.swipeStart",oAe="toast.swipeMove",lAe="toast.swipeCancel",cAe="toast.swipeEnd",xW=y.forwardRef((e,t)=>{const{forceMount:n,open:r,defaultOpen:a,onOpenChange:s,...l}=e,[u,d]=Ea({prop:r,defaultProp:a??!0,onChange:s,caller:dm});return i.jsx(Bn,{present:n||u,children:i.jsx(fAe,{open:u,...l,ref:t,onClose:()=>d(!1),onPause:ln(e.onPause),onResume:ln(e.onResume),onSwipeStart:_e(e.onSwipeStart,f=>{f.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:_e(e.onSwipeMove,f=>{const{x:m,y:p}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","move"),f.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${m}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${p}px`)}),onSwipeCancel:_e(e.onSwipeCancel,f=>{f.currentTarget.setAttribute("data-swipe","cancel"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:_e(e.onSwipeEnd,f=>{const{x:m,y:p}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","end"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${m}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${p}px`),d(!1)})})})});xW.displayName=dm;var[uAe,dAe]=mW(dm,{onClose(){}}),fAe=y.forwardRef((e,t)=>{const{__scopeToast:n,type:r="foreground",duration:a,open:s,onClose:l,onEscapeKeyDown:u,onPause:d,onResume:f,onSwipeStart:m,onSwipeMove:p,onSwipeCancel:g,onSwipeEnd:x,...j}=e,w=ux(dm,n),[b,N]=y.useState(null),E=Ue(t,q=>N(q)),O=y.useRef(null),A=y.useRef(null),C=a||w.duration,k=y.useRef(0),T=y.useRef(C),M=y.useRef(0),{onToastAdd:R,onToastRemove:B}=w,$=ln(()=>{b?.contains(document.activeElement)&&w.viewport?.focus(),l()}),H=y.useCallback(q=>{!q||q===1/0||(window.clearTimeout(M.current),k.current=new Date().getTime(),M.current=window.setTimeout($,q))},[$]);y.useEffect(()=>{const q=w.viewport;if(q){const G=()=>{H(T.current),f?.()},L=()=>{const D=new Date().getTime()-k.current;T.current=T.current-D,window.clearTimeout(M.current),d?.()};return q.addEventListener(_C,L),q.addEventListener(NC,G),()=>{q.removeEventListener(_C,L),q.removeEventListener(NC,G)}}},[w.viewport,C,d,f,H]),y.useEffect(()=>{s&&!w.isClosePausedRef.current&&H(C)},[s,C,w.isClosePausedRef,H]),y.useEffect(()=>(R(),()=>B()),[R,B]);const V=y.useMemo(()=>b?CW(b):null,[b]);return w.viewport?i.jsxs(i.Fragment,{children:[V&&i.jsx(hAe,{__scopeToast:n,role:"status","aria-live":r==="foreground"?"assertive":"polite",children:V}),i.jsx(uAe,{scope:n,onClose:$,children:Sl.createPortal(i.jsx(XE.ItemSlot,{scope:n,children:i.jsx(Mye,{asChild:!0,onEscapeKeyDown:_e(u,()=>{w.isFocusedToastEscapeKeyDownRef.current||$(),w.isFocusedToastEscapeKeyDownRef.current=!1}),children:i.jsx($e.li,{tabIndex:0,"data-state":s?"open":"closed","data-swipe-direction":w.swipeDirection,...j,ref:E,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:_e(e.onKeyDown,q=>{q.key==="Escape"&&(u?.(q.nativeEvent),q.nativeEvent.defaultPrevented||(w.isFocusedToastEscapeKeyDownRef.current=!0,$()))}),onPointerDown:_e(e.onPointerDown,q=>{q.button===0&&(O.current={x:q.clientX,y:q.clientY})}),onPointerMove:_e(e.onPointerMove,q=>{if(!O.current)return;const G=q.clientX-O.current.x,L=q.clientY-O.current.y,D=!!A.current,U=["left","right"].includes(w.swipeDirection),K=["left","up"].includes(w.swipeDirection)?Math.min:Math.max,J=U?K(0,G):0,I=U?0:K(0,L),z=q.pointerType==="touch"?10:2,Y={x:J,y:I},te={originalEvent:q,delta:Y};D?(A.current=Y,rv(oAe,p,te,{discrete:!1})):QL(Y,w.swipeDirection,z)?(A.current=Y,rv(sAe,m,te,{discrete:!1}),q.target.setPointerCapture(q.pointerId)):(Math.abs(G)>z||Math.abs(L)>z)&&(O.current=null)}),onPointerUp:_e(e.onPointerUp,q=>{const G=A.current,L=q.target;if(L.hasPointerCapture(q.pointerId)&&L.releasePointerCapture(q.pointerId),A.current=null,O.current=null,G){const D=q.currentTarget,U={originalEvent:q,delta:G};QL(G,w.swipeDirection,w.swipeThreshold)?rv(cAe,x,U,{discrete:!0}):rv(lAe,g,U,{discrete:!0}),D.addEventListener("click",K=>K.preventDefault(),{once:!0})}})})})}),w.viewport)})]}):null}),hAe=e=>{const{__scopeToast:t,children:n,...r}=e,a=ux(dm,t),[s,l]=y.useState(!1),[u,d]=y.useState(!1);return vAe(()=>l(!0)),y.useEffect(()=>{const f=window.setTimeout(()=>d(!0),1e3);return()=>window.clearTimeout(f)},[]),u?null:i.jsx(Tl,{asChild:!0,children:i.jsx(Zy,{...r,children:s&&i.jsxs(i.Fragment,{children:[a.label," ",n]})})})},mAe="ToastTitle",bW=y.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return i.jsx($e.div,{...r,ref:t})});bW.displayName=mAe;var pAe="ToastDescription",wW=y.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return i.jsx($e.div,{...r,ref:t})});wW.displayName=pAe;var jW="ToastAction",SW=y.forwardRef((e,t)=>{const{altText:n,...r}=e;return n.trim()?i.jsx(NW,{altText:n,asChild:!0,children:i.jsx(ZE,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${jW}\`. Expected non-empty \`string\`.`),null)});SW.displayName=jW;var _W="ToastClose",ZE=y.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e,a=dAe(_W,n);return i.jsx(NW,{asChild:!0,children:i.jsx($e.button,{type:"button",...r,ref:t,onClick:_e(e.onClick,a.onClose)})})});ZE.displayName=_W;var NW=y.forwardRef((e,t)=>{const{__scopeToast:n,altText:r,...a}=e;return i.jsx($e.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...a,ref:t})});function CW(e){const t=[];return Array.from(e.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&t.push(r.textContent),gAe(r)){const a=r.ariaHidden||r.hidden||r.style.display==="none",s=r.dataset.radixToastAnnounceExclude==="";if(!a)if(s){const l=r.dataset.radixToastAnnounceAlt;l&&t.push(l)}else t.push(...CW(r))}}),t}function rv(e,t,n,{discrete:r}){const a=n.originalEvent.currentTarget,s=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?UC(a,s):a.dispatchEvent(s)}var QL=(e,t,n=0)=>{const r=Math.abs(e.x),a=Math.abs(e.y),s=r>a;return t==="left"||t==="right"?s&&r>n:!s&&a>n};function vAe(e=()=>{}){const t=ln(e);Yn(()=>{let n=0,r=0;return n=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(r)}},[t])}function gAe(e){return e.nodeType===e.ELEMENT_NODE}function yAe(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function p_(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}var xAe=pW,OW=gW,EW=xW,AW=bW,TW=wW,kW=SW,MW=ZE;const bAe=xAe,PW=y.forwardRef(({className:e,...t},n)=>i.jsx(OW,{ref:n,className:ce("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));PW.displayName=OW.displayName;const wAe=Zu("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),RW=y.forwardRef(({className:e,variant:t,...n},r)=>i.jsx(EW,{ref:r,className:ce(wAe({variant:t}),e),...n}));RW.displayName=EW.displayName;const jAe=y.forwardRef(({className:e,...t},n)=>i.jsx(kW,{ref:n,className:ce("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...t}));jAe.displayName=kW.displayName;const DW=y.forwardRef(({className:e,...t},n)=>i.jsx(MW,{ref:n,className:ce("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:i.jsx(Yh,{className:"h-4 w-4"})}));DW.displayName=MW.displayName;const $W=y.forwardRef(({className:e,...t},n)=>i.jsx(AW,{ref:n,className:ce("text-sm font-semibold [&+div]:text-xs",e),...t}));$W.displayName=AW.displayName;const IW=y.forwardRef(({className:e,...t},n)=>i.jsx(TW,{ref:n,className:ce("text-sm opacity-90",e),...t}));IW.displayName=TW.displayName;function SAe(){const{toasts:e}=yr();return i.jsxs(bAe,{children:[e.map(function({id:t,title:n,description:r,action:a,...s}){return i.jsxs(RW,{...s,children:[i.jsxs("div",{className:"grid gap-1",children:[n&&i.jsx($W,{children:n}),r&&i.jsx(IW,{children:r})]}),a,i.jsx(DW,{})]},t)}),i.jsx(PW,{})]})}iG.createRoot(document.getElementById("root")).render(i.jsx(y.StrictMode,{children:i.jsx(eAe,{defaultTheme:"system",children:i.jsxs(tAe,{children:[i.jsx(XY,{router:JEe}),i.jsx(SAe,{})]})})})); +可以使用 [捕获组名] 来引用正则表达式中的内容`,rows:3,className:"text-sm"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"使用 [捕获组名] 引用正则表达式中的命名捕获组,例如 [n] 会被替换为捕获的内容"})]})]})]},C)),e.regex_rules.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无正则规则,点击"添加正则规则"开始配置'})]})]}),i.jsxs("div",{className:"space-y-4 border-t pt-6",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-base font-semibold",children:"关键词规则"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"使用关键词列表匹配消息内容"})]}),i.jsxs(oe,{onClick:g,size:"sm",variant:"outline",children:[i.jsx(ir,{className:"h-4 w-4 mr-1"}),"添加关键词规则"]})]}),i.jsxs("div",{className:"space-y-3",children:[e.keyword_rules.map((A,C)=>i.jsxs("div",{className:"rounded-lg border p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("span",{className:"text-sm font-medium",children:["关键词规则 ",C+1]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(O,{rule:A}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsx(oe,{size:"sm",variant:"ghost",children:i.jsx(It,{className:"h-4 w-4"})})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:["确定要删除关键词规则 ",C+1," 吗?此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>x(C),children:"删除"})]})]})]})]})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{className:"text-xs font-medium",children:"关键词列表"}),i.jsxs(oe,{onClick:()=>w(C),size:"sm",variant:"ghost",children:[i.jsx(ir,{className:"h-3 w-3 mr-1"}),"添加关键词"]})]}),i.jsxs("div",{className:"space-y-2",children:[(A.keywords||[]).map((k,T)=>i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Ne,{value:k,onChange:M=>N(C,T,M.target.value),placeholder:"关键词",className:"flex-1"}),i.jsx(oe,{onClick:()=>b(C,T),size:"sm",variant:"ghost",children:i.jsx(It,{className:"h-4 w-4"})})]},T)),(!A.keywords||A.keywords.length===0)&&i.jsx("p",{className:"text-xs text-muted-foreground text-center py-2",children:'暂无关键词,点击"添加关键词"开始配置'})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{className:"text-xs font-medium",children:"反应内容"}),i.jsx(Xt,{value:A.reaction,onChange:k=>j(C,"reaction",k.target.value),placeholder:"触发后麦麦的反应...",rows:3,className:"text-sm"})]})]})]},C)),e.keyword_rules.length===0&&i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:'暂无关键词规则,点击"添加关键词规则"开始配置'})]})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"回复后处理配置"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"enable_response_post_process",checked:t.enable_response_post_process,onCheckedChange:A=>s({...t,enable_response_post_process:A})}),i.jsx(Q,{htmlFor:"enable_response_post_process",className:"cursor-pointer",children:"启用回复后处理"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"包括错别字生成器和回复分割器"})]}),t.enable_response_post_process&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"border-t pt-6 space-y-4",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[i.jsx(lt,{id:"enable_chinese_typo",checked:n.enable,onCheckedChange:A=>l({...n,enable:A})}),i.jsx(Q,{htmlFor:"enable_chinese_typo",className:"cursor-pointer font-semibold",children:"中文错别字生成器"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"为回复添加随机错别字,让麦麦的回复更自然"}),n.enable&&i.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"error_rate",className:"text-xs font-medium",children:"单字替换概率"}),i.jsx(Ne,{id:"error_rate",type:"number",step:"0.001",min:"0",max:"1",value:n.error_rate,onChange:A=>l({...n,error_rate:parseFloat(A.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"min_freq",className:"text-xs font-medium",children:"最小字频阈值"}),i.jsx(Ne,{id:"min_freq",type:"number",min:"0",value:n.min_freq,onChange:A=>l({...n,min_freq:parseInt(A.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"tone_error_rate",className:"text-xs font-medium",children:"声调错误概率"}),i.jsx(Ne,{id:"tone_error_rate",type:"number",step:"0.01",min:"0",max:"1",value:n.tone_error_rate,onChange:A=>l({...n,tone_error_rate:parseFloat(A.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"word_replace_rate",className:"text-xs font-medium",children:"整词替换概率"}),i.jsx(Ne,{id:"word_replace_rate",type:"number",step:"0.001",min:"0",max:"1",value:n.word_replace_rate,onChange:A=>l({...n,word_replace_rate:parseFloat(A.target.value)})})]})]})]})}),i.jsx("div",{className:"border-t pt-6 space-y-4",children:i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center space-x-2 mb-4",children:[i.jsx(lt,{id:"enable_response_splitter",checked:r.enable,onCheckedChange:A=>u({...r,enable:A})}),i.jsx(Q,{htmlFor:"enable_response_splitter",className:"cursor-pointer font-semibold",children:"回复分割器"})]}),i.jsx("p",{className:"text-xs text-muted-foreground mb-4",children:"控制回复的长度和句子数量"}),r.enable&&i.jsxs("div",{className:"grid gap-4 pl-6 border-l-2 border-primary/20",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_length",className:"text-xs font-medium",children:"最大长度"}),i.jsx(Ne,{id:"max_length",type:"number",min:"1",value:r.max_length,onChange:A=>u({...r,max_length:parseInt(A.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大字符数"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_sentence_num",className:"text-xs font-medium",children:"最大句子数"}),i.jsx(Ne,{id:"max_sentence_num",type:"number",min:"1",value:r.max_sentence_num,onChange:A=>u({...r,max_sentence_num:parseInt(A.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"回复允许的最大句子数量"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"enable_kaomoji_protection",checked:r.enable_kaomoji_protection,onCheckedChange:A=>u({...r,enable_kaomoji_protection:A})}),i.jsx(Q,{htmlFor:"enable_kaomoji_protection",className:"cursor-pointer",children:"启用颜文字保护"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"enable_overflow_return_all",checked:r.enable_overflow_return_all,onCheckedChange:A=>u({...r,enable_overflow_return_all:A})}),i.jsx(Q,{htmlFor:"enable_overflow_return_all",className:"cursor-pointer",children:"超出时一次性返回全部"})]}),i.jsx("p",{className:"text-xs text-muted-foreground -mt-2",children:"当句子数量超出限制时,合并后一次性返回所有内容"})]})]})})]})]})]})}function Tje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"情绪设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{checked:e.enable_mood,onCheckedChange:n=>t({...e,enable_mood:n})}),i.jsx(Q,{className:"cursor-pointer",children:"启用情绪系统"})]}),e.enable_mood&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"情绪更新阈值"}),i.jsx(Ne,{type:"number",min:"1",value:e.mood_update_threshold,onChange:n=>t({...e,mood_update_threshold:parseInt(n.target.value)})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"越高,更新越慢"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"情感特征"}),i.jsx(Xt,{value:e.emotion_style,onChange:n=>t({...e,emotion_style:n.target.value}),placeholder:"影响情绪的变化情况",rows:2})]})]})]})]})}function kje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"语音设置"}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{checked:e.enable_asr,onCheckedChange:n=>t({...e,enable_asr:n})}),i.jsx(Q,{className:"cursor-pointer",children:"启用语音识别"})]}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"启用后麦麦可以识别语音消息,需要配置语音识别模型"})]})}function Mje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库设置"}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{checked:e.enable,onCheckedChange:n=>t({...e,enable:n})}),i.jsx(Q,{className:"cursor-pointer",children:"启用 LPMM 知识库"})]}),e.enable&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"LPMM 模式"}),i.jsxs(Dt,{value:e.lpmm_mode,onValueChange:n=>t({...e,lpmm_mode:n}),children:[i.jsx(Ot,{children:i.jsx($t,{placeholder:"选择 LPMM 模式"})}),i.jsxs(Et,{children:[i.jsx(De,{value:"classic",children:"经典模式"}),i.jsx(De,{value:"agent",children:"Agent 模式"})]})]})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"同义词搜索 TopK"}),i.jsx(Ne,{type:"number",min:"1",value:e.rag_synonym_search_top_k,onChange:n=>t({...e,rag_synonym_search_top_k:parseInt(n.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"同义词阈值"}),i.jsx(Ne,{type:"number",step:"0.1",min:"0",max:"1",value:e.rag_synonym_threshold,onChange:n=>t({...e,rag_synonym_threshold:parseFloat(n.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"实体提取线程数"}),i.jsx(Ne,{type:"number",min:"1",value:e.info_extraction_workers,onChange:n=>t({...e,info_extraction_workers:parseInt(n.target.value)})})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"嵌入向量维度"}),i.jsx(Ne,{type:"number",min:"1",value:e.embedding_dimension,onChange:n=>t({...e,embedding_dimension:parseInt(n.target.value)})})]})]})]})]})]})}function Pje({config:e,onChange:t}){const[n,r]=y.useState(""),[a,s]=y.useState("WARNING"),l=()=>{n&&!e.suppress_libraries.includes(n)&&(t({...e,suppress_libraries:[...e.suppress_libraries,n]}),r(""))},u=x=>{t({...e,suppress_libraries:e.suppress_libraries.filter(j=>j!==x)})},d=()=>{n&&!e.library_log_levels[n]&&(t({...e,library_log_levels:{...e.library_log_levels,[n]:a}}),r(""),s("WARNING"))},f=x=>{const j={...e.library_log_levels};delete j[x],t({...e,library_log_levels:j})},m=["DEBUG","INFO","WARNING","ERROR","CRITICAL"],p=["FULL","compact","lite"],g=["none","title","full"];return i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"日志配置"}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"日期格式"}),i.jsx(Ne,{value:e.date_style,onChange:x=>t({...e,date_style:x.target.value}),placeholder:"例如: m-d H:i:s"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"m=月, d=日, H=时, i=分, s=秒"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"日志级别样式"}),i.jsxs(Dt,{value:e.log_level_style,onValueChange:x=>t({...e,log_level_style:x}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:p.map(x=>i.jsx(De,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"日志文本颜色"}),i.jsxs(Dt,{value:e.color_text,onValueChange:x=>t({...e,color_text:x}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:g.map(x=>i.jsx(De,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"全局日志级别"}),i.jsxs(Dt,{value:e.log_level,onValueChange:x=>t({...e,log_level:x}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:m.map(x=>i.jsx(De,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"控制台日志级别"}),i.jsxs(Dt,{value:e.console_log_level,onValueChange:x=>t({...e,console_log_level:x}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:m.map(x=>i.jsx(De,{value:x,children:x},x))})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"文件日志级别"}),i.jsxs(Dt,{value:e.file_log_level,onValueChange:x=>t({...e,file_log_level:x}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsx(Et,{children:m.map(x=>i.jsx(De,{value:x,children:x},x))})]})]})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"mb-2 block",children:"完全屏蔽的库"}),i.jsxs("div",{className:"flex gap-2 mb-2",children:[i.jsx(Ne,{value:n,onChange:x=>r(x.target.value),placeholder:"输入库名",className:"flex-1",onKeyDown:x=>{x.key==="Enter"&&(x.preventDefault(),l())}}),i.jsx(oe,{onClick:l,size:"sm",className:"flex-shrink-0",children:i.jsx(ir,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),i.jsx("div",{className:"flex flex-wrap gap-2",children:e.suppress_libraries.map(x=>i.jsxs("div",{className:"flex items-center gap-1 bg-secondary px-3 py-1 rounded-md",children:[i.jsx("span",{className:"text-sm",children:x}),i.jsx(oe,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0",onClick:()=>u(x),children:i.jsx(It,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},x))})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"mb-2 block",children:"特定库的日志级别"}),i.jsxs("div",{className:"flex gap-2 mb-2",children:[i.jsx(Ne,{value:n,onChange:x=>r(x.target.value),placeholder:"输入库名",className:"flex-1"}),i.jsxs(Dt,{value:a,onValueChange:s,children:[i.jsx(Ot,{className:"w-32",children:i.jsx($t,{})}),i.jsx(Et,{children:m.map(x=>i.jsx(De,{value:x,children:x},x))})]}),i.jsx(oe,{onClick:d,size:"sm",children:i.jsx(ir,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),i.jsx("div",{className:"space-y-2",children:Object.entries(e.library_log_levels).map(([x,j])=>i.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[i.jsx("span",{className:"text-sm font-medium",children:x}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-sm text-muted-foreground",children:j}),i.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>f(x),children:i.jsx(It,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]})]},x))})]})]})}function Rje({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"调试配置"}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"显示 Prompt"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否在日志中显示提示词"})]}),i.jsx(lt,{checked:e.show_prompt,onCheckedChange:n=>t({...e,show_prompt:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"显示回复器 Prompt"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的提示词"})]}),i.jsx(lt,{checked:e.show_replyer_prompt,onCheckedChange:n=>t({...e,show_replyer_prompt:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"显示回复器推理"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示回复器的推理过程"})]}),i.jsx(lt,{checked:e.show_replyer_reasoning,onCheckedChange:n=>t({...e,show_replyer_reasoning:n})})]}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"显示 Jargon Prompt"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否显示术语相关的提示词"})]}),i.jsx(lt,{checked:e.show_jargon_prompt,onCheckedChange:n=>t({...e,show_jargon_prompt:n})})]})]})]})}function Dje({config:e,onChange:t}){const[n,r]=y.useState(""),a=()=>{n&&!e.auth_token.includes(n)&&(t({...e,auth_token:[...e.auth_token,n]}),r(""))},s=l=>{t({...e,auth_token:e.auth_token.filter((u,d)=>d!==l)})};return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-lg font-semibold mb-4",children:"MaimMessage 服务配置"}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"启用自定义服务器"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"是否使用自定义的 MaimMessage 服务器"})]}),i.jsx(lt,{checked:e.use_custom,onCheckedChange:l=>t({...e,use_custom:l})})]}),e.use_custom&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"主机地址"}),i.jsx(Ne,{value:e.host,onChange:l=>t({...e,host:l.target.value}),placeholder:"127.0.0.1"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"端口号"}),i.jsx(Ne,{type:"number",value:e.port,onChange:l=>t({...e,port:parseInt(l.target.value)}),placeholder:"8090"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"连接模式"}),i.jsxs(Dt,{value:e.mode,onValueChange:l=>t({...e,mode:l}),children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"ws",children:"WebSocket (ws)"}),i.jsx(De,{value:"tcp",children:"TCP"})]})]})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{checked:e.use_wss,onCheckedChange:l=>t({...e,use_wss:l}),disabled:e.mode!=="ws"}),i.jsx(Q,{children:"使用 WSS 安全连接"})]})]}),e.use_wss&&e.mode==="ws"&&i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"SSL 证书文件路径"}),i.jsx(Ne,{value:e.cert_file,onChange:l=>t({...e,cert_file:l.target.value}),placeholder:"cert.pem"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"SSL 密钥文件路径"}),i.jsx(Ne,{value:e.key_file,onChange:l=>t({...e,key_file:l.target.value}),placeholder:"key.pem"})]})]})]})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"mb-2 block",children:"认证令牌"}),i.jsx("p",{className:"text-sm text-muted-foreground mb-2",children:"用于 API 验证,为空则不启用验证"}),i.jsxs("div",{className:"flex gap-2 mb-2",children:[i.jsx(Ne,{value:n,onChange:l=>r(l.target.value),placeholder:"输入认证令牌",onKeyDown:l=>{l.key==="Enter"&&(l.preventDefault(),a())}}),i.jsx(oe,{onClick:a,size:"sm",children:i.jsx(ir,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]}),i.jsx("div",{className:"space-y-2",children:e.auth_token.map((l,u)=>i.jsxs("div",{className:"flex items-center justify-between bg-secondary px-3 py-2 rounded-md",children:[i.jsx("span",{className:"text-sm font-mono",children:l}),i.jsx(oe,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>s(u),children:i.jsx(It,{className:"h-3 w-3",strokeWidth:2,fill:"none"})})]},u))})]})]})}function $je({config:e,onChange:t}){return i.jsxs("div",{className:"rounded-lg border bg-card p-6 space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"统计信息"}),i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"space-y-0.5",children:[i.jsx(Q,{children:"启用统计信息发送"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"发送匿名统计信息,帮助我们了解全球有多少只麦麦在运行"})]}),i.jsx(lt,{checked:e.enable,onCheckedChange:n=>t({...e,enable:n})})]})]})}const kl=y.forwardRef(({className:e,...t},n)=>i.jsx("div",{className:"relative w-full overflow-auto",children:i.jsx("table",{ref:n,className:ce("w-full caption-bottom text-sm",e),...t})}));kl.displayName="Table";const Ml=y.forwardRef(({className:e,...t},n)=>i.jsx("thead",{ref:n,className:ce("[&_tr]:border-b",e),...t}));Ml.displayName="TableHeader";const Pl=y.forwardRef(({className:e,...t},n)=>i.jsx("tbody",{ref:n,className:ce("[&_tr:last-child]:border-0",e),...t}));Pl.displayName="TableBody";const Ije=y.forwardRef(({className:e,...t},n)=>i.jsx("tfoot",{ref:n,className:ce("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));Ije.displayName="TableFooter";const An=y.forwardRef(({className:e,...t},n)=>i.jsx("tr",{ref:n,className:ce("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));An.displayName="TableRow";const nt=y.forwardRef(({className:e,...t},n)=>i.jsx("th",{ref:n,className:ce("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));nt.displayName="TableHead";const Ge=y.forwardRef(({className:e,...t},n)=>i.jsx("td",{ref:n,className:ce("px-4 py-3 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t}));Ge.displayName="TableCell";const Lje=y.forwardRef(({className:e,...t},n)=>i.jsx("caption",{ref:n,className:ce("mt-4 text-sm text-muted-foreground",e),...t}));Lje.displayName="TableCaption";var ix="Checkbox",[Bje]=gr(ix),[zje,ME]=Bje(ix);function qje(e){const{__scopeCheckbox:t,checked:n,children:r,defaultChecked:a,disabled:s,form:l,name:u,onCheckedChange:d,required:f,value:m="on",internal_do_not_use_render:p}=e,[g,x]=Ea({prop:n,defaultProp:a??!1,onChange:d,caller:ix}),[j,w]=y.useState(null),[b,N]=y.useState(null),E=y.useRef(!1),O=j?!!l||!!j.closest("form"):!0,A={checked:g,disabled:s,setChecked:x,control:j,setControl:w,name:u,form:l,value:m,hasConsumerStoppedPropagationRef:E,required:f,defaultChecked:Js(a)?!1:a,isFormControl:O,bubbleInput:b,setBubbleInput:N};return i.jsx(zje,{scope:t,...A,children:Fje(p)?p(A):r})}var lH="CheckboxTrigger",cH=y.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},a)=>{const{control:s,value:l,disabled:u,checked:d,required:f,setControl:m,setChecked:p,hasConsumerStoppedPropagationRef:g,isFormControl:x,bubbleInput:j}=ME(lH,e),w=Ue(a,m),b=y.useRef(d);return y.useEffect(()=>{const N=s?.form;if(N){const E=()=>p(b.current);return N.addEventListener("reset",E),()=>N.removeEventListener("reset",E)}},[s,p]),i.jsx($e.button,{type:"button",role:"checkbox","aria-checked":Js(d)?"mixed":d,"aria-required":f,"data-state":mH(d),"data-disabled":u?"":void 0,disabled:u,value:l,...r,ref:w,onKeyDown:_e(t,N=>{N.key==="Enter"&&N.preventDefault()}),onClick:_e(n,N=>{p(E=>Js(E)?!0:!E),j&&x&&(g.current=N.isPropagationStopped(),g.current||N.stopPropagation())})})});cH.displayName=lH;var PE=y.forwardRef((e,t)=>{const{__scopeCheckbox:n,name:r,checked:a,defaultChecked:s,required:l,disabled:u,value:d,onCheckedChange:f,form:m,...p}=e;return i.jsx(qje,{__scopeCheckbox:n,checked:a,defaultChecked:s,disabled:u,required:l,onCheckedChange:f,name:r,form:m,value:d,internal_do_not_use_render:({isFormControl:g})=>i.jsxs(i.Fragment,{children:[i.jsx(cH,{...p,ref:t,__scopeCheckbox:n}),g&&i.jsx(hH,{__scopeCheckbox:n})]})})});PE.displayName=ix;var uH="CheckboxIndicator",dH=y.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...a}=e,s=ME(uH,n);return i.jsx(Bn,{present:r||Js(s.checked)||s.checked===!0,children:i.jsx($e.span,{"data-state":mH(s.checked),"data-disabled":s.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});dH.displayName=uH;var fH="CheckboxBubbleInput",hH=y.forwardRef(({__scopeCheckbox:e,...t},n)=>{const{control:r,hasConsumerStoppedPropagationRef:a,checked:s,defaultChecked:l,required:u,disabled:d,name:f,value:m,form:p,bubbleInput:g,setBubbleInput:x}=ME(fH,e),j=Ue(n,x),w=Dy(s),b=$y(r);y.useEffect(()=>{const E=g;if(!E)return;const O=window.HTMLInputElement.prototype,C=Object.getOwnPropertyDescriptor(O,"checked").set,k=!a.current;if(w!==s&&C){const T=new Event("click",{bubbles:k});E.indeterminate=Js(s),C.call(E,Js(s)?!1:s),E.dispatchEvent(T)}},[g,w,s,a]);const N=y.useRef(Js(s)?!1:s);return i.jsx($e.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??N.current,required:u,disabled:d,name:f,value:m,form:p,...t,tabIndex:-1,ref:j,style:{...t.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});hH.displayName=fH;function Fje(e){return typeof e=="function"}function Js(e){return e==="indeterminate"}function mH(e){return Js(e)?"indeterminate":e?"checked":"unchecked"}const io=y.forwardRef(({className:e,...t},n)=>i.jsx(PE,{ref:n,className:ce("grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:i.jsx(dH,{className:ce("grid place-content-center text-current"),children:i.jsx(ol,{className:"h-4 w-4"})})}));io.displayName=PE.displayName;function Uje(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[a,s]=y.useState(!1),[l,u]=y.useState(!1),[d,f]=y.useState(!1),[m,p]=y.useState(!1),[g,x]=y.useState(!1),[j,w]=y.useState(!1),[b,N]=y.useState(null),[E,O]=y.useState(null),[A,C]=y.useState(!1),[k,T]=y.useState(null),[M,R]=y.useState(!1),[B,$]=y.useState(""),[H,V]=y.useState(new Set),[q,G]=y.useState(!1),{toast:L}=yr(),D=y.useRef(null),U=y.useRef(!0);y.useEffect(()=>{K()},[]);const K=async()=>{try{r(!0);const be=await Jc();t(be.api_providers||[]),f(!1),U.current=!1}catch(be){console.error("加载配置失败:",be)}finally{r(!1)}},J=async()=>{try{p(!0),TE().catch(()=>{}),x(!0)}catch(be){console.error("重启失败:",be),x(!1),L({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),p(!1)}},I=async()=>{try{s(!0),D.current&&clearTimeout(D.current);const be=await Jc();be.api_providers=e,await Ig(be),f(!1),L({title:"保存成功",description:"正在重启麦麦..."}),await J()}catch(be){console.error("保存配置失败:",be),L({title:"保存失败",description:be.message,variant:"destructive"}),s(!1)}},z=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},Y=()=>{x(!1),p(!1),L({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},te=y.useCallback(async be=>{if(!U.current)try{u(!0),await gC("api_providers",be),f(!1)}catch(Ae){console.error("自动保存失败:",Ae),f(!0)}finally{u(!1)}},[]);y.useEffect(()=>{if(!U.current)return f(!0),D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{te(e)},2e3),()=>{D.current&&clearTimeout(D.current)}},[e,te]);const ae=async()=>{try{s(!0),D.current&&clearTimeout(D.current);const be=await Jc();be.api_providers=e,await Ig(be),f(!1),L({title:"保存成功",description:"模型提供商配置已保存"})}catch(be){console.error("保存配置失败:",be),L({title:"保存失败",description:be.message,variant:"destructive"})}finally{s(!1)}},ge=(be,Ae)=>{N(be||{name:"",base_url:"",api_key:"",client_type:"openai",max_retry:2,timeout:30,retry_interval:10}),O(Ae),R(!1),w(!0)},ee=async()=>{if(b?.api_key)try{await navigator.clipboard.writeText(b.api_key),L({title:"复制成功",description:"API Key 已复制到剪贴板"})}catch{L({title:"复制失败",description:"无法访问剪贴板",variant:"destructive"})}},Se=()=>{if(b){if(E!==null){const be=[...e];be[E]=b,t(be)}else t([...e,b]);w(!1),N(null),O(null)}},re=be=>{T(be),C(!0)},we=()=>{if(k!==null){const be=e.filter((Ae,ke)=>ke!==k);t(be),L({title:"删除成功",description:"提供商已从列表中移除"})}C(!1),T(null)},je=be=>{const Ae=new Set(H);Ae.has(be)?Ae.delete(be):Ae.add(be),V(Ae)},fe=()=>{if(H.size===We.length)V(new Set);else{const be=We.map((Ae,ke)=>e.findIndex(Qt=>Qt===We[ke]));V(new Set(be))}},Le=()=>{if(H.size===0){L({title:"提示",description:"请先选择要删除的提供商",variant:"default"});return}G(!0)},Oe=()=>{const be=e.filter((Ae,ke)=>!H.has(ke));t(be),V(new Set),G(!1),L({title:"批量删除成功",description:`已删除 ${H.size} 个提供商`})},We=e.filter(be=>{if(!B)return!0;const Ae=B.toLowerCase();return be.name.toLowerCase().includes(Ae)||be.base_url.toLowerCase().includes(Ae)||be.client_type.toLowerCase().includes(Ae)});return n?i.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:i.jsx("div",{className:"flex items-center justify-center h-64",children:i.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})}):i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型提供商配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理 API 提供商配置"})]}),i.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[H.size>0&&i.jsxs(oe,{onClick:Le,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[i.jsx(It,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",H.size,")"]}),i.jsxs(oe,{onClick:()=>ge(null,null),size:"sm",className:"w-full sm:w-auto",children:[i.jsx(ir,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加提供商"]}),i.jsxs(oe,{onClick:ae,disabled:a||l||!d||m,size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[i.jsx(sE,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),a?"保存中...":l?"自动保存中...":d?"保存配置":"已保存"]}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{disabled:a||l||m,size:"sm",className:"w-full sm:w-auto",children:[i.jsx(iE,{className:"mr-2 h-4 w-4"}),m?"重启中...":d?"保存并重启":"重启麦麦"]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认重启麦麦?"}),i.jsx(hn,{children:d?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:d?I:J,children:d?"保存并重启":"确认重启"})]})]})]})]})]}),i.jsxs(rx,{children:[i.jsx(Mu,{className:"h-4 w-4"}),i.jsxs(ax,{children:["配置更新后需要",i.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),i.jsxs(Wt,{className:"h-[calc(100vh-260px)]",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2 mb-4",children:[i.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{placeholder:"搜索提供商名称、URL 或类型...",value:B,onChange:be=>$(be.target.value),className:"pl-9"})]}),B&&i.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",We.length," 个结果"]})]}),i.jsx("div",{className:"md:hidden space-y-3",children:We.length===0?i.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:B?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'}):We.map((be,Ae)=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("h3",{className:"font-semibold text-base truncate",children:be.name}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1 break-all",children:be.base_url})]}),i.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>ge(be,Ae),children:i.jsx(Pu,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>re(Ae),children:i.jsx(It,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"客户端类型"}),i.jsx("p",{className:"font-medium",children:be.client_type})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"最大重试"}),i.jsx("p",{className:"font-medium",children:be.max_retry})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"超时(秒)"}),i.jsx("p",{className:"font-medium",children:be.timeout})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"重试间隔(秒)"}),i.jsx("p",{className:"font-medium",children:be.retry_interval})]})]})]},Ae))}),i.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{className:"w-12",children:i.jsx(io,{checked:H.size===We.length&&We.length>0,onCheckedChange:fe})}),i.jsx(nt,{children:"名称"}),i.jsx(nt,{children:"基础URL"}),i.jsx(nt,{children:"客户端类型"}),i.jsx(nt,{className:"text-right",children:"最大重试"}),i.jsx(nt,{className:"text-right",children:"超时(秒)"}),i.jsx(nt,{className:"text-right",children:"重试间隔(秒)"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:We.length===0?i.jsx(An,{children:i.jsx(Ge,{colSpan:8,className:"text-center text-muted-foreground py-8",children:B?"未找到匹配的提供商":'暂无提供商配置,点击"添加提供商"开始配置'})}):We.map((be,Ae)=>{const ke=e.findIndex(Qt=>Qt===be);return i.jsxs(An,{children:[i.jsx(Ge,{children:i.jsx(io,{checked:H.has(ke),onCheckedChange:()=>je(ke)})}),i.jsx(Ge,{className:"font-medium",children:be.name}),i.jsx(Ge,{className:"max-w-xs truncate",title:be.base_url,children:be.base_url}),i.jsx(Ge,{children:be.client_type}),i.jsx(Ge,{className:"text-right",children:be.max_retry}),i.jsx(Ge,{className:"text-right",children:be.timeout}),i.jsx(Ge,{className:"text-right",children:be.retry_interval}),i.jsx(Ge,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>ge(be,ke),children:i.jsx(Pu,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>re(ke),children:i.jsx(It,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})})]},Ae)})})]})})]}),i.jsx(sr,{open:j,onOpenChange:w,children:i.jsxs(Kn,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:E!==null?"编辑提供商":"添加提供商"}),i.jsx(vr,{children:"配置 API 提供商的连接信息和参数"})]}),i.jsxs("div",{className:"grid gap-4 py-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"name",children:"名称 *"}),i.jsx(Ne,{id:"name",value:b?.name||"",onChange:be=>N(Ae=>Ae?{...Ae,name:be.target.value}:null),placeholder:"例如: DeepSeek, SiliconFlow"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"base_url",children:"基础 URL *"}),i.jsx(Ne,{id:"base_url",value:b?.base_url||"",onChange:be=>N(Ae=>Ae?{...Ae,base_url:be.target.value}:null),placeholder:"https://api.example.com/v1"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"api_key",children:"API Key *"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ne,{id:"api_key",type:M?"text":"password",value:b?.api_key||"",onChange:be=>N(Ae=>Ae?{...Ae,api_key:be.target.value}:null),placeholder:"sk-...",className:"flex-1"}),i.jsx(oe,{type:"button",variant:"outline",size:"icon",onClick:()=>R(!M),title:M?"隐藏密钥":"显示密钥",children:M?i.jsx(eC,{className:"h-4 w-4"}):i.jsx(Va,{className:"h-4 w-4"})}),i.jsx(oe,{type:"button",variant:"outline",size:"icon",onClick:ee,title:"复制密钥",children:i.jsx(QN,{className:"h-4 w-4"})})]})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"client_type",children:"客户端类型"}),i.jsxs(Dt,{value:b?.client_type||"openai",onValueChange:be=>N(Ae=>Ae?{...Ae,client_type:be}:null),children:[i.jsx(Ot,{id:"client_type",children:i.jsx($t,{placeholder:"选择客户端类型"})}),i.jsxs(Et,{children:[i.jsx(De,{value:"openai",children:"OpenAI"}),i.jsx(De,{value:"gemini",children:"Gemini"})]})]})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"max_retry",children:"最大重试"}),i.jsx(Ne,{id:"max_retry",type:"number",min:"0",value:b?.max_retry||2,onChange:be=>N(Ae=>Ae?{...Ae,max_retry:parseInt(be.target.value)}:null)})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"timeout",children:"超时(秒)"}),i.jsx(Ne,{id:"timeout",type:"number",min:"1",value:b?.timeout||30,onChange:be=>N(Ae=>Ae?{...Ae,timeout:parseInt(be.target.value)}:null)})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"retry_interval",children:"重试间隔(秒)"}),i.jsx(Ne,{id:"retry_interval",type:"number",min:"1",value:b?.retry_interval||10,onChange:be=>N(Ae=>Ae?{...Ae,retry_interval:parseInt(be.target.value)}:null)})]})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>w(!1),children:"取消"}),i.jsx(oe,{onClick:Se,children:"保存"})]})]})}),i.jsx(bn,{open:A,onOpenChange:C,children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除提供商 "',k!==null?e[k]?.name:"",'" 吗? 此操作无法撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:we,children:"删除"})]})]})}),i.jsx(bn,{open:q,onOpenChange:G,children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认批量删除"}),i.jsxs(hn,{children:["确定要删除选中的 ",H.size," 个提供商吗? 此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:Oe,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),g&&i.jsx(kE,{onRestartComplete:z,onRestartFailed:Y})]})}var ML=1,Hje=.9,Wje=.8,Vje=.17,u_=.1,d_=.999,Gje=.9999,Yje=.99,Kje=/[\\\/_+.#"@\[\(\{&]/,Xje=/[\\\/_+.#"@\[\(\{&]/g,Zje=/[\s-]/,pH=/[\s-]/g;function yC(e,t,n,r,a,s,l){if(s===t.length)return a===e.length?ML:Yje;var u=`${a},${s}`;if(l[u]!==void 0)return l[u];for(var d=r.charAt(s),f=n.indexOf(d,a),m=0,p,g,x,j;f>=0;)p=yC(e,t,n,r,f+1,s+1,l),p>m&&(f===a?p*=ML:Kje.test(e.charAt(f-1))?(p*=Wje,x=e.slice(a,f-1).match(Xje),x&&a>0&&(p*=Math.pow(d_,x.length))):Zje.test(e.charAt(f-1))?(p*=Hje,j=e.slice(a,f-1).match(pH),j&&a>0&&(p*=Math.pow(d_,j.length))):(p*=Vje,a>0&&(p*=Math.pow(d_,f-a))),e.charAt(f)!==t.charAt(s)&&(p*=Gje)),(pp&&(p=g*u_)),p>m&&(m=p),f=n.indexOf(d,f+1);return l[u]=m,m}function PL(e){return e.toLowerCase().replace(pH," ")}function Qje(e,t,n){return e=n&&n.length>0?`${e+" "+n.join(" ")}`:e,yC(e,t,PL(e),PL(t),0,0,{})}var Jje=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],go=Jje.reduce((e,t)=>{const n=Dh(`Primitive.${t}`),r=y.forwardRef((a,s)=>{const{asChild:l,...u}=a,d=l?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(d,{...u,ref:s})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),ff='[cmdk-group=""]',f_='[cmdk-group-items=""]',e1e='[cmdk-group-heading=""]',vH='[cmdk-item=""]',RL=`${vH}:not([aria-disabled="true"])`,xC="cmdk-item-select",Ic="data-value",t1e=(e,t,n)=>Qje(e,t,n),gH=y.createContext(void 0),tm=()=>y.useContext(gH),yH=y.createContext(void 0),RE=()=>y.useContext(yH),xH=y.createContext(void 0),bH=y.forwardRef((e,t)=>{let n=Lc(()=>{var z,Y;return{search:"",value:(Y=(z=e.value)!=null?z:e.defaultValue)!=null?Y:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=Lc(()=>new Set),a=Lc(()=>new Map),s=Lc(()=>new Map),l=Lc(()=>new Set),u=wH(e),{label:d,children:f,value:m,onValueChange:p,filter:g,shouldFilter:x,loop:j,disablePointerSelection:w=!1,vimBindings:b=!0,...N}=e,E=Gn(),O=Gn(),A=Gn(),C=y.useRef(null),k=f1e();jl(()=>{if(m!==void 0){let z=m.trim();n.current.value=z,T.emit()}},[m]),jl(()=>{k(6,V)},[]);let T=y.useMemo(()=>({subscribe:z=>(l.current.add(z),()=>l.current.delete(z)),snapshot:()=>n.current,setState:(z,Y,te)=>{var ae,ge,ee,Se;if(!Object.is(n.current[z],Y)){if(n.current[z]=Y,z==="search")H(),B(),k(1,$);else if(z==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let re=document.getElementById(A);re?re.focus():(ae=document.getElementById(E))==null||ae.focus()}if(k(7,()=>{var re;n.current.selectedItemId=(re=q())==null?void 0:re.id,T.emit()}),te||k(5,V),((ge=u.current)==null?void 0:ge.value)!==void 0){let re=Y??"";(Se=(ee=u.current).onValueChange)==null||Se.call(ee,re);return}}T.emit()}},emit:()=>{l.current.forEach(z=>z())}}),[]),M=y.useMemo(()=>({value:(z,Y,te)=>{var ae;Y!==((ae=s.current.get(z))==null?void 0:ae.value)&&(s.current.set(z,{value:Y,keywords:te}),n.current.filtered.items.set(z,R(Y,te)),k(2,()=>{B(),T.emit()}))},item:(z,Y)=>(r.current.add(z),Y&&(a.current.has(Y)?a.current.get(Y).add(z):a.current.set(Y,new Set([z]))),k(3,()=>{H(),B(),n.current.value||$(),T.emit()}),()=>{s.current.delete(z),r.current.delete(z),n.current.filtered.items.delete(z);let te=q();k(4,()=>{H(),te?.getAttribute("id")===z&&$(),T.emit()})}),group:z=>(a.current.has(z)||a.current.set(z,new Set),()=>{s.current.delete(z),a.current.delete(z)}),filter:()=>u.current.shouldFilter,label:d||e["aria-label"],getDisablePointerSelection:()=>u.current.disablePointerSelection,listId:E,inputId:A,labelId:O,listInnerRef:C}),[]);function R(z,Y){var te,ae;let ge=(ae=(te=u.current)==null?void 0:te.filter)!=null?ae:t1e;return z?ge(z,n.current.search,Y):0}function B(){if(!n.current.search||u.current.shouldFilter===!1)return;let z=n.current.filtered.items,Y=[];n.current.filtered.groups.forEach(ae=>{let ge=a.current.get(ae),ee=0;ge.forEach(Se=>{let re=z.get(Se);ee=Math.max(re,ee)}),Y.push([ae,ee])});let te=C.current;G().sort((ae,ge)=>{var ee,Se;let re=ae.getAttribute("id"),we=ge.getAttribute("id");return((ee=z.get(we))!=null?ee:0)-((Se=z.get(re))!=null?Se:0)}).forEach(ae=>{let ge=ae.closest(f_);ge?ge.appendChild(ae.parentElement===ge?ae:ae.closest(`${f_} > *`)):te.appendChild(ae.parentElement===te?ae:ae.closest(`${f_} > *`))}),Y.sort((ae,ge)=>ge[1]-ae[1]).forEach(ae=>{var ge;let ee=(ge=C.current)==null?void 0:ge.querySelector(`${ff}[${Ic}="${encodeURIComponent(ae[0])}"]`);ee?.parentElement.appendChild(ee)})}function $(){let z=G().find(te=>te.getAttribute("aria-disabled")!=="true"),Y=z?.getAttribute(Ic);T.setState("value",Y||void 0)}function H(){var z,Y,te,ae;if(!n.current.search||u.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let ge=0;for(let ee of r.current){let Se=(Y=(z=s.current.get(ee))==null?void 0:z.value)!=null?Y:"",re=(ae=(te=s.current.get(ee))==null?void 0:te.keywords)!=null?ae:[],we=R(Se,re);n.current.filtered.items.set(ee,we),we>0&&ge++}for(let[ee,Se]of a.current)for(let re of Se)if(n.current.filtered.items.get(re)>0){n.current.filtered.groups.add(ee);break}n.current.filtered.count=ge}function V(){var z,Y,te;let ae=q();ae&&(((z=ae.parentElement)==null?void 0:z.firstChild)===ae&&((te=(Y=ae.closest(ff))==null?void 0:Y.querySelector(e1e))==null||te.scrollIntoView({block:"nearest"})),ae.scrollIntoView({block:"nearest"}))}function q(){var z;return(z=C.current)==null?void 0:z.querySelector(`${vH}[aria-selected="true"]`)}function G(){var z;return Array.from(((z=C.current)==null?void 0:z.querySelectorAll(RL))||[])}function L(z){let Y=G()[z];Y&&T.setState("value",Y.getAttribute(Ic))}function D(z){var Y;let te=q(),ae=G(),ge=ae.findIndex(Se=>Se===te),ee=ae[ge+z];(Y=u.current)!=null&&Y.loop&&(ee=ge+z<0?ae[ae.length-1]:ge+z===ae.length?ae[0]:ae[ge+z]),ee&&T.setState("value",ee.getAttribute(Ic))}function U(z){let Y=q(),te=Y?.closest(ff),ae;for(;te&&!ae;)te=z>0?u1e(te,ff):d1e(te,ff),ae=te?.querySelector(RL);ae?T.setState("value",ae.getAttribute(Ic)):D(z)}let K=()=>L(G().length-1),J=z=>{z.preventDefault(),z.metaKey?K():z.altKey?U(1):D(1)},I=z=>{z.preventDefault(),z.metaKey?L(0):z.altKey?U(-1):D(-1)};return y.createElement(go.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:z=>{var Y;(Y=N.onKeyDown)==null||Y.call(N,z);let te=z.nativeEvent.isComposing||z.keyCode===229;if(!(z.defaultPrevented||te))switch(z.key){case"n":case"j":{b&&z.ctrlKey&&J(z);break}case"ArrowDown":{J(z);break}case"p":case"k":{b&&z.ctrlKey&&I(z);break}case"ArrowUp":{I(z);break}case"Home":{z.preventDefault(),L(0);break}case"End":{z.preventDefault(),K();break}case"Enter":{z.preventDefault();let ae=q();if(ae){let ge=new Event(xC);ae.dispatchEvent(ge)}}}}},y.createElement("label",{"cmdk-label":"",htmlFor:M.inputId,id:M.labelId,style:m1e},d),sx(e,z=>y.createElement(yH.Provider,{value:T},y.createElement(gH.Provider,{value:M},z))))}),n1e=y.forwardRef((e,t)=>{var n,r;let a=Gn(),s=y.useRef(null),l=y.useContext(xH),u=tm(),d=wH(e),f=(r=(n=d.current)==null?void 0:n.forceMount)!=null?r:l?.forceMount;jl(()=>{if(!f)return u.item(a,l?.id)},[f]);let m=jH(a,s,[e.value,e.children,s],e.keywords),p=RE(),g=so(k=>k.value&&k.value===m.current),x=so(k=>f||u.filter()===!1?!0:k.search?k.filtered.items.get(a)>0:!0);y.useEffect(()=>{let k=s.current;if(!(!k||e.disabled))return k.addEventListener(xC,j),()=>k.removeEventListener(xC,j)},[x,e.onSelect,e.disabled]);function j(){var k,T;w(),(T=(k=d.current).onSelect)==null||T.call(k,m.current)}function w(){p.setState("value",m.current,!0)}if(!x)return null;let{disabled:b,value:N,onSelect:E,forceMount:O,keywords:A,...C}=e;return y.createElement(go.div,{ref:Ir(s,t),...C,id:a,"cmdk-item":"",role:"option","aria-disabled":!!b,"aria-selected":!!g,"data-disabled":!!b,"data-selected":!!g,onPointerMove:b||u.getDisablePointerSelection()?void 0:w,onClick:b?void 0:j},e.children)}),r1e=y.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:a,...s}=e,l=Gn(),u=y.useRef(null),d=y.useRef(null),f=Gn(),m=tm(),p=so(x=>a||m.filter()===!1?!0:x.search?x.filtered.groups.has(l):!0);jl(()=>m.group(l),[]),jH(l,u,[e.value,e.heading,d]);let g=y.useMemo(()=>({id:l,forceMount:a}),[a]);return y.createElement(go.div,{ref:Ir(u,t),...s,"cmdk-group":"",role:"presentation",hidden:p?void 0:!0},n&&y.createElement("div",{ref:d,"cmdk-group-heading":"","aria-hidden":!0,id:f},n),sx(e,x=>y.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?f:void 0},y.createElement(xH.Provider,{value:g},x))))}),a1e=y.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,a=y.useRef(null),s=so(l=>!l.search);return!n&&!s?null:y.createElement(go.div,{ref:Ir(a,t),...r,"cmdk-separator":"",role:"separator"})}),i1e=y.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,a=e.value!=null,s=RE(),l=so(f=>f.search),u=so(f=>f.selectedItemId),d=tm();return y.useEffect(()=>{e.value!=null&&s.setState("search",e.value)},[e.value]),y.createElement(go.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":d.listId,"aria-labelledby":d.labelId,"aria-activedescendant":u,id:d.inputId,type:"text",value:a?e.value:l,onChange:f=>{a||s.setState("search",f.target.value),n?.(f.target.value)}})}),s1e=y.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...a}=e,s=y.useRef(null),l=y.useRef(null),u=so(f=>f.selectedItemId),d=tm();return y.useEffect(()=>{if(l.current&&s.current){let f=l.current,m=s.current,p,g=new ResizeObserver(()=>{p=requestAnimationFrame(()=>{let x=f.offsetHeight;m.style.setProperty("--cmdk-list-height",x.toFixed(1)+"px")})});return g.observe(f),()=>{cancelAnimationFrame(p),g.unobserve(f)}}},[]),y.createElement(go.div,{ref:Ir(s,t),...a,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":u,"aria-label":r,id:d.listId},sx(e,f=>y.createElement("div",{ref:Ir(l,d.listInnerRef),"cmdk-list-sizer":""},f)))}),o1e=y.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:a,contentClassName:s,container:l,...u}=e;return y.createElement(mE,{open:n,onOpenChange:r},y.createElement(pE,{container:l},y.createElement(Fy,{"cmdk-overlay":"",className:a}),y.createElement(Uy,{"aria-label":e.label,"cmdk-dialog":"",className:s},y.createElement(bH,{ref:t,...u}))))}),l1e=y.forwardRef((e,t)=>so(n=>n.filtered.count===0)?y.createElement(go.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),c1e=y.forwardRef((e,t)=>{let{progress:n,children:r,label:a="Loading...",...s}=e;return y.createElement(go.div,{ref:t,...s,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},sx(e,l=>y.createElement("div",{"aria-hidden":!0},l)))}),Fr=Object.assign(bH,{List:s1e,Item:n1e,Input:i1e,Group:r1e,Separator:a1e,Dialog:o1e,Empty:l1e,Loading:c1e});function u1e(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function d1e(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function wH(e){let t=y.useRef(e);return jl(()=>{t.current=e}),t}var jl=typeof window>"u"?y.useEffect:y.useLayoutEffect;function Lc(e){let t=y.useRef();return t.current===void 0&&(t.current=e()),t}function so(e){let t=RE(),n=()=>e(t.snapshot());return y.useSyncExternalStore(t.subscribe,n,n)}function jH(e,t,n,r=[]){let a=y.useRef(),s=tm();return jl(()=>{var l;let u=(()=>{var f;for(let m of n){if(typeof m=="string")return m.trim();if(typeof m=="object"&&"current"in m)return m.current?(f=m.current.textContent)==null?void 0:f.trim():a.current}})(),d=r.map(f=>f.trim());s.value(e,u,d),(l=t.current)==null||l.setAttribute(Ic,u),a.current=u}),a}var f1e=()=>{let[e,t]=y.useState(),n=Lc(()=>new Map);return jl(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,a)=>{n.current.set(r,a),t({})}};function h1e(e){let t=e.type;return typeof t=="function"?t(e.props):"render"in t?t.render(e.props):e}function sx({asChild:e,children:t},n){return e&&y.isValidElement(t)?y.cloneElement(h1e(t),{ref:t.ref},n(t.props.children)):n(t)}var m1e={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const SH=y.forwardRef(({className:e,...t},n)=>i.jsx(Fr,{ref:n,className:ce("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));SH.displayName=Fr.displayName;const _H=y.forwardRef(({className:e,...t},n)=>i.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[i.jsx(Lr,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),i.jsx(Fr.Input,{ref:n,className:ce("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));_H.displayName=Fr.Input.displayName;const NH=y.forwardRef(({className:e,...t},n)=>i.jsx(Fr.List,{ref:n,className:ce("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));NH.displayName=Fr.List.displayName;const CH=y.forwardRef((e,t)=>i.jsx(Fr.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));CH.displayName=Fr.Empty.displayName;const OH=y.forwardRef(({className:e,...t},n)=>i.jsx(Fr.Group,{ref:n,className:ce("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));OH.displayName=Fr.Group.displayName;const p1e=y.forwardRef(({className:e,...t},n)=>i.jsx(Fr.Separator,{ref:n,className:ce("-mx-1 h-px bg-border",e),...t}));p1e.displayName=Fr.Separator.displayName;const EH=y.forwardRef(({className:e,...t},n)=>i.jsx(Fr.Item,{ref:n,className:ce("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));EH.displayName=Fr.Item.displayName;function v1e({options:e,selected:t,onChange:n,placeholder:r="选择选项...",emptyText:a="未找到选项",className:s}){const[l,u]=y.useState(!1),d=m=>{t.includes(m)?n(t.filter(p=>p!==m)):n([...t,m])},f=m=>{n(t.filter(p=>p!==m))};return i.jsxs(ro,{open:l,onOpenChange:u,children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",role:"combobox","aria-expanded":l,className:ce("w-full justify-between min-h-10 h-auto",s),children:[i.jsx("div",{className:"flex gap-1 flex-wrap flex-1",children:t.length===0?i.jsx("span",{className:"text-muted-foreground",children:r}):t.map(m=>{const p=e.find(g=>g.value===m);return i.jsxs(Ft,{variant:"secondary",className:"cursor-pointer hover:bg-secondary/80",onClick:g=>{g.stopPropagation(),f(m)},children:[p?.label||m,i.jsx(Yh,{className:"ml-1 h-3 w-3",strokeWidth:2,fill:"none"})]},m)})}),i.jsx(Dve,{className:"ml-2 h-4 w-4 shrink-0 opacity-50",strokeWidth:2,fill:"none"})]})}),i.jsx(ds,{className:"w-full p-0",align:"start",children:i.jsxs(SH,{children:[i.jsx(_H,{placeholder:"搜索...",className:"h-9"}),i.jsxs(NH,{children:[i.jsx(CH,{children:a}),i.jsx(OH,{children:e.map(m=>{const p=t.includes(m.value);return i.jsxs(EH,{value:m.value,onSelect:()=>d(m.value),children:[i.jsx("div",{className:ce("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",p?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:i.jsx(ol,{className:"h-3 w-3",strokeWidth:2,fill:"none"})}),i.jsx("span",{children:m.label})]},m.value)})})]})]})})]})}function g1e(){const[e,t]=y.useState([]),[n,r]=y.useState([]),[a,s]=y.useState([]),[l,u]=y.useState(null),[d,f]=y.useState(!0),[m,p]=y.useState(!1),[g,x]=y.useState(!1),[j,w]=y.useState(!1),[b,N]=y.useState(!1),[E,O]=y.useState(!1),[A,C]=y.useState(!1),[k,T]=y.useState(null),[M,R]=y.useState(null),[B,$]=y.useState(!1),[H,V]=y.useState(null),[q,G]=y.useState(""),[L,D]=y.useState(new Set),[U,K]=y.useState(!1),{toast:J}=yr(),I=y.useRef(null),z=y.useRef(null),Y=y.useRef(!0);y.useEffect(()=>{te()},[]);const te=async()=>{try{f(!0);const le=await Jc(),ue=le.models||[];t(ue),s(ue.map(Mn=>Mn.name));const Ve=le.api_providers||[];r(Ve.map(Mn=>Mn.name)),u(le.model_task_config||null),w(!1),Y.current=!1}catch(le){console.error("加载配置失败:",le)}finally{f(!1)}},ae=async()=>{try{N(!0),TE().catch(()=>{}),O(!0)}catch(le){console.error("重启失败:",le),O(!1),J({title:"重启失败",description:"无法发送重启请求,请手动重启",variant:"destructive"}),N(!1)}},ge=async()=>{try{p(!0),I.current&&clearTimeout(I.current),z.current&&clearTimeout(z.current);const le=await Jc();le.models=e,le.model_task_config=l,await Ig(le),w(!1),J({title:"保存成功",description:"正在重启麦麦..."}),await ae()}catch(le){console.error("保存配置失败:",le),J({title:"保存失败",description:le.message,variant:"destructive"}),p(!1)}},ee=()=>{localStorage.removeItem("access-token"),window.location.href="/auth"},Se=()=>{O(!1),N(!1),J({title:"重启超时",description:"服务未能在预期时间内恢复,请手动检查或刷新页面",variant:"destructive"})},re=y.useCallback(async le=>{if(!Y.current)try{x(!0),await gC("models",le),w(!1)}catch(ue){console.error("自动保存模型列表失败:",ue),w(!0)}finally{x(!1)}},[]),we=y.useCallback(async le=>{if(!Y.current)try{x(!0),await gC("model_task_config",le),w(!1)}catch(ue){console.error("自动保存任务配置失败:",ue),w(!0)}finally{x(!1)}},[]);y.useEffect(()=>{if(!Y.current)return w(!0),I.current&&clearTimeout(I.current),I.current=setTimeout(()=>{re(e)},2e3),()=>{I.current&&clearTimeout(I.current)}},[e,re]),y.useEffect(()=>{if(!(Y.current||!l))return w(!0),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{we(l)},2e3),()=>{z.current&&clearTimeout(z.current)}},[l,we]);const je=async()=>{try{p(!0),I.current&&clearTimeout(I.current),z.current&&clearTimeout(z.current);const le=await Jc();le.models=e,le.model_task_config=l,await Ig(le),w(!1),J({title:"保存成功",description:"模型配置已保存"}),await te()}catch(le){console.error("保存配置失败:",le),J({title:"保存失败",description:le.message,variant:"destructive"})}finally{p(!1)}},fe=(le,ue)=>{T(le||{model_identifier:"",name:"",api_provider:n[0]||"",price_in:0,price_out:0,force_stream_mode:!1,extra_params:{}}),R(ue),C(!0)},Le=()=>{if(!k)return;let le;M!==null?(le=[...e],le[M]=k):le=[...e,k],t(le),s(le.map(ue=>ue.name)),C(!1),T(null),R(null)},Oe=le=>{V(le),$(!0)},We=()=>{if(H!==null){const le=e.filter((ue,Ve)=>Ve!==H);t(le),s(le.map(ue=>ue.name)),J({title:"删除成功",description:"模型已从列表中移除"})}$(!1),V(null)},be=le=>{const ue=new Set(L);ue.has(le)?ue.delete(le):ue.add(le),D(ue)},Ae=()=>{if(L.size===Tt.length)D(new Set);else{const le=Tt.map((ue,Ve)=>e.findIndex(Mn=>Mn===Tt[Ve]));D(new Set(le))}},ke=()=>{if(L.size===0){J({title:"提示",description:"请先选择要删除的模型",variant:"default"});return}K(!0)},Qt=()=>{const le=e.filter((ue,Ve)=>!L.has(Ve));t(le),s(le.map(ue=>ue.name)),D(new Set),K(!1),J({title:"批量删除成功",description:`已删除 ${L.size} 个模型`})},St=(le,ue,Ve)=>{l&&u({...l,[le]:{...l[le],[ue]:Ve}})},Tt=e.filter(le=>{if(!q)return!0;const ue=q.toLowerCase();return le.name.toLowerCase().includes(ue)||le.model_identifier.toLowerCase().includes(ue)||le.api_provider.toLowerCase().includes(ue)}),Sn=le=>l?[l.utils?.model_list||[],l.utils_small?.model_list||[],l.tool_use?.model_list||[],l.replyer?.model_list||[],l.planner?.model_list||[],l.vlm?.model_list||[],l.voice?.model_list||[],l.embedding?.model_list||[],l.lpmm_entity_extract?.model_list||[],l.lpmm_rdf_build?.model_list||[],l.lpmm_qa?.model_list||[]].some(Ve=>Ve.includes(le)):!1;return d?i.jsx(Wt,{className:"h-full",children:i.jsx("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:i.jsx("div",{className:"flex items-center justify-center h-64",children:i.jsx("p",{className:"text-muted-foreground",children:"加载中..."})})})}):i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"模型配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理模型和任务配置"})]}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[i.jsxs(oe,{onClick:je,disabled:m||g||!j||b,size:"sm",variant:"outline",className:"flex-1 sm:flex-none",children:[i.jsx(sE,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),m?"保存中...":g?"自动保存中...":j?"保存配置":"已保存"]}),i.jsxs(bn,{children:[i.jsx(mr,{asChild:!0,children:i.jsxs(oe,{disabled:m||g||b,size:"sm",className:"flex-1 sm:flex-none",children:[i.jsx(iE,{className:"mr-2 h-4 w-4"}),b?"重启中...":j?"保存并重启":"重启麦麦"]})}),i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认重启麦麦?"}),i.jsx(hn,{children:j?"当前有未保存的配置更改。点击确认将先保存配置,然后重启麦麦使新配置生效。重启过程中麦麦将暂时离线。":"即将重启麦麦主程序。重启过程中麦麦将暂时离线,配置将在重启后生效。"})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:j?ge:ae,children:j?"保存并重启":"确认重启"})]})]})]})]})]}),i.jsxs(rx,{children:[i.jsx(Mu,{className:"h-4 w-4"}),i.jsxs(ax,{children:["配置更新后需要",i.jsx("strong",{children:"重启麦麦"}),'才能生效。你可以点击右上角的"保存并重启"按钮一键完成保存和重启。']})]}),i.jsxs(dl,{defaultValue:"models",className:"w-full",children:[i.jsxs(eo,{className:"grid w-full max-w-full sm:max-w-md grid-cols-2",children:[i.jsx(Rt,{value:"models",children:"模型配置"}),i.jsx(Rt,{value:"tasks",children:"模型任务配置"})]}),i.jsxs(sn,{value:"models",className:"space-y-4 mt-0",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-start sm:items-center gap-2",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"配置可用的模型列表"}),i.jsxs("div",{className:"flex gap-2 w-full sm:w-auto",children:[L.size>0&&i.jsxs(oe,{onClick:ke,size:"sm",variant:"destructive",className:"w-full sm:w-auto",children:[i.jsx(It,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"批量删除 (",L.size,")"]}),i.jsxs(oe,{onClick:()=>fe(null,null),size:"sm",variant:"outline",className:"w-full sm:w-auto",children:[i.jsx(ir,{className:"mr-2 h-4 w-4",strokeWidth:2,fill:"none"}),"添加模型"]})]})]}),i.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-2",children:[i.jsxs("div",{className:"relative w-full sm:flex-1 sm:max-w-sm",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{placeholder:"搜索模型名称、标识符或提供商...",value:q,onChange:le=>G(le.target.value),className:"pl-9"})]}),q&&i.jsxs("p",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["找到 ",Tt.length," 个结果"]})]}),i.jsx("div",{className:"md:hidden space-y-3",children:Tt.length===0?i.jsx("div",{className:"text-center text-muted-foreground py-8 rounded-lg border bg-card",children:q?"未找到匹配的模型":"暂无模型配置"}):Tt.map((le,ue)=>{const Ve=Sn(le.name);return i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[i.jsx("h3",{className:"font-semibold text-base",children:le.name}),i.jsx(Ft,{variant:Ve?"default":"secondary",className:Ve?"bg-green-600 hover:bg-green-700":"",children:Ve?"已使用":"未使用"})]}),i.jsx("p",{className:"text-xs text-muted-foreground break-all",title:le.model_identifier,children:le.model_identifier})]}),i.jsxs("div",{className:"flex gap-1 flex-shrink-0",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>fe(le,ue),children:i.jsx(Pu,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>Oe(ue),children:i.jsx(It,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"提供商"}),i.jsx("p",{className:"font-medium",children:le.api_provider})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"强制流式"}),i.jsx("p",{className:"font-medium",children:le.force_stream_mode?"是":"否"})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"输入价格"}),i.jsxs("p",{className:"font-medium",children:["¥",le.price_in,"/M"]})]}),i.jsxs("div",{children:[i.jsx("span",{className:"text-muted-foreground text-xs",children:"输出价格"}),i.jsxs("p",{className:"font-medium",children:["¥",le.price_out,"/M"]})]})]})]},ue)})}),i.jsx("div",{className:"hidden md:block rounded-lg border bg-card overflow-hidden",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{className:"w-12",children:i.jsx(io,{checked:L.size===Tt.length&&Tt.length>0,onCheckedChange:Ae})}),i.jsx(nt,{className:"w-24",children:"使用状态"}),i.jsx(nt,{children:"模型名称"}),i.jsx(nt,{children:"模型标识符"}),i.jsx(nt,{children:"提供商"}),i.jsx(nt,{className:"text-right",children:"输入价格"}),i.jsx(nt,{className:"text-right",children:"输出价格"}),i.jsx(nt,{className:"text-center",children:"强制流式"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:Tt.length===0?i.jsx(An,{children:i.jsx(Ge,{colSpan:9,className:"text-center text-muted-foreground py-8",children:q?"未找到匹配的模型":"暂无模型配置"})}):Tt.map((le,ue)=>{const Ve=e.findIndex($l=>$l===le),Mn=Sn(le.name);return i.jsxs(An,{children:[i.jsx(Ge,{children:i.jsx(io,{checked:L.has(Ve),onCheckedChange:()=>be(Ve)})}),i.jsx(Ge,{children:i.jsx(Ft,{variant:Mn?"default":"secondary",className:Mn?"bg-green-600 hover:bg-green-700":"",children:Mn?"已使用":"未使用"})}),i.jsx(Ge,{className:"font-medium",children:le.name}),i.jsx(Ge,{className:"max-w-xs truncate",title:le.model_identifier,children:le.model_identifier}),i.jsx(Ge,{children:le.api_provider}),i.jsxs(Ge,{className:"text-right",children:["¥",le.price_in,"/M"]}),i.jsxs(Ge,{className:"text-right",children:["¥",le.price_out,"/M"]}),i.jsx(Ge,{className:"text-center",children:le.force_stream_mode?"是":"否"}),i.jsx(Ge,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>fe(le,Ve),children:i.jsx(Pu,{className:"h-4 w-4",strokeWidth:2,fill:"none"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>Oe(Ve),children:i.jsx(It,{className:"h-4 w-4",strokeWidth:2,fill:"none"})})]})})]},ue)})})]})})]}),i.jsxs(sn,{value:"tasks",className:"space-y-6 mt-0",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"为不同的任务配置使用的模型和参数"}),l&&i.jsxs("div",{className:"grid gap-4 sm:gap-6",children:[i.jsx($a,{title:"组件模型 (utils)",description:"用于表情包、取名、关系、情绪变化等组件",taskConfig:l.utils,modelNames:a,onChange:(le,ue)=>St("utils",le,ue)}),i.jsx($a,{title:"组件小模型 (utils_small)",description:"消耗量较大的组件,建议使用速度较快的小模型",taskConfig:l.utils_small,modelNames:a,onChange:(le,ue)=>St("utils_small",le,ue)}),i.jsx($a,{title:"工具调用模型 (tool_use)",description:"需要使用支持工具调用的模型",taskConfig:l.tool_use,modelNames:a,onChange:(le,ue)=>St("tool_use",le,ue)}),i.jsx($a,{title:"首要回复模型 (replyer)",description:"用于表达器和表达方式学习",taskConfig:l.replyer,modelNames:a,onChange:(le,ue)=>St("replyer",le,ue)}),i.jsx($a,{title:"决策模型 (planner)",description:"负责决定麦麦该什么时候回复",taskConfig:l.planner,modelNames:a,onChange:(le,ue)=>St("planner",le,ue)}),i.jsx($a,{title:"图像识别模型 (vlm)",description:"视觉语言模型",taskConfig:l.vlm,modelNames:a,onChange:(le,ue)=>St("vlm",le,ue),hideTemperature:!0}),i.jsx($a,{title:"语音识别模型 (voice)",description:"语音转文字",taskConfig:l.voice,modelNames:a,onChange:(le,ue)=>St("voice",le,ue),hideTemperature:!0,hideMaxTokens:!0}),i.jsx($a,{title:"嵌入模型 (embedding)",description:"用于向量化",taskConfig:l.embedding,modelNames:a,onChange:(le,ue)=>St("embedding",le,ue),hideTemperature:!0,hideMaxTokens:!0}),i.jsxs("div",{className:"space-y-4",children:[i.jsx("h3",{className:"text-lg font-semibold",children:"LPMM 知识库模型"}),i.jsx($a,{title:"实体提取模型 (lpmm_entity_extract)",description:"从文本中提取实体",taskConfig:l.lpmm_entity_extract,modelNames:a,onChange:(le,ue)=>St("lpmm_entity_extract",le,ue)}),i.jsx($a,{title:"RDF 构建模型 (lpmm_rdf_build)",description:"构建知识图谱",taskConfig:l.lpmm_rdf_build,modelNames:a,onChange:(le,ue)=>St("lpmm_rdf_build",le,ue)}),i.jsx($a,{title:"问答模型 (lpmm_qa)",description:"知识库问答",taskConfig:l.lpmm_qa,modelNames:a,onChange:(le,ue)=>St("lpmm_qa",le,ue)})]})]})]})]}),i.jsx(sr,{open:A,onOpenChange:C,children:i.jsxs(Kn,{className:"max-w-[95vw] sm:max-w-2xl max-h-[90vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:M!==null?"编辑模型":"添加模型"}),i.jsx(vr,{children:"配置模型的基本信息和参数"})]}),i.jsxs("div",{className:"grid gap-4 py-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"model_name",children:"模型名称 *"}),i.jsx(Ne,{id:"model_name",value:k?.name||"",onChange:le=>T(ue=>ue?{...ue,name:le.target.value}:null),placeholder:"例如: qwen3-30b"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"用于在任务配置中引用此模型"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"model_identifier",children:"模型标识符 *"}),i.jsx(Ne,{id:"model_identifier",value:k?.model_identifier||"",onChange:le=>T(ue=>ue?{...ue,model_identifier:le.target.value}:null),placeholder:"Qwen/Qwen3-30B-A3B-Instruct-2507"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"API 提供商提供的模型 ID"})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"api_provider",children:"API 提供商 *"}),i.jsxs(Dt,{value:k?.api_provider||"",onValueChange:le=>T(ue=>ue?{...ue,api_provider:le}:null),children:[i.jsx(Ot,{id:"api_provider",children:i.jsx($t,{placeholder:"选择提供商"})}),i.jsx(Et,{children:n.map(le=>i.jsx(De,{value:le,children:le},le))})]})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"price_in",children:"输入价格 (¥/M token)"}),i.jsx(Ne,{id:"price_in",type:"number",step:"0.1",min:"0",value:k?.price_in||0,onChange:le=>T(ue=>ue?{...ue,price_in:parseFloat(le.target.value)}:null)})]}),i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{htmlFor:"price_out",children:"输出价格 (¥/M token)"}),i.jsx(Ne,{id:"price_out",type:"number",step:"0.1",min:"0",value:k?.price_out||0,onChange:le=>T(ue=>ue?{...ue,price_out:parseFloat(le.target.value)}:null)})]})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"force_stream_mode",checked:k?.force_stream_mode||!1,onCheckedChange:le=>T(ue=>ue?{...ue,force_stream_mode:le}:null)}),i.jsx(Q,{htmlFor:"force_stream_mode",className:"cursor-pointer",children:"强制流式输出模式"})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>C(!1),children:"取消"}),i.jsx(oe,{onClick:Le,children:"保存"})]})]})}),i.jsx(bn,{open:B,onOpenChange:$,children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除模型 "',H!==null?e[H]?.name:"",'" 吗? 此操作无法撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:We,children:"删除"})]})]})}),i.jsx(bn,{open:U,onOpenChange:K,children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认批量删除"}),i.jsxs(hn,{children:["确定要删除选中的 ",L.size," 个模型吗? 此操作无法撤销。"]})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:Qt,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"批量删除"})]})]})}),E&&i.jsx(kE,{onRestartComplete:ee,onRestartFailed:Se})]})})}function $a({title:e,description:t,taskConfig:n,modelNames:r,onChange:a,hideTemperature:s=!1,hideMaxTokens:l=!1}){const u=d=>{a("model_list",d)};return i.jsxs("div",{className:"rounded-lg border bg-card p-4 sm:p-6 space-y-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"font-semibold text-base sm:text-lg",children:e}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:t})]}),i.jsxs("div",{className:"grid gap-4",children:[i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"模型列表"}),i.jsx(v1e,{options:r.map(d=>({label:d,value:d})),selected:n.model_list||[],onChange:u,placeholder:"选择模型...",emptyText:"暂无可用模型"})]}),i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[!s&&i.jsxs("div",{className:"grid gap-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx(Q,{children:"温度"}),i.jsx(Ne,{type:"number",step:"0.1",min:"0",max:"1",value:n.temperature??.3,onChange:d=>{const f=parseFloat(d.target.value);!isNaN(f)&&f>=0&&f<=1&&a("temperature",f)},className:"w-20 h-8 text-sm"})]}),i.jsx(Wy,{value:[n.temperature??.3],onValueChange:d=>a("temperature",d[0]),min:0,max:1,step:.1,className:"w-full"})]}),!l&&i.jsxs("div",{className:"grid gap-2",children:[i.jsx(Q,{children:"最大 Token"}),i.jsx(Ne,{type:"number",step:"1",min:"1",value:n.max_tokens??1024,onChange:d=>a("max_tokens",parseInt(d.target.value))})]})]})]})]})}const yo="/api/webui/emoji";async function y1e(e){const t=new URLSearchParams;e.page&&t.append("page",e.page.toString()),e.page_size&&t.append("page_size",e.page_size.toString()),e.search&&t.append("search",e.search),e.is_registered!==void 0&&t.append("is_registered",e.is_registered.toString()),e.is_banned!==void 0&&t.append("is_banned",e.is_banned.toString()),e.format&&t.append("format",e.format),e.sort_by&&t.append("sort_by",e.sort_by),e.sort_order&&t.append("sort_order",e.sort_order);const n=await rt(`${yo}/list?${t}`,{headers:dt()});if(!n.ok)throw new Error(`获取表情包列表失败: ${n.statusText}`);return n.json()}async function x1e(e){const t=await rt(`${yo}/${e}`,{headers:dt()});if(!t.ok)throw new Error(`获取表情包详情失败: ${t.statusText}`);return t.json()}async function b1e(e,t){const n=await rt(`${yo}/${e}`,{method:"PATCH",headers:dt(),body:JSON.stringify(t)});if(!n.ok)throw new Error(`更新表情包失败: ${n.statusText}`);return n.json()}async function w1e(e){const t=await rt(`${yo}/${e}`,{method:"DELETE",headers:dt()});if(!t.ok)throw new Error(`删除表情包失败: ${t.statusText}`);return t.json()}async function j1e(){const e=await rt(`${yo}/stats/summary`,{headers:dt()});if(!e.ok)throw new Error(`获取统计数据失败: ${e.statusText}`);return e.json()}async function S1e(e){const t=await rt(`${yo}/${e}/register`,{method:"POST",headers:dt()});if(!t.ok)throw new Error(`注册表情包失败: ${t.statusText}`);return t.json()}async function _1e(e){const t=await rt(`${yo}/${e}/ban`,{method:"POST",headers:dt()});if(!t.ok)throw new Error(`封禁表情包失败: ${t.statusText}`);return t.json()}function bC(e){const t=localStorage.getItem("access-token");return`${yo}/${e}/thumbnail?token=${encodeURIComponent(t||"")}`}function N1e(){const[e,t]=y.useState([]),[n,r]=y.useState(null),[a,s]=y.useState(!1),[l,u]=y.useState(1),[d,f]=y.useState(0),[m]=y.useState(20),[p,g]=y.useState(""),[x,j]=y.useState("all"),[w,b]=y.useState("all"),[N,E]=y.useState("all"),[O,A]=y.useState(null),[C,k]=y.useState(!1),[T,M]=y.useState(!1),[R,B]=y.useState(!1),{toast:$}=yr(),H=y.useCallback(async()=>{try{s(!0);const I=await y1e({page:l,page_size:m,search:p||void 0,is_registered:x==="all"?void 0:x==="registered",is_banned:w==="all"?void 0:w==="banned",format:N==="all"?void 0:N,sort_by:"usage_count",sort_order:"desc"});t(I.data),f(I.total)}catch(I){const z=I instanceof Error?I.message:"加载表情包列表失败";$({title:"错误",description:z,variant:"destructive"})}finally{s(!1)}},[l,m,p,x,w,N,$]),V=async()=>{try{const I=await j1e();r(I.data)}catch(I){console.error("加载统计数据失败:",I)}};y.useEffect(()=>{H()},[H]),y.useEffect(()=>{V()},[]);const q=async I=>{try{const z=await x1e(I.id);A(z.data),k(!0)}catch(z){const Y=z instanceof Error?z.message:"加载详情失败";$({title:"错误",description:Y,variant:"destructive"})}},G=I=>{A(I),M(!0)},L=I=>{A(I),B(!0)},D=async()=>{if(O)try{await w1e(O.id),$({title:"成功",description:"表情包已删除"}),B(!1),A(null),H(),V()}catch(I){const z=I instanceof Error?I.message:"删除失败";$({title:"错误",description:z,variant:"destructive"})}},U=async I=>{try{await S1e(I.id),$({title:"成功",description:"表情包已注册"}),H(),V()}catch(z){const Y=z instanceof Error?z.message:"注册失败";$({title:"错误",description:Y,variant:"destructive"})}},K=async I=>{try{await _1e(I.id),$({title:"成功",description:"表情包已封禁"}),H(),V()}catch(z){const Y=z instanceof Error?z.message:"封禁失败";$({title:"错误",description:Y,variant:"destructive"})}},J=n?.formats?Object.keys(n.formats):[];return i.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[i.jsxs("div",{className:"mb-4 sm:mb-6",children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"表情包管理"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理麦麦的表情包资源"})]}),i.jsx(Wt,{className:"flex-1",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[n&&i.jsxs("div",{className:"grid gap-4 grid-cols-2 lg:grid-cols-4",children:[i.jsx(Xe,{children:i.jsxs(pt,{className:"pb-2",children:[i.jsx(Wn,{children:"总数"}),i.jsx(vt,{className:"text-2xl",children:n.total})]})}),i.jsx(Xe,{children:i.jsxs(pt,{className:"pb-2",children:[i.jsx(Wn,{children:"已注册"}),i.jsx(vt,{className:"text-2xl text-green-600",children:n.registered})]})}),i.jsx(Xe,{children:i.jsxs(pt,{className:"pb-2",children:[i.jsx(Wn,{children:"已封禁"}),i.jsx(vt,{className:"text-2xl text-red-600",children:n.banned})]})}),i.jsx(Xe,{children:i.jsxs(pt,{className:"pb-2",children:[i.jsx(Wn,{children:"未注册"}),i.jsx(vt,{className:"text-2xl text-gray-600",children:n.unregistered})]})})]}),i.jsxs(Xe,{children:[i.jsx(pt,{children:i.jsxs(vt,{className:"flex items-center gap-2",children:[i.jsx(tC,{className:"h-5 w-5"}),"搜索和筛选"]})}),i.jsxs(Ct,{className:"space-y-4",children:[i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{children:"搜索"}),i.jsxs("div",{className:"relative",children:[i.jsx(Lr,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{placeholder:"描述或哈希值...",value:p,onChange:I=>{g(I.target.value),u(1)},className:"pl-8"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{children:"注册状态"}),i.jsxs(Dt,{value:x,onValueChange:I=>{j(I),u(1)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部"}),i.jsx(De,{value:"registered",children:"已注册"}),i.jsx(De,{value:"unregistered",children:"未注册"})]})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{children:"封禁状态"}),i.jsxs(Dt,{value:w,onValueChange:I=>{b(I),u(1)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部"}),i.jsx(De,{value:"banned",children:"已封禁"}),i.jsx(De,{value:"unbanned",children:"未封禁"})]})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{children:"格式"}),i.jsxs(Dt,{value:N,onValueChange:I=>{E(I),u(1)},children:[i.jsx(Ot,{children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部"}),J.map(I=>i.jsxs(De,{value:I,children:[I.toUpperCase()," (",n?.formats[I],")"]},I))]})]})]})]}),i.jsx("div",{className:"flex justify-end",children:i.jsxs(oe,{variant:"outline",size:"sm",onClick:H,disabled:a,children:[i.jsx(is,{className:`h-4 w-4 mr-2 ${a?"animate-spin":""}`}),"刷新"]})})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"表情包列表"}),i.jsxs(Wn,{children:["共 ",d," 个表情包,当前第 ",l," 页"]})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"hidden md:block rounded-md border overflow-hidden",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{className:"w-16",children:"预览"}),i.jsx(nt,{children:"描述"}),i.jsx(nt,{children:"格式"}),i.jsx(nt,{children:"情绪标签"}),i.jsx(nt,{className:"text-center",children:"状态"}),i.jsx(nt,{className:"text-right",children:"使用次数"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:e.length===0?i.jsx(An,{children:i.jsx(Ge,{colSpan:7,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):e.map(I=>i.jsxs(An,{children:[i.jsx(Ge,{children:i.jsx("div",{className:"w-20 h-20 bg-muted rounded flex items-center justify-center overflow-hidden",children:i.jsx("img",{src:bC(I.id),alt:I.description||"表情包",className:"w-full h-full object-cover",onError:z=>{const Y=z.target;Y.style.display="none";const te=Y.parentElement;te&&(te.innerHTML='')}})})}),i.jsx(Ge,{children:i.jsxs("div",{className:"space-y-1 max-w-xs",children:[i.jsx("div",{className:"font-medium truncate",title:I.description||"无描述",children:I.description||"无描述"}),i.jsxs("div",{className:"text-xs text-muted-foreground font-mono",children:[I.emoji_hash.slice(0,16),"..."]})]})}),i.jsx(Ge,{children:i.jsx(Ft,{variant:"outline",children:I.format.toUpperCase()})}),i.jsx(Ge,{children:i.jsx(DL,{emotions:I.emotion})}),i.jsx(Ge,{className:"align-middle",children:i.jsxs("div",{className:"flex gap-2 justify-center",children:[I.is_registered&&i.jsxs(Ft,{variant:"default",className:"bg-green-600",children:[i.jsx(Pr,{className:"h-3 w-3 mr-1"}),"已注册"]}),I.is_banned&&i.jsxs(Ft,{variant:"destructive",children:[i.jsx(ZN,{className:"h-3 w-3 mr-1"}),"已封禁"]})]})}),i.jsx(Ge,{className:"text-right font-mono",children:I.usage_count}),i.jsx(Ge,{children:i.jsxs("div",{className:"flex items-center justify-end gap-1 flex-wrap",children:[i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>q(I),children:[i.jsx(Mu,{className:"h-4 w-4 mr-1"}),"详情"]}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>G(I),children:[i.jsx(Ru,{className:"h-4 w-4 mr-1"}),"编辑"]}),!I.is_registered&&i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>U(I),className:"text-green-600 hover:text-green-700",children:[i.jsx(Pr,{className:"h-4 w-4 mr-1"}),"注册"]}),!I.is_banned&&i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>K(I),className:"text-orange-600 hover:text-orange-700",children:[i.jsx(ZI,{className:"h-4 w-4 mr-1"}),"封禁"]}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>L(I),className:"text-red-600 hover:text-red-700",children:[i.jsx(It,{className:"h-4 w-4 mr-1"}),"删除"]})]})})]},I.id))})]})}),i.jsx("div",{className:"md:hidden space-y-3",children:e.length===0?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):e.map(I=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[i.jsxs("div",{className:"flex gap-3",children:[i.jsx("div",{className:"flex-shrink-0",children:i.jsx("div",{className:"w-16 h-16 bg-muted rounded flex items-center justify-center overflow-hidden",children:i.jsx("img",{src:bC(I.id),alt:I.description||"表情包",className:"w-full h-full object-cover",onError:z=>{const Y=z.target;Y.style.display="none";const te=Y.parentElement;te&&(te.innerHTML='')}})})}),i.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[i.jsxs("div",{className:"min-w-0 w-full overflow-hidden",children:[i.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",title:I.description||"无描述",children:I.description||"无描述"}),i.jsxs("p",{className:"text-xs text-muted-foreground font-mono line-clamp-1 w-full break-all",children:[I.emoji_hash.slice(0,16),"..."]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 items-center min-w-0",children:[i.jsx(Ft,{variant:"outline",className:"text-xs flex-shrink-0",children:I.format.toUpperCase()}),I.is_registered&&i.jsxs(Ft,{variant:"default",className:"bg-green-600 text-xs flex-shrink-0",children:[i.jsx(Pr,{className:"h-3 w-3 mr-1"}),"已注册"]}),I.is_banned&&i.jsxs(Ft,{variant:"destructive",className:"text-xs flex-shrink-0",children:[i.jsx(ZN,{className:"h-3 w-3 mr-1"}),"已封禁"]}),i.jsxs("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:["使用: ",I.usage_count]})]}),I.emotion&&I.emotion.length>0&&i.jsx("div",{className:"min-w-0 overflow-hidden",children:i.jsx(DL,{emotions:I.emotion})})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>q(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Mu,{className:"h-3 w-3 mr-1"}),"详情"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>G(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Ru,{className:"h-3 w-3 mr-1"}),"编辑"]}),!I.is_registered&&i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>U(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-green-600 hover:text-green-700",children:[i.jsx(Pr,{className:"h-3 w-3 mr-1"}),"注册"]}),!I.is_banned&&i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>K(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-orange-600 hover:text-orange-700",children:[i.jsx(ZI,{className:"h-3 w-3 mr-1"}),"封禁"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>L(I),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-red-600 hover:text-red-700",children:[i.jsx(It,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},I.id))}),d>m&&i.jsxs("div",{className:"flex items-center justify-between mt-4",children:[i.jsxs("div",{className:"text-sm text-muted-foreground",children:["显示 ",(l-1)*m+1," 到"," ",Math.min(l*m,d)," 条,共 ",d," 条"]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>u(I=>Math.max(1,I-1)),disabled:l===1,children:[i.jsx(nE,{className:"h-4 w-4"}),"上一页"]}),i.jsxs("div",{className:"text-sm",children:["第 ",l," / ",Math.ceil(d/m)," 页"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>u(I=>I+1),disabled:l>=Math.ceil(d/m),children:["下一页",i.jsx(rE,{className:"h-4 w-4"})]})]})]})]})]}),i.jsx(C1e,{emoji:O,open:C,onOpenChange:k}),i.jsx(O1e,{emoji:O,open:T,onOpenChange:M,onSuccess:()=>{H(),V()}})]})}),i.jsx(sr,{open:R,onOpenChange:B,children:i.jsxs(Kn,{children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"确认删除"}),i.jsx(vr,{children:"确定要删除这个表情包吗?此操作无法撤销。"})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>B(!1),children:"取消"}),i.jsx(oe,{variant:"destructive",onClick:D,children:"删除"})]})]})})]})}function C1e({emoji:e,open:t,onOpenChange:n}){if(!e)return null;const r=a=>a?new Date(a*1e3).toLocaleString("zh-CN"):"-";return i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl",children:[i.jsx(Xn,{children:i.jsx(Zn,{children:"表情包详情"})}),i.jsxs("div",{className:"space-y-4",children:[i.jsx("div",{className:"flex justify-center",children:i.jsx("div",{className:"w-32 h-32 bg-muted rounded-lg flex items-center justify-center overflow-hidden",children:i.jsx("img",{src:bC(e.id),alt:e.description||"表情包",className:"w-full h-full object-cover",onError:a=>{const s=a.target;s.style.display="none";const l=s.parentElement;l&&(l.innerHTML='')}})})}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"ID"}),i.jsx("div",{className:"mt-1 font-mono",children:e.id})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"格式"}),i.jsx("div",{className:"mt-1",children:i.jsx(Ft,{variant:"outline",children:e.format.toUpperCase()})})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"文件路径"}),i.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:e.full_path})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"哈希值"}),i.jsx("div",{className:"mt-1 font-mono text-sm break-all bg-muted p-2 rounded",children:e.emoji_hash})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"描述"}),i.jsx("div",{className:"mt-1",children:e.description||"-"})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"情绪标签"}),i.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:(()=>{const a=e.emotion?e.emotion.split(/[,,]/).map(s=>s.trim()).filter(Boolean):[];return a.length>0?a.map((s,l)=>i.jsx(Ft,{variant:"secondary",children:s},l)):i.jsx("span",{className:"text-sm text-muted-foreground",children:"无"})})()})]}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"状态"}),i.jsxs("div",{className:"mt-2 flex gap-2",children:[e.is_registered&&i.jsx(Ft,{variant:"default",className:"bg-green-600",children:"已注册"}),e.is_banned&&i.jsx(Ft,{variant:"destructive",children:"已封禁"}),!e.is_registered&&!e.is_banned&&i.jsx(Ft,{variant:"outline",children:"未注册"})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"使用次数"}),i.jsx("div",{className:"mt-1 font-mono text-lg",children:e.usage_count})]})]}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"记录时间"}),i.jsx("div",{className:"mt-1 text-sm",children:r(e.record_time)})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"注册时间"}),i.jsx("div",{className:"mt-1 text-sm",children:r(e.register_time)})]})]}),i.jsxs("div",{children:[i.jsx(Q,{className:"text-muted-foreground",children:"最后使用"}),i.jsx("div",{className:"mt-1 text-sm",children:r(e.last_used_time)})]})]})]})})}function O1e({emoji:e,open:t,onOpenChange:n,onSuccess:r}){const[a,s]=y.useState(""),[l,u]=y.useState(""),[d,f]=y.useState(!1),[m,p]=y.useState(!1),[g,x]=y.useState(!1),{toast:j}=yr();y.useEffect(()=>{e&&(s(e.description||""),u(e.emotion||""),f(e.is_registered),p(e.is_banned))},[e]);const w=async()=>{if(e)try{x(!0);const b=l.split(/[,,]/).map(N=>N.trim()).filter(Boolean).join(",");await b1e(e.id,{description:a||void 0,emotion:b||void 0,is_registered:d,is_banned:m}),j({title:"成功",description:"表情包信息已更新"}),n(!1),r()}catch(b){const N=b instanceof Error?b.message:"保存失败";j({title:"错误",description:N,variant:"destructive"})}finally{x(!1)}};return e?i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑表情包"}),i.jsx(vr,{children:"修改表情包的描述和标签信息"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx(Q,{children:"描述"}),i.jsx(Xt,{value:a,onChange:b=>s(b.target.value),placeholder:"输入表情包描述...",rows:3,className:"mt-1"})]}),i.jsxs("div",{children:[i.jsx(Q,{children:"情绪标签"}),i.jsx(Ne,{value:l,onChange:b=>u(b.target.value),placeholder:"使用逗号分隔多个标签,如:开心, 微笑, 快乐",className:"mt-1"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"输入多个标签时使用逗号分隔(支持中英文逗号)"})]}),i.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(io,{id:"is_registered",checked:d,onCheckedChange:b=>f(b===!0)}),i.jsx(Q,{htmlFor:"is_registered",className:"cursor-pointer",children:"已注册"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(io,{id:"is_banned",checked:m,onCheckedChange:b=>p(b===!0)}),i.jsx(Q,{htmlFor:"is_banned",className:"cursor-pointer",children:"已封禁"})]})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>n(!1),children:"取消"}),i.jsx(oe,{onClick:w,disabled:g,children:g?"保存中...":"保存"})]})]})}):null}function DL({emotions:e}){const t=e?e.split(/[,,]/).map(s=>s.trim()).filter(Boolean):[];if(t.length===0)return i.jsx("span",{className:"text-xs text-muted-foreground",children:"-"});const n=(s,l=6)=>s.length<=l?s:s.slice(0,l)+"...",r=t.slice(0,3),a=t.length-3;return i.jsxs("div",{className:"flex flex-wrap gap-1 max-w-full overflow-hidden",children:[r.map((s,l)=>i.jsx(Ft,{variant:"secondary",className:"text-xs flex-shrink-0",title:s,children:n(s)},l)),a>0&&i.jsxs(Ft,{variant:"outline",className:"text-xs flex-shrink-0",title:`还有 ${a} 个标签: ${t.slice(3).join(", ")}`,children:["+",a]})]})}const rd="/api/webui/expression";async function E1e(e){const t=new URLSearchParams;e.page&&t.append("page",e.page.toString()),e.page_size&&t.append("page_size",e.page_size.toString()),e.search&&t.append("search",e.search),e.chat_id&&t.append("chat_id",e.chat_id);const n=await rt(`${rd}/list?${t}`,{headers:dt()});if(!n.ok){const r=await n.json();throw new Error(r.detail||"获取表达方式列表失败")}return n.json()}async function A1e(e){const t=await rt(`${rd}/${e}`,{headers:dt()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"获取表达方式详情失败")}return t.json()}async function T1e(e){const t=await rt(`${rd}/`,{method:"POST",headers:dt(),body:JSON.stringify(e)});if(!t.ok){const n=await t.json();throw new Error(n.detail||"创建表达方式失败")}return t.json()}async function k1e(e,t){const n=await rt(`${rd}/${e}`,{method:"PATCH",headers:dt(),body:JSON.stringify(t)});if(!n.ok){const r=await n.json();throw new Error(r.detail||"更新表达方式失败")}return n.json()}async function M1e(e){const t=await rt(`${rd}/${e}`,{method:"DELETE",headers:dt()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"删除表达方式失败")}return t.json()}async function P1e(){const e=await rt(`${rd}/stats/summary`,{headers:dt()});if(!e.ok){const t=await e.json();throw new Error(t.detail||"获取统计数据失败")}return e.json()}function R1e(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[a,s]=y.useState(0),[l,u]=y.useState(1),[d]=y.useState(20),[f,m]=y.useState(""),[p,g]=y.useState(null),[x,j]=y.useState(!1),[w,b]=y.useState(!1),[N,E]=y.useState(!1),[O,A]=y.useState(null),[C,k]=y.useState({total:0,recent_7days:0,chat_count:0,top_chats:{}}),{toast:T}=yr(),M=async()=>{try{r(!0);const q=await E1e({page:l,page_size:d,search:f||void 0});t(q.data),s(q.total)}catch(q){T({title:"加载失败",description:q instanceof Error?q.message:"无法加载表达方式",variant:"destructive"})}finally{r(!1)}},R=async()=>{try{const q=await P1e();k(q.data)}catch(q){console.error("加载统计数据失败:",q)}};y.useEffect(()=>{M(),R()},[l,d,f]);const B=async q=>{try{const G=await A1e(q.id);g(G.data),j(!0)}catch(G){T({title:"加载详情失败",description:G instanceof Error?G.message:"无法加载表达方式详情",variant:"destructive"})}},$=q=>{g(q),b(!0)},H=async q=>{try{await M1e(q.id),T({title:"删除成功",description:`已删除表达方式: ${q.situation}`}),A(null),M(),R()}catch(G){T({title:"删除失败",description:G instanceof Error?G.message:"无法删除表达方式",variant:"destructive"})}},V=q=>q?new Date(q*1e3).toLocaleString("zh-CN"):"-";return i.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[i.jsx("div",{className:"mb-4 sm:mb-6",children:i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[i.jsx(Gh,{className:"h-8 w-8",strokeWidth:2}),"表达方式管理"]}),i.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦的表达方式和话术模板"})]}),i.jsxs(oe,{onClick:()=>E(!0),className:"gap-2",children:[i.jsx(ir,{className:"h-4 w-4"}),"新增表达方式"]})]})}),i.jsx(Wt,{className:"flex-1",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"总数量"}),i.jsx("div",{className:"text-2xl font-bold mt-1",children:C.total})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"近7天新增"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:C.recent_7days})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"关联聊天数"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-blue-600",children:C.chat_count})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx(Q,{htmlFor:"search",children:"搜索"}),i.jsxs("div",{className:"relative mt-1.5",children:[i.jsx(Lr,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{id:"search",placeholder:"搜索情境、风格或上下文...",value:f,onChange:q=>m(q.target.value),className:"pl-9"})]})]}),i.jsxs("div",{className:"rounded-lg border bg-card",children:[i.jsx("div",{className:"hidden md:block",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{children:"情境"}),i.jsx(nt,{children:"风格"}),i.jsx(nt,{children:"聊天ID"}),i.jsx(nt,{children:"最后活跃"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:n?i.jsx(An,{children:i.jsx(Ge,{colSpan:5,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):e.length===0?i.jsx(An,{children:i.jsx(Ge,{colSpan:5,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):e.map(q=>i.jsxs(An,{children:[i.jsx(Ge,{className:"font-medium max-w-xs truncate",children:q.situation}),i.jsx(Ge,{className:"max-w-xs truncate",children:q.style}),i.jsx(Ge,{className:"font-mono text-sm",children:q.chat_id}),i.jsx(Ge,{className:"text-sm text-muted-foreground",children:V(q.last_active_time)}),i.jsx(Ge,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>B(q),children:i.jsx(Va,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>$(q),children:i.jsx(Ru,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>A(q),children:i.jsx(It,{className:"h-4 w-4 text-destructive"})})]})})]},q.id))})]})}),i.jsx("div",{className:"md:hidden space-y-3 p-4",children:n?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):e.length===0?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):e.map(q=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[i.jsxs("div",{className:"min-w-0 w-full overflow-hidden space-y-2",children:[i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"情境"}),i.jsx("h3",{className:"font-semibold text-sm line-clamp-2 w-full break-all",title:q.situation,children:q.situation})]}),i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"风格"}),i.jsx("p",{className:"text-sm line-clamp-2 w-full break-all",title:q.style,children:q.style})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"聊天ID"}),i.jsx("p",{className:"font-mono text-xs truncate",children:q.chat_id})]}),i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后活跃"}),i.jsx("p",{className:"text-xs",children:V(q.last_active_time)})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>B(q),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Va,{className:"h-3 w-3 mr-1"}),"查看"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>$(q),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Ru,{className:"h-3 w-3 mr-1"}),"编辑"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>A(q),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[i.jsx(It,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},q.id))}),a>d&&i.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-t",children:[i.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",a," 条记录,第 ",l," / ",Math.ceil(a/d)," 页"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(l-1),disabled:l===1,children:"上一页"}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(l+1),disabled:l>=Math.ceil(a/d),children:"下一页"})]})]})]})]})}),i.jsx(D1e,{expression:p,open:x,onOpenChange:j}),i.jsx($1e,{open:N,onOpenChange:E,onSuccess:()=>{M(),R(),E(!1)}}),i.jsx(I1e,{expression:p,open:w,onOpenChange:b,onSuccess:()=>{M(),R(),b(!1)}}),i.jsx(bn,{open:!!O,onOpenChange:()=>A(null),children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除表达方式 "',O?.situation,'" 吗? 此操作不可撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>O&&H(O),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})})]})}function D1e({expression:e,open:t,onOpenChange:n}){if(!e)return null;const r=a=>a?new Date(a*1e3).toLocaleString("zh-CN"):"-";return i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"表达方式详情"}),i.jsx(vr,{children:"查看表达方式的完整信息"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsx(Mc,{label:"情境",value:e.situation}),i.jsx(Mc,{label:"风格",value:e.style}),i.jsx(Mc,{icon:Eg,label:"聊天ID",value:e.chat_id,mono:!0}),i.jsx(Mc,{icon:Eg,label:"记录ID",value:e.id.toString(),mono:!0})]}),e.context&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(Q,{className:"text-xs text-muted-foreground",children:"上下文"}),i.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:e.context})]}),e.up_content&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(Q,{className:"text-xs text-muted-foreground",children:"上文内容"}),i.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:e.up_content})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsx(Mc,{icon:ll,label:"最后活跃",value:r(e.last_active_time)}),i.jsx(Mc,{icon:ll,label:"创建时间",value:r(e.create_date)})]})]}),i.jsx(Br,{children:i.jsx(oe,{onClick:()=>n(!1),children:"关闭"})})]})})}function Mc({icon:e,label:t,value:n,mono:r=!1}){return i.jsxs("div",{className:"space-y-1",children:[i.jsxs(Q,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[e&&i.jsx(e,{className:"h-3 w-3"}),t]}),i.jsx("div",{className:ce("text-sm",r&&"font-mono",!n&&"text-muted-foreground"),children:n||"-"})]})}function $1e({open:e,onOpenChange:t,onSuccess:n}){const[r,a]=y.useState({situation:"",style:"",context:"",up_content:"",chat_id:""}),[s,l]=y.useState(!1),{toast:u}=yr(),d=async()=>{if(!r.situation||!r.style||!r.chat_id){u({title:"验证失败",description:"请填写必填字段:情境、风格和聊天ID",variant:"destructive"});return}try{l(!0),await T1e(r),u({title:"创建成功",description:"表达方式已创建"}),a({situation:"",style:"",context:"",up_content:"",chat_id:""}),n()}catch(f){u({title:"创建失败",description:f instanceof Error?f.message:"无法创建表达方式",variant:"destructive"})}finally{l(!1)}};return i.jsx(sr,{open:e,onOpenChange:t,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"新增表达方式"}),i.jsx(vr,{children:"创建新的表达方式记录"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsxs(Q,{htmlFor:"situation",children:["情境 ",i.jsx("span",{className:"text-destructive",children:"*"})]}),i.jsx(Ne,{id:"situation",value:r.situation,onChange:f=>a({...r,situation:f.target.value}),placeholder:"描述使用场景"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsxs(Q,{htmlFor:"style",children:["风格 ",i.jsx("span",{className:"text-destructive",children:"*"})]}),i.jsx(Ne,{id:"style",value:r.style,onChange:f=>a({...r,style:f.target.value}),placeholder:"描述表达风格"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsxs(Q,{htmlFor:"chat_id",children:["聊天ID ",i.jsx("span",{className:"text-destructive",children:"*"})]}),i.jsx(Ne,{id:"chat_id",value:r.chat_id,onChange:f=>a({...r,chat_id:f.target.value}),placeholder:"关联的聊天ID"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"context",children:"上下文"}),i.jsx(Xt,{id:"context",value:r.context,onChange:f=>a({...r,context:f.target.value}),placeholder:"上下文信息(可选)",rows:3})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"up_content",children:"上文内容"}),i.jsx(Xt,{id:"up_content",value:r.up_content,onChange:f=>a({...r,up_content:f.target.value}),placeholder:"上文内容(可选)",rows:3})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>t(!1),children:"取消"}),i.jsx(oe,{onClick:d,disabled:s,children:s?"创建中...":"创建"})]})]})})}function I1e({expression:e,open:t,onOpenChange:n,onSuccess:r}){const[a,s]=y.useState({}),[l,u]=y.useState(!1),{toast:d}=yr();y.useEffect(()=>{e&&s({situation:e.situation,style:e.style,context:e.context||"",up_content:e.up_content||"",chat_id:e.chat_id})},[e]);const f=async()=>{if(e)try{u(!0),await k1e(e.id,a),d({title:"保存成功",description:"表达方式已更新"}),r()}catch(m){d({title:"保存失败",description:m instanceof Error?m.message:"无法更新表达方式",variant:"destructive"})}finally{u(!1)}};return e?i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑表达方式"}),i.jsx(vr,{children:"修改表达方式的信息"})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit_situation",children:"情境"}),i.jsx(Ne,{id:"edit_situation",value:a.situation||"",onChange:m=>s({...a,situation:m.target.value}),placeholder:"描述使用场景"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit_style",children:"风格"}),i.jsx(Ne,{id:"edit_style",value:a.style||"",onChange:m=>s({...a,style:m.target.value}),placeholder:"描述表达风格"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit_chat_id",children:"聊天ID"}),i.jsx(Ne,{id:"edit_chat_id",value:a.chat_id||"",onChange:m=>s({...a,chat_id:m.target.value}),placeholder:"关联的聊天ID"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit_context",children:"上下文"}),i.jsx(Xt,{id:"edit_context",value:a.context||"",onChange:m=>s({...a,context:m.target.value}),placeholder:"上下文信息",rows:3})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit_up_content",children:"上文内容"}),i.jsx(Xt,{id:"edit_up_content",value:a.up_content||"",onChange:m=>s({...a,up_content:m.target.value}),placeholder:"上文内容",rows:3})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>n(!1),children:"取消"}),i.jsx(oe,{onClick:f,disabled:l,children:l?"保存中...":"保存"})]})]})}):null}const nm="/api/webui/person";async function L1e(e){const t=new URLSearchParams;e.page&&t.append("page",e.page.toString()),e.page_size&&t.append("page_size",e.page_size.toString()),e.search&&t.append("search",e.search),e.is_known!==void 0&&t.append("is_known",e.is_known.toString()),e.platform&&t.append("platform",e.platform);const n=await rt(`${nm}/list?${t}`,{headers:dt()});if(!n.ok){const r=await n.json();throw new Error(r.detail||"获取人物列表失败")}return n.json()}async function B1e(e){const t=await rt(`${nm}/${e}`,{headers:dt()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"获取人物详情失败")}return t.json()}async function z1e(e,t){const n=await rt(`${nm}/${e}`,{method:"PATCH",headers:dt(),body:JSON.stringify(t)});if(!n.ok){const r=await n.json();throw new Error(r.detail||"更新人物信息失败")}return n.json()}async function q1e(e){const t=await rt(`${nm}/${e}`,{method:"DELETE",headers:dt()});if(!t.ok){const n=await t.json();throw new Error(n.detail||"删除人物信息失败")}return t.json()}async function F1e(){const e=await rt(`${nm}/stats/summary`,{headers:dt()});if(!e.ok){const t=await e.json();throw new Error(t.detail||"获取统计数据失败")}return e.json()}function U1e(){const[e,t]=y.useState([]),[n,r]=y.useState(!0),[a,s]=y.useState(0),[l,u]=y.useState(1),[d]=y.useState(20),[f,m]=y.useState(""),[p,g]=y.useState(void 0),[x,j]=y.useState(void 0),[w,b]=y.useState(null),[N,E]=y.useState(!1),[O,A]=y.useState(!1),[C,k]=y.useState(null),[T,M]=y.useState({total:0,known:0,unknown:0,platforms:{}}),{toast:R}=yr(),B=async()=>{try{r(!0);const D=await L1e({page:l,page_size:d,search:f||void 0,is_known:p,platform:x});t(D.data),s(D.total)}catch(D){R({title:"加载失败",description:D instanceof Error?D.message:"无法加载人物信息",variant:"destructive"})}finally{r(!1)}},$=async()=>{try{const D=await F1e();M(D.data)}catch(D){console.error("加载统计数据失败:",D)}};y.useEffect(()=>{B(),$()},[l,d,f,p,x]);const H=async D=>{try{const U=await B1e(D.person_id);b(U.data),E(!0)}catch(U){R({title:"加载详情失败",description:U instanceof Error?U.message:"无法加载人物详情",variant:"destructive"})}},V=D=>{b(D),A(!0)},q=async D=>{try{await q1e(D.person_id),R({title:"删除成功",description:`已删除人物信息: ${D.person_name||D.nickname||D.user_id}`}),k(null),B(),$()}catch(U){R({title:"删除失败",description:U instanceof Error?U.message:"无法删除人物信息",variant:"destructive"})}},G=y.useMemo(()=>Object.keys(T.platforms),[T.platforms]),L=D=>D?new Date(D*1e3).toLocaleString("zh-CN"):"-";return i.jsxs("div",{className:"h-[calc(100vh-4rem)] flex flex-col p-4 sm:p-6",children:[i.jsx("div",{className:"mb-4 sm:mb-6",children:i.jsx("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:i.jsxs("div",{children:[i.jsxs("h1",{className:"text-2xl sm:text-3xl font-bold flex items-center gap-2",children:[i.jsx(tye,{className:"h-8 w-8",strokeWidth:2}),"人物信息管理"]}),i.jsx("p",{className:"text-muted-foreground mt-1 text-sm sm:text-base",children:"管理麦麦认识的所有人物信息"})]})})}),i.jsx(Wt,{className:"flex-1",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 pr-4",children:[i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"总人数"}),i.jsx("div",{className:"text-2xl font-bold mt-1",children:T.total})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"已认识"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-green-600",children:T.known})]}),i.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[i.jsx("div",{className:"text-sm text-muted-foreground",children:"未认识"}),i.jsx("div",{className:"text-2xl font-bold mt-1 text-muted-foreground",children:T.unknown})]})]}),i.jsx("div",{className:"rounded-lg border bg-card p-4",children:i.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-4 gap-4",children:[i.jsxs("div",{className:"sm:col-span-2",children:[i.jsx(Q,{htmlFor:"search",children:"搜索"}),i.jsxs("div",{className:"relative mt-1.5",children:[i.jsx(Lr,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{id:"search",placeholder:"搜索名称、昵称或用户ID...",value:f,onChange:D=>m(D.target.value),className:"pl-9"})]})]}),i.jsxs("div",{children:[i.jsx(Q,{htmlFor:"filter-known",children:"认识状态"}),i.jsxs(Dt,{value:p===void 0?"all":p.toString(),onValueChange:D=>{g(D==="all"?void 0:D==="true"),u(1)},children:[i.jsx(Ot,{id:"filter-known",className:"mt-1.5",children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部"}),i.jsx(De,{value:"true",children:"已认识"}),i.jsx(De,{value:"false",children:"未认识"})]})]})]}),i.jsxs("div",{children:[i.jsx(Q,{htmlFor:"filter-platform",children:"平台"}),i.jsxs(Dt,{value:x||"all",onValueChange:D=>{j(D==="all"?void 0:D),u(1)},children:[i.jsx(Ot,{id:"filter-platform",className:"mt-1.5",children:i.jsx($t,{})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部平台"}),G.map(D=>i.jsxs(De,{value:D,children:[D," (",T.platforms[D],")"]},D))]})]})]})]})}),i.jsxs("div",{className:"rounded-lg border bg-card",children:[i.jsx("div",{className:"hidden md:block",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{children:"状态"}),i.jsx(nt,{children:"名称"}),i.jsx(nt,{children:"昵称"}),i.jsx(nt,{children:"平台"}),i.jsx(nt,{children:"用户ID"}),i.jsx(nt,{children:"最后更新"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:n?i.jsx(An,{children:i.jsx(Ge,{colSpan:7,className:"text-center py-8 text-muted-foreground",children:"加载中..."})}):e.length===0?i.jsx(An,{children:i.jsx(Ge,{colSpan:7,className:"text-center py-8 text-muted-foreground",children:"暂无数据"})}):e.map(D=>i.jsxs(An,{children:[i.jsx(Ge,{children:i.jsx("div",{className:ce("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium",D.is_known?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-400"),children:D.is_known?"已认识":"未认识"})}),i.jsx(Ge,{className:"font-medium",children:D.person_name||i.jsx("span",{className:"text-muted-foreground",children:"-"})}),i.jsx(Ge,{children:D.nickname||"-"}),i.jsx(Ge,{children:D.platform}),i.jsx(Ge,{className:"font-mono text-sm",children:D.user_id}),i.jsx(Ge,{className:"text-sm text-muted-foreground",children:L(D.last_know)}),i.jsx(Ge,{className:"text-right",children:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>H(D),children:i.jsx(Va,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>V(D),children:i.jsx(Ru,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"sm",onClick:()=>k(D),children:i.jsx(It,{className:"h-4 w-4 text-destructive"})})]})})]},D.id))})]})}),i.jsx("div",{className:"md:hidden space-y-3 p-4",children:n?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"加载中..."}):e.length===0?i.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"暂无数据"}):e.map(D=>i.jsxs("div",{className:"rounded-lg border bg-card p-4 space-y-3 overflow-hidden",children:[i.jsx("div",{className:"flex items-start justify-between gap-2",children:i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:ce("inline-flex items-center gap-1 px-2 py-1 rounded-full text-xs font-medium mb-2",D.is_known?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-400"),children:D.is_known?"已认识":"未认识"}),i.jsx("h3",{className:"font-semibold text-sm line-clamp-1 w-full break-all",children:D.person_name||i.jsx("span",{className:"text-muted-foreground",children:"未命名"})}),D.nickname&&i.jsxs("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-1 w-full break-all",children:["昵称: ",D.nickname]})]})}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"平台"}),i.jsx("p",{className:"font-medium text-xs",children:D.platform})]}),i.jsxs("div",{children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"用户ID"}),i.jsx("p",{className:"font-mono text-xs truncate",title:D.user_id,children:D.user_id})]}),i.jsxs("div",{className:"col-span-2",children:[i.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"最后更新"}),i.jsx("p",{className:"text-xs",children:L(D.last_know)})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-1 pt-2 border-t overflow-hidden",children:[i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>H(D),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Va,{className:"h-3 w-3 mr-1"}),"查看"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>V(D),className:"text-xs px-2 py-1 h-auto flex-shrink-0",children:[i.jsx(Ru,{className:"h-3 w-3 mr-1"}),"编辑"]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:()=>k(D),className:"text-xs px-2 py-1 h-auto flex-shrink-0 text-destructive hover:text-destructive",children:[i.jsx(It,{className:"h-3 w-3 mr-1"}),"删除"]})]})]},D.id))}),a>d&&i.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-t",children:[i.jsxs("div",{className:"text-sm text-muted-foreground",children:["共 ",a," 条记录,第 ",l," / ",Math.ceil(a/d)," 页"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(l-1),disabled:l===1,children:"上一页"}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>u(l+1),disabled:l>=Math.ceil(a/d),children:"下一页"})]})]})]})]})}),i.jsx(H1e,{person:w,open:N,onOpenChange:E}),i.jsx(W1e,{person:w,open:O,onOpenChange:A,onSuccess:()=>{B(),$(),A(!1)}}),i.jsx(bn,{open:!!C,onOpenChange:()=>k(null),children:i.jsxs(cn,{children:[i.jsxs(un,{children:[i.jsx(fn,{children:"确认删除"}),i.jsxs(hn,{children:['确定要删除人物信息 "',C?.person_name||C?.nickname||C?.user_id,'" 吗? 此操作不可撤销。']})]}),i.jsxs(dn,{children:[i.jsx(pn,{children:"取消"}),i.jsx(mn,{onClick:()=>C&&q(C),className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"删除"})]})]})})]})}function H1e({person:e,open:t,onOpenChange:n}){if(!e)return null;const r=a=>a?new Date(a*1e3).toLocaleString("zh-CN"):"-";return i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"人物详情"}),i.jsxs(vr,{children:["查看 ",e.person_name||e.nickname||e.user_id," 的完整信息"]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsx(Gi,{icon:gF,label:"人物名称",value:e.person_name}),i.jsx(Gi,{icon:Gh,label:"昵称",value:e.nickname}),i.jsx(Gi,{icon:Eg,label:"用户ID",value:e.user_id,mono:!0}),i.jsx(Gi,{icon:Eg,label:"人物ID",value:e.person_id,mono:!0}),i.jsx(Gi,{label:"平台",value:e.platform}),i.jsx(Gi,{label:"状态",value:e.is_known?"已认识":"未认识"})]}),e.name_reason&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(Q,{className:"text-xs text-muted-foreground",children:"名称设定原因"}),i.jsx("p",{className:"mt-1 text-sm",children:e.name_reason})]}),e.memory_points&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(Q,{className:"text-xs text-muted-foreground",children:"个人印象"}),i.jsx("p",{className:"mt-1 text-sm whitespace-pre-wrap",children:e.memory_points})]}),e.group_nick_name&&e.group_nick_name.length>0&&i.jsxs("div",{className:"rounded-lg border bg-muted/50 p-3",children:[i.jsx(Q,{className:"text-xs text-muted-foreground",children:"群昵称"}),i.jsx("div",{className:"mt-2 space-y-1",children:e.group_nick_name.map((a,s)=>i.jsxs("div",{className:"text-sm flex items-center gap-2",children:[i.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:a.group_id}),i.jsx("span",{children:"→"}),i.jsx("span",{children:a.group_nick_name})]},s))})]}),i.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[i.jsx(Gi,{icon:ll,label:"认识时间",value:r(e.know_times)}),i.jsx(Gi,{icon:ll,label:"首次记录",value:r(e.know_since)}),i.jsx(Gi,{icon:ll,label:"最后更新",value:r(e.last_know)})]})]}),i.jsx(Br,{children:i.jsx(oe,{onClick:()=>n(!1),children:"关闭"})})]})})}function Gi({icon:e,label:t,value:n,mono:r=!1}){return i.jsxs("div",{className:"space-y-1",children:[i.jsxs(Q,{className:"text-xs text-muted-foreground flex items-center gap-1",children:[e&&i.jsx(e,{className:"h-3 w-3"}),t]}),i.jsx("div",{className:ce("text-sm",r&&"font-mono",!n&&"text-muted-foreground"),children:n||"-"})]})}function W1e({person:e,open:t,onOpenChange:n,onSuccess:r}){const[a,s]=y.useState({}),[l,u]=y.useState(!1),{toast:d}=yr();y.useEffect(()=>{e&&s({person_name:e.person_name||"",name_reason:e.name_reason||"",nickname:e.nickname||"",memory_points:e.memory_points||"",is_known:e.is_known})},[e]);const f=async()=>{if(e)try{u(!0),await z1e(e.person_id,a),d({title:"保存成功",description:"人物信息已更新"}),r()}catch(m){d({title:"保存失败",description:m instanceof Error?m.message:"无法更新人物信息",variant:"destructive"})}finally{u(!1)}};return e?i.jsx(sr,{open:t,onOpenChange:n,children:i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑人物信息"}),i.jsxs(vr,{children:["修改 ",e.person_name||e.nickname||e.user_id," 的信息"]})]}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"person_name",children:"人物名称"}),i.jsx(Ne,{id:"person_name",value:a.person_name||"",onChange:m=>s({...a,person_name:m.target.value}),placeholder:"为这个人设置一个名称"})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"nickname",children:"昵称"}),i.jsx(Ne,{id:"nickname",value:a.nickname||"",onChange:m=>s({...a,nickname:m.target.value}),placeholder:"昵称"})]})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"name_reason",children:"名称设定原因"}),i.jsx(Xt,{id:"name_reason",value:a.name_reason||"",onChange:m=>s({...a,name_reason:m.target.value}),placeholder:"为什么这样称呼这个人?",rows:2})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"memory_points",children:"个人印象"}),i.jsx(Xt,{id:"memory_points",value:a.memory_points||"",onChange:m=>s({...a,memory_points:m.target.value}),placeholder:"对这个人的印象和记忆点...",rows:4})]}),i.jsxs("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[i.jsxs("div",{children:[i.jsx(Q,{htmlFor:"is_known",className:"text-base font-medium",children:"已认识"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"标记是否已经认识这个人"})]}),i.jsx(lt,{id:"is_known",checked:a.is_known,onCheckedChange:m=>s({...a,is_known:m})})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>n(!1),children:"取消"}),i.jsx(oe,{onClick:f,disabled:l,children:l?"保存中...":"保存"})]})]})}):null}function V1e(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const G1e={},xf={};function Jo(e,t){try{const r=(G1e[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return r in xf?xf[r]:$L(r,r.split(":"))}catch{if(e in xf)return xf[e];const n=e?.match(Y1e);return n?$L(e,n.slice(1)):NaN}}const Y1e=/([+-]\d\d):?(\d\d)?/;function $L(e,t){const n=+(t[0]||0),r=+(t[1]||0),a=+(t[2]||0)/60;return xf[e]=n*60+r>0?n*60+r+a:n*60-r-a}class hi extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Jo(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),AH(this),wC(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new hi(...n,t):new hi(Date.now(),t)}withTimeZone(t){return new hi(+this,t)}getTimezoneOffset(){const t=-Jo(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),wC(this),+this}[Symbol.for("constructDateFrom")](t){return new hi(+new Date(t),this.timeZone)}}const IL=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!IL.test(e))return;const t=e.replace(IL,"$1UTC");hi.prototype[t]&&(e.startsWith("get")?hi.prototype[e]=function(){return this.internal[t]()}:(hi.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),K1e(this),+this},hi.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),wC(this),+this}))});function wC(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Jo(e.timeZone,e)*60))}function K1e(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),AH(e)}function AH(e){const t=Jo(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const a=-new Date(+e).getTimezoneOffset(),s=-new Date(+r).getTimezoneOffset(),l=a-s,u=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();l&&u&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+l);const d=a-n;d&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+d);const f=new Date(+e);f.setUTCSeconds(0);const m=a>0?f.getSeconds():(f.getSeconds()-60)%60,p=Math.round(-(Jo(e.timeZone,e)*60))%60;(p||m)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+p),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+m));const g=Jo(e.timeZone,e),x=g>0?Math.floor(g):Math.ceil(g),w=-new Date(+e).getTimezoneOffset()-x,b=x!==n,N=w-d;if(b&&N){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+N);const E=Jo(e.timeZone,e),O=E>0?Math.floor(E):Math.ceil(E),A=x-O;A&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+A),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+A))}}class dr extends hi{static tz(t,...n){return n.length?new dr(...n,t):new dr(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),a=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,a]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${r} ${n} ${a}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,a]=this.tzComponents();return`${t} GMT${n}${r}${a} (${V1e(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),a=String(Math.abs(t)%60).padStart(2,"0");return[n,r,a]}withTimeZone(t){return new dr(+this,t)}[Symbol.for("constructDateFrom")](t){return new dr(+new Date(t),this.timeZone)}}const TH=6048e5,X1e=864e5,LL=Symbol.for("constructDateFrom");function kn(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&LL in e?e[LL](t):e instanceof Date?new e.constructor(t):new Date(t)}function Ut(e,t){return kn(t||e,e)}function kH(e,t,n){const r=Ut(e,n?.in);return isNaN(t)?kn(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function MH(e,t,n){const r=Ut(e,n?.in);if(isNaN(t))return kn(e,NaN);if(!t)return r;const a=r.getDate(),s=kn(e,r.getTime());s.setMonth(r.getMonth()+t+1,0);const l=s.getDate();return a>=l?s:(r.setFullYear(s.getFullYear(),s.getMonth(),a),r)}let Z1e={};function rm(){return Z1e}function oo(e,t){const n=rm(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=Ut(e,t?.in),s=a.getDay(),l=(s=s.getTime()?r+1:n.getTime()>=u.getTime()?r:r-1}function BL(e){const t=Ut(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Rl(e,...t){const n=kn.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function _h(e,t){const n=Ut(e,t?.in);return n.setHours(0,0,0,0),n}function RH(e,t,n){const[r,a]=Rl(n?.in,e,t),s=_h(r),l=_h(a),u=+s-BL(s),d=+l-BL(l);return Math.round((u-d)/X1e)}function Q1e(e,t){const n=PH(e,t),r=kn(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Sh(r)}function J1e(e,t,n){return kH(e,t*7,n)}function eSe(e,t,n){return MH(e,t*12,n)}function tSe(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=kn.bind(null,a));const s=Ut(a,r);(!n||n{!r&&typeof a=="object"&&(r=kn.bind(null,a));const s=Ut(a,r);(!n||n>s||isNaN(+s))&&(n=s)}),kn(r,n||NaN)}function rSe(e,t,n){const[r,a]=Rl(n?.in,e,t);return+_h(r)==+_h(a)}function DH(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function aSe(e){return!(!DH(e)&&typeof e!="number"||isNaN(+Ut(e)))}function iSe(e,t,n){const[r,a]=Rl(n?.in,e,t),s=r.getFullYear()-a.getFullYear(),l=r.getMonth()-a.getMonth();return s*12+l}function sSe(e,t){const n=Ut(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function $H(e,t){const[n,r]=Rl(e,t.start,t.end);return{start:n,end:r}}function oSe(e,t){const{start:n,end:r}=$H(t?.in,e);let a=+n>+r;const s=a?+n:+r,l=a?r:n;l.setHours(0,0,0,0),l.setDate(1);let u=1;const d=[];for(;+l<=s;)d.push(kn(n,l)),l.setMonth(l.getMonth()+u);return a?d.reverse():d}function lSe(e,t){const n=Ut(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function cSe(e,t){const n=Ut(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function IH(e,t){const n=Ut(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function uSe(e,t){const{start:n,end:r}=$H(t?.in,e);let a=+n>+r;const s=a?+n:+r,l=a?r:n;l.setHours(0,0,0,0),l.setMonth(0,1);let u=1;const d=[];for(;+l<=s;)d.push(kn(n,l)),l.setFullYear(l.getFullYear()+u);return a?d.reverse():d}function LH(e,t){const n=rm(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=Ut(e,t?.in),s=a.getDay(),l=(s{let r;const a=fSe[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function eu(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const mSe={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},pSe={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},vSe={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},gSe={date:eu({formats:mSe,defaultWidth:"full"}),time:eu({formats:pSe,defaultWidth:"full"}),dateTime:eu({formats:vSe,defaultWidth:"full"})},ySe={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},xSe=(e,t,n,r)=>ySe[e];function oi(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const l=e.defaultFormattingWidth||e.defaultWidth,u=n?.width?String(n.width):l;a=e.formattingValues[u]||e.formattingValues[l]}else{const l=e.defaultWidth,u=n?.width?String(n.width):e.defaultWidth;a=e.values[u]||e.values[l]}const s=e.argumentCallback?e.argumentCallback(t):t;return a[s]}}const bSe={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},wSe={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},jSe={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},SSe={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},_Se={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},NSe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},CSe=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},OSe={ordinalNumber:CSe,era:oi({values:bSe,defaultWidth:"wide"}),quarter:oi({values:wSe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:oi({values:jSe,defaultWidth:"wide"}),day:oi({values:SSe,defaultWidth:"wide"}),dayPeriod:oi({values:_Se,defaultWidth:"wide",formattingValues:NSe,defaultFormattingWidth:"wide"})};function li(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],s=t.match(a);if(!s)return null;const l=s[0],u=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(u)?ASe(u,p=>p.test(l)):ESe(u,p=>p.test(l));let f;f=e.valueCallback?e.valueCallback(d):d,f=n.valueCallback?n.valueCallback(f):f;const m=t.slice(l.length);return{value:f,rest:m}}}function ESe(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ASe(e,t){for(let n=0;n{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],s=t.match(e.parsePattern);if(!s)return null;let l=e.valueCallback?e.valueCallback(s[0]):s[0];l=n.valueCallback?n.valueCallback(l):l;const u=t.slice(a.length);return{value:l,rest:u}}}const TSe=/^(\d+)(th|st|nd|rd)?/i,kSe=/\d+/i,MSe={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},PSe={any:[/^b/i,/^(a|c)/i]},RSe={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},DSe={any:[/1/i,/2/i,/3/i,/4/i]},$Se={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ISe={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},LSe={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},BSe={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},zSe={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},qSe={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},FSe={ordinalNumber:BH({matchPattern:TSe,parsePattern:kSe,valueCallback:e=>parseInt(e,10)}),era:li({matchPatterns:MSe,defaultMatchWidth:"wide",parsePatterns:PSe,defaultParseWidth:"any"}),quarter:li({matchPatterns:RSe,defaultMatchWidth:"wide",parsePatterns:DSe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:li({matchPatterns:$Se,defaultMatchWidth:"wide",parsePatterns:ISe,defaultParseWidth:"any"}),day:li({matchPatterns:LSe,defaultMatchWidth:"wide",parsePatterns:BSe,defaultParseWidth:"any"}),dayPeriod:li({matchPatterns:zSe,defaultMatchWidth:"any",parsePatterns:qSe,defaultParseWidth:"any"})},DE={code:"en-US",formatDistance:hSe,formatLong:gSe,formatRelative:xSe,localize:OSe,match:FSe,options:{weekStartsOn:0,firstWeekContainsDate:1}};function USe(e,t){const n=Ut(e,t?.in);return RH(n,IH(n))+1}function zH(e,t){const n=Ut(e,t?.in),r=+Sh(n)-+Q1e(n);return Math.round(r/TH)+1}function qH(e,t){const n=Ut(e,t?.in),r=n.getFullYear(),a=rm(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,l=kn(t?.in||e,0);l.setFullYear(r+1,0,s),l.setHours(0,0,0,0);const u=oo(l,t),d=kn(t?.in||e,0);d.setFullYear(r,0,s),d.setHours(0,0,0,0);const f=oo(d,t);return+n>=+u?r+1:+n>=+f?r:r-1}function HSe(e,t){const n=rm(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=qH(e,t),s=kn(t?.in||e,0);return s.setFullYear(a,0,r),s.setHours(0,0,0,0),oo(s,t)}function FH(e,t){const n=Ut(e,t?.in),r=+oo(n,t)-+HSe(n,t);return Math.round(r/TH)+1}function Pt(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Fs={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return Pt(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Pt(n+1,2)},d(e,t){return Pt(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Pt(e.getHours()%12||12,t.length)},H(e,t){return Pt(e.getHours(),t.length)},m(e,t){return Pt(e.getMinutes(),t.length)},s(e,t){return Pt(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return Pt(a,t.length)}},Pc={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},zL={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return Fs.y(e,t)},Y:function(e,t,n,r){const a=qH(e,r),s=a>0?a:1-a;if(t==="YY"){const l=s%100;return Pt(l,2)}return t==="Yo"?n.ordinalNumber(s,{unit:"year"}):Pt(s,t.length)},R:function(e,t){const n=PH(e);return Pt(n,t.length)},u:function(e,t){const n=e.getFullYear();return Pt(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return Pt(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return Pt(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Fs.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return Pt(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=FH(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):Pt(a,t.length)},I:function(e,t,n){const r=zH(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):Pt(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Fs.d(e,t)},D:function(e,t,n){const r=USe(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):Pt(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return Pt(s,2);case"eo":return n.ordinalNumber(s,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return Pt(s,t.length);case"co":return n.ordinalNumber(s,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return Pt(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=Pc.noon:r===0?a=Pc.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=Pc.evening:r>=12?a=Pc.afternoon:r>=4?a=Pc.morning:a=Pc.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Fs.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Fs.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):Pt(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):Pt(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Fs.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Fs.s(e,t)},S:function(e,t){return Fs.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return FL(r);case"XXXX":case"XX":return Vo(r);case"XXXXX":case"XXX":default:return Vo(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return FL(r);case"xxxx":case"xx":return Vo(r);case"xxxxx":case"xxx":default:return Vo(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+qL(r,":");case"OOOO":default:return"GMT"+Vo(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+qL(r,":");case"zzzz":default:return"GMT"+Vo(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return Pt(r,t.length)},T:function(e,t,n){return Pt(+e,t.length)}};function qL(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),s=r%60;return s===0?n+String(a):n+String(a)+t+Pt(s,2)}function FL(e,t){return e%60===0?(e>0?"-":"+")+Pt(Math.abs(e)/60,2):Vo(e,t)}function Vo(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Pt(Math.trunc(r/60),2),s=Pt(r%60,2);return n+a+t+s}const UL=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},UH=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},WSe=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return UL(e,t);let s;switch(r){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;case"PPPP":default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",UL(r,t)).replace("{{time}}",UH(a,t))},VSe={p:UH,P:WSe},GSe=/^D+$/,YSe=/^Y+$/,KSe=["D","DD","YY","YYYY"];function XSe(e){return GSe.test(e)}function ZSe(e){return YSe.test(e)}function QSe(e,t,n){const r=JSe(e,t,n);if(console.warn(r),KSe.includes(e))throw new RangeError(r)}function JSe(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const e_e=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,t_e=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,n_e=/^'([^]*?)'?$/,r_e=/''/g,a_e=/[a-zA-Z]/;function pv(e,t,n){const r=rm(),a=n?.locale??r.locale??DE,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,l=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,u=Ut(e,n?.in);if(!aSe(u))throw new RangeError("Invalid time value");let d=t.match(t_e).map(m=>{const p=m[0];if(p==="p"||p==="P"){const g=VSe[p];return g(m,a.formatLong)}return m}).join("").match(e_e).map(m=>{if(m==="''")return{isToken:!1,value:"'"};const p=m[0];if(p==="'")return{isToken:!1,value:i_e(m)};if(zL[p])return{isToken:!0,value:m};if(p.match(a_e))throw new RangeError("Format string contains an unescaped latin alphabet character `"+p+"`");return{isToken:!1,value:m}});a.localize.preprocessor&&(d=a.localize.preprocessor(u,d));const f={firstWeekContainsDate:s,weekStartsOn:l,locale:a};return d.map(m=>{if(!m.isToken)return m.value;const p=m.value;(!n?.useAdditionalWeekYearTokens&&ZSe(p)||!n?.useAdditionalDayOfYearTokens&&XSe(p))&&QSe(p,t,String(e));const g=zL[p[0]];return g(u,p,a.localize,f)}).join("")}function i_e(e){const t=e.match(n_e);return t?t[1].replace(r_e,"'"):e}function s_e(e,t){const n=Ut(e,t?.in),r=n.getFullYear(),a=n.getMonth(),s=kn(n,0);return s.setFullYear(r,a+1,0),s.setHours(0,0,0,0),s.getDate()}function o_e(e,t){return Ut(e,t?.in).getMonth()}function l_e(e,t){return Ut(e,t?.in).getFullYear()}function c_e(e,t){return+Ut(e)>+Ut(t)}function u_e(e,t){return+Ut(e)<+Ut(t)}function d_e(e,t,n){const[r,a]=Rl(n?.in,e,t);return+oo(r,n)==+oo(a,n)}function f_e(e,t,n){const[r,a]=Rl(n?.in,e,t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function h_e(e,t,n){const[r,a]=Rl(n?.in,e,t);return r.getFullYear()===a.getFullYear()}function m_e(e,t,n){const r=Ut(e,n?.in),a=r.getFullYear(),s=r.getDate(),l=kn(e,0);l.setFullYear(a,t,15),l.setHours(0,0,0,0);const u=s_e(l);return r.setMonth(t,Math.min(s,u)),r}function p_e(e,t,n){const r=Ut(e,n?.in);return isNaN(+r)?kn(e,NaN):(r.setFullYear(t),r)}const HL=5,v_e=4;function g_e(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,a=t.addDays(e,-r+1),s=t.addDays(a,HL*7-1);return t.getMonth(e)===t.getMonth(s)?HL:v_e}function HH(e,t){const n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-6):t.addDays(n,-1*(r-1))}function y_e(e,t){const n=HH(e,t),r=g_e(e,t);return t.addDays(n,r*7-1)}class oa{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?dr.tz(this.options.timeZone):new this.Date,this.newDate=(r,a,s)=>this.overrides?.newDate?this.overrides.newDate(r,a,s):this.options.timeZone?new dr(r,a,s,this.options.timeZone):new Date(r,a,s),this.addDays=(r,a)=>this.overrides?.addDays?this.overrides.addDays(r,a):kH(r,a),this.addMonths=(r,a)=>this.overrides?.addMonths?this.overrides.addMonths(r,a):MH(r,a),this.addWeeks=(r,a)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,a):J1e(r,a),this.addYears=(r,a)=>this.overrides?.addYears?this.overrides.addYears(r,a):eSe(r,a),this.differenceInCalendarDays=(r,a)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,a):RH(r,a),this.differenceInCalendarMonths=(r,a)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,a):iSe(r,a),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):oSe(r),this.eachYearOfInterval=r=>{const a=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):uSe(r),s=new Set(a.map(u=>this.getYear(u)));if(s.size===a.length)return a;const l=[];return s.forEach(u=>{l.push(new Date(u,0,1))}),l},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):y_e(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):dSe(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):sSe(r),this.endOfWeek=(r,a)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,a):LH(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):cSe(r),this.format=(r,a,s)=>{const l=this.overrides?.format?this.overrides.format(r,a,this.options):pv(r,a,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(l):l},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):zH(r),this.getMonth=(r,a)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):o_e(r,this.options),this.getYear=(r,a)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):l_e(r,this.options),this.getWeek=(r,a)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):FH(r,this.options),this.isAfter=(r,a)=>this.overrides?.isAfter?this.overrides.isAfter(r,a):c_e(r,a),this.isBefore=(r,a)=>this.overrides?.isBefore?this.overrides.isBefore(r,a):u_e(r,a),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):DH(r),this.isSameDay=(r,a)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,a):rSe(r,a),this.isSameMonth=(r,a)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,a):f_e(r,a),this.isSameYear=(r,a)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,a):h_e(r,a),this.max=r=>this.overrides?.max?this.overrides.max(r):tSe(r),this.min=r=>this.overrides?.min?this.overrides.min(r):nSe(r),this.setMonth=(r,a)=>this.overrides?.setMonth?this.overrides.setMonth(r,a):m_e(r,a),this.setYear=(r,a)=>this.overrides?.setYear?this.overrides.setYear(r,a):p_e(r,a),this.startOfBroadcastWeek=(r,a)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):HH(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):_h(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):Sh(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):lSe(r),this.startOfWeek=(r,a)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):oo(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):IH(r),this.options={locale:DE,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),r={};for(let a=0;a<10;a++)r[a.toString()]=n.format(a);return r}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,r=>n[r]||r)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&oa.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:a}=this.options,s=n?.code;if(s&&oa.yearFirstLocales.has(s))try{return new Intl.DateTimeFormat(s,{month:"long",year:"numeric",timeZone:r,numberingSystem:a}).format(t)}catch{}const l=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,l)}}oa.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const Ci=new oa;class WH{constructor(t,n,r=Ci){this.date=t,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(t,n)),this.dateLib=r}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class x_e{constructor(t,n){this.date=t,this.weeks=n}}class b_e{constructor(t,n){this.days=n,this.weekNumber=t}}function w_e(e){return W.createElement("button",{...e})}function j_e(e){return W.createElement("span",{...e})}function S_e(e){const{size:t=24,orientation:n="left",className:r}=e;return W.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&W.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&W.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&W.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&W.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function __e(e){const{day:t,modifiers:n,...r}=e;return W.createElement("td",{...r})}function N_e(e){const{day:t,modifiers:n,...r}=e,a=W.useRef(null);return W.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),W.createElement("button",{ref:a,...r})}var Be;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(Be||(Be={}));var on;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(on||(on={}));var Ua;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Ua||(Ua={}));var Jr;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(Jr||(Jr={}));function C_e(e){const{options:t,className:n,components:r,classNames:a,...s}=e,l=[a[Be.Dropdown],n].join(" "),u=t?.find(({value:d})=>d===s.value);return W.createElement("span",{"data-disabled":s.disabled,className:a[Be.DropdownRoot]},W.createElement(r.Select,{className:l,...s},t?.map(({value:d,label:f,disabled:m})=>W.createElement(r.Option,{key:d,value:d,disabled:m},f))),W.createElement("span",{className:a[Be.CaptionLabel],"aria-hidden":!0},u?.label,W.createElement(r.Chevron,{orientation:"down",size:18,className:a[Be.Chevron]})))}function O_e(e){return W.createElement("div",{...e})}function E_e(e){return W.createElement("div",{...e})}function A_e(e){const{calendarMonth:t,displayIndex:n,...r}=e;return W.createElement("div",{...r},e.children)}function T_e(e){const{calendarMonth:t,displayIndex:n,...r}=e;return W.createElement("div",{...r})}function k_e(e){return W.createElement("table",{...e})}function M_e(e){return W.createElement("div",{...e})}const VH=y.createContext(void 0);function am(){const e=y.useContext(VH);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function P_e(e){const{components:t}=am();return W.createElement(t.Dropdown,{...e})}function R_e(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:a,...s}=e,{components:l,classNames:u,labels:{labelPrevious:d,labelNext:f}}=am(),m=y.useCallback(g=>{a&&n?.(g)},[a,n]),p=y.useCallback(g=>{r&&t?.(g)},[r,t]);return W.createElement("nav",{...s},W.createElement(l.PreviousMonthButton,{type:"button",className:u[Be.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":d(r),onClick:p},W.createElement(l.Chevron,{disabled:r?void 0:!0,className:u[Be.Chevron],orientation:"left"})),W.createElement(l.NextMonthButton,{type:"button",className:u[Be.NextMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":f(a),onClick:m},W.createElement(l.Chevron,{disabled:a?void 0:!0,orientation:"right",className:u[Be.Chevron]})))}function D_e(e){const{components:t}=am();return W.createElement(t.Button,{...e})}function $_e(e){return W.createElement("option",{...e})}function I_e(e){const{components:t}=am();return W.createElement(t.Button,{...e})}function L_e(e){const{rootRef:t,...n}=e;return W.createElement("div",{...n,ref:t})}function B_e(e){return W.createElement("select",{...e})}function z_e(e){const{week:t,...n}=e;return W.createElement("tr",{...n})}function q_e(e){return W.createElement("th",{...e})}function F_e(e){return W.createElement("thead",{"aria-hidden":!0},W.createElement("tr",{...e}))}function U_e(e){const{week:t,...n}=e;return W.createElement("th",{...n})}function H_e(e){return W.createElement("th",{...e})}function W_e(e){return W.createElement("tbody",{...e})}function V_e(e){const{components:t}=am();return W.createElement(t.Dropdown,{...e})}const G_e=Object.freeze(Object.defineProperty({__proto__:null,Button:w_e,CaptionLabel:j_e,Chevron:S_e,Day:__e,DayButton:N_e,Dropdown:C_e,DropdownNav:O_e,Footer:E_e,Month:A_e,MonthCaption:T_e,MonthGrid:k_e,Months:M_e,MonthsDropdown:P_e,Nav:R_e,NextMonthButton:D_e,Option:$_e,PreviousMonthButton:I_e,Root:L_e,Select:B_e,Week:z_e,WeekNumber:U_e,WeekNumberHeader:H_e,Weekday:q_e,Weekdays:F_e,Weeks:W_e,YearsDropdown:V_e},Symbol.toStringTag,{value:"Module"}));function Ji(e,t,n=!1,r=Ci){let{from:a,to:s}=e;const{differenceInCalendarDays:l,isSameDay:u}=r;return a&&s?(l(s,a)<0&&([a,s]=[s,a]),l(t,a)>=(n?1:0)&&l(s,t)>=(n?1:0)):!n&&s?u(s,t):!n&&a?u(a,t):!1}function GH(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function $E(e){return!!(e&&typeof e=="object"&&"from"in e)}function YH(e){return!!(e&&typeof e=="object"&&"after"in e)}function KH(e){return!!(e&&typeof e=="object"&&"before"in e)}function XH(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function ZH(e,t){return Array.isArray(e)&&e.every(t.isDate)}function es(e,t,n=Ci){const r=Array.isArray(t)?t:[t],{isSameDay:a,differenceInCalendarDays:s,isAfter:l}=n;return r.some(u=>{if(typeof u=="boolean")return u;if(n.isDate(u))return a(e,u);if(ZH(u,n))return u.includes(e);if($E(u))return Ji(u,e,!1,n);if(XH(u))return Array.isArray(u.dayOfWeek)?u.dayOfWeek.includes(e.getDay()):u.dayOfWeek===e.getDay();if(GH(u)){const d=s(u.before,e),f=s(u.after,e),m=d>0,p=f<0;return l(u.before,u.after)?p&&m:m||p}return YH(u)?s(e,u.after)>0:KH(u)?s(u.before,e)>0:typeof u=="function"?u(e):!1})}function Y_e(e,t,n,r,a){const{disabled:s,hidden:l,modifiers:u,showOutsideDays:d,broadcastCalendar:f,today:m}=t,{isSameDay:p,isSameMonth:g,startOfMonth:x,isBefore:j,endOfMonth:w,isAfter:b}=a,N=n&&x(n),E=r&&w(r),O={[on.focused]:[],[on.outside]:[],[on.disabled]:[],[on.hidden]:[],[on.today]:[]},A={};for(const C of e){const{date:k,displayMonth:T}=C,M=!!(T&&!g(k,T)),R=!!(N&&j(k,N)),B=!!(E&&b(k,E)),$=!!(s&&es(k,s,a)),H=!!(l&&es(k,l,a))||R||B||!f&&!d&&M||f&&d===!1&&M,V=p(k,m??a.today());M&&O.outside.push(C),$&&O.disabled.push(C),H&&O.hidden.push(C),V&&O.today.push(C),u&&Object.keys(u).forEach(q=>{const G=u?.[q];G&&es(k,G,a)&&(A[q]?A[q].push(C):A[q]=[C])})}return C=>{const k={[on.focused]:!1,[on.disabled]:!1,[on.hidden]:!1,[on.outside]:!1,[on.today]:!1},T={};for(const M in O){const R=O[M];k[M]=R.some(B=>B===C)}for(const M in A)T[M]=A[M].some(R=>R===C);return{...k,...T}}}function K_e(e,t,n={}){return Object.entries(e).filter(([,a])=>a===!0).reduce((a,[s])=>(n[s]?a.push(n[s]):t[on[s]]?a.push(t[on[s]]):t[Ua[s]]&&a.push(t[Ua[s]]),a),[t[Be.Day]])}function X_e(e){return{...G_e,...e}}function Z_e(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,r])=>{n.startsWith("data-")&&(t[n]=r)}),t}function IE(){const e={};for(const t in Be)e[Be[t]]=`rdp-${Be[t]}`;for(const t in on)e[on[t]]=`rdp-${on[t]}`;for(const t in Ua)e[Ua[t]]=`rdp-${Ua[t]}`;for(const t in Jr)e[Jr[t]]=`rdp-${Jr[t]}`;return e}function QH(e,t,n){return(n??new oa(t)).formatMonthYear(e)}const Q_e=QH;function J_e(e,t,n){return(n??new oa(t)).format(e,"d")}function eNe(e,t=Ci){return t.format(e,"LLLL")}function tNe(e,t,n){return(n??new oa(t)).format(e,"cccccc")}function nNe(e,t=Ci){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function rNe(){return""}function JH(e,t=Ci){return t.format(e,"yyyy")}const aNe=JH,iNe=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:QH,formatDay:J_e,formatMonthCaption:Q_e,formatMonthDropdown:eNe,formatWeekNumber:nNe,formatWeekNumberHeader:rNe,formatWeekdayName:tNe,formatYearCaption:aNe,formatYearDropdown:JH},Symbol.toStringTag,{value:"Module"}));function sNe(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...iNe,...e}}function oNe(e,t,n,r,a){const{startOfMonth:s,startOfYear:l,endOfYear:u,eachMonthOfInterval:d,getMonth:f}=a;return d({start:l(e),end:u(e)}).map(g=>{const x=r.formatMonthDropdown(g,a),j=f(g),w=t&&gs(n)||!1;return{value:j,label:x,disabled:w}})}function lNe(e,t={},n={}){let r={...t?.[Be.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{r={...r,...n?.[a]}}),r}function cNe(e,t,n){const r=e.today(),a=t?e.startOfISOWeek(r):e.startOfWeek(r),s=[];for(let l=0;l<7;l++){const u=e.addDays(a,l);s.push(u)}return s}function uNe(e,t,n,r,a=!1){if(!e||!t)return;const{startOfYear:s,endOfYear:l,eachYearOfInterval:u,getYear:d}=r,f=s(e),m=l(t),p=u({start:f,end:m});return a&&p.reverse(),p.map(g=>{const x=n.formatYearDropdown(g,r);return{value:d(g),label:x,disabled:!1}})}function e9(e,t,n,r){let a=(r??new oa(n)).format(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a}const dNe=e9;function t9(e,t,n){return(n??new oa(t)).formatMonthYear(e)}const fNe=t9;function hNe(e,t,n,r){let a=(r??new oa(n)).format(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a}function mNe(e){return"Choose the Month"}function pNe(){return""}function vNe(e){return"Go to the Next Month"}function gNe(e){return"Go to the Previous Month"}function yNe(e,t,n){return(n??new oa(t)).format(e,"cccc")}function xNe(e,t){return`Week ${e}`}function bNe(e){return"Week Number"}function wNe(e){return"Choose the Year"}const jNe=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:fNe,labelDay:dNe,labelDayButton:e9,labelGrid:t9,labelGridcell:hNe,labelMonthDropdown:mNe,labelNav:pNe,labelNext:vNe,labelPrevious:gNe,labelWeekNumber:xNe,labelWeekNumberHeader:bNe,labelWeekday:yNe,labelYearDropdown:wNe},Symbol.toStringTag,{value:"Module"})),im=e=>e instanceof HTMLElement?e:null,h_=e=>[...e.querySelectorAll("[data-animated-month]")??[]],SNe=e=>im(e.querySelector("[data-animated-month]")),m_=e=>im(e.querySelector("[data-animated-caption]")),p_=e=>im(e.querySelector("[data-animated-weeks]")),_Ne=e=>im(e.querySelector("[data-animated-nav]")),NNe=e=>im(e.querySelector("[data-animated-weekdays]"));function CNe(e,t,{classNames:n,months:r,focused:a,dateLib:s}){const l=y.useRef(null),u=y.useRef(r),d=y.useRef(!1);y.useLayoutEffect(()=>{const f=u.current;if(u.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||f.length===0||r.length!==f.length)return;const m=s.isSameMonth(r[0].date,f[0].date),p=s.isAfter(r[0].date,f[0].date),g=p?n[Jr.caption_after_enter]:n[Jr.caption_before_enter],x=p?n[Jr.weeks_after_enter]:n[Jr.weeks_before_enter],j=l.current,w=e.current.cloneNode(!0);if(w instanceof HTMLElement?(h_(w).forEach(O=>{if(!(O instanceof HTMLElement))return;const A=SNe(O);A&&O.contains(A)&&O.removeChild(A);const C=m_(O);C&&C.classList.remove(g);const k=p_(O);k&&k.classList.remove(x)}),l.current=w):l.current=null,d.current||m||a)return;const b=j instanceof HTMLElement?h_(j):[],N=h_(e.current);if(N?.every(E=>E instanceof HTMLElement)&&b&&b.every(E=>E instanceof HTMLElement)){d.current=!0,e.current.style.isolation="isolate";const E=_Ne(e.current);E&&(E.style.zIndex="1"),N.forEach((O,A)=>{const C=b[A];if(!C)return;O.style.position="relative",O.style.overflow="hidden";const k=m_(O);k&&k.classList.add(g);const T=p_(O);T&&T.classList.add(x);const M=()=>{d.current=!1,e.current&&(e.current.style.isolation=""),E&&(E.style.zIndex=""),k&&k.classList.remove(g),T&&T.classList.remove(x),O.style.position="",O.style.overflow="",O.contains(C)&&O.removeChild(C)};C.style.pointerEvents="none",C.style.position="absolute",C.style.overflow="hidden",C.setAttribute("aria-hidden","true");const R=NNe(C);R&&(R.style.opacity="0");const B=m_(C);B&&(B.classList.add(p?n[Jr.caption_before_exit]:n[Jr.caption_after_exit]),B.addEventListener("animationend",M));const $=p_(C);$&&$.classList.add(p?n[Jr.weeks_before_exit]:n[Jr.weeks_after_exit]),O.insertBefore(C,O.firstChild)})}})}function ONe(e,t,n,r){const a=e[0],s=e[e.length-1],{ISOWeek:l,fixedWeeks:u,broadcastCalendar:d}=n??{},{addDays:f,differenceInCalendarDays:m,differenceInCalendarMonths:p,endOfBroadcastWeek:g,endOfISOWeek:x,endOfMonth:j,endOfWeek:w,isAfter:b,startOfBroadcastWeek:N,startOfISOWeek:E,startOfWeek:O}=r,A=d?N(a,r):l?E(a):O(a),C=d?g(s):l?x(j(s)):w(j(s)),k=m(C,A),T=p(s,a)+1,M=[];for(let $=0;$<=k;$++){const H=f(A,$);if(t&&b(H,t))break;M.push(H)}const B=(d?35:42)*T;if(u&&M.length{const a=r.weeks.reduce((s,l)=>s.concat(l.days.slice()),t.slice());return n.concat(a.slice())},t.slice())}function ANe(e,t,n,r){const{numberOfMonths:a=1}=n,s=[];for(let l=0;lt)break;s.push(u)}return s}function WL(e,t,n,r){const{month:a,defaultMonth:s,today:l=r.today(),numberOfMonths:u=1}=e;let d=a||s||l;const{differenceInCalendarMonths:f,addMonths:m,startOfMonth:p}=r;if(n&&f(n,d){const N=n.broadcastCalendar?p(b,r):n.ISOWeek?g(b):x(b),E=n.broadcastCalendar?s(b):n.ISOWeek?l(u(b)):d(u(b)),O=t.filter(T=>T>=N&&T<=E),A=n.broadcastCalendar?35:42;if(n.fixedWeeks&&O.length{const R=A-O.length;return M>E&&M<=a(E,R)});O.push(...T)}const C=O.reduce((T,M)=>{const R=n.ISOWeek?f(M):m(M),B=T.find(H=>H.weekNumber===R),$=new WH(M,b,r);return B?B.days.push($):T.push(new b_e(R,[$])),T},[]),k=new x_e(b,C);return w.push(k),w},[]);return n.reverseMonths?j.reverse():j}function kNe(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:a,startOfDay:s,startOfMonth:l,endOfMonth:u,addYears:d,endOfYear:f,newDate:m,today:p}=t,{fromYear:g,toYear:x,fromMonth:j,toMonth:w}=e;!n&&j&&(n=j),!n&&g&&(n=t.newDate(g,0,1)),!r&&w&&(r=w),!r&&x&&(r=m(x,11,31));const b=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=l(n):g?n=m(g,0,1):!n&&b&&(n=a(d(e.today??p(),-100))),r?r=u(r):x?r=m(x,11,31):!r&&b&&(r=f(e.today??p())),[n&&s(n),r&&s(r)]}function MNe(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:s=1}=n,{startOfMonth:l,addMonths:u,differenceInCalendarMonths:d}=r,f=a?s:1,m=l(e);if(!t)return u(m,f);if(!(d(t,e)n.concat(r.weeks.slice()),t.slice())}function ox(e,t){const[n,r]=y.useState(e);return[t===void 0?n:t,r]}function DNe(e,t){const[n,r]=kNe(e,t),{startOfMonth:a,endOfMonth:s}=t,l=WL(e,n,r,t),[u,d]=ox(l,e.month?l:void 0);y.useEffect(()=>{const k=WL(e,n,r,t);d(k)},[e.timeZone]);const f=ANe(u,r,e,t),m=ONe(f,e.endMonth?s(e.endMonth):void 0,e,t),p=TNe(f,m,e,t),g=RNe(p),x=ENe(p),j=PNe(u,n,e,t),w=MNe(u,r,e,t),{disableNavigation:b,onMonthChange:N}=e,E=k=>g.some(T=>T.days.some(M=>M.isEqualTo(k))),O=k=>{if(b)return;let T=a(k);n&&Ta(r)&&(T=a(r)),d(T),N?.(T)};return{months:p,weeks:g,days:x,navStart:n,navEnd:r,previousMonth:j,nextMonth:w,goToMonth:O,goToDay:k=>{E(k)||O(k.date)}}}var ai;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(ai||(ai={}));function VL(e){return!e[on.disabled]&&!e[on.hidden]&&!e[on.outside]}function $Ne(e,t,n,r){let a,s=-1;for(const l of e){const u=t(l);VL(u)&&(u[on.focused]&&sVL(t(l)))),a}function INe(e,t,n,r,a,s,l){const{ISOWeek:u,broadcastCalendar:d}=s,{addDays:f,addMonths:m,addWeeks:p,addYears:g,endOfBroadcastWeek:x,endOfISOWeek:j,endOfWeek:w,max:b,min:N,startOfBroadcastWeek:E,startOfISOWeek:O,startOfWeek:A}=l;let k={day:f,week:p,month:m,year:g,startOfWeek:T=>d?E(T,l):u?O(T):A(T),endOfWeek:T=>d?x(T):u?j(T):w(T)}[e](n,t==="after"?1:-1);return t==="before"&&r?k=b([r,k]):t==="after"&&a&&(k=N([a,k])),k}function n9(e,t,n,r,a,s,l,u=0){if(u>365)return;const d=INe(e,t,n.date,r,a,s,l),f=!!(s.disabled&&es(d,s.disabled,l)),m=!!(s.hidden&&es(d,s.hidden,l)),p=d,g=new WH(d,p,l);return!f&&!m?g:n9(e,t,g,r,a,s,l,u+1)}function LNe(e,t,n,r,a){const{autoFocus:s}=e,[l,u]=y.useState(),d=$Ne(t.days,n,r||(()=>!1),l),[f,m]=y.useState(s?d:void 0);return{isFocusTarget:w=>!!d?.isEqualTo(w),setFocused:m,focused:f,blur:()=>{u(f),m(void 0)},moveFocus:(w,b)=>{if(!f)return;const N=n9(w,b,f,t.navStart,t.navEnd,e,a);N&&(e.disableNavigation&&!t.days.some(O=>O.isEqualTo(N))||(t.goToDay(N),m(N)))}}}function BNe(e,t){const{selected:n,required:r,onSelect:a}=e,[s,l]=ox(n,a?n:void 0),u=a?n:s,{isSameDay:d}=t,f=x=>u?.some(j=>d(j,x))??!1,{min:m,max:p}=e;return{selected:u,select:(x,j,w)=>{let b=[...u??[]];if(f(x)){if(u?.length===m||r&&u?.length===1)return;b=u?.filter(N=>!d(N,x))}else u?.length===p?b=[x]:b=[...b,x];return a||l(b),a?.(b,x,j,w),b},isSelected:f}}function zNe(e,t,n=0,r=0,a=!1,s=Ci){const{from:l,to:u}=t||{},{isSameDay:d,isAfter:f,isBefore:m}=s;let p;if(!l&&!u)p={from:e,to:n>0?void 0:e};else if(l&&!u)d(l,e)?n===0?p={from:l,to:e}:a?p={from:l,to:void 0}:p=void 0:m(e,l)?p={from:e,to:l}:p={from:l,to:e};else if(l&&u)if(d(l,e)&&d(u,e))a?p={from:l,to:u}:p=void 0;else if(d(l,e))p={from:l,to:n>0?void 0:e};else if(d(u,e))p={from:e,to:n>0?void 0:e};else if(m(e,l))p={from:e,to:u};else if(f(e,l))p={from:l,to:e};else if(f(e,u))p={from:l,to:e};else throw new Error("Invalid range");if(p?.from&&p?.to){const g=s.differenceInCalendarDays(p.to,p.from);r>0&&g>r?p={from:e,to:void 0}:n>1&&gtypeof u!="function").some(u=>typeof u=="boolean"?u:n.isDate(u)?Ji(e,u,!1,n):ZH(u,n)?u.some(d=>Ji(e,d,!1,n)):$E(u)?u.from&&u.to?GL(e,{from:u.from,to:u.to},n):!1:XH(u)?qNe(e,u.dayOfWeek,n):GH(u)?n.isAfter(u.before,u.after)?GL(e,{from:n.addDays(u.after,1),to:n.addDays(u.before,-1)},n):es(e.from,u,n)||es(e.to,u,n):YH(u)||KH(u)?es(e.from,u,n)||es(e.to,u,n):!1))return!0;const l=r.filter(u=>typeof u=="function");if(l.length){let u=e.from;const d=n.differenceInCalendarDays(e.to,e.from);for(let f=0;f<=d;f++){if(l.some(m=>m(u)))return!0;u=n.addDays(u,1)}}return!1}function UNe(e,t){const{disabled:n,excludeDisabled:r,selected:a,required:s,onSelect:l}=e,[u,d]=ox(a,l?a:void 0),f=l?a:u;return{selected:f,select:(g,x,j)=>{const{min:w,max:b}=e,N=g?zNe(g,f,w,b,s,t):void 0;return r&&n&&N?.from&&N.to&&FNe({from:N.from,to:N.to},n,t)&&(N.from=g,N.to=void 0),l||d(N),l?.(N,g,x,j),N},isSelected:g=>f&&Ji(f,g,!1,t)}}function HNe(e,t){const{selected:n,required:r,onSelect:a}=e,[s,l]=ox(n,a?n:void 0),u=a?n:s,{isSameDay:d}=t;return{selected:u,select:(p,g,x)=>{let j=p;return!r&&u&&u&&d(p,u)&&(j=void 0),a||l(j),a?.(j,p,g,x),j},isSelected:p=>u?d(u,p):!1}}function WNe(e,t){const n=HNe(e,t),r=BNe(e,t),a=UNe(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return a;default:return}}function VNe(e){let t=e;t.timeZone&&(t={...e},t.today&&(t.today=new dr(t.today,t.timeZone)),t.month&&(t.month=new dr(t.month,t.timeZone)),t.defaultMonth&&(t.defaultMonth=new dr(t.defaultMonth,t.timeZone)),t.startMonth&&(t.startMonth=new dr(t.startMonth,t.timeZone)),t.endMonth&&(t.endMonth=new dr(t.endMonth,t.timeZone)),t.mode==="single"&&t.selected?t.selected=new dr(t.selected,t.timeZone):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(it=>new dr(it,t.timeZone)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?new dr(t.selected.from,t.timeZone):void 0,to:t.selected.to?new dr(t.selected.to,t.timeZone):void 0}));const{components:n,formatters:r,labels:a,dateLib:s,locale:l,classNames:u}=y.useMemo(()=>{const it={...DE,...t.locale};return{dateLib:new oa({locale:it,weekStartsOn:t.broadcastCalendar?1:t.weekStartsOn,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},t.dateLib),components:X_e(t.components),formatters:sNe(t.formatters),labels:{...jNe,...t.labels},locale:it,classNames:{...IE(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.components,t.formatters,t.labels,t.classNames]),{captionLayout:d,mode:f,navLayout:m,numberOfMonths:p=1,onDayBlur:g,onDayClick:x,onDayFocus:j,onDayKeyDown:w,onDayMouseEnter:b,onDayMouseLeave:N,onNextClick:E,onPrevClick:O,showWeekNumber:A,styles:C}=t,{formatCaption:k,formatDay:T,formatMonthDropdown:M,formatWeekNumber:R,formatWeekNumberHeader:B,formatWeekdayName:$,formatYearDropdown:H}=r,V=DNe(t,s),{days:q,months:G,navStart:L,navEnd:D,previousMonth:U,nextMonth:K,goToMonth:J}=V,I=Y_e(q,t,L,D,s),{isSelected:z,select:Y,selected:te}=WNe(t,s)??{},{blur:ae,focused:ge,isFocusTarget:ee,moveFocus:Se,setFocused:re}=LNe(t,V,I,z??(()=>!1),s),{labelDayButton:we,labelGridcell:je,labelGrid:fe,labelMonthDropdown:Le,labelNav:Oe,labelPrevious:We,labelNext:be,labelWeekday:Ae,labelWeekNumber:ke,labelWeekNumberHeader:Qt,labelYearDropdown:St}=a,Tt=y.useMemo(()=>cNe(s,t.ISOWeek),[s,t.ISOWeek]),Sn=f!==void 0||x!==void 0,le=y.useCallback(()=>{U&&(J(U),O?.(U))},[U,J,O]),ue=y.useCallback(()=>{K&&(J(K),E?.(K))},[J,K,E]),Ve=y.useCallback((it,Gt)=>Ye=>{Ye.preventDefault(),Ye.stopPropagation(),re(it),Y?.(it.date,Gt,Ye),x?.(it.date,Gt,Ye)},[Y,x,re]),Mn=y.useCallback((it,Gt)=>Ye=>{re(it),j?.(it.date,Gt,Ye)},[j,re]),$l=y.useCallback((it,Gt)=>Ye=>{ae(),g?.(it.date,Gt,Ye)},[ae,g]),Il=y.useCallback((it,Gt)=>Ye=>{const wt={ArrowLeft:[Ye.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[Ye.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[Ye.shiftKey?"year":"week","after"],ArrowUp:[Ye.shiftKey?"year":"week","before"],PageUp:[Ye.shiftKey?"year":"month","before"],PageDown:[Ye.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(wt[Ye.key]){Ye.preventDefault(),Ye.stopPropagation();const[qn,st]=wt[Ye.key];Se(qn,st)}w?.(it.date,Gt,Ye)},[Se,w,t.dir]),fx=y.useCallback((it,Gt)=>Ye=>{b?.(it.date,Gt,Ye)},[b]),fm=y.useCallback((it,Gt)=>Ye=>{N?.(it.date,Gt,Ye)},[N]),hx=y.useCallback(it=>Gt=>{const Ye=Number(Gt.target.value),wt=s.setMonth(s.startOfMonth(it),Ye);J(wt)},[s,J]),mx=y.useCallback(it=>Gt=>{const Ye=Number(Gt.target.value),wt=s.setYear(s.startOfMonth(it),Ye);J(wt)},[s,J]),{className:bo,style:br}=y.useMemo(()=>({className:[u[Be.Root],t.className].filter(Boolean).join(" "),style:{...C?.[Be.Root],...t.style}}),[u,t.className,t.style,C]),Qa=Z_e(t),lr=y.useRef(null);CNe(lr,!!t.animate,{classNames:u,months:G,focused:ge,dateLib:s});const px={dayPickerProps:t,selected:te,select:Y,isSelected:z,months:G,nextMonth:K,previousMonth:U,goToMonth:J,getModifiers:I,components:n,classNames:u,styles:C,labels:a,formatters:r};return W.createElement(VH.Provider,{value:px},W.createElement(n.Root,{rootRef:t.animate?lr:void 0,className:bo,style:br,dir:t.dir,id:t.id,lang:t.lang,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...Qa},W.createElement(n.Months,{className:u[Be.Months],style:C?.[Be.Months]},!t.hideNavigation&&!m&&W.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:u[Be.Nav],style:C?.[Be.Nav],"aria-label":Oe(),onPreviousClick:le,onNextClick:ue,previousMonth:U,nextMonth:K}),G.map((it,Gt)=>W.createElement(n.Month,{"data-animated-month":t.animate?"true":void 0,className:u[Be.Month],style:C?.[Be.Month],key:Gt,displayIndex:Gt,calendarMonth:it},m==="around"&&!t.hideNavigation&&Gt===0&&W.createElement(n.PreviousMonthButton,{type:"button",className:u[Be.PreviousMonthButton],tabIndex:U?void 0:-1,"aria-disabled":U?void 0:!0,"aria-label":We(U),onClick:le,"data-animated-button":t.animate?"true":void 0},W.createElement(n.Chevron,{disabled:U?void 0:!0,className:u[Be.Chevron],orientation:t.dir==="rtl"?"right":"left"})),W.createElement(n.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:u[Be.MonthCaption],style:C?.[Be.MonthCaption],calendarMonth:it,displayIndex:Gt},d?.startsWith("dropdown")?W.createElement(n.DropdownNav,{className:u[Be.Dropdowns],style:C?.[Be.Dropdowns]},(()=>{const Ye=d==="dropdown"||d==="dropdown-months"?W.createElement(n.MonthsDropdown,{key:"month",className:u[Be.MonthsDropdown],"aria-label":Le(),classNames:u,components:n,disabled:!!t.disableNavigation,onChange:hx(it.date),options:oNe(it.date,L,D,r,s),style:C?.[Be.Dropdown],value:s.getMonth(it.date)}):W.createElement("span",{key:"month"},M(it.date,s)),wt=d==="dropdown"||d==="dropdown-years"?W.createElement(n.YearsDropdown,{key:"year",className:u[Be.YearsDropdown],"aria-label":St(s.options),classNames:u,components:n,disabled:!!t.disableNavigation,onChange:mx(it.date),options:uNe(L,D,r,s,!!t.reverseYears),style:C?.[Be.Dropdown],value:s.getYear(it.date)}):W.createElement("span",{key:"year"},H(it.date,s));return s.getMonthYearOrder()==="year-first"?[wt,Ye]:[Ye,wt]})(),W.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},k(it.date,s.options,s))):W.createElement(n.CaptionLabel,{className:u[Be.CaptionLabel],role:"status","aria-live":"polite"},k(it.date,s.options,s))),m==="around"&&!t.hideNavigation&&Gt===p-1&&W.createElement(n.NextMonthButton,{type:"button",className:u[Be.NextMonthButton],tabIndex:K?void 0:-1,"aria-disabled":K?void 0:!0,"aria-label":be(K),onClick:ue,"data-animated-button":t.animate?"true":void 0},W.createElement(n.Chevron,{disabled:K?void 0:!0,className:u[Be.Chevron],orientation:t.dir==="rtl"?"left":"right"})),Gt===p-1&&m==="after"&&!t.hideNavigation&&W.createElement(n.Nav,{"data-animated-nav":t.animate?"true":void 0,className:u[Be.Nav],style:C?.[Be.Nav],"aria-label":Oe(),onPreviousClick:le,onNextClick:ue,previousMonth:U,nextMonth:K}),W.createElement(n.MonthGrid,{role:"grid","aria-multiselectable":f==="multiple"||f==="range","aria-label":fe(it.date,s.options,s)||void 0,className:u[Be.MonthGrid],style:C?.[Be.MonthGrid]},!t.hideWeekdays&&W.createElement(n.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:u[Be.Weekdays],style:C?.[Be.Weekdays]},A&&W.createElement(n.WeekNumberHeader,{"aria-label":Qt(s.options),className:u[Be.WeekNumberHeader],style:C?.[Be.WeekNumberHeader],scope:"col"},B()),Tt.map(Ye=>W.createElement(n.Weekday,{"aria-label":Ae(Ye,s.options,s),className:u[Be.Weekday],key:String(Ye),style:C?.[Be.Weekday],scope:"col"},$(Ye,s.options,s)))),W.createElement(n.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:u[Be.Weeks],style:C?.[Be.Weeks]},it.weeks.map(Ye=>W.createElement(n.Week,{className:u[Be.Week],key:Ye.weekNumber,style:C?.[Be.Week],week:Ye},A&&W.createElement(n.WeekNumber,{week:Ye,style:C?.[Be.WeekNumber],"aria-label":ke(Ye.weekNumber,{locale:l}),className:u[Be.WeekNumber],scope:"row",role:"rowheader"},R(Ye.weekNumber,s)),Ye.days.map(wt=>{const{date:qn}=wt,st=I(wt);if(st[on.focused]=!st.hidden&&!!ge?.isEqualTo(wt),st[Ua.selected]=z?.(qn)||st.selected,$E(te)){const{from:Bl,to:jo}=te;st[Ua.range_start]=!!(Bl&&jo&&s.isSameDay(qn,Bl)),st[Ua.range_end]=!!(Bl&&jo&&s.isSameDay(qn,jo)),st[Ua.range_middle]=Ji(te,qn,!0,s)}const Ll=lNe(st,C,t.modifiersStyles),wo=K_e(st,u,t.modifiersClassNames),vx=!Sn&&!st.hidden?je(qn,st,s.options,s):void 0;return W.createElement(n.Day,{key:`${s.format(qn,"yyyy-MM-dd")}_${s.format(wt.displayMonth,"yyyy-MM")}`,day:wt,modifiers:st,className:wo.join(" "),style:Ll,role:"gridcell","aria-selected":st.selected||void 0,"aria-label":vx,"data-day":s.format(qn,"yyyy-MM-dd"),"data-month":wt.outside?s.format(qn,"yyyy-MM"):void 0,"data-selected":st.selected||void 0,"data-disabled":st.disabled||void 0,"data-hidden":st.hidden||void 0,"data-outside":wt.outside||void 0,"data-focused":st.focused||void 0,"data-today":st.today||void 0},!st.hidden&&Sn?W.createElement(n.DayButton,{className:u[Be.DayButton],style:C?.[Be.DayButton],type:"button",day:wt,modifiers:st,disabled:st.disabled||void 0,tabIndex:ee(wt)?0:-1,"aria-label":we(qn,st,s.options,s),onClick:Ve(wt,st),onBlur:$l(wt,st),onFocus:Mn(wt,st),onKeyDown:Il(wt,st),onMouseEnter:fx(wt,st),onMouseLeave:fm(wt,st)},T(qn,s.options,s)):!st.hidden&&T(wt.date,s.options,s))})))))))),t.footer&&W.createElement(n.Footer,{className:u[Be.Footer],style:C?.[Be.Footer],role:"status","aria-live":"polite"},t.footer)))}function YL({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r="label",buttonVariant:a="ghost",formatters:s,components:l,...u}){const d=IE();return i.jsx(VNe,{showOutsideDays:n,className:ce("bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:f=>f.toLocaleString("default",{month:"short"}),...s},classNames:{root:ce("w-fit",d.root),months:ce("relative flex flex-col gap-4 md:flex-row",d.months),month:ce("flex w-full flex-col gap-4",d.month),nav:ce("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",d.nav),button_previous:ce(xh({variant:a}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",d.button_previous),button_next:ce(xh({variant:a}),"h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50",d.button_next),month_caption:ce("flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]",d.month_caption),dropdowns:ce("flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium",d.dropdowns),dropdown_root:ce("has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border",d.dropdown_root),dropdown:ce("bg-popover absolute inset-0 opacity-0",d.dropdown),caption_label:ce("select-none font-medium",r==="label"?"text-sm":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5",d.caption_label),table:"w-full border-collapse",weekdays:ce("flex",d.weekdays),weekday:ce("text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal",d.weekday),week:ce("mt-2 flex w-full",d.week),week_number_header:ce("w-[--cell-size] select-none",d.week_number_header),week_number:ce("text-muted-foreground select-none text-[0.8rem]",d.week_number),day:ce("group/day relative aspect-square h-full w-full select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md",d.day),range_start:ce("bg-accent rounded-l-md",d.range_start),range_middle:ce("rounded-none",d.range_middle),range_end:ce("bg-accent rounded-r-md",d.range_end),today:ce("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",d.today),outside:ce("text-muted-foreground aria-selected:text-muted-foreground",d.outside),disabled:ce("text-muted-foreground opacity-50",d.disabled),hidden:ce("invisible",d.hidden),...t},components:{Root:({className:f,rootRef:m,...p})=>i.jsx("div",{"data-slot":"calendar",ref:m,className:ce(f),...p}),Chevron:({className:f,orientation:m,...p})=>m==="left"?i.jsx(nE,{className:ce("size-4",f),...p}):m==="right"?i.jsx(rE,{className:ce("size-4",f),...p}):i.jsx(vh,{className:ce("size-4",f),...p}),DayButton:GNe,WeekNumber:({children:f,...m})=>i.jsx("td",{...m,children:i.jsx("div",{className:"flex size-[--cell-size] items-center justify-center text-center",children:f})}),...l},...u})}function GNe({className:e,day:t,modifiers:n,...r}){const a=IE(),s=y.useRef(null);return y.useEffect(()=>{n.focused&&s.current?.focus()},[n.focused]),i.jsx(oe,{ref:s,variant:"ghost",size:"icon","data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:ce("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",a.day,e),...r})}class YNe{ws=null;reconnectTimeout=null;reconnectAttempts=0;maxReconnectAttempts=10;heartbeatInterval=null;logCallbacks=new Set;connectionCallbacks=new Set;isConnected=!1;logCache=[];maxCacheSize=1e3;getWebSocketUrl(){{const t=window.location.protocol==="https:"?"wss:":"ws:",n=window.location.host;return`${t}//${n}/ws/logs`}}connect(){if(this.ws?.readyState===WebSocket.OPEN||this.ws?.readyState===WebSocket.CONNECTING)return;const t=this.getWebSocketUrl();try{this.ws=new WebSocket(t),this.ws.onopen=()=>{this.isConnected=!0,this.reconnectAttempts=0,this.notifyConnection(!0),this.startHeartbeat()},this.ws.onmessage=n=>{try{if(n.data==="pong")return;const r=JSON.parse(n.data);this.notifyLog(r)}catch(r){console.error("解析日志消息失败:",r)}},this.ws.onerror=n=>{console.error("❌ WebSocket 错误:",n),this.isConnected=!1,this.notifyConnection(!1)},this.ws.onclose=()=>{this.isConnected=!1,this.notifyConnection(!1),this.stopHeartbeat(),this.attemptReconnect()}}catch(n){console.error("创建 WebSocket 连接失败:",n),this.attemptReconnect()}}attemptReconnect(){if(this.reconnectAttempts>=this.maxReconnectAttempts)return;this.reconnectAttempts+=1;const t=Math.min(1e3*this.reconnectAttempts,1e4);this.reconnectTimeout=window.setTimeout(()=>{this.connect()},t)}startHeartbeat(){this.heartbeatInterval=window.setInterval(()=>{this.ws?.readyState===WebSocket.OPEN&&this.ws.send("ping")},3e4)}stopHeartbeat(){this.heartbeatInterval!==null&&(clearInterval(this.heartbeatInterval),this.heartbeatInterval=null)}disconnect(){this.reconnectTimeout!==null&&(clearTimeout(this.reconnectTimeout),this.reconnectTimeout=null),this.stopHeartbeat(),this.ws&&(this.ws.close(),this.ws=null),this.isConnected=!1,this.reconnectAttempts=0}onLog(t){return this.logCallbacks.add(t),()=>this.logCallbacks.delete(t)}onConnectionChange(t){return this.connectionCallbacks.add(t),t(this.isConnected),()=>this.connectionCallbacks.delete(t)}notifyLog(t){this.logCache.some(r=>r.id===t.id)||(this.logCache.push(t),this.logCache.length>this.maxCacheSize&&(this.logCache=this.logCache.slice(-this.maxCacheSize)),this.logCallbacks.forEach(r=>{try{r(t)}catch(a){console.error("日志回调执行失败:",a)}}))}notifyConnection(t){this.connectionCallbacks.forEach(n=>{try{n(t)}catch(r){console.error("连接状态回调执行失败:",r)}})}getAllLogs(){return[...this.logCache]}clearLogs(){this.logCache=[]}getConnectionStatus(){return this.isConnected}}const Bc=new YNe;typeof window<"u"&&Bc.connect();const KNe={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},XNe=(e,t,n)=>{let r;const a=KNe[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"内":r+"前":r},ZNe={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},QNe={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},JNe={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},eCe={date:eu({formats:ZNe,defaultWidth:"full"}),time:eu({formats:QNe,defaultWidth:"full"}),dateTime:eu({formats:JNe,defaultWidth:"full"})};function KL(e,t,n){const r="eeee p";return d_e(e,t,n)?r:e.getTime()>t.getTime()?"'下个'"+r:"'上个'"+r}const tCe={lastWeek:KL,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:KL,other:"PP p"},nCe=(e,t,n,r)=>{const a=tCe[e];return typeof a=="function"?a(t,n,r):a},rCe={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},aCe={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},iCe={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},sCe={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},oCe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},lCe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},cCe=(e,t)=>{const n=Number(e);switch(t?.unit){case"date":return n.toString()+"日";case"hour":return n.toString()+"时";case"minute":return n.toString()+"分";case"second":return n.toString()+"秒";default:return"第 "+n.toString()}},uCe={ordinalNumber:cCe,era:oi({values:rCe,defaultWidth:"wide"}),quarter:oi({values:aCe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:oi({values:iCe,defaultWidth:"wide"}),day:oi({values:sCe,defaultWidth:"wide"}),dayPeriod:oi({values:oCe,defaultWidth:"wide",formattingValues:lCe,defaultFormattingWidth:"wide"})},dCe=/^(第\s*)?\d+(日|时|分|秒)?/i,fCe=/\d+/i,hCe={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},mCe={any:[/^(前)/i,/^(公元)/i]},pCe={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},vCe={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},gCe={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},yCe={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},xCe={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},bCe={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},wCe={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},jCe={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},SCe={ordinalNumber:BH({matchPattern:dCe,parsePattern:fCe,valueCallback:e=>parseInt(e,10)}),era:li({matchPatterns:hCe,defaultMatchWidth:"wide",parsePatterns:mCe,defaultParseWidth:"any"}),quarter:li({matchPatterns:pCe,defaultMatchWidth:"wide",parsePatterns:vCe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:li({matchPatterns:gCe,defaultMatchWidth:"wide",parsePatterns:yCe,defaultParseWidth:"any"}),day:li({matchPatterns:xCe,defaultMatchWidth:"wide",parsePatterns:bCe,defaultParseWidth:"any"}),dayPeriod:li({matchPatterns:wCe,defaultMatchWidth:"any",parsePatterns:jCe,defaultParseWidth:"any"})},Qp={code:"zh-CN",formatDistance:XNe,formatLong:eCe,formatRelative:nCe,localize:uCe,match:SCe,options:{weekStartsOn:1,firstWeekContainsDate:4}};function _Ce(){const[e,t]=y.useState([]),[n,r]=y.useState(""),[a,s]=y.useState("all"),[l,u]=y.useState("all"),[d,f]=y.useState(void 0),[m,p]=y.useState(void 0),[g,x]=y.useState(!0),[j,w]=y.useState(!1),b=y.useRef(null),N=y.useRef(null);y.useEffect(()=>{const $=Bc.getAllLogs();t($);const H=Bc.onLog(()=>{t(Bc.getAllLogs())}),V=Bc.onConnectionChange(q=>{w(q)});return()=>{H(),V()}},[]),y.useEffect(()=>{g&&N.current&&N.current.scrollIntoView({behavior:"smooth",block:"end"})},[e,g]);const E=y.useMemo(()=>{const $=new Set(e.map(H=>H.module));return Array.from($).sort()},[e]),O=$=>{switch($){case"DEBUG":return"text-muted-foreground";case"INFO":return"text-blue-500 dark:text-blue-400";case"WARNING":return"text-yellow-600 dark:text-yellow-500";case"ERROR":return"text-red-600 dark:text-red-500";case"CRITICAL":return"text-red-700 dark:text-red-400 font-bold";default:return"text-foreground"}},A=$=>{switch($){case"DEBUG":return"bg-gray-800/30 dark:bg-gray-800/50";case"INFO":return"bg-blue-900/20 dark:bg-blue-500/20";case"WARNING":return"bg-yellow-900/20 dark:bg-yellow-500/20";case"ERROR":return"bg-red-900/20 dark:bg-red-500/20";case"CRITICAL":return"bg-red-900/30 dark:bg-red-600/30";default:return"bg-gray-800/20 dark:bg-gray-800/30"}},C=()=>{window.location.reload()},k=()=>{Bc.clearLogs(),t([])},T=()=>{const $=B.map(G=>`${G.timestamp} [${G.level.padEnd(8)}] [${G.module}] ${G.message}`).join(` +`),H=new Blob([$],{type:"text/plain;charset=utf-8"}),V=URL.createObjectURL(H),q=document.createElement("a");q.href=V,q.download=`logs-${pv(new Date,"yyyy-MM-dd-HHmmss")}.txt`,q.click(),URL.revokeObjectURL(V)},M=()=>{x(!g)},R=()=>{f(void 0),p(void 0)},B=y.useMemo(()=>e.filter($=>{const H=n===""||$.message.toLowerCase().includes(n.toLowerCase())||$.module.toLowerCase().includes(n.toLowerCase()),V=a==="all"||$.level===a,q=l==="all"||$.module===l;let G=!0;if(d||m){const L=new Date($.timestamp);if(d){const D=new Date(d);D.setHours(0,0,0,0),G=G&&L>=D}if(m){const D=new Date(m);D.setHours(23,59,59,999),G=G&&L<=D}}return H&&V&&q&&G}),[e,n,a,l,d,m]);return i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 p-3 sm:p-4 lg:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-xl sm:text-2xl lg:text-3xl font-bold",children:"日志查看器"}),i.jsx("p",{className:"text-xs sm:text-sm text-muted-foreground mt-1",children:"实时查看和分析麦麦运行日志"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("div",{className:ce("h-2.5 w-2.5 sm:h-3 sm:w-3 rounded-full",j?"bg-green-500 animate-pulse":"bg-red-500")}),i.jsx("span",{className:"text-xs sm:text-sm text-muted-foreground",children:j?"已连接":"未连接"})]})]}),i.jsx(Xe,{className:"p-3 sm:p-4",children:i.jsxs("div",{className:"flex flex-col gap-3 sm:gap-4",children:[i.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:gap-4",children:[i.jsxs("div",{className:"flex-1 relative",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{placeholder:"搜索日志...",value:n,onChange:$=>r($.target.value),className:"pl-9 h-9 text-sm"})]}),i.jsxs(Dt,{value:a,onValueChange:s,children:[i.jsxs(Ot,{className:"w-full sm:w-[140px] lg:w-[180px] h-9 text-sm",children:[i.jsx(tC,{className:"h-4 w-4 mr-2"}),i.jsx($t,{placeholder:"级别"})]}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部级别"}),i.jsx(De,{value:"DEBUG",children:"DEBUG"}),i.jsx(De,{value:"INFO",children:"INFO"}),i.jsx(De,{value:"WARNING",children:"WARNING"}),i.jsx(De,{value:"ERROR",children:"ERROR"}),i.jsx(De,{value:"CRITICAL",children:"CRITICAL"})]})]}),i.jsxs(Dt,{value:l,onValueChange:u,children:[i.jsxs(Ot,{className:"w-full sm:w-[160px] lg:w-[200px] h-9 text-sm",children:[i.jsx(tC,{className:"h-4 w-4 mr-2"}),i.jsx($t,{placeholder:"模块"})]}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部模块"}),E.map($=>i.jsx(De,{value:$,children:$},$))]})]})]}),i.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:gap-4",children:[i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",className:ce("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!d&&"text-muted-foreground"),children:[i.jsx(QI,{className:"mr-2 h-4 w-4"}),i.jsx("span",{className:"text-xs sm:text-sm",children:d?pv(d,"PPP",{locale:Qp}):"开始日期"})]})}),i.jsx(ds,{className:"w-auto p-0",align:"start",children:i.jsx(YL,{mode:"single",selected:d,onSelect:f,initialFocus:!0,locale:Qp})})]}),i.jsxs(ro,{children:[i.jsx(ao,{asChild:!0,children:i.jsxs(oe,{variant:"outline",size:"sm",className:ce("w-full sm:w-[200px] lg:w-[240px] justify-start text-left font-normal h-9",!m&&"text-muted-foreground"),children:[i.jsx(QI,{className:"mr-2 h-4 w-4"}),i.jsx("span",{className:"text-xs sm:text-sm",children:m?pv(m,"PPP",{locale:Qp}):"结束日期"})]})}),i.jsx(ds,{className:"w-auto p-0",align:"start",children:i.jsx(YL,{mode:"single",selected:m,onSelect:p,initialFocus:!0,locale:Qp})})]}),(d||m)&&i.jsxs(oe,{variant:"outline",size:"sm",onClick:R,className:"w-full sm:w-auto h-9",children:[i.jsx(Yh,{className:"h-4 w-4 sm:mr-2"}),i.jsx("span",{className:"hidden sm:inline text-sm",children:"清除时间筛选"}),i.jsx("span",{className:"sm:hidden text-sm",children:"清除"})]})]}),i.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",children:[i.jsxs("div",{className:"flex gap-2 flex-wrap",children:[i.jsxs(oe,{variant:g?"default":"outline",size:"sm",onClick:M,className:"flex-1 sm:flex-none h-9",children:[g?i.jsx(yge,{className:"h-4 w-4"}):i.jsx(wge,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:g?"自动滚动":"已暂停"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:C,className:"flex-1 sm:flex-none h-9",children:[i.jsx(is,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:"刷新"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:k,className:"flex-1 sm:flex-none h-9",children:[i.jsx(It,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:"清空"})]}),i.jsxs(oe,{variant:"outline",size:"sm",onClick:T,className:"flex-1 sm:flex-none h-9",children:[i.jsx(JN,{className:"h-4 w-4"}),i.jsx("span",{className:"ml-2 text-sm",children:"导出"})]})]}),i.jsx("div",{className:"flex-1 hidden sm:block"}),i.jsxs("div",{className:"text-xs sm:text-sm text-muted-foreground flex items-center justify-center sm:justify-end",children:[i.jsxs("span",{className:"font-mono",children:[B.length," / ",e.length]}),i.jsx("span",{className:"ml-1",children:"条日志"})]})]})]})}),i.jsx(Xe,{className:"bg-black dark:bg-gray-950 border-gray-800 dark:border-gray-900",children:i.jsx(Wt,{className:"h-[calc(100vh-280px)] sm:h-[calc(100vh-320px)] lg:h-[calc(100vh-400px)]",children:i.jsxs("div",{ref:b,className:"p-2 sm:p-3 lg:p-4 font-mono text-xs sm:text-sm space-y-1",children:[B.length===0?i.jsx("div",{className:"text-gray-500 dark:text-gray-600 text-center py-8 text-sm",children:"暂无日志数据"}):B.map($=>i.jsxs("div",{className:ce("py-2 px-2 sm:px-3 rounded hover:bg-white/5 transition-colors group",A($.level)),children:[i.jsxs("div",{className:"flex flex-col gap-1 sm:hidden",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-gray-500 dark:text-gray-600 text-xs",children:$.timestamp}),i.jsxs("span",{className:ce("text-xs font-semibold",O($.level)),children:["[",$.level,"]"]})]}),i.jsx("div",{className:"text-cyan-400 dark:text-cyan-500 text-xs truncate",children:$.module}),i.jsx("div",{className:"text-gray-300 dark:text-gray-400 text-xs break-all",children:$.message})]}),i.jsxs("div",{className:"hidden sm:flex gap-3 items-start",children:[i.jsx("span",{className:"text-gray-500 dark:text-gray-600 flex-shrink-0 w-[140px] lg:w-[180px] text-xs lg:text-sm",children:$.timestamp}),i.jsxs("span",{className:ce("flex-shrink-0 w-[70px] lg:w-[80px] font-semibold text-xs lg:text-sm",O($.level)),children:["[",$.level,"]"]}),i.jsx("span",{className:"text-cyan-400 dark:text-cyan-500 flex-shrink-0 w-[120px] lg:w-[150px] truncate text-xs lg:text-sm",children:$.module}),i.jsx("span",{className:"text-gray-300 dark:text-gray-400 flex-1 break-all text-xs lg:text-sm",children:$.message})]})]},$.id)),i.jsx("div",{ref:N,className:"h-4"})]})})})]})})}const NCe="Mai-with-u",CCe="plugin-repo",OCe="main",ECe="plugin_details.json";async function ACe(){try{const e=await rt("/api/webui/plugins/fetch-raw",{method:"POST",headers:dt(),body:JSON.stringify({owner:NCe,repo:CCe,branch:OCe,file_path:ECe})});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const t=await e.json();if(!t.success||!t.data)throw new Error(t.error||"获取插件列表失败");return JSON.parse(t.data).filter(a=>!a?.id||!a?.manifest?(console.warn("跳过无效插件数据:",a),!1):!a.manifest.name||!a.manifest.version?(console.warn("跳过缺少必需字段的插件:",a.id),!1):!0).map(a=>({id:a.id,manifest:{manifest_version:a.manifest.manifest_version||1,name:a.manifest.name,version:a.manifest.version,description:a.manifest.description||"",author:a.manifest.author||{name:"Unknown"},license:a.manifest.license||"Unknown",host_application:a.manifest.host_application||{min_version:"0.0.0"},homepage_url:a.manifest.homepage_url,repository_url:a.manifest.repository_url,keywords:a.manifest.keywords||[],categories:a.manifest.categories||[],default_locale:a.manifest.default_locale||"zh-CN",locales_path:a.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!1,published_at:new Date().toISOString(),updated_at:new Date().toISOString()}))}catch(e){throw console.error("Failed to fetch plugin list:",e),e}}async function TCe(){try{const e=await rt("/api/webui/plugins/git-status");if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return await e.json()}catch(e){return console.error("Failed to check Git status:",e),{installed:!1,error:"无法检测 Git 安装状态"}}}async function kCe(){try{const e=await rt("/api/webui/plugins/version");if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return await e.json()}catch(e){return console.error("Failed to get Maimai version:",e),{version:"0.0.0",version_major:0,version_minor:0,version_patch:0}}}function MCe(e,t,n){const r=e.split(".").map(u=>parseInt(u)||0),a=r[0]||0,s=r[1]||0,l=r[2]||0;if(n.version_majorparseInt(p)||0),d=u[0]||0,f=u[1]||0,m=u[2]||0;if(n.version_major>d||n.version_major===d&&n.version_minor>f||n.version_major===d&&n.version_minor===f&&n.version_patch>m)return!1}return!0}function PCe(e,t){const n=window.location.protocol==="https:"?"wss:":"ws:",r=window.location.host,a=new WebSocket(`${n}//${r}/api/webui/ws/plugin-progress`);return a.onopen=()=>{console.log("Plugin progress WebSocket connected");const s=setInterval(()=>{a.readyState===WebSocket.OPEN?a.send("ping"):clearInterval(s)},3e4)},a.onmessage=s=>{try{if(s.data==="pong")return;const l=JSON.parse(s.data);e(l)}catch(l){console.error("Failed to parse progress data:",l)}},a.onerror=s=>{console.error("Plugin progress WebSocket error:",s),t?.(s)},a.onclose=()=>{console.log("Plugin progress WebSocket disconnected")},a}async function Jp(){try{const e=await rt("/api/webui/plugins/installed",{headers:dt()});if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const t=await e.json();if(!t.success)throw new Error(t.message||"获取已安装插件列表失败");return t.plugins||[]}catch(e){return console.error("Failed to get installed plugins:",e),[]}}function ev(e,t){return t.some(n=>n.id===e)}function tv(e,t){const n=t.find(r=>r.id===e);if(n)return n.manifest?.version||n.version}async function RCe(e,t,n="main"){const r=await rt("/api/webui/plugins/install",{method:"POST",headers:dt(),body:JSON.stringify({plugin_id:e,repository_url:t,branch:n})});if(!r.ok){const a=await r.json();throw new Error(a.detail||"安装失败")}return await r.json()}async function DCe(e){const t=await rt("/api/webui/plugins/uninstall",{method:"POST",headers:dt(),body:JSON.stringify({plugin_id:e})});if(!t.ok){const n=await t.json();throw new Error(n.detail||"卸载失败")}return await t.json()}async function $Ce(e,t,n="main"){const r=await rt("/api/webui/plugins/update",{method:"POST",headers:dt(),body:JSON.stringify({plugin_id:e,repository_url:t,branch:n})});if(!r.ok){const a=await r.json();throw new Error(a.detail||"更新失败")}return await r.json()}const XL={"Group Management":"群组管理","Entertainment & Interaction":"娱乐互动","Utility Tools":"实用工具","Content Generation":"内容生成",Multimedia:"多媒体","External Integration":"外部集成","Data Analysis & Insights":"数据分析与洞察",Other:"其他"};function ICe(){const e=la(),[t,n]=y.useState(null),[r,a]=y.useState(""),[s,l]=y.useState("all"),[u,d]=y.useState("all"),[f,m]=y.useState(!1),[p,g]=y.useState([]),[x,j]=y.useState(!0),[w,b]=y.useState(null),[N,E]=y.useState(null),[O,A]=y.useState(null),[C,k]=y.useState(null),[,T]=y.useState([]),{toast:M}=yr();y.useEffect(()=>{let D=null,U=!1;return(async()=>{if(D=PCe(J=>{U||(A(J),J.stage==="success"?setTimeout(()=>{U||A(null)},2e3):J.stage==="error"&&(j(!1),b(J.error||"加载失败")))},J=>{console.error("WebSocket error:",J),U||M({title:"WebSocket 连接失败",description:"无法实时显示加载进度",variant:"destructive"})}),await new Promise(J=>{if(!D){J();return}const I=()=>{D&&D.readyState===WebSocket.OPEN?(console.log("WebSocket connected, starting to load plugins"),J()):D&&D.readyState===WebSocket.CLOSED?(console.warn("WebSocket closed before loading plugins"),J()):setTimeout(I,100)};I()}),!U){const J=await TCe();E(J),J.installed||M({title:"Git 未安装",description:J.error||"请先安装 Git 才能使用插件安装功能",variant:"destructive"})}if(!U){const J=await kCe();k(J)}if(!U)try{j(!0),b(null);const J=await ACe();if(!U){const I=await Jp();T(I);const z=J.map(Y=>{const te=ev(Y.id,I),ae=tv(Y.id,I);return{...Y,installed:te,installed_version:ae}});for(const Y of I)!z.some(ae=>ae.id===Y.id)&&Y.manifest&&z.push({id:Y.id,manifest:{manifest_version:Y.manifest.manifest_version||1,name:Y.manifest.name,version:Y.manifest.version,description:Y.manifest.description||"",author:Y.manifest.author,license:Y.manifest.license||"Unknown",host_application:Y.manifest.host_application,homepage_url:Y.manifest.homepage_url,repository_url:Y.manifest.repository_url,keywords:Y.manifest.keywords||[],categories:Y.manifest.categories||[],default_locale:Y.manifest.default_locale||"zh-CN",locales_path:Y.manifest.locales_path},downloads:0,rating:0,review_count:0,installed:!0,installed_version:Y.manifest.version,published_at:new Date().toISOString(),updated_at:new Date().toISOString()});g(z)}}catch(J){if(!U){const I=J instanceof Error?J.message:"加载插件列表失败";b(I),M({title:"加载失败",description:I,variant:"destructive"})}}finally{U||j(!1)}})(),()=>{U=!0,D&&D.close()}},[M]);const R=D=>{if(!D.installed&&C&&!B(D))return i.jsxs(Ft,{variant:"destructive",className:"gap-1",children:[i.jsx(gl,{className:"h-3 w-3"}),"不兼容"]});if(D.installed){const U=D.installed_version?.trim(),K=D.manifest.version?.trim();if(U!==K){const J=U?.split(".").map(Number)||[0,0,0],I=K?.split(".").map(Number)||[0,0,0];for(let z=0;z<3;z++){if((I[z]||0)>(J[z]||0))return i.jsxs(Ft,{variant:"outline",className:"gap-1 text-orange-600 border-orange-600",children:[i.jsx(gl,{className:"h-3 w-3"}),"可更新"]});if((I[z]||0)<(J[z]||0))break}}return i.jsxs(Ft,{variant:"default",className:"gap-1",children:[i.jsx(Pr,{className:"h-3 w-3"}),"已安装"]})}return null},B=D=>!C||!D.manifest?.host_application?!0:MCe(D.manifest.host_application.min_version,D.manifest.host_application.max_version,C),$=D=>{if(!D.installed||!D.installed_version||!D.manifest?.version)return!1;const U=D.installed_version.trim(),K=D.manifest.version.trim();if(U===K)return!1;const J=U.split(".").map(Number),I=K.split(".").map(Number);for(let z=0;z<3;z++){if((I[z]||0)>(J[z]||0))return!0;if((I[z]||0)<(J[z]||0))return!1}return!1},H=p.filter(D=>{if(!D.manifest)return console.warn("[过滤] 跳过无 manifest 的插件:",D.id),!1;const U=r===""||D.manifest.name?.toLowerCase().includes(r.toLowerCase())||D.manifest.description?.toLowerCase().includes(r.toLowerCase())||D.manifest.keywords&&D.manifest.keywords.some(z=>z.toLowerCase().includes(r.toLowerCase())),K=s==="all"||D.manifest.categories&&D.manifest.categories.includes(s);let J=!0;u==="installed"?J=D.installed===!0:u==="updates"&&(J=D.installed===!0&&$(D));const I=!f||!C||B(D);return U&&K&&J&&I}),V=()=>{n(null)},q=async D=>{if(!N?.installed){M({title:"无法安装",description:"Git 未安装",variant:"destructive"});return}if(C&&!B(D)){M({title:"无法安装",description:"插件与当前麦麦版本不兼容",variant:"destructive"});return}try{await RCe(D.id,D.manifest.repository_url||"","main"),M({title:"安装成功",description:`${D.manifest.name} 已成功安装`});const U=await Jp();T(U),g(K=>K.map(J=>{if(J.id===D.id){const I=ev(J.id,U),z=tv(J.id,U);return{...J,installed:I,installed_version:z}}return J}))}catch(U){M({title:"安装失败",description:U instanceof Error?U.message:"未知错误",variant:"destructive"})}},G=async D=>{try{await DCe(D.id),M({title:"卸载成功",description:`${D.manifest.name} 已成功卸载`});const U=await Jp();T(U),g(K=>K.map(J=>{if(J.id===D.id){const I=ev(J.id,U),z=tv(J.id,U);return{...J,installed:I,installed_version:z}}return J}))}catch(U){M({title:"卸载失败",description:U instanceof Error?U.message:"未知错误",variant:"destructive"})}},L=async D=>{if(!N?.installed){M({title:"无法更新",description:"Git 未安装",variant:"destructive"});return}try{const U=await $Ce(D.id,D.manifest.repository_url||"","main");M({title:"更新成功",description:`${D.manifest.name} 已从 ${U.old_version} 更新到 ${U.new_version}`});const K=await Jp();T(K),g(J=>J.map(I=>{if(I.id===D.id){const z=ev(I.id,K),Y=tv(I.id,K);return{...I,installed:z,installed_version:Y}}return I}))}catch(U){M({title:"更新失败",description:U instanceof Error?U.message:"未知错误",variant:"destructive"})}};return i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件市场"}),i.jsx("p",{className:"text-muted-foreground mt-2",children:"浏览和管理麦麦的插件"})]}),i.jsxs(oe,{onClick:()=>e({to:"/plugin-mirrors"}),children:[i.jsx(Pge,{className:"h-4 w-4 mr-2"}),"配置镜像源"]})]}),N&&!N.installed&&i.jsxs(Xe,{className:"border-orange-600 bg-orange-50 dark:bg-orange-950/20",children:[i.jsx(pt,{children:i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx(Kc,{className:"h-5 w-5 text-orange-600"}),i.jsxs("div",{children:[i.jsx(vt,{className:"text-lg text-orange-900 dark:text-orange-100",children:"Git 未安装"}),i.jsx(Wn,{className:"text-orange-800 dark:text-orange-200",children:N.error||"请先安装 Git 才能使用插件安装功能"})]})]})}),i.jsx(Ct,{children:i.jsxs("p",{className:"text-sm text-orange-800 dark:text-orange-200",children:["您可以从 ",i.jsx("a",{href:"https://git-scm.com/downloads",target:"_blank",rel:"noopener noreferrer",className:"underline font-medium",children:"git-scm.com"})," 下载并安装 Git。 安装完成后,请重启麦麦应用。"]})})]}),i.jsx(Xe,{className:"p-4",children:i.jsxs("div",{className:"flex flex-col gap-4",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[i.jsxs("div",{className:"flex-1 relative",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),i.jsx(Ne,{placeholder:"搜索插件...",value:r,onChange:D=>a(D.target.value),className:"pl-9"})]}),i.jsxs(Dt,{value:s,onValueChange:l,children:[i.jsx(Ot,{className:"w-full sm:w-[200px]",children:i.jsx($t,{placeholder:"选择分类"})}),i.jsxs(Et,{children:[i.jsx(De,{value:"all",children:"全部分类"}),i.jsx(De,{value:"Group Management",children:"群组管理"}),i.jsx(De,{value:"Entertainment & Interaction",children:"娱乐互动"}),i.jsx(De,{value:"Utility Tools",children:"实用工具"}),i.jsx(De,{value:"Content Generation",children:"内容生成"}),i.jsx(De,{value:"Multimedia",children:"多媒体"}),i.jsx(De,{value:"External Integration",children:"外部集成"}),i.jsx(De,{value:"Data Analysis & Insights",children:"数据分析与洞察"}),i.jsx(De,{value:"Other",children:"其他"})]})]})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(io,{id:"compatible-only",checked:f,onCheckedChange:D=>m(D===!0)}),i.jsx("label",{htmlFor:"compatible-only",className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer",children:"只显示兼容当前版本的插件"})]})]})}),i.jsx(dl,{value:u,onValueChange:d,className:"w-full",children:i.jsxs(eo,{className:"grid w-full grid-cols-3",children:[i.jsxs(Rt,{value:"all",children:["全部插件 (",p.length,")"]}),i.jsxs(Rt,{value:"installed",children:["已安装 (",p.filter(D=>D.installed).length,")"]}),i.jsxs(Rt,{value:"updates",children:["可更新 (",p.filter(D=>D.installed&&$(D)).length,")"]})]})}),O&&O.stage==="loading"&&i.jsx(Xe,{className:"p-4",children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(gh,{className:"h-4 w-4 animate-spin"}),i.jsxs("span",{className:"text-sm font-medium",children:[O.operation==="fetch"&&"加载插件列表",O.operation==="install"&&`安装插件${O.plugin_id?`: ${O.plugin_id}`:""}`,O.operation==="uninstall"&&`卸载插件${O.plugin_id?`: ${O.plugin_id}`:""}`,O.operation==="update"&&`更新插件${O.plugin_id?`: ${O.plugin_id}`:""}`]})]}),i.jsxs("span",{className:"text-sm font-medium",children:[O.progress,"%"]})]}),i.jsx($h,{value:O.progress,className:"h-2"}),i.jsx("div",{className:"text-xs text-muted-foreground",children:O.message}),O.operation==="fetch"&&O.total_plugins>0&&i.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["已加载 ",O.loaded_plugins," / ",O.total_plugins," 个插件"]})]})}),O&&O.stage==="error"&&O.error&&i.jsx(Xe,{className:"border-destructive bg-destructive/10",children:i.jsx(pt,{children:i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx(Kc,{className:"h-5 w-5 text-destructive"}),i.jsxs("div",{children:[i.jsx(vt,{className:"text-lg text-destructive",children:"加载失败"}),i.jsx(Wn,{className:"text-destructive/80",children:O.error})]})]})})}),x?i.jsxs("div",{className:"flex items-center justify-center py-12",children:[i.jsx(gh,{className:"h-8 w-8 animate-spin text-muted-foreground"}),i.jsx("span",{className:"ml-3 text-muted-foreground",children:"加载插件列表中..."})]}):w?i.jsx(Xe,{className:"p-6",children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[i.jsx(Kc,{className:"h-12 w-12 text-destructive mb-4"}),i.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),i.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:w}),i.jsx(oe,{onClick:()=>window.location.reload(),children:"重新加载"})]})}):H.length===0?i.jsx(Xe,{className:"p-6",children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[i.jsx(Lr,{className:"h-12 w-12 text-muted-foreground mb-4"}),i.jsx("h3",{className:"text-lg font-semibold mb-2",children:"未找到插件"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:r||s!=="all"?"尝试调整搜索条件或筛选器":"暂无可用插件"})]})}):i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:H.map(D=>i.jsxs(Xe,{className:"flex flex-col hover:shadow-lg transition-shadow h-full",children:[i.jsxs(pt,{children:[i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsx(vt,{className:"text-xl",children:D.manifest?.name||D.id}),i.jsxs("div",{className:"flex flex-col gap-1",children:[D.manifest?.categories&&D.manifest.categories[0]&&i.jsx(Ft,{variant:"secondary",className:"text-xs whitespace-nowrap",children:XL[D.manifest.categories[0]]||D.manifest.categories[0]}),R(D)]})]}),i.jsx(Wn,{className:"line-clamp-2",children:D.manifest?.description||"无描述"})]}),i.jsx(Ct,{className:"flex-1",children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx(JN,{className:"h-4 w-4"}),i.jsx("span",{children:D.downloads.toLocaleString()})]}),i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx(tL,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),i.jsx("span",{children:D.rating.toFixed(1)})]})]}),i.jsxs("div",{className:"flex flex-wrap gap-2",children:[D.manifest?.keywords&&D.manifest.keywords.slice(0,3).map(U=>i.jsx(Ft,{variant:"outline",className:"text-xs",children:U},U)),D.manifest?.keywords&&D.manifest.keywords.length>3&&i.jsxs(Ft,{variant:"outline",className:"text-xs",children:["+",D.manifest.keywords.length-3]})]}),i.jsxs("div",{className:"text-xs text-muted-foreground pt-2 border-t space-y-1",children:[i.jsxs("div",{children:["v",D.manifest?.version||"unknown"," · ",D.manifest?.author?.name||"Unknown"]}),D.manifest?.host_application&&i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx("span",{children:"支持:"}),i.jsxs("span",{className:"font-medium",children:[D.manifest.host_application.min_version,D.manifest.host_application.max_version?` - ${D.manifest.host_application.max_version}`:" - 最新版本"]})]})]})]})}),i.jsx(eB,{className:"pt-4",children:i.jsxs("div",{className:"flex items-center justify-end gap-2 w-full",children:[i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>n(D),children:"查看详情"}),D.installed?$(D)?i.jsxs(oe,{size:"sm",disabled:!N?.installed,title:N?.installed?void 0:"Git 未安装",onClick:()=>L(D),children:[i.jsx(is,{className:"h-4 w-4 mr-1"}),"更新"]}):i.jsxs(oe,{variant:"destructive",size:"sm",disabled:!N?.installed,title:N?.installed?void 0:"Git 未安装",onClick:()=>G(D),children:[i.jsx(It,{className:"h-4 w-4 mr-1"}),"卸载"]}):i.jsxs(oe,{size:"sm",disabled:!N?.installed||O?.operation==="install"||C!==null&&!B(D),title:N?.installed?C!==null&&!B(D)?`不兼容当前版本 (需要 ${D.manifest?.host_application?.min_version||"未知"}${D.manifest?.host_application?.max_version?` - ${D.manifest.host_application.max_version}`:"+"},当前 ${C?.version})`:void 0:"Git 未安装",onClick:()=>q(D),children:[i.jsx(JN,{className:"h-4 w-4 mr-1"}),O?.operation==="install"&&O?.plugin_id===D.id?"安装中...":"安装"]})]})})]},D.id))}),i.jsx(sr,{open:t!==null,onOpenChange:V,children:t&&t.manifest&&i.jsxs(Kn,{className:"max-w-2xl max-h-[80vh] overflow-y-auto",children:[i.jsx(Xn,{children:i.jsxs("div",{className:"flex items-start justify-between gap-4",children:[i.jsxs("div",{className:"space-y-2 flex-1",children:[i.jsx(Zn,{className:"text-2xl",children:t.manifest.name}),i.jsxs(vr,{children:["作者: ",t.manifest.author?.name||"Unknown",t.manifest.author?.url&&i.jsx("a",{href:t.manifest.author.url,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-primary hover:underline",children:i.jsx(Mf,{className:"h-3 w-3 inline"})})]})]}),i.jsxs("div",{className:"flex flex-col gap-2",children:[t.manifest.categories&&t.manifest.categories[0]&&i.jsx(Ft,{variant:"secondary",children:XL[t.manifest.categories[0]]||t.manifest.categories[0]}),R(t)]})]})}),i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-4",children:[i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"版本"}),i.jsxs("p",{className:"text-sm text-muted-foreground",children:["v",t.manifest?.version||"unknown"]}),t.installed&&t.installed_version&&i.jsxs("p",{className:"text-xs text-muted-foreground",children:["已安装: v",t.installed_version]})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"下载量"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:t.downloads.toLocaleString()})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"评分"}),i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx(tL,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),i.jsxs("span",{className:"text-sm text-muted-foreground",children:[t.rating.toFixed(1)," (",t.review_count,")"]})]})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"许可证"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:t.manifest.license||"Unknown"})]}),i.jsxs("div",{className:"col-span-2",children:[i.jsx("p",{className:"text-sm font-medium",children:"支持版本"}),i.jsxs("p",{className:"text-sm text-muted-foreground",children:[t.manifest.host_application?.min_version||"未知",t.manifest.host_application?.max_version?` - ${t.manifest.host_application.max_version}`:" - 最新版本"]})]})]}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium mb-2",children:"关键词"}),i.jsx("div",{className:"flex flex-wrap gap-2",children:t.manifest.keywords&&t.manifest.keywords.map(D=>i.jsx(Ft,{variant:"outline",children:D},D))})]}),t.detailed_description&&i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium mb-2",children:"详细说明"}),i.jsx("p",{className:"text-sm text-muted-foreground whitespace-pre-line",children:t.detailed_description})]}),!t.detailed_description&&i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium mb-2",children:"说明"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:t.manifest.description||"无描述"})]}),i.jsxs("div",{className:"space-y-2",children:[t.manifest.homepage_url&&i.jsxs("div",{className:"text-sm",children:[i.jsx("span",{className:"font-medium",children:"主页: "}),i.jsx("a",{href:t.manifest.homepage_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:t.manifest.homepage_url})]}),t.manifest.repository_url&&i.jsxs("div",{className:"text-sm",children:[i.jsx("span",{className:"font-medium",children:"仓库: "}),i.jsx("a",{href:t.manifest.repository_url,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline",children:t.manifest.repository_url})]})]})]}),i.jsxs(Br,{children:[t.manifest.homepage_url&&i.jsxs(oe,{onClick:()=>window.open(t.manifest.homepage_url,"_blank"),children:[i.jsx(Mf,{className:"h-4 w-4 mr-2"}),"访问主页"]}),t.manifest.repository_url&&i.jsxs(oe,{variant:"outline",onClick:()=>window.open(t.manifest.repository_url,"_blank"),children:[i.jsx(Mf,{className:"h-4 w-4 mr-2"}),"查看仓库"]})]})]})})]})})}function LCe(){return i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-4 sm:space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"插件配置"}),i.jsx("p",{className:"text-muted-foreground mt-1 sm:mt-2 text-sm sm:text-base",children:"管理和配置已安装的插件"})]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsxs(oe,{variant:"outline",size:"sm",children:[i.jsx(is,{className:"h-4 w-4 mr-2"}),"刷新"]}),i.jsxs(oe,{size:"sm",children:[i.jsx(Fa,{className:"h-4 w-4 mr-2"}),"全局设置"]})]})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 xs:grid-cols-2 lg:grid-cols-4",children:[i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"已安装插件"}),i.jsx(Tg,{className:"h-4 w-4 text-muted-foreground"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"正在加载..."})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"已启用"}),i.jsx(Pr,{className:"h-4 w-4 text-green-600"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"运行中的插件"})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"已禁用"}),i.jsx(gl,{className:"h-4 w-4 text-orange-600"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"未激活的插件"})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[i.jsx(vt,{className:"text-sm font-medium",children:"可更新"}),i.jsx(is,{className:"h-4 w-4 text-blue-600"})]}),i.jsxs(Ct,{children:[i.jsx("div",{className:"text-2xl font-bold",children:"0"}),i.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"有新版本可用"})]})]})]}),i.jsxs(Xe,{children:[i.jsxs(pt,{children:[i.jsx(vt,{children:"已安装的插件"}),i.jsx(Wn,{children:"查看和管理已安装插件的配置"})]}),i.jsx(Ct,{children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-12 space-y-4",children:[i.jsx(Tg,{className:"h-16 w-16 text-muted-foreground/50"}),i.jsxs("div",{className:"text-center space-y-2",children:[i.jsx("p",{className:"text-lg font-medium text-muted-foreground",children:"插件配置功能开发中"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"即将支持插件的启用/禁用、参数配置等功能"})]}),i.jsx("div",{className:"flex gap-2",children:i.jsx(oe,{variant:"outline",asChild:!0,children:i.jsxs("a",{href:"/plugins",children:[i.jsx(Mf,{className:"h-4 w-4 mr-2"}),"前往插件市场"]})})})]})})]}),i.jsxs("div",{className:"grid gap-4 grid-cols-1 lg:grid-cols-2",children:[i.jsxs(Xe,{children:[i.jsx(pt,{children:i.jsx(vt,{className:"text-base",children:"即将推出的功能"})}),i.jsx(Ct,{children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Pr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"插件启用/禁用"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"快速切换插件运行状态"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Pr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"配置参数编辑"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"可视化编辑插件配置文件"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Pr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"依赖管理"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"查看和安装插件依赖包"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-primary/10 p-1 mt-0.5",children:i.jsx(Pr,{className:"h-4 w-4 text-primary"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"插件日志"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"查看插件运行日志和错误信息"})]})]})]})})]}),i.jsxs(Xe,{children:[i.jsx(pt,{children:i.jsx(vt,{className:"text-base",children:"开发者工具"})}),i.jsx(Ct,{children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Fa,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"热重载"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"无需重启即可重新加载插件"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Fa,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"配置验证"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"检查配置文件格式和完整性"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Fa,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"性能监控"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"监控插件的资源占用情况"})]})]}),i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx("div",{className:"rounded-full bg-blue-500/10 p-1 mt-0.5",children:i.jsx(Fa,{className:"h-4 w-4 text-blue-600"})}),i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium",children:"调试模式"}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"详细的调试信息和错误追踪"})]})]})]})})]})]}),i.jsx(Xe,{className:"border-blue-200 bg-blue-50 dark:bg-blue-950/20 dark:border-blue-900",children:i.jsx(Ct,{className:"pt-6",children:i.jsxs("div",{className:"flex items-start gap-3",children:[i.jsx(gl,{className:"h-5 w-5 text-blue-600 mt-0.5 flex-shrink-0"}),i.jsxs("div",{className:"space-y-1",children:[i.jsx("p",{className:"text-sm font-medium text-blue-900 dark:text-blue-100",children:"开发进行中"}),i.jsxs("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:["插件配置功能正在积极开发中。目前您可以通过",i.jsx("strong",{children:"插件市场"}),"安装和卸载插件,完整的配置管理功能即将推出。"]})]})]})})})]})})}function BCe(){const e=la(),{toast:t}=yr(),[n,r]=y.useState([]),[a,s]=y.useState(!0),[l,u]=y.useState(null),[d,f]=y.useState(null),[m,p]=y.useState(!1),[g,x]=y.useState(!1),[j,w]=y.useState({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),b=y.useCallback(async()=>{try{s(!0),u(null);const T=localStorage.getItem("access-token"),M=await fetch("/api/webui/plugins/mirrors",{headers:{Authorization:`Bearer ${T}`}});if(!M.ok)throw new Error("获取镜像源列表失败");const R=await M.json();r(R.mirrors||[])}catch(T){const M=T instanceof Error?T.message:"加载镜像源失败";u(M),t({title:"加载失败",description:M,variant:"destructive"})}finally{s(!1)}},[t]);y.useEffect(()=>{b()},[b]);const N=async()=>{try{const T=localStorage.getItem("access-token"),M=await fetch("/api/webui/plugins/mirrors",{method:"POST",headers:{Authorization:`Bearer ${T}`,"Content-Type":"application/json"},body:JSON.stringify(j)});if(!M.ok){const R=await M.json();throw new Error(R.detail||"添加镜像源失败")}t({title:"添加成功",description:"镜像源已添加"}),p(!1),w({id:"",name:"",raw_prefix:"",clone_prefix:"",enabled:!0,priority:1}),b()}catch(T){t({title:"添加失败",description:T instanceof Error?T.message:"未知错误",variant:"destructive"})}},E=async()=>{if(d)try{const T=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${d.id}`,{method:"PUT",headers:{Authorization:`Bearer ${T}`,"Content-Type":"application/json"},body:JSON.stringify({name:j.name,raw_prefix:j.raw_prefix,clone_prefix:j.clone_prefix,enabled:j.enabled,priority:j.priority})})).ok)throw new Error("更新镜像源失败");t({title:"更新成功",description:"镜像源已更新"}),x(!1),f(null),b()}catch(T){t({title:"更新失败",description:T instanceof Error?T.message:"未知错误",variant:"destructive"})}},O=async T=>{if(confirm("确定要删除这个镜像源吗?"))try{const M=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${T}`,{method:"DELETE",headers:{Authorization:`Bearer ${M}`}})).ok)throw new Error("删除镜像源失败");t({title:"删除成功",description:"镜像源已删除"}),b()}catch(M){t({title:"删除失败",description:M instanceof Error?M.message:"未知错误",variant:"destructive"})}},A=async T=>{try{const M=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${T.id}`,{method:"PUT",headers:{Authorization:`Bearer ${M}`,"Content-Type":"application/json"},body:JSON.stringify({enabled:!T.enabled})})).ok)throw new Error("更新状态失败");b()}catch(M){t({title:"更新失败",description:M instanceof Error?M.message:"未知错误",variant:"destructive"})}},C=T=>{f(T),w({id:T.id,name:T.name,raw_prefix:T.raw_prefix,clone_prefix:T.clone_prefix,enabled:T.enabled,priority:T.priority}),x(!0)},k=async(T,M)=>{const R=M==="up"?T.priority-1:T.priority+1;if(!(R<1))try{const B=localStorage.getItem("access-token");if(!(await fetch(`/api/webui/plugins/mirrors/${T.id}`,{method:"PUT",headers:{Authorization:`Bearer ${B}`,"Content-Type":"application/json"},body:JSON.stringify({priority:R})})).ok)throw new Error("更新优先级失败");b()}catch(B){t({title:"更新失败",description:B instanceof Error?B.message:"未知错误",variant:"destructive"})}};return i.jsx(Wt,{className:"h-full",children:i.jsxs("div",{className:"space-y-6 p-4 sm:p-6",children:[i.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[i.jsxs("div",{className:"flex items-center gap-4",children:[i.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>e({to:"/plugins"}),children:i.jsx(fF,{className:"h-5 w-5"})}),i.jsxs("div",{children:[i.jsx("h1",{className:"text-2xl sm:text-3xl font-bold",children:"镜像源配置"}),i.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"管理 Git 克隆和文件下载的镜像源"})]})]}),i.jsxs(oe,{onClick:()=>p(!0),children:[i.jsx(ir,{className:"h-4 w-4 mr-2"}),"添加镜像源"]})]}),a?i.jsx(Xe,{className:"p-6",children:i.jsx("div",{className:"flex items-center justify-center py-8",children:i.jsx(gh,{className:"h-8 w-8 animate-spin text-primary"})})}):l?i.jsx(Xe,{className:"p-6",children:i.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[i.jsx(Kc,{className:"h-12 w-12 text-destructive mb-4"}),i.jsx("h3",{className:"text-lg font-semibold mb-2",children:"加载失败"}),i.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:l}),i.jsx(oe,{onClick:b,children:"重新加载"})]})}):i.jsxs(Xe,{children:[i.jsx("div",{className:"hidden md:block",children:i.jsxs(kl,{children:[i.jsx(Ml,{children:i.jsxs(An,{children:[i.jsx(nt,{children:"状态"}),i.jsx(nt,{children:"名称"}),i.jsx(nt,{children:"ID"}),i.jsx(nt,{children:"优先级"}),i.jsx(nt,{className:"text-right",children:"操作"})]})}),i.jsx(Pl,{children:n.map(T=>i.jsxs(An,{children:[i.jsx(Ge,{children:i.jsx(lt,{checked:T.enabled,onCheckedChange:()=>A(T)})}),i.jsx(Ge,{children:i.jsxs("div",{children:[i.jsx("div",{className:"font-medium",children:T.name}),i.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:["Raw: ",T.raw_prefix]})]})}),i.jsx(Ge,{children:i.jsx(Ft,{variant:"outline",children:T.id})}),i.jsx(Ge,{children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"font-mono",children:T.priority}),i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsx(oe,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>k(T,"up"),disabled:T.priority===1,children:i.jsx(XN,{className:"h-3 w-3"})}),i.jsx(oe,{variant:"ghost",size:"icon",className:"h-5 w-5",onClick:()=>k(T,"down"),children:i.jsx(vh,{className:"h-3 w-3"})})]})]})}),i.jsx(Ge,{className:"text-right",children:i.jsxs("div",{className:"flex items-center justify-end gap-2",children:[i.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>C(T),children:i.jsx(Pu,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"ghost",size:"icon",onClick:()=>O(T.id),children:i.jsx(It,{className:"h-4 w-4 text-destructive"})})]})})]},T.id))})]})}),i.jsx("div",{className:"md:hidden p-4 space-y-4",children:n.map(T=>i.jsx(Xe,{className:"p-4",children:i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{className:"flex items-start justify-between",children:[i.jsxs("div",{className:"flex-1",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("h3",{className:"font-semibold",children:T.name}),T.enabled&&i.jsx(Ft,{variant:"default",className:"text-xs",children:"启用"})]}),i.jsx(Ft,{variant:"outline",className:"mt-1 text-xs",children:T.id})]}),i.jsx(lt,{checked:T.enabled,onCheckedChange:()=>A(T)})]}),i.jsxs("div",{className:"text-sm space-y-1",children:[i.jsxs("div",{className:"text-muted-foreground",children:[i.jsx("span",{className:"font-medium",children:"Raw: "}),i.jsx("span",{className:"break-all",children:T.raw_prefix})]}),i.jsxs("div",{className:"text-muted-foreground",children:[i.jsx("span",{className:"font-medium",children:"优先级: "}),i.jsx("span",{className:"font-mono",children:T.priority})]})]}),i.jsxs("div",{className:"flex items-center gap-2 pt-2 border-t",children:[i.jsxs(oe,{variant:"outline",size:"sm",className:"flex-1",onClick:()=>C(T),children:[i.jsx(Pu,{className:"h-4 w-4 mr-1"}),"编辑"]}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>k(T,"up"),disabled:T.priority===1,children:i.jsx(XN,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"outline",size:"sm",onClick:()=>k(T,"down"),children:i.jsx(vh,{className:"h-4 w-4"})}),i.jsx(oe,{variant:"destructive",size:"sm",onClick:()=>O(T.id),children:i.jsx(It,{className:"h-4 w-4"})})]})]})},T.id))})]}),i.jsx(sr,{open:m,onOpenChange:p,children:i.jsxs(Kn,{className:"max-w-lg",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"添加镜像源"}),i.jsx(vr,{children:"添加新的 Git 镜像源配置"})]}),i.jsxs("div",{className:"space-y-4 py-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"add-id",children:"镜像源 ID *"}),i.jsx(Ne,{id:"add-id",placeholder:"例如: my-mirror",value:j.id,onChange:T=>w({...j,id:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"add-name",children:"名称 *"}),i.jsx(Ne,{id:"add-name",placeholder:"例如: 我的镜像源",value:j.name,onChange:T=>w({...j,name:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"add-raw",children:"Raw 文件前缀 *"}),i.jsx(Ne,{id:"add-raw",placeholder:"https://example.com/raw",value:j.raw_prefix,onChange:T=>w({...j,raw_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"add-clone",children:"克隆前缀 *"}),i.jsx(Ne,{id:"add-clone",placeholder:"https://example.com/clone",value:j.clone_prefix,onChange:T=>w({...j,clone_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"add-priority",children:"优先级"}),i.jsx(Ne,{id:"add-priority",type:"number",min:"1",value:j.priority,onChange:T=>w({...j,priority:parseInt(T.target.value)||1})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"add-enabled",checked:j.enabled,onCheckedChange:T=>w({...j,enabled:T})}),i.jsx(Q,{htmlFor:"add-enabled",children:"启用此镜像源"})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>p(!1),children:"取消"}),i.jsx(oe,{onClick:N,children:"添加"})]})]})}),i.jsx(sr,{open:g,onOpenChange:x,children:i.jsxs(Kn,{className:"max-w-lg",children:[i.jsxs(Xn,{children:[i.jsx(Zn,{children:"编辑镜像源"}),i.jsx(vr,{children:"修改镜像源配置"})]}),i.jsxs("div",{className:"space-y-4 py-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{children:"镜像源 ID"}),i.jsx(Ne,{value:j.id,disabled:!0})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit-name",children:"名称 *"}),i.jsx(Ne,{id:"edit-name",value:j.name,onChange:T=>w({...j,name:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit-raw",children:"Raw 文件前缀 *"}),i.jsx(Ne,{id:"edit-raw",value:j.raw_prefix,onChange:T=>w({...j,raw_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit-clone",children:"克隆前缀 *"}),i.jsx(Ne,{id:"edit-clone",value:j.clone_prefix,onChange:T=>w({...j,clone_prefix:T.target.value})})]}),i.jsxs("div",{className:"space-y-2",children:[i.jsx(Q,{htmlFor:"edit-priority",children:"优先级"}),i.jsx(Ne,{id:"edit-priority",type:"number",min:"1",value:j.priority,onChange:T=>w({...j,priority:parseInt(T.target.value)||1})}),i.jsx("p",{className:"text-xs text-muted-foreground",children:"数字越小优先级越高"})]}),i.jsxs("div",{className:"flex items-center space-x-2",children:[i.jsx(lt,{id:"edit-enabled",checked:j.enabled,onCheckedChange:T=>w({...j,enabled:T})}),i.jsx(Q,{htmlFor:"edit-enabled",children:"启用此镜像源"})]})]}),i.jsxs(Br,{children:[i.jsx(oe,{variant:"outline",onClick:()=>x(!1),children:"取消"}),i.jsx(oe,{onClick:E,children:"保存"})]})]})})]})})}const zCe=Zu("pointer-events-none inline-flex select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono font-medium opacity-100",{variants:{size:{sm:"h-5 text-[10px]",default:"h-6 text-xs",lg:"h-7 text-sm"}},defaultVariants:{size:"default"}}),r9=y.forwardRef(({className:e,size:t,abbrTitle:n,children:r,...a},s)=>i.jsx("kbd",{className:ce(zCe({size:t,className:e})),ref:s,...a,children:n?i.jsx("abbr",{title:n,children:r}):r}));r9.displayName="Kbd";const qCe=[{icon:Ag,title:"首页",description:"查看仪表板概览",path:"/",category:"概览"},{icon:aE,title:"麦麦主程序配置",description:"配置麦麦的核心设置",path:"/config/bot",category:"配置"},{icon:vF,title:"麦麦模型提供商配置",description:"配置模型提供商",path:"/config/modelProvider",category:"配置"},{icon:hF,title:"麦麦模型配置",description:"配置模型参数",path:"/config/model",category:"配置"},{icon:oE,title:"表情包管理",description:"管理麦麦的表情包",path:"/resource/emoji",category:"资源"},{icon:Gh,title:"表达方式管理",description:"管理麦麦的表达方式",path:"/resource/expression",category:"资源"},{icon:mF,title:"人物信息管理",description:"管理人物信息",path:"/resource/person",category:"资源"},{icon:Eve,title:"统计信息",description:"查看使用统计",path:"/statistics",category:"监控"},{icon:Tg,title:"插件市场",description:"浏览和安装插件",path:"/plugins",category:"扩展"},{icon:Og,title:"日志查看器",description:"查看系统日志",path:"/logs",category:"监控"},{icon:Fa,title:"系统设置",description:"配置系统参数",path:"/settings",category:"系统"}];function FCe({open:e,onOpenChange:t}){const[n,r]=y.useState(""),[a,s]=y.useState(0),l=la(),u=qCe.filter(m=>m.title.toLowerCase().includes(n.toLowerCase())||m.description.toLowerCase().includes(n.toLowerCase())||m.category.toLowerCase().includes(n.toLowerCase()));y.useEffect(()=>{e&&(r(""),s(0))},[e]);const d=y.useCallback(m=>{l({to:m}),t(!1)},[l,t]),f=y.useCallback(m=>{m.key==="ArrowDown"?(m.preventDefault(),s(p=>(p+1)%u.length)):m.key==="ArrowUp"?(m.preventDefault(),s(p=>(p-1+u.length)%u.length)):m.key==="Enter"&&u[a]&&(m.preventDefault(),d(u[a].path))},[u,a,d]);return i.jsx(sr,{open:e,onOpenChange:t,children:i.jsxs(Kn,{className:"max-w-2xl p-0 gap-0",children:[i.jsxs(Xn,{className:"px-4 pt-4 pb-0",children:[i.jsx(Zn,{className:"sr-only",children:"搜索"}),i.jsxs("div",{className:"relative",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 h-5 w-5 -translate-y-1/2 text-muted-foreground"}),i.jsx(Ne,{value:n,onChange:m=>{r(m.target.value),s(0)},onKeyDown:f,placeholder:"搜索页面...",className:"h-12 pl-11 text-base border-0 focus-visible:ring-0 shadow-none",autoFocus:!0})]})]}),i.jsx("div",{className:"border-t",children:i.jsx(Wt,{className:"h-[400px]",children:u.length>0?i.jsx("div",{className:"p-2",children:u.map((m,p)=>{const g=m.icon;return i.jsxs("button",{onClick:()=>d(m.path),onMouseEnter:()=>s(p),className:ce("w-full flex items-center gap-3 px-3 py-2.5 rounded-md text-left transition-colors",p===a?"bg-accent text-accent-foreground":"hover:bg-accent/50"),children:[i.jsx(g,{className:"h-5 w-5 flex-shrink-0"}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"font-medium text-sm",children:m.title}),i.jsx("div",{className:"text-xs text-muted-foreground truncate",children:m.description})]}),i.jsx("div",{className:"text-xs text-muted-foreground px-2 py-1 bg-muted rounded",children:m.category})]},m.path)})}):i.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[i.jsx(Lr,{className:"h-12 w-12 text-muted-foreground/50 mb-4"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:n?"未找到匹配的页面":"输入关键词开始搜索"})]})})}),i.jsx("div",{className:"border-t px-4 py-3 flex items-center justify-between text-xs text-muted-foreground",children:i.jsxs("div",{className:"flex items-center gap-4",children:[i.jsxs("span",{className:"flex items-center gap-1",children:[i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↑"}),i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"↓"}),"导航"]}),i.jsxs("span",{className:"flex items-center gap-1",children:[i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Enter"}),"选择"]}),i.jsxs("span",{className:"flex items-center gap-1",children:[i.jsx("kbd",{className:"px-1.5 py-0.5 bg-muted rounded border",children:"Esc"}),"关闭"]})]})})]})})}function UCe(e){const t=HCe(e),n=y.forwardRef((r,a)=>{const{children:s,...l}=r,u=y.Children.toArray(s),d=u.find(VCe);if(d){const f=d.props.children,m=u.map(p=>p===d?y.Children.count(f)>1?y.Children.only(null):y.isValidElement(f)?f.props.children:null:p);return i.jsx(t,{...l,ref:a,children:y.isValidElement(f)?y.cloneElement(f,void 0,m):null})}return i.jsx(t,{...l,ref:a,children:s})});return n.displayName=`${e}.Slot`,n}function HCe(e){const t=y.forwardRef((n,r)=>{const{children:a,...s}=n;if(y.isValidElement(a)){const l=YCe(a),u=GCe(s,a.props);return a.type!==y.Fragment&&(u.ref=r?Ir(r,l):l),y.cloneElement(a,u)}return y.Children.count(a)>1?y.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var WCe=Symbol("radix.slottable");function VCe(e){return y.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===WCe}function GCe(e,t){const n={...t};for(const r in t){const a=e[r],s=t[r];/^on[A-Z]/.test(r)?a&&s?n[r]=(...u)=>{const d=s(...u);return a(...u),d}:a&&(n[r]=a):r==="style"?n[r]={...a,...s}:r==="className"&&(n[r]=[a,s].filter(Boolean).join(" "))}return{...e,...n}}function YCe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var jC=["Enter"," "],KCe=["ArrowDown","PageUp","Home"],a9=["ArrowUp","PageDown","End"],XCe=[...KCe,...a9],ZCe={ltr:[...jC,"ArrowRight"],rtl:[...jC,"ArrowLeft"]},QCe={ltr:["ArrowLeft"],rtl:["ArrowRight"]},sm="Menu",[Nh,JCe,eOe]=Ph(sm),[Dl,i9]=gr(sm,[eOe,ho,Yg]),om=ho(),s9=Yg(),[o9,xo]=Dl(sm),[tOe,lm]=Dl(sm),l9=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:a,onOpenChange:s,modal:l=!0}=e,u=om(t),[d,f]=y.useState(null),m=y.useRef(!1),p=ln(s),g=Fu(a);return y.useEffect(()=>{const x=()=>{m.current=!0,document.addEventListener("pointerdown",j,{capture:!0,once:!0}),document.addEventListener("pointermove",j,{capture:!0,once:!0})},j=()=>m.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",j,{capture:!0}),document.removeEventListener("pointermove",j,{capture:!0})}},[]),i.jsx(Qh,{...u,children:i.jsx(o9,{scope:t,open:n,onOpenChange:p,content:d,onContentChange:f,children:i.jsx(tOe,{scope:t,onClose:y.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:m,dir:g,modal:l,children:r})})})};l9.displayName=sm;var nOe="MenuAnchor",LE=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,a=om(n);return i.jsx(Jh,{...a,...r,ref:t})});LE.displayName=nOe;var BE="MenuPortal",[rOe,c9]=Dl(BE,{forceMount:void 0}),u9=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:a}=e,s=xo(BE,t);return i.jsx(rOe,{scope:t,forceMount:n,children:i.jsx(Bn,{present:n||s.open,children:i.jsx(Tl,{asChild:!0,container:a,children:r})})})};u9.displayName=BE;var Oa="MenuContent",[aOe,zE]=Dl(Oa),d9=y.forwardRef((e,t)=>{const n=c9(Oa,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,s=xo(Oa,e.__scopeMenu),l=lm(Oa,e.__scopeMenu);return i.jsx(Nh.Provider,{scope:e.__scopeMenu,children:i.jsx(Bn,{present:r||s.open,children:i.jsx(Nh.Slot,{scope:e.__scopeMenu,children:l.modal?i.jsx(iOe,{...a,ref:t}):i.jsx(sOe,{...a,ref:t})})})})}),iOe=y.forwardRef((e,t)=>{const n=xo(Oa,e.__scopeMenu),r=y.useRef(null),a=Ue(t,r);return y.useEffect(()=>{const s=r.current;if(s)return zy(s)},[]),i.jsx(qE,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:_e(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),sOe=y.forwardRef((e,t)=>{const n=xo(Oa,e.__scopeMenu);return i.jsx(qE,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),oOe=UCe("MenuContent.ScrollLock"),qE=y.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:l,disableOutsidePointerEvents:u,onEntryFocus:d,onEscapeKeyDown:f,onPointerDownOutside:m,onFocusOutside:p,onInteractOutside:g,onDismiss:x,disableOutsideScroll:j,...w}=e,b=xo(Oa,n),N=lm(Oa,n),E=om(n),O=s9(n),A=JCe(n),[C,k]=y.useState(null),T=y.useRef(null),M=Ue(t,T,b.onContentChange),R=y.useRef(0),B=y.useRef(""),$=y.useRef(0),H=y.useRef(null),V=y.useRef("right"),q=y.useRef(0),G=j?Xh:y.Fragment,L=j?{as:oOe,allowPinchZoom:!0}:void 0,D=K=>{const J=B.current+K,I=A().filter(ee=>!ee.disabled),z=document.activeElement,Y=I.find(ee=>ee.ref.current===z)?.textValue,te=I.map(ee=>ee.textValue),ae=xOe(te,J,Y),ge=I.find(ee=>ee.textValue===ae)?.ref.current;(function ee(Se){B.current=Se,window.clearTimeout(R.current),Se!==""&&(R.current=window.setTimeout(()=>ee(""),1e3))})(J),ge&&setTimeout(()=>ge.focus())};y.useEffect(()=>()=>window.clearTimeout(R.current),[]),Ly();const U=y.useCallback(K=>V.current===H.current?.side&&wOe(K,H.current?.area),[]);return i.jsx(aOe,{scope:n,searchRef:B,onItemEnter:y.useCallback(K=>{U(K)&&K.preventDefault()},[U]),onItemLeave:y.useCallback(K=>{U(K)||(T.current?.focus(),k(null))},[U]),onTriggerLeave:y.useCallback(K=>{U(K)&&K.preventDefault()},[U]),pointerGraceTimerRef:$,onPointerGraceIntentChange:y.useCallback(K=>{H.current=K},[]),children:i.jsx(G,{...L,children:i.jsx(Kh,{asChild:!0,trapped:a,onMountAutoFocus:_e(s,K=>{K.preventDefault(),T.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:l,children:i.jsx(Al,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:f,onPointerDownOutside:m,onFocusOutside:p,onInteractOutside:g,onDismiss:x,children:i.jsx(sB,{asChild:!0,...O,dir:N.dir,orientation:"vertical",loop:r,currentTabStopId:C,onCurrentTabStopIdChange:k,onEntryFocus:_e(d,K=>{N.isUsingKeyboardRef.current||K.preventDefault()}),preventScrollOnEntryFocus:!0,children:i.jsx(Xy,{role:"menu","aria-orientation":"vertical","data-state":E9(b.open),"data-radix-menu-content":"",dir:N.dir,...E,...w,ref:M,style:{outline:"none",...w.style},onKeyDown:_e(w.onKeyDown,K=>{const I=K.target.closest("[data-radix-menu-content]")===K.currentTarget,z=K.ctrlKey||K.altKey||K.metaKey,Y=K.key.length===1;I&&(K.key==="Tab"&&K.preventDefault(),!z&&Y&&D(K.key));const te=T.current;if(K.target!==te||!XCe.includes(K.key))return;K.preventDefault();const ge=A().filter(ee=>!ee.disabled).map(ee=>ee.ref.current);a9.includes(K.key)&&ge.reverse(),gOe(ge)}),onBlur:_e(e.onBlur,K=>{K.currentTarget.contains(K.target)||(window.clearTimeout(R.current),B.current="")}),onPointerMove:_e(e.onPointerMove,Ch(K=>{const J=K.target,I=q.current!==K.clientX;if(K.currentTarget.contains(J)&&I){const z=K.clientX>q.current?"right":"left";V.current=z,q.current=K.clientX}}))})})})})})})});d9.displayName=Oa;var lOe="MenuGroup",FE=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx($e.div,{role:"group",...r,ref:t})});FE.displayName=lOe;var cOe="MenuLabel",f9=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx($e.div,{...r,ref:t})});f9.displayName=cOe;var Lg="MenuItem",ZL="menu.itemSelect",lx=y.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...a}=e,s=y.useRef(null),l=lm(Lg,e.__scopeMenu),u=zE(Lg,e.__scopeMenu),d=Ue(t,s),f=y.useRef(!1),m=()=>{const p=s.current;if(!n&&p){const g=new CustomEvent(ZL,{bubbles:!0,cancelable:!0});p.addEventListener(ZL,x=>r?.(x),{once:!0}),HC(p,g),g.defaultPrevented?f.current=!1:l.onClose()}};return i.jsx(h9,{...a,ref:d,disabled:n,onClick:_e(e.onClick,m),onPointerDown:p=>{e.onPointerDown?.(p),f.current=!0},onPointerUp:_e(e.onPointerUp,p=>{f.current||p.currentTarget?.click()}),onKeyDown:_e(e.onKeyDown,p=>{const g=u.searchRef.current!=="";n||g&&p.key===" "||jC.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});lx.displayName=Lg;var h9=y.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:a,...s}=e,l=zE(Lg,n),u=s9(n),d=y.useRef(null),f=Ue(t,d),[m,p]=y.useState(!1),[g,x]=y.useState("");return y.useEffect(()=>{const j=d.current;j&&x((j.textContent??"").trim())},[s.children]),i.jsx(Nh.ItemSlot,{scope:n,disabled:r,textValue:a??g,children:i.jsx(oB,{asChild:!0,...u,focusable:!r,children:i.jsx($e.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:f,onPointerMove:_e(e.onPointerMove,Ch(j=>{r?l.onItemLeave(j):(l.onItemEnter(j),j.defaultPrevented||j.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:_e(e.onPointerLeave,Ch(j=>l.onItemLeave(j))),onFocus:_e(e.onFocus,()=>p(!0)),onBlur:_e(e.onBlur,()=>p(!1))})})})}),uOe="MenuCheckboxItem",m9=y.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...a}=e;return i.jsx(x9,{scope:e.__scopeMenu,checked:n,children:i.jsx(lx,{role:"menuitemcheckbox","aria-checked":Bg(n)?"mixed":n,...a,ref:t,"data-state":WE(n),onSelect:_e(a.onSelect,()=>r?.(Bg(n)?!0:!n),{checkForDefaultPrevented:!1})})})});m9.displayName=uOe;var p9="MenuRadioGroup",[dOe,fOe]=Dl(p9,{value:void 0,onValueChange:()=>{}}),v9=y.forwardRef((e,t)=>{const{value:n,onValueChange:r,...a}=e,s=ln(r);return i.jsx(dOe,{scope:e.__scopeMenu,value:n,onValueChange:s,children:i.jsx(FE,{...a,ref:t})})});v9.displayName=p9;var g9="MenuRadioItem",y9=y.forwardRef((e,t)=>{const{value:n,...r}=e,a=fOe(g9,e.__scopeMenu),s=n===a.value;return i.jsx(x9,{scope:e.__scopeMenu,checked:s,children:i.jsx(lx,{role:"menuitemradio","aria-checked":s,...r,ref:t,"data-state":WE(s),onSelect:_e(r.onSelect,()=>a.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});y9.displayName=g9;var UE="MenuItemIndicator",[x9,hOe]=Dl(UE,{checked:!1}),b9=y.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...a}=e,s=hOe(UE,n);return i.jsx(Bn,{present:r||Bg(s.checked)||s.checked===!0,children:i.jsx($e.span,{...a,ref:t,"data-state":WE(s.checked)})})});b9.displayName=UE;var mOe="MenuSeparator",w9=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return i.jsx($e.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});w9.displayName=mOe;var pOe="MenuArrow",j9=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,a=om(n);return i.jsx(Zy,{...a,...r,ref:t})});j9.displayName=pOe;var HE="MenuSub",[vOe,S9]=Dl(HE),_9=e=>{const{__scopeMenu:t,children:n,open:r=!1,onOpenChange:a}=e,s=xo(HE,t),l=om(t),[u,d]=y.useState(null),[f,m]=y.useState(null),p=ln(a);return y.useEffect(()=>(s.open===!1&&p(!1),()=>p(!1)),[s.open,p]),i.jsx(Qh,{...l,children:i.jsx(o9,{scope:t,open:r,onOpenChange:p,content:f,onContentChange:m,children:i.jsx(vOe,{scope:t,contentId:Gn(),triggerId:Gn(),trigger:u,onTriggerChange:d,children:n})})})};_9.displayName=HE;var bf="MenuSubTrigger",N9=y.forwardRef((e,t)=>{const n=xo(bf,e.__scopeMenu),r=lm(bf,e.__scopeMenu),a=S9(bf,e.__scopeMenu),s=zE(bf,e.__scopeMenu),l=y.useRef(null),{pointerGraceTimerRef:u,onPointerGraceIntentChange:d}=s,f={__scopeMenu:e.__scopeMenu},m=y.useCallback(()=>{l.current&&window.clearTimeout(l.current),l.current=null},[]);return y.useEffect(()=>m,[m]),y.useEffect(()=>{const p=u.current;return()=>{window.clearTimeout(p),d(null)}},[u,d]),i.jsx(LE,{asChild:!0,...f,children:i.jsx(h9,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":a.contentId,"data-state":E9(n.open),...e,ref:Ir(t,a.onTriggerChange),onClick:p=>{e.onClick?.(p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:_e(e.onPointerMove,Ch(p=>{s.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!n.open&&!l.current&&(s.onPointerGraceIntentChange(null),l.current=window.setTimeout(()=>{n.onOpenChange(!0),m()},100))})),onPointerLeave:_e(e.onPointerLeave,Ch(p=>{m();const g=n.content?.getBoundingClientRect();if(g){const x=n.content?.dataset.side,j=x==="right",w=j?-5:5,b=g[j?"left":"right"],N=g[j?"right":"left"];s.onPointerGraceIntentChange({area:[{x:p.clientX+w,y:p.clientY},{x:b,y:g.top},{x:N,y:g.top},{x:N,y:g.bottom},{x:b,y:g.bottom}],side:x}),window.clearTimeout(u.current),u.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(p),p.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:_e(e.onKeyDown,p=>{const g=s.searchRef.current!=="";e.disabled||g&&p.key===" "||ZCe[r.dir].includes(p.key)&&(n.onOpenChange(!0),n.content?.focus(),p.preventDefault())})})})});N9.displayName=bf;var C9="MenuSubContent",O9=y.forwardRef((e,t)=>{const n=c9(Oa,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,s=xo(Oa,e.__scopeMenu),l=lm(Oa,e.__scopeMenu),u=S9(C9,e.__scopeMenu),d=y.useRef(null),f=Ue(t,d);return i.jsx(Nh.Provider,{scope:e.__scopeMenu,children:i.jsx(Bn,{present:r||s.open,children:i.jsx(Nh.Slot,{scope:e.__scopeMenu,children:i.jsx(qE,{id:u.contentId,"aria-labelledby":u.triggerId,...a,ref:f,align:"start",side:l.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:m=>{l.isUsingKeyboardRef.current&&d.current?.focus(),m.preventDefault()},onCloseAutoFocus:m=>m.preventDefault(),onFocusOutside:_e(e.onFocusOutside,m=>{m.target!==u.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:_e(e.onEscapeKeyDown,m=>{l.onClose(),m.preventDefault()}),onKeyDown:_e(e.onKeyDown,m=>{const p=m.currentTarget.contains(m.target),g=QCe[l.dir].includes(m.key);p&&g&&(s.onOpenChange(!1),u.trigger?.focus(),m.preventDefault())})})})})})});O9.displayName=C9;function E9(e){return e?"open":"closed"}function Bg(e){return e==="indeterminate"}function WE(e){return Bg(e)?"indeterminate":e?"checked":"unchecked"}function gOe(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function yOe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function xOe(e,t,n){const a=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let l=yOe(e,Math.max(s,0));a.length===1&&(l=l.filter(f=>f!==n));const d=l.find(f=>f.toLowerCase().startsWith(a.toLowerCase()));return d!==n?d:void 0}function bOe(e,t){const{x:n,y:r}=e;let a=!1;for(let s=0,l=t.length-1;sr!=g>r&&n<(p-f)*(r-m)/(g-m)+f&&(a=!a)}return a}function wOe(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return bOe(n,t)}function Ch(e){return t=>t.pointerType==="mouse"?e(t):void 0}var jOe=l9,SOe=LE,_Oe=u9,NOe=d9,COe=FE,OOe=f9,EOe=lx,AOe=m9,TOe=v9,kOe=y9,MOe=b9,POe=w9,ROe=j9,DOe=_9,$Oe=N9,IOe=O9,VE="ContextMenu",[LOe]=gr(VE,[i9]),xr=i9(),[BOe,A9]=LOe(VE),T9=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,dir:a,modal:s=!0}=e,[l,u]=y.useState(!1),d=xr(t),f=ln(r),m=y.useCallback(p=>{u(p),f(p)},[f]);return i.jsx(BOe,{scope:t,open:l,onOpenChange:m,modal:s,children:i.jsx(jOe,{...d,dir:a,open:l,onOpenChange:m,modal:s,children:n})})};T9.displayName=VE;var k9="ContextMenuTrigger",M9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,disabled:r=!1,...a}=e,s=A9(k9,n),l=xr(n),u=y.useRef({x:0,y:0}),d=y.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...u.current})}),f=y.useRef(0),m=y.useCallback(()=>window.clearTimeout(f.current),[]),p=g=>{u.current={x:g.clientX,y:g.clientY},s.onOpenChange(!0)};return y.useEffect(()=>m,[m]),y.useEffect(()=>void(r&&m()),[r,m]),i.jsxs(i.Fragment,{children:[i.jsx(SOe,{...l,virtualRef:d}),i.jsx($e.span,{"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,...a,ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:r?e.onContextMenu:_e(e.onContextMenu,g=>{m(),p(g),g.preventDefault()}),onPointerDown:r?e.onPointerDown:_e(e.onPointerDown,nv(g=>{m(),f.current=window.setTimeout(()=>p(g),700)})),onPointerMove:r?e.onPointerMove:_e(e.onPointerMove,nv(m)),onPointerCancel:r?e.onPointerCancel:_e(e.onPointerCancel,nv(m)),onPointerUp:r?e.onPointerUp:_e(e.onPointerUp,nv(m))})]})});M9.displayName=k9;var zOe="ContextMenuPortal",P9=e=>{const{__scopeContextMenu:t,...n}=e,r=xr(t);return i.jsx(_Oe,{...r,...n})};P9.displayName=zOe;var R9="ContextMenuContent",D9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=A9(R9,n),s=xr(n),l=y.useRef(!1);return i.jsx(NOe,{...s,...r,ref:t,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:u=>{e.onCloseAutoFocus?.(u),!u.defaultPrevented&&l.current&&u.preventDefault(),l.current=!1},onInteractOutside:u=>{e.onInteractOutside?.(u),!u.defaultPrevented&&!a.modal&&(l.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});D9.displayName=R9;var qOe="ContextMenuGroup",FOe=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(COe,{...a,...r,ref:t})});FOe.displayName=qOe;var UOe="ContextMenuLabel",$9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(OOe,{...a,...r,ref:t})});$9.displayName=UOe;var HOe="ContextMenuItem",I9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(EOe,{...a,...r,ref:t})});I9.displayName=HOe;var WOe="ContextMenuCheckboxItem",L9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(AOe,{...a,...r,ref:t})});L9.displayName=WOe;var VOe="ContextMenuRadioGroup",GOe=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(TOe,{...a,...r,ref:t})});GOe.displayName=VOe;var YOe="ContextMenuRadioItem",B9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(kOe,{...a,...r,ref:t})});B9.displayName=YOe;var KOe="ContextMenuItemIndicator",z9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(MOe,{...a,...r,ref:t})});z9.displayName=KOe;var XOe="ContextMenuSeparator",q9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(POe,{...a,...r,ref:t})});q9.displayName=XOe;var ZOe="ContextMenuArrow",QOe=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(ROe,{...a,...r,ref:t})});QOe.displayName=ZOe;var F9="ContextMenuSub",U9=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,open:a,defaultOpen:s}=e,l=xr(t),[u,d]=Ea({prop:a,defaultProp:s??!1,onChange:r,caller:F9});return i.jsx(DOe,{...l,open:u,onOpenChange:d,children:n})};U9.displayName=F9;var JOe="ContextMenuSubTrigger",H9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx($Oe,{...a,...r,ref:t})});H9.displayName=JOe;var eEe="ContextMenuSubContent",W9=y.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,a=xr(n);return i.jsx(IOe,{...a,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});W9.displayName=eEe;function nv(e){return t=>t.pointerType!=="mouse"?e(t):void 0}var tEe=T9,nEe=M9,rEe=P9,V9=D9,G9=$9,Y9=I9,K9=L9,X9=B9,Z9=z9,Q9=q9,aEe=U9,J9=H9,eW=W9;const iEe=tEe,sEe=nEe,oEe=aEe,tW=y.forwardRef(({className:e,inset:t,children:n,...r},a)=>i.jsxs(J9,{ref:a,className:ce("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",t&&"pl-8",e),...r,children:[n,i.jsx(rE,{className:"ml-auto h-4 w-4"})]}));tW.displayName=J9.displayName;const nW=y.forwardRef(({className:e,...t},n)=>i.jsx(eW,{ref:n,className:ce("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",e),...t}));nW.displayName=eW.displayName;const rW=y.forwardRef(({className:e,...t},n)=>i.jsx(rEe,{children:i.jsx(V9,{ref:n,className:ce("z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",e),...t})}));rW.displayName=V9.displayName;const Ia=y.forwardRef(({className:e,inset:t,...n},r)=>i.jsx(Y9,{ref:r,className:ce("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...n}));Ia.displayName=Y9.displayName;const lEe=y.forwardRef(({className:e,children:t,checked:n,...r},a)=>i.jsxs(K9,{ref:a,className:ce("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...r,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Z9,{children:i.jsx(ol,{className:"h-4 w-4"})})}),t]}));lEe.displayName=K9.displayName;const cEe=y.forwardRef(({className:e,children:t,...n},r)=>i.jsxs(X9,{ref:r,className:ce("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[i.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:i.jsx(Z9,{children:i.jsx(Uve,{className:"h-2 w-2 fill-current"})})}),t]}));cEe.displayName=X9.displayName;const uEe=y.forwardRef(({className:e,inset:t,...n},r)=>i.jsx(G9,{ref:r,className:ce("px-2 py-1.5 text-sm font-semibold text-foreground",t&&"pl-8",e),...n}));uEe.displayName=G9.displayName;const wf=y.forwardRef(({className:e,...t},n)=>i.jsx(Q9,{ref:n,className:ce("-mx-1 my-1 h-px bg-border",e),...t}));wf.displayName=Q9.displayName;const zc=({className:e,...t})=>i.jsx("span",{className:ce("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});zc.displayName="ContextMenuShortcut";var dEe=Symbol("radix.slottable");function fEe(e){const t=({children:n})=>i.jsx(i.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=dEe,t}var[cx]=gr("Tooltip",[ho]),ux=ho(),aW="TooltipProvider",hEe=700,SC="tooltip.open",[mEe,GE]=cx(aW),iW=e=>{const{__scopeTooltip:t,delayDuration:n=hEe,skipDelayDuration:r=300,disableHoverableContent:a=!1,children:s}=e,l=y.useRef(!0),u=y.useRef(!1),d=y.useRef(0);return y.useEffect(()=>{const f=d.current;return()=>window.clearTimeout(f)},[]),i.jsx(mEe,{scope:t,isOpenDelayedRef:l,delayDuration:n,onOpen:y.useCallback(()=>{window.clearTimeout(d.current),l.current=!1},[]),onClose:y.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.current=!0,r)},[r]),isPointerInTransitRef:u,onPointerInTransitChange:y.useCallback(f=>{u.current=f},[]),disableHoverableContent:a,children:s})};iW.displayName=aW;var Oh="Tooltip",[pEe,cm]=cx(Oh),sW=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:a,onOpenChange:s,disableHoverableContent:l,delayDuration:u}=e,d=GE(Oh,e.__scopeTooltip),f=ux(t),[m,p]=y.useState(null),g=Gn(),x=y.useRef(0),j=l??d.disableHoverableContent,w=u??d.delayDuration,b=y.useRef(!1),[N,E]=Ea({prop:r,defaultProp:a??!1,onChange:T=>{T?(d.onOpen(),document.dispatchEvent(new CustomEvent(SC))):d.onClose(),s?.(T)},caller:Oh}),O=y.useMemo(()=>N?b.current?"delayed-open":"instant-open":"closed",[N]),A=y.useCallback(()=>{window.clearTimeout(x.current),x.current=0,b.current=!1,E(!0)},[E]),C=y.useCallback(()=>{window.clearTimeout(x.current),x.current=0,E(!1)},[E]),k=y.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{b.current=!0,E(!0),x.current=0},w)},[w,E]);return y.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),i.jsx(Qh,{...f,children:i.jsx(pEe,{scope:t,contentId:g,open:N,stateAttribute:O,trigger:m,onTriggerChange:p,onTriggerEnter:y.useCallback(()=>{d.isOpenDelayedRef.current?k():A()},[d.isOpenDelayedRef,k,A]),onTriggerLeave:y.useCallback(()=>{j?C():(window.clearTimeout(x.current),x.current=0)},[C,j]),onOpen:A,onClose:C,disableHoverableContent:j,children:n})})};sW.displayName=Oh;var _C="TooltipTrigger",oW=y.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=cm(_C,n),s=GE(_C,n),l=ux(n),u=y.useRef(null),d=Ue(t,u,a.onTriggerChange),f=y.useRef(!1),m=y.useRef(!1),p=y.useCallback(()=>f.current=!1,[]);return y.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),i.jsx(Jh,{asChild:!0,...l,children:i.jsx($e.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:d,onPointerMove:_e(e.onPointerMove,g=>{g.pointerType!=="touch"&&!m.current&&!s.isPointerInTransitRef.current&&(a.onTriggerEnter(),m.current=!0)}),onPointerLeave:_e(e.onPointerLeave,()=>{a.onTriggerLeave(),m.current=!1}),onPointerDown:_e(e.onPointerDown,()=>{a.open&&a.onClose(),f.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:_e(e.onFocus,()=>{f.current||a.onOpen()}),onBlur:_e(e.onBlur,a.onClose),onClick:_e(e.onClick,a.onClose)})})});oW.displayName=_C;var YE="TooltipPortal",[vEe,gEe]=cx(YE,{forceMount:void 0}),lW=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:a}=e,s=cm(YE,t);return i.jsx(vEe,{scope:t,forceMount:n,children:i.jsx(Bn,{present:n||s.open,children:i.jsx(Tl,{asChild:!0,container:a,children:r})})})};lW.displayName=YE;var Iu="TooltipContent",cW=y.forwardRef((e,t)=>{const n=gEe(Iu,e.__scopeTooltip),{forceMount:r=n.forceMount,side:a="top",...s}=e,l=cm(Iu,e.__scopeTooltip);return i.jsx(Bn,{present:r||l.open,children:l.disableHoverableContent?i.jsx(uW,{side:a,...s,ref:t}):i.jsx(yEe,{side:a,...s,ref:t})})}),yEe=y.forwardRef((e,t)=>{const n=cm(Iu,e.__scopeTooltip),r=GE(Iu,e.__scopeTooltip),a=y.useRef(null),s=Ue(t,a),[l,u]=y.useState(null),{trigger:d,onClose:f}=n,m=a.current,{onPointerInTransitChange:p}=r,g=y.useCallback(()=>{u(null),p(!1)},[p]),x=y.useCallback((j,w)=>{const b=j.currentTarget,N={x:j.clientX,y:j.clientY},E=SEe(N,b.getBoundingClientRect()),O=_Ee(N,E),A=NEe(w.getBoundingClientRect()),C=OEe([...O,...A]);u(C),p(!0)},[p]);return y.useEffect(()=>()=>g(),[g]),y.useEffect(()=>{if(d&&m){const j=b=>x(b,m),w=b=>x(b,d);return d.addEventListener("pointerleave",j),m.addEventListener("pointerleave",w),()=>{d.removeEventListener("pointerleave",j),m.removeEventListener("pointerleave",w)}}},[d,m,x,g]),y.useEffect(()=>{if(l){const j=w=>{const b=w.target,N={x:w.clientX,y:w.clientY},E=d?.contains(b)||m?.contains(b),O=!CEe(N,l);E?g():O&&(g(),f())};return document.addEventListener("pointermove",j),()=>document.removeEventListener("pointermove",j)}},[d,m,l,f,g]),i.jsx(uW,{...e,ref:s})}),[xEe,bEe]=cx(Oh,{isInside:!1}),wEe=fEe("TooltipContent"),uW=y.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":a,onEscapeKeyDown:s,onPointerDownOutside:l,...u}=e,d=cm(Iu,n),f=ux(n),{onClose:m}=d;return y.useEffect(()=>(document.addEventListener(SC,m),()=>document.removeEventListener(SC,m)),[m]),y.useEffect(()=>{if(d.trigger){const p=g=>{g.target?.contains(d.trigger)&&m()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[d.trigger,m]),i.jsx(Al,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:p=>p.preventDefault(),onDismiss:m,children:i.jsxs(Xy,{"data-state":d.stateAttribute,...f,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[i.jsx(wEe,{children:r}),i.jsx(xEe,{scope:n,isInside:!0,children:i.jsx(jwe,{id:d.contentId,role:"tooltip",children:a||r})})]})})});cW.displayName=Iu;var dW="TooltipArrow",jEe=y.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,a=ux(n);return bEe(dW,n).isInside?null:i.jsx(Zy,{...a,...r,ref:t})});jEe.displayName=dW;function SEe(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,r,a,s)){case s:return"left";case a:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function _Ee(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function NEe(e){const{top:t,right:n,bottom:r,left:a}=e;return[{x:a,y:t},{x:n,y:t},{x:n,y:r},{x:a,y:r}]}function CEe(e,t){const{x:n,y:r}=e;let a=!1;for(let s=0,l=t.length-1;sr!=g>r&&n<(p-f)*(r-m)/(g-m)+f&&(a=!a)}return a}function OEe(e){const t=e.slice();return t.sort((n,r)=>n.xr.x?1:n.yr.y?1:0),EEe(t)}function EEe(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r=2;){const s=t[t.length-1],l=t[t.length-2];if((s.x-l.x)*(a.y-l.y)>=(s.y-l.y)*(a.x-l.x))t.pop();else break}t.push(a)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const a=e[r];for(;n.length>=2;){const s=n[n.length-1],l=n[n.length-2];if((s.x-l.x)*(a.y-l.y)>=(s.y-l.y)*(a.x-l.x))n.pop();else break}n.push(a)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var AEe=iW,TEe=sW,kEe=oW,MEe=lW,fW=cW;const PEe=AEe,REe=TEe,DEe=kEe,hW=y.forwardRef(({className:e,sideOffset:t=4,...n},r)=>i.jsx(MEe,{children:i.jsx(fW,{ref:r,sideOffset:t,className:ce("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...n})}));hW.displayName=fW.displayName;function $Ee({children:e}){fbe();const[t,n]=y.useState(!0),[r,a]=y.useState(!1),[s,l]=y.useState(!1),{theme:u,setTheme:d}=lE(),f=VY(),m=la();y.useEffect(()=>{const w=b=>{(b.metaKey||b.ctrlKey)&&b.key==="k"&&(b.preventDefault(),l(!0))};return window.addEventListener("keydown",w),()=>window.removeEventListener("keydown",w)},[]);const p=[{title:"概览",items:[{icon:Ag,label:"首页",path:"/"}]},{title:"麦麦配置编辑",items:[{icon:aE,label:"麦麦主程序配置",path:"/config/bot"},{icon:vF,label:"麦麦模型提供商配置",path:"/config/modelProvider"},{icon:hF,label:"麦麦模型配置",path:"/config/model"}]},{title:"麦麦资源管理",items:[{icon:oE,label:"表情包管理",path:"/resource/emoji"},{icon:Gh,label:"表达方式管理",path:"/resource/expression"},{icon:mF,label:"人物信息管理",path:"/resource/person"}]},{title:"扩展与监控",items:[{icon:Tg,label:"插件市场",path:"/plugins"},{icon:zge,label:"插件配置",path:"/plugin-config"},{icon:Og,label:"日志查看器",path:"/logs"}]},{title:"系统",items:[{icon:Fa,label:"系统设置",path:"/settings"}]}],x=u==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":u,j=()=>{localStorage.removeItem("access-token"),m({to:"/auth"})};return i.jsx(PEe,{delayDuration:300,children:i.jsxs("div",{className:"flex h-screen overflow-hidden",children:[i.jsxs("aside",{className:ce("fixed inset-y-0 left-0 z-50 flex flex-col border-r bg-card transition-all duration-300 lg:relative lg:z-0","w-64 lg:w-auto",t?"lg:w-64":"lg:w-16",r?"translate-x-0":"-translate-x-full lg:translate-x-0"),children:[i.jsx("div",{className:"flex h-16 items-center border-b px-4",children:i.jsxs("div",{className:ce("relative flex items-center justify-center flex-1 transition-all overflow-hidden","lg:flex-1",!t&&"lg:flex-none lg:w-8"),children:[i.jsxs("div",{className:ce("flex items-baseline gap-2",!t&&"lg:hidden"),children:[i.jsx("span",{className:"font-bold text-xl text-primary-gradient whitespace-nowrap",children:"MaiBot WebUI"}),i.jsx("span",{className:"text-xs text-primary/60 whitespace-nowrap",children:_ye()})]}),!t&&i.jsx("span",{className:"hidden lg:block font-bold text-primary-gradient text-2xl",children:"M"})]})}),i.jsx("nav",{className:"flex-1 overflow-y-auto p-4",children:i.jsx("ul",{className:ce("space-y-6",!t&&"lg:space-y-3"),children:p.map((w,b)=>i.jsxs("li",{children:[i.jsx("div",{className:ce("px-3 h-[1.25rem]","mb-2",!t&&"lg:mb-1 lg:invisible"),children:i.jsx("h3",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground/60 whitespace-nowrap",children:w.title})}),!t&&b>0&&i.jsx("div",{className:"hidden lg:block mb-2 border-t border-border"}),i.jsx("ul",{className:"space-y-1",children:w.items.map(N=>{const E=f({to:N.path}),O=N.icon,A=i.jsxs(i.Fragment,{children:[E&&i.jsx("div",{className:"absolute left-0 top-1/2 h-8 w-1 -translate-y-1/2 rounded-r-full bg-primary transition-opacity duration-300"}),i.jsxs("div",{className:ce("flex items-center transition-all duration-300",t?"gap-3":"lg:gap-0"),children:[i.jsx(O,{className:ce("h-5 w-5 flex-shrink-0",E&&"text-primary"),strokeWidth:2,fill:"none"}),i.jsx("span",{className:ce("text-sm font-medium whitespace-nowrap transition-all duration-300",E&&"font-semibold",t?"opacity-100 max-w-[200px]":"lg:opacity-0 lg:max-w-0 lg:overflow-hidden"),children:N.label})]})]});return i.jsx("li",{className:"relative",children:i.jsxs(REe,{children:[i.jsx(DEe,{asChild:!0,children:i.jsx(IC,{to:N.path,className:ce("relative flex items-center rounded-lg py-2 transition-all duration-300","hover:bg-accent hover:text-accent-foreground",E?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground",t?"px-3":"lg:px-0 lg:justify-center"),onClick:()=>a(!1),children:A})}),!t&&i.jsx(hW,{side:"right",className:"hidden lg:block",children:i.jsx("p",{children:N.label})})]})},N.path)})})]},w.title))})})]}),r&&i.jsx("div",{className:"fixed inset-0 z-40 bg-black/50 lg:hidden",onClick:()=>a(!1)}),i.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[i.jsxs("header",{className:"flex h-16 items-center justify-between border-b bg-card/80 backdrop-blur-md px-4 sticky top-0 z-10",children:[i.jsxs("div",{className:"flex items-center gap-4",children:[i.jsx("button",{onClick:()=>a(!r),className:"rounded-lg p-2 hover:bg-accent lg:hidden",children:i.jsx(fge,{className:"h-5 w-5"})}),i.jsx("button",{onClick:()=>n(!t),className:"hidden rounded-lg p-2 hover:bg-accent lg:block",title:t?"收起侧边栏":"展开侧边栏",children:i.jsx(nE,{className:ce("h-5 w-5 transition-transform",!t&&"rotate-180")})})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("button",{onClick:()=>l(!0),className:"relative hidden md:flex items-center w-64 h-9 pl-9 pr-16 bg-background/50 border rounded-md hover:bg-accent/50 transition-colors text-left",children:[i.jsx(Lr,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),i.jsx("span",{className:"text-sm text-muted-foreground",children:"搜索..."}),i.jsxs(r9,{size:"sm",className:"absolute right-2 top-1/2 -translate-y-1/2",children:[i.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]}),i.jsx(FCe,{open:s,onOpenChange:l}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:()=>window.open("https://docs.mai-mai.org","_blank"),className:"gap-2",title:"查看麦麦文档",children:[i.jsx(jve,{className:"h-4 w-4"}),i.jsx("span",{className:"hidden sm:inline",children:"麦麦文档"})]}),i.jsx("button",{onClick:w=>{sye(x==="dark"?"light":"dark",d,w)},className:"rounded-lg p-2 hover:bg-accent",title:x==="dark"?"切换到浅色模式":"切换到深色模式",children:x==="dark"?i.jsx(rC,{className:"h-5 w-5"}):i.jsx(nC,{className:"h-5 w-5"})}),i.jsx("div",{className:"h-6 w-px bg-border"}),i.jsxs(oe,{variant:"ghost",size:"sm",onClick:j,className:"gap-2",title:"登出系统",children:[i.jsx(eL,{className:"h-4 w-4"}),i.jsx("span",{className:"hidden sm:inline",children:"登出"})]})]})]}),i.jsxs(iEe,{children:[i.jsx(sEe,{asChild:!0,children:i.jsx("main",{className:"flex-1 overflow-hidden bg-background",children:e})}),i.jsxs(rW,{className:"w-64",children:[i.jsxs(Ia,{onClick:()=>m({to:"/"}),children:[i.jsx(Ag,{className:"mr-2 h-4 w-4"}),"首页"]}),i.jsxs(Ia,{onClick:()=>m({to:"/settings"}),children:[i.jsx(Fa,{className:"mr-2 h-4 w-4"}),"系统设置"]}),i.jsxs(Ia,{onClick:()=>m({to:"/logs"}),children:[i.jsx(Og,{className:"mr-2 h-4 w-4"}),"日志查看器"]}),i.jsx(wf,{}),i.jsxs(oEe,{children:[i.jsxs(tW,{children:[i.jsx(pF,{className:"mr-2 h-4 w-4"}),"切换主题"]}),i.jsxs(nW,{className:"w-48",children:[i.jsxs(Ia,{onClick:()=>d("light"),disabled:u==="light",children:[i.jsx(rC,{className:"mr-2 h-4 w-4"}),"浅色",u==="light"&&i.jsx(zc,{children:"✓"})]}),i.jsxs(Ia,{onClick:()=>d("dark"),disabled:u==="dark",children:[i.jsx(nC,{className:"mr-2 h-4 w-4"}),"深色",u==="dark"&&i.jsx(zc,{children:"✓"})]}),i.jsxs(Ia,{onClick:()=>d("system"),disabled:u==="system",children:[i.jsx(Fa,{className:"mr-2 h-4 w-4"}),"跟随系统",u==="system"&&i.jsx(zc,{children:"✓"})]})]})]}),i.jsx(wf,{}),i.jsxs(Ia,{onClick:()=>window.location.reload(),children:[i.jsx(Ege,{className:"mr-2 h-4 w-4"}),"刷新页面",i.jsx(zc,{children:"⌘R"})]}),i.jsxs(Ia,{onClick:()=>l(!0),children:[i.jsx(Lr,{className:"mr-2 h-4 w-4"}),"搜索",i.jsx(zc,{children:"⌘K"})]}),i.jsx(wf,{}),i.jsxs(Ia,{onClick:()=>window.open("https://docs.mai-mai.org","_blank"),children:[i.jsx(Mf,{className:"mr-2 h-4 w-4"}),"麦麦文档"]}),i.jsx(wf,{}),i.jsxs(Ia,{onClick:j,className:"text-destructive focus:text-destructive",children:[i.jsx(eL,{className:"mr-2 h-4 w-4"}),"登出系统"]})]})]})]})]})})}const um=IY({component:()=>i.jsxs(i.Fragment,{children:[i.jsx(LC,{}),!1]}),beforeLoad:()=>{if(window.location.pathname==="/"&&!O8())throw r5({to:"/auth"})}}),IEe=or({getParentRoute:()=>um,path:"/auth",component:hbe}),LEe=or({getParentRoute:()=>um,path:"/setup",component:Mbe}),ca=or({getParentRoute:()=>um,id:"protected",component:()=>i.jsx($Ee,{children:i.jsx(LC,{})})}),BEe=or({getParentRoute:()=>ca,path:"/",component:aye}),zEe=or({getParentRoute:()=>ca,path:"/config/bot",component:Sje}),qEe=or({getParentRoute:()=>ca,path:"/config/modelProvider",component:Uje}),FEe=or({getParentRoute:()=>ca,path:"/config/model",component:g1e}),UEe=or({getParentRoute:()=>ca,path:"/resource/emoji",component:N1e}),HEe=or({getParentRoute:()=>ca,path:"/resource/expression",component:R1e}),WEe=or({getParentRoute:()=>ca,path:"/resource/person",component:U1e}),VEe=or({getParentRoute:()=>ca,path:"/logs",component:_Ce}),GEe=or({getParentRoute:()=>ca,path:"/plugins",component:ICe}),YEe=or({getParentRoute:()=>ca,path:"/plugin-config",component:LCe}),KEe=or({getParentRoute:()=>ca,path:"/plugin-mirrors",component:BCe}),XEe=or({getParentRoute:()=>ca,path:"/settings",component:ibe}),ZEe=or({getParentRoute:()=>um,path:"*",component:T8}),QEe=um.addChildren([IEe,LEe,ca.addChildren([BEe,zEe,qEe,FEe,UEe,HEe,WEe,GEe,YEe,KEe,VEe,XEe]),ZEe]),JEe=GY({routeTree:QEe,defaultNotFoundComponent:T8});function eAe({children:e,defaultTheme:t="system",storageKey:n="ui-theme",...r}){const[a,s]=y.useState(()=>localStorage.getItem(n)||t);y.useEffect(()=>{const u=window.document.documentElement;if(u.classList.remove("light","dark"),a==="system"){const d=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";u.classList.add(d);return}u.classList.add(a)},[a]),y.useEffect(()=>{const u=localStorage.getItem("accent-color");if(u){const d=document.documentElement,m={blue:{hsl:"221.2 83.2% 53.3%",darkHsl:"217.2 91.2% 59.8%"},purple:{hsl:"271 91% 65%",darkHsl:"270 95% 75%"},green:{hsl:"142 71% 45%",darkHsl:"142 76% 36%"},orange:{hsl:"25 95% 53%",darkHsl:"20 90% 48%"},pink:{hsl:"330 81% 60%",darkHsl:"330 85% 70%"}}[u];m&&d.style.setProperty("--primary",m.hsl)}},[]);const l={theme:a,setTheme:u=>{localStorage.setItem(n,u),s(u)}};return i.jsx(yF.Provider,{...r,value:l,children:e})}function tAe({children:e,defaultEnabled:t=!0,defaultWavesEnabled:n=!0,storageKey:r="enable-animations",wavesStorageKey:a="enable-waves-background"}){const[s,l]=y.useState(()=>{const m=localStorage.getItem(r);return m!==null?m==="true":t}),[u,d]=y.useState(()=>{const m=localStorage.getItem(a);return m!==null?m==="true":n});y.useEffect(()=>{const m=document.documentElement;s?m.classList.remove("no-animations"):m.classList.add("no-animations"),localStorage.setItem(r,String(s))},[s,r]),y.useEffect(()=>{localStorage.setItem(a,String(u))},[u,a]);const f={enableAnimations:s,setEnableAnimations:l,enableWavesBackground:u,setEnableWavesBackground:d};return i.jsx(xF.Provider,{value:f,children:e})}var KE="ToastProvider",[XE,nAe,rAe]=Ph("Toast"),[mW]=gr("Toast",[rAe]),[aAe,dx]=mW(KE),pW=e=>{const{__scopeToast:t,label:n="Notification",duration:r=5e3,swipeDirection:a="right",swipeThreshold:s=50,children:l}=e,[u,d]=y.useState(null),[f,m]=y.useState(0),p=y.useRef(!1),g=y.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${KE}\`. Expected non-empty \`string\`.`),i.jsx(XE.Provider,{scope:t,children:i.jsx(aAe,{scope:t,label:n,duration:r,swipeDirection:a,swipeThreshold:s,toastCount:f,viewport:u,onViewportChange:d,onToastAdd:y.useCallback(()=>m(x=>x+1),[]),onToastRemove:y.useCallback(()=>m(x=>x-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:g,children:l})})};pW.displayName=KE;var vW="ToastViewport",iAe=["F8"],NC="toast.viewportPause",CC="toast.viewportResume",gW=y.forwardRef((e,t)=>{const{__scopeToast:n,hotkey:r=iAe,label:a="Notifications ({hotkey})",...s}=e,l=dx(vW,n),u=nAe(n),d=y.useRef(null),f=y.useRef(null),m=y.useRef(null),p=y.useRef(null),g=Ue(t,p,l.onViewportChange),x=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),j=l.toastCount>0;y.useEffect(()=>{const b=N=>{r.length!==0&&r.every(O=>N[O]||N.code===O)&&p.current?.focus()};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[r]),y.useEffect(()=>{const b=d.current,N=p.current;if(j&&b&&N){const E=()=>{if(!l.isClosePausedRef.current){const k=new CustomEvent(NC);N.dispatchEvent(k),l.isClosePausedRef.current=!0}},O=()=>{if(l.isClosePausedRef.current){const k=new CustomEvent(CC);N.dispatchEvent(k),l.isClosePausedRef.current=!1}},A=k=>{!b.contains(k.relatedTarget)&&O()},C=()=>{b.contains(document.activeElement)||O()};return b.addEventListener("focusin",E),b.addEventListener("focusout",A),b.addEventListener("pointermove",E),b.addEventListener("pointerleave",C),window.addEventListener("blur",E),window.addEventListener("focus",O),()=>{b.removeEventListener("focusin",E),b.removeEventListener("focusout",A),b.removeEventListener("pointermove",E),b.removeEventListener("pointerleave",C),window.removeEventListener("blur",E),window.removeEventListener("focus",O)}}},[j,l.isClosePausedRef]);const w=y.useCallback(({tabbingDirection:b})=>{const E=u().map(O=>{const A=O.ref.current,C=[A,...yAe(A)];return b==="forwards"?C:C.reverse()});return(b==="forwards"?E.reverse():E).flat()},[u]);return y.useEffect(()=>{const b=p.current;if(b){const N=E=>{const O=E.altKey||E.ctrlKey||E.metaKey;if(E.key==="Tab"&&!O){const C=document.activeElement,k=E.shiftKey;if(E.target===b&&k){f.current?.focus();return}const R=w({tabbingDirection:k?"backwards":"forwards"}),B=R.findIndex($=>$===C);v_(R.slice(B+1))?E.preventDefault():k?f.current?.focus():m.current?.focus()}};return b.addEventListener("keydown",N),()=>b.removeEventListener("keydown",N)}},[u,w]),i.jsxs(Pye,{ref:d,role:"region","aria-label":a.replace("{hotkey}",x),tabIndex:-1,style:{pointerEvents:j?void 0:"none"},children:[j&&i.jsx(OC,{ref:f,onFocusFromOutsideViewport:()=>{const b=w({tabbingDirection:"forwards"});v_(b)}}),i.jsx(XE.Slot,{scope:n,children:i.jsx($e.ol,{tabIndex:-1,...s,ref:g})}),j&&i.jsx(OC,{ref:m,onFocusFromOutsideViewport:()=>{const b=w({tabbingDirection:"backwards"});v_(b)}})]})});gW.displayName=vW;var yW="ToastFocusProxy",OC=y.forwardRef((e,t)=>{const{__scopeToast:n,onFocusFromOutsideViewport:r,...a}=e,s=dx(yW,n);return i.jsx(Qy,{tabIndex:0,...a,ref:t,style:{position:"fixed"},onFocus:l=>{const u=l.relatedTarget;!s.viewport?.contains(u)&&r()}})});OC.displayName=yW;var dm="Toast",sAe="toast.swipeStart",oAe="toast.swipeMove",lAe="toast.swipeCancel",cAe="toast.swipeEnd",xW=y.forwardRef((e,t)=>{const{forceMount:n,open:r,defaultOpen:a,onOpenChange:s,...l}=e,[u,d]=Ea({prop:r,defaultProp:a??!0,onChange:s,caller:dm});return i.jsx(Bn,{present:n||u,children:i.jsx(fAe,{open:u,...l,ref:t,onClose:()=>d(!1),onPause:ln(e.onPause),onResume:ln(e.onResume),onSwipeStart:_e(e.onSwipeStart,f=>{f.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:_e(e.onSwipeMove,f=>{const{x:m,y:p}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","move"),f.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${m}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${p}px`)}),onSwipeCancel:_e(e.onSwipeCancel,f=>{f.currentTarget.setAttribute("data-swipe","cancel"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:_e(e.onSwipeEnd,f=>{const{x:m,y:p}=f.detail.delta;f.currentTarget.setAttribute("data-swipe","end"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),f.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),f.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${m}px`),f.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${p}px`),d(!1)})})})});xW.displayName=dm;var[uAe,dAe]=mW(dm,{onClose(){}}),fAe=y.forwardRef((e,t)=>{const{__scopeToast:n,type:r="foreground",duration:a,open:s,onClose:l,onEscapeKeyDown:u,onPause:d,onResume:f,onSwipeStart:m,onSwipeMove:p,onSwipeCancel:g,onSwipeEnd:x,...j}=e,w=dx(dm,n),[b,N]=y.useState(null),E=Ue(t,q=>N(q)),O=y.useRef(null),A=y.useRef(null),C=a||w.duration,k=y.useRef(0),T=y.useRef(C),M=y.useRef(0),{onToastAdd:R,onToastRemove:B}=w,$=ln(()=>{b?.contains(document.activeElement)&&w.viewport?.focus(),l()}),H=y.useCallback(q=>{!q||q===1/0||(window.clearTimeout(M.current),k.current=new Date().getTime(),M.current=window.setTimeout($,q))},[$]);y.useEffect(()=>{const q=w.viewport;if(q){const G=()=>{H(T.current),f?.()},L=()=>{const D=new Date().getTime()-k.current;T.current=T.current-D,window.clearTimeout(M.current),d?.()};return q.addEventListener(NC,L),q.addEventListener(CC,G),()=>{q.removeEventListener(NC,L),q.removeEventListener(CC,G)}}},[w.viewport,C,d,f,H]),y.useEffect(()=>{s&&!w.isClosePausedRef.current&&H(C)},[s,C,w.isClosePausedRef,H]),y.useEffect(()=>(R(),()=>B()),[R,B]);const V=y.useMemo(()=>b?CW(b):null,[b]);return w.viewport?i.jsxs(i.Fragment,{children:[V&&i.jsx(hAe,{__scopeToast:n,role:"status","aria-live":r==="foreground"?"assertive":"polite",children:V}),i.jsx(uAe,{scope:n,onClose:$,children:Sl.createPortal(i.jsx(XE.ItemSlot,{scope:n,children:i.jsx(Mye,{asChild:!0,onEscapeKeyDown:_e(u,()=>{w.isFocusedToastEscapeKeyDownRef.current||$(),w.isFocusedToastEscapeKeyDownRef.current=!1}),children:i.jsx($e.li,{tabIndex:0,"data-state":s?"open":"closed","data-swipe-direction":w.swipeDirection,...j,ref:E,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:_e(e.onKeyDown,q=>{q.key==="Escape"&&(u?.(q.nativeEvent),q.nativeEvent.defaultPrevented||(w.isFocusedToastEscapeKeyDownRef.current=!0,$()))}),onPointerDown:_e(e.onPointerDown,q=>{q.button===0&&(O.current={x:q.clientX,y:q.clientY})}),onPointerMove:_e(e.onPointerMove,q=>{if(!O.current)return;const G=q.clientX-O.current.x,L=q.clientY-O.current.y,D=!!A.current,U=["left","right"].includes(w.swipeDirection),K=["left","up"].includes(w.swipeDirection)?Math.min:Math.max,J=U?K(0,G):0,I=U?0:K(0,L),z=q.pointerType==="touch"?10:2,Y={x:J,y:I},te={originalEvent:q,delta:Y};D?(A.current=Y,rv(oAe,p,te,{discrete:!1})):QL(Y,w.swipeDirection,z)?(A.current=Y,rv(sAe,m,te,{discrete:!1}),q.target.setPointerCapture(q.pointerId)):(Math.abs(G)>z||Math.abs(L)>z)&&(O.current=null)}),onPointerUp:_e(e.onPointerUp,q=>{const G=A.current,L=q.target;if(L.hasPointerCapture(q.pointerId)&&L.releasePointerCapture(q.pointerId),A.current=null,O.current=null,G){const D=q.currentTarget,U={originalEvent:q,delta:G};QL(G,w.swipeDirection,w.swipeThreshold)?rv(cAe,x,U,{discrete:!0}):rv(lAe,g,U,{discrete:!0}),D.addEventListener("click",K=>K.preventDefault(),{once:!0})}})})})}),w.viewport)})]}):null}),hAe=e=>{const{__scopeToast:t,children:n,...r}=e,a=dx(dm,t),[s,l]=y.useState(!1),[u,d]=y.useState(!1);return vAe(()=>l(!0)),y.useEffect(()=>{const f=window.setTimeout(()=>d(!0),1e3);return()=>window.clearTimeout(f)},[]),u?null:i.jsx(Tl,{asChild:!0,children:i.jsx(Qy,{...r,children:s&&i.jsxs(i.Fragment,{children:[a.label," ",n]})})})},mAe="ToastTitle",bW=y.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return i.jsx($e.div,{...r,ref:t})});bW.displayName=mAe;var pAe="ToastDescription",wW=y.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return i.jsx($e.div,{...r,ref:t})});wW.displayName=pAe;var jW="ToastAction",SW=y.forwardRef((e,t)=>{const{altText:n,...r}=e;return n.trim()?i.jsx(NW,{altText:n,asChild:!0,children:i.jsx(ZE,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${jW}\`. Expected non-empty \`string\`.`),null)});SW.displayName=jW;var _W="ToastClose",ZE=y.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e,a=dAe(_W,n);return i.jsx(NW,{asChild:!0,children:i.jsx($e.button,{type:"button",...r,ref:t,onClick:_e(e.onClick,a.onClose)})})});ZE.displayName=_W;var NW=y.forwardRef((e,t)=>{const{__scopeToast:n,altText:r,...a}=e;return i.jsx($e.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...a,ref:t})});function CW(e){const t=[];return Array.from(e.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&t.push(r.textContent),gAe(r)){const a=r.ariaHidden||r.hidden||r.style.display==="none",s=r.dataset.radixToastAnnounceExclude==="";if(!a)if(s){const l=r.dataset.radixToastAnnounceAlt;l&&t.push(l)}else t.push(...CW(r))}}),t}function rv(e,t,n,{discrete:r}){const a=n.originalEvent.currentTarget,s=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?HC(a,s):a.dispatchEvent(s)}var QL=(e,t,n=0)=>{const r=Math.abs(e.x),a=Math.abs(e.y),s=r>a;return t==="left"||t==="right"?s&&r>n:!s&&a>n};function vAe(e=()=>{}){const t=ln(e);Yn(()=>{let n=0,r=0;return n=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(r)}},[t])}function gAe(e){return e.nodeType===e.ELEMENT_NODE}function yAe(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function v_(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}var xAe=pW,OW=gW,EW=xW,AW=bW,TW=wW,kW=SW,MW=ZE;const bAe=xAe,PW=y.forwardRef(({className:e,...t},n)=>i.jsx(OW,{ref:n,className:ce("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));PW.displayName=OW.displayName;const wAe=Zu("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),RW=y.forwardRef(({className:e,variant:t,...n},r)=>i.jsx(EW,{ref:r,className:ce(wAe({variant:t}),e),...n}));RW.displayName=EW.displayName;const jAe=y.forwardRef(({className:e,...t},n)=>i.jsx(kW,{ref:n,className:ce("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...t}));jAe.displayName=kW.displayName;const DW=y.forwardRef(({className:e,...t},n)=>i.jsx(MW,{ref:n,className:ce("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:i.jsx(Yh,{className:"h-4 w-4"})}));DW.displayName=MW.displayName;const $W=y.forwardRef(({className:e,...t},n)=>i.jsx(AW,{ref:n,className:ce("text-sm font-semibold [&+div]:text-xs",e),...t}));$W.displayName=AW.displayName;const IW=y.forwardRef(({className:e,...t},n)=>i.jsx(TW,{ref:n,className:ce("text-sm opacity-90",e),...t}));IW.displayName=TW.displayName;function SAe(){const{toasts:e}=yr();return i.jsxs(bAe,{children:[e.map(function({id:t,title:n,description:r,action:a,...s}){return i.jsxs(RW,{...s,children:[i.jsxs("div",{className:"grid gap-1",children:[n&&i.jsx($W,{children:n}),r&&i.jsx(IW,{children:r})]}),a,i.jsx(DW,{})]},t)}),i.jsx(PW,{})]})}iG.createRoot(document.getElementById("root")).render(i.jsx(y.StrictMode,{children:i.jsx(eAe,{defaultTheme:"system",children:i.jsxs(tAe,{children:[i.jsx(XY,{router:JEe}),i.jsx(SAe,{})]})})})); diff --git a/webui/dist/index.html b/webui/dist/index.html index ff05dd11..fb375624 100644 --- a/webui/dist/index.html +++ b/webui/dist/index.html @@ -5,7 +5,7 @@ MaiBot Dashboard - +