@khanglvm/llm-router 2.5.2 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +3 -0
- package/package.json +1 -1
- package/src/node/huggingface-gguf.js +12 -0
- package/src/node/llamacpp-managed-runtime.js +202 -0
- package/src/node/llamacpp-runtime-profile.js +133 -0
- package/src/node/llamacpp-runtime.js +256 -78
- package/src/node/local-models-service.js +25 -2
- package/src/node/local-server.js +60 -2
- package/src/node/web-console-client.js +20 -20
- package/src/node/web-console-server.js +64 -8
- package/src/node/web-console-styles.generated.js +1 -1
- package/src/node/web-console-ui/local-models-utils.js +33 -0
- package/src/runtime/handler/provider-call.js +36 -18
- package/src/runtime/handler/runtime-policy.js +4 -1
- package/src/runtime/local-models.js +36 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
(()=>{var EM=Object.create;var Gb=Object.defineProperty;var TM=Object.getOwnPropertyDescriptor;var MM=Object.getOwnPropertyNames;var OM=Object.getPrototypeOf,kM=Object.prototype.hasOwnProperty;var Eo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var _M=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of MM(t))!kM.call(e,o)&&o!==n&&Gb(e,o,{get:()=>t[o],enumerable:!(r=TM(t,o))||r.enumerable});return e};var B=(e,t,n)=>(n=e!=null?EM(OM(e)):{},_M(t||!e||!e.__esModule?Gb(n,"default",{value:e,enumerable:!0}):n,e));var nv=Eo(Yt=>{"use strict";function cp(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(0<Uu(o,t))e[r]=t,e[n]=o,n=r;else break e}}function To(e){return e.length===0?null:e[0]}function Vu(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,a=o>>>1;r<a;){var i=2*(r+1)-1,l=e[i],s=i+1,c=e[s];if(0>Uu(l,n))s<o&&0>Uu(c,l)?(e[r]=c,e[s]=n,r=s):(e[r]=l,e[i]=n,r=i);else if(s<o&&0>Uu(c,n))e[r]=c,e[s]=n,r=s;else break e}}return t}function Uu(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Yt.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(qb=performance,Yt.unstable_now=function(){return qb.now()}):(ip=Date,Wb=ip.now(),Yt.unstable_now=function(){return ip.now()-Wb});var qb,ip,Wb,ta=[],za=[],LM=1,Vr=null,Xn=3,up=!1,Ws=!1,Ys=!1,dp=!1,Xb=typeof setTimeout=="function"?setTimeout:null,Jb=typeof clearTimeout=="function"?clearTimeout:null,Yb=typeof setImmediate<"u"?setImmediate:null;function ju(e){for(var t=To(za);t!==null;){if(t.callback===null)Vu(za);else if(t.startTime<=e)Vu(za),t.sortIndex=t.expirationTime,cp(ta,t);else break;t=To(za)}}function fp(e){if(Ys=!1,ju(e),!Ws)if(To(ta)!==null)Ws=!0,Ml||(Ml=!0,Tl());else{var t=To(za);t!==null&&mp(fp,t.startTime-e)}}var Ml=!1,Qs=-1,Zb=5,ev=-1;function tv(){return dp?!0:!(Yt.unstable_now()-ev<Zb)}function lp(){if(dp=!1,Ml){var e=Yt.unstable_now();ev=e;var t=!0;try{e:{Ws=!1,Ys&&(Ys=!1,Jb(Qs),Qs=-1),up=!0;var n=Xn;try{t:{for(ju(e),Vr=To(ta);Vr!==null&&!(Vr.expirationTime>e&&tv());){var r=Vr.callback;if(typeof r=="function"){Vr.callback=null,Xn=Vr.priorityLevel;var o=r(Vr.expirationTime<=e);if(e=Yt.unstable_now(),typeof o=="function"){Vr.callback=o,ju(e),t=!0;break t}Vr===To(ta)&&Vu(ta),ju(e)}else Vu(ta);Vr=To(ta)}if(Vr!==null)t=!0;else{var a=To(za);a!==null&&mp(fp,a.startTime-e),t=!1}}break e}finally{Vr=null,Xn=n,up=!1}t=void 0}}finally{t?Tl():Ml=!1}}}var Tl;typeof Yb=="function"?Tl=function(){Yb(lp)}:typeof MessageChannel<"u"?(sp=new MessageChannel,Qb=sp.port2,sp.port1.onmessage=lp,Tl=function(){Qb.postMessage(null)}):Tl=function(){Xb(lp,0)};var sp,Qb;function mp(e,t){Qs=Xb(function(){e(Yt.unstable_now())},t)}Yt.unstable_IdlePriority=5;Yt.unstable_ImmediatePriority=1;Yt.unstable_LowPriority=4;Yt.unstable_NormalPriority=3;Yt.unstable_Profiling=null;Yt.unstable_UserBlockingPriority=2;Yt.unstable_cancelCallback=function(e){e.callback=null};Yt.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Zb=0<e?Math.floor(1e3/e):5};Yt.unstable_getCurrentPriorityLevel=function(){return Xn};Yt.unstable_next=function(e){switch(Xn){case 1:case 2:case 3:var t=3;break;default:t=Xn}var n=Xn;Xn=t;try{return e()}finally{Xn=n}};Yt.unstable_requestPaint=function(){dp=!0};Yt.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Xn;Xn=e;try{return t()}finally{Xn=n}};Yt.unstable_scheduleCallback=function(e,t,n){var r=Yt.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=n+o,e={id:LM++,callback:t,priorityLevel:e,startTime:n,expirationTime:o,sortIndex:-1},n>r?(e.sortIndex=n,cp(za,e),To(ta)===null&&e===To(za)&&(Ys?(Jb(Qs),Qs=-1):Ys=!0,mp(fp,n-r))):(e.sortIndex=o,cp(ta,e),Ws||up||(Ws=!0,Ml||(Ml=!0,Tl()))),e};Yt.unstable_shouldYield=tv;Yt.unstable_wrapCallback=function(e){var t=Xn;return function(){var n=Xn;Xn=t;try{return e.apply(this,arguments)}finally{Xn=n}}}});var ov=Eo((GB,rv)=>{"use strict";rv.exports=nv()});var gv=Eo(Ye=>{"use strict";var hp=Symbol.for("react.transitional.element"),DM=Symbol.for("react.portal"),BM=Symbol.for("react.fragment"),IM=Symbol.for("react.strict_mode"),zM=Symbol.for("react.profiler"),PM=Symbol.for("react.consumer"),UM=Symbol.for("react.context"),jM=Symbol.for("react.forward_ref"),VM=Symbol.for("react.suspense"),FM=Symbol.for("react.memo"),cv=Symbol.for("react.lazy"),HM=Symbol.for("react.activity"),av=Symbol.iterator;function $M(e){return e===null||typeof e!="object"?null:(e=av&&e[av]||e["@@iterator"],typeof e=="function"?e:null)}var uv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},dv=Object.assign,fv={};function kl(e,t,n){this.props=e,this.context=t,this.refs=fv,this.updater=n||uv}kl.prototype.isReactComponent={};kl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};kl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function mv(){}mv.prototype=kl.prototype;function yp(e,t,n){this.props=e,this.context=t,this.refs=fv,this.updater=n||uv}var bp=yp.prototype=new mv;bp.constructor=yp;dv(bp,kl.prototype);bp.isPureReactComponent=!0;var iv=Array.isArray;function gp(){}var Ht={H:null,A:null,T:null,S:null},pv=Object.prototype.hasOwnProperty;function vp(e,t,n){var r=n.ref;return{$$typeof:hp,type:e,key:t,ref:r!==void 0?r:null,props:n}}function KM(e,t){return vp(e.type,t,e.props)}function xp(e){return typeof e=="object"&&e!==null&&e.$$typeof===hp}function GM(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var lv=/\/+/g;function pp(e,t){return typeof e=="object"&&e!==null&&e.key!=null?GM(""+e.key):t.toString(36)}function qM(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(gp,gp):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Ol(e,t,n,r,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(a){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case hp:case DM:i=!0;break;case cv:return i=e._init,Ol(i(e._payload),t,n,r,o)}}if(i)return o=o(e),i=r===""?"."+pp(e,0):r,iv(o)?(n="",i!=null&&(n=i.replace(lv,"$&/")+"/"),Ol(o,t,n,"",function(c){return c})):o!=null&&(xp(o)&&(o=KM(o,n+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(lv,"$&/")+"/")+i)),t.push(o)),1;i=0;var l=r===""?".":r+":";if(iv(e))for(var s=0;s<e.length;s++)r=e[s],a=l+pp(r,s),i+=Ol(r,t,n,a,o);else if(s=$M(e),typeof s=="function")for(e=s.call(e),s=0;!(r=e.next()).done;)r=r.value,a=l+pp(r,s++),i+=Ol(r,t,n,a,o);else if(a==="object"){if(typeof e.then=="function")return Ol(qM(e),t,n,r,o);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return i}function Fu(e,t,n){if(e==null)return e;var r=[],o=0;return Ol(e,r,"","",function(a){return t.call(n,a,o++)}),r}function WM(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var sv=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},YM={map:Fu,forEach:function(e,t,n){Fu(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Fu(e,function(){t++}),t},toArray:function(e){return Fu(e,function(t){return t})||[]},only:function(e){if(!xp(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Ye.Activity=HM;Ye.Children=YM;Ye.Component=kl;Ye.Fragment=BM;Ye.Profiler=zM;Ye.PureComponent=yp;Ye.StrictMode=IM;Ye.Suspense=VM;Ye.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Ht;Ye.__COMPILER_RUNTIME={__proto__:null,c:function(e){return Ht.H.useMemoCache(e)}};Ye.cache=function(e){return function(){return e.apply(null,arguments)}};Ye.cacheSignal=function(){return null};Ye.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=dv({},e.props),o=e.key;if(t!=null)for(a in t.key!==void 0&&(o=""+t.key),t)!pv.call(t,a)||a==="key"||a==="__self"||a==="__source"||a==="ref"&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var i=Array(a),l=0;l<a;l++)i[l]=arguments[l+2];r.children=i}return vp(e.type,o,r)};Ye.createContext=function(e){return e={$$typeof:UM,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:PM,_context:e},e};Ye.createElement=function(e,t,n){var r,o={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=""+t.key),t)pv.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(o[r]=t[r]);var i=arguments.length-2;if(i===1)o.children=n;else if(1<i){for(var l=Array(i),s=0;s<i;s++)l[s]=arguments[s+2];o.children=l}if(e&&e.defaultProps)for(r in i=e.defaultProps,i)o[r]===void 0&&(o[r]=i[r]);return vp(e,a,o)};Ye.createRef=function(){return{current:null}};Ye.forwardRef=function(e){return{$$typeof:jM,render:e}};Ye.isValidElement=xp;Ye.lazy=function(e){return{$$typeof:cv,_payload:{_status:-1,_result:e},_init:WM}};Ye.memo=function(e,t){return{$$typeof:FM,type:e,compare:t===void 0?null:t}};Ye.startTransition=function(e){var t=Ht.T,n={};Ht.T=n;try{var r=e(),o=Ht.S;o!==null&&o(n,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(gp,sv)}catch(a){sv(a)}finally{t!==null&&n.types!==null&&(t.types=n.types),Ht.T=t}};Ye.unstable_useCacheRefresh=function(){return Ht.H.useCacheRefresh()};Ye.use=function(e){return Ht.H.use(e)};Ye.useActionState=function(e,t,n){return Ht.H.useActionState(e,t,n)};Ye.useCallback=function(e,t){return Ht.H.useCallback(e,t)};Ye.useContext=function(e){return Ht.H.useContext(e)};Ye.useDebugValue=function(){};Ye.useDeferredValue=function(e,t){return Ht.H.useDeferredValue(e,t)};Ye.useEffect=function(e,t){return Ht.H.useEffect(e,t)};Ye.useEffectEvent=function(e){return Ht.H.useEffectEvent(e)};Ye.useId=function(){return Ht.H.useId()};Ye.useImperativeHandle=function(e,t,n){return Ht.H.useImperativeHandle(e,t,n)};Ye.useInsertionEffect=function(e,t){return Ht.H.useInsertionEffect(e,t)};Ye.useLayoutEffect=function(e,t){return Ht.H.useLayoutEffect(e,t)};Ye.useMemo=function(e,t){return Ht.H.useMemo(e,t)};Ye.useOptimistic=function(e,t){return Ht.H.useOptimistic(e,t)};Ye.useReducer=function(e,t,n){return Ht.H.useReducer(e,t,n)};Ye.useRef=function(e){return Ht.H.useRef(e)};Ye.useState=function(e){return Ht.H.useState(e)};Ye.useSyncExternalStore=function(e,t,n){return Ht.H.useSyncExternalStore(e,t,n)};Ye.useTransition=function(){return Ht.H.useTransition()};Ye.version="19.2.4"});var xe=Eo((WB,hv)=>{"use strict";hv.exports=gv()});var bv=Eo(tr=>{"use strict";var QM=xe();function yv(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Pa(){}var er={d:{f:Pa,r:function(){throw Error(yv(522))},D:Pa,C:Pa,L:Pa,m:Pa,X:Pa,S:Pa,M:Pa},p:0,findDOMNode:null},XM=Symbol.for("react.portal");function JM(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:XM,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}var Xs=QM.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Hu(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}tr.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=er;tr.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(yv(299));return JM(e,t,null,n)};tr.flushSync=function(e){var t=Xs.T,n=er.p;try{if(Xs.T=null,er.p=2,e)return e()}finally{Xs.T=t,er.p=n,er.d.f()}};tr.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,er.d.C(e,t))};tr.prefetchDNS=function(e){typeof e=="string"&&er.d.D(e)};tr.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,r=Hu(n,t.crossOrigin),o=typeof t.integrity=="string"?t.integrity:void 0,a=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?er.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:r,integrity:o,fetchPriority:a}):n==="script"&&er.d.X(e,{crossOrigin:r,integrity:o,fetchPriority:a,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};tr.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=Hu(t.as,t.crossOrigin);er.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&er.d.M(e)};tr.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,r=Hu(n,t.crossOrigin);er.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};tr.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=Hu(t.as,t.crossOrigin);er.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else er.d.m(e)};tr.requestFormReset=function(e){er.d.r(e)};tr.unstable_batchedUpdates=function(e,t){return e(t)};tr.useFormState=function(e,t,n){return Xs.H.useFormState(e,t,n)};tr.useFormStatus=function(){return Xs.H.useHostTransitionStatus()};tr.version="19.2.4"});var Bi=Eo((QB,xv)=>{"use strict";function vv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(vv)}catch(e){console.error(e)}}vv(),xv.exports=bv()});var _w=Eo(gf=>{"use strict";var Mn=ov(),Gx=xe(),ZM=Bi();function K(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function qx(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function zc(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Wx(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Yx(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Sv(e){if(zc(e)!==e)throw Error(K(188))}function eO(e){var t=e.alternate;if(!t){if(t=zc(e),t===null)throw Error(K(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(o===null)break;var a=o.alternate;if(a===null){if(r=o.return,r!==null){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return Sv(o),e;if(a===r)return Sv(o),t;a=a.sibling}throw Error(K(188))}if(n.return!==r.return)n=o,r=a;else{for(var i=!1,l=o.child;l;){if(l===n){i=!0,n=o,r=a;break}if(l===r){i=!0,r=o,n=a;break}l=l.sibling}if(!i){for(l=a.child;l;){if(l===n){i=!0,n=a,r=o;break}if(l===r){i=!0,r=a,n=o;break}l=l.sibling}if(!i)throw Error(K(189))}}if(n.alternate!==r)throw Error(K(190))}if(n.tag!==3)throw Error(K(188));return n.stateNode.current===n?e:t}function Qx(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=Qx(e),t!==null)return t;e=e.sibling}return null}var Gt=Object.assign,tO=Symbol.for("react.element"),$u=Symbol.for("react.transitional.element"),ac=Symbol.for("react.portal"),zl=Symbol.for("react.fragment"),Xx=Symbol.for("react.strict_mode"),eg=Symbol.for("react.profiler"),Jx=Symbol.for("react.consumer"),ca=Symbol.for("react.context"),Yg=Symbol.for("react.forward_ref"),tg=Symbol.for("react.suspense"),ng=Symbol.for("react.suspense_list"),Qg=Symbol.for("react.memo"),Ua=Symbol.for("react.lazy"),rg=Symbol.for("react.activity"),nO=Symbol.for("react.memo_cache_sentinel"),wv=Symbol.iterator;function Js(e){return e===null||typeof e!="object"?null:(e=wv&&e[wv]||e["@@iterator"],typeof e=="function"?e:null)}var rO=Symbol.for("react.client.reference");function og(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===rO?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case zl:return"Fragment";case eg:return"Profiler";case Xx:return"StrictMode";case tg:return"Suspense";case ng:return"SuspenseList";case rg:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case ac:return"Portal";case ca:return e.displayName||"Context";case Jx:return(e._context.displayName||"Context")+".Consumer";case Yg:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Qg:return t=e.displayName||null,t!==null?t:og(e.type)||"Memo";case Ua:t=e._payload,e=e._init;try{return og(e(t))}catch{}}return null}var ic=Array.isArray,je=Gx.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,At=ZM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Vi={pending:!1,data:null,method:null,action:null},ag=[],Pl=-1;function Lo(e){return{current:e}}function zn(e){0>Pl||(e.current=ag[Pl],ag[Pl]=null,Pl--)}function jt(e,t){Pl++,ag[Pl]=e.current,e.current=t}var _o=Lo(null),Ac=Lo(null),Qa=Lo(null),Ad=Lo(null);function Cd(e,t){switch(jt(Qa,t),jt(Ac,e),jt(_o,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Mx(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Mx(t),e=bw(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}zn(_o),jt(_o,e)}function ns(){zn(_o),zn(Ac),zn(Qa)}function ig(e){e.memoizedState!==null&&jt(Ad,e);var t=_o.current,n=bw(t,e.type);t!==n&&(jt(Ac,e),jt(_o,n))}function Rd(e){Ac.current===e&&(zn(_o),zn(Ac)),Ad.current===e&&(zn(Ad),Dc._currentValue=Vi)}var Sp,Av;function zi(e){if(Sp===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Sp=t&&t[1]||"",Av=-1<n.stack.indexOf(`
|
|
1
|
+
(()=>{var TM=Object.create;var qb=Object.defineProperty;var MM=Object.getOwnPropertyDescriptor;var OM=Object.getOwnPropertyNames;var kM=Object.getPrototypeOf,_M=Object.prototype.hasOwnProperty;var No=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var LM=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of OM(t))!_M.call(e,o)&&o!==n&&qb(e,o,{get:()=>t[o],enumerable:!(r=MM(t,o))||r.enumerable});return e};var B=(e,t,n)=>(n=e!=null?TM(kM(e)):{},LM(t||!e||!e.__esModule?qb(n,"default",{value:e,enumerable:!0}):n,e));var rv=No(Yt=>{"use strict";function up(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(0<ju(o,t))e[r]=t,e[n]=o,n=r;else break e}}function To(e){return e.length===0?null:e[0]}function Fu(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,a=o>>>1;r<a;){var i=2*(r+1)-1,l=e[i],s=i+1,c=e[s];if(0>ju(l,n))s<o&&0>ju(c,l)?(e[r]=c,e[s]=n,r=s):(e[r]=l,e[i]=n,r=i);else if(s<o&&0>ju(c,n))e[r]=c,e[s]=n,r=s;else break e}}return t}function ju(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Yt.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Wb=performance,Yt.unstable_now=function(){return Wb.now()}):(lp=Date,Yb=lp.now(),Yt.unstable_now=function(){return lp.now()-Yb});var Wb,lp,Yb,ta=[],za=[],DM=1,Vr=null,Xn=3,dp=!1,Ws=!1,Ys=!1,fp=!1,Jb=typeof setTimeout=="function"?setTimeout:null,Zb=typeof clearTimeout=="function"?clearTimeout:null,Qb=typeof setImmediate<"u"?setImmediate:null;function Vu(e){for(var t=To(za);t!==null;){if(t.callback===null)Fu(za);else if(t.startTime<=e)Fu(za),t.sortIndex=t.expirationTime,up(ta,t);else break;t=To(za)}}function mp(e){if(Ys=!1,Vu(e),!Ws)if(To(ta)!==null)Ws=!0,Ml||(Ml=!0,Tl());else{var t=To(za);t!==null&&pp(mp,t.startTime-e)}}var Ml=!1,Qs=-1,ev=5,tv=-1;function nv(){return fp?!0:!(Yt.unstable_now()-tv<ev)}function sp(){if(fp=!1,Ml){var e=Yt.unstable_now();tv=e;var t=!0;try{e:{Ws=!1,Ys&&(Ys=!1,Zb(Qs),Qs=-1),dp=!0;var n=Xn;try{t:{for(Vu(e),Vr=To(ta);Vr!==null&&!(Vr.expirationTime>e&&nv());){var r=Vr.callback;if(typeof r=="function"){Vr.callback=null,Xn=Vr.priorityLevel;var o=r(Vr.expirationTime<=e);if(e=Yt.unstable_now(),typeof o=="function"){Vr.callback=o,Vu(e),t=!0;break t}Vr===To(ta)&&Fu(ta),Vu(e)}else Fu(ta);Vr=To(ta)}if(Vr!==null)t=!0;else{var a=To(za);a!==null&&pp(mp,a.startTime-e),t=!1}}break e}finally{Vr=null,Xn=n,dp=!1}t=void 0}}finally{t?Tl():Ml=!1}}}var Tl;typeof Qb=="function"?Tl=function(){Qb(sp)}:typeof MessageChannel<"u"?(cp=new MessageChannel,Xb=cp.port2,cp.port1.onmessage=sp,Tl=function(){Xb.postMessage(null)}):Tl=function(){Jb(sp,0)};var cp,Xb;function pp(e,t){Qs=Jb(function(){e(Yt.unstable_now())},t)}Yt.unstable_IdlePriority=5;Yt.unstable_ImmediatePriority=1;Yt.unstable_LowPriority=4;Yt.unstable_NormalPriority=3;Yt.unstable_Profiling=null;Yt.unstable_UserBlockingPriority=2;Yt.unstable_cancelCallback=function(e){e.callback=null};Yt.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ev=0<e?Math.floor(1e3/e):5};Yt.unstable_getCurrentPriorityLevel=function(){return Xn};Yt.unstable_next=function(e){switch(Xn){case 1:case 2:case 3:var t=3;break;default:t=Xn}var n=Xn;Xn=t;try{return e()}finally{Xn=n}};Yt.unstable_requestPaint=function(){fp=!0};Yt.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Xn;Xn=e;try{return t()}finally{Xn=n}};Yt.unstable_scheduleCallback=function(e,t,n){var r=Yt.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=n+o,e={id:DM++,callback:t,priorityLevel:e,startTime:n,expirationTime:o,sortIndex:-1},n>r?(e.sortIndex=n,up(za,e),To(ta)===null&&e===To(za)&&(Ys?(Zb(Qs),Qs=-1):Ys=!0,pp(mp,n-r))):(e.sortIndex=o,up(ta,e),Ws||dp||(Ws=!0,Ml||(Ml=!0,Tl()))),e};Yt.unstable_shouldYield=nv;Yt.unstable_wrapCallback=function(e){var t=Xn;return function(){var n=Xn;Xn=t;try{return e.apply(this,arguments)}finally{Xn=n}}}});var av=No((WB,ov)=>{"use strict";ov.exports=rv()});var hv=No(Ye=>{"use strict";var yp=Symbol.for("react.transitional.element"),BM=Symbol.for("react.portal"),IM=Symbol.for("react.fragment"),zM=Symbol.for("react.strict_mode"),PM=Symbol.for("react.profiler"),UM=Symbol.for("react.consumer"),jM=Symbol.for("react.context"),VM=Symbol.for("react.forward_ref"),FM=Symbol.for("react.suspense"),HM=Symbol.for("react.memo"),uv=Symbol.for("react.lazy"),$M=Symbol.for("react.activity"),iv=Symbol.iterator;function KM(e){return e===null||typeof e!="object"?null:(e=iv&&e[iv]||e["@@iterator"],typeof e=="function"?e:null)}var dv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},fv=Object.assign,mv={};function kl(e,t,n){this.props=e,this.context=t,this.refs=mv,this.updater=n||dv}kl.prototype.isReactComponent={};kl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};kl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function pv(){}pv.prototype=kl.prototype;function bp(e,t,n){this.props=e,this.context=t,this.refs=mv,this.updater=n||dv}var vp=bp.prototype=new pv;vp.constructor=bp;fv(vp,kl.prototype);vp.isPureReactComponent=!0;var lv=Array.isArray;function hp(){}var Ht={H:null,A:null,T:null,S:null},gv=Object.prototype.hasOwnProperty;function xp(e,t,n){var r=n.ref;return{$$typeof:yp,type:e,key:t,ref:r!==void 0?r:null,props:n}}function GM(e,t){return xp(e.type,t,e.props)}function Sp(e){return typeof e=="object"&&e!==null&&e.$$typeof===yp}function qM(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var sv=/\/+/g;function gp(e,t){return typeof e=="object"&&e!==null&&e.key!=null?qM(""+e.key):t.toString(36)}function WM(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(hp,hp):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Ol(e,t,n,r,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(a){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case yp:case BM:i=!0;break;case uv:return i=e._init,Ol(i(e._payload),t,n,r,o)}}if(i)return o=o(e),i=r===""?"."+gp(e,0):r,lv(o)?(n="",i!=null&&(n=i.replace(sv,"$&/")+"/"),Ol(o,t,n,"",function(c){return c})):o!=null&&(Sp(o)&&(o=GM(o,n+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(sv,"$&/")+"/")+i)),t.push(o)),1;i=0;var l=r===""?".":r+":";if(lv(e))for(var s=0;s<e.length;s++)r=e[s],a=l+gp(r,s),i+=Ol(r,t,n,a,o);else if(s=KM(e),typeof s=="function")for(e=s.call(e),s=0;!(r=e.next()).done;)r=r.value,a=l+gp(r,s++),i+=Ol(r,t,n,a,o);else if(a==="object"){if(typeof e.then=="function")return Ol(WM(e),t,n,r,o);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return i}function Hu(e,t,n){if(e==null)return e;var r=[],o=0;return Ol(e,r,"","",function(a){return t.call(n,a,o++)}),r}function YM(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var cv=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},QM={map:Hu,forEach:function(e,t,n){Hu(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Hu(e,function(){t++}),t},toArray:function(e){return Hu(e,function(t){return t})||[]},only:function(e){if(!Sp(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Ye.Activity=$M;Ye.Children=QM;Ye.Component=kl;Ye.Fragment=IM;Ye.Profiler=PM;Ye.PureComponent=bp;Ye.StrictMode=zM;Ye.Suspense=FM;Ye.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Ht;Ye.__COMPILER_RUNTIME={__proto__:null,c:function(e){return Ht.H.useMemoCache(e)}};Ye.cache=function(e){return function(){return e.apply(null,arguments)}};Ye.cacheSignal=function(){return null};Ye.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=fv({},e.props),o=e.key;if(t!=null)for(a in t.key!==void 0&&(o=""+t.key),t)!gv.call(t,a)||a==="key"||a==="__self"||a==="__source"||a==="ref"&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var i=Array(a),l=0;l<a;l++)i[l]=arguments[l+2];r.children=i}return xp(e.type,o,r)};Ye.createContext=function(e){return e={$$typeof:jM,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:UM,_context:e},e};Ye.createElement=function(e,t,n){var r,o={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=""+t.key),t)gv.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(o[r]=t[r]);var i=arguments.length-2;if(i===1)o.children=n;else if(1<i){for(var l=Array(i),s=0;s<i;s++)l[s]=arguments[s+2];o.children=l}if(e&&e.defaultProps)for(r in i=e.defaultProps,i)o[r]===void 0&&(o[r]=i[r]);return xp(e,a,o)};Ye.createRef=function(){return{current:null}};Ye.forwardRef=function(e){return{$$typeof:VM,render:e}};Ye.isValidElement=Sp;Ye.lazy=function(e){return{$$typeof:uv,_payload:{_status:-1,_result:e},_init:YM}};Ye.memo=function(e,t){return{$$typeof:HM,type:e,compare:t===void 0?null:t}};Ye.startTransition=function(e){var t=Ht.T,n={};Ht.T=n;try{var r=e(),o=Ht.S;o!==null&&o(n,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(hp,cv)}catch(a){cv(a)}finally{t!==null&&n.types!==null&&(t.types=n.types),Ht.T=t}};Ye.unstable_useCacheRefresh=function(){return Ht.H.useCacheRefresh()};Ye.use=function(e){return Ht.H.use(e)};Ye.useActionState=function(e,t,n){return Ht.H.useActionState(e,t,n)};Ye.useCallback=function(e,t){return Ht.H.useCallback(e,t)};Ye.useContext=function(e){return Ht.H.useContext(e)};Ye.useDebugValue=function(){};Ye.useDeferredValue=function(e,t){return Ht.H.useDeferredValue(e,t)};Ye.useEffect=function(e,t){return Ht.H.useEffect(e,t)};Ye.useEffectEvent=function(e){return Ht.H.useEffectEvent(e)};Ye.useId=function(){return Ht.H.useId()};Ye.useImperativeHandle=function(e,t,n){return Ht.H.useImperativeHandle(e,t,n)};Ye.useInsertionEffect=function(e,t){return Ht.H.useInsertionEffect(e,t)};Ye.useLayoutEffect=function(e,t){return Ht.H.useLayoutEffect(e,t)};Ye.useMemo=function(e,t){return Ht.H.useMemo(e,t)};Ye.useOptimistic=function(e,t){return Ht.H.useOptimistic(e,t)};Ye.useReducer=function(e,t,n){return Ht.H.useReducer(e,t,n)};Ye.useRef=function(e){return Ht.H.useRef(e)};Ye.useState=function(e){return Ht.H.useState(e)};Ye.useSyncExternalStore=function(e,t,n){return Ht.H.useSyncExternalStore(e,t,n)};Ye.useTransition=function(){return Ht.H.useTransition()};Ye.version="19.2.4"});var xe=No((QB,yv)=>{"use strict";yv.exports=hv()});var vv=No(tr=>{"use strict";var XM=xe();function bv(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Pa(){}var er={d:{f:Pa,r:function(){throw Error(bv(522))},D:Pa,C:Pa,L:Pa,m:Pa,X:Pa,S:Pa,M:Pa},p:0,findDOMNode:null},JM=Symbol.for("react.portal");function ZM(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:JM,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}var Xs=XM.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function $u(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}tr.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=er;tr.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(bv(299));return ZM(e,t,null,n)};tr.flushSync=function(e){var t=Xs.T,n=er.p;try{if(Xs.T=null,er.p=2,e)return e()}finally{Xs.T=t,er.p=n,er.d.f()}};tr.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,er.d.C(e,t))};tr.prefetchDNS=function(e){typeof e=="string"&&er.d.D(e)};tr.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,r=$u(n,t.crossOrigin),o=typeof t.integrity=="string"?t.integrity:void 0,a=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?er.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:r,integrity:o,fetchPriority:a}):n==="script"&&er.d.X(e,{crossOrigin:r,integrity:o,fetchPriority:a,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};tr.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=$u(t.as,t.crossOrigin);er.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&er.d.M(e)};tr.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,r=$u(n,t.crossOrigin);er.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};tr.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=$u(t.as,t.crossOrigin);er.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else er.d.m(e)};tr.requestFormReset=function(e){er.d.r(e)};tr.unstable_batchedUpdates=function(e,t){return e(t)};tr.useFormState=function(e,t,n){return Xs.H.useFormState(e,t,n)};tr.useFormStatus=function(){return Xs.H.useHostTransitionStatus()};tr.version="19.2.4"});var Bi=No((JB,Sv)=>{"use strict";function xv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(xv)}catch(e){console.error(e)}}xv(),Sv.exports=vv()});var Lw=No(hf=>{"use strict";var Mn=av(),qx=xe(),eO=Bi();function K(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Wx(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function zc(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Yx(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Qx(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function wv(e){if(zc(e)!==e)throw Error(K(188))}function tO(e){var t=e.alternate;if(!t){if(t=zc(e),t===null)throw Error(K(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(o===null)break;var a=o.alternate;if(a===null){if(r=o.return,r!==null){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return wv(o),e;if(a===r)return wv(o),t;a=a.sibling}throw Error(K(188))}if(n.return!==r.return)n=o,r=a;else{for(var i=!1,l=o.child;l;){if(l===n){i=!0,n=o,r=a;break}if(l===r){i=!0,r=o,n=a;break}l=l.sibling}if(!i){for(l=a.child;l;){if(l===n){i=!0,n=a,r=o;break}if(l===r){i=!0,r=a,n=o;break}l=l.sibling}if(!i)throw Error(K(189))}}if(n.alternate!==r)throw Error(K(190))}if(n.tag!==3)throw Error(K(188));return n.stateNode.current===n?e:t}function Xx(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=Xx(e),t!==null)return t;e=e.sibling}return null}var Gt=Object.assign,nO=Symbol.for("react.element"),Ku=Symbol.for("react.transitional.element"),ac=Symbol.for("react.portal"),zl=Symbol.for("react.fragment"),Jx=Symbol.for("react.strict_mode"),tg=Symbol.for("react.profiler"),Zx=Symbol.for("react.consumer"),ca=Symbol.for("react.context"),Qg=Symbol.for("react.forward_ref"),ng=Symbol.for("react.suspense"),rg=Symbol.for("react.suspense_list"),Xg=Symbol.for("react.memo"),Ua=Symbol.for("react.lazy"),og=Symbol.for("react.activity"),rO=Symbol.for("react.memo_cache_sentinel"),Av=Symbol.iterator;function Js(e){return e===null||typeof e!="object"?null:(e=Av&&e[Av]||e["@@iterator"],typeof e=="function"?e:null)}var oO=Symbol.for("react.client.reference");function ag(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===oO?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case zl:return"Fragment";case tg:return"Profiler";case Jx:return"StrictMode";case ng:return"Suspense";case rg:return"SuspenseList";case og:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case ac:return"Portal";case ca:return e.displayName||"Context";case Zx:return(e._context.displayName||"Context")+".Consumer";case Qg:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Xg:return t=e.displayName||null,t!==null?t:ag(e.type)||"Memo";case Ua:t=e._payload,e=e._init;try{return ag(e(t))}catch{}}return null}var ic=Array.isArray,je=qx.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,At=eO.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Vi={pending:!1,data:null,method:null,action:null},ig=[],Pl=-1;function Lo(e){return{current:e}}function zn(e){0>Pl||(e.current=ig[Pl],ig[Pl]=null,Pl--)}function jt(e,t){Pl++,ig[Pl]=e.current,e.current=t}var _o=Lo(null),Ac=Lo(null),Qa=Lo(null),Cd=Lo(null);function Rd(e,t){switch(jt(Qa,t),jt(Ac,e),jt(_o,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Ox(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Ox(t),e=vw(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}zn(_o),jt(_o,e)}function ns(){zn(_o),zn(Ac),zn(Qa)}function lg(e){e.memoizedState!==null&&jt(Cd,e);var t=_o.current,n=vw(t,e.type);t!==n&&(jt(Ac,e),jt(_o,n))}function Ed(e){Ac.current===e&&(zn(_o),zn(Ac)),Cd.current===e&&(zn(Cd),Dc._currentValue=Vi)}var wp,Cv;function zi(e){if(wp===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);wp=t&&t[1]||"",Cv=-1<n.stack.indexOf(`
|
|
2
2
|
at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
-
`+
|
|
3
|
+
`+wp+e+Cv}var Ap=!1;function Cp(e,t){if(!e||Ap)return"";Ap=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var u=function(){throw Error()};if(Object.defineProperty(u.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(u,[])}catch(p){var f=p}Reflect.construct(e,[],u)}else{try{u.call()}catch(p){f=p}e.call(u.prototype)}}else{try{throw Error()}catch(p){f=p}(u=e())&&typeof u.catch=="function"&&u.catch(function(){})}}catch(p){if(p&&f&&typeof p.stack=="string")return[p.stack,f.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var o=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");o&&o.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var a=r.DetermineComponentFrameRoot(),i=a[0],l=a[1];if(i&&l){var s=i.split(`
|
|
4
4
|
`),c=l.split(`
|
|
5
5
|
`);for(o=r=0;r<s.length&&!s[r].includes("DetermineComponentFrameRoot");)r++;for(;o<c.length&&!c[o].includes("DetermineComponentFrameRoot");)o++;if(r===s.length||o===c.length)for(r=s.length-1,o=c.length-1;1<=r&&0<=o&&s[r]!==c[o];)o--;for(;1<=r&&0<=o;r--,o--)if(s[r]!==c[o]){if(r!==1||o!==1)do if(r--,o--,0>o||s[r]!==c[o]){var d=`
|
|
6
|
-
`+s[r].replace(" at new "," at ");return e.displayName&&d.includes("<anonymous>")&&(d=d.replace("<anonymous>",e.displayName)),d}while(1<=r&&0<=o);break}}}finally{
|
|
6
|
+
`+s[r].replace(" at new "," at ");return e.displayName&&d.includes("<anonymous>")&&(d=d.replace("<anonymous>",e.displayName)),d}while(1<=r&&0<=o);break}}}finally{Ap=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?zi(n):""}function aO(e,t){switch(e.tag){case 26:case 27:case 5:return zi(e.type);case 16:return zi("Lazy");case 13:return e.child!==t&&t!==null?zi("Suspense Fallback"):zi("Suspense");case 19:return zi("SuspenseList");case 0:case 15:return Cp(e.type,!1);case 11:return Cp(e.type.render,!1);case 1:return Cp(e.type,!0);case 31:return zi("Activity");default:return""}}function Rv(e){try{var t="",n=null;do t+=aO(e,n),n=e,e=e.return;while(e);return t}catch(r){return`
|
|
7
7
|
Error generating stack: `+r.message+`
|
|
8
|
-
`+r.stack}}var lg=Object.prototype.hasOwnProperty,Xg=Mn.unstable_scheduleCallback,Cp=Mn.unstable_cancelCallback,aO=Mn.unstable_shouldYield,iO=Mn.unstable_requestPaint,Er=Mn.unstable_now,lO=Mn.unstable_getCurrentPriorityLevel,Zx=Mn.unstable_ImmediatePriority,e0=Mn.unstable_UserBlockingPriority,Nd=Mn.unstable_NormalPriority,sO=Mn.unstable_LowPriority,t0=Mn.unstable_IdlePriority,cO=Mn.log,uO=Mn.unstable_setDisableYieldValue,Pc=null,Tr=null;function Ka(e){if(typeof cO=="function"&&uO(e),Tr&&typeof Tr.setStrictMode=="function")try{Tr.setStrictMode(Pc,e)}catch{}}var Mr=Math.clz32?Math.clz32:mO,dO=Math.log,fO=Math.LN2;function mO(e){return e>>>=0,e===0?32:31-(dO(e)/fO|0)|0}var Ku=256,Gu=262144,qu=4194304;function Pi(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Jd(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var o=0,a=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=r&134217727;return l!==0?(r=l&~a,r!==0?o=Pi(r):(i&=l,i!==0?o=Pi(i):n||(n=l&~e,n!==0&&(o=Pi(n))))):(l=r&~a,l!==0?o=Pi(l):i!==0?o=Pi(i):n||(n=r&~e,n!==0&&(o=Pi(n)))),o===0?0:t!==0&&t!==o&&(t&a)===0&&(a=o&-o,n=t&-t,a>=n||a===32&&(n&4194048)!==0)?t:o}function Uc(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function pO(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function n0(){var e=qu;return qu<<=1,(qu&62914560)===0&&(qu=4194304),e}function Rp(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function jc(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function gO(e,t,n,r,o,a){var i=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,c=e.hiddenUpdates;for(n=i&~n;0<n;){var d=31-Mr(n),u=1<<d;l[d]=0,s[d]=-1;var f=c[d];if(f!==null)for(c[d]=null,d=0;d<f.length;d++){var p=f[d];p!==null&&(p.lane&=-536870913)}n&=~u}r!==0&&r0(e,r,0),a!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=a&~(i&~t))}function r0(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Mr(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function o0(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Mr(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}function a0(e,t){var n=t&-t;return n=(n&42)!==0?1:Jg(n),(n&(e.suspendedLanes|t))!==0?0:n}function Jg(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Zg(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function i0(){var e=At.p;return e!==0?e:(e=window.event,e===void 0?32:Mw(e.type))}function Rv(e,t){var n=At.p;try{return At.p=e,t()}finally{At.p=n}}var ci=Math.random().toString(36).slice(2),Fn="__reactFiber$"+ci,fr="__reactProps$"+ci,ms="__reactContainer$"+ci,sg="__reactEvents$"+ci,hO="__reactListeners$"+ci,yO="__reactHandles$"+ci,Nv="__reactResources$"+ci,Vc="__reactMarker$"+ci;function eh(e){delete e[Fn],delete e[fr],delete e[sg],delete e[hO],delete e[yO]}function Ul(e){var t=e[Fn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ms]||n[Fn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Dx(e);e!==null;){if(n=e[Fn])return n;e=Dx(e)}return t}e=n,n=e.parentNode}return null}function ps(e){if(e=e[Fn]||e[ms]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function lc(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(K(33))}function Yl(e){var t=e[Nv];return t||(t=e[Nv]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function In(e){e[Vc]=!0}var l0=new Set,s0={};function Xi(e,t){rs(e,t),rs(e+"Capture",t)}function rs(e,t){for(s0[e]=t,e=0;e<t.length;e++)l0.add(t[e])}var bO=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Ev={},Tv={};function vO(e){return lg.call(Tv,e)?!0:lg.call(Ev,e)?!1:bO.test(e)?Tv[e]=!0:(Ev[e]=!0,!1)}function sd(e,t,n){if(vO(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var r=t.toLowerCase().slice(0,5);if(r!=="data-"&&r!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function Wu(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function na(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+r)}}function Hr(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function c0(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function xO(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){n=""+i,a.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function cg(e){if(!e._valueTracker){var t=c0(e)?"checked":"value";e._valueTracker=xO(e,t,""+e[t])}}function u0(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=c0(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Ed(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var SO=/[\n"\\]/g;function Gr(e){return e.replace(SO,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function ug(e,t,n,r,o,a,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Hr(t)):e.value!==""+Hr(t)&&(e.value=""+Hr(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?dg(e,i,Hr(t)):n!=null?dg(e,i,Hr(n)):r!=null&&e.removeAttribute("value"),o==null&&a!=null&&(e.defaultChecked=!!a),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Hr(l):e.removeAttribute("name")}function d0(e,t,n,r,o,a,i,l){if(a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.type=a),t!=null||n!=null){if(!(a!=="submit"&&a!=="reset"||t!=null)){cg(e);return}n=n!=null?""+Hr(n):"",t=t!=null?""+Hr(t):n,l||t===e.value||(e.value=t),e.defaultValue=t}r=r??o,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),cg(e)}function dg(e,t,n){t==="number"&&Ed(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ql(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Hr(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function f0(e,t,n){if(t!=null&&(t=""+Hr(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Hr(n):""}function m0(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(K(92));if(ic(r)){if(1<r.length)throw Error(K(93));r=r[0]}n=r}n==null&&(n=""),t=n}n=Hr(t),e.defaultValue=n,r=e.textContent,r===n&&r!==""&&r!==null&&(e.value=r),cg(e)}function os(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var wO=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Mv(e,t,n){var r=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?r?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":r?e.setProperty(t,n):typeof n!="number"||n===0||wO.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function p0(e,t,n){if(t!=null&&typeof t!="object")throw Error(K(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf("--")===0?e.setProperty(r,""):r==="float"?e.cssFloat="":e[r]="");for(var o in t)r=t[o],t.hasOwnProperty(o)&&n[o]!==r&&Mv(e,o,r)}else for(var a in t)t.hasOwnProperty(a)&&Mv(e,a,t[a])}function th(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var AO=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),CO=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function cd(e){return CO.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ua(){}var fg=null;function nh(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var jl=null,Xl=null;function Ov(e){var t=ps(e);if(t&&(e=t.stateNode)){var n=e[fr]||null;e:switch(e=t.stateNode,t.type){case"input":if(ug(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Gr(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=r[fr]||null;if(!o)throw Error(K(90));ug(r,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&u0(r)}break e;case"textarea":f0(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ql(e,!!n.multiple,t,!1)}}}var Np=!1;function g0(e,t,n){if(Np)return e(t,n);Np=!0;try{var r=e(t);return r}finally{if(Np=!1,(jl!==null||Xl!==null)&&(df(),jl&&(t=jl,e=Xl,Xl=jl=null,Ov(t),e)))for(t=0;t<e.length;t++)Ov(e[t])}}function Cc(e,t){var n=e.stateNode;if(n===null)return null;var r=n[fr]||null;if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(K(231,t,typeof n));return n}var ga=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mg=!1;if(ga)try{_l={},Object.defineProperty(_l,"passive",{get:function(){mg=!0}}),window.addEventListener("test",_l,_l),window.removeEventListener("test",_l,_l)}catch{mg=!1}var _l,Ga=null,rh=null,ud=null;function h0(){if(ud)return ud;var e,t=rh,n=t.length,r,o="value"in Ga?Ga.value:Ga.textContent,a=o.length;for(e=0;e<n&&t[e]===o[e];e++);var i=n-e;for(r=1;r<=i&&t[n-r]===o[a-r];r++);return ud=o.slice(e,1<r?1-r:void 0)}function dd(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Yu(){return!0}function kv(){return!1}function mr(e){function t(n,r,o,a,i){this._reactName=n,this._targetInst=o,this.type=r,this.nativeEvent=a,this.target=i,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(n=e[l],this[l]=n?n(a):a[l]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Yu:kv,this.isPropagationStopped=kv,this}return Gt(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Yu)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Yu)},persist:function(){},isPersistent:Yu}),t}var Ji={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Zd=mr(Ji),Fc=Gt({},Ji,{view:0,detail:0}),RO=mr(Fc),Ep,Tp,Zs,ef=Gt({},Fc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:oh,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Zs&&(Zs&&e.type==="mousemove"?(Ep=e.screenX-Zs.screenX,Tp=e.screenY-Zs.screenY):Tp=Ep=0,Zs=e),Ep)},movementY:function(e){return"movementY"in e?e.movementY:Tp}}),_v=mr(ef),NO=Gt({},ef,{dataTransfer:0}),EO=mr(NO),TO=Gt({},Fc,{relatedTarget:0}),Mp=mr(TO),MO=Gt({},Ji,{animationName:0,elapsedTime:0,pseudoElement:0}),OO=mr(MO),kO=Gt({},Ji,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),_O=mr(kO),LO=Gt({},Ji,{data:0}),Lv=mr(LO),DO={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},BO={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},IO={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function zO(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=IO[e])?!!t[e]:!1}function oh(){return zO}var PO=Gt({},Fc,{key:function(e){if(e.key){var t=DO[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=dd(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?BO[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:oh,charCode:function(e){return e.type==="keypress"?dd(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?dd(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),UO=mr(PO),jO=Gt({},ef,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Dv=mr(jO),VO=Gt({},Fc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:oh}),FO=mr(VO),HO=Gt({},Ji,{propertyName:0,elapsedTime:0,pseudoElement:0}),$O=mr(HO),KO=Gt({},ef,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),GO=mr(KO),qO=Gt({},Ji,{newState:0,oldState:0}),WO=mr(qO),YO=[9,13,27,32],ah=ga&&"CompositionEvent"in window,uc=null;ga&&"documentMode"in document&&(uc=document.documentMode);var QO=ga&&"TextEvent"in window&&!uc,y0=ga&&(!ah||uc&&8<uc&&11>=uc),Bv=" ",Iv=!1;function b0(e,t){switch(e){case"keyup":return YO.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function v0(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Vl=!1;function XO(e,t){switch(e){case"compositionend":return v0(t);case"keypress":return t.which!==32?null:(Iv=!0,Bv);case"textInput":return e=t.data,e===Bv&&Iv?null:e;default:return null}}function JO(e,t){if(Vl)return e==="compositionend"||!ah&&b0(e,t)?(e=h0(),ud=rh=Ga=null,Vl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return y0&&t.locale!=="ko"?null:t.data;default:return null}}var ZO={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function zv(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!ZO[e.type]:t==="textarea"}function x0(e,t,n,r){jl?Xl?Xl.push(r):Xl=[r]:jl=r,t=Kd(t,"onChange"),0<t.length&&(n=new Zd("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var dc=null,Rc=null;function ek(e){gw(e,0)}function tf(e){var t=lc(e);if(u0(t))return e}function Pv(e,t){if(e==="change")return t}var S0=!1;ga&&(ga?(Xu="oninput"in document,Xu||(Op=document.createElement("div"),Op.setAttribute("oninput","return;"),Xu=typeof Op.oninput=="function"),Qu=Xu):Qu=!1,S0=Qu&&(!document.documentMode||9<document.documentMode));var Qu,Xu,Op;function Uv(){dc&&(dc.detachEvent("onpropertychange",w0),Rc=dc=null)}function w0(e){if(e.propertyName==="value"&&tf(Rc)){var t=[];x0(t,Rc,e,nh(e)),g0(ek,t)}}function tk(e,t,n){e==="focusin"?(Uv(),dc=t,Rc=n,dc.attachEvent("onpropertychange",w0)):e==="focusout"&&Uv()}function nk(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return tf(Rc)}function rk(e,t){if(e==="click")return tf(t)}function ok(e,t){if(e==="input"||e==="change")return tf(t)}function ak(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var kr=typeof Object.is=="function"?Object.is:ak;function Nc(e,t){if(kr(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!lg.call(t,o)||!kr(e[o],t[o]))return!1}return!0}function jv(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Vv(e,t){var n=jv(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=jv(n)}}function A0(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?A0(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function C0(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ed(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ed(e.document)}return t}function ih(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var ik=ga&&"documentMode"in document&&11>=document.documentMode,Fl=null,pg=null,fc=null,gg=!1;function Fv(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;gg||Fl==null||Fl!==Ed(r)||(r=Fl,"selectionStart"in r&&ih(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),fc&&Nc(fc,r)||(fc=r,r=Kd(pg,"onSelect"),0<r.length&&(t=new Zd("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Fl)))}function Ii(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Hl={animationend:Ii("Animation","AnimationEnd"),animationiteration:Ii("Animation","AnimationIteration"),animationstart:Ii("Animation","AnimationStart"),transitionrun:Ii("Transition","TransitionRun"),transitionstart:Ii("Transition","TransitionStart"),transitioncancel:Ii("Transition","TransitionCancel"),transitionend:Ii("Transition","TransitionEnd")},kp={},R0={};ga&&(R0=document.createElement("div").style,"AnimationEvent"in window||(delete Hl.animationend.animation,delete Hl.animationiteration.animation,delete Hl.animationstart.animation),"TransitionEvent"in window||delete Hl.transitionend.transition);function Zi(e){if(kp[e])return kp[e];if(!Hl[e])return e;var t=Hl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in R0)return kp[e]=t[n];return e}var N0=Zi("animationend"),E0=Zi("animationiteration"),T0=Zi("animationstart"),lk=Zi("transitionrun"),sk=Zi("transitionstart"),ck=Zi("transitioncancel"),M0=Zi("transitionend"),O0=new Map,hg="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");hg.push("scrollEnd");function go(e,t){O0.set(e,t),Xi(t,[e])}var Td=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Fr=[],$l=0,lh=0;function nf(){for(var e=$l,t=lh=$l=0;t<e;){var n=Fr[t];Fr[t++]=null;var r=Fr[t];Fr[t++]=null;var o=Fr[t];Fr[t++]=null;var a=Fr[t];if(Fr[t++]=null,r!==null&&o!==null){var i=r.pending;i===null?o.next=o:(o.next=i.next,i.next=o),r.pending=o}a!==0&&k0(n,o,a)}}function rf(e,t,n,r){Fr[$l++]=e,Fr[$l++]=t,Fr[$l++]=n,Fr[$l++]=r,lh|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function sh(e,t,n,r){return rf(e,t,n,r),Md(e)}function el(e,t){return rf(e,null,null,t),Md(e)}function k0(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var o=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(o=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,o&&t!==null&&(o=31-Mr(n),e=a.hiddenUpdates,r=e[o],r===null?e[o]=[t]:r.push(t),t.lane=n|536870912),a):null}function Md(e){if(50<Sc)throw Sc=0,zg=null,Error(K(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Kl={};function uk(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rr(e,t,n,r){return new uk(e,t,n,r)}function ch(e){return e=e.prototype,!(!e||!e.isReactComponent)}function fa(e,t){var n=e.alternate;return n===null?(n=Rr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function _0(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function fd(e,t,n,r,o,a){var i=0;if(r=e,typeof e=="function")ch(e)&&(i=1);else if(typeof e=="string")i=m_(e,n,_o.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case rg:return e=Rr(31,n,t,o),e.elementType=rg,e.lanes=a,e;case zl:return Fi(n.children,o,a,t);case Xx:i=8,o|=24;break;case eg:return e=Rr(12,n,t,o|2),e.elementType=eg,e.lanes=a,e;case tg:return e=Rr(13,n,t,o),e.elementType=tg,e.lanes=a,e;case ng:return e=Rr(19,n,t,o),e.elementType=ng,e.lanes=a,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ca:i=10;break e;case Jx:i=9;break e;case Yg:i=11;break e;case Qg:i=14;break e;case Ua:i=16,r=null;break e}i=29,n=Error(K(130,e===null?"null":typeof e,"")),r=null}return t=Rr(i,n,t,o),t.elementType=e,t.type=r,t.lanes=a,t}function Fi(e,t,n,r){return e=Rr(7,e,r,t),e.lanes=n,e}function _p(e,t,n){return e=Rr(6,e,null,t),e.lanes=n,e}function L0(e){var t=Rr(18,null,null,0);return t.stateNode=e,t}function Lp(e,t,n){return t=Rr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Hv=new WeakMap;function qr(e,t){if(typeof e=="object"&&e!==null){var n=Hv.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Cv(t)},Hv.set(e,t),t)}return{value:e,source:t,stack:Cv(t)}}var Gl=[],ql=0,Od=null,Ec=0,$r=[],Kr=0,ai=null,Mo=1,Oo="";function la(e,t){Gl[ql++]=Ec,Gl[ql++]=Od,Od=e,Ec=t}function D0(e,t,n){$r[Kr++]=Mo,$r[Kr++]=Oo,$r[Kr++]=ai,ai=e;var r=Mo;e=Oo;var o=32-Mr(r)-1;r&=~(1<<o),n+=1;var a=32-Mr(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Mo=1<<32-Mr(t)+o|n<<o|r,Oo=a+e}else Mo=1<<a|n<<o|r,Oo=e}function uh(e){e.return!==null&&(la(e,1),D0(e,1,0))}function dh(e){for(;e===Od;)Od=Gl[--ql],Gl[ql]=null,Ec=Gl[--ql],Gl[ql]=null;for(;e===ai;)ai=$r[--Kr],$r[Kr]=null,Oo=$r[--Kr],$r[Kr]=null,Mo=$r[--Kr],$r[Kr]=null}function B0(e,t){$r[Kr++]=Mo,$r[Kr++]=Oo,$r[Kr++]=ai,Mo=t.id,Oo=t.overflow,ai=e}var Hn=null,Kt=null,bt=!1,Xa=null,Wr=!1,yg=Error(K(519));function ii(e){var t=Error(K(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Tc(qr(t,e)),yg}function $v(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[Fn]=e,t[fr]=r,n){case"dialog":ut("cancel",t),ut("close",t);break;case"iframe":case"object":case"embed":ut("load",t);break;case"video":case"audio":for(n=0;n<_c.length;n++)ut(_c[n],t);break;case"source":ut("error",t);break;case"img":case"image":case"link":ut("error",t),ut("load",t);break;case"details":ut("toggle",t);break;case"input":ut("invalid",t),d0(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":ut("invalid",t);break;case"textarea":ut("invalid",t),m0(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||r.suppressHydrationWarning===!0||yw(t.textContent,n)?(r.popover!=null&&(ut("beforetoggle",t),ut("toggle",t)),r.onScroll!=null&&ut("scroll",t),r.onScrollEnd!=null&&ut("scrollend",t),r.onClick!=null&&(t.onclick=ua),t=!0):t=!1,t||ii(e,!0)}function Kv(e){for(Hn=e.return;Hn;)switch(Hn.tag){case 5:case 31:case 13:Wr=!1;return;case 27:case 3:Wr=!0;return;default:Hn=Hn.return}}function Ll(e){if(e!==Hn)return!1;if(!bt)return Kv(e),bt=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||Fg(e.type,e.memoizedProps)),n=!n),n&&Kt&&ii(e),Kv(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Kt=Lx(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Kt=Lx(e)}else t===27?(t=Kt,ui(e.type)?(e=Gg,Gg=null,Kt=e):Kt=t):Kt=Hn?Qr(e.stateNode.nextSibling):null;return!0}function Gi(){Kt=Hn=null,bt=!1}function Dp(){var e=Xa;return e!==null&&(ur===null?ur=e:ur.push.apply(ur,e),Xa=null),e}function Tc(e){Xa===null?Xa=[e]:Xa.push(e)}var bg=Lo(null),tl=null,da=null;function Va(e,t,n){jt(bg,t._currentValue),t._currentValue=n}function ma(e){e._currentValue=bg.current,zn(bg)}function vg(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function xg(e,t,n,r){var o=e.child;for(o!==null&&(o.return=e);o!==null;){var a=o.dependencies;if(a!==null){var i=o.child;a=a.firstContext;e:for(;a!==null;){var l=a;a=o;for(var s=0;s<t.length;s++)if(l.context===t[s]){a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),vg(a.return,n,e),r||(i=null);break e}a=l.next}}else if(o.tag===18){if(i=o.return,i===null)throw Error(K(341));i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),vg(i,n,e),i=null}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===e){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}}function gs(e,t,n,r){e=null;for(var o=t,a=!1;o!==null;){if(!a){if((o.flags&524288)!==0)a=!0;else if((o.flags&262144)!==0)break}if(o.tag===10){var i=o.alternate;if(i===null)throw Error(K(387));if(i=i.memoizedProps,i!==null){var l=o.type;kr(o.pendingProps.value,i.value)||(e!==null?e.push(l):e=[l])}}else if(o===Ad.current){if(i=o.alternate,i===null)throw Error(K(387));i.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(e!==null?e.push(Dc):e=[Dc])}o=o.return}e!==null&&xg(t,e,n,r),t.flags|=262144}function kd(e){for(e=e.firstContext;e!==null;){if(!kr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function qi(e){tl=e,da=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function $n(e){return I0(tl,e)}function Ju(e,t){return tl===null&&qi(e),I0(e,t)}function I0(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},da===null){if(e===null)throw Error(K(308));da=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else da=da.next=t;return n}var dk=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,r){e.push(r)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},fk=Mn.unstable_scheduleCallback,mk=Mn.unstable_NormalPriority,wn={$$typeof:ca,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function fh(){return{controller:new dk,data:new Map,refCount:0}}function Hc(e){e.refCount--,e.refCount===0&&fk(mk,function(){e.controller.abort()})}var mc=null,Sg=0,as=0,Jl=null;function pk(e,t){if(mc===null){var n=mc=[];Sg=0,as=zh(),Jl={status:"pending",value:void 0,then:function(r){n.push(r)}}}return Sg++,t.then(Gv,Gv),t}function Gv(){if(--Sg===0&&mc!==null){Jl!==null&&(Jl.status="fulfilled");var e=mc;mc=null,as=0,Jl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function gk(e,t){var n=[],r={status:"pending",value:null,reason:null,then:function(o){n.push(o)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var o=0;o<n.length;o++)(0,n[o])(t)},function(o){for(r.status="rejected",r.reason=o,o=0;o<n.length;o++)(0,n[o])(void 0)}),r}var qv=je.S;je.S=function(e,t){QS=Er(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&pk(e,t),qv!==null&&qv(e,t)};var Hi=Lo(null);function mh(){var e=Hi.current;return e!==null?e:Pt.pooledCache}function md(e,t){t===null?jt(Hi,Hi.current):jt(Hi,t.pool)}function z0(){var e=mh();return e===null?null:{parent:wn._currentValue,pool:e}}var hs=Error(K(460)),ph=Error(K(474)),of=Error(K(542)),_d={then:function(){}};function Wv(e){return e=e.status,e==="fulfilled"||e==="rejected"}function P0(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(ua,ua),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Qv(e),e;default:if(typeof t.status=="string")t.then(ua,ua);else{if(e=Pt,e!==null&&100<e.shellSuspendCounter)throw Error(K(482));e=t,e.status="pending",e.then(function(r){if(t.status==="pending"){var o=t;o.status="fulfilled",o.value=r}},function(r){if(t.status==="pending"){var o=t;o.status="rejected",o.reason=r}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Qv(e),e}throw $i=t,hs}}function Ui(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?($i=n,hs):n}}var $i=null;function Yv(){if($i===null)throw Error(K(459));var e=$i;return $i=null,e}function Qv(e){if(e===hs||e===of)throw Error(K(483))}var Zl=null,Mc=0;function Zu(e){var t=Mc;return Mc+=1,Zl===null&&(Zl=[]),P0(Zl,e,t)}function ec(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function ed(e,t){throw t.$$typeof===tO?Error(K(525)):(e=Object.prototype.toString.call(t),Error(K(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function U0(e){function t(h,g){if(e){var y=h.deletions;y===null?(h.deletions=[g],h.flags|=16):y.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function r(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function o(h,g){return h=fa(h,g),h.index=0,h.sibling=null,h}function a(h,g,y){return h.index=y,e?(y=h.alternate,y!==null?(y=y.index,y<g?(h.flags|=67108866,g):y):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function i(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function l(h,g,y,x){return g===null||g.tag!==6?(g=_p(y,h.mode,x),g.return=h,g):(g=o(g,y),g.return=h,g)}function s(h,g,y,x){var A=y.type;return A===zl?d(h,g,y.props.children,x,y.key):g!==null&&(g.elementType===A||typeof A=="object"&&A!==null&&A.$$typeof===Ua&&Ui(A)===g.type)?(g=o(g,y.props),ec(g,y),g.return=h,g):(g=fd(y.type,y.key,y.props,null,h.mode,x),ec(g,y),g.return=h,g)}function c(h,g,y,x){return g===null||g.tag!==4||g.stateNode.containerInfo!==y.containerInfo||g.stateNode.implementation!==y.implementation?(g=Lp(y,h.mode,x),g.return=h,g):(g=o(g,y.children||[]),g.return=h,g)}function d(h,g,y,x,A){return g===null||g.tag!==7?(g=Fi(y,h.mode,x,A),g.return=h,g):(g=o(g,y),g.return=h,g)}function u(h,g,y){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=_p(""+g,h.mode,y),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case $u:return y=fd(g.type,g.key,g.props,null,h.mode,y),ec(y,g),y.return=h,y;case ac:return g=Lp(g,h.mode,y),g.return=h,g;case Ua:return g=Ui(g),u(h,g,y)}if(ic(g)||Js(g))return g=Fi(g,h.mode,y,null),g.return=h,g;if(typeof g.then=="function")return u(h,Zu(g),y);if(g.$$typeof===ca)return u(h,Ju(h,g),y);ed(h,g)}return null}function f(h,g,y,x){var A=g!==null?g.key:null;if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return A!==null?null:l(h,g,""+y,x);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case $u:return y.key===A?s(h,g,y,x):null;case ac:return y.key===A?c(h,g,y,x):null;case Ua:return y=Ui(y),f(h,g,y,x)}if(ic(y)||Js(y))return A!==null?null:d(h,g,y,x,null);if(typeof y.then=="function")return f(h,g,Zu(y),x);if(y.$$typeof===ca)return f(h,g,Ju(h,y),x);ed(h,y)}return null}function p(h,g,y,x,A){if(typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint")return h=h.get(y)||null,l(g,h,""+x,A);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case $u:return h=h.get(x.key===null?y:x.key)||null,s(g,h,x,A);case ac:return h=h.get(x.key===null?y:x.key)||null,c(g,h,x,A);case Ua:return x=Ui(x),p(h,g,y,x,A)}if(ic(x)||Js(x))return h=h.get(y)||null,d(g,h,x,A,null);if(typeof x.then=="function")return p(h,g,y,Zu(x),A);if(x.$$typeof===ca)return p(h,g,y,Ju(g,x),A);ed(g,x)}return null}function b(h,g,y,x){for(var A=null,N=null,E=g,C=g=0,O=null;E!==null&&C<y.length;C++){E.index>C?(O=E,E=null):O=E.sibling;var L=f(h,E,y[C],x);if(L===null){E===null&&(E=O);break}e&&E&&L.alternate===null&&t(h,E),g=a(L,g,C),N===null?A=L:N.sibling=L,N=L,E=O}if(C===y.length)return n(h,E),bt&&la(h,C),A;if(E===null){for(;C<y.length;C++)E=u(h,y[C],x),E!==null&&(g=a(E,g,C),N===null?A=E:N.sibling=E,N=E);return bt&&la(h,C),A}for(E=r(E);C<y.length;C++)O=p(E,h,C,y[C],x),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?C:O.key),g=a(O,g,C),N===null?A=O:N.sibling=O,N=O);return e&&E.forEach(function(V){return t(h,V)}),bt&&la(h,C),A}function m(h,g,y,x){if(y==null)throw Error(K(151));for(var A=null,N=null,E=g,C=g=0,O=null,L=y.next();E!==null&&!L.done;C++,L=y.next()){E.index>C?(O=E,E=null):O=E.sibling;var V=f(h,E,L.value,x);if(V===null){E===null&&(E=O);break}e&&E&&V.alternate===null&&t(h,E),g=a(V,g,C),N===null?A=V:N.sibling=V,N=V,E=O}if(L.done)return n(h,E),bt&&la(h,C),A;if(E===null){for(;!L.done;C++,L=y.next())L=u(h,L.value,x),L!==null&&(g=a(L,g,C),N===null?A=L:N.sibling=L,N=L);return bt&&la(h,C),A}for(E=r(E);!L.done;C++,L=y.next())L=p(E,h,C,L.value,x),L!==null&&(e&&L.alternate!==null&&E.delete(L.key===null?C:L.key),g=a(L,g,C),N===null?A=L:N.sibling=L,N=L);return e&&E.forEach(function(z){return t(h,z)}),bt&&la(h,C),A}function v(h,g,y,x){if(typeof y=="object"&&y!==null&&y.type===zl&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case $u:e:{for(var A=y.key;g!==null;){if(g.key===A){if(A=y.type,A===zl){if(g.tag===7){n(h,g.sibling),x=o(g,y.props.children),x.return=h,h=x;break e}}else if(g.elementType===A||typeof A=="object"&&A!==null&&A.$$typeof===Ua&&Ui(A)===g.type){n(h,g.sibling),x=o(g,y.props),ec(x,y),x.return=h,h=x;break e}n(h,g);break}else t(h,g);g=g.sibling}y.type===zl?(x=Fi(y.props.children,h.mode,x,y.key),x.return=h,h=x):(x=fd(y.type,y.key,y.props,null,h.mode,x),ec(x,y),x.return=h,h=x)}return i(h);case ac:e:{for(A=y.key;g!==null;){if(g.key===A)if(g.tag===4&&g.stateNode.containerInfo===y.containerInfo&&g.stateNode.implementation===y.implementation){n(h,g.sibling),x=o(g,y.children||[]),x.return=h,h=x;break e}else{n(h,g);break}else t(h,g);g=g.sibling}x=Lp(y,h.mode,x),x.return=h,h=x}return i(h);case Ua:return y=Ui(y),v(h,g,y,x)}if(ic(y))return b(h,g,y,x);if(Js(y)){if(A=Js(y),typeof A!="function")throw Error(K(150));return y=A.call(y),m(h,g,y,x)}if(typeof y.then=="function")return v(h,g,Zu(y),x);if(y.$$typeof===ca)return v(h,g,Ju(h,y),x);ed(h,y)}return typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint"?(y=""+y,g!==null&&g.tag===6?(n(h,g.sibling),x=o(g,y),x.return=h,h=x):(n(h,g),x=_p(y,h.mode,x),x.return=h,h=x),i(h)):n(h,g)}return function(h,g,y,x){try{Mc=0;var A=v(h,g,y,x);return Zl=null,A}catch(E){if(E===hs||E===of)throw E;var N=Rr(29,E,null,h.mode);return N.lanes=x,N.return=h,N}}}var Wi=U0(!0),j0=U0(!1),ja=!1;function gh(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function wg(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ja(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Za(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(wt&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,t=Md(e),k0(e,null,n),t}return rf(e,r,t,n),Md(e)}function pc(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,o0(e,n)}}function Bp(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var i={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?o=a=i:a=a.next=i,n=n.next}while(n!==null);a===null?o=a=t:a=a.next=t}else o=a=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ag=!1;function gc(){if(Ag){var e=Jl;if(e!==null)throw e}}function hc(e,t,n,r){Ag=!1;var o=e.updateQueue;ja=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var s=l,c=s.next;s.next=null,i===null?a=c:i.next=c,i=s;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==i&&(l===null?d.firstBaseUpdate=c:l.next=c,d.lastBaseUpdate=s))}if(a!==null){var u=o.baseState;i=0,d=c=s=null,l=a;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(mt&f)===f:(r&f)===f){f!==0&&f===as&&(Ag=!0),d!==null&&(d=d.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var b=e,m=l;f=t;var v=n;switch(m.tag){case 1:if(b=m.payload,typeof b=="function"){u=b.call(v,u,f);break e}u=b;break e;case 3:b.flags=b.flags&-65537|128;case 0:if(b=m.payload,f=typeof b=="function"?b.call(v,u,f):b,f==null)break e;u=Gt({},u,f);break e;case 2:ja=!0}}f=l.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=o.callbacks,p===null?o.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(c=d=p,s=u):d=d.next=p,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;p=l,l=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);d===null&&(s=u),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=d,a===null&&(o.shared.lanes=0),si|=i,e.lanes=i,e.memoizedState=u}}function V0(e,t){if(typeof e!="function")throw Error(K(191,e));e.call(t)}function F0(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)V0(n[e],t)}var is=Lo(null),Ld=Lo(0);function Xv(e,t){e=va,jt(Ld,e),jt(is,t),va=e|t.baseLanes}function Cg(){jt(Ld,va),jt(is,is.current)}function hh(){va=Ld.current,zn(is),zn(Ld)}var _r=Lo(null),Yr=null;function Fa(e){var t=e.alternate;jt(hn,hn.current&1),jt(_r,e),Yr===null&&(t===null||is.current!==null||t.memoizedState!==null)&&(Yr=e)}function Rg(e){jt(hn,hn.current),jt(_r,e),Yr===null&&(Yr=e)}function H0(e){e.tag===22?(jt(hn,hn.current),jt(_r,e),Yr===null&&(Yr=e)):Ha(e)}function Ha(){jt(hn,hn.current),jt(_r,_r.current)}function Cr(e){zn(_r),Yr===e&&(Yr=null),zn(hn)}var hn=Lo(0);function Dd(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||$g(n)||Kg(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ha=0,Qe=null,_t=null,xn=null,Bd=!1,es=!1,Yi=!1,Id=0,Oc=0,ts=null,hk=0;function fn(){throw Error(K(321))}function yh(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!kr(e[n],t[n]))return!1;return!0}function bh(e,t,n,r,o,a){return ha=a,Qe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,je.H=e===null||e.memoizedState===null?xS:Mh,Yi=!1,a=n(r,o),Yi=!1,es&&(a=K0(t,n,r,o)),$0(e),a}function $0(e){je.H=kc;var t=_t!==null&&_t.next!==null;if(ha=0,xn=_t=Qe=null,Bd=!1,Oc=0,ts=null,t)throw Error(K(300));e===null||An||(e=e.dependencies,e!==null&&kd(e)&&(An=!0))}function K0(e,t,n,r){Qe=e;var o=0;do{if(es&&(ts=null),Oc=0,es=!1,25<=o)throw Error(K(301));if(o+=1,xn=_t=null,e.updateQueue!=null){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}je.H=SS,a=t(n,r)}while(es);return a}function yk(){var e=je.H,t=e.useState()[0];return t=typeof t.then=="function"?$c(t):t,e=e.useState()[0],(_t!==null?_t.memoizedState:null)!==e&&(Qe.flags|=1024),t}function vh(){var e=Id!==0;return Id=0,e}function xh(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Sh(e){if(Bd){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Bd=!1}ha=0,xn=_t=Qe=null,es=!1,Oc=Id=0,ts=null}function nr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return xn===null?Qe.memoizedState=xn=e:xn=xn.next=e,xn}function yn(){if(_t===null){var e=Qe.alternate;e=e!==null?e.memoizedState:null}else e=_t.next;var t=xn===null?Qe.memoizedState:xn.next;if(t!==null)xn=t,_t=e;else{if(e===null)throw Qe.alternate===null?Error(K(467)):Error(K(310));_t=e,e={memoizedState:_t.memoizedState,baseState:_t.baseState,baseQueue:_t.baseQueue,queue:_t.queue,next:null},xn===null?Qe.memoizedState=xn=e:xn=xn.next=e}return xn}function af(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function $c(e){var t=Oc;return Oc+=1,ts===null&&(ts=[]),e=P0(ts,e,t),t=Qe,(xn===null?t.memoizedState:xn.next)===null&&(t=t.alternate,je.H=t===null||t.memoizedState===null?xS:Mh),e}function lf(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return $c(e);if(e.$$typeof===ca)return $n(e)}throw Error(K(438,String(e)))}function wh(e){var t=null,n=Qe.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=Qe.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(o){return o.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=af(),Qe.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=nO;return t.index++,n}function ya(e,t){return typeof t=="function"?t(e):t}function pd(e){var t=yn();return Ah(t,_t,e)}function Ah(e,t,n){var r=e.queue;if(r===null)throw Error(K(311));r.lastRenderedReducer=n;var o=e.baseQueue,a=r.pending;if(a!==null){if(o!==null){var i=o.next;o.next=a.next,a.next=i}t.baseQueue=o=a,r.pending=null}if(a=e.baseState,o===null)e.memoizedState=a;else{t=o.next;var l=i=null,s=null,c=t,d=!1;do{var u=c.lane&-536870913;if(u!==c.lane?(mt&u)===u:(ha&u)===u){var f=c.revertLane;if(f===0)s!==null&&(s=s.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),u===as&&(d=!0);else if((ha&f)===f){c=c.next,f===as&&(d=!0);continue}else u={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=u,i=a):s=s.next=u,Qe.lanes|=f,si|=f;u=c.action,Yi&&n(a,u),a=c.hasEagerState?c.eagerState:n(a,u)}else f={lane:u,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=f,i=a):s=s.next=f,Qe.lanes|=u,si|=u;c=c.next}while(c!==null&&c!==t);if(s===null?i=a:s.next=l,!kr(a,e.memoizedState)&&(An=!0,d&&(n=Jl,n!==null)))throw n;e.memoizedState=a,e.baseState=i,e.baseQueue=s,r.lastRenderedState=a}return o===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Ip(e){var t=yn(),n=t.queue;if(n===null)throw Error(K(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,a=t.memoizedState;if(o!==null){n.pending=null;var i=o=o.next;do a=e(a,i.action),i=i.next;while(i!==o);kr(a,t.memoizedState)||(An=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function G0(e,t,n){var r=Qe,o=yn(),a=bt;if(a){if(n===void 0)throw Error(K(407));n=n()}else n=t();var i=!kr((_t||o).memoizedState,n);if(i&&(o.memoizedState=n,An=!0),o=o.queue,Ch(Y0.bind(null,r,o,e),[e]),o.getSnapshot!==t||i||xn!==null&&xn.memoizedState.tag&1){if(r.flags|=2048,ls(9,{destroy:void 0},W0.bind(null,r,o,n,t),null),Pt===null)throw Error(K(349));a||(ha&127)!==0||q0(r,t,n)}return n}function q0(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Qe.updateQueue,t===null?(t=af(),Qe.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function W0(e,t,n,r){t.value=n,t.getSnapshot=r,Q0(t)&&X0(e)}function Y0(e,t,n){return n(function(){Q0(t)&&X0(e)})}function Q0(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!kr(e,n)}catch{return!0}}function X0(e){var t=el(e,2);t!==null&&dr(t,e,2)}function Ng(e){var t=nr();if(typeof e=="function"){var n=e;if(e=n(),Yi){Ka(!0);try{n()}finally{Ka(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:e},t}function J0(e,t,n,r){return e.baseState=n,Ah(e,_t,typeof r=="function"?r:ya)}function bk(e,t,n,r,o){if(cf(e))throw Error(K(485));if(e=t.action,e!==null){var a={payload:o,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(i){a.listeners.push(i)}};je.T!==null?n(!0):a.isTransition=!1,r(a),n=t.pending,n===null?(a.next=t.pending=a,Z0(t,a)):(a.next=n.next,t.pending=n.next=a)}}function Z0(e,t){var n=t.action,r=t.payload,o=e.state;if(t.isTransition){var a=je.T,i={};je.T=i;try{var l=n(o,r),s=je.S;s!==null&&s(i,l),Jv(e,t,l)}catch(c){Eg(e,t,c)}finally{a!==null&&i.types!==null&&(a.types=i.types),je.T=a}}else try{a=n(o,r),Jv(e,t,a)}catch(c){Eg(e,t,c)}}function Jv(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(r){Zv(e,t,r)},function(r){return Eg(e,t,r)}):Zv(e,t,n)}function Zv(e,t,n){t.status="fulfilled",t.value=n,eS(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Z0(e,n)))}function Eg(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=n,eS(t),t=t.next;while(t!==r)}e.action=null}function eS(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function tS(e,t){return t}function ex(e,t){if(bt){var n=Pt.formState;if(n!==null){e:{var r=Qe;if(bt){if(Kt){t:{for(var o=Kt,a=Wr;o.nodeType!==8;){if(!a){o=null;break t}if(o=Qr(o.nextSibling),o===null){o=null;break t}}a=o.data,o=a==="F!"||a==="F"?o:null}if(o){Kt=Qr(o.nextSibling),r=o.data==="F!";break e}}ii(r)}r=!1}r&&(t=n[0])}}return n=nr(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:tS,lastRenderedState:t},n.queue=r,n=yS.bind(null,Qe,r),r.dispatch=n,r=Ng(!1),a=Th.bind(null,Qe,!1,r.queue),r=nr(),o={state:t,dispatch:null,action:e,pending:null},r.queue=o,n=bk.bind(null,Qe,o,a,n),o.dispatch=n,r.memoizedState=e,[t,n,!1]}function tx(e){var t=yn();return nS(t,_t,e)}function nS(e,t,n){if(t=Ah(e,t,tS)[0],e=pd(ya)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=$c(t)}catch(i){throw i===hs?of:i}else r=t;t=yn();var o=t.queue,a=o.dispatch;return n!==t.memoizedState&&(Qe.flags|=2048,ls(9,{destroy:void 0},vk.bind(null,o,n),null)),[r,a,e]}function vk(e,t){e.action=t}function nx(e){var t=yn(),n=_t;if(n!==null)return nS(t,n,e);yn(),t=t.memoizedState,n=yn();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ls(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=Qe.updateQueue,t===null&&(t=af(),Qe.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function rS(){return yn().memoizedState}function gd(e,t,n,r){var o=nr();Qe.flags|=e,o.memoizedState=ls(1|t,{destroy:void 0},n,r===void 0?null:r)}function sf(e,t,n,r){var o=yn();r=r===void 0?null:r;var a=o.memoizedState.inst;_t!==null&&r!==null&&yh(r,_t.memoizedState.deps)?o.memoizedState=ls(t,a,n,r):(Qe.flags|=e,o.memoizedState=ls(1|t,a,n,r))}function rx(e,t){gd(8390656,8,e,t)}function Ch(e,t){sf(2048,8,e,t)}function xk(e){Qe.flags|=4;var t=Qe.updateQueue;if(t===null)t=af(),Qe.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function oS(e){var t=yn().memoizedState;return xk({ref:t,nextImpl:e}),function(){if((wt&2)!==0)throw Error(K(440));return t.impl.apply(void 0,arguments)}}function aS(e,t){return sf(4,2,e,t)}function iS(e,t){return sf(4,4,e,t)}function lS(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function sS(e,t,n){n=n!=null?n.concat([e]):null,sf(4,4,lS.bind(null,t,e),n)}function Rh(){}function cS(e,t){var n=yn();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&yh(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function uS(e,t){var n=yn();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&yh(t,r[1]))return r[0];if(r=e(),Yi){Ka(!0);try{e()}finally{Ka(!1)}}return n.memoizedState=[r,t],r}function Nh(e,t,n){return n===void 0||(ha&1073741824)!==0&&(mt&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=JS(),Qe.lanes|=e,si|=e,n)}function dS(e,t,n,r){return kr(n,t)?n:is.current!==null?(e=Nh(e,n,r),kr(e,t)||(An=!0),e):(ha&42)===0||(ha&1073741824)!==0&&(mt&261930)===0?(An=!0,e.memoizedState=n):(e=JS(),Qe.lanes|=e,si|=e,t)}function fS(e,t,n,r,o){var a=At.p;At.p=a!==0&&8>a?a:8;var i=je.T,l={};je.T=l,Th(e,!1,t,n);try{var s=o(),c=je.S;if(c!==null&&c(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var d=gk(s,r);yc(e,t,d,Or(e))}else yc(e,t,r,Or(e))}catch(u){yc(e,t,{then:function(){},status:"rejected",reason:u},Or())}finally{At.p=a,i!==null&&l.types!==null&&(i.types=l.types),je.T=i}}function Sk(){}function Tg(e,t,n,r){if(e.tag!==5)throw Error(K(476));var o=mS(e).queue;fS(e,o,t,Vi,n===null?Sk:function(){return pS(e),n(r)})}function mS(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Vi,baseState:Vi,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:Vi},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function pS(e){var t=mS(e);t.next===null&&(t=e.alternate.memoizedState),yc(e,t.next.queue,{},Or())}function Eh(){return $n(Dc)}function gS(){return yn().memoizedState}function hS(){return yn().memoizedState}function wk(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Or();e=Ja(n);var r=Za(t,e,n);r!==null&&(dr(r,t,n),pc(r,t,n)),t={cache:fh()},e.payload=t;return}t=t.return}}function Ak(e,t,n){var r=Or();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},cf(e)?bS(t,n):(n=sh(e,t,n,r),n!==null&&(dr(n,e,r),vS(n,t,r)))}function yS(e,t,n){var r=Or();yc(e,t,n,r)}function yc(e,t,n,r){var o={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(cf(e))bS(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,l=a(i,n);if(o.hasEagerState=!0,o.eagerState=l,kr(l,i))return rf(e,t,o,0),Pt===null&&nf(),!1}catch{}if(n=sh(e,t,o,r),n!==null)return dr(n,e,r),vS(n,t,r),!0}return!1}function Th(e,t,n,r){if(r={lane:2,revertLane:zh(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},cf(e)){if(t)throw Error(K(479))}else t=sh(e,n,r,2),t!==null&&dr(t,e,2)}function cf(e){var t=e.alternate;return e===Qe||t!==null&&t===Qe}function bS(e,t){es=Bd=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function vS(e,t,n){if((n&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,o0(e,n)}}var kc={readContext:$n,use:lf,useCallback:fn,useContext:fn,useEffect:fn,useImperativeHandle:fn,useLayoutEffect:fn,useInsertionEffect:fn,useMemo:fn,useReducer:fn,useRef:fn,useState:fn,useDebugValue:fn,useDeferredValue:fn,useTransition:fn,useSyncExternalStore:fn,useId:fn,useHostTransitionStatus:fn,useFormState:fn,useActionState:fn,useOptimistic:fn,useMemoCache:fn,useCacheRefresh:fn};kc.useEffectEvent=fn;var xS={readContext:$n,use:lf,useCallback:function(e,t){return nr().memoizedState=[e,t===void 0?null:t],e},useContext:$n,useEffect:rx,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,gd(4194308,4,lS.bind(null,t,e),n)},useLayoutEffect:function(e,t){return gd(4194308,4,e,t)},useInsertionEffect:function(e,t){gd(4,2,e,t)},useMemo:function(e,t){var n=nr();t=t===void 0?null:t;var r=e();if(Yi){Ka(!0);try{e()}finally{Ka(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=nr();if(n!==void 0){var o=n(t);if(Yi){Ka(!0);try{n(t)}finally{Ka(!1)}}}else o=t;return r.memoizedState=r.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},r.queue=e,e=e.dispatch=Ak.bind(null,Qe,e),[r.memoizedState,e]},useRef:function(e){var t=nr();return e={current:e},t.memoizedState=e},useState:function(e){e=Ng(e);var t=e.queue,n=yS.bind(null,Qe,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Rh,useDeferredValue:function(e,t){var n=nr();return Nh(n,e,t)},useTransition:function(){var e=Ng(!1);return e=fS.bind(null,Qe,e.queue,!0,!1),nr().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=Qe,o=nr();if(bt){if(n===void 0)throw Error(K(407));n=n()}else{if(n=t(),Pt===null)throw Error(K(349));(mt&127)!==0||q0(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,rx(Y0.bind(null,r,a,e),[e]),r.flags|=2048,ls(9,{destroy:void 0},W0.bind(null,r,a,n,t),null),n},useId:function(){var e=nr(),t=Pt.identifierPrefix;if(bt){var n=Oo,r=Mo;n=(r&~(1<<32-Mr(r)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Id++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=hk++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Eh,useFormState:ex,useActionState:ex,useOptimistic:function(e){var t=nr();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Th.bind(null,Qe,!0,n),n.dispatch=t,[e,t]},useMemoCache:wh,useCacheRefresh:function(){return nr().memoizedState=wk.bind(null,Qe)},useEffectEvent:function(e){var t=nr(),n={impl:e};return t.memoizedState=n,function(){if((wt&2)!==0)throw Error(K(440));return n.impl.apply(void 0,arguments)}}},Mh={readContext:$n,use:lf,useCallback:cS,useContext:$n,useEffect:Ch,useImperativeHandle:sS,useInsertionEffect:aS,useLayoutEffect:iS,useMemo:uS,useReducer:pd,useRef:rS,useState:function(){return pd(ya)},useDebugValue:Rh,useDeferredValue:function(e,t){var n=yn();return dS(n,_t.memoizedState,e,t)},useTransition:function(){var e=pd(ya)[0],t=yn().memoizedState;return[typeof e=="boolean"?e:$c(e),t]},useSyncExternalStore:G0,useId:gS,useHostTransitionStatus:Eh,useFormState:tx,useActionState:tx,useOptimistic:function(e,t){var n=yn();return J0(n,_t,e,t)},useMemoCache:wh,useCacheRefresh:hS};Mh.useEffectEvent=oS;var SS={readContext:$n,use:lf,useCallback:cS,useContext:$n,useEffect:Ch,useImperativeHandle:sS,useInsertionEffect:aS,useLayoutEffect:iS,useMemo:uS,useReducer:Ip,useRef:rS,useState:function(){return Ip(ya)},useDebugValue:Rh,useDeferredValue:function(e,t){var n=yn();return _t===null?Nh(n,e,t):dS(n,_t.memoizedState,e,t)},useTransition:function(){var e=Ip(ya)[0],t=yn().memoizedState;return[typeof e=="boolean"?e:$c(e),t]},useSyncExternalStore:G0,useId:gS,useHostTransitionStatus:Eh,useFormState:nx,useActionState:nx,useOptimistic:function(e,t){var n=yn();return _t!==null?J0(n,_t,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:wh,useCacheRefresh:hS};SS.useEffectEvent=oS;function zp(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Gt({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Mg={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Or(),o=Ja(r);o.payload=t,n!=null&&(o.callback=n),t=Za(e,o,r),t!==null&&(dr(t,e,r),pc(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Or(),o=Ja(r);o.tag=1,o.payload=t,n!=null&&(o.callback=n),t=Za(e,o,r),t!==null&&(dr(t,e,r),pc(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Or(),r=Ja(n);r.tag=2,t!=null&&(r.callback=t),t=Za(e,r,n),t!==null&&(dr(t,e,n),pc(t,e,n))}};function ox(e,t,n,r,o,a,i){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,a,i):t.prototype&&t.prototype.isPureReactComponent?!Nc(n,r)||!Nc(o,a):!0}function ax(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Mg.enqueueReplaceState(t,t.state,null)}function Qi(e,t){var n=t;if("ref"in t){n={};for(var r in t)r!=="ref"&&(n[r]=t[r])}if(e=e.defaultProps){n===t&&(n=Gt({},n));for(var o in e)n[o]===void 0&&(n[o]=e[o])}return n}function wS(e){Td(e)}function AS(e){console.error(e)}function CS(e){Td(e)}function zd(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function ix(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(o){setTimeout(function(){throw o})}}function Og(e,t,n){return n=Ja(n),n.tag=3,n.payload={element:null},n.callback=function(){zd(e,t)},n}function RS(e){return e=Ja(e),e.tag=3,e}function NS(e,t,n,r){var o=n.type.getDerivedStateFromError;if(typeof o=="function"){var a=r.value;e.payload=function(){return o(a)},e.callback=function(){ix(t,n,r)}}var i=n.stateNode;i!==null&&typeof i.componentDidCatch=="function"&&(e.callback=function(){ix(t,n,r),typeof o!="function"&&(ei===null?ei=new Set([this]):ei.add(this));var l=r.stack;this.componentDidCatch(r.value,{componentStack:l!==null?l:""})})}function Ck(e,t,n,r,o){if(n.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=n.alternate,t!==null&&gs(t,n,o,!0),n=_r.current,n!==null){switch(n.tag){case 31:case 13:return Yr===null?Fd():n.alternate===null&&mn===0&&(mn=3),n.flags&=-257,n.flags|=65536,n.lanes=o,r===_d?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Wp(e,r,o)),!1;case 22:return n.flags|=65536,r===_d?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Wp(e,r,o)),!1}throw Error(K(435,n.tag))}return Wp(e,r,o),Fd(),!1}if(bt)return t=_r.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,r!==yg&&(e=Error(K(422),{cause:r}),Tc(qr(e,n)))):(r!==yg&&(t=Error(K(423),{cause:r}),Tc(qr(t,n))),e=e.current.alternate,e.flags|=65536,o&=-o,e.lanes|=o,r=qr(r,n),o=Og(e.stateNode,r,o),Bp(e,o),mn!==4&&(mn=2)),!1;var a=Error(K(520),{cause:r});if(a=qr(a,n),xc===null?xc=[a]:xc.push(a),mn!==4&&(mn=2),t===null)return!0;r=qr(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=o&-o,n.lanes|=e,e=Og(n.stateNode,r,e),Bp(n,e),!1;case 1:if(t=n.type,a=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||a!==null&&typeof a.componentDidCatch=="function"&&(ei===null||!ei.has(a))))return n.flags|=65536,o&=-o,n.lanes|=o,o=RS(o),NS(o,e,n,r),Bp(n,o),!1}n=n.return}while(n!==null);return!1}var Oh=Error(K(461)),An=!1;function Vn(e,t,n,r){t.child=e===null?j0(t,null,n,r):Wi(t,e.child,n,r)}function lx(e,t,n,r,o){n=n.render;var a=t.ref;if("ref"in r){var i={};for(var l in r)l!=="ref"&&(i[l]=r[l])}else i=r;return qi(t),r=bh(e,t,n,i,a,o),l=vh(),e!==null&&!An?(xh(e,t,o),ba(e,t,o)):(bt&&l&&uh(t),t.flags|=1,Vn(e,t,r,o),t.child)}function sx(e,t,n,r,o){if(e===null){var a=n.type;return typeof a=="function"&&!ch(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,ES(e,t,a,r,o)):(e=fd(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!kh(e,o)){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:Nc,n(i,r)&&e.ref===t.ref)return ba(e,t,o)}return t.flags|=1,e=fa(a,r),e.ref=t.ref,e.return=t,t.child=e}function ES(e,t,n,r,o){if(e!==null){var a=e.memoizedProps;if(Nc(a,r)&&e.ref===t.ref)if(An=!1,t.pendingProps=r=a,kh(e,o))(e.flags&131072)!==0&&(An=!0);else return t.lanes=e.lanes,ba(e,t,o)}return kg(e,t,n,r,o)}function TS(e,t,n,r){var o=r.children,a=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((t.flags&128)!==0){if(a=a!==null?a.baseLanes|n:n,e!==null){for(r=t.child=e.child,o=0;r!==null;)o=o|r.lanes|r.childLanes,r=r.sibling;r=o&~a}else r=0,t.child=null;return cx(e,t,a,n,r)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&md(t,a!==null?a.cachePool:null),a!==null?Xv(t,a):Cg(),H0(t);else return r=t.lanes=536870912,cx(e,t,a!==null?a.baseLanes|n:n,n,r)}else a!==null?(md(t,a.cachePool),Xv(t,a),Ha(t),t.memoizedState=null):(e!==null&&md(t,null),Cg(),Ha(t));return Vn(e,t,o,n),t.child}function sc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function cx(e,t,n,r,o){var a=mh();return a=a===null?null:{parent:wn._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&md(t,null),Cg(),H0(t),e!==null&&gs(e,t,r,!0),t.childLanes=o,null}function hd(e,t){return t=Pd({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function ux(e,t,n){return Wi(t,e.child,null,n),e=hd(t,t.pendingProps),e.flags|=2,Cr(t),t.memoizedState=null,e}function Rk(e,t,n){var r=t.pendingProps,o=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(bt){if(r.mode==="hidden")return e=hd(t,r),t.lanes=536870912,sc(null,e);if(Rg(t),(e=Kt)?(e=xw(e,Wr),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ai!==null?{id:Mo,overflow:Oo}:null,retryLane:536870912,hydrationErrors:null},n=L0(e),n.return=t,t.child=n,Hn=t,Kt=null)):e=null,e===null)throw ii(t);return t.lanes=536870912,null}return hd(t,r)}var a=e.memoizedState;if(a!==null){var i=a.dehydrated;if(Rg(t),o)if(t.flags&256)t.flags&=-257,t=ux(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(K(558));else if(An||gs(e,t,n,!1),o=(n&e.childLanes)!==0,An||o){if(r=Pt,r!==null&&(i=a0(r,n),i!==0&&i!==a.retryLane))throw a.retryLane=i,el(e,i),dr(r,e,i),Oh;Fd(),t=ux(e,t,n)}else e=a.treeContext,Kt=Qr(i.nextSibling),Hn=t,bt=!0,Xa=null,Wr=!1,e!==null&&B0(t,e),t=hd(t,r),t.flags|=4096;return t}return e=fa(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function yd(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(K(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function kg(e,t,n,r,o){return qi(t),n=bh(e,t,n,r,void 0,o),r=vh(),e!==null&&!An?(xh(e,t,o),ba(e,t,o)):(bt&&r&&uh(t),t.flags|=1,Vn(e,t,n,o),t.child)}function dx(e,t,n,r,o,a){return qi(t),t.updateQueue=null,n=K0(t,r,n,o),$0(e),r=vh(),e!==null&&!An?(xh(e,t,a),ba(e,t,a)):(bt&&r&&uh(t),t.flags|=1,Vn(e,t,n,a),t.child)}function fx(e,t,n,r,o){if(qi(t),t.stateNode===null){var a=Kl,i=n.contextType;typeof i=="object"&&i!==null&&(a=$n(i)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Mg,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},gh(t),i=n.contextType,a.context=typeof i=="object"&&i!==null?$n(i):Kl,a.state=t.memoizedState,i=n.getDerivedStateFromProps,typeof i=="function"&&(zp(t,n,i,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(i=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),i!==a.state&&Mg.enqueueReplaceState(a,a.state,null),hc(t,r,a,o),gc(),a.state=t.memoizedState),typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var l=t.memoizedProps,s=Qi(n,l);a.props=s;var c=a.context,d=n.contextType;i=Kl,typeof d=="object"&&d!==null&&(i=$n(d));var u=n.getDerivedStateFromProps;d=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function",l=t.pendingProps!==l,d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l||c!==i)&&ax(t,a,r,i),ja=!1;var f=t.memoizedState;a.state=f,hc(t,r,a,o),gc(),c=t.memoizedState,l||f!==c||ja?(typeof u=="function"&&(zp(t,n,u,r),c=t.memoizedState),(s=ja||ox(t,n,s,r,f,c,i))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),a.props=r,a.state=c,a.context=i,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,wg(e,t),i=t.memoizedProps,d=Qi(n,i),a.props=d,u=t.pendingProps,f=a.context,c=n.contextType,s=Kl,typeof c=="object"&&c!==null&&(s=$n(c)),l=n.getDerivedStateFromProps,(c=typeof l=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(i!==u||f!==s)&&ax(t,a,r,s),ja=!1,f=t.memoizedState,a.state=f,hc(t,r,a,o),gc();var p=t.memoizedState;i!==u||f!==p||ja||e!==null&&e.dependencies!==null&&kd(e.dependencies)?(typeof l=="function"&&(zp(t,n,l,r),p=t.memoizedState),(d=ja||ox(t,n,d,r,f,p,s)||e!==null&&e.dependencies!==null&&kd(e.dependencies))?(c||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,p,s),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,p,s)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=s,r=d):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,yd(e,t),r=(t.flags&128)!==0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!="function"?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Wi(t,e.child,null,o),t.child=Wi(t,null,n,o)):Vn(e,t,n,o),t.memoizedState=a.state,e=t.child):e=ba(e,t,o),e}function mx(e,t,n,r){return Gi(),t.flags|=256,Vn(e,t,n,r),t.child}var Pp={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Up(e){return{baseLanes:e,cachePool:z0()}}function jp(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Nr),e}function MS(e,t,n){var r=t.pendingProps,o=!1,a=(t.flags&128)!==0,i;if((i=a)||(i=e!==null&&e.memoizedState===null?!1:(hn.current&2)!==0),i&&(o=!0,t.flags&=-129),i=(t.flags&32)!==0,t.flags&=-33,e===null){if(bt){if(o?Fa(t):Ha(t),(e=Kt)?(e=xw(e,Wr),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ai!==null?{id:Mo,overflow:Oo}:null,retryLane:536870912,hydrationErrors:null},n=L0(e),n.return=t,t.child=n,Hn=t,Kt=null)):e=null,e===null)throw ii(t);return Kg(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,o?(Ha(t),o=t.mode,l=Pd({mode:"hidden",children:l},o),r=Fi(r,o,n,null),l.return=t,r.return=t,l.sibling=r,t.child=l,r=t.child,r.memoizedState=Up(n),r.childLanes=jp(e,i,n),t.memoizedState=Pp,sc(null,r)):(Fa(t),_g(t,l))}var s=e.memoizedState;if(s!==null&&(l=s.dehydrated,l!==null)){if(a)t.flags&256?(Fa(t),t.flags&=-257,t=Vp(e,t,n)):t.memoizedState!==null?(Ha(t),t.child=e.child,t.flags|=128,t=null):(Ha(t),l=r.fallback,o=t.mode,r=Pd({mode:"visible",children:r.children},o),l=Fi(l,o,n,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,Wi(t,e.child,null,n),r=t.child,r.memoizedState=Up(n),r.childLanes=jp(e,i,n),t.memoizedState=Pp,t=sc(null,r));else if(Fa(t),Kg(l)){if(i=l.nextSibling&&l.nextSibling.dataset,i)var c=i.dgst;i=c,r=Error(K(419)),r.stack="",r.digest=i,Tc({value:r,source:null,stack:null}),t=Vp(e,t,n)}else if(An||gs(e,t,n,!1),i=(n&e.childLanes)!==0,An||i){if(i=Pt,i!==null&&(r=a0(i,n),r!==0&&r!==s.retryLane))throw s.retryLane=r,el(e,r),dr(i,e,r),Oh;$g(l)||Fd(),t=Vp(e,t,n)}else $g(l)?(t.flags|=192,t.child=e.child,t=null):(e=s.treeContext,Kt=Qr(l.nextSibling),Hn=t,bt=!0,Xa=null,Wr=!1,e!==null&&B0(t,e),t=_g(t,r.children),t.flags|=4096);return t}return o?(Ha(t),l=r.fallback,o=t.mode,s=e.child,c=s.sibling,r=fa(s,{mode:"hidden",children:r.children}),r.subtreeFlags=s.subtreeFlags&65011712,c!==null?l=fa(c,l):(l=Fi(l,o,n,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,sc(null,r),r=t.child,l=e.child.memoizedState,l===null?l=Up(n):(o=l.cachePool,o!==null?(s=wn._currentValue,o=o.parent!==s?{parent:s,pool:s}:o):o=z0(),l={baseLanes:l.baseLanes|n,cachePool:o}),r.memoizedState=l,r.childLanes=jp(e,i,n),t.memoizedState=Pp,sc(e.child,r)):(Fa(t),n=e.child,e=n.sibling,n=fa(n,{mode:"visible",children:r.children}),n.return=t,n.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=n,t.memoizedState=null,n)}function _g(e,t){return t=Pd({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Pd(e,t){return e=Rr(22,e,null,t),e.lanes=0,e}function Vp(e,t,n){return Wi(t,e.child,null,n),e=_g(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function px(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),vg(e.return,t,n)}function Fp(e,t,n,r,o,a){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o,treeForkCount:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=o,i.treeForkCount=a)}function OS(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;r=r.children;var i=hn.current,l=(i&2)!==0;if(l?(i=i&1|2,t.flags|=128):i&=1,jt(hn,i),Vn(e,t,r,n),r=bt?Ec:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&px(e,n,t);else if(e.tag===19)px(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(o){case"forwards":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&Dd(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Fp(t,!1,o,n,a,r);break;case"backwards":case"unstable_legacy-backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Dd(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Fp(t,!0,n,null,a,r);break;case"together":Fp(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function ba(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),si|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(gs(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(K(153));if(t.child!==null){for(e=t.child,n=fa(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=fa(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function kh(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&kd(e)))}function Nk(e,t,n){switch(t.tag){case 3:Cd(t,t.stateNode.containerInfo),Va(t,wn,e.memoizedState.cache),Gi();break;case 27:case 5:ig(t);break;case 4:Cd(t,t.stateNode.containerInfo);break;case 10:Va(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Rg(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(Fa(t),t.flags|=128,null):(n&t.child.childLanes)!==0?MS(e,t,n):(Fa(t),e=ba(e,t,n),e!==null?e.sibling:null);Fa(t);break;case 19:var o=(e.flags&128)!==0;if(r=(n&t.childLanes)!==0,r||(gs(e,t,n,!1),r=(n&t.childLanes)!==0),o){if(r)return OS(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),jt(hn,hn.current),r)break;return null;case 22:return t.lanes=0,TS(e,t,n,t.pendingProps);case 24:Va(t,wn,e.memoizedState.cache)}return ba(e,t,n)}function kS(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)An=!0;else{if(!kh(e,n)&&(t.flags&128)===0)return An=!1,Nk(e,t,n);An=(e.flags&131072)!==0}else An=!1,bt&&(t.flags&1048576)!==0&&D0(t,Ec,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=Ui(t.elementType),t.type=e,typeof e=="function")ch(e)?(r=Qi(e,r),t.tag=1,t=fx(null,t,e,r,n)):(t.tag=0,t=kg(null,t,e,r,n));else{if(e!=null){var o=e.$$typeof;if(o===Yg){t.tag=11,t=lx(null,t,e,r,n);break e}else if(o===Qg){t.tag=14,t=sx(null,t,e,r,n);break e}}throw t=og(e)||e,Error(K(306,t,""))}}return t;case 0:return kg(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,o=Qi(r,t.pendingProps),fx(e,t,r,o,n);case 3:e:{if(Cd(t,t.stateNode.containerInfo),e===null)throw Error(K(387));r=t.pendingProps;var a=t.memoizedState;o=a.element,wg(e,t),hc(t,r,null,n);var i=t.memoizedState;if(r=i.cache,Va(t,wn,r),r!==a.cache&&xg(t,[wn],n,!0),gc(),r=i.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=mx(e,t,r,n);break e}else if(r!==o){o=qr(Error(K(424)),t),Tc(o),t=mx(e,t,r,n);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Kt=Qr(e.firstChild),Hn=t,bt=!0,Xa=null,Wr=!0,n=j0(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Gi(),r===o){t=ba(e,t,n);break e}Vn(e,t,r,n)}t=t.child}return t;case 26:return yd(e,t),e===null?(n=Ix(t.type,null,t.pendingProps,null))?t.memoizedState=n:bt||(n=t.type,e=t.pendingProps,r=Gd(Qa.current).createElement(n),r[Fn]=t,r[fr]=e,Kn(r,n,e),In(r),t.stateNode=r):t.memoizedState=Ix(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ig(t),e===null&&bt&&(r=t.stateNode=Sw(t.type,t.pendingProps,Qa.current),Hn=t,Wr=!0,o=Kt,ui(t.type)?(Gg=o,Kt=Qr(r.firstChild)):Kt=o),Vn(e,t,t.pendingProps.children,n),yd(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&bt&&((o=r=Kt)&&(r=e_(r,t.type,t.pendingProps,Wr),r!==null?(t.stateNode=r,Hn=t,Kt=Qr(r.firstChild),Wr=!1,o=!0):o=!1),o||ii(t)),ig(t),o=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,r=a.children,Fg(o,a)?r=null:i!==null&&Fg(o,i)&&(t.flags|=32),t.memoizedState!==null&&(o=bh(e,t,yk,null,null,n),Dc._currentValue=o),yd(e,t),Vn(e,t,r,n),t.child;case 6:return e===null&&bt&&((e=n=Kt)&&(n=t_(n,t.pendingProps,Wr),n!==null?(t.stateNode=n,Hn=t,Kt=null,e=!0):e=!1),e||ii(t)),null;case 13:return MS(e,t,n);case 4:return Cd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Wi(t,null,r,n):Vn(e,t,r,n),t.child;case 11:return lx(e,t,t.type,t.pendingProps,n);case 7:return Vn(e,t,t.pendingProps,n),t.child;case 8:return Vn(e,t,t.pendingProps.children,n),t.child;case 12:return Vn(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Va(t,t.type,r.value),Vn(e,t,r.children,n),t.child;case 9:return o=t.type._context,r=t.pendingProps.children,qi(t),o=$n(o),r=r(o),t.flags|=1,Vn(e,t,r,n),t.child;case 14:return sx(e,t,t.type,t.pendingProps,n);case 15:return ES(e,t,t.type,t.pendingProps,n);case 19:return OS(e,t,n);case 31:return Rk(e,t,n);case 22:return TS(e,t,n,t.pendingProps);case 24:return qi(t),r=$n(wn),e===null?(o=mh(),o===null&&(o=Pt,a=fh(),o.pooledCache=a,a.refCount++,a!==null&&(o.pooledCacheLanes|=n),o=a),t.memoizedState={parent:r,cache:o},gh(t),Va(t,wn,o)):((e.lanes&n)!==0&&(wg(e,t),hc(t,null,null,n),gc()),o=e.memoizedState,a=t.memoizedState,o.parent!==r?(o={parent:r,cache:r},t.memoizedState=o,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=o),Va(t,wn,r)):(r=a.cache,Va(t,wn,r),r!==o.cache&&xg(t,[wn],n,!0))),Vn(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(K(156,t.tag))}function ra(e){e.flags|=4}function Hp(e,t,n,r,o){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(o&335544128)===o)if(e.stateNode.complete)e.flags|=8192;else if(tw())e.flags|=8192;else throw $i=_d,ph}else e.flags&=-16777217}function gx(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Cw(t))if(tw())e.flags|=8192;else throw $i=_d,ph}function td(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?n0():536870912,e.lanes|=t,ss|=t)}function tc(e,t){if(!bt)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function $t(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags&65011712,r|=o.flags&65011712,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ek(e,t,n){var r=t.pendingProps;switch(dh(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $t(t),null;case 1:return $t(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ma(wn),ns(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ll(t)?ra(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Dp())),$t(t),null;case 26:var o=t.type,a=t.memoizedState;return e===null?(ra(t),a!==null?($t(t),gx(t,a)):($t(t),Hp(t,o,null,r,n))):a?a!==e.memoizedState?(ra(t),$t(t),gx(t,a)):($t(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&ra(t),$t(t),Hp(t,o,e,r,n)),null;case 27:if(Rd(t),n=Qa.current,o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return $t(t),null}e=_o.current,Ll(t)?$v(t,e):(e=Sw(o,r,n),t.stateNode=e,ra(t))}return $t(t),null;case 5:if(Rd(t),o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return $t(t),null}if(a=_o.current,Ll(t))$v(t,a);else{var i=Gd(Qa.current);switch(a){case 1:a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case 2:a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;default:switch(o){case"svg":a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case"math":a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;case"script":a=i.createElement("div"),a.innerHTML="<script><\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof r.is=="string"?i.createElement("select",{is:r.is}):i.createElement("select"),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is=="string"?i.createElement(o,{is:r.is}):i.createElement(o)}}a[Fn]=t,a[fr]=r;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)a.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=a;e:switch(Kn(a,o,r),o){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&ra(t)}}return $t(t),Hp(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(K(166));if(e=Qa.current,Ll(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,o=Hn,o!==null)switch(o.tag){case 27:case 5:r=o.memoizedProps}e[Fn]=t,e=!!(e.nodeValue===n||r!==null&&r.suppressHydrationWarning===!0||yw(e.nodeValue,n)),e||ii(t,!0)}else e=Gd(e).createTextNode(r),e[Fn]=t,t.stateNode=e}return $t(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ll(t),n!==null){if(e===null){if(!r)throw Error(K(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(557));e[Fn]=t}else Gi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$t(t),e=!1}else n=Dp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Cr(t),t):(Cr(t),null);if((t.flags&128)!==0)throw Error(K(558))}return $t(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Ll(t),r!==null&&r.dehydrated!==null){if(e===null){if(!o)throw Error(K(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(K(317));o[Fn]=t}else Gi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$t(t),o=!1}else o=Dp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(Cr(t),t):(Cr(t),null)}return Cr(t),(t.flags&128)!==0?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,o=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(o=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==o&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),td(t,t.updateQueue),$t(t),null);case 4:return ns(),e===null&&Ph(t.stateNode.containerInfo),$t(t),null;case 10:return ma(t.type),$t(t),null;case 19:if(zn(hn),r=t.memoizedState,r===null)return $t(t),null;if(o=(t.flags&128)!==0,a=r.rendering,a===null)if(o)tc(r,!1);else{if(mn!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(a=Dd(e),a!==null){for(t.flags|=128,tc(r,!1),e=a.updateQueue,t.updateQueue=e,td(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)_0(n,e),n=n.sibling;return jt(hn,hn.current&1|2),bt&&la(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Er()>jd&&(t.flags|=128,o=!0,tc(r,!1),t.lanes=4194304)}else{if(!o)if(e=Dd(a),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,td(t,e),tc(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!bt)return $t(t),null}else 2*Er()-r.renderingStartTime>jd&&n!==536870912&&(t.flags|=128,o=!0,tc(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e!==null?e.sibling=a:t.child=a,r.last=a)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Er(),e.sibling=null,n=hn.current,jt(hn,o?n&1|2:n&1),bt&&la(t,r.treeForkCount),e):($t(t),null);case 22:case 23:return Cr(t),hh(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(n&536870912)!==0&&(t.flags&128)===0&&($t(t),t.subtreeFlags&6&&(t.flags|=8192)):$t(t),n=t.updateQueue,n!==null&&td(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&zn(Hi),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ma(wn),$t(t),null;case 25:return null;case 30:return null}throw Error(K(156,t.tag))}function Tk(e,t){switch(dh(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ma(wn),ns(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Rd(t),null;case 31:if(t.memoizedState!==null){if(Cr(t),t.alternate===null)throw Error(K(340));Gi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Cr(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(K(340));Gi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return zn(hn),null;case 4:return ns(),null;case 10:return ma(t.type),null;case 22:case 23:return Cr(t),hh(),e!==null&&zn(Hi),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ma(wn),null;case 25:return null;default:return null}}function _S(e,t){switch(dh(t),t.tag){case 3:ma(wn),ns();break;case 26:case 27:case 5:Rd(t);break;case 4:ns();break;case 31:t.memoizedState!==null&&Cr(t);break;case 13:Cr(t);break;case 19:zn(hn);break;case 10:ma(t.type);break;case 22:case 23:Cr(t),hh(),e!==null&&zn(Hi);break;case 24:ma(wn)}}function Kc(e,t){try{var n=t.updateQueue,r=n!==null?n.lastEffect:null;if(r!==null){var o=r.next;n=o;do{if((n.tag&e)===e){r=void 0;var a=n.create,i=n.inst;r=a(),i.destroy=r}n=n.next}while(n!==o)}}catch(l){Et(t,t.return,l)}}function li(e,t,n){try{var r=t.updateQueue,o=r!==null?r.lastEffect:null;if(o!==null){var a=o.next;r=a;do{if((r.tag&e)===e){var i=r.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,o=t;var s=n,c=l;try{c()}catch(d){Et(o,s,d)}}}r=r.next}while(r!==a)}}catch(d){Et(t,t.return,d)}}function LS(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{F0(t,n)}catch(r){Et(e,e.return,r)}}}function DS(e,t,n){n.props=Qi(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){Et(e,t,r)}}function bc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n=="function"?e.refCleanup=n(r):n.current=r}}catch(o){Et(e,t,o)}}function ko(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r=="function")try{r()}catch(o){Et(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(o){Et(e,t,o)}else n.current=null}function BS(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break e;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(o){Et(e,e.return,o)}}function $p(e,t,n){try{var r=e.stateNode;Wk(r,e.type,n,t),r[fr]=t}catch(o){Et(e,e.return,o)}}function IS(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ui(e.type)||e.tag===4}function Kp(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||IS(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ui(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Lg(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ua));else if(r!==4&&(r===27&&ui(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Lg(e,t,n),e=e.sibling;e!==null;)Lg(e,t,n),e=e.sibling}function Ud(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&ui(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Ud(e,t,n),e=e.sibling;e!==null;)Ud(e,t,n),e=e.sibling}function zS(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);Kn(t,r,n),t[Fn]=e,t[fr]=n}catch(a){Et(e,e.return,a)}}var sa=!1,Sn=!1,Gp=!1,hx=typeof WeakSet=="function"?WeakSet:Set,Bn=null;function Mk(e,t){if(e=e.containerInfo,jg=Qd,e=C0(e),ih(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var i=0,l=-1,s=-1,c=0,d=0,u=e,f=null;t:for(;;){for(var p;u!==n||o!==0&&u.nodeType!==3||(l=i+o),u!==a||r!==0&&u.nodeType!==3||(s=i+r),u.nodeType===3&&(i+=u.nodeValue.length),(p=u.firstChild)!==null;)f=u,u=p;for(;;){if(u===e)break t;if(f===n&&++c===o&&(l=i),f===a&&++d===r&&(s=i),(p=u.nextSibling)!==null)break;u=f,f=u.parentNode}u=p}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Vg={focusedElem:e,selectionRange:n},Qd=!1,Bn=t;Bn!==null;)if(t=Bn,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Bn=e;else for(;Bn!==null;){switch(t=Bn,a=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)o=e[n],o.ref.impl=o.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&a!==null){e=void 0,n=t,o=a.memoizedProps,a=a.memoizedState,r=n.stateNode;try{var b=Qi(n.type,o);e=r.getSnapshotBeforeUpdate(b,a),r.__reactInternalSnapshotBeforeUpdate=e}catch(m){Et(n,n.return,m)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)Hg(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Hg(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(K(163))}if(e=t.sibling,e!==null){e.return=t.return,Bn=e;break}Bn=t.return}}function PS(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:aa(e,n),r&4&&Kc(5,n);break;case 1:if(aa(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(i){Et(n,n.return,i)}else{var o=Qi(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(i){Et(n,n.return,i)}}r&64&&LS(n),r&512&&bc(n,n.return);break;case 3:if(aa(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{F0(e,t)}catch(i){Et(n,n.return,i)}}break;case 27:t===null&&r&4&&zS(n);case 26:case 5:aa(e,n),t===null&&r&4&&BS(n),r&512&&bc(n,n.return);break;case 12:aa(e,n);break;case 31:aa(e,n),r&4&&VS(e,n);break;case 13:aa(e,n),r&4&&FS(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Pk.bind(null,n),n_(e,n))));break;case 22:if(r=n.memoizedState!==null||sa,!r){t=t!==null&&t.memoizedState!==null||Sn,o=sa;var a=Sn;sa=r,(Sn=t)&&!a?ia(e,n,(n.subtreeFlags&8772)!==0):aa(e,n),sa=o,Sn=a}break;case 30:break;default:aa(e,n)}}function US(e){var t=e.alternate;t!==null&&(e.alternate=null,US(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&eh(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Qt=null,cr=!1;function oa(e,t,n){for(n=n.child;n!==null;)jS(e,t,n),n=n.sibling}function jS(e,t,n){if(Tr&&typeof Tr.onCommitFiberUnmount=="function")try{Tr.onCommitFiberUnmount(Pc,n)}catch{}switch(n.tag){case 26:Sn||ko(n,t),oa(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Sn||ko(n,t);var r=Qt,o=cr;ui(n.type)&&(Qt=n.stateNode,cr=!1),oa(e,t,n),wc(n.stateNode),Qt=r,cr=o;break;case 5:Sn||ko(n,t);case 6:if(r=Qt,o=cr,Qt=null,oa(e,t,n),Qt=r,cr=o,Qt!==null)if(cr)try{(Qt.nodeType===9?Qt.body:Qt.nodeName==="HTML"?Qt.ownerDocument.body:Qt).removeChild(n.stateNode)}catch(a){Et(n,t,a)}else try{Qt.removeChild(n.stateNode)}catch(a){Et(n,t,a)}break;case 18:Qt!==null&&(cr?(e=Qt,kx(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),fs(e)):kx(Qt,n.stateNode));break;case 4:r=Qt,o=cr,Qt=n.stateNode.containerInfo,cr=!0,oa(e,t,n),Qt=r,cr=o;break;case 0:case 11:case 14:case 15:li(2,n,t),Sn||li(4,n,t),oa(e,t,n);break;case 1:Sn||(ko(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"&&DS(n,t,r)),oa(e,t,n);break;case 21:oa(e,t,n);break;case 22:Sn=(r=Sn)||n.memoizedState!==null,oa(e,t,n),Sn=r;break;default:oa(e,t,n)}}function VS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{fs(e)}catch(n){Et(t,t.return,n)}}}function FS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{fs(e)}catch(n){Et(t,t.return,n)}}function Ok(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new hx),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new hx),t;default:throw Error(K(435,e.tag))}}function nd(e,t){var n=Ok(e);t.forEach(function(r){if(!n.has(r)){n.add(r);var o=Uk.bind(null,e,r);r.then(o,o)}})}function lr(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var o=n[r],a=e,i=t,l=i;e:for(;l!==null;){switch(l.tag){case 27:if(ui(l.type)){Qt=l.stateNode,cr=!1;break e}break;case 5:Qt=l.stateNode,cr=!1;break e;case 3:case 4:Qt=l.stateNode.containerInfo,cr=!0;break e}l=l.return}if(Qt===null)throw Error(K(160));jS(a,i,o),Qt=null,cr=!1,a=o.alternate,a!==null&&(a.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)HS(t,e),t=t.sibling}var po=null;function HS(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:lr(t,e),sr(e),r&4&&(li(3,e,e.return),Kc(3,e),li(5,e,e.return));break;case 1:lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),r&64&&sa&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var o=po;if(lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),r&4){var a=n!==null?n.memoizedState:null;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){e:{r=e.type,n=e.memoizedProps,o=o.ownerDocument||o;t:switch(r){case"title":a=o.getElementsByTagName("title")[0],(!a||a[Vc]||a[Fn]||a.namespaceURI==="http://www.w3.org/2000/svg"||a.hasAttribute("itemprop"))&&(a=o.createElement(r),o.head.insertBefore(a,o.querySelector("head > title"))),Kn(a,r,n),a[Fn]=e,In(a),r=a;break e;case"link":var i=Px("link","href",o).get(r+(n.href||""));if(i){for(var l=0;l<i.length;l++)if(a=i[l],a.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&a.getAttribute("rel")===(n.rel==null?null:n.rel)&&a.getAttribute("title")===(n.title==null?null:n.title)&&a.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){i.splice(l,1);break t}}a=o.createElement(r),Kn(a,r,n),o.head.appendChild(a);break;case"meta":if(i=Px("meta","content",o).get(r+(n.content||""))){for(l=0;l<i.length;l++)if(a=i[l],a.getAttribute("content")===(n.content==null?null:""+n.content)&&a.getAttribute("name")===(n.name==null?null:n.name)&&a.getAttribute("property")===(n.property==null?null:n.property)&&a.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&a.getAttribute("charset")===(n.charSet==null?null:n.charSet)){i.splice(l,1);break t}}a=o.createElement(r),Kn(a,r,n),o.head.appendChild(a);break;default:throw Error(K(468,r))}a[Fn]=e,In(a),r=a}e.stateNode=r}else Ux(o,e.type,e.stateNode);else e.stateNode=zx(o,r,e.memoizedProps);else a!==r?(a===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):a.count--,r===null?Ux(o,e.type,e.stateNode):zx(o,r,e.memoizedProps)):r===null&&e.stateNode!==null&&$p(e,e.memoizedProps,n.memoizedProps)}break;case 27:lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),n!==null&&r&4&&$p(e,e.memoizedProps,n.memoizedProps);break;case 5:if(lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),e.flags&32){o=e.stateNode;try{os(o,"")}catch(b){Et(e,e.return,b)}}r&4&&e.stateNode!=null&&(o=e.memoizedProps,$p(e,o,n!==null?n.memoizedProps:o)),r&1024&&(Gp=!0);break;case 6:if(lr(t,e),sr(e),r&4){if(e.stateNode===null)throw Error(K(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(b){Et(e,e.return,b)}}break;case 3:if(xd=null,o=po,po=qd(t.containerInfo),lr(t,e),po=o,sr(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{fs(t.containerInfo)}catch(b){Et(e,e.return,b)}Gp&&(Gp=!1,$S(e));break;case 4:r=po,po=qd(e.stateNode.containerInfo),lr(t,e),sr(e),po=r;break;case 12:lr(t,e),sr(e);break;case 31:lr(t,e),sr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,nd(e,r)));break;case 13:lr(t,e),sr(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(uf=Er()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,nd(e,r)));break;case 22:o=e.memoizedState!==null;var s=n!==null&&n.memoizedState!==null,c=sa,d=Sn;if(sa=c||o,Sn=d||s,lr(t,e),Sn=d,sa=c,sr(e),r&8192)e:for(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,o&&(n===null||s||sa||Sn||ji(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){s=n=t;try{if(a=s.stateNode,o)i=a.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none";else{l=s.stateNode;var u=s.memoizedProps.style,f=u!=null&&u.hasOwnProperty("display")?u.display:null;l.style.display=f==null||typeof f=="boolean"?"":(""+f).trim()}}catch(b){Et(s,s.return,b)}}}else if(t.tag===6){if(n===null){s=t;try{s.stateNode.nodeValue=o?"":s.memoizedProps}catch(b){Et(s,s.return,b)}}}else if(t.tag===18){if(n===null){s=t;try{var p=s.stateNode;o?_x(p,!0):_x(s.stateNode,!1)}catch(b){Et(s,s.return,b)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,nd(e,n))));break;case 19:lr(t,e),sr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,nd(e,r)));break;case 30:break;case 21:break;default:lr(t,e),sr(e)}}function sr(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(IS(r)){n=r;break}r=r.return}if(n==null)throw Error(K(160));switch(n.tag){case 27:var o=n.stateNode,a=Kp(e);Ud(e,a,o);break;case 5:var i=n.stateNode;n.flags&32&&(os(i,""),n.flags&=-33);var l=Kp(e);Ud(e,l,i);break;case 3:case 4:var s=n.stateNode.containerInfo,c=Kp(e);Lg(e,c,s);break;default:throw Error(K(161))}}catch(d){Et(e,e.return,d)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function $S(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;$S(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function aa(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)PS(e,t.alternate,t),t=t.sibling}function ji(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:li(4,t,t.return),ji(t);break;case 1:ko(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&DS(t,t.return,n),ji(t);break;case 27:wc(t.stateNode);case 26:case 5:ko(t,t.return),ji(t);break;case 22:t.memoizedState===null&&ji(t);break;case 30:ji(t);break;default:ji(t)}e=e.sibling}}function ia(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var r=t.alternate,o=e,a=t,i=a.flags;switch(a.tag){case 0:case 11:case 15:ia(o,a,n),Kc(4,a);break;case 1:if(ia(o,a,n),r=a,o=r.stateNode,typeof o.componentDidMount=="function")try{o.componentDidMount()}catch(c){Et(r,r.return,c)}if(r=a,o=r.updateQueue,o!==null){var l=r.stateNode;try{var s=o.shared.hiddenCallbacks;if(s!==null)for(o.shared.hiddenCallbacks=null,o=0;o<s.length;o++)V0(s[o],l)}catch(c){Et(r,r.return,c)}}n&&i&64&&LS(a),bc(a,a.return);break;case 27:zS(a);case 26:case 5:ia(o,a,n),n&&r===null&&i&4&&BS(a),bc(a,a.return);break;case 12:ia(o,a,n);break;case 31:ia(o,a,n),n&&i&4&&VS(o,a);break;case 13:ia(o,a,n),n&&i&4&&FS(o,a);break;case 22:a.memoizedState===null&&ia(o,a,n),bc(a,a.return);break;case 30:break;default:ia(o,a,n)}t=t.sibling}}function _h(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Hc(n))}function Lh(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Hc(e))}function mo(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)KS(e,t,n,r),t=t.sibling}function KS(e,t,n,r){var o=t.flags;switch(t.tag){case 0:case 11:case 15:mo(e,t,n,r),o&2048&&Kc(9,t);break;case 1:mo(e,t,n,r);break;case 3:mo(e,t,n,r),o&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Hc(e)));break;case 12:if(o&2048){mo(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,i=a.id,l=a.onPostCommit;typeof l=="function"&&l(i,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(s){Et(t,t.return,s)}}else mo(e,t,n,r);break;case 31:mo(e,t,n,r);break;case 13:mo(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,i=t.alternate,t.memoizedState!==null?a._visibility&2?mo(e,t,n,r):vc(e,t):a._visibility&2?mo(e,t,n,r):(a._visibility|=2,Bl(e,t,n,r,(t.subtreeFlags&10256)!==0||!1)),o&2048&&_h(i,t);break;case 24:mo(e,t,n,r),o&2048&&Lh(t.alternate,t);break;default:mo(e,t,n,r)}}function Bl(e,t,n,r,o){for(o=o&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var a=e,i=t,l=n,s=r,c=i.flags;switch(i.tag){case 0:case 11:case 15:Bl(a,i,l,s,o),Kc(8,i);break;case 23:break;case 22:var d=i.stateNode;i.memoizedState!==null?d._visibility&2?Bl(a,i,l,s,o):vc(a,i):(d._visibility|=2,Bl(a,i,l,s,o)),o&&c&2048&&_h(i.alternate,i);break;case 24:Bl(a,i,l,s,o),o&&c&2048&&Lh(i.alternate,i);break;default:Bl(a,i,l,s,o)}t=t.sibling}}function vc(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,o=r.flags;switch(r.tag){case 22:vc(n,r),o&2048&&_h(r.alternate,r);break;case 24:vc(n,r),o&2048&&Lh(r.alternate,r);break;default:vc(n,r)}t=t.sibling}}var cc=8192;function Dl(e,t,n){if(e.subtreeFlags&cc)for(e=e.child;e!==null;)GS(e,t,n),e=e.sibling}function GS(e,t,n){switch(e.tag){case 26:Dl(e,t,n),e.flags&cc&&e.memoizedState!==null&&p_(n,po,e.memoizedState,e.memoizedProps);break;case 5:Dl(e,t,n);break;case 3:case 4:var r=po;po=qd(e.stateNode.containerInfo),Dl(e,t,n),po=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=cc,cc=16777216,Dl(e,t,n),cc=r):Dl(e,t,n));break;default:Dl(e,t,n)}}function qS(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function nc(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Bn=r,YS(r,e)}qS(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)WS(e),e=e.sibling}function WS(e){switch(e.tag){case 0:case 11:case 15:nc(e),e.flags&2048&&li(9,e,e.return);break;case 3:nc(e);break;case 12:nc(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,bd(e)):nc(e);break;default:nc(e)}}function bd(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Bn=r,YS(r,e)}qS(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:li(8,t,t.return),bd(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,bd(t));break;default:bd(t)}e=e.sibling}}function YS(e,t){for(;Bn!==null;){var n=Bn;switch(n.tag){case 0:case 11:case 15:li(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Hc(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,Bn=r;else e:for(n=e;Bn!==null;){r=Bn;var o=r.sibling,a=r.return;if(US(r),r===n){Bn=null;break e}if(o!==null){o.return=a,Bn=o;break e}Bn=a}}}var kk={getCacheForType:function(e){var t=$n(wn),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return $n(wn).controller.signal}},_k=typeof WeakMap=="function"?WeakMap:Map,wt=0,Pt=null,dt=null,mt=0,Nt=0,Ar=null,qa=!1,ys=!1,Dh=!1,va=0,mn=0,si=0,Ki=0,Bh=0,Nr=0,ss=0,xc=null,ur=null,Dg=!1,uf=0,QS=0,jd=1/0,Vd=null,ei=null,Tn=0,ti=null,cs=null,pa=0,Bg=0,Ig=null,XS=null,Sc=0,zg=null;function Or(){return(wt&2)!==0&&mt!==0?mt&-mt:je.T!==null?zh():i0()}function JS(){if(Nr===0)if((mt&536870912)===0||bt){var e=Gu;Gu<<=1,(Gu&3932160)===0&&(Gu=262144),Nr=e}else Nr=536870912;return e=_r.current,e!==null&&(e.flags|=32),Nr}function dr(e,t,n){(e===Pt&&(Nt===2||Nt===9)||e.cancelPendingCommit!==null)&&(us(e,0),Wa(e,mt,Nr,!1)),jc(e,n),((wt&2)===0||e!==Pt)&&(e===Pt&&((wt&2)===0&&(Ki|=n),mn===4&&Wa(e,mt,Nr,!1)),Do(e))}function ZS(e,t,n){if((wt&6)!==0)throw Error(K(327));var r=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Uc(e,t),o=r?Bk(e,t):qp(e,t,!0),a=r;do{if(o===0){ys&&!r&&Wa(e,t,0,!1);break}else{if(n=e.current.alternate,a&&!Lk(n)){o=qp(e,t,!1),a=!1;continue}if(o===2){if(a=t,e.errorRecoveryDisabledLanes&a)var i=0;else i=e.pendingLanes&-536870913,i=i!==0?i:i&536870912?536870912:0;if(i!==0){t=i;e:{var l=e;o=xc;var s=l.current.memoizedState.isDehydrated;if(s&&(us(l,i).flags|=256),i=qp(l,i,!1),i!==2){if(Dh&&!s){l.errorRecoveryDisabledLanes|=a,Ki|=a,o=4;break e}a=ur,ur=o,a!==null&&(ur===null?ur=a:ur.push.apply(ur,a))}o=i}if(a=!1,o!==2)continue}}if(o===1){us(e,0),Wa(e,t,0,!0);break}e:{switch(r=e,a=o,a){case 0:case 1:throw Error(K(345));case 4:if((t&4194048)!==t)break;case 6:Wa(r,t,Nr,!qa);break e;case 2:ur=null;break;case 3:case 5:break;default:throw Error(K(329))}if((t&62914560)===t&&(o=uf+300-Er(),10<o)){if(Wa(r,t,Nr,!qa),Jd(r,0,!0)!==0)break e;pa=t,r.timeoutHandle=vw(yx.bind(null,r,n,ur,Vd,Dg,t,Nr,Ki,ss,qa,a,"Throttled",-0,0),o);break e}yx(r,n,ur,Vd,Dg,t,Nr,Ki,ss,qa,a,null,-0,0)}}break}while(!0);Do(e)}function yx(e,t,n,r,o,a,i,l,s,c,d,u,f,p){if(e.timeoutHandle=-1,u=t.subtreeFlags,u&8192||(u&16785408)===16785408){u={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ua},GS(t,a,u);var b=(a&62914560)===a?uf-Er():(a&4194048)===a?QS-Er():0;if(b=g_(u,b),b!==null){pa=a,e.cancelPendingCommit=b(vx.bind(null,e,t,a,n,r,o,i,l,s,d,u,null,f,p)),Wa(e,a,i,!c);return}}vx(e,t,a,n,r,o,i,l,s)}function Lk(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!kr(a(),o))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Wa(e,t,n,r){t&=~Bh,t&=~Ki,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var o=t;0<o;){var a=31-Mr(o),i=1<<a;r[a]=-1,o&=~i}n!==0&&r0(e,n,t)}function df(){return(wt&6)===0?(Gc(0,!1),!1):!0}function Ih(){if(dt!==null){if(Nt===0)var e=dt.return;else e=dt,da=tl=null,Sh(e),Zl=null,Mc=0,e=dt;for(;e!==null;)_S(e.alternate,e),e=e.return;dt=null}}function us(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,Xk(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),pa=0,Ih(),Pt=e,dt=n=fa(e.current,null),mt=t,Nt=0,Ar=null,qa=!1,ys=Uc(e,t),Dh=!1,ss=Nr=Bh=Ki=si=mn=0,ur=xc=null,Dg=!1,(t&8)!==0&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var o=31-Mr(r),a=1<<o;t|=e[o],r&=~a}return va=t,nf(),n}function ew(e,t){Qe=null,je.H=kc,t===hs||t===of?(t=Yv(),Nt=3):t===ph?(t=Yv(),Nt=4):Nt=t===Oh?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ar=t,dt===null&&(mn=1,zd(e,qr(t,e.current)))}function tw(){var e=_r.current;return e===null?!0:(mt&4194048)===mt?Yr===null:(mt&62914560)===mt||(mt&536870912)!==0?e===Yr:!1}function nw(){var e=je.H;return je.H=kc,e===null?kc:e}function rw(){var e=je.A;return je.A=kk,e}function Fd(){mn=4,qa||(mt&4194048)!==mt&&_r.current!==null||(ys=!0),(si&134217727)===0&&(Ki&134217727)===0||Pt===null||Wa(Pt,mt,Nr,!1)}function qp(e,t,n){var r=wt;wt|=2;var o=nw(),a=rw();(Pt!==e||mt!==t)&&(Vd=null,us(e,t)),t=!1;var i=mn;e:do try{if(Nt!==0&&dt!==null){var l=dt,s=Ar;switch(Nt){case 8:Ih(),i=6;break e;case 3:case 2:case 9:case 6:_r.current===null&&(t=!0);var c=Nt;if(Nt=0,Ar=null,Wl(e,l,s,c),n&&ys){i=0;break e}break;default:c=Nt,Nt=0,Ar=null,Wl(e,l,s,c)}}Dk(),i=mn;break}catch(d){ew(e,d)}while(!0);return t&&e.shellSuspendCounter++,da=tl=null,wt=r,je.H=o,je.A=a,dt===null&&(Pt=null,mt=0,nf()),i}function Dk(){for(;dt!==null;)ow(dt)}function Bk(e,t){var n=wt;wt|=2;var r=nw(),o=rw();Pt!==e||mt!==t?(Vd=null,jd=Er()+500,us(e,t)):ys=Uc(e,t);e:do try{if(Nt!==0&&dt!==null){t=dt;var a=Ar;t:switch(Nt){case 1:Nt=0,Ar=null,Wl(e,t,a,1);break;case 2:case 9:if(Wv(a)){Nt=0,Ar=null,bx(t);break}t=function(){Nt!==2&&Nt!==9||Pt!==e||(Nt=7),Do(e)},a.then(t,t);break e;case 3:Nt=7;break e;case 4:Nt=5;break e;case 7:Wv(a)?(Nt=0,Ar=null,bx(t)):(Nt=0,Ar=null,Wl(e,t,a,7));break;case 5:var i=null;switch(dt.tag){case 26:i=dt.memoizedState;case 5:case 27:var l=dt;if(i?Cw(i):l.stateNode.complete){Nt=0,Ar=null;var s=l.sibling;if(s!==null)dt=s;else{var c=l.return;c!==null?(dt=c,ff(c)):dt=null}break t}}Nt=0,Ar=null,Wl(e,t,a,5);break;case 6:Nt=0,Ar=null,Wl(e,t,a,6);break;case 8:Ih(),mn=6;break e;default:throw Error(K(462))}}Ik();break}catch(d){ew(e,d)}while(!0);return da=tl=null,je.H=r,je.A=o,wt=n,dt!==null?0:(Pt=null,mt=0,nf(),mn)}function Ik(){for(;dt!==null&&!aO();)ow(dt)}function ow(e){var t=kS(e.alternate,e,va);e.memoizedProps=e.pendingProps,t===null?ff(e):dt=t}function bx(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=dx(n,t,t.pendingProps,t.type,void 0,mt);break;case 11:t=dx(n,t,t.pendingProps,t.type.render,t.ref,mt);break;case 5:Sh(t);default:_S(n,t),t=dt=_0(t,va),t=kS(n,t,va)}e.memoizedProps=e.pendingProps,t===null?ff(e):dt=t}function Wl(e,t,n,r){da=tl=null,Sh(t),Zl=null,Mc=0;var o=t.return;try{if(Ck(e,o,t,n,mt)){mn=1,zd(e,qr(n,e.current)),dt=null;return}}catch(a){if(o!==null)throw dt=o,a;mn=1,zd(e,qr(n,e.current)),dt=null;return}t.flags&32768?(bt||r===1?e=!0:ys||(mt&536870912)!==0?e=!1:(qa=e=!0,(r===2||r===9||r===3||r===6)&&(r=_r.current,r!==null&&r.tag===13&&(r.flags|=16384))),aw(t,e)):ff(t)}function ff(e){var t=e;do{if((t.flags&32768)!==0){aw(t,qa);return}e=t.return;var n=Ek(t.alternate,t,va);if(n!==null){dt=n;return}if(t=t.sibling,t!==null){dt=t;return}dt=t=e}while(t!==null);mn===0&&(mn=5)}function aw(e,t){do{var n=Tk(e.alternate,e);if(n!==null){n.flags&=32767,dt=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){dt=e;return}dt=e=n}while(e!==null);mn=6,dt=null}function vx(e,t,n,r,o,a,i,l,s){e.cancelPendingCommit=null;do mf();while(Tn!==0);if((wt&6)!==0)throw Error(K(327));if(t!==null){if(t===e.current)throw Error(K(177));if(a=t.lanes|t.childLanes,a|=lh,gO(e,n,a,i,l,s),e===Pt&&(dt=Pt=null,mt=0),cs=t,ti=e,pa=n,Bg=a,Ig=o,XS=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,jk(Nd,function(){return uw(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||r){r=je.T,je.T=null,o=At.p,At.p=2,i=wt,wt|=4;try{Mk(e,t,n)}finally{wt=i,At.p=o,je.T=r}}Tn=1,iw(),lw(),sw()}}function iw(){if(Tn===1){Tn=0;var e=ti,t=cs,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=je.T,je.T=null;var r=At.p;At.p=2;var o=wt;wt|=4;try{HS(t,e);var a=Vg,i=C0(e.containerInfo),l=a.focusedElem,s=a.selectionRange;if(i!==l&&l&&l.ownerDocument&&A0(l.ownerDocument.documentElement,l)){if(s!==null&&ih(l)){var c=s.start,d=s.end;if(d===void 0&&(d=c),"selectionStart"in l)l.selectionStart=c,l.selectionEnd=Math.min(d,l.value.length);else{var u=l.ownerDocument||document,f=u&&u.defaultView||window;if(f.getSelection){var p=f.getSelection(),b=l.textContent.length,m=Math.min(s.start,b),v=s.end===void 0?m:Math.min(s.end,b);!p.extend&&m>v&&(i=v,v=m,m=i);var h=Vv(l,m),g=Vv(l,v);if(h&&g&&(p.rangeCount!==1||p.anchorNode!==h.node||p.anchorOffset!==h.offset||p.focusNode!==g.node||p.focusOffset!==g.offset)){var y=u.createRange();y.setStart(h.node,h.offset),p.removeAllRanges(),m>v?(p.addRange(y),p.extend(g.node,g.offset)):(y.setEnd(g.node,g.offset),p.addRange(y))}}}}for(u=[],p=l;p=p.parentNode;)p.nodeType===1&&u.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<u.length;l++){var x=u[l];x.element.scrollLeft=x.left,x.element.scrollTop=x.top}}Qd=!!jg,Vg=jg=null}finally{wt=o,At.p=r,je.T=n}}e.current=t,Tn=2}}function lw(){if(Tn===2){Tn=0;var e=ti,t=cs,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=je.T,je.T=null;var r=At.p;At.p=2;var o=wt;wt|=4;try{PS(e,t.alternate,t)}finally{wt=o,At.p=r,je.T=n}}Tn=3}}function sw(){if(Tn===4||Tn===3){Tn=0,iO();var e=ti,t=cs,n=pa,r=XS;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Tn=5:(Tn=0,cs=ti=null,cw(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(ei=null),Zg(n),t=t.stateNode,Tr&&typeof Tr.onCommitFiberRoot=="function")try{Tr.onCommitFiberRoot(Pc,t,void 0,(t.current.flags&128)===128)}catch{}if(r!==null){t=je.T,o=At.p,At.p=2,je.T=null;try{for(var a=e.onRecoverableError,i=0;i<r.length;i++){var l=r[i];a(l.value,{componentStack:l.stack})}}finally{je.T=t,At.p=o}}(pa&3)!==0&&mf(),Do(e),o=e.pendingLanes,(n&261930)!==0&&(o&42)!==0?e===zg?Sc++:(Sc=0,zg=e):Sc=0,Gc(0,!1)}}function cw(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Hc(t)))}function mf(){return iw(),lw(),sw(),uw()}function uw(){if(Tn!==5)return!1;var e=ti,t=Bg;Bg=0;var n=Zg(pa),r=je.T,o=At.p;try{At.p=32>n?32:n,je.T=null,n=Ig,Ig=null;var a=ti,i=pa;if(Tn=0,cs=ti=null,pa=0,(wt&6)!==0)throw Error(K(331));var l=wt;if(wt|=4,WS(a.current),KS(a,a.current,i,n),wt=l,Gc(0,!1),Tr&&typeof Tr.onPostCommitFiberRoot=="function")try{Tr.onPostCommitFiberRoot(Pc,a)}catch{}return!0}finally{At.p=o,je.T=r,cw(e,t)}}function xx(e,t,n){t=qr(n,t),t=Og(e.stateNode,t,2),e=Za(e,t,2),e!==null&&(jc(e,2),Do(e))}function Et(e,t,n){if(e.tag===3)xx(e,e,n);else for(;t!==null;){if(t.tag===3){xx(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(ei===null||!ei.has(r))){e=qr(n,e),n=RS(2),r=Za(t,n,2),r!==null&&(NS(n,r,t,e),jc(r,2),Do(r));break}}t=t.return}}function Wp(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new _k;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(n)||(Dh=!0,o.add(n),e=zk.bind(null,e,t,n),t.then(e,e))}function zk(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Pt===e&&(mt&n)===n&&(mn===4||mn===3&&(mt&62914560)===mt&&300>Er()-uf?(wt&2)===0&&us(e,0):Bh|=n,ss===mt&&(ss=0)),Do(e)}function dw(e,t){t===0&&(t=n0()),e=el(e,t),e!==null&&(jc(e,t),Do(e))}function Pk(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),dw(e,n)}function Uk(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(K(314))}r!==null&&r.delete(t),dw(e,n)}function jk(e,t){return Xg(e,t)}var Hd=null,Il=null,Pg=!1,$d=!1,Yp=!1,Ya=0;function Do(e){e!==Il&&e.next===null&&(Il===null?Hd=Il=e:Il=Il.next=e),$d=!0,Pg||(Pg=!0,Fk())}function Gc(e,t){if(!Yp&&$d){Yp=!0;do for(var n=!1,r=Hd;r!==null;){if(!t)if(e!==0){var o=r.pendingLanes;if(o===0)var a=0;else{var i=r.suspendedLanes,l=r.pingedLanes;a=(1<<31-Mr(42|e)+1)-1,a&=o&~(i&~l),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Sx(r,a))}else a=mt,a=Jd(r,r===Pt?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(a&3)===0||Uc(r,a)||(n=!0,Sx(r,a));r=r.next}while(n);Yp=!1}}function Vk(){fw()}function fw(){$d=Pg=!1;var e=0;Ya!==0&&Qk()&&(e=Ya);for(var t=Er(),n=null,r=Hd;r!==null;){var o=r.next,a=mw(r,t);a===0?(r.next=null,n===null?Hd=o:n.next=o,o===null&&(Il=n)):(n=r,(e!==0||(a&3)!==0)&&($d=!0)),r=o}Tn!==0&&Tn!==5||Gc(e,!1),Ya!==0&&(Ya=0)}function mw(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var i=31-Mr(a),l=1<<i,s=o[i];s===-1?((l&n)===0||(l&r)!==0)&&(o[i]=pO(l,t)):s<=t&&(e.expiredLanes|=l),a&=~l}if(t=Pt,n=mt,n=Jd(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Nt===2||Nt===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Cp(r),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Uc(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Cp(r),Zg(n)){case 2:case 8:n=e0;break;case 32:n=Nd;break;case 268435456:n=t0;break;default:n=Nd}return r=pw.bind(null,e),n=Xg(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Cp(r),e.callbackPriority=2,e.callbackNode=null,2}function pw(e,t){if(Tn!==0&&Tn!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(mf()&&e.callbackNode!==n)return null;var r=mt;return r=Jd(e,e===Pt?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(ZS(e,r,t),mw(e,Er()),e.callbackNode!=null&&e.callbackNode===n?pw.bind(null,e):null)}function Sx(e,t){if(mf())return null;ZS(e,t,!0)}function Fk(){Jk(function(){(wt&6)!==0?Xg(Zx,Vk):fw()})}function zh(){if(Ya===0){var e=as;e===0&&(e=Ku,Ku<<=1,(Ku&261888)===0&&(Ku=256)),Ya=e}return Ya}function wx(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:cd(""+e)}function Ax(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function Hk(e,t,n,r,o){if(t==="submit"&&n&&n.stateNode===o){var a=wx((o[fr]||null).action),i=r.submitter;i&&(t=(t=i[fr]||null)?wx(t.formAction):i.getAttribute("formAction"),t!==null&&(a=t,i=null));var l=new Zd("action","action",null,r,o);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Ya!==0){var s=i?Ax(o,i):new FormData(o);Tg(n,{pending:!0,data:s,method:o.method,action:a},null,s)}}else typeof a=="function"&&(l.preventDefault(),s=i?Ax(o,i):new FormData(o),Tg(n,{pending:!0,data:s,method:o.method,action:a},a,s))},currentTarget:o}]})}}for(rd=0;rd<hg.length;rd++)od=hg[rd],Cx=od.toLowerCase(),Rx=od[0].toUpperCase()+od.slice(1),go(Cx,"on"+Rx);var od,Cx,Rx,rd;go(N0,"onAnimationEnd");go(E0,"onAnimationIteration");go(T0,"onAnimationStart");go("dblclick","onDoubleClick");go("focusin","onFocus");go("focusout","onBlur");go(lk,"onTransitionRun");go(sk,"onTransitionStart");go(ck,"onTransitionCancel");go(M0,"onTransitionEnd");rs("onMouseEnter",["mouseout","mouseover"]);rs("onMouseLeave",["mouseout","mouseover"]);rs("onPointerEnter",["pointerout","pointerover"]);rs("onPointerLeave",["pointerout","pointerover"]);Xi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Xi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Xi("onBeforeInput",["compositionend","keypress","textInput","paste"]);Xi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Xi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Xi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var _c="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),$k=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(_c));function gw(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,c=l.currentTarget;if(l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){Td(d)}o.currentTarget=null,a=s}else for(i=0;i<r.length;i++){if(l=r[i],s=l.instance,c=l.currentTarget,l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){Td(d)}o.currentTarget=null,a=s}}}}function ut(e,t){var n=t[sg];n===void 0&&(n=t[sg]=new Set);var r=e+"__bubble";n.has(r)||(hw(t,e,2,!1),n.add(r))}function Qp(e,t,n){var r=0;t&&(r|=4),hw(n,e,r,t)}var ad="_reactListening"+Math.random().toString(36).slice(2);function Ph(e){if(!e[ad]){e[ad]=!0,l0.forEach(function(n){n!=="selectionchange"&&($k.has(n)||Qp(n,!1,e),Qp(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ad]||(t[ad]=!0,Qp("selectionchange",!1,t))}}function hw(e,t,n,r){switch(Mw(t)){case 2:var o=b_;break;case 8:o=v_;break;default:o=Fh}n=o.bind(null,t,n,e),o=void 0,!mg||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Xp(e,t,n,r,o){var a=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var i=r.tag;if(i===3||i===4){var l=r.stateNode.containerInfo;if(l===o)break;if(i===4)for(i=r.return;i!==null;){var s=i.tag;if((s===3||s===4)&&i.stateNode.containerInfo===o)return;i=i.return}for(;l!==null;){if(i=Ul(l),i===null)return;if(s=i.tag,s===5||s===6||s===26||s===27){r=a=i;continue e}l=l.parentNode}}r=r.return}g0(function(){var c=a,d=nh(n),u=[];e:{var f=O0.get(e);if(f!==void 0){var p=Zd,b=e;switch(e){case"keypress":if(dd(n)===0)break e;case"keydown":case"keyup":p=UO;break;case"focusin":b="focus",p=Mp;break;case"focusout":b="blur",p=Mp;break;case"beforeblur":case"afterblur":p=Mp;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=_v;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=EO;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=FO;break;case N0:case E0:case T0:p=OO;break;case M0:p=$O;break;case"scroll":case"scrollend":p=RO;break;case"wheel":p=GO;break;case"copy":case"cut":case"paste":p=_O;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=Dv;break;case"toggle":case"beforetoggle":p=WO}var m=(t&4)!==0,v=!m&&(e==="scroll"||e==="scrollend"),h=m?f!==null?f+"Capture":null:f;m=[];for(var g=c,y;g!==null;){var x=g;if(y=x.stateNode,x=x.tag,x!==5&&x!==26&&x!==27||y===null||h===null||(x=Cc(g,h),x!=null&&m.push(Lc(g,x,y))),v)break;g=g.return}0<m.length&&(f=new p(f,b,null,n,d),u.push({event:f,listeners:m}))}}if((t&7)===0){e:{if(f=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",f&&n!==fg&&(b=n.relatedTarget||n.fromElement)&&(Ul(b)||b[ms]))break e;if((p||f)&&(f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window,p?(b=n.relatedTarget||n.toElement,p=c,b=b?Ul(b):null,b!==null&&(v=zc(b),m=b.tag,b!==v||m!==5&&m!==27&&m!==6)&&(b=null)):(p=null,b=c),p!==b)){if(m=_v,x="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(m=Dv,x="onPointerLeave",h="onPointerEnter",g="pointer"),v=p==null?f:lc(p),y=b==null?f:lc(b),f=new m(x,g+"leave",p,n,d),f.target=v,f.relatedTarget=y,x=null,Ul(d)===c&&(m=new m(h,g+"enter",b,n,d),m.target=y,m.relatedTarget=v,x=m),v=x,p&&b)t:{for(m=Kk,h=p,g=b,y=0,x=h;x;x=m(x))y++;x=0;for(var A=g;A;A=m(A))x++;for(;0<y-x;)h=m(h),y--;for(;0<x-y;)g=m(g),x--;for(;y--;){if(h===g||g!==null&&h===g.alternate){m=h;break t}h=m(h),g=m(g)}m=null}else m=null;p!==null&&Nx(u,f,p,m,!1),b!==null&&v!==null&&Nx(u,v,b,m,!0)}}e:{if(f=c?lc(c):window,p=f.nodeName&&f.nodeName.toLowerCase(),p==="select"||p==="input"&&f.type==="file")var N=Pv;else if(zv(f))if(S0)N=ok;else{N=nk;var E=tk}else p=f.nodeName,!p||p.toLowerCase()!=="input"||f.type!=="checkbox"&&f.type!=="radio"?c&&th(c.elementType)&&(N=Pv):N=rk;if(N&&(N=N(e,c))){x0(u,N,n,d);break e}E&&E(e,f,c),e==="focusout"&&c&&f.type==="number"&&c.memoizedProps.value!=null&&dg(f,"number",f.value)}switch(E=c?lc(c):window,e){case"focusin":(zv(E)||E.contentEditable==="true")&&(Fl=E,pg=c,fc=null);break;case"focusout":fc=pg=Fl=null;break;case"mousedown":gg=!0;break;case"contextmenu":case"mouseup":case"dragend":gg=!1,Fv(u,n,d);break;case"selectionchange":if(ik)break;case"keydown":case"keyup":Fv(u,n,d)}var C;if(ah)e:{switch(e){case"compositionstart":var O="onCompositionStart";break e;case"compositionend":O="onCompositionEnd";break e;case"compositionupdate":O="onCompositionUpdate";break e}O=void 0}else Vl?b0(e,n)&&(O="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(O="onCompositionStart");O&&(y0&&n.locale!=="ko"&&(Vl||O!=="onCompositionStart"?O==="onCompositionEnd"&&Vl&&(C=h0()):(Ga=d,rh="value"in Ga?Ga.value:Ga.textContent,Vl=!0)),E=Kd(c,O),0<E.length&&(O=new Lv(O,e,null,n,d),u.push({event:O,listeners:E}),C?O.data=C:(C=v0(n),C!==null&&(O.data=C)))),(C=QO?XO(e,n):JO(e,n))&&(O=Kd(c,"onBeforeInput"),0<O.length&&(E=new Lv("onBeforeInput","beforeinput",null,n,d),u.push({event:E,listeners:O}),E.data=C)),Hk(u,e,c,n,d)}gw(u,t)})}function Lc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Kd(e,t){for(var n=t+"Capture",r=[];e!==null;){var o=e,a=o.stateNode;if(o=o.tag,o!==5&&o!==26&&o!==27||a===null||(o=Cc(e,n),o!=null&&r.unshift(Lc(e,o,a)),o=Cc(e,t),o!=null&&r.push(Lc(e,o,a))),e.tag===3)return r;e=e.return}return[]}function Kk(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Nx(e,t,n,r,o){for(var a=t._reactName,i=[];n!==null&&n!==r;){var l=n,s=l.alternate,c=l.stateNode;if(l=l.tag,s!==null&&s===r)break;l!==5&&l!==26&&l!==27||c===null||(s=c,o?(c=Cc(n,a),c!=null&&i.unshift(Lc(n,c,s))):o||(c=Cc(n,a),c!=null&&i.push(Lc(n,c,s)))),n=n.return}i.length!==0&&e.push({event:t,listeners:i})}var Gk=/\r\n?/g,qk=/\u0000|\uFFFD/g;function Ex(e){return(typeof e=="string"?e:""+e).replace(Gk,`
|
|
9
|
-
`).replace(qk,"")}function yw(e,t){return t=Ex(t),Ex(e)===t}function kt(e,t,n,r,o,a){switch(n){case"children":typeof r=="string"?t==="body"||t==="textarea"&&r===""||os(e,r):(typeof r=="number"||typeof r=="bigint")&&t!=="body"&&os(e,""+r);break;case"className":Wu(e,"class",r);break;case"tabIndex":Wu(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":Wu(e,n,r);break;case"style":p0(e,r,a);break;case"data":if(t!=="object"){Wu(e,"data",r);break}case"src":case"href":if(r===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=cd(""+r),e.setAttribute(n,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof a=="function"&&(n==="formAction"?(t!=="input"&&kt(e,t,"name",o.name,o,null),kt(e,t,"formEncType",o.formEncType,o,null),kt(e,t,"formMethod",o.formMethod,o,null),kt(e,t,"formTarget",o.formTarget,o,null)):(kt(e,t,"encType",o.encType,o,null),kt(e,t,"method",o.method,o,null),kt(e,t,"target",o.target,o,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=cd(""+r),e.setAttribute(n,r);break;case"onClick":r!=null&&(e.onclick=ua);break;case"onScroll":r!=null&&ut("scroll",e);break;case"onScrollEnd":r!=null&&ut("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(K(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(K(60));e.innerHTML=n}}break;case"multiple":e.multiple=r&&typeof r!="function"&&typeof r!="symbol";break;case"muted":e.muted=r&&typeof r!="function"&&typeof r!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(r==null||typeof r=="function"||typeof r=="boolean"||typeof r=="symbol"){e.removeAttribute("xlink:href");break}n=cd(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""+r):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":r&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":r===!0?e.setAttribute(n,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,r):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case"popover":ut("beforetoggle",e),ut("toggle",e),sd(e,"popover",r);break;case"xlinkActuate":na(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":na(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":na(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":na(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":na(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":na(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":na(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":na(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":na(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":sd(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=AO.get(n)||n,sd(e,n,r))}}function Ug(e,t,n,r,o,a){switch(n){case"style":p0(e,r,a);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(K(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(K(60));e.innerHTML=n}}break;case"children":typeof r=="string"?os(e,r):(typeof r=="number"||typeof r=="bigint")&&os(e,""+r);break;case"onScroll":r!=null&&ut("scroll",e);break;case"onScrollEnd":r!=null&&ut("scrollend",e);break;case"onClick":r!=null&&(e.onclick=ua);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!s0.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(o=n.endsWith("Capture"),t=n.slice(2,o?n.length-7:void 0),a=e[fr]||null,a=a!=null?a[n]:null,typeof a=="function"&&e.removeEventListener(t,a,o),typeof r=="function")){typeof a!="function"&&a!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,o);break e}n in e?e[n]=r:r===!0?e.setAttribute(n,""):sd(e,n,r)}}}function Kn(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ut("error",e),ut("load",e);var r=!1,o=!1,a;for(a in n)if(n.hasOwnProperty(a)){var i=n[a];if(i!=null)switch(a){case"src":r=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(K(137,t));default:kt(e,t,a,i,n,null)}}o&&kt(e,t,"srcSet",n.srcSet,n,null),r&&kt(e,t,"src",n.src,n,null);return;case"input":ut("invalid",e);var l=a=i=o=null,s=null,c=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case"name":o=d;break;case"type":i=d;break;case"checked":s=d;break;case"defaultChecked":c=d;break;case"value":a=d;break;case"defaultValue":l=d;break;case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(K(137,t));break;default:kt(e,t,r,d,n,null)}}d0(e,a,l,s,c,i,o,!1);return;case"select":ut("invalid",e),r=i=a=null;for(o in n)if(n.hasOwnProperty(o)&&(l=n[o],l!=null))switch(o){case"value":a=l;break;case"defaultValue":i=l;break;case"multiple":r=l;default:kt(e,t,o,l,n,null)}t=a,n=i,e.multiple=!!r,t!=null?Ql(e,!!r,t,!1):n!=null&&Ql(e,!!r,n,!0);return;case"textarea":ut("invalid",e),a=o=r=null;for(i in n)if(n.hasOwnProperty(i)&&(l=n[i],l!=null))switch(i){case"value":r=l;break;case"defaultValue":o=l;break;case"children":a=l;break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(K(91));break;default:kt(e,t,i,l,n,null)}m0(e,r,o,a);return;case"option":for(s in n)n.hasOwnProperty(s)&&(r=n[s],r!=null)&&(s==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":kt(e,t,s,r,n,null));return;case"dialog":ut("beforetoggle",e),ut("toggle",e),ut("cancel",e),ut("close",e);break;case"iframe":case"object":ut("load",e);break;case"video":case"audio":for(r=0;r<_c.length;r++)ut(_c[r],e);break;case"image":ut("error",e),ut("load",e);break;case"details":ut("toggle",e);break;case"embed":case"source":case"link":ut("error",e),ut("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(r=n[c],r!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(K(137,t));default:kt(e,t,c,r,n,null)}return;default:if(th(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Ug(e,t,d,r,n,void 0));return}}for(l in n)n.hasOwnProperty(l)&&(r=n[l],r!=null&&kt(e,t,l,r,n,null))}function Wk(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var o=null,a=null,i=null,l=null,s=null,c=null,d=null;for(p in n){var u=n[p];if(n.hasOwnProperty(p)&&u!=null)switch(p){case"checked":break;case"value":break;case"defaultValue":s=u;default:r.hasOwnProperty(p)||kt(e,t,p,null,r,u)}}for(var f in r){var p=r[f];if(u=n[f],r.hasOwnProperty(f)&&(p!=null||u!=null))switch(f){case"type":a=p;break;case"name":o=p;break;case"checked":c=p;break;case"defaultChecked":d=p;break;case"value":i=p;break;case"defaultValue":l=p;break;case"children":case"dangerouslySetInnerHTML":if(p!=null)throw Error(K(137,t));break;default:p!==u&&kt(e,t,f,p,r,u)}}ug(e,i,l,s,c,d,a,o);return;case"select":p=i=l=f=null;for(a in n)if(s=n[a],n.hasOwnProperty(a)&&s!=null)switch(a){case"value":break;case"multiple":p=s;default:r.hasOwnProperty(a)||kt(e,t,a,null,r,s)}for(o in r)if(a=r[o],s=n[o],r.hasOwnProperty(o)&&(a!=null||s!=null))switch(o){case"value":f=a;break;case"defaultValue":l=a;break;case"multiple":i=a;default:a!==s&&kt(e,t,o,a,r,s)}t=l,n=i,r=p,f!=null?Ql(e,!!n,f,!1):!!r!=!!n&&(t!=null?Ql(e,!!n,t,!0):Ql(e,!!n,n?[]:"",!1));return;case"textarea":p=f=null;for(l in n)if(o=n[l],n.hasOwnProperty(l)&&o!=null&&!r.hasOwnProperty(l))switch(l){case"value":break;case"children":break;default:kt(e,t,l,null,r,o)}for(i in r)if(o=r[i],a=n[i],r.hasOwnProperty(i)&&(o!=null||a!=null))switch(i){case"value":f=o;break;case"defaultValue":p=o;break;case"children":break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(K(91));break;default:o!==a&&kt(e,t,i,o,r,a)}f0(e,f,p);return;case"option":for(var b in n)f=n[b],n.hasOwnProperty(b)&&f!=null&&!r.hasOwnProperty(b)&&(b==="selected"?e.selected=!1:kt(e,t,b,null,r,f));for(s in r)f=r[s],p=n[s],r.hasOwnProperty(s)&&f!==p&&(f!=null||p!=null)&&(s==="selected"?e.selected=f&&typeof f!="function"&&typeof f!="symbol":kt(e,t,s,f,r,p));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var m in n)f=n[m],n.hasOwnProperty(m)&&f!=null&&!r.hasOwnProperty(m)&&kt(e,t,m,null,r,f);for(c in r)if(f=r[c],p=n[c],r.hasOwnProperty(c)&&f!==p&&(f!=null||p!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(f!=null)throw Error(K(137,t));break;default:kt(e,t,c,f,r,p)}return;default:if(th(t)){for(var v in n)f=n[v],n.hasOwnProperty(v)&&f!==void 0&&!r.hasOwnProperty(v)&&Ug(e,t,v,void 0,r,f);for(d in r)f=r[d],p=n[d],!r.hasOwnProperty(d)||f===p||f===void 0&&p===void 0||Ug(e,t,d,f,r,p);return}}for(var h in n)f=n[h],n.hasOwnProperty(h)&&f!=null&&!r.hasOwnProperty(h)&&kt(e,t,h,null,r,f);for(u in r)f=r[u],p=n[u],!r.hasOwnProperty(u)||f===p||f==null&&p==null||kt(e,t,u,f,r,p)}function Tx(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Yk(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),r=0;r<n.length;r++){var o=n[r],a=o.transferSize,i=o.initiatorType,l=o.duration;if(a&&l&&Tx(i)){for(i=0,l=o.responseEnd,r+=1;r<n.length;r++){var s=n[r],c=s.startTime;if(c>l)break;var d=s.transferSize,u=s.initiatorType;d&&Tx(u)&&(s=s.responseEnd,i+=d*(s<l?1:(l-c)/(s-c)))}if(--r,t+=8*(a+i)/(o.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var jg=null,Vg=null;function Gd(e){return e.nodeType===9?e:e.ownerDocument}function Mx(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function bw(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Fg(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Jp=null;function Qk(){var e=window.event;return e&&e.type==="popstate"?e===Jp?!1:(Jp=e,!0):(Jp=null,!1)}var vw=typeof setTimeout=="function"?setTimeout:void 0,Xk=typeof clearTimeout=="function"?clearTimeout:void 0,Ox=typeof Promise=="function"?Promise:void 0,Jk=typeof queueMicrotask=="function"?queueMicrotask:typeof Ox<"u"?function(e){return Ox.resolve(null).then(e).catch(Zk)}:vw;function Zk(e){setTimeout(function(){throw e})}function ui(e){return e==="head"}function kx(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"||n==="/&"){if(r===0){e.removeChild(o),fs(t);return}r--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")r++;else if(n==="html")wc(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,wc(n);for(var a=n.firstChild;a;){var i=a.nextSibling,l=a.nodeName;a[Vc]||l==="SCRIPT"||l==="STYLE"||l==="LINK"&&a.rel.toLowerCase()==="stylesheet"||n.removeChild(a),a=i}}else n==="body"&&wc(e.ownerDocument.body);n=o}while(n);fs(t)}function _x(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),r&&r.nodeType===8)if(n=r.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=r}while(n)}function Hg(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Hg(n),eh(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function e_(e,t,n,r){for(;e.nodeType===1;){var o=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[Vc])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(a=e.getAttribute("rel"),a==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(a!==o.rel||e.getAttribute("href")!==(o.href==null||o.href===""?null:o.href)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin)||e.getAttribute("title")!==(o.title==null?null:o.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(a=e.getAttribute("src"),(a!==(o.src==null?null:o.src)||e.getAttribute("type")!==(o.type==null?null:o.type)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin))&&a&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var a=o.name==null?null:""+o.name;if(o.type==="hidden"&&e.getAttribute("name")===a)return e}else return e;if(e=Qr(e.nextSibling),e===null)break}return null}function t_(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qr(e.nextSibling),e===null))return null;return e}function xw(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qr(e.nextSibling),e===null))return null;return e}function $g(e){return e.data==="$?"||e.data==="$~"}function Kg(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function n_(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function Qr(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Gg=null;function Lx(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qr(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Dx(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Sw(e,t,n){switch(t=Gd(n),e){case"html":if(e=t.documentElement,!e)throw Error(K(452));return e;case"head":if(e=t.head,!e)throw Error(K(453));return e;case"body":if(e=t.body,!e)throw Error(K(454));return e;default:throw Error(K(451))}}function wc(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);eh(e)}var Xr=new Map,Bx=new Set;function qd(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var xa=At.d;At.d={f:r_,r:o_,D:a_,C:i_,L:l_,m:s_,X:u_,S:c_,M:d_};function r_(){var e=xa.f(),t=df();return e||t}function o_(e){var t=ps(e);t!==null&&t.tag===5&&t.type==="form"?pS(t):xa.r(e)}var bs=typeof document>"u"?null:document;function ww(e,t,n){var r=bs;if(r&&typeof t=="string"&&t){var o=Gr(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof n=="string"&&(o+='[crossorigin="'+n+'"]'),Bx.has(o)||(Bx.add(o),e={rel:e,crossOrigin:n,href:t},r.querySelector(o)===null&&(t=r.createElement("link"),Kn(t,"link",e),In(t),r.head.appendChild(t)))}}function a_(e){xa.D(e),ww("dns-prefetch",e,null)}function i_(e,t){xa.C(e,t),ww("preconnect",e,t)}function l_(e,t,n){xa.L(e,t,n);var r=bs;if(r&&e&&t){var o='link[rel="preload"][as="'+Gr(t)+'"]';t==="image"&&n&&n.imageSrcSet?(o+='[imagesrcset="'+Gr(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(o+='[imagesizes="'+Gr(n.imageSizes)+'"]')):o+='[href="'+Gr(e)+'"]';var a=o;switch(t){case"style":a=ds(e);break;case"script":a=vs(e)}Xr.has(a)||(e=Gt({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Xr.set(a,e),r.querySelector(o)!==null||t==="style"&&r.querySelector(qc(a))||t==="script"&&r.querySelector(Wc(a))||(t=r.createElement("link"),Kn(t,"link",e),In(t),r.head.appendChild(t)))}}function s_(e,t){xa.m(e,t);var n=bs;if(n&&e){var r=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+Gr(r)+'"][href="'+Gr(e)+'"]',a=o;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=vs(e)}if(!Xr.has(a)&&(e=Gt({rel:"modulepreload",href:e},t),Xr.set(a,e),n.querySelector(o)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Wc(a)))return}r=n.createElement("link"),Kn(r,"link",e),In(r),n.head.appendChild(r)}}}function c_(e,t,n){xa.S(e,t,n);var r=bs;if(r&&e){var o=Yl(r).hoistableStyles,a=ds(e);t=t||"default";var i=o.get(a);if(!i){var l={loading:0,preload:null};if(i=r.querySelector(qc(a)))l.loading=5;else{e=Gt({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Xr.get(a))&&Uh(e,n);var s=i=r.createElement("link");In(s),Kn(s,"link",e),s._p=new Promise(function(c,d){s.onload=c,s.onerror=d}),s.addEventListener("load",function(){l.loading|=1}),s.addEventListener("error",function(){l.loading|=2}),l.loading|=4,vd(i,t,r)}i={type:"stylesheet",instance:i,count:1,state:l},o.set(a,i)}}}function u_(e,t){xa.X(e,t);var n=bs;if(n&&e){var r=Yl(n).hoistableScripts,o=vs(e),a=r.get(o);a||(a=n.querySelector(Wc(o)),a||(e=Gt({src:e,async:!0},t),(t=Xr.get(o))&&jh(e,t),a=n.createElement("script"),In(a),Kn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function d_(e,t){xa.M(e,t);var n=bs;if(n&&e){var r=Yl(n).hoistableScripts,o=vs(e),a=r.get(o);a||(a=n.querySelector(Wc(o)),a||(e=Gt({src:e,async:!0,type:"module"},t),(t=Xr.get(o))&&jh(e,t),a=n.createElement("script"),In(a),Kn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function Ix(e,t,n,r){var o=(o=Qa.current)?qd(o):null;if(!o)throw Error(K(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=ds(n.href),n=Yl(o).hoistableStyles,r=n.get(t),r||(r={type:"style",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=ds(n.href);var a=Yl(o).hoistableStyles,i=a.get(e);if(i||(o=o.ownerDocument||o,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},a.set(e,i),(a=o.querySelector(qc(e)))&&!a._p&&(i.instance=a,i.state.loading=5),Xr.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Xr.set(e,n),a||f_(o,e,n,i.state))),t&&r===null)throw Error(K(528,""));return i}if(t&&r!==null)throw Error(K(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=vs(n),n=Yl(o).hoistableScripts,r=n.get(t),r||(r={type:"script",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(K(444,e))}}function ds(e){return'href="'+Gr(e)+'"'}function qc(e){return'link[rel="stylesheet"]['+e+"]"}function Aw(e){return Gt({},e,{"data-precedence":e.precedence,precedence:null})}function f_(e,t,n,r){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?r.loading=1:(t=e.createElement("link"),r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2}),Kn(t,"link",n),In(t),e.head.appendChild(t))}function vs(e){return'[src="'+Gr(e)+'"]'}function Wc(e){return"script[async]"+e}function zx(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+Gr(n.href)+'"]');if(r)return t.instance=r,In(r),r;var o=Gt({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),In(r),Kn(r,"style",o),vd(r,n.precedence,e),t.instance=r;case"stylesheet":o=ds(n.href);var a=e.querySelector(qc(o));if(a)return t.state.loading|=4,t.instance=a,In(a),a;r=Aw(n),(o=Xr.get(o))&&Uh(r,o),a=(e.ownerDocument||e).createElement("link"),In(a);var i=a;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Kn(a,"link",r),t.state.loading|=4,vd(a,n.precedence,e),t.instance=a;case"script":return a=vs(n.src),(o=e.querySelector(Wc(a)))?(t.instance=o,In(o),o):(r=n,(o=Xr.get(a))&&(r=Gt({},n),jh(r,o)),e=e.ownerDocument||e,o=e.createElement("script"),In(o),Kn(o,"link",r),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(K(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,vd(r,n.precedence,e));return t.instance}function vd(e,t,n){for(var r=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=r.length?r[r.length-1]:null,a=o,i=0;i<r.length;i++){var l=r[i];if(l.dataset.precedence===t)a=l;else if(a!==o)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Uh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function jh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var xd=null;function Px(e,t,n){if(xd===null){var r=new Map,o=xd=new Map;o.set(n,r)}else o=xd,r=o.get(n),r||(r=new Map,o.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),o=0;o<n.length;o++){var a=n[o];if(!(a[Vc]||a[Fn]||e==="link"&&a.getAttribute("rel")==="stylesheet")&&a.namespaceURI!=="http://www.w3.org/2000/svg"){var i=a.getAttribute(t)||"";i=e+i;var l=r.get(i);l?l.push(a):r.set(i,[a])}}return r}function Ux(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function m_(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Cw(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function p_(e,t,n,r){if(n.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var o=ds(r.href),a=t.querySelector(qc(o));if(a){t=a._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Wd.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,In(a);return}a=t.ownerDocument||t,r=Aw(r),(o=Xr.get(o))&&Uh(r,o),a=a.createElement("link"),In(a);var i=a;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Kn(a,"link",r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=Wd.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var Zp=0;function g_(e,t){return e.stylesheets&&e.count===0&&Sd(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Sd(e,e.stylesheets),e.unsuspend){var a=e.unsuspend;e.unsuspend=null,a()}},6e4+t);0<e.imgBytes&&Zp===0&&(Zp=62500*Yk());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Sd(e,e.stylesheets),e.unsuspend)){var a=e.unsuspend;e.unsuspend=null,a()}},(e.imgBytes>Zp?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(o)}}:null}function Wd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Sd(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yd=null;function Sd(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yd=new Map,t.forEach(h_,e),Yd=null,Wd.call(e))}function h_(e,t){if(!(t.state.loading&4)){var n=Yd.get(e);if(n)var r=n.get(null);else{n=new Map,Yd.set(e,n);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a<o.length;a++){var i=o[a];(i.nodeName==="LINK"||i.getAttribute("media")!=="not all")&&(n.set(i.dataset.precedence,i),r=i)}r&&n.set(null,r)}o=t.instance,i=o.getAttribute("data-precedence"),a=n.get(i)||r,a===r&&n.set(null,o),n.set(i,o),this.count++,r=Wd.bind(this),o.addEventListener("load",r),o.addEventListener("error",r),a?a.parentNode.insertBefore(o,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(o,e.firstChild)),t.state.loading|=4}}var Dc={$$typeof:ca,Provider:null,Consumer:null,_currentValue:Vi,_currentValue2:Vi,_threadCount:0};function y_(e,t,n,r,o,a,i,l,s){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Rp(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rp(0),this.hiddenUpdates=Rp(null),this.identifierPrefix=r,this.onUncaughtError=o,this.onCaughtError=a,this.onRecoverableError=i,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.incompleteTransitions=new Map}function Rw(e,t,n,r,o,a,i,l,s,c,d,u){return e=new y_(e,t,n,i,s,c,d,u,l),t=1,a===!0&&(t|=24),a=Rr(3,null,null,t),e.current=a,a.stateNode=e,t=fh(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},gh(a),e}function Nw(e){return e?(e=Kl,e):Kl}function Ew(e,t,n,r,o,a){o=Nw(o),r.context===null?r.context=o:r.pendingContext=o,r=Ja(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Za(e,r,t),n!==null&&(dr(n,e,t),pc(n,e,t))}function jx(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Vh(e,t){jx(e,t),(e=e.alternate)&&jx(e,t)}function Tw(e){if(e.tag===13||e.tag===31){var t=el(e,67108864);t!==null&&dr(t,e,67108864),Vh(e,67108864)}}function Vx(e){if(e.tag===13||e.tag===31){var t=Or();t=Jg(t);var n=el(e,t);n!==null&&dr(n,e,t),Vh(e,t)}}var Qd=!0;function b_(e,t,n,r){var o=je.T;je.T=null;var a=At.p;try{At.p=2,Fh(e,t,n,r)}finally{At.p=a,je.T=o}}function v_(e,t,n,r){var o=je.T;je.T=null;var a=At.p;try{At.p=8,Fh(e,t,n,r)}finally{At.p=a,je.T=o}}function Fh(e,t,n,r){if(Qd){var o=qg(r);if(o===null)Xp(e,t,r,Xd,n),Fx(e,r);else if(S_(o,e,t,n,r))r.stopPropagation();else if(Fx(e,r),t&4&&-1<x_.indexOf(e)){for(;o!==null;){var a=ps(o);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var i=Pi(a.pendingLanes);if(i!==0){var l=a;for(l.pendingLanes|=2,l.entangledLanes|=2;i;){var s=1<<31-Mr(i);l.entanglements[1]|=s,i&=~s}Do(a),(wt&6)===0&&(jd=Er()+500,Gc(0,!1))}}break;case 31:case 13:l=el(a,2),l!==null&&dr(l,a,2),df(),Vh(a,2)}if(a=qg(r),a===null&&Xp(e,t,r,Xd,n),a===o)break;o=a}o!==null&&r.stopPropagation()}else Xp(e,t,r,null,n)}}function qg(e){return e=nh(e),Hh(e)}var Xd=null;function Hh(e){if(Xd=null,e=Ul(e),e!==null){var t=zc(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=Wx(t),e!==null)return e;e=null}else if(n===31){if(e=Yx(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Xd=e,null}function Mw(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(lO()){case Zx:return 2;case e0:return 8;case Nd:case sO:return 32;case t0:return 268435456;default:return 32}default:return 32}}var Wg=!1,ni=null,ri=null,oi=null,Bc=new Map,Ic=new Map,$a=[],x_="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Fx(e,t){switch(e){case"focusin":case"focusout":ni=null;break;case"dragenter":case"dragleave":ri=null;break;case"mouseover":case"mouseout":oi=null;break;case"pointerover":case"pointerout":Bc.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ic.delete(t.pointerId)}}function rc(e,t,n,r,o,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},t!==null&&(t=ps(t),t!==null&&Tw(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function S_(e,t,n,r,o){switch(t){case"focusin":return ni=rc(ni,e,t,n,r,o),!0;case"dragenter":return ri=rc(ri,e,t,n,r,o),!0;case"mouseover":return oi=rc(oi,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return Bc.set(a,rc(Bc.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,Ic.set(a,rc(Ic.get(a)||null,e,t,n,r,o)),!0}return!1}function Ow(e){var t=Ul(e.target);if(t!==null){var n=zc(t);if(n!==null){if(t=n.tag,t===13){if(t=Wx(n),t!==null){e.blockedOn=t,Rv(e.priority,function(){Vx(n)});return}}else if(t===31){if(t=Yx(n),t!==null){e.blockedOn=t,Rv(e.priority,function(){Vx(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function wd(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=qg(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);fg=r,n.target.dispatchEvent(r),fg=null}else return t=ps(n),t!==null&&Tw(t),e.blockedOn=n,!1;t.shift()}return!0}function Hx(e,t,n){wd(e)&&n.delete(t)}function w_(){Wg=!1,ni!==null&&wd(ni)&&(ni=null),ri!==null&&wd(ri)&&(ri=null),oi!==null&&wd(oi)&&(oi=null),Bc.forEach(Hx),Ic.forEach(Hx)}function id(e,t){e.blockedOn===t&&(e.blockedOn=null,Wg||(Wg=!0,Mn.unstable_scheduleCallback(Mn.unstable_NormalPriority,w_)))}var ld=null;function $x(e){ld!==e&&(ld=e,Mn.unstable_scheduleCallback(Mn.unstable_NormalPriority,function(){ld===e&&(ld=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],o=e[t+2];if(typeof r!="function"){if(Hh(r||n)===null)continue;break}var a=ps(n);a!==null&&(e.splice(t,3),t-=3,Tg(a,{pending:!0,data:o,method:n.method,action:r},r,o))}}))}function fs(e){function t(s){return id(s,e)}ni!==null&&id(ni,e),ri!==null&&id(ri,e),oi!==null&&id(oi,e),Bc.forEach(t),Ic.forEach(t);for(var n=0;n<$a.length;n++){var r=$a[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<$a.length&&(n=$a[0],n.blockedOn===null);)Ow(n),n.blockedOn===null&&$a.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var o=n[r],a=n[r+1],i=o[fr]||null;if(typeof a=="function")i||$x(n);else if(i){var l=null;if(a&&a.hasAttribute("formAction")){if(o=a,i=a[fr]||null)l=i.formAction;else if(Hh(o)!==null)continue}else l=i.action;typeof l=="function"?n[r+1]=l:(n.splice(r,3),r-=3),$x(n)}}}function kw(){function e(a){a.canIntercept&&a.info==="react-transition"&&a.intercept({handler:function(){return new Promise(function(i){return o=i})},focusReset:"manual",scroll:"manual"})}function t(){o!==null&&(o(),o=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var a=navigation.currentEntry;a&&a.url!=null&&navigation.navigate(a.url,{state:a.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var r=!1,o=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),o!==null&&(o(),o=null)}}}function $h(e){this._internalRoot=e}pf.prototype.render=$h.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(K(409));var n=t.current,r=Or();Ew(n,r,e,t,null,null)};pf.prototype.unmount=$h.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Ew(e.current,2,null,e,null,null),df(),t[ms]=null}};function pf(e){this._internalRoot=e}pf.prototype.unstable_scheduleHydration=function(e){if(e){var t=i0();e={blockedOn:null,target:e,priority:t};for(var n=0;n<$a.length&&t!==0&&t<$a[n].priority;n++);$a.splice(n,0,e),n===0&&Ow(e)}};var Kx=Gx.version;if(Kx!=="19.2.4")throw Error(K(527,Kx,"19.2.4"));At.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(K(188)):(e=Object.keys(e).join(","),Error(K(268,e)));return e=eO(t),e=e!==null?Qx(e):null,e=e===null?null:e.stateNode,e};var A_={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:je,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(oc=__REACT_DEVTOOLS_GLOBAL_HOOK__,!oc.isDisabled&&oc.supportsFiber))try{Pc=oc.inject(A_),Tr=oc}catch{}var oc;gf.createRoot=function(e,t){if(!qx(e))throw Error(K(299));var n=!1,r="",o=wS,a=AS,i=CS;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(a=t.onCaughtError),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=Rw(e,1,!1,null,null,n,r,null,o,a,i,kw),e[ms]=t.current,Ph(e),new $h(t)};gf.hydrateRoot=function(e,t,n){if(!qx(e))throw Error(K(299));var r=!1,o="",a=wS,i=AS,l=CS,s=null;return n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onUncaughtError!==void 0&&(a=n.onUncaughtError),n.onCaughtError!==void 0&&(i=n.onCaughtError),n.onRecoverableError!==void 0&&(l=n.onRecoverableError),n.formState!==void 0&&(s=n.formState)),t=Rw(e,1,!0,t,n??null,r,o,s,a,i,l,kw),t.context=Nw(null),n=t.current,r=Or(),r=Jg(r),o=Ja(r),o.callback=null,Za(n,o,r),n=r,t.current.lanes=n,jc(t,n),Do(t),e[ms]=t.current,Ph(e),new pf(t)};gf.version="19.2.4"});var Bw=Eo((JB,Dw)=>{"use strict";function Lw(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Lw)}catch(e){console.error(e)}}Lw(),Dw.exports=_w()});var iA=Eo(xf=>{"use strict";var f2=Symbol.for("react.transitional.element"),m2=Symbol.for("react.fragment");function aA(e,t,n){var r=null;if(n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),"key"in t){n={};for(var o in t)o!=="key"&&(n[o]=t[o])}else n=t;return t=n.ref,{$$typeof:f2,type:e,key:r,ref:t!==void 0?t:null,props:n}}xf.Fragment=m2;xf.jsx=aA;xf.jsxs=aA});var te=Eo((lI,lA)=>{"use strict";lA.exports=iA()});var dT=B(Bw(),1);var ye=B(xe(),1);function Iw(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=Iw(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function hf(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Iw(e))&&(r&&(r+=" "),r+=t);return r}var zw=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Pw=hf,yf=(e,t)=>n=>{var r;if(t?.variants==null)return Pw(e,n?.class,n?.className);let{variants:o,defaultVariants:a}=t,i=Object.keys(o).map(c=>{let d=n?.[c],u=a?.[c];if(d===null)return null;let f=zw(d)||zw(u);return o[c][f]}),l=n&&Object.entries(n).reduce((c,d)=>{let[u,f]=d;return f===void 0||(c[u]=f),c},{}),s=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((c,d)=>{let{class:u,className:f,...p}=d;return Object.entries(p).every(b=>{let[m,v]=b;return Array.isArray(v)?v.includes({...a,...l}[m]):{...a,...l}[m]===v})?[...c,u,f]:c},[]);return Pw(e,i,s,n?.class,n?.className)};var C_=(e,t)=>{let n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},R_=(e,t)=>({classGroupId:e,validator:t}),$w=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n});var Uw=[],N_="arbitrary..",E_=e=>{let t=M_(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return T_(i);let l=i.split("-"),s=l[0]===""&&l.length>1?1:0;return Kw(l,s,t)},getConflictingClassGroupIds:(i,l)=>{if(l){let s=r[i],c=n[i];return s?c?C_(c,s):s:c||Uw}return n[i]||Uw}}},Kw=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let o=e[t],a=n.nextPart.get(o);if(a){let c=Kw(e,t+1,a);if(c)return c}let i=n.validators;if(i===null)return;let l=t===0?e.join("-"):e.slice(t).join("-"),s=i.length;for(let c=0;c<s;c++){let d=i[c];if(d.validator(l))return d.classGroupId}},T_=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?N_+r:void 0})(),M_=e=>{let{theme:t,classGroups:n}=e;return O_(n,t)},O_=(e,t)=>{let n=$w();for(let r in e){let o=e[r];Gh(o,n,r,t)}return n},Gh=(e,t,n,r)=>{let o=e.length;for(let a=0;a<o;a++){let i=e[a];k_(i,t,n,r)}},k_=(e,t,n,r)=>{if(typeof e=="string"){__(e,t,n);return}if(typeof e=="function"){L_(e,t,n,r);return}D_(e,t,n,r)},__=(e,t,n)=>{let r=e===""?t:Gw(t,e);r.classGroupId=n},L_=(e,t,n,r)=>{if(B_(e)){Gh(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(R_(n,e))},D_=(e,t,n,r)=>{let o=Object.entries(e),a=o.length;for(let i=0;i<a;i++){let[l,s]=o[i];Gh(s,Gw(t,l),n,r)}},Gw=(e,t)=>{let n=e,r=t.split("-"),o=r.length;for(let a=0;a<o;a++){let i=r[a],l=n.nextPart.get(i);l||(l=$w(),n.nextPart.set(i,l)),n=l}return n},B_=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,I_=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),o=(a,i)=>{n[a]=i,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(a){let i=n[a];if(i!==void 0)return i;if((i=r[a])!==void 0)return o(a,i),i},set(a,i){a in n?n[a]=i:o(a,i)}}};var z_=[],jw=(e,t,n,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:o}),P_=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=o=>{let a=[],i=0,l=0,s=0,c,d=o.length;for(let m=0;m<d;m++){let v=o[m];if(i===0&&l===0){if(v===":"){a.push(o.slice(s,m)),s=m+1;continue}if(v==="/"){c=m;continue}}v==="["?i++:v==="]"?i--:v==="("?l++:v===")"&&l--}let u=a.length===0?o:o.slice(s),f=u,p=!1;u.endsWith("!")?(f=u.slice(0,-1),p=!0):u.startsWith("!")&&(f=u.slice(1),p=!0);let b=c&&c>s?c-s:void 0;return jw(a,p,f,b)};if(t){let o=t+":",a=r;r=i=>i.startsWith(o)?a(i.slice(o.length)):jw(z_,!1,i,void 0,!0)}if(n){let o=r;r=a=>n({className:a,parseClassName:o})}return r},U_=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{let r=[],o=[];for(let a=0;a<n.length;a++){let i=n[a],l=i[0]==="[",s=t.has(i);l||s?(o.length>0&&(o.sort(),r.push(...o),o=[]),r.push(i)):o.push(i)}return o.length>0&&(o.sort(),r.push(...o)),r}},j_=e=>({cache:I_(e.cacheSize),parseClassName:P_(e),sortModifiers:U_(e),...E_(e)}),V_=/\s+/,F_=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:a}=t,i=[],l=e.trim().split(V_),s="";for(let c=l.length-1;c>=0;c-=1){let d=l[c],{isExternal:u,modifiers:f,hasImportantModifier:p,baseClassName:b,maybePostfixModifierPosition:m}=n(d);if(u){s=d+(s.length>0?" "+s:s);continue}let v=!!m,h=r(v?b.substring(0,m):b);if(!h){if(!v){s=d+(s.length>0?" "+s:s);continue}if(h=r(b),!h){s=d+(s.length>0?" "+s:s);continue}v=!1}let g=f.length===0?"":f.length===1?f[0]:a(f).join(":"),y=p?g+"!":g,x=y+h;if(i.indexOf(x)>-1)continue;i.push(x);let A=o(h,v);for(let N=0;N<A.length;++N){let E=A[N];i.push(y+E)}s=d+(s.length>0?" "+s:s)}return s},H_=(...e)=>{let t=0,n,r,o="";for(;t<e.length;)(n=e[t++])&&(r=qw(n))&&(o&&(o+=" "),o+=r);return o},qw=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=qw(e[r]))&&(n&&(n+=" "),n+=t);return n},$_=(e,...t)=>{let n,r,o,a,i=s=>{let c=t.reduce((d,u)=>u(d),e());return n=j_(c),r=n.cache.get,o=n.cache.set,a=l,l(s)},l=s=>{let c=r(s);if(c)return c;let d=F_(s,n);return o(s,d),d};return a=i,(...s)=>a(H_(...s))},K_=[],On=e=>{let t=n=>n[e]||K_;return t.isThemeGetter=!0,t},Ww=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Yw=/^\((?:(\w[\w-]*):)?(.+)\)$/i,G_=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,q_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,W_=/\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$/,Y_=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Q_=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,X_=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,di=e=>G_.test(e),ot=e=>!!e&&!Number.isNaN(Number(e)),fi=e=>!!e&&Number.isInteger(Number(e)),Kh=e=>e.endsWith("%")&&ot(e.slice(0,-1)),Sa=e=>q_.test(e),Qw=()=>!0,J_=e=>W_.test(e)&&!Y_.test(e),qh=()=>!1,Z_=e=>Q_.test(e),e2=e=>X_.test(e),t2=e=>!Ae(e)&&!Ce(e),n2=e=>mi(e,Zw,qh),Ae=e=>Ww.test(e),nl=e=>mi(e,eA,J_),Vw=e=>mi(e,u2,ot),r2=e=>mi(e,nA,Qw),o2=e=>mi(e,tA,qh),Fw=e=>mi(e,Xw,qh),a2=e=>mi(e,Jw,e2),bf=e=>mi(e,rA,Z_),Ce=e=>Yw.test(e),Yc=e=>rl(e,eA),i2=e=>rl(e,tA),Hw=e=>rl(e,Xw),l2=e=>rl(e,Zw),s2=e=>rl(e,Jw),vf=e=>rl(e,rA,!0),c2=e=>rl(e,nA,!0),mi=(e,t,n)=>{let r=Ww.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},rl=(e,t,n=!1)=>{let r=Yw.exec(e);return r?r[1]?t(r[1]):n:!1},Xw=e=>e==="position"||e==="percentage",Jw=e=>e==="image"||e==="url",Zw=e=>e==="length"||e==="size"||e==="bg-size",eA=e=>e==="length",u2=e=>e==="number",tA=e=>e==="family-name",nA=e=>e==="number"||e==="weight",rA=e=>e==="shadow";var d2=()=>{let e=On("color"),t=On("font"),n=On("text"),r=On("font-weight"),o=On("tracking"),a=On("leading"),i=On("breakpoint"),l=On("container"),s=On("spacing"),c=On("radius"),d=On("shadow"),u=On("inset-shadow"),f=On("text-shadow"),p=On("drop-shadow"),b=On("blur"),m=On("perspective"),v=On("aspect"),h=On("ease"),g=On("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],A=()=>[...x(),Ce,Ae],N=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],C=()=>[Ce,Ae,s],O=()=>[di,"full","auto",...C()],L=()=>[fi,"none","subgrid",Ce,Ae],V=()=>["auto",{span:["full",fi,Ce,Ae]},fi,Ce,Ae],z=()=>[fi,"auto",Ce,Ae],G=()=>["auto","min","max","fr",Ce,Ae],Z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ue=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...C()],oe=()=>[di,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],ee=()=>[di,"screen","full","dvw","lvw","svw","min","max","fit",...C()],W=()=>[di,"screen","full","lh","dvh","lvh","svh","min","max","fit",...C()],j=()=>[e,Ce,Ae],Ie=()=>[...x(),Hw,Fw,{position:[Ce,Ae]}],ne=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Ve=()=>["auto","cover","contain",l2,n2,{size:[Ce,Ae]}],ae=()=>[Kh,Yc,nl],Se=()=>["","none","full",c,Ce,Ae],ze=()=>["",ot,Yc,nl],U=()=>["solid","dashed","dotted","double"],fe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ve=()=>[ot,Kh,Hw,Fw],ke=()=>["","none",b,Ce,Ae],we=()=>["none",ot,Ce,Ae],Ee=()=>["none",ot,Ce,Ae],qe=()=>[ot,Ce,Ae],We=()=>[di,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Sa],breakpoint:[Sa],color:[Qw],container:[Sa],"drop-shadow":[Sa],ease:["in","out","in-out"],font:[t2],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Sa],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Sa],shadow:[Sa],spacing:["px",ot],text:[Sa],"text-shadow":[Sa],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",di,Ae,Ce,v]}],container:["container"],columns:[{columns:[ot,Ae,Ce,l]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"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:A()}],overflow:[{overflow:N()}],"overflow-x":[{"overflow-x":N()}],"overflow-y":[{"overflow-y":N()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{"inset-s":O(),start:O()}],end:[{"inset-e":O(),end:O()}],"inset-bs":[{"inset-bs":O()}],"inset-be":[{"inset-be":O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[fi,"auto",Ce,Ae]}],basis:[{basis:[di,"full","auto",l,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ot,di,"auto","initial","none",Ae]}],grow:[{grow:["",ot,Ce,Ae]}],shrink:[{shrink:["",ot,Ce,Ae]}],order:[{order:[fi,"first","last","none",Ce,Ae]}],"grid-cols":[{"grid-cols":L()}],"col-start-end":[{col:V()}],"col-start":[{"col-start":z()}],"col-end":[{"col-end":z()}],"grid-rows":[{"grid-rows":L()}],"row-start-end":[{row:V()}],"row-start":[{"row-start":z()}],"row-end":[{"row-end":z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":G()}],"auto-rows":[{"auto-rows":G()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...Z(),"normal"]}],"justify-items":[{"justify-items":[...ue(),"normal"]}],"justify-self":[{"justify-self":["auto",...ue()]}],"align-content":[{content:["normal",...Z()]}],"align-items":[{items:[...ue(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ue(),{baseline:["","last"]}]}],"place-content":[{"place-content":Z()}],"place-items":[{"place-items":[...ue(),"baseline"]}],"place-self":[{"place-self":["auto",...ue()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mbs:[{mbs:q()}],mbe:[{mbe:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":C()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":C()}],"space-y-reverse":["space-y-reverse"],size:[{size:oe()}],"inline-size":[{inline:["auto",...ee()]}],"min-inline-size":[{"min-inline":["auto",...ee()]}],"max-inline-size":[{"max-inline":["none",...ee()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[l,"screen",...oe()]}],"min-w":[{"min-w":[l,"screen","none",...oe()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...oe()]}],h:[{h:["screen","lh",...oe()]}],"min-h":[{"min-h":["screen","lh","none",...oe()]}],"max-h":[{"max-h":["screen","lh",...oe()]}],"font-size":[{text:["base",n,Yc,nl]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,c2,r2]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Kh,Ae]}],"font-family":[{font:[i2,o2,t]}],"font-features":[{"font-features":[Ae]}],"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:[o,Ce,Ae]}],"line-clamp":[{"line-clamp":[ot,"none",Ce,Vw]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":["none",Ce,Ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,Ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:j()}],"text-color":[{text:j()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:[ot,"from-font","auto",Ce,nl]}],"text-decoration-color":[{decoration:j()}],"underline-offset":[{"underline-offset":[ot,"auto",Ce,Ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:C()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,Ae]}],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",Ce,Ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ie()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:Ve()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},fi,Ce,Ae],radial:["",Ce,Ae],conic:[fi,Ce,Ae]},s2,a2]}],"bg-color":[{bg:j()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:j()}],"gradient-via":[{via:j()}],"gradient-to":[{to:j()}],rounded:[{rounded:Se()}],"rounded-s":[{"rounded-s":Se()}],"rounded-e":[{"rounded-e":Se()}],"rounded-t":[{"rounded-t":Se()}],"rounded-r":[{"rounded-r":Se()}],"rounded-b":[{"rounded-b":Se()}],"rounded-l":[{"rounded-l":Se()}],"rounded-ss":[{"rounded-ss":Se()}],"rounded-se":[{"rounded-se":Se()}],"rounded-ee":[{"rounded-ee":Se()}],"rounded-es":[{"rounded-es":Se()}],"rounded-tl":[{"rounded-tl":Se()}],"rounded-tr":[{"rounded-tr":Se()}],"rounded-br":[{"rounded-br":Se()}],"rounded-bl":[{"rounded-bl":Se()}],"border-w":[{border:ze()}],"border-w-x":[{"border-x":ze()}],"border-w-y":[{"border-y":ze()}],"border-w-s":[{"border-s":ze()}],"border-w-e":[{"border-e":ze()}],"border-w-bs":[{"border-bs":ze()}],"border-w-be":[{"border-be":ze()}],"border-w-t":[{"border-t":ze()}],"border-w-r":[{"border-r":ze()}],"border-w-b":[{"border-b":ze()}],"border-w-l":[{"border-l":ze()}],"divide-x":[{"divide-x":ze()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ze()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...U(),"hidden","none"]}],"divide-style":[{divide:[...U(),"hidden","none"]}],"border-color":[{border:j()}],"border-color-x":[{"border-x":j()}],"border-color-y":[{"border-y":j()}],"border-color-s":[{"border-s":j()}],"border-color-e":[{"border-e":j()}],"border-color-bs":[{"border-bs":j()}],"border-color-be":[{"border-be":j()}],"border-color-t":[{"border-t":j()}],"border-color-r":[{"border-r":j()}],"border-color-b":[{"border-b":j()}],"border-color-l":[{"border-l":j()}],"divide-color":[{divide:j()}],"outline-style":[{outline:[...U(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ot,Ce,Ae]}],"outline-w":[{outline:["",ot,Yc,nl]}],"outline-color":[{outline:j()}],shadow:[{shadow:["","none",d,vf,bf]}],"shadow-color":[{shadow:j()}],"inset-shadow":[{"inset-shadow":["none",u,vf,bf]}],"inset-shadow-color":[{"inset-shadow":j()}],"ring-w":[{ring:ze()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:j()}],"ring-offset-w":[{"ring-offset":[ot,nl]}],"ring-offset-color":[{"ring-offset":j()}],"inset-ring-w":[{"inset-ring":ze()}],"inset-ring-color":[{"inset-ring":j()}],"text-shadow":[{"text-shadow":["none",f,vf,bf]}],"text-shadow-color":[{"text-shadow":j()}],opacity:[{opacity:[ot,Ce,Ae]}],"mix-blend":[{"mix-blend":[...fe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":fe()}],"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":ve()}],"mask-image-linear-to-pos":[{"mask-linear-to":ve()}],"mask-image-linear-from-color":[{"mask-linear-from":j()}],"mask-image-linear-to-color":[{"mask-linear-to":j()}],"mask-image-t-from-pos":[{"mask-t-from":ve()}],"mask-image-t-to-pos":[{"mask-t-to":ve()}],"mask-image-t-from-color":[{"mask-t-from":j()}],"mask-image-t-to-color":[{"mask-t-to":j()}],"mask-image-r-from-pos":[{"mask-r-from":ve()}],"mask-image-r-to-pos":[{"mask-r-to":ve()}],"mask-image-r-from-color":[{"mask-r-from":j()}],"mask-image-r-to-color":[{"mask-r-to":j()}],"mask-image-b-from-pos":[{"mask-b-from":ve()}],"mask-image-b-to-pos":[{"mask-b-to":ve()}],"mask-image-b-from-color":[{"mask-b-from":j()}],"mask-image-b-to-color":[{"mask-b-to":j()}],"mask-image-l-from-pos":[{"mask-l-from":ve()}],"mask-image-l-to-pos":[{"mask-l-to":ve()}],"mask-image-l-from-color":[{"mask-l-from":j()}],"mask-image-l-to-color":[{"mask-l-to":j()}],"mask-image-x-from-pos":[{"mask-x-from":ve()}],"mask-image-x-to-pos":[{"mask-x-to":ve()}],"mask-image-x-from-color":[{"mask-x-from":j()}],"mask-image-x-to-color":[{"mask-x-to":j()}],"mask-image-y-from-pos":[{"mask-y-from":ve()}],"mask-image-y-to-pos":[{"mask-y-to":ve()}],"mask-image-y-from-color":[{"mask-y-from":j()}],"mask-image-y-to-color":[{"mask-y-to":j()}],"mask-image-radial":[{"mask-radial":[Ce,Ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":ve()}],"mask-image-radial-to-pos":[{"mask-radial-to":ve()}],"mask-image-radial-from-color":[{"mask-radial-from":j()}],"mask-image-radial-to-color":[{"mask-radial-to":j()}],"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":x()}],"mask-image-conic-pos":[{"mask-conic":[ot]}],"mask-image-conic-from-pos":[{"mask-conic-from":ve()}],"mask-image-conic-to-pos":[{"mask-conic-to":ve()}],"mask-image-conic-from-color":[{"mask-conic-from":j()}],"mask-image-conic-to-color":[{"mask-conic-to":j()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ie()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:Ve()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,Ae]}],filter:[{filter:["","none",Ce,Ae]}],blur:[{blur:ke()}],brightness:[{brightness:[ot,Ce,Ae]}],contrast:[{contrast:[ot,Ce,Ae]}],"drop-shadow":[{"drop-shadow":["","none",p,vf,bf]}],"drop-shadow-color":[{"drop-shadow":j()}],grayscale:[{grayscale:["",ot,Ce,Ae]}],"hue-rotate":[{"hue-rotate":[ot,Ce,Ae]}],invert:[{invert:["",ot,Ce,Ae]}],saturate:[{saturate:[ot,Ce,Ae]}],sepia:[{sepia:["",ot,Ce,Ae]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,Ae]}],"backdrop-blur":[{"backdrop-blur":ke()}],"backdrop-brightness":[{"backdrop-brightness":[ot,Ce,Ae]}],"backdrop-contrast":[{"backdrop-contrast":[ot,Ce,Ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ot,Ce,Ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ot,Ce,Ae]}],"backdrop-invert":[{"backdrop-invert":["",ot,Ce,Ae]}],"backdrop-opacity":[{"backdrop-opacity":[ot,Ce,Ae]}],"backdrop-saturate":[{"backdrop-saturate":[ot,Ce,Ae]}],"backdrop-sepia":[{"backdrop-sepia":["",ot,Ce,Ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,Ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ot,"initial",Ce,Ae]}],ease:[{ease:["linear","initial",h,Ce,Ae]}],delay:[{delay:[ot,Ce,Ae]}],animate:[{animate:["none",g,Ce,Ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,Ce,Ae]}],"perspective-origin":[{"perspective-origin":A()}],rotate:[{rotate:we()}],"rotate-x":[{"rotate-x":we()}],"rotate-y":[{"rotate-y":we()}],"rotate-z":[{"rotate-z":we()}],scale:[{scale:Ee()}],"scale-x":[{"scale-x":Ee()}],"scale-y":[{"scale-y":Ee()}],"scale-z":[{"scale-z":Ee()}],"scale-3d":["scale-3d"],skew:[{skew:qe()}],"skew-x":[{"skew-x":qe()}],"skew-y":[{"skew-y":qe()}],transform:[{transform:[Ce,Ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:A()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:We()}],"translate-x":[{"translate-x":We()}],"translate-y":[{"translate-y":We()}],"translate-z":[{"translate-z":We()}],"translate-none":["translate-none"],accent:[{accent:j()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:j()}],"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",Ce,Ae]}],"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":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"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",Ce,Ae]}],fill:[{fill:["none",...j()]}],"stroke-w":[{stroke:[ot,Yc,nl,Vw]}],stroke:[{stroke:["none",...j()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","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","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","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-bs","border-w-be","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-bs","border-color-be","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-mbs","scroll-mbe","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-pbs","scroll-pbe","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"]}};var oA=$_(d2);function Q(...e){return oA(hf(e))}var sA=B(te(),1),p2=yf("inline-flex items-center rounded-full border px-2.5 py-1 text-[11px] font-medium tracking-wide",{variants:{variant:{default:"border-border bg-secondary text-secondary-foreground",success:"border-emerald-200 bg-emerald-50 text-emerald-700",warning:"border-amber-200 bg-amber-50 text-amber-700",danger:"border-rose-200 bg-rose-50 text-rose-700",info:"border-sky-200 bg-sky-50 text-sky-700",outline:"border-border bg-background/70 text-muted-foreground"}},defaultVariants:{variant:"default"}});function _e({className:e,variant:t,...n}){return(0,sA.jsx)("span",{className:Q(p2({variant:t}),e),...n})}var cA=B(te(),1),g2=yf("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium uppercase tracking-[0.16em] transition-colors disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-sm hover:bg-primary/92",outline:"border border-border bg-background/80 text-foreground hover:bg-accent hover:text-accent-foreground",ghost:"text-muted-foreground hover:bg-accent hover:text-accent-foreground",danger:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/92"},size:{default:"h-9 px-3.5",sm:"h-8 px-3 text-xs",lg:"h-10 px-4"}},defaultVariants:{variant:"default",size:"default"}});function H({className:e,variant:t,size:n,type:r="button",...o}){return(0,cA.jsx)("button",{className:Q(g2({variant:t,size:n}),e),type:r,...o})}var xs=B(te(),1);function Lt({className:e,...t}){return(0,xs.jsx)("section",{className:Q("rounded-2xl border border-border/70 bg-card/92 shadow-sm backdrop-blur",e),...t})}function Jr({className:e,...t}){return(0,xs.jsx)("div",{className:Q("flex flex-col gap-1.5 p-5 pb-0",e),...t})}function Bo({className:e,...t}){return(0,xs.jsx)("h2",{className:Q("text-sm font-semibold tracking-tight text-foreground",e),...t})}function pi({className:e,...t}){return(0,xs.jsx)("p",{className:Q("text-sm text-muted-foreground",e),...t})}function Dt({className:e,...t}){return(0,xs.jsx)("div",{className:Q("p-5",e),...t})}var ho=B(xe(),1);var hI=!!(typeof window<"u"&&window.document&&window.document.createElement);function vt(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o.defaultPrevented)return t?.(o)}}var dA=B(xe(),1);function uA(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Wh(...e){return t=>{let n=!1,r=e.map(o=>{let a=uA(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<r.length;o++){let a=r[o];typeof a=="function"?a():uA(e[o],null)}}}}function Tt(...e){return dA.useCallback(Wh(...e),e)}var wa=B(xe(),1),fA=B(te(),1);function Zr(e,t=[]){let n=[];function r(a,i){let l=wa.createContext(i),s=n.length;n=[...n,i];let c=u=>{let{scope:f,children:p,...b}=u,m=f?.[e]?.[s]||l,v=wa.useMemo(()=>b,Object.values(b));return(0,fA.jsx)(m.Provider,{value:v,children:p})};c.displayName=a+"Provider";function d(u,f){let p=f?.[e]?.[s]||l,b=wa.useContext(p);if(b)return b;if(i!==void 0)return i;throw new Error(`\`${u}\` must be used within \`${a}\``)}return[c,d]}let o=()=>{let a=n.map(i=>wa.createContext(i));return function(l){let s=l?.[e]||a;return wa.useMemo(()=>({[`__scope${e}`]:{...l,[e]:s}}),[l,s])}};return o.scopeName=e,[r,h2(o,...t)]}function h2(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){let i=r.reduce((l,{useScope:s,scopeName:c})=>{let u=s(a)[`__scope${c}`];return{...l,...u}},{});return wa.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var eo=B(xe(),1);var mA=B(xe(),1),on=globalThis?.document?mA.useLayoutEffect:()=>{};var Sf=B(xe(),1);var y2=eo[" useInsertionEffect ".trim().toString()]||on;function Aa({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[o,a,i]=b2({defaultProp:t,onChange:n}),l=e!==void 0,s=l?e:o;{let d=eo.useRef(e!==void 0);eo.useEffect(()=>{let u=d.current;u!==l&&console.warn(`${r} is changing from ${u?"controlled":"uncontrolled"} to ${l?"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.`),d.current=l},[l,r])}let c=eo.useCallback(d=>{if(l){let u=v2(d)?d(e):d;u!==e&&i.current?.(u)}else a(d)},[l,e,a,i]);return[s,c]}function b2({defaultProp:e,onChange:t}){let[n,r]=eo.useState(e),o=eo.useRef(n),a=eo.useRef(t);return y2(()=>{a.current=t},[t]),eo.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function v2(e){return typeof e=="function"}var wf=B(xe(),1);function Af(e){let t=wf.useRef({value:e,previous:e});return wf.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var pA=B(xe(),1);function Cf(e){let[t,n]=pA.useState(void 0);return on(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;let a=o[0],i,l;if("borderBoxSize"in a){let s=a.borderBoxSize,c=Array.isArray(s)?s[0]:s;i=c.inlineSize,l=c.blockSize}else i=e.offsetWidth,l=e.offsetHeight;n({width:i,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var gA=B(xe(),1),hA=B(Bi(),1);var kn=B(xe(),1);var Rf=B(te(),1);function ol(e){let t=x2(e),n=kn.forwardRef((r,o)=>{let{children:a,...i}=r,l=kn.Children.toArray(a),s=l.find(w2);if(s){let c=s.props.children,d=l.map(u=>u===s?kn.Children.count(c)>1?kn.Children.only(null):kn.isValidElement(c)?c.props.children:null:u);return(0,Rf.jsx)(t,{...i,ref:o,children:kn.isValidElement(c)?kn.cloneElement(c,void 0,d):null})}return(0,Rf.jsx)(t,{...i,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}function x2(e){let t=kn.forwardRef((n,r)=>{let{children:o,...a}=n;if(kn.isValidElement(o)){let i=C2(o),l=A2(a,o.props);return o.type!==kn.Fragment&&(l.ref=r?Wh(r,i):i),kn.cloneElement(o,l)}return kn.Children.count(o)>1?kn.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var S2=Symbol("radix.slottable");function w2(e){return kn.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===S2}function A2(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...l)=>{let s=a(...l);return o(...l),s}:o&&(n[r]=o):r==="style"?n[r]={...o,...a}:r==="className"&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function C2(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 yA=B(te(),1),R2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],at=R2.reduce((e,t)=>{let n=ol(`Primitive.${t}`),r=gA.forwardRef((o,a)=>{let{asChild:i,...l}=o,s=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),(0,yA.jsx)(s,{...l,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function bA(e,t){e&&hA.flushSync(()=>e.dispatchEvent(t))}var al=B(te(),1),Nf="Switch",[N2,zI]=Zr(Nf),[E2,T2]=N2(Nf),vA=ho.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:o,defaultChecked:a,required:i,disabled:l,value:s="on",onCheckedChange:c,form:d,...u}=e,[f,p]=ho.useState(null),b=Tt(t,y=>p(y)),m=ho.useRef(!1),v=f?d||!!f.closest("form"):!0,[h,g]=Aa({prop:o,defaultProp:a??!1,onChange:c,caller:Nf});return(0,al.jsxs)(E2,{scope:n,checked:h,disabled:l,children:[(0,al.jsx)(at.button,{type:"button",role:"switch","aria-checked":h,"aria-required":i,"data-state":AA(h),"data-disabled":l?"":void 0,disabled:l,value:s,...u,ref:b,onClick:vt(e.onClick,y=>{g(x=>!x),v&&(m.current=y.isPropagationStopped(),m.current||y.stopPropagation())})}),v&&(0,al.jsx)(wA,{control:f,bubbles:!m.current,name:r,value:s,checked:h,required:i,disabled:l,form:d,style:{transform:"translateX(-100%)"}})]})});vA.displayName=Nf;var xA="SwitchThumb",SA=ho.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,o=T2(xA,n);return(0,al.jsx)(at.span,{"data-state":AA(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});SA.displayName=xA;var M2="SwitchBubbleInput",wA=ho.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...o},a)=>{let i=ho.useRef(null),l=Tt(i,a),s=Af(n),c=Cf(t);return ho.useEffect(()=>{let d=i.current;if(!d)return;let u=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(u,"checked").set;if(s!==n&&p){let b=new Event("click",{bubbles:r});p.call(d,n),d.dispatchEvent(b)}},[s,n,r]),(0,al.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:l,style:{...o.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});wA.displayName=M2;function AA(e){return e?"checked":"unchecked"}var CA=vA,RA=SA;var Yh=B(te(),1);function Io({className:e,...t}){return(0,Yh.jsx)(CA,{className:Q("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-muted transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-secondary",e),...t,children:(0,Yh.jsx)(RA,{className:"pointer-events-none block size-4 rounded-full bg-background shadow-sm transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0.5"})})}var Ra=B(xe(),1);var Pn=B(xe(),1);var gi=B(xe(),1);var Ef=B(te(),1),k2=B(xe(),1);var _2=B(te(),1);function Tf(e){let t=e+"CollectionProvider",[n,r]=Zr(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=m=>{let{scope:v,children:h}=m,g=gi.default.useRef(null),y=gi.default.useRef(new Map).current;return(0,Ef.jsx)(o,{scope:v,itemMap:y,collectionRef:g,children:h})};i.displayName=t;let l=e+"CollectionSlot",s=ol(l),c=gi.default.forwardRef((m,v)=>{let{scope:h,children:g}=m,y=a(l,h),x=Tt(v,y.collectionRef);return(0,Ef.jsx)(s,{ref:x,children:g})});c.displayName=l;let d=e+"CollectionItemSlot",u="data-radix-collection-item",f=ol(d),p=gi.default.forwardRef((m,v)=>{let{scope:h,children:g,...y}=m,x=gi.default.useRef(null),A=Tt(v,x),N=a(d,h);return gi.default.useEffect(()=>(N.itemMap.set(x,{ref:x,...y}),()=>{N.itemMap.delete(x)})),(0,Ef.jsx)(f,{[u]:"",ref:A,children:g})});p.displayName=d;function b(m){let v=a(e+"CollectionConsumer",m);return gi.default.useCallback(()=>{let g=v.collectionRef.current;if(!g)return[];let y=Array.from(g.querySelectorAll(`[${u}]`));return Array.from(v.itemMap.values()).sort((N,E)=>y.indexOf(N.ref.current)-y.indexOf(E.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:i,Slot:c,ItemSlot:p},b,r]}var Qh=B(xe(),1);var L2=Qh[" useId ".trim().toString()]||(()=>{}),D2=0;function hi(e){let[t,n]=Qh.useState(L2());return on(()=>{e||n(r=>r??String(D2++))},[e]),e||(t?`radix-${t}`:"")}var Ss=B(xe(),1);function pr(e){let t=Ss.useRef(e);return Ss.useEffect(()=>{t.current=e}),Ss.useMemo(()=>(...n)=>t.current?.(...n),[])}var Mf=B(xe(),1),B2=B(te(),1),I2=Mf.createContext(void 0);function ws(e){let t=Mf.useContext(I2);return e||t||"ltr"}var yi=B(te(),1),Xh="rovingFocusGroup.onEntryFocus",z2={bubbles:!1,cancelable:!0},Qc="RovingFocusGroup",[Jh,NA,P2]=Tf(Qc),[U2,Zh]=Zr(Qc,[P2]),[j2,V2]=U2(Qc),EA=Pn.forwardRef((e,t)=>(0,yi.jsx)(Jh.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,yi.jsx)(Jh.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,yi.jsx)(F2,{...e,ref:t})})}));EA.displayName=Qc;var F2=Pn.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:s,onEntryFocus:c,preventScrollOnEntryFocus:d=!1,...u}=e,f=Pn.useRef(null),p=Tt(t,f),b=ws(a),[m,v]=Aa({prop:i,defaultProp:l??null,onChange:s,caller:Qc}),[h,g]=Pn.useState(!1),y=pr(c),x=NA(n),A=Pn.useRef(!1),[N,E]=Pn.useState(0);return Pn.useEffect(()=>{let C=f.current;if(C)return C.addEventListener(Xh,y),()=>C.removeEventListener(Xh,y)},[y]),(0,yi.jsx)(j2,{scope:n,orientation:r,dir:b,loop:o,currentTabStopId:m,onItemFocus:Pn.useCallback(C=>v(C),[v]),onItemShiftTab:Pn.useCallback(()=>g(!0),[]),onFocusableItemAdd:Pn.useCallback(()=>E(C=>C+1),[]),onFocusableItemRemove:Pn.useCallback(()=>E(C=>C-1),[]),children:(0,yi.jsx)(at.div,{tabIndex:h||N===0?-1:0,"data-orientation":r,...u,ref:p,style:{outline:"none",...e.style},onMouseDown:vt(e.onMouseDown,()=>{A.current=!0}),onFocus:vt(e.onFocus,C=>{let O=!A.current;if(C.target===C.currentTarget&&O&&!h){let L=new CustomEvent(Xh,z2);if(C.currentTarget.dispatchEvent(L),!L.defaultPrevented){let V=x().filter(q=>q.focusable),z=V.find(q=>q.active),G=V.find(q=>q.id===m),ue=[z,G,...V].filter(Boolean).map(q=>q.ref.current);OA(ue,d)}}A.current=!1}),onBlur:vt(e.onBlur,()=>g(!1))})})}),TA="RovingFocusGroupItem",MA=Pn.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:a,children:i,...l}=e,s=hi(),c=a||s,d=V2(TA,n),u=d.currentTabStopId===c,f=NA(n),{onFocusableItemAdd:p,onFocusableItemRemove:b,currentTabStopId:m}=d;return Pn.useEffect(()=>{if(r)return p(),()=>b()},[r,p,b]),(0,yi.jsx)(Jh.ItemSlot,{scope:n,id:c,focusable:r,active:o,children:(0,yi.jsx)(at.span,{tabIndex:u?0:-1,"data-orientation":d.orientation,...l,ref:t,onMouseDown:vt(e.onMouseDown,v=>{r?d.onItemFocus(c):v.preventDefault()}),onFocus:vt(e.onFocus,()=>d.onItemFocus(c)),onKeyDown:vt(e.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){d.onItemShiftTab();return}if(v.target!==v.currentTarget)return;let h=K2(v,d.orientation,d.dir);if(h!==void 0){if(v.metaKey||v.ctrlKey||v.altKey||v.shiftKey)return;v.preventDefault();let y=f().filter(x=>x.focusable).map(x=>x.ref.current);if(h==="last")y.reverse();else if(h==="prev"||h==="next"){h==="prev"&&y.reverse();let x=y.indexOf(v.currentTarget);y=d.loop?G2(y,x+1):y.slice(x+1)}setTimeout(()=>OA(y))}}),children:typeof i=="function"?i({isCurrentTabStop:u,hasTabStop:m!=null}):i})})});MA.displayName=TA;var H2={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function $2(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function K2(e,t,n){let r=$2(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return H2[r]}function OA(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function G2(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var kA=EA,_A=MA;var gr=B(xe(),1);var LA=B(xe(),1);function W2(e,t){return LA.useReducer((n,r)=>t[n][r]??n,e)}var ey=e=>{let{present:t,children:n}=e,r=Y2(t),o=typeof n=="function"?n({present:r.isPresent}):gr.Children.only(n),a=Tt(r.ref,Q2(o));return typeof n=="function"||r.isPresent?gr.cloneElement(o,{ref:a}):null};ey.displayName="Presence";function Y2(e){let[t,n]=gr.useState(),r=gr.useRef(null),o=gr.useRef(e),a=gr.useRef("none"),i=e?"mounted":"unmounted",[l,s]=W2(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return gr.useEffect(()=>{let c=Of(r.current);a.current=l==="mounted"?c:"none"},[l]),on(()=>{let c=r.current,d=o.current;if(d!==e){let f=a.current,p=Of(c);e?s("MOUNT"):p==="none"||c?.display==="none"?s("UNMOUNT"):s(d&&f!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,s]),on(()=>{if(t){let c,d=t.ownerDocument.defaultView??window,u=p=>{let m=Of(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&m&&(s("ANIMATION_END"),!o.current)){let v=t.style.animationFillMode;t.style.animationFillMode="forwards",c=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=v)})}},f=p=>{p.target===t&&(a.current=Of(r.current))};return t.addEventListener("animationstart",f),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{d.clearTimeout(c),t.removeEventListener("animationstart",f),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else s("ANIMATION_END")},[t,s]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:gr.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function Of(e){return e?.animationName||"none"}function Q2(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 Ca=B(te(),1),kf="Tabs",[X2,bz]=Zr(kf,[Zh]),DA=Zh(),[J2,ty]=X2(kf),BA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:i="horizontal",dir:l,activationMode:s="automatic",...c}=e,d=ws(l),[u,f]=Aa({prop:r,onChange:o,defaultProp:a??"",caller:kf});return(0,Ca.jsx)(J2,{scope:n,baseId:hi(),value:u,onValueChange:f,orientation:i,dir:d,activationMode:s,children:(0,Ca.jsx)(at.div,{dir:d,"data-orientation":i,...c,ref:t})})});BA.displayName=kf;var IA="TabsList",zA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...o}=e,a=ty(IA,n),i=DA(n);return(0,Ca.jsx)(kA,{asChild:!0,...i,orientation:a.orientation,dir:a.dir,loop:r,children:(0,Ca.jsx)(at.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});zA.displayName=IA;var PA="TabsTrigger",UA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,i=ty(PA,n),l=DA(n),s=FA(i.baseId,r),c=HA(i.baseId,r),d=r===i.value;return(0,Ca.jsx)(_A,{asChild:!0,...l,focusable:!o,active:d,children:(0,Ca.jsx)(at.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":c,"data-state":d?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:s,...a,ref:t,onMouseDown:vt(e.onMouseDown,u=>{!o&&u.button===0&&u.ctrlKey===!1?i.onValueChange(r):u.preventDefault()}),onKeyDown:vt(e.onKeyDown,u=>{[" ","Enter"].includes(u.key)&&i.onValueChange(r)}),onFocus:vt(e.onFocus,()=>{let u=i.activationMode!=="manual";!d&&!o&&u&&i.onValueChange(r)})})})});UA.displayName=PA;var jA="TabsContent",VA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:o,children:a,...i}=e,l=ty(jA,n),s=FA(l.baseId,r),c=HA(l.baseId,r),d=r===l.value,u=Ra.useRef(d);return Ra.useEffect(()=>{let f=requestAnimationFrame(()=>u.current=!1);return()=>cancelAnimationFrame(f)},[]),(0,Ca.jsx)(ey,{present:o||d,children:({present:f})=>(0,Ca.jsx)(at.div,{"data-state":d?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":s,hidden:!f,id:c,tabIndex:0,...i,ref:t,style:{...e.style,animationDuration:u.current?"0s":void 0},children:f&&a})})});VA.displayName=jA;function FA(e,t){return`${e}-trigger-${t}`}function HA(e,t){return`${e}-content-${t}`}var $A=BA,KA=zA,GA=UA,qA=VA;var Xc=B(te(),1);function bi(e){return(0,Xc.jsx)($A,{...e})}function vi({className:e,...t}){return(0,Xc.jsx)(KA,{className:Q("inline-flex h-9 items-center gap-1 rounded-xl border border-border/70 bg-secondary/70 p-1",e),...t})}function Gn({className:e,...t}){return(0,Xc.jsx)(GA,{className:Q("inline-flex h-7 items-center justify-center rounded-lg px-3 text-sm text-muted-foreground transition data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...t})}function qn({className:e,...t}){return(0,Xc.jsx)(qA,{className:Q("mt-4 outline-none",e),...t})}var Tz=Object.freeze({web_search_requests:0,web_fetch_requests:0}),Mz=Object.freeze({ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0});var ny=Object.freeze(["gpt-5.3-codex","gpt-5.2-codex","gpt-5.1-codex-mini"]),ry=Object.freeze(["claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5"]),Uz=Object.freeze({authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",deviceCodeUrl:"https://auth.openai.com/oauth/device/code",callbackPort:1455,callbackPath:"/auth/callback",scopes:"openid profile email offline_access",clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeParams:Object.freeze({id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}),tokenRefreshBufferMs:300*1e3}),jz=Object.freeze({authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://platform.claude.com/v1/oauth/token",callbackPort:1456,callbackPath:"/callback",manualRedirectUrl:"https://platform.claude.com/oauth/code/callback",scopes:"user:profile user:inference user:sessions:claude_code user:mcp_servers",clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeParams:Object.freeze({code:"true"}),oauthBeta:"oauth-2025-04-20",apiBaseUrl:"https://api.anthropic.com",messagesPath:"/v1/messages?beta=true",tokenRefreshBufferMs:300*1e3});var tL="127.0.0.1";var Jc=`http://${tL}:8376`,Fz=`${Jc}/openai/v1`,Hz=`${Jc}/anthropic`,$z=Object.freeze({enabled:!0});var Mt="default",nL="AICodeClient",rL="1.0.0",n3=aL();var r3=Object.freeze({CHATGPT_CODEX:"chatgpt-codex",CLAUDE_CODE:"claude-code"});var o3=Object.freeze(["5m","10m","30m","1h","24h","-1","0"]);function oL(){if(typeof process>"u"||!process)return{runtime:"runtime/unknown",platform:"unknown",arch:"unknown"};let e=process?.versions?.node?String(process.versions.node):"",t=e?`node/${e}`:"runtime/unknown",n=process?.platform?String(process.platform):"unknown",r=process?.arch?String(process.arch):"unknown";return{runtime:t,platform:n,arch:r}}function aL(){let{runtime:e,platform:t,arch:n}=oL();return`${nL}/${rL} (${t}; ${n}) ${e}`}var a3=Object.freeze(["brave","tavily","exa","searxng"]),i3=Object.freeze({brave:1e3,tavily:1e3,exa:1e3,searxng:0});var _f=Object.freeze([Object.freeze({id:"@anthropic-opus",description:"Anthropic Opus family used by AMP smart-like flows.",match:[{vendor:"anthropic",family:"opus",variantAbsent:!0}],defaultMatch:"claude-opus-{number}"}),Object.freeze({id:"@anthropic-sonnet",description:"Anthropic Sonnet family used by AMP librarian-like flows.",match:[{vendor:"anthropic",family:"sonnet",variantAbsent:!0}],defaultMatch:"claude-sonnet-{number}"}),Object.freeze({id:"@anthropic-haiku-shared",description:"Anthropic Haiku family shared by AMP rush/title-like flows.",match:[{vendor:"anthropic",family:"haiku",variantAbsent:!0}],defaultMatch:"claude-haiku-{number}"}),Object.freeze({id:"@openai-gpt-base",description:"Base GPT family currently observed for AMP Oracle-like flows.",match:[{vendor:"openai",family:"gpt",variantAbsent:!0}],defaultMatch:"gpt-{number}"}),Object.freeze({id:"@openai-gpt-codex",description:"OpenAI GPT Codex family used by AMP deep-like flows.",match:[{vendor:"openai",family:"gpt",variantPrefix:"codex"},"gpt-*-codex*"],defaultMatch:"gpt-*-codex*"}),Object.freeze({id:"@google-gemini-pro",description:"Google Gemini Pro family used by AMP review-like flows.",match:[{vendor:"google",family:"gemini",variant:"pro"},"gemini-*-pro*"],defaultMatch:"gemini-*-pro*"}),Object.freeze({id:"@google-gemini-pro-image",description:"Google Gemini image family used by AMP painter-like flows.",match:["gemini-3-pro-image","gemini-3-pro-image*","gemini-*-image*"],defaultMatch:"gemini-*-image*"}),Object.freeze({id:"@google-gemini-flash-shared",description:"Google Gemini Flash family shared by AMP search/look-at/handoff-like flows.",match:[{vendor:"google",family:"gemini",variantPrefix:"flash"},"gemini-*-flash*"],defaultMatch:"gemini-*-flash*"})]),Zc=Object.freeze([Object.freeze({id:"smart",type:"mode",description:"Unconstrained state-of-the-art model use",signatures:["@anthropic-opus"]}),Object.freeze({id:"rush",type:"mode",description:"Faster and cheaper, for small well-defined tasks",signatures:["@anthropic-haiku-shared"]}),Object.freeze({id:"deep",type:"mode",description:"Deep reasoning with extended thinking",signatures:["@openai-gpt-codex"]}),Object.freeze({id:"review",type:"feature",description:"Bug identification and code review assistance",signatures:["@google-gemini-pro"]}),Object.freeze({id:"search",type:"agent",description:"Fast, accurate codebase retrieval",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"oracle",type:"agent",description:"Complex reasoning and planning on code",signatures:["@openai-gpt-base"]}),Object.freeze({id:"librarian",type:"agent",description:"Large-scale retrieval and research on external code",signatures:["@anthropic-sonnet"]}),Object.freeze({id:"look-at",type:"system",description:"Image, PDF, and media file analysis",aliases:["look at","lookat"],signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"painter",type:"system",description:"Image generation and editing",signatures:["@google-gemini-pro-image"]}),Object.freeze({id:"handoff",type:"system",description:"Fallback context analysis for task continuation",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"title",type:"system",description:"Fast title generation for threads",aliases:["titling"],signatures:["@anthropic-haiku-shared"]})]),l3=Object.freeze([Object.freeze({id:"oracle",patterns:["/^gpt-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"librarian",patterns:["/^(?:claude-)?sonnet-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"title",patterns:["/^(?:claude-)?haiku-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"painter",patterns:["gemini-3-pro-image","gemini-3-pro-image*"]}),Object.freeze({id:"search",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"look-at",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"handoff",patterns:["gemini-3-flash","gemini-3-flash*"]})]);var oy=["second","minute","hour","day","week","month"];function zo(e,t=0){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function il(e,t=""){let n=String(e||"").trim().toLowerCase();return oy.includes(n)?n:t}function WA(e,t=1){let n=String(e||"").trim().toLowerCase().replace(/s$/,"");return n?Number(t)===1?n:`${n}s`:"windows"}function yo(e=[]){let t=[],n=new Set;for(let r of Array.isArray(e)?e:[e]){let o=String(r||"").trim();if(o){if(o.toLowerCase()==="all")return["all"];n.has(o)||(n.add(o),t.push(o))}}return t}function eu({requests:e,windowValue:t,windowUnit:n}){let r=zo(e,0),o=zo(t,0),a=il(n,"");return!r||!o||!a?"":`${r}-req-per-${o}-${WA(a,o)}`}function YA(e={}){let t=zo(e?.requests??e?.limit,0),n=zo(e?.window?.size??e?.window?.value??e?.windowValue,0),r=il(e?.window?.unit??e?.windowUnit,"");return!t||!n||!r?"Unconfigured":`${t}/${n} ${WA(r,n)}`}function Po(e=[],{knownModelIds:t=[],requireAtLeastOne:n=!0}={}){let r=Array.isArray(e)?e:[];if(n&&r.length===0)return"Add at least one rate-limit entity.";let o=new Set((t||[]).map(i=>String(i||"").trim()).filter(Boolean)),a=new Set;for(let i of r){let l=yo(i?.models||[]);if(o.size>0&&l.some(f=>f!=="all"&&!o.has(f)))return"Rate-limit model selectors must match the provider model ids.";let s=zo(i?.requests,0);if(!s)return"Rate-limit requests must be a positive integer.";let c=zo(i?.windowValue,0);if(!c)return"Rate-limit window size must be a positive integer.";let d=il(i?.windowUnit,"");if(!d)return"Rate-limit window unit is invalid.";let u=eu({requests:s,windowValue:c,windowUnit:d});if(a.has(u))return"Duplicate rate-limit entities are not allowed.";a.add(u)}return""}function tu(e=[],{existingBucketsBySourceId:t=new Map,fallbackRequests:n=60,fallbackWindowValue:r=1,fallbackWindowUnit:o="minute"}={}){return(Array.isArray(e)?e:[]).map((a,i)=>{let l=String(a?.sourceId||"").trim(),s=l&&t instanceof Map&&t.has(l)?structuredClone(t.get(l)):{},c=zo(a?.requests,zo(s?.requests??s?.limit,n)),d=zo(a?.windowValue,zo(s?.window?.size??s?.window?.value,r)),u=il(a?.windowUnit,il(s?.window?.unit,o)||o),f=yo(a?.models||[]),p=f.length>0?f:["all"],b={...s,id:eu({requests:c,windowValue:d,windowUnit:u})||`rate-limit-${i+1}`,models:p,requests:c,window:{...s?.window&&typeof s.window=="object"&&!Array.isArray(s.window)?s.window:{},size:d,unit:u}};return delete b.name,delete b.limit,b.window&&typeof b.window=="object"&&delete b.window.value,b})}function nu(e){return JSON.parse(JSON.stringify(e??{}))}function Lf(e=[]){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim();!o||t.has(o)||(t.add(o),n.push(o))}return n}function XA(e){let t=String(e||"").trim();return t?t.startsWith("alias:")?t.slice(6).trim():t:""}function iL(e={},t={}){let n=t?.[Mt];if(n&&typeof n=="object"&&!Array.isArray(n))return{...n,id:Mt,strategy:String(n.strategy||"ordered").trim()||"ordered",targets:hr(n.targets||[],a=>a),fallbackTargets:hr(n.fallbackTargets||[],a=>a)};let r=String(e?.defaultModel||"").trim();if(!r||r==="smart")return{id:Mt,strategy:"ordered",targets:[],fallbackTargets:[]};let o=XA(r);if(o&&t?.[o]){let a=t[o];return{...a,id:Mt,strategy:String(a.strategy||"ordered").trim()||"ordered",targets:hr(a.targets||[],i=>i),fallbackTargets:hr(a.fallbackTargets||[],i=>i)}}return{id:Mt,strategy:"ordered",targets:r?[{ref:r}]:[],fallbackTargets:[]}}function lL(e={}){return(!e.modelAliases||typeof e.modelAliases!="object"||Array.isArray(e.modelAliases))&&(e.modelAliases={}),e.modelAliases[Mt]=iL(e,e.modelAliases),e}function sL(e={}){let t=new Set;for(let n of Object.keys(e?.modelAliases||{})){let r=String(n||"").trim();r&&t.add(r)}for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();a&&t.add(`${r}/${a}`)}}return t}function cL(e={}){let t=Object.keys(e?.modelAliases||{}).map(n=>String(n||"").trim()).filter(Boolean);if(t.includes(Mt))return Mt;if(t.length>0)return t[0];for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();if(a)return`${r}/${a}`}}return""}function Df(e={}){lL(e);let t=sL(e);if(e.defaultModel=Mt,!e.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=String(e.amp.defaultRoute||"").trim();if(!n||!t.has(XA(n))){let r=String(e.defaultModel||"").trim()||cL(e);r?e.amp.defaultRoute=r:delete e.amp.defaultRoute}return e}function As(e,t,n,r){let o=String(e||"").trim();if(!o)return"";let a=`${t}/`;if(!o.startsWith(a))return o;let i=o.slice(a.length),l=n.get(i)||i;return r.has(l)?`${t}/${l}`:""}function Cs(e,t,n=""){let r=String(e||"").trim();if(!r)return"";let o=`${t}/`;return r.startsWith(o)?n?`${n}/${r.slice(o.length)}`:"":r}function JA(e=[]){return Lf(Array.isArray(e)?e:[e])}function uL(e={},t={}){let n={...e};if(!Object.prototype.hasOwnProperty.call(t||{},"credentialInput"))return n;let o=String(t?.credentialInput||"").trim();return delete n.apiKey,delete n.apiKeyEnv,delete n.credential,o?/^[A-Z][A-Z0-9_]*$/.test(o)?(n.apiKeyEnv=o,n):(n.apiKey=o,n):n}function dL(e={},t=[]){let n={...e},r=JA(t),o=String(r[0]||"").trim(),a=n.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{...n.metadata}:null,i=r.length>1||!!(a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates"));if(!o)delete n.baseUrl,delete n.baseUrlByFormat,a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates")&&delete a.endpointCandidates;else{n.baseUrl=o;let l=n.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"&&!Array.isArray(n.baseUrlByFormat)?n.baseUrlByFormat:null;l&&Object.keys(l).length>0&&(n.baseUrlByFormat=Object.fromEntries(Object.keys(l).map(s=>[s,o]))),i&&(a=a||{},a.endpointCandidates=r)}return a&&Object.keys(a).length>0?n.metadata=a:a&&delete n.metadata,n}function fL(e={}){return e?.rateLimitLimit!==void 0||e?.rateLimitWindowValue!==void 0||e?.rateLimitWindowUnit!==void 0?[{sourceId:String(e?.rateLimitSourceId||"").trim(),models:["all"],requests:e?.rateLimitLimit,windowValue:e?.rateLimitWindowValue,windowUnit:e?.rateLimitWindowUnit}]:[]}function mL(e={},t={},n=""){let r={...e},o=Array.isArray(r.rateLimits)?r.rateLimits.map(u=>u&&typeof u=="object"?nu(u):u).filter(Boolean):[],a=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:fL(t),i=o[0]&&typeof o[0]=="object"?o[0]:null,l=Number(i?.requests??i?.limit)||60,s=Number(i?.window?.size??i?.window?.value)||1,c=String(i?.window?.unit||"minute").trim()||"minute",d=new Map(o.map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u));return r.rateLimits=tu(a,{existingBucketsBySourceId:d,fallbackRequests:l,fallbackWindowValue:s,fallbackWindowUnit:c}),r}function Uo(e,t,n=""){let r=String(e||"").trim();return r?r===t?n:r===`alias:${t}`?n?`alias:${n}`:"":r:""}function hr(e=[],t){let n=new Set,r=[];for(let o of Array.isArray(e)?e:[]){let a=String(o?.ref||"").trim();if(!a)continue;let i=String(t(a)||"").trim();!i||n.has(i)||(n.add(i),r.push({...o,ref:i}))}return r}function ru(e={},t){if(!e?.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=e.amp,r={};for(let[o,a]of Object.entries(n.routes&&typeof n.routes=="object"&&!Array.isArray(n.routes)?n.routes:{})){let i=String(t(a)||"").trim();i&&(r[o]=i)}return n.routes=r,n.rawModelRoutes=(Array.isArray(n.rawModelRoutes)?n.rawModelRoutes:[]).map(o=>{if(!o||typeof o!="object")return null;if(!Object.prototype.hasOwnProperty.call(o,"to"))return{...o};let a=String(t(o.to)||"").trim();return a?{...o,to:a}:null}).filter(Boolean),e}function ZA(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},n={};for(let[r,o]of Object.entries(t)){let a=hr(o?.targets||[],l=>l),i=hr(o?.fallbackTargets||[],l=>l);n[r]={...o,targets:a,fallbackTargets:i}}return e.modelAliases=n,ru(e,r=>r),Df(e)}function pL(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.id||"").trim(),a=String(r?.sourceId||r?.originalId||"").trim();if(!o||t.has(o))continue;t.add(o);let i=Number.parseInt(String(r?.contextWindow||"").trim(),10),l=r?.capabilities&&typeof r.capabilities=="object"&&Object.keys(r.capabilities).length>0?r.capabilities:void 0;n.push({id:o,sourceId:a,contextWindow:Number.isFinite(i)&&i>0?i:null,...l?{capabilities:l}:{}})}return n}function QA(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.ref||"").trim(),a=String(r?.sourceRef||r?.originalRef||"").trim(),i=String(r?.weight??"").trim(),l=Math.floor(Number(i));!o||t.has(o)||(t.add(o),n.push({ref:o,sourceRef:a,...i?{weight:Number.isFinite(l)&&l>0?l:1}:{}}))}return n}function ay(e={},t,n=[]){let r=nu(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(v=>v?.id===t);if(a===-1)return r;let i=o[a],l=Array.isArray(i?.models)?i.models:[],s=new Map(l.map(v=>[String(v?.id||"").trim(),v])),c=pL(n),d=new Set,u=new Map,f=[];for(let v of c){let h=v.sourceId&&s.has(v.sourceId)&&!d.has(v.sourceId)?v.sourceId:"",g=!h&&s.has(v.id)&&!d.has(v.id)?v.id:"",y=h||g;if(y){d.add(y),y!==v.id&&u.set(y,v.id);let x={...s.get(y),id:v.id,...v.contextWindow?{contextWindow:v.contextWindow}:{}};v.contextWindow||delete x.contextWindow,v.capabilities&&typeof v.capabilities=="object"&&Object.keys(v.capabilities).length>0?x.capabilities=v.capabilities:delete x.capabilities,f.push(x);continue}f.push({id:v.id,...v.contextWindow?{contextWindow:v.contextWindow}:{},...v.capabilities&&typeof v.capabilities=="object"&&Object.keys(v.capabilities).length>0?{capabilities:v.capabilities}:{}})}let p=new Set(f.map(v=>String(v?.id||"").trim()).filter(Boolean));i.models=f,i.rateLimits=(Array.isArray(i.rateLimits)?i.rateLimits:[]).map(v=>{let h=Array.isArray(v?.models)?v.models:[];return{...v,models:Lf(h.map(g=>{if(String(g||"").trim()==="all")return"all";let y=u.get(String(g||"").trim())||String(g||"").trim();return p.has(y)?y:""}))}}),r.providers=o.map((v,h)=>h===a?i:v).map(v=>({...v,models:(Array.isArray(v?.models)?v.models:[]).map(h=>Array.isArray(h?.fallbackModels)?{...h,fallbackModels:Lf(h.fallbackModels.map(g=>As(g,t,u,p)))}:h)}));let b=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},m={};for(let[v,h]of Object.entries(b)){let g=hr(h?.targets||[],x=>As(x,t,u,p)),y=hr(h?.fallbackTargets||[],x=>As(x,t,u,p));m[v]={...h,targets:g,fallbackTargets:y}}return r.modelAliases=m,r.defaultModel=As(r.defaultModel,t,u,p),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=As(r.amp.defaultRoute,t,u,p)),ru(r,v=>As(v,t,u,p)),Df(r)}function iy(e={},t="",n={}){let r=nu(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(p=>p?.id===t);if(a===-1)return r;let i=o[a]||{},l=String(n?.id||t||"").trim(),s=String(n?.name??i?.name??"").trim(),c=JA(Array.isArray(n?.endpoints)?n.endpoints:[n?.endpoint]),d=i?.type==="subscription",u=l||t,f={...i,id:u,name:s||u};if(d||(f=uL(f,n),f=dL(f,c),f=mL(f,n,u)),o[a]=f,r.providers=o.map(p=>({...p,models:(Array.isArray(p?.models)?p.models:[]).map(b=>Array.isArray(b?.fallbackModels)?{...b,fallbackModels:Lf(b.fallbackModels.map(m=>Cs(m,t,u)))}:b)})),u!==t){let p=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},b={};for(let[m,v]of Object.entries(p))b[m]={...v,targets:hr(v?.targets||[],h=>Cs(h,t,u)),fallbackTargets:hr(v?.fallbackTargets||[],h=>Cs(h,t,u))};r.modelAliases=b,r.defaultModel=Cs(r.defaultModel,t,u),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Cs(r.amp.defaultRoute,t,u)),ru(r,m=>Cs(m,t,u))}return Df(r)}function eC(e={},t="",n={}){let r=nu(e),o=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},a=t?o[t]:void 0,i=t===Mt?Mt:String(n?.id||t||"").trim();if(!i)return r;let l=new Map((a?.targets||[]).map(p=>[String(p?.ref||"").trim(),p])),s=new Map((a?.fallbackTargets||[]).map(p=>[String(p?.ref||"").trim(),p])),c=new Set,d=QA(n?.targets).map(p=>{let b=p.sourceRef&&l.has(p.sourceRef)&&!c.has(p.sourceRef)?p.sourceRef:l.has(p.ref)&&!c.has(p.ref)?p.ref:"";return b&&c.add(b),{...b?l.get(b):{},ref:p.ref,...p.weight!==void 0?{weight:p.weight}:{}}}),u=new Set,f=QA(n?.fallbackTargets).map(p=>{let b=p.sourceRef&&s.has(p.sourceRef)&&!u.has(p.sourceRef)?p.sourceRef:s.has(p.ref)&&!u.has(p.ref)?p.ref:"";return b&&u.add(b),{...b?s.get(b):{},ref:p.ref,...p.weight!==void 0?{weight:p.weight}:{}}});if(t&&t!==i&&delete o[t],o[i]={...a?.metadata?{metadata:a.metadata}:{},...n?.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{metadata:n.metadata}:{},id:i,strategy:String(n?.strategy||a?.strategy||"ordered").trim()||"ordered",targets:d,fallbackTargets:f},r.modelAliases=o,t&&t!==i){for(let[p,b]of Object.entries(o))p!==i&&(b.targets=hr(b?.targets||[],m=>Uo(m,t,i)),b.fallbackTargets=hr(b?.fallbackTargets||[],m=>Uo(m,t,i)));r.defaultModel=Uo(r.defaultModel,t,i),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Uo(r.amp.defaultRoute,t,i)),ru(r,p=>Uo(p,t,i))}return ZA(r)}function tC(e={},t=""){let n=nu(e),r=String(t||"").trim();if(!r)return n;let o=n.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(!Object.prototype.hasOwnProperty.call(o,r))return n;if(r===Mt)return o[r]={...o[r],id:Mt,strategy:String(o[r]?.strategy||"ordered").trim()||"ordered",targets:[],fallbackTargets:[]},n.modelAliases=o,Df(n);delete o[r],n.modelAliases=o;for(let a of Object.values(o))a.targets=hr(a?.targets||[],i=>Uo(i,r)),a.fallbackTargets=hr(a?.fallbackTargets||[],i=>Uo(i,r));return n.defaultModel=Uo(n.defaultModel,r),n?.amp&&typeof n.amp=="object"&&!Array.isArray(n.amp)&&(n.amp.defaultRoute=Uo(n.amp.defaultRoute,r)),ru(n,a=>Uo(a,r)),ZA(n)}function nC(e="",t={}){return{id:String(e||t?.id||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map((n,r)=>({key:`target-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)})),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map((n,r)=>({key:`fallback-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)}))}}function rC(e={}){return(Array.isArray(e?.models)?e.models:[]).map((t,n)=>({key:`model-${e?.id||"provider"}-${n}-${String(t?.id||"").trim()||"empty"}`,id:String(t?.id||"").trim(),sourceId:String(t?.id||"").trim(),contextWindow:Number.isFinite(t?.contextWindow)?String(Math.floor(Number(t.contextWindow))):"",...t?.capabilities?{capabilities:{...t.capabilities}}:{}}))}var ly="__codex_cli_inherit__",m3=Object.freeze(["minimal","low","medium","high","xhigh"]),gL=Object.freeze(["low","medium","high","xhigh","max"]),p3=Object.freeze({low:4096,medium:12e3,high:24e3,xhigh:28e3,max:31999});function Bf(e){return String(e||"").trim()===ly}function hL(e){let t=String(e||"").trim().toLowerCase();return gL.includes(t)?t:""}var oC=hL;var yL=Object.freeze(["off","none","low","medium","high"]);function bL(e){let t=String(e||"").trim();return t.startsWith("custom:")?t.slice(7).trim():t}function If(e){let t=bL(e);if(!t.startsWith("llm-"))return null;if(t.startsWith("llm-alias:")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:i}:null}if(t.startsWith("llm-alias-")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:""}:null}let n=t.slice(4),r=n.indexOf(":");if(r<=0)return null;let o=n.slice(0,r).trim(),a=n.slice(r+1).trim();return!o||!a?null:{kind:"model",providerId:o,modelId:a,routeRef:`${o}/${a}`}}function aC(e){let t=String(e||"").trim().toLowerCase();return yL.includes(t)?t:""}var Xe={"content-type":"application/json"},sy={info:"bg-sky-50 text-sky-700 ring-sky-100",success:"bg-emerald-50 text-emerald-700 ring-emerald-100",warn:"bg-amber-50 text-amber-700 ring-amber-100",error:"bg-rose-50 text-rose-700 ring-rose-100"},iC=[{value:"usage",label:"Request / response"},{value:"router",label:"LLM Router"},{value:"all",label:"All categories"}],ou={usage:{label:"Request / response",badgeVariant:"info",emptyLabel:"request/response"},router:{label:"LLM Router",badgeVariant:"outline",emptyLabel:"LLM Router"}},lC="https://github.com/khanglvm/llm-router",sC="https://github.com/sponsors/khanglvm",no="AICodeClient/1.0.0",cC=3e3,zf=4e3,uC=100,dC=6,ll=/^[a-z][a-z0-9-]*$/,fC=/^[A-Za-z0-9][A-Za-z0-9._:\-\[\]]*$/,mC=[{value:"api",label:"API Key",description:"Test endpoint + model candidates with an API key env before saving."},{value:"subscription",label:"Subscription",description:"Use an OAuth subscription login with ChatGPT or Claude models."}],Pf=[{value:"auto",label:"Auto"},{value:"ordered",label:"Ordered"},{value:"round-robin",label:"Round robin"},{value:"weighted-rr",label:"Weighted RR"},{value:"quota-aware-weighted-rr",label:"Quota-aware weighted RR"}],Uf=Object.fromEntries(Pf.map(e=>[e.value,e.label])),pC=Object.freeze([{value:"minimal",label:"Minimal",hint:"Fastest supported reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Deeper reasoning"},{value:"xhigh",label:"XHigh",hint:"Model-dependent extra depth"}]),gC=Object.freeze([{value:"low",label:"Low",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=low"},{value:"medium",label:"Medium",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=medium"},{value:"high",label:"High",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=high"},{value:"xhigh",label:"XHigh",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=xhigh"},{value:"max",label:"Max",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=max"}]),hC=Object.freeze([{value:"off",label:"Off",hint:"Disable reasoning"},{value:"none",label:"None",hint:"No extended reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Maximum reasoning depth"}]),cy=oy;var yC=Object.freeze([{value:"ordered",label:"Ordered"},{value:"quota-balance",label:"Quota balance"}]),jf=Object.freeze([Object.freeze({id:"brave",label:"Brave",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"brv_...",defaultLimit:1e3}),Object.freeze({id:"tavily",label:"Tavily",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"tvly-...",defaultLimit:1e3}),Object.freeze({id:"exa",label:"Exa",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"exa_...",defaultLimit:1e3}),Object.freeze({id:"searxng",label:"SearXNG",credentialField:"url",credentialLabel:"Base URL",credentialPlaceholder:"https://searx.example.com",defaultLimit:0})]),Na=Object.fromEntries(jf.map(e=>[e.id,e])),xi=5,au=1,iu=20,Rs="w-[5.5rem] justify-self-end",uy=["border-primary/45","bg-primary/5"],dy=[{value:"5m",label:"5 minutes"},{value:"10m",label:"10 minutes"},{value:"30m",label:"30 minutes"},{value:"1h",label:"1 hour"},{value:"24h",label:"24 hours"},{value:"-1",label:"Forever (blocks eviction)"},{value:"0",label:"Disabled (unload immediately)"}];var nt=B(te(),1);function Ns({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,nt.jsx)("circle",{cx:"5",cy:"4",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"4",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"5",cy:"8",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"8",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"5",cy:"12",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"12",r:"1.25",fill:"currentColor"})]})}function bC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,nt.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function vC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56 0-.28-.01-1.2-.02-2.18-3.2.69-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.68-1.28-1.68-1.05-.72.08-.71.08-.71 1.16.08 1.77 1.19 1.77 1.19 1.03 1.76 2.69 1.25 3.35.96.1-.74.4-1.25.72-1.54-2.56-.29-5.25-1.28-5.25-5.71 0-1.26.45-2.28 1.18-3.08-.12-.29-.51-1.46.11-3.05 0 0 .97-.31 3.17 1.18a10.9 10.9 0 0 1 5.77 0c2.2-1.49 3.17-1.18 3.17-1.18.62 1.59.23 2.76.11 3.05.74.8 1.18 1.82 1.18 3.08 0 4.44-2.69 5.41-5.26 5.69.41.35.78 1.05.78 2.11 0 1.52-.01 2.75-.01 3.12 0 .31.21.67.8.56A11.5 11.5 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z"})})}function xC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M12 21.3 10.9 20.3C5.4 15.3 2 12.3 2 8.5 2 5.4 4.4 3 7.5 3c1.8 0 3.5.8 4.5 2.1C13 3.8 14.7 3 16.5 3 19.6 3 22 5.4 22 8.5c0 3.8-3.4 6.8-8.9 11.8L12 21.3Z"})})}function SC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M6.25 4.7a.75.75 0 0 1 1.14-.64l8.1 5.05a1.05 1.05 0 0 1 0 1.78l-8.1 5.05a.75.75 0 0 1-1.14-.64V4.7Z"})})}function wC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M6.25 4.5A1.25 1.25 0 0 1 7.5 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 8 16.75h-.5a1.25 1.25 0 0 1-1.25-1.25v-11Zm4.5 0A1.25 1.25 0 0 1 12 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 12.5 16.75H12a1.25 1.25 0 0 1-1.25-1.25v-11Z"})})}function AC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M2.75 6.5A1.75 1.75 0 0 1 4.5 4.75h3L9.4 6.4h6.1a1.75 1.75 0 0 1 1.75 1.75v6.35a1.75 1.75 0 0 1-1.75 1.75h-11A1.75 1.75 0 0 1 2.75 14.5v-8Z"}),(0,nt.jsx)("path",{d:"M2.75 8h14.5"})]})}function CC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M10 3.25v5"}),(0,nt.jsx)("path",{d:"M6.1 5.15a6.25 6.25 0 1 0 7.8 0"})]})}function Es({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("path",{d:"M12 20h9"}),(0,nt.jsx)("path",{d:"M16.5 3.5a2.121 2.121 0 1 1 3 3L7 19l-4 1 1-4 12.5-12.5Z"})]})}function RC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:(0,nt.jsx)("path",{d:"m5 12 4.25 4.25L19 6.5"})})}function lu({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("path",{d:"M3 6h18"}),(0,nt.jsx)("path",{d:"M8 6V4.75A1.75 1.75 0 0 1 9.75 3h4.5A1.75 1.75 0 0 1 16 4.75V6"}),(0,nt.jsx)("path",{d:"M18 6v12.25A1.75 1.75 0 0 1 16.25 20h-8.5A1.75 1.75 0 0 1 6 18.25V6"}),(0,nt.jsx)("path",{d:"M10 10.5v5"}),(0,nt.jsx)("path",{d:"M14 10.5v5"})]})}function Vf({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),(0,nt.jsx)("path",{d:"M5 15V6a2 2 0 0 1 2-2h9"})]})}function su(e,{requiresAuth:t=!0}={}){return Object.freeze({requiresAuth:t,fetchModels:async({apiKey:n,apiKeyEnv:r}={})=>{let o={endpoints:[e]};return n&&(o.apiKey=n),r&&(o.apiKeyEnv=r),((await fetchJson("/api/config/discover-provider-models",{method:"POST",headers:Xe,body:JSON.stringify(o)})).result?.models||[]).map(i=>String(i||"").trim()).filter(Boolean)}})}var cu=Object.freeze([Object.freeze({key:"custom",category:"api",label:"Custom",description:"Generic OpenAI-compatible API provider.",providerName:"My Provider",providerId:"my-provider",endpoint:"",apiKeyEnv:"",defaultModels:Object.freeze({openai:Object.freeze(["gpt-4o-mini","gpt-4.1-mini"]),claude:Object.freeze(["claude-3-5-sonnet","claude-3-5-haiku"])}),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"})}),Object.freeze({key:"groq",category:"api",label:"Groq",description:"Groq cloud inference with Llama, Qwen, and GPT-OSS models.",providerName:"Groq",providerId:"groq",endpoint:"https://api.groq.com/openai/v1",apiKeyEnv:"",defaultModels:Object.freeze(["llama-3.3-70b-versatile","llama-3.1-8b-instant"]),rateLimitDefaults:Object.freeze({limit:30,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"api.groq.com",models:Object.freeze({"llama-3.1-8b-instant":30,"llama-3.3-70b-versatile":30,"openai/gpt-oss-20b":30,"openai/gpt-oss-120b":15,"qwen/qwen3-32b":30,"meta-llama/llama-4-scout-17b-16e-instruct":15,"moonshotai/kimi-k2-instruct":15,_default:30})}),discover:su("https://api.groq.com/openai/v1")}),Object.freeze({key:"gemini",category:"api",label:"Google Gemini",description:"Google Gemini models via OpenAI-compatible endpoint.",providerName:"Google Gemini",providerId:"gemini",endpoint:"https://generativelanguage.googleapis.com/v1beta/openai",apiKeyEnv:"",defaultModels:Object.freeze(["gemini-3-flash-preview","gemini-3.1-flash-lite-preview"]),rateLimitDefaults:Object.freeze({limit:10,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"generativelanguage.googleapis.com",models:Object.freeze({"gemini-3-flash-preview":15,"gemini-3.1-flash-lite-preview":15,"gemini-3.1-pro-preview":5,"gemini-2.5-flash":15,"gemini-2.5-flash-lite":15,"gemini-2.5-pro":5,_default:10})}),discover:su("https://generativelanguage.googleapis.com/v1beta/openai")}),Object.freeze({key:"zai-global",category:"api",label:"Z.AI Coding (Global)",description:"Z.AI coding models via the global coding endpoint.",providerName:"Z.AI Coding",providerId:"zai-coding",endpoint:"https://api.z.ai/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:su("https://api.z.ai/api/coding/paas/v4")}),Object.freeze({key:"zai-china",category:"api",label:"Z.AI Coding (China)",description:"Z.AI coding models via the China mainland coding endpoint.",providerName:"Z.AI Coding CN",providerId:"zai-coding-cn",endpoint:"https://open.bigmodel.cn/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:su("https://open.bigmodel.cn/api/coding/paas/v4")}),Object.freeze({key:"openrouter",category:"api",label:"OpenRouter",description:"300+ models from multiple providers, including free tier models.",providerName:"OpenRouter",providerId:"openrouter",endpoint:"https://openrouter.ai/api/v1",apiKeyEnv:"",defaultModels:Object.freeze(["qwen/qwen3.6-plus:free","google/gemma-4-26b-a4b-it"]),rateLimitDefaults:Object.freeze({limit:200,windowValue:1,windowUnit:"minute"}),discover:su("https://openrouter.ai/api/v1",{requiresAuth:!1})}),Object.freeze({key:"oauth-gpt",category:"subscription",label:"ChatGPT",description:"Use ChatGPT subscription login with GPT models.",providerName:"ChatGPT Subscription",providerId:"chatgpt-sub",subscriptionType:"chatgpt-codex",format:"openai",defaultModels:ny,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"chatgpt-tos"}),Object.freeze({key:"oauth-claude",category:"subscription",label:"Claude",description:"Use Claude Code subscription login with Claude models.",providerName:"Claude Subscription",providerId:"claude-sub",subscriptionType:"claude-code",format:"claude",defaultModels:ry,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"claude-extra-usage"})]),bo=Object.freeze(Object.fromEntries(cu.map(e=>[e.key,e])));function Lr(e){return bo[e]||bo.custom}function NC(e){return cu.find(t=>t.freeTierRpm?.host===e)||null}function EC(e){return cu.filter(t=>t.category===e)}var fy=Object.freeze(Object.fromEntries(cu.filter(e=>e.freeTierRpm?.host&&e.freeTierRpm?.models).map(e=>[e.freeTierRpm.host,e.freeTierRpm.models]))),uu=new Map,Ff=null;function TC(){return Ff||(Ff=Promise.allSettled(cu.filter(e=>e.discover&&!e.discover.requiresAuth).map(async e=>{try{let t=await e.discover.fetchModels();t.length&&uu.set(e.key,t)}catch{}})),Ff)}function Hf(e){return Array.from(new Set(String(e||"").split(/[\s,]+/).map(t=>t.trim()).filter(Boolean)))}function Si(e){let t=String(e||"").trim();if(!t)return!1;try{let n=new URL(t);return n.protocol==="http:"||n.protocol==="https:"}catch{return!1}}function rr(e=[],t=""){return Array.from(new Set([...(Array.isArray(e)?e:[]).map(n=>String(n||"").trim()).filter(Boolean),...Hf(t)]))}function $f(e=[],t,n){if(!t||!n||t===n)return e;let r=[...e],o=r.findIndex(l=>l?.key===t),a=r.findIndex(l=>l?.key===n);if(o===-1||a===-1)return e;let[i]=r.splice(o,1);return r.splice(a,0,i),r}function Ts(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r<=0)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r-1,0,a),o}function Kf(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r===-1||r>=e.length-1)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r+1,0,a),o}function my(e,t=[]){let n=e?.getBoundingClientRect?.();return{top:Number.isFinite(n?.top)?Number(n.top):Number.NaN,left:Number.isFinite(n?.left)?Number(n.left):Number.NaN,windowX:typeof window>"u"?0:Number(window.scrollX||window.pageXOffset||0),windowY:typeof window>"u"?0:Number(window.scrollY||window.pageYOffset||0),containers:t.map(r=>({top:Number(r?.scrollTop||0),left:Number(r?.scrollLeft||0)}))}}function MC(e,t,n=.5){return!e||!t||!Number.isFinite(t.top)||!Number.isFinite(t.left)||Math.abs(t.top-e.top)>n||Math.abs(t.left-e.left)>n||Math.abs(t.windowX-e.windowX)>n||Math.abs(t.windowY-e.windowY)>n||(e.containers?.length||0)!==(t.containers?.length||0)?!1:t.containers.every((r,o)=>{let a=e.containers[o];return a?Math.abs(r.top-a.top)<=n&&Math.abs(r.left-a.left)<=n:!1})}function py(e){let t=String(e?.category||"").trim().toLowerCase();if(t==="usage"||t==="router")return t;let n=String(e?.source||"").trim().toLowerCase(),r=String(e?.kind||"").trim().toLowerCase();return n==="runtime"||r.startsWith("request")||r.startsWith("fallback")?"usage":"router"}function Ea(e,t){if(e?.classList){if(t){e.classList.add(...uy);return}e.classList.remove(...uy)}}function Ms(e){return typeof e?.closest=="function"?e.closest("[data-reorder-row='true']"):null}function Gf(e){let t=String(e||"").trim().toLowerCase();return t==="automatic"||t==="smart"?"auto":t==="rr"?"round-robin":t==="weighted-round-robin"||t==="weighted_rr"?"weighted-rr":t==="quota-aware-weighted-round-robin"?"quota-aware-weighted-rr":Object.prototype.hasOwnProperty.call(Uf,t)?t:"ordered"}function qf(e){let t=Gf(e);return Uf[t]||Uf.ordered}function yr(e=[]){return Array.from(new Set((e||[]).map(t=>String(t||"").trim()).filter(Boolean)))}function Os(e=[]){let t=new Set;for(let n of(e||[]).map(r=>String(r||"").trim()).filter(Boolean)){if(t.has(n))return!0;t.add(n)}return!1}function OC(e=[],t="",n=-1){let r=String(t||"").trim().toLowerCase();return r?(e||[]).some((o,a)=>a!==n&&String(o?.name||"").trim().toLowerCase()===r):!1}function kC(){return{id:"",strategy:"auto",targets:[{ref:""}],fallbackTargets:[]}}function _C(e="",t={},{isNew:n=!1}={}){return JSON.stringify({aliasId:n?"":String(e||"").trim(),id:String(t?.id||(n?"":e)||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map(r=>String(r?.ref||"").trim()),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(r=>String(r?.ref||"").trim())})}function du(){if(typeof globalThis<"u"&&globalThis.crypto?.getRandomValues){let t=new Uint8Array(18);return globalThis.crypto.getRandomValues(t),`gw_${Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}`}return`gw_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`}function vo(e){return/^[A-Z][A-Z0-9_]*$/.test(String(e||"").trim())}function Dr(e){let t=String(e||"").toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-");return t?/^[a-z]/.test(t)?t:`provider-${t}`:""}function gy(e,t){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function fu(e={}){return yr((Array.isArray(e?.models)?e.models:[]).map(t=>t?.id))}function mu(e={},{keyPrefix:t="rate-limit",index:n=0,defaults:r=bo.custom.rateLimitDefaults,useDefaults:o=!0}={}){let a=String(e?.sourceId||e?.id||"").trim(),i=e?.requests??e?.limit,l=e?.windowValue??e?.window?.size??e?.window?.value,s=e?.windowUnit??e?.window?.unit;return{key:String(e?.key||"").trim()||`${t}-${a||n+1}`,sourceId:a,models:yo(Array.isArray(e?.models)?e.models:[]),modelsDraft:String(e?.modelsDraft||""),requests:i!==void 0?String(i):o?String(r.limit??""):"",windowValue:l!==void 0?String(l):o?String(r.windowValue??""):"",windowUnit:String(s!==void 0?s:o?r.windowUnit:"minute").trim()||"minute"}}function pu(e=[],{keyPrefix:t="rate-limit",defaults:n=bo.custom.rateLimitDefaults,includeDefault:r=!0}={}){return(Array.isArray(e)&&e.length>0?e:r?[{models:["all"],requests:n.limit,window:{size:n.windowValue,unit:n.windowUnit}}]:[]).map((a,i)=>mu(a,{keyPrefix:t,index:i,defaults:n,useDefaults:!0}))}function Wf(e={}){return yo(rr(e?.models,e?.modelsDraft||"")).length===0&&!String(e?.requests??"").trim()&&!String(e?.windowValue??"").trim()}function br(e=[]){return(Array.isArray(e)?e:[]).map((t,n)=>({key:String(t?.key||`rate-limit-${n+1}`).trim()||`rate-limit-${n+1}`,sourceId:String(t?.sourceId||"").trim(),models:yo(rr(t?.models,t?.modelsDraft||"")),requests:String(t?.requests??"").trim(),windowValue:String(t?.windowValue??"").trim(),windowUnit:il(t?.windowUnit,"minute")})).filter((t,n)=>!Wf({...e?.[n]||{},...t}))}function hy(e=[]){return br(e).map(t=>({sourceId:t.sourceId,models:t.models,requests:t.requests,windowValue:t.windowValue,windowUnit:t.windowUnit}))}function LC(e=[]){let t=Array.isArray(e)?e.filter(Boolean):[];return t.length===0?"":t.length===1?YA(t[0]):`${t.length} rate limits`}function jo(e){return JSON.parse(JSON.stringify(e??{}))}function yy(e,t={}){try{let n=JSON.parse(String(e||"{}"));return n&&typeof n=="object"&&!Array.isArray(n)?n:t}catch{return t}}function DC(e,t={}){try{let n=String(e||"").trim()?JSON.parse(e):{};return!n||typeof n!="object"||Array.isArray(n)?{value:t,parseError:"Config root must be a JSON object."}:{value:n,parseError:""}}catch(n){return{value:t,parseError:n instanceof Error?n.message:String(n)}}}function ks(e){return e?new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}):"\u2014"}function BC(e){return e?.parseError?"danger":(e?.validationErrors||[]).length>0?"warning":"success"}function Yf(e=no){return[{name:"User-Agent",value:String(e||no)}]}function Qf(e=[]){return(Array.isArray(e)?e:[]).map(t=>({name:String(t?.name||""),value:t?.value===void 0||t?.value===null?"":String(t.value)}))}function vL(e,t=no){if(!e||typeof e!="object"||Array.isArray(e))return Yf(t);let n=Object.entries(e).map(([r,o])=>({name:String(r||""),value:o==null?"":String(o)})).filter(r=>r.name.trim());return n.length>0?n:Yf(t)}function Xf(e=[]){let t={};for(let n of Qf(e)){let r=String(n.name||"").trim();if(!r)continue;let o=r.toLowerCase()==="user-agent",a=String(n.value||"").trim();!a&&!o||(t[r]=a)}return t}function vy(e={}){return JSON.stringify({connectionType:String(e?.connectionType||""),endpoints:Array.isArray(e?.endpoints)?e.endpoints.map(t=>String(t||"").trim()).filter(Boolean):[],apiKeyEnv:String(e?.apiKeyEnv||"").trim(),headers:Xf(e?.headerRows||[])})}function _s(e,t){return String(e||"").trim().startsWith(`${t}/`)}function gu(e){let t=Object.keys(e?.modelAliases||{});if(t.includes(Mt))return Mt;if(t.length>0)return t[0];let n=(e?.providers||[]).find(r=>(r?.models||[]).length>0);return n?.models?.[0]?.id?`${n.id}/${n.models[0].id}`:void 0}function PC(e,t){let n=jo(e&&typeof e=="object"?e:{});n.providers=(Array.isArray(n.providers)?n.providers:[]).filter(i=>i?.id!==t);let r=new Set((n.providers||[]).flatMap(i=>(i.models||[]).map(l=>`${i.id}/${l.id}`))),o=n.modelAliases&&typeof n.modelAliases=="object"?n.modelAliases:{},a={};for(let[i,l]of Object.entries(o)){let s=Array.isArray(l?.targets)?l.targets.filter(d=>!_s(d?.ref,t)):[],c=Array.isArray(l?.fallbackTargets)?l.fallbackTargets.filter(d=>!_s(d?.ref,t)):[];a[i]={...l,...Array.isArray(l?.targets)?{targets:s}:{},...Array.isArray(l?.fallbackTargets)?{fallbackTargets:c}:{}}}return n.modelAliases=a,n.defaultModel&&!n.modelAliases?.[n.defaultModel]&&!r.has(n.defaultModel)&&(n.defaultModel=Mt),n?.amp?.defaultRoute&&!n.modelAliases?.[n.amp.defaultRoute]&&!r.has(n.amp.defaultRoute)&&(n.amp={...n.amp,defaultRoute:n.defaultModel||gu(n)}),n}function Ta(e={}){let t=Array.isArray(e?.metadata?.endpointCandidates)?e.metadata.endpointCandidates:[],n=[e?.baseUrl,...Object.values(e?.baseUrlByFormat||{})];return Array.from(new Set((t.length>0?t:n).map(r=>String(r||"").trim()).filter(Boolean)))}function xL(e={}){let t=String(e?.apiKeyEnv||"").trim();if(t)return{apiKeyEnv:t};let n=String(e?.apiKey||e?.credential||"").trim();return n?{apiKey:n}:{}}function xy(e={},t={}){if(e&&Object.prototype.hasOwnProperty.call(e,"credentialInput")){let n=String(e?.credentialInput||"").trim();return n?vo(n)?{apiKeyEnv:n}:{apiKey:n}:{}}return xL(t)}function xo(e={}){return e?.type==="subscription"?"subscription":"api"}function UC(e={}){if(e?.type==="subscription")return e?.subscriptionType==="claude-code"?"oauth-claude":"oauth-gpt";let t=Ta(e);for(let n of t)try{let r=new URL(String(n||"")).hostname,o=NC(r);if(o)return o.key}catch{}return"custom"}function jC(e={}){let t=Ta(e),n=xo(e),r=UC(e),o=Jf(r);return{id:String(e?.id||"").trim(),name:String(e?.name||e?.id||"").trim(),credentialInput:n==="api"?String(e?.apiKeyEnv||e?.apiKey||e?.credential||"").trim():"",endpoints:n==="api"?t:[],endpointDraft:"",rateLimitRows:n==="api"?pu(e?.rateLimits,{keyPrefix:`provider-${e?.id||"new"}-rate-limit`,defaults:o,includeDefault:!0}):[]}}function VC(e){return Lr(e).label||"API Key"}function Sy(e){for(let t of e||[])try{let n=new URL(String(t||"")).hostname;if(fy[n])return n}catch{}return null}function FC(e,t){let n=fy[e];if(!n||!Array.isArray(t)||t.length===0)return null;let r=n._default||30;return t.map((o,a)=>mu({models:[String(o)],requests:n[o]||r,window:{size:1,unit:"minute"}},{keyPrefix:"preset-rl",index:a}))}function HC(e){let t=new Map;for(let n of e){let r=n.toLowerCase(),o=r.includes("flash-lite")?"flash-lite":r.includes("flash")?"flash":r.includes("pro")?"pro":r;t.has(o)||t.set(o,n)}return[...t.values()]}function wy(e,t="openai"){let n=uu.get(e);if(n?.length)return[...n];let o=Lr(e).defaultModels;return o&&typeof o=="object"&&!Array.isArray(o)?[...o[t]||o.openai||[]]:Array.isArray(o)?[...o]:[]}function Jf(e){return Lr(e).rateLimitDefaults||bo.custom.rateLimitDefaults}function SL(e,t,n=[]){let r=new Set((n||[]).map(a=>a?.id).filter(Boolean));if(!r.has(e))return{providerId:e,providerName:t};let o=2;for(;r.has(`${e}-${o}`);)o++;return{providerId:`${e}-${o}`,providerName:`${t} ${o}`}}function by(e,t="openai"){let n=Lr(e),r=Jf(e),o=n.category==="api";return{providerName:n.providerName,providerId:n.providerId,endpoints:o&&n.endpoint?[n.endpoint]:[],apiKeyEnv:o&&n.apiKeyEnv||"",subscriptionProfile:"",modelIds:e==="custom"?[]:wy(e,t),rateLimitRows:o?pu([],{keyPrefix:`quick-start-${e}-rate-limit`,defaults:r,includeDefault:!0}):[]}}function $C(e={},{baseConfig:t={},nextCategory:n,nextPresetKey:r,defaultProviderUserAgent:o=no}={}){let a=Lr(r),i=n==="api",l=e.selectedConnection||"custom",s=Lr(l),c=by(l),d=Array.isArray(t?.providers)?t.providers:[],u=SL(a.providerId,a.providerName,d),f=e.connectionType==="api"?Yf(o):[],p=i?Yf(o):[],b=Qf(e.headerRows||[]),m=!e.providerId||e.providerId===s.providerId||e.providerId===c.providerId||e.providerId===Dr(e.providerName||""),v=!e.providerName||e.providerName===s.providerName||e.providerName===c.providerName,h=!e.subscriptionProfile||e.subscriptionProfile===c.subscriptionProfile,g=Array.isArray(s.defaultModels)?s.defaultModels:[],y=(e.modelIds||[]).length===0||JSON.stringify(e.modelIds||[])===JSON.stringify(g)||JSON.stringify(e.modelIds||[])===JSON.stringify(c.modelIds||[]),x=JSON.stringify(b)===JSON.stringify(f),A=rr(e.endpoints,e.endpointDraft),N=Array.isArray(c.endpoints)?c.endpoints:[],E=A.length===0||JSON.stringify(A)===JSON.stringify(N),C=String(e.apiKeyEnv||"").trim(),O=!C||C===String(s.apiKeyEnv||"").trim()||C===String(c.apiKeyEnv||"").trim(),L=Array.isArray(a.defaultModels)?[...a.defaultModels]:[],V=by(r);return{...e,connectionType:n,selectedConnection:r,providerName:v?u.providerName:e.providerName,providerId:m?u.providerId:e.providerId,endpoints:i?E?[...V.endpoints]:Array.isArray(e.endpoints)?e.endpoints:[]:[],endpointDraft:i?E?"":String(e.endpointDraft||""):"",apiKeyEnv:i?O?a.apiKeyEnv||"":e.apiKeyEnv:"",subscriptionProfile:i?"":h?V.subscriptionProfile:e.subscriptionProfile,modelIds:y?L.length>0?L:V.modelIds:e.modelIds,modelContextWindows:y?{}:e.modelContextWindows||{},modelDraft:"",rateLimitRows:i?pu([],{keyPrefix:`quick-start-${r}-rate-limit`,defaults:a.rateLimitDefaults||bo.custom.rateLimitDefaults,includeDefault:!0}):[],headerRows:i?b.length===0||x?p:b:[]}}function wL(e={},t="",{aliasId:n=""}={}){if(!t)return null;let r=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},o=n?[[n,r[n]]]:Object.entries(r);for(let[a,i]of o){if(!i||typeof i!="object")continue;let l=Array.isArray(i?.targets)?i.targets:[],s=Array.isArray(i?.fallbackTargets)?i.fallbackTargets:[];if([...l,...s].some(c=>_s(c?.ref,t)))return{aliasId:a,alias:i}}return null}function AL(e,t="",n=[]){let r=Array.from(new Set((n||[]).map(l=>String(l||"").trim()).filter(Boolean)));if(!t||!e?.alias)return r;let o=new Set(r),a=Array.isArray(e.alias?.targets)?e.alias.targets:[],i=[];for(let l of a){let s=String(l?.ref||"").trim();if(!_s(s,t))continue;let c=s.slice(t.length+1);!o.has(c)||i.includes(c)||i.push(c)}return i.length>0?i:r}function Zf(e=[],t=[]){let n=Array.from(new Set((t||[]).map(a=>String(a||"").trim()).filter(Boolean))),r=new Set(n),o=[];for(let a of(e||[]).map(i=>String(i||"").trim()).filter(Boolean))r.has(a)&&(o.push(a),r.delete(a));return[...o,...n.filter(a=>r.has(a))]}function IC(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){if(!e||typeof e!="object")return e;let o=String(e.ref||"").trim();if(!t||!_s(o,t))return e;let a=o.slice(t.length+1);return r.has(a)?{...e,ref:`${n}/${a}`}:null}function CL(e,t){if(!e||typeof e!="object")return e;let n={...e},r=Array.isArray(e.targets),o=Array.isArray(e.fallbackTargets);return r&&(n.targets=e.targets.map(a=>IC(a,t)).filter(Boolean)),o&&(n.fallbackTargets=e.fallbackTargets.map(a=>IC(a,t)).filter(Boolean)),n}function RL(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){let o=String(e||"").trim();if(!o||!t||!_s(o,t))return o;let a=o.slice(t.length+1);return r.has(a)?`${n}/${a}`:""}function NL(e=[]){return new Set((e||[]).flatMap(t=>(t?.models||[]).map(n=>`${t.id}/${n.id}`)))}function KC(e={},{seedMode:t="blank",targetProviderId:n="",defaultProviderUserAgent:r=no}={}){let o=Array.isArray(e?.providers)?e.providers:[],a=n&&o.find(y=>y?.id===n)||null,i=t==="existing"||!!a,l=i?a||o[0]||{}:{},s=i?xo(l):"api",c=i?UC(l):"custom",d=l?.format==="claude"?"claude":"openai",u=by(c,d),f=Jf(c),p=Array.isArray(l?.models)?l.models.map(y=>y?.id).filter(Boolean):[],b=String(l?.id||u.providerId||Dr(l?.name||u.providerName||"my-provider")||"my-provider"),m=i?wL(e,b,{aliasId:Mt}):null,v=p.length>0?p:[...u.modelIds],h=Object.fromEntries((Array.isArray(l?.models)?l.models:[]).map(y=>{let x=String(y?.id||"").trim(),A=Number(y?.contextWindow);return!x||!Number.isFinite(A)||A<=0?null:[x,Math.floor(A)]}).filter(Boolean)),g=s==="api"?vL(l?.headers,r):[];return{connectionType:s,selectedConnection:c,providerName:String(l?.name||u.providerName),providerId:b,endpoints:Ta(l).length>0?Ta(l):u.endpoints,endpointDraft:"",apiKeyEnv:String(l?.apiKeyEnv||l?.apiKey||u.apiKeyEnv),subscriptionProfile:String(l?.subscriptionProfile||u.subscriptionProfile),modelIds:v,modelContextWindows:h,modelDraft:"",aliasModelIds:AL(m,b,v),headerRows:g,rateLimitRows:s==="api"?pu(l?.rateLimits,{keyPrefix:`quick-start-${b}-rate-limit`,defaults:f,includeDefault:!0}):[],enableAlias:!0,aliasId:Mt,sourceAliasId:m?.aliasId||"",useAliasAsDefault:i?!!m:!0}}function zC(e,t={},n={}){return(e||[]).map(r=>{let o=t[r],a=Number(n?.[r]);return{id:r,...o?{formats:[o]}:{},...Number.isFinite(a)&&a>0?{contextWindow:Math.floor(a)}:{}}})}function Ay(e={}){let t=Dr(e?.providerId||e?.providerName||"")||"";return String(e?.subscriptionProfile||t||"default").trim()||t||"default"}function GC(e={},t,n=null,{targetProviderId:r=""}={}){let o=jo(e&&typeof e=="object"?e:{}),a=Dr(t?.providerId||t?.providerName||"my-provider")||"my-provider",i=String(t?.providerName||a).trim()||a,l=Array.isArray(t?.modelIds)?t.modelIds.map(z=>String(z||"").trim()).filter(Boolean):[],s=Zf(t?.aliasModelIds,l),c=Jf(t?.selectedConnection||t?.connectionType),d=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:[],u=d.length>0?d:[{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],f=Array.isArray(e?.providers)&&e.providers.length>0,p=String(r||"").trim(),b=String(t?.sourceAliasId||"").trim(),m;if(t?.connectionType==="api"){let z=Array.isArray(t?.endpoints)?t.endpoints.map(Ve=>String(Ve||"").trim()).filter(Boolean):[],G=Array.isArray(n?.workingFormats)?n.workingFormats.filter(Boolean):[],Z=n?.preferredFormat||G[0]||"openai",ue=n?.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"?n.baseUrlByFormat:z[0]?{[Z]:z[0]}:void 0,q=Z&&ue?.[Z]||ue?.openai||ue?.claude||z[0]||"",oe=Array.isArray(n?.models)&&n.models.length>0?s.filter(Ve=>n.models.includes(Ve)):s,ee=oe.length>0?oe:s,W=z.length>1?{endpointCandidates:z}:void 0,j=String(t?.apiKeyEnv||"").trim(),Ie=vo(j)?{apiKeyEnv:j}:j?{apiKey:j}:{},ne=Xf(t?.headerRows||[]);m={id:a,name:i,baseUrl:q,baseUrlByFormat:ue,...Ie,...Object.keys(ne).length>0?{headers:ne}:{},format:Z,formats:G.length>0?G:[Z],models:zC(ee,n?.modelPreferredFormat||{},t?.modelContextWindows||{}),...W?{metadata:W}:{}}}else{let z=Lr(t?.selectedConnection||"oauth-gpt"),G=z.subscriptionType||"chatgpt-codex",Z=z.format||"openai";m={id:a,name:i,type:"subscription",subscriptionType:G,subscriptionProfile:Ay(t),format:Z,formats:[Z],models:zC(s,{},t?.modelContextWindows||{})}}m.rateLimits=t?.connectionType==="api"?tu(u,{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}):tu([{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}),String(o.masterKey||"").trim()||(o.masterKey=du()),o.version=typeof o.version=="number"?o.version:2;let v=Array.isArray(o.providers)?o.providers:[],h=p?v.findIndex(z=>z?.id===p):-1;h===-1&&(h=v.findIndex(z=>z?.id===a)),o.providers=h===-1?[...v,m]:v.map((z,G)=>G===h?m:z);let g=o.modelAliases&&typeof o.modelAliases=="object"&&!Array.isArray(o.modelAliases)?o.modelAliases:{},y=new Set((m.models||[]).map(z=>z.id)),x=!f||t?.useAliasAsDefault===!0,A={};for(let[z,G]of Object.entries(g)){let Z=p?CL(G,{fromProviderId:p,toProviderId:a,allowedModelIds:y}):G;A[z]=Z}let N=m.models?.[0]?.id?`${a}/${m.models[0].id}`:"",E=(s.length>0?s:(m.models||[]).map(z=>z.id)).filter(z=>y.has(z)),C=Mt,O=A[C]&&typeof A[C]=="object"?A[C]:{id:C,strategy:"ordered",targets:[],fallbackTargets:[]};A[C]=x?{...O,id:C,strategy:"ordered",targets:E.map(z=>({ref:`${a}/${z}`})),fallbackTargets:[]}:{...O,id:C,strategy:String(O.strategy||"ordered").trim()||"ordered",targets:Array.isArray(O.targets)?O.targets:[],fallbackTargets:Array.isArray(O.fallbackTargets)?O.fallbackTargets:[]},o.modelAliases=A;let L=NL(o.providers);o.defaultModel=Mt,(!o.amp||typeof o.amp!="object"||Array.isArray(o.amp))&&(o.amp={restrictManagementToLocalhost:!0,overrides:{entities:[]}}),o.amp.restrictManagementToLocalhost===void 0&&(o.amp.restrictManagementToLocalhost=!0),(!o.amp.overrides||typeof o.amp.overrides!="object"||Array.isArray(o.amp.overrides))&&(o.amp.overrides={entities:[]}),Array.isArray(o.amp.overrides.entities)||(o.amp.overrides.entities=[]);let V=String(o.amp.defaultRoute||"").trim();return p&&(V=RL(V,{fromProviderId:p,toProviderId:a,allowedModelIds:y})),(x||!V||!o.modelAliases?.[V]&&!L.has(V))&&(V=Mt),V&&(o.amp.defaultRoute=V),(!o.metadata||typeof o.metadata!="object"||Array.isArray(o.metadata))&&(o.metadata={}),o}function em(e={}){return(Array.isArray(e?.providers)?e.providers:[]).some(n=>{if(n?.enabled===!1)return!1;let r=Array.isArray(n?.models)?n.models.filter(a=>String(a?.id||"").trim()):[],o=Array.isArray(n?.rateLimits)?n.rateLimits:[];return r.length>0&&o.length>0})}function qC(e,t,n={},{targetProviderId:r=""}={}){let o=Dr(t?.providerId||t?.providerName||""),a=rr(t?.modelIds,t?.modelDraft),i=Zf(t?.aliasModelIds,a),l=br(t?.rateLimitRows),s=t?.connectionType==="api"?rr(t?.endpoints,t?.endpointDraft):[],c=Array.isArray(n?.providers)?n.providers:[],d=n?.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(e===0){if(!String(t?.providerName||"").trim())return"Add a provider name to continue.";if(!o||!ll.test(o))return"Provider id must start with a letter and use lowercase letters, numbers, or hyphens.";if(c.some(u=>u?.id===o&&u?.id!==r))return"Provider id already exists. Choose another id or edit that provider instead.";if(t?.connectionType==="api"){if(s.length===0)return"Add at least one endpoint to continue.";if(!String(t?.apiKeyEnv||"").trim())return"API key or env is required before testing config."}}if(e===1){if(a.length===0)return"Add at least one model id.";if(t?.connectionType==="api"){let u=Po(l,{knownModelIds:a,requireAtLeastOne:!0});if(u)return u}}return e===2&&t?.useAliasAsDefault&&Object.prototype.hasOwnProperty.call(d,String(t?.aliasId||Mt).trim())===!1,""}function WC(e){return String(e||"").split("-").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function YC(e){let t=String(e||"").trim();if(!t)return"";let n=_f.find(a=>a?.id===t);if(n?.defaultMatch)return String(n.defaultMatch).trim();let r=Zc.find(a=>a?.id===t);if(!r)return"";let o=[...new Set((r.signatures||[]).map(a=>_f.find(i=>i?.id===a)?.defaultMatch).map(a=>String(a||"").trim()).filter(Boolean))];return o.length===1?o[0]:o.join(" | ")}function QC(e){let t=String(e||"").trim();return t?t.length<=10?`${t.slice(0,2)}\u2026${t.slice(-2)}`:`${t.slice(0,4)}\u2026${t.slice(-4)}`:""}function or(e={}){let t=jo(e&&typeof e=="object"&&!Array.isArray(e)?e:{});return(!t.amp||typeof t.amp!="object"||Array.isArray(t.amp))&&(t.amp={}),(!t.amp.routes||typeof t.amp.routes!="object"||Array.isArray(t.amp.routes))&&(t.amp.routes={}),Array.isArray(t.amp.rawModelRoutes)||(t.amp.rawModelRoutes=[]),(!t.amp.overrides||typeof t.amp.overrides!="object"||Array.isArray(t.amp.overrides))&&(t.amp.overrides={}),Array.isArray(t.amp.overrides.entities)||(t.amp.overrides.entities=[]),t.amp.restrictManagementToLocalhost===void 0&&(t.amp.restrictManagementToLocalhost=!0),String(t.amp.preset||"").trim()||(t.amp.preset="builtin"),String(t.amp.defaultRoute||"").trim()||(t.amp.defaultRoute=String(t.defaultModel||gu(t)||"").trim()),t}function Vo(e,t=0,{min:n=0,max:r=Number.MAX_SAFE_INTEGER}={}){let o=Number.parseInt(String(e??""),10);return Number.isFinite(o)?Math.min(r,Math.max(n,o)):t}function EL(){return new Set([...Zc.map(e=>e.id),..._f.map(e=>e.id)].map(e=>String(e||"").trim()).filter(Boolean))}var TL=EL();function hu(e){return TL.has(String(e||"").trim())}function tm(e){(!e.routes||typeof e.routes!="object"||Array.isArray(e.routes))&&(e.routes={}),Array.isArray(e.rawModelRoutes)||(e.rawModelRoutes=[])}function XC(e={}){return String(e?.sourceRouteKey||"").trim()}function Cy(e={}){let n=or(e).amp;tm(n);let r=new Map,o=[];for(let[l,s]of(n.rawModelRoutes||[]).entries()){let c=XC(s);if(c&&hu(c)){r.set(c,{mapping:s,index:l});continue}o.push({id:`raw:${l}`,source:"raw",index:l,routeKey:"",inbound:String(s?.from||"").trim(),outbound:String(s?.to||"").trim(),label:"Custom mapping",description:`Wildcard/raw match: ${String(s?.from||"").trim()||"(empty)"}`,defaultMatch:"",isCustom:!0,removable:!0})}let a=Zc.map(l=>{let s=String(l.id||"").trim(),c=YC(s),d=r.get(s)?.mapping||null;return{id:`route:${s}`,source:"route",routeKey:s,inbound:String(d?.from||c||s).trim(),outbound:String(d?.to||n.routes?.[s]||"").trim(),label:WC(s),description:l.description||"",defaultMatch:c,isCustom:!1,removable:!1}}),i=Object.entries(n.routes||{}).filter(([l])=>!Zc.some(s=>s.id===l)).map(([l,s])=>{let c=String(l||"").trim(),d=YC(c),u=hu(c);return{id:`route:${c}`,source:"route",routeKey:c,inbound:c,outbound:String(s||"").trim(),label:u?d||c:WC(c),description:u?`Route key: ${c}`:`Custom route key: ${c}`,defaultMatch:d,isCustom:!0,removable:!0}});return[...a,...i,...o]}function JC(e,t){return Cy(e).find(n=>n.id===t)||null}function Ry(e={},t,{inbound:n,outbound:r}={}){let o=or(e),a=o.amp;tm(a);let i=JC(o,t);if(!i)return o;let l=String(n??i.inbound??"").trim(),s=String(r??i.outbound??"").trim(),c=i.source==="route"?String(i.routeKey||"").trim():"",d=c?String(i.defaultMatch||"").trim():"",u=c?a.rawModelRoutes.findIndex(b=>XC(b)===c):-1,f=c&&hu(c),p=hu(l)?l:c&&d&&l===d?c:"";if(i.source==="route"&&i.routeKey&&delete a.routes[i.routeKey],i.source==="raw"&&Number.isInteger(i.index)&&a.rawModelRoutes.splice(i.index,1),u>=0&&a.rawModelRoutes.splice(u,1),p)return s&&(a.routes[p]=s),o;if(f){let b=d||c;return s&&(a.routes[c]=s),l&&l!==b&&a.rawModelRoutes.push({from:l,sourceRouteKey:c}),o}return l&&s&&a.rawModelRoutes.push({from:l,to:s}),o}function ZC(e={},{inbound:t,outbound:n}={}){let r=or(e),o=r.amp;tm(o);let a=String(t||"").trim(),i=String(n||"").trim(),l=hu(a)?a:"";return!a||!i?r:l?(o.routes[l]=i,r):(o.rawModelRoutes.push({from:a,to:i}),r)}function e1(e={},t){let n=or(e),r=n.amp;tm(r);let o=JC(n,t);return o?.removable&&(o.source==="route"&&o.routeKey&&delete r.routes[o.routeKey],o.source==="raw"&&Number.isInteger(o.index)&&r.rawModelRoutes.splice(o.index,1)),n}function Ai(e={}){let t=e&&typeof e=="object"&&!Array.isArray(e)?e:{},n=t.amp?.webSearch&&typeof t.amp.webSearch=="object"&&!Array.isArray(t.amp.webSearch)?jo(t.amp.webSearch):null;(!t.webSearch||typeof t.webSearch!="object"||Array.isArray(t.webSearch))&&(t.webSearch=n||{}),t.amp&&typeof t.amp=="object"&&!Array.isArray(t.amp)&&Object.prototype.hasOwnProperty.call(t.amp,"webSearch")&&delete t.amp.webSearch;let r=String(t.webSearch.strategy||"").trim();return t.webSearch.strategy=r==="quota-balance"?"quota-balance":"ordered",t.webSearch.count!==void 0&&t.webSearch.count!==null&&String(t.webSearch.count).trim()!==""?t.webSearch.count=Vo(t.webSearch.count,xi,{min:au,max:iu}):delete t.webSearch.count,Array.isArray(t.webSearch.providers)||(t.webSearch.providers=[]),t.webSearch}function t1(e=""){return String(e||"").trim().includes("/")}function Cn(e=""){let t=String(e||"").trim();return t1(t)?t:t.toLowerCase()}function wi(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();return!n||!r?"":`${n}/${r}`}function ML(e={}){return[...new Set([e?.format,...Array.isArray(e?.formats)?e.formats:[]].map(t=>String(t||"").trim().toLowerCase()).filter(t=>t==="openai"||t==="claude"))]}function OL(e={},t={}){let n=String(t?.id||"").trim(),r=n?String(e?.lastProbe?.modelPreferredFormat?.[n]||"").trim().toLowerCase():"";if(r==="openai"||r==="claude")return[r];let o=n?[...new Set((Array.isArray(e?.lastProbe?.modelSupport?.[n])?e.lastProbe.modelSupport[n]:[]).map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]:[];return o.length>0?o:[...new Set([t?.format,...Array.isArray(t?.formats)?t.formats:[]].map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]}function n1(e={}){let t=String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase();return String(e?.type||"").trim().toLowerCase()==="subscription"?t==="chatgpt-codex":ML(e).includes("openai")?!!String(e?.baseUrlByFormat?.openai||e?.baseUrl||"").trim():!1}function kL(e={}){return String(e?.type||"").trim().toLowerCase()==="subscription"?String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase()==="chatgpt-codex":String(e?.apiKey||"").trim()||String(e?.apiKeyEnv||"").trim()||String(e?.auth?.type||"").trim().toLowerCase()==="none"?!0:Object.keys(e?.headers&&typeof e.headers=="object"?e.headers:{}).some(t=>{let n=String(t||"").trim().toLowerCase();return n==="authorization"||n==="x-api-key"})}function _L(e={},t={}){if(!n1(e))return!1;let n=OL(e,t);return n.length===0||n.includes("openai")}function Fo(e={},t=[]){return!e||typeof e!="object"||Array.isArray(e)?!1:t.some(n=>Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==void 0&&e[n]!==null&&String(e[n]).trim()!=="")}function yu(e={},t=""){let n=String(t||e?.id||"").trim().toLowerCase(),r=Na[n];if(!r)return null;let o=r.credentialField,a=String(e?.[o]||"").trim(),i=Fo(e,["count","resultCount","result-count","resultsPerCall","results-per-call"]),l=Fo(e,["limit","monthlyLimit","monthly-limit","quota"]),s=Fo(e,["remaining","remainingQuota","remaining-quota","remainingQueries","remaining-queries"]),c=!!a||l||s,d=c&&Number(r.defaultLimit)||0,u=Vo(e?.count??e?.resultCount??e?.["result-count"]??e?.resultsPerCall??e?.["results-per-call"],xi,{min:au,max:iu}),f=Vo(e?.limit,d,{min:0}),p=f>0?f:0,b=Vo(e?.remaining,p,{min:0});return{kind:"builtin",id:n,[o]:a,...i&&u!==xi?{count:u}:{},...l||c&&f>0?{limit:f}:{},...s||c&&(f>0||b>0)?{remaining:f>0?Math.min(b,f):b}:{}}}function LL(e={},t=""){let n=String(t||e?.id||wi(e?.providerId??e?.provider,e?.model??e?.modelId)).trim();if(!t1(n))return null;let r=String(e?.providerId??e?.provider??n.slice(0,n.indexOf("/"))).trim(),o=String(e?.model??e?.modelId??n.slice(n.indexOf("/")+1)).trim(),a=wi(r,o);return!a||a!==n?null:{kind:"hosted",id:a,providerId:r,model:o}}function DL(e={},t=""){return LL(e,t)||yu(e,t)}function r1(e={},t=new Set){return(Array.isArray(e?.providers)?e.providers:[]).map(r=>{let o=String(r?.id||"").trim();if(!o||r?.enabled===!1||!n1(r)||!kL(r))return null;let a=(Array.isArray(r?.models)?r.models:[]).map(i=>{let l=String(i?.id||"").trim(),s=wi(o,l);return!l||!s||t.has(s)||!_L(r,i)||!l.toLowerCase().includes("gpt")?null:{value:l,label:l,routeId:s}}).filter(Boolean);return a.length===0?null:{providerId:o,providerLabel:String(r?.name||o).trim()||o,providerHint:String(r?.subscriptionType||"").trim().toLowerCase()==="chatgpt-codex"?"ChatGPT subscription":String(r?.baseUrlByFormat?.openai||r?.baseUrl||"").trim()||"OpenAI-compatible endpoint",models:a}}).filter(Boolean)}function o1(e={},t=null){let n=or(e),r=Ai(n),o=Array.isArray(r.providers)?r.providers.map(u=>DL(u,u?.id)).filter(Boolean):[],a=new Set(o.map(u=>Cn(u.id))),i=[...o,...jf.filter(u=>!a.has(u.id)).map(u=>yu({id:u.id},u.id)).filter(Boolean)],l=Array.isArray(t?.providers)?t.providers:[],s=new Map(l.map(u=>[Cn(u?.id),u]).filter(([u])=>!!u)),c=new Map((Array.isArray(e?.providers)?e.providers:[]).map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u)),d=Vo(r?.count,xi,{min:au,max:iu});return i.map(u=>{let f=Cn(u.id),p=s.get(f)||null,b=o.findIndex(N=>Cn(N.id)===f),m=i.findIndex(N=>Cn(N.id)===f),v=u.kind==="hosted"?p?.ready!==!1:!!u?.[Na[u.id]?.credentialField||"apiKey"];if(u.kind==="hosted"){let N=c.get(u.providerId)||null;return{id:u.id,key:u.id,kind:"hosted",label:String(N?.name||u.providerId).trim()||u.providerId,providerId:u.providerId,modelId:u.model,routeId:u.id,configured:!0,configuredIndex:b,configuredCount:o.length,displayIndex:m,displayCount:i.length,active:v,runtimeState:p}}let h=Na[u.id],g=h?.credentialField||"apiKey",y=String(u?.[g]||"").trim(),x=Fo(u,["count"]),A=Vo(u?.count,d,{min:au,max:iu});return{id:u.id,key:u.id,kind:"builtin",label:h?.label||u.id,credentialField:g,credentialLabel:h?.credentialLabel||"Credential",credentialPlaceholder:h?.credentialPlaceholder||"",credentialValue:y,resultPerCall:A,resultPerCallInput:x?String(A):d!==xi?String(d):"",limit:Vo(u?.limit,h?.defaultLimit||0,{min:0}),remaining:Vo(u?.remaining,h?.defaultLimit||0,{min:0}),configured:!!y,configuredIndex:b,configuredCount:o.length,displayIndex:m,displayCount:i.length,active:v,runtimeState:p}})}function a1(e=[],t=""){let n=[],r=new Set;for(let i of Array.isArray(e)?e:[]){if(!i?.configured)continue;let l=String(i?.id||"").trim(),s=Cn(l);if(!l||!s||r.has(s))continue;let c=i.kind==="hosted"?[String(i?.label||"").trim(),String(i?.modelId||"").trim()].filter(Boolean).join(" \xB7 "):String(i?.label||l).trim()||l,d=i.kind==="hosted"?String(i?.routeId||l).trim()||"Hosted web search route":i.active===!1?"Configured but not ready":"Configured provider";n.push({value:l,label:c,hint:d,groupKey:i.kind==="hosted"?"hosted-web-search-routes":"builtin-web-search-providers",groupLabel:i.kind==="hosted"?"Hosted search routes":"Built-in search providers"}),r.add(s)}let o=String(t||"").trim(),a=Cn(o);return o&&a&&!r.has(a)&&n.unshift({value:o,label:o,hint:"Current config (not configured)",groupKey:"current-claude-selection",groupLabel:"Current selection"}),n}function i1(e={},t={}){let n=or(e),r=Ai(n);return t.strategy!==void 0&&(r.strategy=String(t.strategy||"").trim()==="quota-balance"?"quota-balance":"ordered"),t.count!==void 0&&(r.count=Vo(t.count,r.count,{min:1,max:20})),n}function l1(e={},t,n={}){let r=String(t||"").trim().toLowerCase();if(!Na[r])return or(e);let o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=i.findIndex(g=>Cn(g?.id)===r),s=l>=0?i[l]:null,c=yu(s||{id:r},r)||yu({id:r},r),u=Na[r].credentialField,f=yu({...s&&typeof s=="object"&&!Array.isArray(s)?s:{},...c,...n,id:r,[u]:n[u]!==void 0?String(n[u]||"").trim():c?.[u]},r),p=!!String(f?.[u]||"").trim(),b=Fo(n,["count"])?!!String(n?.count||"").trim()&&Number(f?.count)!==xi:Fo(s,["count"])&&Number(f?.count)!==xi,m=p||Fo(n,["limit"])||Fo(s,["limit"]),v=p||Fo(n,["remaining"])||Fo(s,["remaining"]),h={id:r,...p?{[u]:String(f?.[u]||"").trim()}:{},...b?{count:Number(f.count)}:{},...m&&Number(f?.limit)>0?{limit:Number(f.limit)}:{},...v&&(Number(f?.limit)>0||Number(f?.remaining)>0)?{remaining:Number(f.remaining)}:{}};return l>=0?i[l]=h:i.push(h),a.providers=i,o}function s1(e={},t,n){let r=wi(t,n);if(!r)return or(e);let o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=Cn(r);return i.some(s=>Cn(s?.id)===l)||(i.push({id:r,providerId:String(t||"").trim(),model:String(n||"").trim()}),a.providers=i),o}function c1(e={},t){let n=Cn(t),r=or(e),o=Ai(r),a=Array.isArray(o.providers)?o.providers.slice():[],i=a.filter(l=>Cn(l?.id)!==n);return i.length===a.length||(o.providers=i),r}function u1(e={},t,n="up"){let r=Cn(t),o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=new Map(i.map(m=>[Cn(m?.id),m]).filter(([m])=>!!m)),s=i.findIndex(m=>Cn(m?.id)===r);if(s!==-1){let m=n==="down"?s+1:s-1;if(m<0||m>=i.length)return o;let[v]=i.splice(s,1);return i.splice(m,0,v),a.providers=i,o}if(!Na[r])return o;let c=[...i.map(m=>Cn(m?.id)).filter(Boolean),...jf.map(m=>m.id).filter(m=>!l.has(m))],d=c.indexOf(r);if(d===-1)return o;let u=n==="down"?d+1:d-1;if(u<0||u>=c.length)return o;let f=c.slice(),[p]=f.splice(d,1);f.splice(u,0,p);let b=new Set(l.keys());b.add(r);for(let m of f.slice(0,u+1))Na[m]&&b.add(m);return a.providers=f.filter(m=>b.has(m)).map(m=>l.get(m)||{id:m}),o}function d1(e,t,n){let r=String(e||"").trim().toLowerCase(),o=Na[r];return!o||String(t||"").trim()!==o.credentialField?!1:!String(n||"").trim()}function Ho(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"Unknown";if(t>=1e3){let n=t/1e3;return`${Number.isInteger(n)?String(n):n.toFixed(1).replace(/\.0$/,"")}K`}return String(t)}function g1(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"";let n=[{suffix:"M",divisor:1e3*1e3},{suffix:"K",divisor:1e3}];for(let r of n){if(t<r.divisor)continue;let o=t/r.divisor;return`${o>=10?String(Math.round(o)):o.toFixed(1).replace(/\.0$/,"")}${r.suffix}`}return String(t)}function bu(e){let t=$o(e),n=Number(t);return!Number.isFinite(n)||n<=0?String(e||""):new Intl.NumberFormat().format(n)}function BL(e={}){let t=new Map;for(let n of Array.isArray(e?.providers)?e.providers:[]){let r=String(n?.id||"").trim();if(r)for(let o of Array.isArray(n?.models)?n.models:[]){let a=String(o?.id||"").trim();a&&t.set(`${r}/${a}`,{ref:`${r}/${a}`,providerId:r,providerName:String(n?.name||r).trim()||r,modelId:a,contextWindow:Number.isFinite(o?.contextWindow)?Number(o.contextWindow):null})}}return t}function IL(e="",t={}){let n=t?.modelAliases&&typeof t.modelAliases=="object"&&!Array.isArray(t.modelAliases)?t.modelAliases:{},r=BL(t),o=new Set,a=new Set,i=[],l=[];function s(p){let b=String(p||"").trim();if(!b)return;if(r.has(b)){if(a.has(b))return;a.add(b),i.push(r.get(b));return}let m=b.startsWith("alias:")?b.slice(6).trim():b;if(!m||!Object.prototype.hasOwnProperty.call(n,m)){l.includes(b)||l.push(b);return}if(o.has(m))return;o.add(m);let v=n[m];for(let h of[...v?.targets||[],...v?.fallbackTargets||[]])s(h?.ref)}s(e);let c=i.filter(p=>Number.isFinite(p?.contextWindow)),d=[...new Set(c.map(p=>p.contextWindow))].sort((p,b)=>p-b),u=d[0]??null,f=d[d.length-1]??null;return{aliasId:e,models:i,unknownRefs:l,smallestContextWindow:u,largestContextWindow:f,hasMixedContextWindows:d.length>1}}function h1(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};return Object.keys(t).map(n=>IL(n,e)).filter(n=>n.hasMixedContextWindows).sort((n,r)=>String(n.aliasId||"").localeCompare(String(r.aliasId||"")))}function nm(e=""){let t=String(e||"Select alias").trim()||"Select alias",n=Math.min(Math.max(Math.ceil(t.length*8.5+62),160),520);if(typeof document>"u")return n;let o=(nm.canvas||(nm.canvas=document.createElement("canvas"))).getContext("2d");return o?(o.font='500 14px "Inter", "SF Pro Display", ui-sans-serif, system-ui, sans-serif',Math.min(Math.max(Math.ceil(o.measureText(t).width+62),160),520)):n}function f1(e={}){return`${String(e?.model||"").trim()}::${String(e?.contextWindow||"").trim()}`}function zL(e){return String(e||"").trim().replace(/[.,\s_'`]/g,"")}function $o(e){let t=zL(e);if(!t)return"";let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?String(n):t}function m1(e={}){let t=String(e?.model||"").trim(),n=String(e?.provider||"").trim(),r=String(e?.mode||"").trim(),o=Number(e?.contextWindow);return!Number.isFinite(o)||o<=0?null:{model:t,provider:n,mode:r,contextWindow:Math.floor(o),...e?.capabilities?{capabilities:e.capabilities}:{}}}function p1(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();if(!n||!r)return n;let o=n.toLowerCase(),a=r.toLowerCase(),i=[`${a}/`,`${a}:`];for(let l of i){if(!o.startsWith(l))continue;return n.slice(l.length).trim()||n}return n}function Ls(e={},{fallbackQuery:t=""}={}){let n=String(e?.query||t||"").trim(),r=m1(e?.exactMatch),o=(Array.isArray(e?.suggestions)?e.suggestions:[]).map(d=>m1(d)).filter(Boolean),a=Number(e?.medianContextWindow),i=Number.isFinite(a)&&a>0?Math.floor(a):r?.contextWindow||null,l=[],s=new Set;function c(d){!d?.key||s.has(d.key)||(s.add(d.key),l.push(d))}r&&c({key:`exact::${f1(r)}`,label:p1(r.model,r.provider)||"Exact match",detail:r.provider?`Exact \xB7 ${r.provider}`:"Exact",contextWindow:r.contextWindow});for(let d of o)c({key:f1(d),label:p1(d.model,d.provider)||"Suggestion",detail:d.provider||"Known model",contextWindow:d.contextWindow});return{query:n,exactMatch:r,suggestions:o,medianContextWindow:i,options:l,status:l.length>0?"ready":"miss"}}function rm(e={}){let t=Ls(e);return t.exactMatch?.contextWindow?String(t.exactMatch.contextWindow):t.medianContextWindow?String(t.medianContextWindow):""}function y1(e=[]){let t=new Map;for(let n of Array.isArray(e)?e:[]){let r=Ls(n);r.query&&t.set(r.query,r)}return t}function b1(e=[]){let t={};for(let n of Array.isArray(e)?e:[]){let r=String(n?.query||"").trim(),o=rm(n);!r||!o||(t[r]=Number(o))}return t}async function Ze(e,t={}){let n=await fetch(e,t),r=await n.json().catch(()=>({}));if(!n.ok){let o=new Error(r?.error||`Request failed (${n.status})`);throw o.statusCode=n.status,o.payload=r,o}return r}async function vu(e,t={},{onMessage:n}={}){let r=await fetch(e,t);if(!r.ok){let c=await r.json().catch(()=>({})),d=new Error(c?.error||`Request failed (${r.status})`);throw d.statusCode=r.status,d.payload=c,d}let o=r.body?.getReader();if(!o)return null;let a=new TextDecoder,i="",l=null;for(;;){let{value:c,done:d}=await o.read();i+=a.decode(c||new Uint8Array,{stream:!d});let u=i.indexOf(`
|
|
8
|
+
`+r.stack}}var sg=Object.prototype.hasOwnProperty,Jg=Mn.unstable_scheduleCallback,Rp=Mn.unstable_cancelCallback,iO=Mn.unstable_shouldYield,lO=Mn.unstable_requestPaint,Nr=Mn.unstable_now,sO=Mn.unstable_getCurrentPriorityLevel,e0=Mn.unstable_ImmediatePriority,t0=Mn.unstable_UserBlockingPriority,Nd=Mn.unstable_NormalPriority,cO=Mn.unstable_LowPriority,n0=Mn.unstable_IdlePriority,uO=Mn.log,dO=Mn.unstable_setDisableYieldValue,Pc=null,Tr=null;function Ka(e){if(typeof uO=="function"&&dO(e),Tr&&typeof Tr.setStrictMode=="function")try{Tr.setStrictMode(Pc,e)}catch{}}var Mr=Math.clz32?Math.clz32:pO,fO=Math.log,mO=Math.LN2;function pO(e){return e>>>=0,e===0?32:31-(fO(e)/mO|0)|0}var Gu=256,qu=262144,Wu=4194304;function Pi(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Zd(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var o=0,a=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=r&134217727;return l!==0?(r=l&~a,r!==0?o=Pi(r):(i&=l,i!==0?o=Pi(i):n||(n=l&~e,n!==0&&(o=Pi(n))))):(l=r&~a,l!==0?o=Pi(l):i!==0?o=Pi(i):n||(n=r&~e,n!==0&&(o=Pi(n)))),o===0?0:t!==0&&t!==o&&(t&a)===0&&(a=o&-o,n=t&-t,a>=n||a===32&&(n&4194048)!==0)?t:o}function Uc(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function gO(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function r0(){var e=Wu;return Wu<<=1,(Wu&62914560)===0&&(Wu=4194304),e}function Ep(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function jc(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function hO(e,t,n,r,o,a){var i=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,c=e.hiddenUpdates;for(n=i&~n;0<n;){var d=31-Mr(n),u=1<<d;l[d]=0,s[d]=-1;var f=c[d];if(f!==null)for(c[d]=null,d=0;d<f.length;d++){var p=f[d];p!==null&&(p.lane&=-536870913)}n&=~u}r!==0&&o0(e,r,0),a!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=a&~(i&~t))}function o0(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Mr(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function a0(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Mr(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}function i0(e,t){var n=t&-t;return n=(n&42)!==0?1:Zg(n),(n&(e.suspendedLanes|t))!==0?0:n}function Zg(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function eh(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function l0(){var e=At.p;return e!==0?e:(e=window.event,e===void 0?32:Ow(e.type))}function Ev(e,t){var n=At.p;try{return At.p=e,t()}finally{At.p=n}}var ci=Math.random().toString(36).slice(2),Fn="__reactFiber$"+ci,fr="__reactProps$"+ci,ms="__reactContainer$"+ci,cg="__reactEvents$"+ci,yO="__reactListeners$"+ci,bO="__reactHandles$"+ci,Nv="__reactResources$"+ci,Vc="__reactMarker$"+ci;function th(e){delete e[Fn],delete e[fr],delete e[cg],delete e[yO],delete e[bO]}function Ul(e){var t=e[Fn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ms]||n[Fn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Bx(e);e!==null;){if(n=e[Fn])return n;e=Bx(e)}return t}e=n,n=e.parentNode}return null}function ps(e){if(e=e[Fn]||e[ms]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function lc(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(K(33))}function Yl(e){var t=e[Nv];return t||(t=e[Nv]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function In(e){e[Vc]=!0}var s0=new Set,c0={};function Xi(e,t){rs(e,t),rs(e+"Capture",t)}function rs(e,t){for(c0[e]=t,e=0;e<t.length;e++)s0.add(t[e])}var vO=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Tv={},Mv={};function xO(e){return sg.call(Mv,e)?!0:sg.call(Tv,e)?!1:vO.test(e)?Mv[e]=!0:(Tv[e]=!0,!1)}function cd(e,t,n){if(xO(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var r=t.toLowerCase().slice(0,5);if(r!=="data-"&&r!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function Yu(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function na(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+r)}}function Hr(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function u0(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function SO(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){n=""+i,a.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ug(e){if(!e._valueTracker){var t=u0(e)?"checked":"value";e._valueTracker=SO(e,t,""+e[t])}}function d0(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=u0(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Td(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var wO=/[\n"\\]/g;function Gr(e){return e.replace(wO,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function dg(e,t,n,r,o,a,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Hr(t)):e.value!==""+Hr(t)&&(e.value=""+Hr(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?fg(e,i,Hr(t)):n!=null?fg(e,i,Hr(n)):r!=null&&e.removeAttribute("value"),o==null&&a!=null&&(e.defaultChecked=!!a),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Hr(l):e.removeAttribute("name")}function f0(e,t,n,r,o,a,i,l){if(a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.type=a),t!=null||n!=null){if(!(a!=="submit"&&a!=="reset"||t!=null)){ug(e);return}n=n!=null?""+Hr(n):"",t=t!=null?""+Hr(t):n,l||t===e.value||(e.value=t),e.defaultValue=t}r=r??o,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),ug(e)}function fg(e,t,n){t==="number"&&Td(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ql(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Hr(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function m0(e,t,n){if(t!=null&&(t=""+Hr(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Hr(n):""}function p0(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(K(92));if(ic(r)){if(1<r.length)throw Error(K(93));r=r[0]}n=r}n==null&&(n=""),t=n}n=Hr(t),e.defaultValue=n,r=e.textContent,r===n&&r!==""&&r!==null&&(e.value=r),ug(e)}function os(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var AO=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Ov(e,t,n){var r=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?r?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":r?e.setProperty(t,n):typeof n!="number"||n===0||AO.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function g0(e,t,n){if(t!=null&&typeof t!="object")throw Error(K(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf("--")===0?e.setProperty(r,""):r==="float"?e.cssFloat="":e[r]="");for(var o in t)r=t[o],t.hasOwnProperty(o)&&n[o]!==r&&Ov(e,o,r)}else for(var a in t)t.hasOwnProperty(a)&&Ov(e,a,t[a])}function nh(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var CO=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),RO=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function ud(e){return RO.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ua(){}var mg=null;function rh(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var jl=null,Xl=null;function kv(e){var t=ps(e);if(t&&(e=t.stateNode)){var n=e[fr]||null;e:switch(e=t.stateNode,t.type){case"input":if(dg(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Gr(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=r[fr]||null;if(!o)throw Error(K(90));dg(r,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&d0(r)}break e;case"textarea":m0(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ql(e,!!n.multiple,t,!1)}}}var Np=!1;function h0(e,t,n){if(Np)return e(t,n);Np=!0;try{var r=e(t);return r}finally{if(Np=!1,(jl!==null||Xl!==null)&&(ff(),jl&&(t=jl,e=Xl,Xl=jl=null,kv(t),e)))for(t=0;t<e.length;t++)kv(e[t])}}function Cc(e,t){var n=e.stateNode;if(n===null)return null;var r=n[fr]||null;if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(K(231,t,typeof n));return n}var ga=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),pg=!1;if(ga)try{_l={},Object.defineProperty(_l,"passive",{get:function(){pg=!0}}),window.addEventListener("test",_l,_l),window.removeEventListener("test",_l,_l)}catch{pg=!1}var _l,Ga=null,oh=null,dd=null;function y0(){if(dd)return dd;var e,t=oh,n=t.length,r,o="value"in Ga?Ga.value:Ga.textContent,a=o.length;for(e=0;e<n&&t[e]===o[e];e++);var i=n-e;for(r=1;r<=i&&t[n-r]===o[a-r];r++);return dd=o.slice(e,1<r?1-r:void 0)}function fd(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Qu(){return!0}function _v(){return!1}function mr(e){function t(n,r,o,a,i){this._reactName=n,this._targetInst=o,this.type=r,this.nativeEvent=a,this.target=i,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(n=e[l],this[l]=n?n(a):a[l]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Qu:_v,this.isPropagationStopped=_v,this}return Gt(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Qu)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Qu)},persist:function(){},isPersistent:Qu}),t}var Ji={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ef=mr(Ji),Fc=Gt({},Ji,{view:0,detail:0}),EO=mr(Fc),Tp,Mp,Zs,tf=Gt({},Fc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ah,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Zs&&(Zs&&e.type==="mousemove"?(Tp=e.screenX-Zs.screenX,Mp=e.screenY-Zs.screenY):Mp=Tp=0,Zs=e),Tp)},movementY:function(e){return"movementY"in e?e.movementY:Mp}}),Lv=mr(tf),NO=Gt({},tf,{dataTransfer:0}),TO=mr(NO),MO=Gt({},Fc,{relatedTarget:0}),Op=mr(MO),OO=Gt({},Ji,{animationName:0,elapsedTime:0,pseudoElement:0}),kO=mr(OO),_O=Gt({},Ji,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),LO=mr(_O),DO=Gt({},Ji,{data:0}),Dv=mr(DO),BO={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},IO={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},zO={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function PO(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=zO[e])?!!t[e]:!1}function ah(){return PO}var UO=Gt({},Fc,{key:function(e){if(e.key){var t=BO[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=fd(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?IO[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ah,charCode:function(e){return e.type==="keypress"?fd(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?fd(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),jO=mr(UO),VO=Gt({},tf,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Bv=mr(VO),FO=Gt({},Fc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ah}),HO=mr(FO),$O=Gt({},Ji,{propertyName:0,elapsedTime:0,pseudoElement:0}),KO=mr($O),GO=Gt({},tf,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),qO=mr(GO),WO=Gt({},Ji,{newState:0,oldState:0}),YO=mr(WO),QO=[9,13,27,32],ih=ga&&"CompositionEvent"in window,uc=null;ga&&"documentMode"in document&&(uc=document.documentMode);var XO=ga&&"TextEvent"in window&&!uc,b0=ga&&(!ih||uc&&8<uc&&11>=uc),Iv=" ",zv=!1;function v0(e,t){switch(e){case"keyup":return QO.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function x0(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Vl=!1;function JO(e,t){switch(e){case"compositionend":return x0(t);case"keypress":return t.which!==32?null:(zv=!0,Iv);case"textInput":return e=t.data,e===Iv&&zv?null:e;default:return null}}function ZO(e,t){if(Vl)return e==="compositionend"||!ih&&v0(e,t)?(e=y0(),dd=oh=Ga=null,Vl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return b0&&t.locale!=="ko"?null:t.data;default:return null}}var ek={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Pv(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!ek[e.type]:t==="textarea"}function S0(e,t,n,r){jl?Xl?Xl.push(r):Xl=[r]:jl=r,t=Gd(t,"onChange"),0<t.length&&(n=new ef("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var dc=null,Rc=null;function tk(e){hw(e,0)}function nf(e){var t=lc(e);if(d0(t))return e}function Uv(e,t){if(e==="change")return t}var w0=!1;ga&&(ga?(Ju="oninput"in document,Ju||(kp=document.createElement("div"),kp.setAttribute("oninput","return;"),Ju=typeof kp.oninput=="function"),Xu=Ju):Xu=!1,w0=Xu&&(!document.documentMode||9<document.documentMode));var Xu,Ju,kp;function jv(){dc&&(dc.detachEvent("onpropertychange",A0),Rc=dc=null)}function A0(e){if(e.propertyName==="value"&&nf(Rc)){var t=[];S0(t,Rc,e,rh(e)),h0(tk,t)}}function nk(e,t,n){e==="focusin"?(jv(),dc=t,Rc=n,dc.attachEvent("onpropertychange",A0)):e==="focusout"&&jv()}function rk(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return nf(Rc)}function ok(e,t){if(e==="click")return nf(t)}function ak(e,t){if(e==="input"||e==="change")return nf(t)}function ik(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var kr=typeof Object.is=="function"?Object.is:ik;function Ec(e,t){if(kr(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!sg.call(t,o)||!kr(e[o],t[o]))return!1}return!0}function Vv(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Fv(e,t){var n=Vv(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Vv(n)}}function C0(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?C0(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function R0(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Td(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Td(e.document)}return t}function lh(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var lk=ga&&"documentMode"in document&&11>=document.documentMode,Fl=null,gg=null,fc=null,hg=!1;function Hv(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;hg||Fl==null||Fl!==Td(r)||(r=Fl,"selectionStart"in r&&lh(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),fc&&Ec(fc,r)||(fc=r,r=Gd(gg,"onSelect"),0<r.length&&(t=new ef("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Fl)))}function Ii(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Hl={animationend:Ii("Animation","AnimationEnd"),animationiteration:Ii("Animation","AnimationIteration"),animationstart:Ii("Animation","AnimationStart"),transitionrun:Ii("Transition","TransitionRun"),transitionstart:Ii("Transition","TransitionStart"),transitioncancel:Ii("Transition","TransitionCancel"),transitionend:Ii("Transition","TransitionEnd")},_p={},E0={};ga&&(E0=document.createElement("div").style,"AnimationEvent"in window||(delete Hl.animationend.animation,delete Hl.animationiteration.animation,delete Hl.animationstart.animation),"TransitionEvent"in window||delete Hl.transitionend.transition);function Zi(e){if(_p[e])return _p[e];if(!Hl[e])return e;var t=Hl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in E0)return _p[e]=t[n];return e}var N0=Zi("animationend"),T0=Zi("animationiteration"),M0=Zi("animationstart"),sk=Zi("transitionrun"),ck=Zi("transitionstart"),uk=Zi("transitioncancel"),O0=Zi("transitionend"),k0=new Map,yg="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");yg.push("scrollEnd");function go(e,t){k0.set(e,t),Xi(t,[e])}var Md=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Fr=[],$l=0,sh=0;function rf(){for(var e=$l,t=sh=$l=0;t<e;){var n=Fr[t];Fr[t++]=null;var r=Fr[t];Fr[t++]=null;var o=Fr[t];Fr[t++]=null;var a=Fr[t];if(Fr[t++]=null,r!==null&&o!==null){var i=r.pending;i===null?o.next=o:(o.next=i.next,i.next=o),r.pending=o}a!==0&&_0(n,o,a)}}function of(e,t,n,r){Fr[$l++]=e,Fr[$l++]=t,Fr[$l++]=n,Fr[$l++]=r,sh|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function ch(e,t,n,r){return of(e,t,n,r),Od(e)}function el(e,t){return of(e,null,null,t),Od(e)}function _0(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var o=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(o=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,o&&t!==null&&(o=31-Mr(n),e=a.hiddenUpdates,r=e[o],r===null?e[o]=[t]:r.push(t),t.lane=n|536870912),a):null}function Od(e){if(50<Sc)throw Sc=0,Pg=null,Error(K(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Kl={};function dk(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rr(e,t,n,r){return new dk(e,t,n,r)}function uh(e){return e=e.prototype,!(!e||!e.isReactComponent)}function fa(e,t){var n=e.alternate;return n===null?(n=Rr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function L0(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function md(e,t,n,r,o,a){var i=0;if(r=e,typeof e=="function")uh(e)&&(i=1);else if(typeof e=="string")i=p_(e,n,_o.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case og:return e=Rr(31,n,t,o),e.elementType=og,e.lanes=a,e;case zl:return Fi(n.children,o,a,t);case Jx:i=8,o|=24;break;case tg:return e=Rr(12,n,t,o|2),e.elementType=tg,e.lanes=a,e;case ng:return e=Rr(13,n,t,o),e.elementType=ng,e.lanes=a,e;case rg:return e=Rr(19,n,t,o),e.elementType=rg,e.lanes=a,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ca:i=10;break e;case Zx:i=9;break e;case Qg:i=11;break e;case Xg:i=14;break e;case Ua:i=16,r=null;break e}i=29,n=Error(K(130,e===null?"null":typeof e,"")),r=null}return t=Rr(i,n,t,o),t.elementType=e,t.type=r,t.lanes=a,t}function Fi(e,t,n,r){return e=Rr(7,e,r,t),e.lanes=n,e}function Lp(e,t,n){return e=Rr(6,e,null,t),e.lanes=n,e}function D0(e){var t=Rr(18,null,null,0);return t.stateNode=e,t}function Dp(e,t,n){return t=Rr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var $v=new WeakMap;function qr(e,t){if(typeof e=="object"&&e!==null){var n=$v.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Rv(t)},$v.set(e,t),t)}return{value:e,source:t,stack:Rv(t)}}var Gl=[],ql=0,kd=null,Nc=0,$r=[],Kr=0,ai=null,Mo=1,Oo="";function la(e,t){Gl[ql++]=Nc,Gl[ql++]=kd,kd=e,Nc=t}function B0(e,t,n){$r[Kr++]=Mo,$r[Kr++]=Oo,$r[Kr++]=ai,ai=e;var r=Mo;e=Oo;var o=32-Mr(r)-1;r&=~(1<<o),n+=1;var a=32-Mr(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Mo=1<<32-Mr(t)+o|n<<o|r,Oo=a+e}else Mo=1<<a|n<<o|r,Oo=e}function dh(e){e.return!==null&&(la(e,1),B0(e,1,0))}function fh(e){for(;e===kd;)kd=Gl[--ql],Gl[ql]=null,Nc=Gl[--ql],Gl[ql]=null;for(;e===ai;)ai=$r[--Kr],$r[Kr]=null,Oo=$r[--Kr],$r[Kr]=null,Mo=$r[--Kr],$r[Kr]=null}function I0(e,t){$r[Kr++]=Mo,$r[Kr++]=Oo,$r[Kr++]=ai,Mo=t.id,Oo=t.overflow,ai=e}var Hn=null,Kt=null,bt=!1,Xa=null,Wr=!1,bg=Error(K(519));function ii(e){var t=Error(K(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Tc(qr(t,e)),bg}function Kv(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[Fn]=e,t[fr]=r,n){case"dialog":ut("cancel",t),ut("close",t);break;case"iframe":case"object":case"embed":ut("load",t);break;case"video":case"audio":for(n=0;n<_c.length;n++)ut(_c[n],t);break;case"source":ut("error",t);break;case"img":case"image":case"link":ut("error",t),ut("load",t);break;case"details":ut("toggle",t);break;case"input":ut("invalid",t),f0(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":ut("invalid",t);break;case"textarea":ut("invalid",t),p0(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||r.suppressHydrationWarning===!0||bw(t.textContent,n)?(r.popover!=null&&(ut("beforetoggle",t),ut("toggle",t)),r.onScroll!=null&&ut("scroll",t),r.onScrollEnd!=null&&ut("scrollend",t),r.onClick!=null&&(t.onclick=ua),t=!0):t=!1,t||ii(e,!0)}function Gv(e){for(Hn=e.return;Hn;)switch(Hn.tag){case 5:case 31:case 13:Wr=!1;return;case 27:case 3:Wr=!0;return;default:Hn=Hn.return}}function Ll(e){if(e!==Hn)return!1;if(!bt)return Gv(e),bt=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||Hg(e.type,e.memoizedProps)),n=!n),n&&Kt&&ii(e),Gv(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Kt=Dx(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Kt=Dx(e)}else t===27?(t=Kt,ui(e.type)?(e=qg,qg=null,Kt=e):Kt=t):Kt=Hn?Qr(e.stateNode.nextSibling):null;return!0}function Gi(){Kt=Hn=null,bt=!1}function Bp(){var e=Xa;return e!==null&&(ur===null?ur=e:ur.push.apply(ur,e),Xa=null),e}function Tc(e){Xa===null?Xa=[e]:Xa.push(e)}var vg=Lo(null),tl=null,da=null;function Va(e,t,n){jt(vg,t._currentValue),t._currentValue=n}function ma(e){e._currentValue=vg.current,zn(vg)}function xg(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Sg(e,t,n,r){var o=e.child;for(o!==null&&(o.return=e);o!==null;){var a=o.dependencies;if(a!==null){var i=o.child;a=a.firstContext;e:for(;a!==null;){var l=a;a=o;for(var s=0;s<t.length;s++)if(l.context===t[s]){a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),xg(a.return,n,e),r||(i=null);break e}a=l.next}}else if(o.tag===18){if(i=o.return,i===null)throw Error(K(341));i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),xg(i,n,e),i=null}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===e){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}}function gs(e,t,n,r){e=null;for(var o=t,a=!1;o!==null;){if(!a){if((o.flags&524288)!==0)a=!0;else if((o.flags&262144)!==0)break}if(o.tag===10){var i=o.alternate;if(i===null)throw Error(K(387));if(i=i.memoizedProps,i!==null){var l=o.type;kr(o.pendingProps.value,i.value)||(e!==null?e.push(l):e=[l])}}else if(o===Cd.current){if(i=o.alternate,i===null)throw Error(K(387));i.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(e!==null?e.push(Dc):e=[Dc])}o=o.return}e!==null&&Sg(t,e,n,r),t.flags|=262144}function _d(e){for(e=e.firstContext;e!==null;){if(!kr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function qi(e){tl=e,da=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function $n(e){return z0(tl,e)}function Zu(e,t){return tl===null&&qi(e),z0(e,t)}function z0(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},da===null){if(e===null)throw Error(K(308));da=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else da=da.next=t;return n}var fk=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,r){e.push(r)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},mk=Mn.unstable_scheduleCallback,pk=Mn.unstable_NormalPriority,wn={$$typeof:ca,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function mh(){return{controller:new fk,data:new Map,refCount:0}}function Hc(e){e.refCount--,e.refCount===0&&mk(pk,function(){e.controller.abort()})}var mc=null,wg=0,as=0,Jl=null;function gk(e,t){if(mc===null){var n=mc=[];wg=0,as=Ph(),Jl={status:"pending",value:void 0,then:function(r){n.push(r)}}}return wg++,t.then(qv,qv),t}function qv(){if(--wg===0&&mc!==null){Jl!==null&&(Jl.status="fulfilled");var e=mc;mc=null,as=0,Jl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function hk(e,t){var n=[],r={status:"pending",value:null,reason:null,then:function(o){n.push(o)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var o=0;o<n.length;o++)(0,n[o])(t)},function(o){for(r.status="rejected",r.reason=o,o=0;o<n.length;o++)(0,n[o])(void 0)}),r}var Wv=je.S;je.S=function(e,t){XS=Nr(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&gk(e,t),Wv!==null&&Wv(e,t)};var Hi=Lo(null);function ph(){var e=Hi.current;return e!==null?e:Pt.pooledCache}function pd(e,t){t===null?jt(Hi,Hi.current):jt(Hi,t.pool)}function P0(){var e=ph();return e===null?null:{parent:wn._currentValue,pool:e}}var hs=Error(K(460)),gh=Error(K(474)),af=Error(K(542)),Ld={then:function(){}};function Yv(e){return e=e.status,e==="fulfilled"||e==="rejected"}function U0(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(ua,ua),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Xv(e),e;default:if(typeof t.status=="string")t.then(ua,ua);else{if(e=Pt,e!==null&&100<e.shellSuspendCounter)throw Error(K(482));e=t,e.status="pending",e.then(function(r){if(t.status==="pending"){var o=t;o.status="fulfilled",o.value=r}},function(r){if(t.status==="pending"){var o=t;o.status="rejected",o.reason=r}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Xv(e),e}throw $i=t,hs}}function Ui(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?($i=n,hs):n}}var $i=null;function Qv(){if($i===null)throw Error(K(459));var e=$i;return $i=null,e}function Xv(e){if(e===hs||e===af)throw Error(K(483))}var Zl=null,Mc=0;function ed(e){var t=Mc;return Mc+=1,Zl===null&&(Zl=[]),U0(Zl,e,t)}function ec(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function td(e,t){throw t.$$typeof===nO?Error(K(525)):(e=Object.prototype.toString.call(t),Error(K(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function j0(e){function t(h,g){if(e){var y=h.deletions;y===null?(h.deletions=[g],h.flags|=16):y.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function r(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function o(h,g){return h=fa(h,g),h.index=0,h.sibling=null,h}function a(h,g,y){return h.index=y,e?(y=h.alternate,y!==null?(y=y.index,y<g?(h.flags|=67108866,g):y):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function i(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function l(h,g,y,x){return g===null||g.tag!==6?(g=Lp(y,h.mode,x),g.return=h,g):(g=o(g,y),g.return=h,g)}function s(h,g,y,x){var A=y.type;return A===zl?d(h,g,y.props.children,x,y.key):g!==null&&(g.elementType===A||typeof A=="object"&&A!==null&&A.$$typeof===Ua&&Ui(A)===g.type)?(g=o(g,y.props),ec(g,y),g.return=h,g):(g=md(y.type,y.key,y.props,null,h.mode,x),ec(g,y),g.return=h,g)}function c(h,g,y,x){return g===null||g.tag!==4||g.stateNode.containerInfo!==y.containerInfo||g.stateNode.implementation!==y.implementation?(g=Dp(y,h.mode,x),g.return=h,g):(g=o(g,y.children||[]),g.return=h,g)}function d(h,g,y,x,A){return g===null||g.tag!==7?(g=Fi(y,h.mode,x,A),g.return=h,g):(g=o(g,y),g.return=h,g)}function u(h,g,y){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Lp(""+g,h.mode,y),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case Ku:return y=md(g.type,g.key,g.props,null,h.mode,y),ec(y,g),y.return=h,y;case ac:return g=Dp(g,h.mode,y),g.return=h,g;case Ua:return g=Ui(g),u(h,g,y)}if(ic(g)||Js(g))return g=Fi(g,h.mode,y,null),g.return=h,g;if(typeof g.then=="function")return u(h,ed(g),y);if(g.$$typeof===ca)return u(h,Zu(h,g),y);td(h,g)}return null}function f(h,g,y,x){var A=g!==null?g.key:null;if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return A!==null?null:l(h,g,""+y,x);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Ku:return y.key===A?s(h,g,y,x):null;case ac:return y.key===A?c(h,g,y,x):null;case Ua:return y=Ui(y),f(h,g,y,x)}if(ic(y)||Js(y))return A!==null?null:d(h,g,y,x,null);if(typeof y.then=="function")return f(h,g,ed(y),x);if(y.$$typeof===ca)return f(h,g,Zu(h,y),x);td(h,y)}return null}function p(h,g,y,x,A){if(typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint")return h=h.get(y)||null,l(g,h,""+x,A);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Ku:return h=h.get(x.key===null?y:x.key)||null,s(g,h,x,A);case ac:return h=h.get(x.key===null?y:x.key)||null,c(g,h,x,A);case Ua:return x=Ui(x),p(h,g,y,x,A)}if(ic(x)||Js(x))return h=h.get(y)||null,d(g,h,x,A,null);if(typeof x.then=="function")return p(h,g,y,ed(x),A);if(x.$$typeof===ca)return p(h,g,y,Zu(g,x),A);td(g,x)}return null}function b(h,g,y,x){for(var A=null,E=null,N=g,C=g=0,O=null;N!==null&&C<y.length;C++){N.index>C?(O=N,N=null):O=N.sibling;var L=f(h,N,y[C],x);if(L===null){N===null&&(N=O);break}e&&N&&L.alternate===null&&t(h,N),g=a(L,g,C),E===null?A=L:E.sibling=L,E=L,N=O}if(C===y.length)return n(h,N),bt&&la(h,C),A;if(N===null){for(;C<y.length;C++)N=u(h,y[C],x),N!==null&&(g=a(N,g,C),E===null?A=N:E.sibling=N,E=N);return bt&&la(h,C),A}for(N=r(N);C<y.length;C++)O=p(N,h,C,y[C],x),O!==null&&(e&&O.alternate!==null&&N.delete(O.key===null?C:O.key),g=a(O,g,C),E===null?A=O:E.sibling=O,E=O);return e&&N.forEach(function(V){return t(h,V)}),bt&&la(h,C),A}function m(h,g,y,x){if(y==null)throw Error(K(151));for(var A=null,E=null,N=g,C=g=0,O=null,L=y.next();N!==null&&!L.done;C++,L=y.next()){N.index>C?(O=N,N=null):O=N.sibling;var V=f(h,N,L.value,x);if(V===null){N===null&&(N=O);break}e&&N&&V.alternate===null&&t(h,N),g=a(V,g,C),E===null?A=V:E.sibling=V,E=V,N=O}if(L.done)return n(h,N),bt&&la(h,C),A;if(N===null){for(;!L.done;C++,L=y.next())L=u(h,L.value,x),L!==null&&(g=a(L,g,C),E===null?A=L:E.sibling=L,E=L);return bt&&la(h,C),A}for(N=r(N);!L.done;C++,L=y.next())L=p(N,h,C,L.value,x),L!==null&&(e&&L.alternate!==null&&N.delete(L.key===null?C:L.key),g=a(L,g,C),E===null?A=L:E.sibling=L,E=L);return e&&N.forEach(function(z){return t(h,z)}),bt&&la(h,C),A}function v(h,g,y,x){if(typeof y=="object"&&y!==null&&y.type===zl&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Ku:e:{for(var A=y.key;g!==null;){if(g.key===A){if(A=y.type,A===zl){if(g.tag===7){n(h,g.sibling),x=o(g,y.props.children),x.return=h,h=x;break e}}else if(g.elementType===A||typeof A=="object"&&A!==null&&A.$$typeof===Ua&&Ui(A)===g.type){n(h,g.sibling),x=o(g,y.props),ec(x,y),x.return=h,h=x;break e}n(h,g);break}else t(h,g);g=g.sibling}y.type===zl?(x=Fi(y.props.children,h.mode,x,y.key),x.return=h,h=x):(x=md(y.type,y.key,y.props,null,h.mode,x),ec(x,y),x.return=h,h=x)}return i(h);case ac:e:{for(A=y.key;g!==null;){if(g.key===A)if(g.tag===4&&g.stateNode.containerInfo===y.containerInfo&&g.stateNode.implementation===y.implementation){n(h,g.sibling),x=o(g,y.children||[]),x.return=h,h=x;break e}else{n(h,g);break}else t(h,g);g=g.sibling}x=Dp(y,h.mode,x),x.return=h,h=x}return i(h);case Ua:return y=Ui(y),v(h,g,y,x)}if(ic(y))return b(h,g,y,x);if(Js(y)){if(A=Js(y),typeof A!="function")throw Error(K(150));return y=A.call(y),m(h,g,y,x)}if(typeof y.then=="function")return v(h,g,ed(y),x);if(y.$$typeof===ca)return v(h,g,Zu(h,y),x);td(h,y)}return typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint"?(y=""+y,g!==null&&g.tag===6?(n(h,g.sibling),x=o(g,y),x.return=h,h=x):(n(h,g),x=Lp(y,h.mode,x),x.return=h,h=x),i(h)):n(h,g)}return function(h,g,y,x){try{Mc=0;var A=v(h,g,y,x);return Zl=null,A}catch(N){if(N===hs||N===af)throw N;var E=Rr(29,N,null,h.mode);return E.lanes=x,E.return=h,E}}}var Wi=j0(!0),V0=j0(!1),ja=!1;function hh(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ag(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ja(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Za(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(wt&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,t=Od(e),_0(e,null,n),t}return of(e,r,t,n),Od(e)}function pc(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,a0(e,n)}}function Ip(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var i={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?o=a=i:a=a.next=i,n=n.next}while(n!==null);a===null?o=a=t:a=a.next=t}else o=a=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Cg=!1;function gc(){if(Cg){var e=Jl;if(e!==null)throw e}}function hc(e,t,n,r){Cg=!1;var o=e.updateQueue;ja=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var s=l,c=s.next;s.next=null,i===null?a=c:i.next=c,i=s;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==i&&(l===null?d.firstBaseUpdate=c:l.next=c,d.lastBaseUpdate=s))}if(a!==null){var u=o.baseState;i=0,d=c=s=null,l=a;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(mt&f)===f:(r&f)===f){f!==0&&f===as&&(Cg=!0),d!==null&&(d=d.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var b=e,m=l;f=t;var v=n;switch(m.tag){case 1:if(b=m.payload,typeof b=="function"){u=b.call(v,u,f);break e}u=b;break e;case 3:b.flags=b.flags&-65537|128;case 0:if(b=m.payload,f=typeof b=="function"?b.call(v,u,f):b,f==null)break e;u=Gt({},u,f);break e;case 2:ja=!0}}f=l.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=o.callbacks,p===null?o.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(c=d=p,s=u):d=d.next=p,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;p=l,l=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);d===null&&(s=u),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=d,a===null&&(o.shared.lanes=0),si|=i,e.lanes=i,e.memoizedState=u}}function F0(e,t){if(typeof e!="function")throw Error(K(191,e));e.call(t)}function H0(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)F0(n[e],t)}var is=Lo(null),Dd=Lo(0);function Jv(e,t){e=va,jt(Dd,e),jt(is,t),va=e|t.baseLanes}function Rg(){jt(Dd,va),jt(is,is.current)}function yh(){va=Dd.current,zn(is),zn(Dd)}var _r=Lo(null),Yr=null;function Fa(e){var t=e.alternate;jt(hn,hn.current&1),jt(_r,e),Yr===null&&(t===null||is.current!==null||t.memoizedState!==null)&&(Yr=e)}function Eg(e){jt(hn,hn.current),jt(_r,e),Yr===null&&(Yr=e)}function $0(e){e.tag===22?(jt(hn,hn.current),jt(_r,e),Yr===null&&(Yr=e)):Ha(e)}function Ha(){jt(hn,hn.current),jt(_r,_r.current)}function Cr(e){zn(_r),Yr===e&&(Yr=null),zn(hn)}var hn=Lo(0);function Bd(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||Kg(n)||Gg(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ha=0,Qe=null,_t=null,xn=null,Id=!1,es=!1,Yi=!1,zd=0,Oc=0,ts=null,yk=0;function fn(){throw Error(K(321))}function bh(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!kr(e[n],t[n]))return!1;return!0}function vh(e,t,n,r,o,a){return ha=a,Qe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,je.H=e===null||e.memoizedState===null?SS:Oh,Yi=!1,a=n(r,o),Yi=!1,es&&(a=G0(t,n,r,o)),K0(e),a}function K0(e){je.H=kc;var t=_t!==null&&_t.next!==null;if(ha=0,xn=_t=Qe=null,Id=!1,Oc=0,ts=null,t)throw Error(K(300));e===null||An||(e=e.dependencies,e!==null&&_d(e)&&(An=!0))}function G0(e,t,n,r){Qe=e;var o=0;do{if(es&&(ts=null),Oc=0,es=!1,25<=o)throw Error(K(301));if(o+=1,xn=_t=null,e.updateQueue!=null){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}je.H=wS,a=t(n,r)}while(es);return a}function bk(){var e=je.H,t=e.useState()[0];return t=typeof t.then=="function"?$c(t):t,e=e.useState()[0],(_t!==null?_t.memoizedState:null)!==e&&(Qe.flags|=1024),t}function xh(){var e=zd!==0;return zd=0,e}function Sh(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function wh(e){if(Id){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Id=!1}ha=0,xn=_t=Qe=null,es=!1,Oc=zd=0,ts=null}function nr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return xn===null?Qe.memoizedState=xn=e:xn=xn.next=e,xn}function yn(){if(_t===null){var e=Qe.alternate;e=e!==null?e.memoizedState:null}else e=_t.next;var t=xn===null?Qe.memoizedState:xn.next;if(t!==null)xn=t,_t=e;else{if(e===null)throw Qe.alternate===null?Error(K(467)):Error(K(310));_t=e,e={memoizedState:_t.memoizedState,baseState:_t.baseState,baseQueue:_t.baseQueue,queue:_t.queue,next:null},xn===null?Qe.memoizedState=xn=e:xn=xn.next=e}return xn}function lf(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function $c(e){var t=Oc;return Oc+=1,ts===null&&(ts=[]),e=U0(ts,e,t),t=Qe,(xn===null?t.memoizedState:xn.next)===null&&(t=t.alternate,je.H=t===null||t.memoizedState===null?SS:Oh),e}function sf(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return $c(e);if(e.$$typeof===ca)return $n(e)}throw Error(K(438,String(e)))}function Ah(e){var t=null,n=Qe.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=Qe.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(o){return o.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=lf(),Qe.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=rO;return t.index++,n}function ya(e,t){return typeof t=="function"?t(e):t}function gd(e){var t=yn();return Ch(t,_t,e)}function Ch(e,t,n){var r=e.queue;if(r===null)throw Error(K(311));r.lastRenderedReducer=n;var o=e.baseQueue,a=r.pending;if(a!==null){if(o!==null){var i=o.next;o.next=a.next,a.next=i}t.baseQueue=o=a,r.pending=null}if(a=e.baseState,o===null)e.memoizedState=a;else{t=o.next;var l=i=null,s=null,c=t,d=!1;do{var u=c.lane&-536870913;if(u!==c.lane?(mt&u)===u:(ha&u)===u){var f=c.revertLane;if(f===0)s!==null&&(s=s.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),u===as&&(d=!0);else if((ha&f)===f){c=c.next,f===as&&(d=!0);continue}else u={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=u,i=a):s=s.next=u,Qe.lanes|=f,si|=f;u=c.action,Yi&&n(a,u),a=c.hasEagerState?c.eagerState:n(a,u)}else f={lane:u,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=f,i=a):s=s.next=f,Qe.lanes|=u,si|=u;c=c.next}while(c!==null&&c!==t);if(s===null?i=a:s.next=l,!kr(a,e.memoizedState)&&(An=!0,d&&(n=Jl,n!==null)))throw n;e.memoizedState=a,e.baseState=i,e.baseQueue=s,r.lastRenderedState=a}return o===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function zp(e){var t=yn(),n=t.queue;if(n===null)throw Error(K(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,a=t.memoizedState;if(o!==null){n.pending=null;var i=o=o.next;do a=e(a,i.action),i=i.next;while(i!==o);kr(a,t.memoizedState)||(An=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function q0(e,t,n){var r=Qe,o=yn(),a=bt;if(a){if(n===void 0)throw Error(K(407));n=n()}else n=t();var i=!kr((_t||o).memoizedState,n);if(i&&(o.memoizedState=n,An=!0),o=o.queue,Rh(Q0.bind(null,r,o,e),[e]),o.getSnapshot!==t||i||xn!==null&&xn.memoizedState.tag&1){if(r.flags|=2048,ls(9,{destroy:void 0},Y0.bind(null,r,o,n,t),null),Pt===null)throw Error(K(349));a||(ha&127)!==0||W0(r,t,n)}return n}function W0(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Qe.updateQueue,t===null?(t=lf(),Qe.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Y0(e,t,n,r){t.value=n,t.getSnapshot=r,X0(t)&&J0(e)}function Q0(e,t,n){return n(function(){X0(t)&&J0(e)})}function X0(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!kr(e,n)}catch{return!0}}function J0(e){var t=el(e,2);t!==null&&dr(t,e,2)}function Ng(e){var t=nr();if(typeof e=="function"){var n=e;if(e=n(),Yi){Ka(!0);try{n()}finally{Ka(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:e},t}function Z0(e,t,n,r){return e.baseState=n,Ch(e,_t,typeof r=="function"?r:ya)}function vk(e,t,n,r,o){if(uf(e))throw Error(K(485));if(e=t.action,e!==null){var a={payload:o,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(i){a.listeners.push(i)}};je.T!==null?n(!0):a.isTransition=!1,r(a),n=t.pending,n===null?(a.next=t.pending=a,eS(t,a)):(a.next=n.next,t.pending=n.next=a)}}function eS(e,t){var n=t.action,r=t.payload,o=e.state;if(t.isTransition){var a=je.T,i={};je.T=i;try{var l=n(o,r),s=je.S;s!==null&&s(i,l),Zv(e,t,l)}catch(c){Tg(e,t,c)}finally{a!==null&&i.types!==null&&(a.types=i.types),je.T=a}}else try{a=n(o,r),Zv(e,t,a)}catch(c){Tg(e,t,c)}}function Zv(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(r){ex(e,t,r)},function(r){return Tg(e,t,r)}):ex(e,t,n)}function ex(e,t,n){t.status="fulfilled",t.value=n,tS(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,eS(e,n)))}function Tg(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=n,tS(t),t=t.next;while(t!==r)}e.action=null}function tS(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function nS(e,t){return t}function tx(e,t){if(bt){var n=Pt.formState;if(n!==null){e:{var r=Qe;if(bt){if(Kt){t:{for(var o=Kt,a=Wr;o.nodeType!==8;){if(!a){o=null;break t}if(o=Qr(o.nextSibling),o===null){o=null;break t}}a=o.data,o=a==="F!"||a==="F"?o:null}if(o){Kt=Qr(o.nextSibling),r=o.data==="F!";break e}}ii(r)}r=!1}r&&(t=n[0])}}return n=nr(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:nS,lastRenderedState:t},n.queue=r,n=bS.bind(null,Qe,r),r.dispatch=n,r=Ng(!1),a=Mh.bind(null,Qe,!1,r.queue),r=nr(),o={state:t,dispatch:null,action:e,pending:null},r.queue=o,n=vk.bind(null,Qe,o,a,n),o.dispatch=n,r.memoizedState=e,[t,n,!1]}function nx(e){var t=yn();return rS(t,_t,e)}function rS(e,t,n){if(t=Ch(e,t,nS)[0],e=gd(ya)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=$c(t)}catch(i){throw i===hs?af:i}else r=t;t=yn();var o=t.queue,a=o.dispatch;return n!==t.memoizedState&&(Qe.flags|=2048,ls(9,{destroy:void 0},xk.bind(null,o,n),null)),[r,a,e]}function xk(e,t){e.action=t}function rx(e){var t=yn(),n=_t;if(n!==null)return rS(t,n,e);yn(),t=t.memoizedState,n=yn();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ls(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=Qe.updateQueue,t===null&&(t=lf(),Qe.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function oS(){return yn().memoizedState}function hd(e,t,n,r){var o=nr();Qe.flags|=e,o.memoizedState=ls(1|t,{destroy:void 0},n,r===void 0?null:r)}function cf(e,t,n,r){var o=yn();r=r===void 0?null:r;var a=o.memoizedState.inst;_t!==null&&r!==null&&bh(r,_t.memoizedState.deps)?o.memoizedState=ls(t,a,n,r):(Qe.flags|=e,o.memoizedState=ls(1|t,a,n,r))}function ox(e,t){hd(8390656,8,e,t)}function Rh(e,t){cf(2048,8,e,t)}function Sk(e){Qe.flags|=4;var t=Qe.updateQueue;if(t===null)t=lf(),Qe.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function aS(e){var t=yn().memoizedState;return Sk({ref:t,nextImpl:e}),function(){if((wt&2)!==0)throw Error(K(440));return t.impl.apply(void 0,arguments)}}function iS(e,t){return cf(4,2,e,t)}function lS(e,t){return cf(4,4,e,t)}function sS(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function cS(e,t,n){n=n!=null?n.concat([e]):null,cf(4,4,sS.bind(null,t,e),n)}function Eh(){}function uS(e,t){var n=yn();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&bh(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function dS(e,t){var n=yn();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&bh(t,r[1]))return r[0];if(r=e(),Yi){Ka(!0);try{e()}finally{Ka(!1)}}return n.memoizedState=[r,t],r}function Nh(e,t,n){return n===void 0||(ha&1073741824)!==0&&(mt&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=ZS(),Qe.lanes|=e,si|=e,n)}function fS(e,t,n,r){return kr(n,t)?n:is.current!==null?(e=Nh(e,n,r),kr(e,t)||(An=!0),e):(ha&42)===0||(ha&1073741824)!==0&&(mt&261930)===0?(An=!0,e.memoizedState=n):(e=ZS(),Qe.lanes|=e,si|=e,t)}function mS(e,t,n,r,o){var a=At.p;At.p=a!==0&&8>a?a:8;var i=je.T,l={};je.T=l,Mh(e,!1,t,n);try{var s=o(),c=je.S;if(c!==null&&c(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var d=hk(s,r);yc(e,t,d,Or(e))}else yc(e,t,r,Or(e))}catch(u){yc(e,t,{then:function(){},status:"rejected",reason:u},Or())}finally{At.p=a,i!==null&&l.types!==null&&(i.types=l.types),je.T=i}}function wk(){}function Mg(e,t,n,r){if(e.tag!==5)throw Error(K(476));var o=pS(e).queue;mS(e,o,t,Vi,n===null?wk:function(){return gS(e),n(r)})}function pS(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Vi,baseState:Vi,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:Vi},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function gS(e){var t=pS(e);t.next===null&&(t=e.alternate.memoizedState),yc(e,t.next.queue,{},Or())}function Th(){return $n(Dc)}function hS(){return yn().memoizedState}function yS(){return yn().memoizedState}function Ak(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Or();e=Ja(n);var r=Za(t,e,n);r!==null&&(dr(r,t,n),pc(r,t,n)),t={cache:mh()},e.payload=t;return}t=t.return}}function Ck(e,t,n){var r=Or();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},uf(e)?vS(t,n):(n=ch(e,t,n,r),n!==null&&(dr(n,e,r),xS(n,t,r)))}function bS(e,t,n){var r=Or();yc(e,t,n,r)}function yc(e,t,n,r){var o={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(uf(e))vS(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,l=a(i,n);if(o.hasEagerState=!0,o.eagerState=l,kr(l,i))return of(e,t,o,0),Pt===null&&rf(),!1}catch{}if(n=ch(e,t,o,r),n!==null)return dr(n,e,r),xS(n,t,r),!0}return!1}function Mh(e,t,n,r){if(r={lane:2,revertLane:Ph(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},uf(e)){if(t)throw Error(K(479))}else t=ch(e,n,r,2),t!==null&&dr(t,e,2)}function uf(e){var t=e.alternate;return e===Qe||t!==null&&t===Qe}function vS(e,t){es=Id=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function xS(e,t,n){if((n&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,a0(e,n)}}var kc={readContext:$n,use:sf,useCallback:fn,useContext:fn,useEffect:fn,useImperativeHandle:fn,useLayoutEffect:fn,useInsertionEffect:fn,useMemo:fn,useReducer:fn,useRef:fn,useState:fn,useDebugValue:fn,useDeferredValue:fn,useTransition:fn,useSyncExternalStore:fn,useId:fn,useHostTransitionStatus:fn,useFormState:fn,useActionState:fn,useOptimistic:fn,useMemoCache:fn,useCacheRefresh:fn};kc.useEffectEvent=fn;var SS={readContext:$n,use:sf,useCallback:function(e,t){return nr().memoizedState=[e,t===void 0?null:t],e},useContext:$n,useEffect:ox,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,hd(4194308,4,sS.bind(null,t,e),n)},useLayoutEffect:function(e,t){return hd(4194308,4,e,t)},useInsertionEffect:function(e,t){hd(4,2,e,t)},useMemo:function(e,t){var n=nr();t=t===void 0?null:t;var r=e();if(Yi){Ka(!0);try{e()}finally{Ka(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=nr();if(n!==void 0){var o=n(t);if(Yi){Ka(!0);try{n(t)}finally{Ka(!1)}}}else o=t;return r.memoizedState=r.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},r.queue=e,e=e.dispatch=Ck.bind(null,Qe,e),[r.memoizedState,e]},useRef:function(e){var t=nr();return e={current:e},t.memoizedState=e},useState:function(e){e=Ng(e);var t=e.queue,n=bS.bind(null,Qe,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Eh,useDeferredValue:function(e,t){var n=nr();return Nh(n,e,t)},useTransition:function(){var e=Ng(!1);return e=mS.bind(null,Qe,e.queue,!0,!1),nr().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=Qe,o=nr();if(bt){if(n===void 0)throw Error(K(407));n=n()}else{if(n=t(),Pt===null)throw Error(K(349));(mt&127)!==0||W0(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,ox(Q0.bind(null,r,a,e),[e]),r.flags|=2048,ls(9,{destroy:void 0},Y0.bind(null,r,a,n,t),null),n},useId:function(){var e=nr(),t=Pt.identifierPrefix;if(bt){var n=Oo,r=Mo;n=(r&~(1<<32-Mr(r)-1)).toString(32)+n,t="_"+t+"R_"+n,n=zd++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=yk++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Th,useFormState:tx,useActionState:tx,useOptimistic:function(e){var t=nr();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Mh.bind(null,Qe,!0,n),n.dispatch=t,[e,t]},useMemoCache:Ah,useCacheRefresh:function(){return nr().memoizedState=Ak.bind(null,Qe)},useEffectEvent:function(e){var t=nr(),n={impl:e};return t.memoizedState=n,function(){if((wt&2)!==0)throw Error(K(440));return n.impl.apply(void 0,arguments)}}},Oh={readContext:$n,use:sf,useCallback:uS,useContext:$n,useEffect:Rh,useImperativeHandle:cS,useInsertionEffect:iS,useLayoutEffect:lS,useMemo:dS,useReducer:gd,useRef:oS,useState:function(){return gd(ya)},useDebugValue:Eh,useDeferredValue:function(e,t){var n=yn();return fS(n,_t.memoizedState,e,t)},useTransition:function(){var e=gd(ya)[0],t=yn().memoizedState;return[typeof e=="boolean"?e:$c(e),t]},useSyncExternalStore:q0,useId:hS,useHostTransitionStatus:Th,useFormState:nx,useActionState:nx,useOptimistic:function(e,t){var n=yn();return Z0(n,_t,e,t)},useMemoCache:Ah,useCacheRefresh:yS};Oh.useEffectEvent=aS;var wS={readContext:$n,use:sf,useCallback:uS,useContext:$n,useEffect:Rh,useImperativeHandle:cS,useInsertionEffect:iS,useLayoutEffect:lS,useMemo:dS,useReducer:zp,useRef:oS,useState:function(){return zp(ya)},useDebugValue:Eh,useDeferredValue:function(e,t){var n=yn();return _t===null?Nh(n,e,t):fS(n,_t.memoizedState,e,t)},useTransition:function(){var e=zp(ya)[0],t=yn().memoizedState;return[typeof e=="boolean"?e:$c(e),t]},useSyncExternalStore:q0,useId:hS,useHostTransitionStatus:Th,useFormState:rx,useActionState:rx,useOptimistic:function(e,t){var n=yn();return _t!==null?Z0(n,_t,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Ah,useCacheRefresh:yS};wS.useEffectEvent=aS;function Pp(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Gt({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Og={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Or(),o=Ja(r);o.payload=t,n!=null&&(o.callback=n),t=Za(e,o,r),t!==null&&(dr(t,e,r),pc(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Or(),o=Ja(r);o.tag=1,o.payload=t,n!=null&&(o.callback=n),t=Za(e,o,r),t!==null&&(dr(t,e,r),pc(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Or(),r=Ja(n);r.tag=2,t!=null&&(r.callback=t),t=Za(e,r,n),t!==null&&(dr(t,e,n),pc(t,e,n))}};function ax(e,t,n,r,o,a,i){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,a,i):t.prototype&&t.prototype.isPureReactComponent?!Ec(n,r)||!Ec(o,a):!0}function ix(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Og.enqueueReplaceState(t,t.state,null)}function Qi(e,t){var n=t;if("ref"in t){n={};for(var r in t)r!=="ref"&&(n[r]=t[r])}if(e=e.defaultProps){n===t&&(n=Gt({},n));for(var o in e)n[o]===void 0&&(n[o]=e[o])}return n}function AS(e){Md(e)}function CS(e){console.error(e)}function RS(e){Md(e)}function Pd(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function lx(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(o){setTimeout(function(){throw o})}}function kg(e,t,n){return n=Ja(n),n.tag=3,n.payload={element:null},n.callback=function(){Pd(e,t)},n}function ES(e){return e=Ja(e),e.tag=3,e}function NS(e,t,n,r){var o=n.type.getDerivedStateFromError;if(typeof o=="function"){var a=r.value;e.payload=function(){return o(a)},e.callback=function(){lx(t,n,r)}}var i=n.stateNode;i!==null&&typeof i.componentDidCatch=="function"&&(e.callback=function(){lx(t,n,r),typeof o!="function"&&(ei===null?ei=new Set([this]):ei.add(this));var l=r.stack;this.componentDidCatch(r.value,{componentStack:l!==null?l:""})})}function Rk(e,t,n,r,o){if(n.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=n.alternate,t!==null&&gs(t,n,o,!0),n=_r.current,n!==null){switch(n.tag){case 31:case 13:return Yr===null?Hd():n.alternate===null&&mn===0&&(mn=3),n.flags&=-257,n.flags|=65536,n.lanes=o,r===Ld?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Yp(e,r,o)),!1;case 22:return n.flags|=65536,r===Ld?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Yp(e,r,o)),!1}throw Error(K(435,n.tag))}return Yp(e,r,o),Hd(),!1}if(bt)return t=_r.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,r!==bg&&(e=Error(K(422),{cause:r}),Tc(qr(e,n)))):(r!==bg&&(t=Error(K(423),{cause:r}),Tc(qr(t,n))),e=e.current.alternate,e.flags|=65536,o&=-o,e.lanes|=o,r=qr(r,n),o=kg(e.stateNode,r,o),Ip(e,o),mn!==4&&(mn=2)),!1;var a=Error(K(520),{cause:r});if(a=qr(a,n),xc===null?xc=[a]:xc.push(a),mn!==4&&(mn=2),t===null)return!0;r=qr(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=o&-o,n.lanes|=e,e=kg(n.stateNode,r,e),Ip(n,e),!1;case 1:if(t=n.type,a=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||a!==null&&typeof a.componentDidCatch=="function"&&(ei===null||!ei.has(a))))return n.flags|=65536,o&=-o,n.lanes|=o,o=ES(o),NS(o,e,n,r),Ip(n,o),!1}n=n.return}while(n!==null);return!1}var kh=Error(K(461)),An=!1;function Vn(e,t,n,r){t.child=e===null?V0(t,null,n,r):Wi(t,e.child,n,r)}function sx(e,t,n,r,o){n=n.render;var a=t.ref;if("ref"in r){var i={};for(var l in r)l!=="ref"&&(i[l]=r[l])}else i=r;return qi(t),r=vh(e,t,n,i,a,o),l=xh(),e!==null&&!An?(Sh(e,t,o),ba(e,t,o)):(bt&&l&&dh(t),t.flags|=1,Vn(e,t,r,o),t.child)}function cx(e,t,n,r,o){if(e===null){var a=n.type;return typeof a=="function"&&!uh(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,TS(e,t,a,r,o)):(e=md(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!_h(e,o)){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:Ec,n(i,r)&&e.ref===t.ref)return ba(e,t,o)}return t.flags|=1,e=fa(a,r),e.ref=t.ref,e.return=t,t.child=e}function TS(e,t,n,r,o){if(e!==null){var a=e.memoizedProps;if(Ec(a,r)&&e.ref===t.ref)if(An=!1,t.pendingProps=r=a,_h(e,o))(e.flags&131072)!==0&&(An=!0);else return t.lanes=e.lanes,ba(e,t,o)}return _g(e,t,n,r,o)}function MS(e,t,n,r){var o=r.children,a=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((t.flags&128)!==0){if(a=a!==null?a.baseLanes|n:n,e!==null){for(r=t.child=e.child,o=0;r!==null;)o=o|r.lanes|r.childLanes,r=r.sibling;r=o&~a}else r=0,t.child=null;return ux(e,t,a,n,r)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&pd(t,a!==null?a.cachePool:null),a!==null?Jv(t,a):Rg(),$0(t);else return r=t.lanes=536870912,ux(e,t,a!==null?a.baseLanes|n:n,n,r)}else a!==null?(pd(t,a.cachePool),Jv(t,a),Ha(t),t.memoizedState=null):(e!==null&&pd(t,null),Rg(),Ha(t));return Vn(e,t,o,n),t.child}function sc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function ux(e,t,n,r,o){var a=ph();return a=a===null?null:{parent:wn._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&pd(t,null),Rg(),$0(t),e!==null&&gs(e,t,r,!0),t.childLanes=o,null}function yd(e,t){return t=Ud({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function dx(e,t,n){return Wi(t,e.child,null,n),e=yd(t,t.pendingProps),e.flags|=2,Cr(t),t.memoizedState=null,e}function Ek(e,t,n){var r=t.pendingProps,o=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(bt){if(r.mode==="hidden")return e=yd(t,r),t.lanes=536870912,sc(null,e);if(Eg(t),(e=Kt)?(e=Sw(e,Wr),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ai!==null?{id:Mo,overflow:Oo}:null,retryLane:536870912,hydrationErrors:null},n=D0(e),n.return=t,t.child=n,Hn=t,Kt=null)):e=null,e===null)throw ii(t);return t.lanes=536870912,null}return yd(t,r)}var a=e.memoizedState;if(a!==null){var i=a.dehydrated;if(Eg(t),o)if(t.flags&256)t.flags&=-257,t=dx(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(K(558));else if(An||gs(e,t,n,!1),o=(n&e.childLanes)!==0,An||o){if(r=Pt,r!==null&&(i=i0(r,n),i!==0&&i!==a.retryLane))throw a.retryLane=i,el(e,i),dr(r,e,i),kh;Hd(),t=dx(e,t,n)}else e=a.treeContext,Kt=Qr(i.nextSibling),Hn=t,bt=!0,Xa=null,Wr=!1,e!==null&&I0(t,e),t=yd(t,r),t.flags|=4096;return t}return e=fa(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function bd(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(K(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function _g(e,t,n,r,o){return qi(t),n=vh(e,t,n,r,void 0,o),r=xh(),e!==null&&!An?(Sh(e,t,o),ba(e,t,o)):(bt&&r&&dh(t),t.flags|=1,Vn(e,t,n,o),t.child)}function fx(e,t,n,r,o,a){return qi(t),t.updateQueue=null,n=G0(t,r,n,o),K0(e),r=xh(),e!==null&&!An?(Sh(e,t,a),ba(e,t,a)):(bt&&r&&dh(t),t.flags|=1,Vn(e,t,n,a),t.child)}function mx(e,t,n,r,o){if(qi(t),t.stateNode===null){var a=Kl,i=n.contextType;typeof i=="object"&&i!==null&&(a=$n(i)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Og,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},hh(t),i=n.contextType,a.context=typeof i=="object"&&i!==null?$n(i):Kl,a.state=t.memoizedState,i=n.getDerivedStateFromProps,typeof i=="function"&&(Pp(t,n,i,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(i=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),i!==a.state&&Og.enqueueReplaceState(a,a.state,null),hc(t,r,a,o),gc(),a.state=t.memoizedState),typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var l=t.memoizedProps,s=Qi(n,l);a.props=s;var c=a.context,d=n.contextType;i=Kl,typeof d=="object"&&d!==null&&(i=$n(d));var u=n.getDerivedStateFromProps;d=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function",l=t.pendingProps!==l,d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l||c!==i)&&ix(t,a,r,i),ja=!1;var f=t.memoizedState;a.state=f,hc(t,r,a,o),gc(),c=t.memoizedState,l||f!==c||ja?(typeof u=="function"&&(Pp(t,n,u,r),c=t.memoizedState),(s=ja||ax(t,n,s,r,f,c,i))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),a.props=r,a.state=c,a.context=i,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Ag(e,t),i=t.memoizedProps,d=Qi(n,i),a.props=d,u=t.pendingProps,f=a.context,c=n.contextType,s=Kl,typeof c=="object"&&c!==null&&(s=$n(c)),l=n.getDerivedStateFromProps,(c=typeof l=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(i!==u||f!==s)&&ix(t,a,r,s),ja=!1,f=t.memoizedState,a.state=f,hc(t,r,a,o),gc();var p=t.memoizedState;i!==u||f!==p||ja||e!==null&&e.dependencies!==null&&_d(e.dependencies)?(typeof l=="function"&&(Pp(t,n,l,r),p=t.memoizedState),(d=ja||ax(t,n,d,r,f,p,s)||e!==null&&e.dependencies!==null&&_d(e.dependencies))?(c||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,p,s),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,p,s)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=s,r=d):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,bd(e,t),r=(t.flags&128)!==0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!="function"?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Wi(t,e.child,null,o),t.child=Wi(t,null,n,o)):Vn(e,t,n,o),t.memoizedState=a.state,e=t.child):e=ba(e,t,o),e}function px(e,t,n,r){return Gi(),t.flags|=256,Vn(e,t,n,r),t.child}var Up={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function jp(e){return{baseLanes:e,cachePool:P0()}}function Vp(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Er),e}function OS(e,t,n){var r=t.pendingProps,o=!1,a=(t.flags&128)!==0,i;if((i=a)||(i=e!==null&&e.memoizedState===null?!1:(hn.current&2)!==0),i&&(o=!0,t.flags&=-129),i=(t.flags&32)!==0,t.flags&=-33,e===null){if(bt){if(o?Fa(t):Ha(t),(e=Kt)?(e=Sw(e,Wr),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ai!==null?{id:Mo,overflow:Oo}:null,retryLane:536870912,hydrationErrors:null},n=D0(e),n.return=t,t.child=n,Hn=t,Kt=null)):e=null,e===null)throw ii(t);return Gg(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,o?(Ha(t),o=t.mode,l=Ud({mode:"hidden",children:l},o),r=Fi(r,o,n,null),l.return=t,r.return=t,l.sibling=r,t.child=l,r=t.child,r.memoizedState=jp(n),r.childLanes=Vp(e,i,n),t.memoizedState=Up,sc(null,r)):(Fa(t),Lg(t,l))}var s=e.memoizedState;if(s!==null&&(l=s.dehydrated,l!==null)){if(a)t.flags&256?(Fa(t),t.flags&=-257,t=Fp(e,t,n)):t.memoizedState!==null?(Ha(t),t.child=e.child,t.flags|=128,t=null):(Ha(t),l=r.fallback,o=t.mode,r=Ud({mode:"visible",children:r.children},o),l=Fi(l,o,n,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,Wi(t,e.child,null,n),r=t.child,r.memoizedState=jp(n),r.childLanes=Vp(e,i,n),t.memoizedState=Up,t=sc(null,r));else if(Fa(t),Gg(l)){if(i=l.nextSibling&&l.nextSibling.dataset,i)var c=i.dgst;i=c,r=Error(K(419)),r.stack="",r.digest=i,Tc({value:r,source:null,stack:null}),t=Fp(e,t,n)}else if(An||gs(e,t,n,!1),i=(n&e.childLanes)!==0,An||i){if(i=Pt,i!==null&&(r=i0(i,n),r!==0&&r!==s.retryLane))throw s.retryLane=r,el(e,r),dr(i,e,r),kh;Kg(l)||Hd(),t=Fp(e,t,n)}else Kg(l)?(t.flags|=192,t.child=e.child,t=null):(e=s.treeContext,Kt=Qr(l.nextSibling),Hn=t,bt=!0,Xa=null,Wr=!1,e!==null&&I0(t,e),t=Lg(t,r.children),t.flags|=4096);return t}return o?(Ha(t),l=r.fallback,o=t.mode,s=e.child,c=s.sibling,r=fa(s,{mode:"hidden",children:r.children}),r.subtreeFlags=s.subtreeFlags&65011712,c!==null?l=fa(c,l):(l=Fi(l,o,n,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,sc(null,r),r=t.child,l=e.child.memoizedState,l===null?l=jp(n):(o=l.cachePool,o!==null?(s=wn._currentValue,o=o.parent!==s?{parent:s,pool:s}:o):o=P0(),l={baseLanes:l.baseLanes|n,cachePool:o}),r.memoizedState=l,r.childLanes=Vp(e,i,n),t.memoizedState=Up,sc(e.child,r)):(Fa(t),n=e.child,e=n.sibling,n=fa(n,{mode:"visible",children:r.children}),n.return=t,n.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=n,t.memoizedState=null,n)}function Lg(e,t){return t=Ud({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Ud(e,t){return e=Rr(22,e,null,t),e.lanes=0,e}function Fp(e,t,n){return Wi(t,e.child,null,n),e=Lg(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function gx(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),xg(e.return,t,n)}function Hp(e,t,n,r,o,a){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o,treeForkCount:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=o,i.treeForkCount=a)}function kS(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;r=r.children;var i=hn.current,l=(i&2)!==0;if(l?(i=i&1|2,t.flags|=128):i&=1,jt(hn,i),Vn(e,t,r,n),r=bt?Nc:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&gx(e,n,t);else if(e.tag===19)gx(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(o){case"forwards":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&Bd(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Hp(t,!1,o,n,a,r);break;case"backwards":case"unstable_legacy-backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Bd(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Hp(t,!0,n,null,a,r);break;case"together":Hp(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function ba(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),si|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(gs(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(K(153));if(t.child!==null){for(e=t.child,n=fa(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=fa(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function _h(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&_d(e)))}function Nk(e,t,n){switch(t.tag){case 3:Rd(t,t.stateNode.containerInfo),Va(t,wn,e.memoizedState.cache),Gi();break;case 27:case 5:lg(t);break;case 4:Rd(t,t.stateNode.containerInfo);break;case 10:Va(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Eg(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(Fa(t),t.flags|=128,null):(n&t.child.childLanes)!==0?OS(e,t,n):(Fa(t),e=ba(e,t,n),e!==null?e.sibling:null);Fa(t);break;case 19:var o=(e.flags&128)!==0;if(r=(n&t.childLanes)!==0,r||(gs(e,t,n,!1),r=(n&t.childLanes)!==0),o){if(r)return kS(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),jt(hn,hn.current),r)break;return null;case 22:return t.lanes=0,MS(e,t,n,t.pendingProps);case 24:Va(t,wn,e.memoizedState.cache)}return ba(e,t,n)}function _S(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)An=!0;else{if(!_h(e,n)&&(t.flags&128)===0)return An=!1,Nk(e,t,n);An=(e.flags&131072)!==0}else An=!1,bt&&(t.flags&1048576)!==0&&B0(t,Nc,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=Ui(t.elementType),t.type=e,typeof e=="function")uh(e)?(r=Qi(e,r),t.tag=1,t=mx(null,t,e,r,n)):(t.tag=0,t=_g(null,t,e,r,n));else{if(e!=null){var o=e.$$typeof;if(o===Qg){t.tag=11,t=sx(null,t,e,r,n);break e}else if(o===Xg){t.tag=14,t=cx(null,t,e,r,n);break e}}throw t=ag(e)||e,Error(K(306,t,""))}}return t;case 0:return _g(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,o=Qi(r,t.pendingProps),mx(e,t,r,o,n);case 3:e:{if(Rd(t,t.stateNode.containerInfo),e===null)throw Error(K(387));r=t.pendingProps;var a=t.memoizedState;o=a.element,Ag(e,t),hc(t,r,null,n);var i=t.memoizedState;if(r=i.cache,Va(t,wn,r),r!==a.cache&&Sg(t,[wn],n,!0),gc(),r=i.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=px(e,t,r,n);break e}else if(r!==o){o=qr(Error(K(424)),t),Tc(o),t=px(e,t,r,n);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Kt=Qr(e.firstChild),Hn=t,bt=!0,Xa=null,Wr=!0,n=V0(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Gi(),r===o){t=ba(e,t,n);break e}Vn(e,t,r,n)}t=t.child}return t;case 26:return bd(e,t),e===null?(n=zx(t.type,null,t.pendingProps,null))?t.memoizedState=n:bt||(n=t.type,e=t.pendingProps,r=qd(Qa.current).createElement(n),r[Fn]=t,r[fr]=e,Kn(r,n,e),In(r),t.stateNode=r):t.memoizedState=zx(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return lg(t),e===null&&bt&&(r=t.stateNode=ww(t.type,t.pendingProps,Qa.current),Hn=t,Wr=!0,o=Kt,ui(t.type)?(qg=o,Kt=Qr(r.firstChild)):Kt=o),Vn(e,t,t.pendingProps.children,n),bd(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&bt&&((o=r=Kt)&&(r=t_(r,t.type,t.pendingProps,Wr),r!==null?(t.stateNode=r,Hn=t,Kt=Qr(r.firstChild),Wr=!1,o=!0):o=!1),o||ii(t)),lg(t),o=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,r=a.children,Hg(o,a)?r=null:i!==null&&Hg(o,i)&&(t.flags|=32),t.memoizedState!==null&&(o=vh(e,t,bk,null,null,n),Dc._currentValue=o),bd(e,t),Vn(e,t,r,n),t.child;case 6:return e===null&&bt&&((e=n=Kt)&&(n=n_(n,t.pendingProps,Wr),n!==null?(t.stateNode=n,Hn=t,Kt=null,e=!0):e=!1),e||ii(t)),null;case 13:return OS(e,t,n);case 4:return Rd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Wi(t,null,r,n):Vn(e,t,r,n),t.child;case 11:return sx(e,t,t.type,t.pendingProps,n);case 7:return Vn(e,t,t.pendingProps,n),t.child;case 8:return Vn(e,t,t.pendingProps.children,n),t.child;case 12:return Vn(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Va(t,t.type,r.value),Vn(e,t,r.children,n),t.child;case 9:return o=t.type._context,r=t.pendingProps.children,qi(t),o=$n(o),r=r(o),t.flags|=1,Vn(e,t,r,n),t.child;case 14:return cx(e,t,t.type,t.pendingProps,n);case 15:return TS(e,t,t.type,t.pendingProps,n);case 19:return kS(e,t,n);case 31:return Ek(e,t,n);case 22:return MS(e,t,n,t.pendingProps);case 24:return qi(t),r=$n(wn),e===null?(o=ph(),o===null&&(o=Pt,a=mh(),o.pooledCache=a,a.refCount++,a!==null&&(o.pooledCacheLanes|=n),o=a),t.memoizedState={parent:r,cache:o},hh(t),Va(t,wn,o)):((e.lanes&n)!==0&&(Ag(e,t),hc(t,null,null,n),gc()),o=e.memoizedState,a=t.memoizedState,o.parent!==r?(o={parent:r,cache:r},t.memoizedState=o,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=o),Va(t,wn,r)):(r=a.cache,Va(t,wn,r),r!==o.cache&&Sg(t,[wn],n,!0))),Vn(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(K(156,t.tag))}function ra(e){e.flags|=4}function $p(e,t,n,r,o){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(o&335544128)===o)if(e.stateNode.complete)e.flags|=8192;else if(nw())e.flags|=8192;else throw $i=Ld,gh}else e.flags&=-16777217}function hx(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Rw(t))if(nw())e.flags|=8192;else throw $i=Ld,gh}function nd(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?r0():536870912,e.lanes|=t,ss|=t)}function tc(e,t){if(!bt)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function $t(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags&65011712,r|=o.flags&65011712,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Tk(e,t,n){var r=t.pendingProps;switch(fh(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $t(t),null;case 1:return $t(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ma(wn),ns(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ll(t)?ra(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Bp())),$t(t),null;case 26:var o=t.type,a=t.memoizedState;return e===null?(ra(t),a!==null?($t(t),hx(t,a)):($t(t),$p(t,o,null,r,n))):a?a!==e.memoizedState?(ra(t),$t(t),hx(t,a)):($t(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&ra(t),$t(t),$p(t,o,e,r,n)),null;case 27:if(Ed(t),n=Qa.current,o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return $t(t),null}e=_o.current,Ll(t)?Kv(t,e):(e=ww(o,r,n),t.stateNode=e,ra(t))}return $t(t),null;case 5:if(Ed(t),o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return $t(t),null}if(a=_o.current,Ll(t))Kv(t,a);else{var i=qd(Qa.current);switch(a){case 1:a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case 2:a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;default:switch(o){case"svg":a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case"math":a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;case"script":a=i.createElement("div"),a.innerHTML="<script><\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof r.is=="string"?i.createElement("select",{is:r.is}):i.createElement("select"),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is=="string"?i.createElement(o,{is:r.is}):i.createElement(o)}}a[Fn]=t,a[fr]=r;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)a.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=a;e:switch(Kn(a,o,r),o){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&ra(t)}}return $t(t),$p(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(K(166));if(e=Qa.current,Ll(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,o=Hn,o!==null)switch(o.tag){case 27:case 5:r=o.memoizedProps}e[Fn]=t,e=!!(e.nodeValue===n||r!==null&&r.suppressHydrationWarning===!0||bw(e.nodeValue,n)),e||ii(t,!0)}else e=qd(e).createTextNode(r),e[Fn]=t,t.stateNode=e}return $t(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ll(t),n!==null){if(e===null){if(!r)throw Error(K(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(557));e[Fn]=t}else Gi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$t(t),e=!1}else n=Bp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Cr(t),t):(Cr(t),null);if((t.flags&128)!==0)throw Error(K(558))}return $t(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Ll(t),r!==null&&r.dehydrated!==null){if(e===null){if(!o)throw Error(K(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(K(317));o[Fn]=t}else Gi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$t(t),o=!1}else o=Bp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(Cr(t),t):(Cr(t),null)}return Cr(t),(t.flags&128)!==0?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,o=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(o=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==o&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),nd(t,t.updateQueue),$t(t),null);case 4:return ns(),e===null&&Uh(t.stateNode.containerInfo),$t(t),null;case 10:return ma(t.type),$t(t),null;case 19:if(zn(hn),r=t.memoizedState,r===null)return $t(t),null;if(o=(t.flags&128)!==0,a=r.rendering,a===null)if(o)tc(r,!1);else{if(mn!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(a=Bd(e),a!==null){for(t.flags|=128,tc(r,!1),e=a.updateQueue,t.updateQueue=e,nd(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)L0(n,e),n=n.sibling;return jt(hn,hn.current&1|2),bt&&la(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Nr()>Vd&&(t.flags|=128,o=!0,tc(r,!1),t.lanes=4194304)}else{if(!o)if(e=Bd(a),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,nd(t,e),tc(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!bt)return $t(t),null}else 2*Nr()-r.renderingStartTime>Vd&&n!==536870912&&(t.flags|=128,o=!0,tc(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e!==null?e.sibling=a:t.child=a,r.last=a)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Nr(),e.sibling=null,n=hn.current,jt(hn,o?n&1|2:n&1),bt&&la(t,r.treeForkCount),e):($t(t),null);case 22:case 23:return Cr(t),yh(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(n&536870912)!==0&&(t.flags&128)===0&&($t(t),t.subtreeFlags&6&&(t.flags|=8192)):$t(t),n=t.updateQueue,n!==null&&nd(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&zn(Hi),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ma(wn),$t(t),null;case 25:return null;case 30:return null}throw Error(K(156,t.tag))}function Mk(e,t){switch(fh(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ma(wn),ns(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ed(t),null;case 31:if(t.memoizedState!==null){if(Cr(t),t.alternate===null)throw Error(K(340));Gi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Cr(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(K(340));Gi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return zn(hn),null;case 4:return ns(),null;case 10:return ma(t.type),null;case 22:case 23:return Cr(t),yh(),e!==null&&zn(Hi),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ma(wn),null;case 25:return null;default:return null}}function LS(e,t){switch(fh(t),t.tag){case 3:ma(wn),ns();break;case 26:case 27:case 5:Ed(t);break;case 4:ns();break;case 31:t.memoizedState!==null&&Cr(t);break;case 13:Cr(t);break;case 19:zn(hn);break;case 10:ma(t.type);break;case 22:case 23:Cr(t),yh(),e!==null&&zn(Hi);break;case 24:ma(wn)}}function Kc(e,t){try{var n=t.updateQueue,r=n!==null?n.lastEffect:null;if(r!==null){var o=r.next;n=o;do{if((n.tag&e)===e){r=void 0;var a=n.create,i=n.inst;r=a(),i.destroy=r}n=n.next}while(n!==o)}}catch(l){Nt(t,t.return,l)}}function li(e,t,n){try{var r=t.updateQueue,o=r!==null?r.lastEffect:null;if(o!==null){var a=o.next;r=a;do{if((r.tag&e)===e){var i=r.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,o=t;var s=n,c=l;try{c()}catch(d){Nt(o,s,d)}}}r=r.next}while(r!==a)}}catch(d){Nt(t,t.return,d)}}function DS(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{H0(t,n)}catch(r){Nt(e,e.return,r)}}}function BS(e,t,n){n.props=Qi(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){Nt(e,t,r)}}function bc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n=="function"?e.refCleanup=n(r):n.current=r}}catch(o){Nt(e,t,o)}}function ko(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r=="function")try{r()}catch(o){Nt(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(o){Nt(e,t,o)}else n.current=null}function IS(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break e;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(o){Nt(e,e.return,o)}}function Kp(e,t,n){try{var r=e.stateNode;Yk(r,e.type,n,t),r[fr]=t}catch(o){Nt(e,e.return,o)}}function zS(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ui(e.type)||e.tag===4}function Gp(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||zS(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ui(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Dg(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ua));else if(r!==4&&(r===27&&ui(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Dg(e,t,n),e=e.sibling;e!==null;)Dg(e,t,n),e=e.sibling}function jd(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&ui(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(jd(e,t,n),e=e.sibling;e!==null;)jd(e,t,n),e=e.sibling}function PS(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);Kn(t,r,n),t[Fn]=e,t[fr]=n}catch(a){Nt(e,e.return,a)}}var sa=!1,Sn=!1,qp=!1,yx=typeof WeakSet=="function"?WeakSet:Set,Bn=null;function Ok(e,t){if(e=e.containerInfo,Vg=Xd,e=R0(e),lh(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var i=0,l=-1,s=-1,c=0,d=0,u=e,f=null;t:for(;;){for(var p;u!==n||o!==0&&u.nodeType!==3||(l=i+o),u!==a||r!==0&&u.nodeType!==3||(s=i+r),u.nodeType===3&&(i+=u.nodeValue.length),(p=u.firstChild)!==null;)f=u,u=p;for(;;){if(u===e)break t;if(f===n&&++c===o&&(l=i),f===a&&++d===r&&(s=i),(p=u.nextSibling)!==null)break;u=f,f=u.parentNode}u=p}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Fg={focusedElem:e,selectionRange:n},Xd=!1,Bn=t;Bn!==null;)if(t=Bn,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Bn=e;else for(;Bn!==null;){switch(t=Bn,a=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)o=e[n],o.ref.impl=o.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&a!==null){e=void 0,n=t,o=a.memoizedProps,a=a.memoizedState,r=n.stateNode;try{var b=Qi(n.type,o);e=r.getSnapshotBeforeUpdate(b,a),r.__reactInternalSnapshotBeforeUpdate=e}catch(m){Nt(n,n.return,m)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)$g(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":$g(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(K(163))}if(e=t.sibling,e!==null){e.return=t.return,Bn=e;break}Bn=t.return}}function US(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:aa(e,n),r&4&&Kc(5,n);break;case 1:if(aa(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(i){Nt(n,n.return,i)}else{var o=Qi(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(i){Nt(n,n.return,i)}}r&64&&DS(n),r&512&&bc(n,n.return);break;case 3:if(aa(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{H0(e,t)}catch(i){Nt(n,n.return,i)}}break;case 27:t===null&&r&4&&PS(n);case 26:case 5:aa(e,n),t===null&&r&4&&IS(n),r&512&&bc(n,n.return);break;case 12:aa(e,n);break;case 31:aa(e,n),r&4&&FS(e,n);break;case 13:aa(e,n),r&4&&HS(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Uk.bind(null,n),r_(e,n))));break;case 22:if(r=n.memoizedState!==null||sa,!r){t=t!==null&&t.memoizedState!==null||Sn,o=sa;var a=Sn;sa=r,(Sn=t)&&!a?ia(e,n,(n.subtreeFlags&8772)!==0):aa(e,n),sa=o,Sn=a}break;case 30:break;default:aa(e,n)}}function jS(e){var t=e.alternate;t!==null&&(e.alternate=null,jS(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&th(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Qt=null,cr=!1;function oa(e,t,n){for(n=n.child;n!==null;)VS(e,t,n),n=n.sibling}function VS(e,t,n){if(Tr&&typeof Tr.onCommitFiberUnmount=="function")try{Tr.onCommitFiberUnmount(Pc,n)}catch{}switch(n.tag){case 26:Sn||ko(n,t),oa(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Sn||ko(n,t);var r=Qt,o=cr;ui(n.type)&&(Qt=n.stateNode,cr=!1),oa(e,t,n),wc(n.stateNode),Qt=r,cr=o;break;case 5:Sn||ko(n,t);case 6:if(r=Qt,o=cr,Qt=null,oa(e,t,n),Qt=r,cr=o,Qt!==null)if(cr)try{(Qt.nodeType===9?Qt.body:Qt.nodeName==="HTML"?Qt.ownerDocument.body:Qt).removeChild(n.stateNode)}catch(a){Nt(n,t,a)}else try{Qt.removeChild(n.stateNode)}catch(a){Nt(n,t,a)}break;case 18:Qt!==null&&(cr?(e=Qt,_x(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),fs(e)):_x(Qt,n.stateNode));break;case 4:r=Qt,o=cr,Qt=n.stateNode.containerInfo,cr=!0,oa(e,t,n),Qt=r,cr=o;break;case 0:case 11:case 14:case 15:li(2,n,t),Sn||li(4,n,t),oa(e,t,n);break;case 1:Sn||(ko(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"&&BS(n,t,r)),oa(e,t,n);break;case 21:oa(e,t,n);break;case 22:Sn=(r=Sn)||n.memoizedState!==null,oa(e,t,n),Sn=r;break;default:oa(e,t,n)}}function FS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{fs(e)}catch(n){Nt(t,t.return,n)}}}function HS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{fs(e)}catch(n){Nt(t,t.return,n)}}function kk(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new yx),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new yx),t;default:throw Error(K(435,e.tag))}}function rd(e,t){var n=kk(e);t.forEach(function(r){if(!n.has(r)){n.add(r);var o=jk.bind(null,e,r);r.then(o,o)}})}function lr(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var o=n[r],a=e,i=t,l=i;e:for(;l!==null;){switch(l.tag){case 27:if(ui(l.type)){Qt=l.stateNode,cr=!1;break e}break;case 5:Qt=l.stateNode,cr=!1;break e;case 3:case 4:Qt=l.stateNode.containerInfo,cr=!0;break e}l=l.return}if(Qt===null)throw Error(K(160));VS(a,i,o),Qt=null,cr=!1,a=o.alternate,a!==null&&(a.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)$S(t,e),t=t.sibling}var po=null;function $S(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:lr(t,e),sr(e),r&4&&(li(3,e,e.return),Kc(3,e),li(5,e,e.return));break;case 1:lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),r&64&&sa&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var o=po;if(lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),r&4){var a=n!==null?n.memoizedState:null;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){e:{r=e.type,n=e.memoizedProps,o=o.ownerDocument||o;t:switch(r){case"title":a=o.getElementsByTagName("title")[0],(!a||a[Vc]||a[Fn]||a.namespaceURI==="http://www.w3.org/2000/svg"||a.hasAttribute("itemprop"))&&(a=o.createElement(r),o.head.insertBefore(a,o.querySelector("head > title"))),Kn(a,r,n),a[Fn]=e,In(a),r=a;break e;case"link":var i=Ux("link","href",o).get(r+(n.href||""));if(i){for(var l=0;l<i.length;l++)if(a=i[l],a.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&a.getAttribute("rel")===(n.rel==null?null:n.rel)&&a.getAttribute("title")===(n.title==null?null:n.title)&&a.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){i.splice(l,1);break t}}a=o.createElement(r),Kn(a,r,n),o.head.appendChild(a);break;case"meta":if(i=Ux("meta","content",o).get(r+(n.content||""))){for(l=0;l<i.length;l++)if(a=i[l],a.getAttribute("content")===(n.content==null?null:""+n.content)&&a.getAttribute("name")===(n.name==null?null:n.name)&&a.getAttribute("property")===(n.property==null?null:n.property)&&a.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&a.getAttribute("charset")===(n.charSet==null?null:n.charSet)){i.splice(l,1);break t}}a=o.createElement(r),Kn(a,r,n),o.head.appendChild(a);break;default:throw Error(K(468,r))}a[Fn]=e,In(a),r=a}e.stateNode=r}else jx(o,e.type,e.stateNode);else e.stateNode=Px(o,r,e.memoizedProps);else a!==r?(a===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):a.count--,r===null?jx(o,e.type,e.stateNode):Px(o,r,e.memoizedProps)):r===null&&e.stateNode!==null&&Kp(e,e.memoizedProps,n.memoizedProps)}break;case 27:lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),n!==null&&r&4&&Kp(e,e.memoizedProps,n.memoizedProps);break;case 5:if(lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),e.flags&32){o=e.stateNode;try{os(o,"")}catch(b){Nt(e,e.return,b)}}r&4&&e.stateNode!=null&&(o=e.memoizedProps,Kp(e,o,n!==null?n.memoizedProps:o)),r&1024&&(qp=!0);break;case 6:if(lr(t,e),sr(e),r&4){if(e.stateNode===null)throw Error(K(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(b){Nt(e,e.return,b)}}break;case 3:if(Sd=null,o=po,po=Wd(t.containerInfo),lr(t,e),po=o,sr(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{fs(t.containerInfo)}catch(b){Nt(e,e.return,b)}qp&&(qp=!1,KS(e));break;case 4:r=po,po=Wd(e.stateNode.containerInfo),lr(t,e),sr(e),po=r;break;case 12:lr(t,e),sr(e);break;case 31:lr(t,e),sr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,rd(e,r)));break;case 13:lr(t,e),sr(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(df=Nr()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,rd(e,r)));break;case 22:o=e.memoizedState!==null;var s=n!==null&&n.memoizedState!==null,c=sa,d=Sn;if(sa=c||o,Sn=d||s,lr(t,e),Sn=d,sa=c,sr(e),r&8192)e:for(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,o&&(n===null||s||sa||Sn||ji(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){s=n=t;try{if(a=s.stateNode,o)i=a.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none";else{l=s.stateNode;var u=s.memoizedProps.style,f=u!=null&&u.hasOwnProperty("display")?u.display:null;l.style.display=f==null||typeof f=="boolean"?"":(""+f).trim()}}catch(b){Nt(s,s.return,b)}}}else if(t.tag===6){if(n===null){s=t;try{s.stateNode.nodeValue=o?"":s.memoizedProps}catch(b){Nt(s,s.return,b)}}}else if(t.tag===18){if(n===null){s=t;try{var p=s.stateNode;o?Lx(p,!0):Lx(s.stateNode,!1)}catch(b){Nt(s,s.return,b)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,rd(e,n))));break;case 19:lr(t,e),sr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,rd(e,r)));break;case 30:break;case 21:break;default:lr(t,e),sr(e)}}function sr(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(zS(r)){n=r;break}r=r.return}if(n==null)throw Error(K(160));switch(n.tag){case 27:var o=n.stateNode,a=Gp(e);jd(e,a,o);break;case 5:var i=n.stateNode;n.flags&32&&(os(i,""),n.flags&=-33);var l=Gp(e);jd(e,l,i);break;case 3:case 4:var s=n.stateNode.containerInfo,c=Gp(e);Dg(e,c,s);break;default:throw Error(K(161))}}catch(d){Nt(e,e.return,d)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function KS(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;KS(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function aa(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)US(e,t.alternate,t),t=t.sibling}function ji(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:li(4,t,t.return),ji(t);break;case 1:ko(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&BS(t,t.return,n),ji(t);break;case 27:wc(t.stateNode);case 26:case 5:ko(t,t.return),ji(t);break;case 22:t.memoizedState===null&&ji(t);break;case 30:ji(t);break;default:ji(t)}e=e.sibling}}function ia(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var r=t.alternate,o=e,a=t,i=a.flags;switch(a.tag){case 0:case 11:case 15:ia(o,a,n),Kc(4,a);break;case 1:if(ia(o,a,n),r=a,o=r.stateNode,typeof o.componentDidMount=="function")try{o.componentDidMount()}catch(c){Nt(r,r.return,c)}if(r=a,o=r.updateQueue,o!==null){var l=r.stateNode;try{var s=o.shared.hiddenCallbacks;if(s!==null)for(o.shared.hiddenCallbacks=null,o=0;o<s.length;o++)F0(s[o],l)}catch(c){Nt(r,r.return,c)}}n&&i&64&&DS(a),bc(a,a.return);break;case 27:PS(a);case 26:case 5:ia(o,a,n),n&&r===null&&i&4&&IS(a),bc(a,a.return);break;case 12:ia(o,a,n);break;case 31:ia(o,a,n),n&&i&4&&FS(o,a);break;case 13:ia(o,a,n),n&&i&4&&HS(o,a);break;case 22:a.memoizedState===null&&ia(o,a,n),bc(a,a.return);break;case 30:break;default:ia(o,a,n)}t=t.sibling}}function Lh(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Hc(n))}function Dh(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Hc(e))}function mo(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)GS(e,t,n,r),t=t.sibling}function GS(e,t,n,r){var o=t.flags;switch(t.tag){case 0:case 11:case 15:mo(e,t,n,r),o&2048&&Kc(9,t);break;case 1:mo(e,t,n,r);break;case 3:mo(e,t,n,r),o&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Hc(e)));break;case 12:if(o&2048){mo(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,i=a.id,l=a.onPostCommit;typeof l=="function"&&l(i,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(s){Nt(t,t.return,s)}}else mo(e,t,n,r);break;case 31:mo(e,t,n,r);break;case 13:mo(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,i=t.alternate,t.memoizedState!==null?a._visibility&2?mo(e,t,n,r):vc(e,t):a._visibility&2?mo(e,t,n,r):(a._visibility|=2,Bl(e,t,n,r,(t.subtreeFlags&10256)!==0||!1)),o&2048&&Lh(i,t);break;case 24:mo(e,t,n,r),o&2048&&Dh(t.alternate,t);break;default:mo(e,t,n,r)}}function Bl(e,t,n,r,o){for(o=o&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var a=e,i=t,l=n,s=r,c=i.flags;switch(i.tag){case 0:case 11:case 15:Bl(a,i,l,s,o),Kc(8,i);break;case 23:break;case 22:var d=i.stateNode;i.memoizedState!==null?d._visibility&2?Bl(a,i,l,s,o):vc(a,i):(d._visibility|=2,Bl(a,i,l,s,o)),o&&c&2048&&Lh(i.alternate,i);break;case 24:Bl(a,i,l,s,o),o&&c&2048&&Dh(i.alternate,i);break;default:Bl(a,i,l,s,o)}t=t.sibling}}function vc(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,o=r.flags;switch(r.tag){case 22:vc(n,r),o&2048&&Lh(r.alternate,r);break;case 24:vc(n,r),o&2048&&Dh(r.alternate,r);break;default:vc(n,r)}t=t.sibling}}var cc=8192;function Dl(e,t,n){if(e.subtreeFlags&cc)for(e=e.child;e!==null;)qS(e,t,n),e=e.sibling}function qS(e,t,n){switch(e.tag){case 26:Dl(e,t,n),e.flags&cc&&e.memoizedState!==null&&g_(n,po,e.memoizedState,e.memoizedProps);break;case 5:Dl(e,t,n);break;case 3:case 4:var r=po;po=Wd(e.stateNode.containerInfo),Dl(e,t,n),po=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=cc,cc=16777216,Dl(e,t,n),cc=r):Dl(e,t,n));break;default:Dl(e,t,n)}}function WS(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function nc(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Bn=r,QS(r,e)}WS(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)YS(e),e=e.sibling}function YS(e){switch(e.tag){case 0:case 11:case 15:nc(e),e.flags&2048&&li(9,e,e.return);break;case 3:nc(e);break;case 12:nc(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,vd(e)):nc(e);break;default:nc(e)}}function vd(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Bn=r,QS(r,e)}WS(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:li(8,t,t.return),vd(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,vd(t));break;default:vd(t)}e=e.sibling}}function QS(e,t){for(;Bn!==null;){var n=Bn;switch(n.tag){case 0:case 11:case 15:li(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Hc(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,Bn=r;else e:for(n=e;Bn!==null;){r=Bn;var o=r.sibling,a=r.return;if(jS(r),r===n){Bn=null;break e}if(o!==null){o.return=a,Bn=o;break e}Bn=a}}}var _k={getCacheForType:function(e){var t=$n(wn),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return $n(wn).controller.signal}},Lk=typeof WeakMap=="function"?WeakMap:Map,wt=0,Pt=null,dt=null,mt=0,Et=0,Ar=null,qa=!1,ys=!1,Bh=!1,va=0,mn=0,si=0,Ki=0,Ih=0,Er=0,ss=0,xc=null,ur=null,Bg=!1,df=0,XS=0,Vd=1/0,Fd=null,ei=null,Tn=0,ti=null,cs=null,pa=0,Ig=0,zg=null,JS=null,Sc=0,Pg=null;function Or(){return(wt&2)!==0&&mt!==0?mt&-mt:je.T!==null?Ph():l0()}function ZS(){if(Er===0)if((mt&536870912)===0||bt){var e=qu;qu<<=1,(qu&3932160)===0&&(qu=262144),Er=e}else Er=536870912;return e=_r.current,e!==null&&(e.flags|=32),Er}function dr(e,t,n){(e===Pt&&(Et===2||Et===9)||e.cancelPendingCommit!==null)&&(us(e,0),Wa(e,mt,Er,!1)),jc(e,n),((wt&2)===0||e!==Pt)&&(e===Pt&&((wt&2)===0&&(Ki|=n),mn===4&&Wa(e,mt,Er,!1)),Do(e))}function ew(e,t,n){if((wt&6)!==0)throw Error(K(327));var r=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Uc(e,t),o=r?Ik(e,t):Wp(e,t,!0),a=r;do{if(o===0){ys&&!r&&Wa(e,t,0,!1);break}else{if(n=e.current.alternate,a&&!Dk(n)){o=Wp(e,t,!1),a=!1;continue}if(o===2){if(a=t,e.errorRecoveryDisabledLanes&a)var i=0;else i=e.pendingLanes&-536870913,i=i!==0?i:i&536870912?536870912:0;if(i!==0){t=i;e:{var l=e;o=xc;var s=l.current.memoizedState.isDehydrated;if(s&&(us(l,i).flags|=256),i=Wp(l,i,!1),i!==2){if(Bh&&!s){l.errorRecoveryDisabledLanes|=a,Ki|=a,o=4;break e}a=ur,ur=o,a!==null&&(ur===null?ur=a:ur.push.apply(ur,a))}o=i}if(a=!1,o!==2)continue}}if(o===1){us(e,0),Wa(e,t,0,!0);break}e:{switch(r=e,a=o,a){case 0:case 1:throw Error(K(345));case 4:if((t&4194048)!==t)break;case 6:Wa(r,t,Er,!qa);break e;case 2:ur=null;break;case 3:case 5:break;default:throw Error(K(329))}if((t&62914560)===t&&(o=df+300-Nr(),10<o)){if(Wa(r,t,Er,!qa),Zd(r,0,!0)!==0)break e;pa=t,r.timeoutHandle=xw(bx.bind(null,r,n,ur,Fd,Bg,t,Er,Ki,ss,qa,a,"Throttled",-0,0),o);break e}bx(r,n,ur,Fd,Bg,t,Er,Ki,ss,qa,a,null,-0,0)}}break}while(!0);Do(e)}function bx(e,t,n,r,o,a,i,l,s,c,d,u,f,p){if(e.timeoutHandle=-1,u=t.subtreeFlags,u&8192||(u&16785408)===16785408){u={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ua},qS(t,a,u);var b=(a&62914560)===a?df-Nr():(a&4194048)===a?XS-Nr():0;if(b=h_(u,b),b!==null){pa=a,e.cancelPendingCommit=b(xx.bind(null,e,t,a,n,r,o,i,l,s,d,u,null,f,p)),Wa(e,a,i,!c);return}}xx(e,t,a,n,r,o,i,l,s)}function Dk(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!kr(a(),o))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Wa(e,t,n,r){t&=~Ih,t&=~Ki,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var o=t;0<o;){var a=31-Mr(o),i=1<<a;r[a]=-1,o&=~i}n!==0&&o0(e,n,t)}function ff(){return(wt&6)===0?(Gc(0,!1),!1):!0}function zh(){if(dt!==null){if(Et===0)var e=dt.return;else e=dt,da=tl=null,wh(e),Zl=null,Mc=0,e=dt;for(;e!==null;)LS(e.alternate,e),e=e.return;dt=null}}function us(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,Jk(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),pa=0,zh(),Pt=e,dt=n=fa(e.current,null),mt=t,Et=0,Ar=null,qa=!1,ys=Uc(e,t),Bh=!1,ss=Er=Ih=Ki=si=mn=0,ur=xc=null,Bg=!1,(t&8)!==0&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var o=31-Mr(r),a=1<<o;t|=e[o],r&=~a}return va=t,rf(),n}function tw(e,t){Qe=null,je.H=kc,t===hs||t===af?(t=Qv(),Et=3):t===gh?(t=Qv(),Et=4):Et=t===kh?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ar=t,dt===null&&(mn=1,Pd(e,qr(t,e.current)))}function nw(){var e=_r.current;return e===null?!0:(mt&4194048)===mt?Yr===null:(mt&62914560)===mt||(mt&536870912)!==0?e===Yr:!1}function rw(){var e=je.H;return je.H=kc,e===null?kc:e}function ow(){var e=je.A;return je.A=_k,e}function Hd(){mn=4,qa||(mt&4194048)!==mt&&_r.current!==null||(ys=!0),(si&134217727)===0&&(Ki&134217727)===0||Pt===null||Wa(Pt,mt,Er,!1)}function Wp(e,t,n){var r=wt;wt|=2;var o=rw(),a=ow();(Pt!==e||mt!==t)&&(Fd=null,us(e,t)),t=!1;var i=mn;e:do try{if(Et!==0&&dt!==null){var l=dt,s=Ar;switch(Et){case 8:zh(),i=6;break e;case 3:case 2:case 9:case 6:_r.current===null&&(t=!0);var c=Et;if(Et=0,Ar=null,Wl(e,l,s,c),n&&ys){i=0;break e}break;default:c=Et,Et=0,Ar=null,Wl(e,l,s,c)}}Bk(),i=mn;break}catch(d){tw(e,d)}while(!0);return t&&e.shellSuspendCounter++,da=tl=null,wt=r,je.H=o,je.A=a,dt===null&&(Pt=null,mt=0,rf()),i}function Bk(){for(;dt!==null;)aw(dt)}function Ik(e,t){var n=wt;wt|=2;var r=rw(),o=ow();Pt!==e||mt!==t?(Fd=null,Vd=Nr()+500,us(e,t)):ys=Uc(e,t);e:do try{if(Et!==0&&dt!==null){t=dt;var a=Ar;t:switch(Et){case 1:Et=0,Ar=null,Wl(e,t,a,1);break;case 2:case 9:if(Yv(a)){Et=0,Ar=null,vx(t);break}t=function(){Et!==2&&Et!==9||Pt!==e||(Et=7),Do(e)},a.then(t,t);break e;case 3:Et=7;break e;case 4:Et=5;break e;case 7:Yv(a)?(Et=0,Ar=null,vx(t)):(Et=0,Ar=null,Wl(e,t,a,7));break;case 5:var i=null;switch(dt.tag){case 26:i=dt.memoizedState;case 5:case 27:var l=dt;if(i?Rw(i):l.stateNode.complete){Et=0,Ar=null;var s=l.sibling;if(s!==null)dt=s;else{var c=l.return;c!==null?(dt=c,mf(c)):dt=null}break t}}Et=0,Ar=null,Wl(e,t,a,5);break;case 6:Et=0,Ar=null,Wl(e,t,a,6);break;case 8:zh(),mn=6;break e;default:throw Error(K(462))}}zk();break}catch(d){tw(e,d)}while(!0);return da=tl=null,je.H=r,je.A=o,wt=n,dt!==null?0:(Pt=null,mt=0,rf(),mn)}function zk(){for(;dt!==null&&!iO();)aw(dt)}function aw(e){var t=_S(e.alternate,e,va);e.memoizedProps=e.pendingProps,t===null?mf(e):dt=t}function vx(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=fx(n,t,t.pendingProps,t.type,void 0,mt);break;case 11:t=fx(n,t,t.pendingProps,t.type.render,t.ref,mt);break;case 5:wh(t);default:LS(n,t),t=dt=L0(t,va),t=_S(n,t,va)}e.memoizedProps=e.pendingProps,t===null?mf(e):dt=t}function Wl(e,t,n,r){da=tl=null,wh(t),Zl=null,Mc=0;var o=t.return;try{if(Rk(e,o,t,n,mt)){mn=1,Pd(e,qr(n,e.current)),dt=null;return}}catch(a){if(o!==null)throw dt=o,a;mn=1,Pd(e,qr(n,e.current)),dt=null;return}t.flags&32768?(bt||r===1?e=!0:ys||(mt&536870912)!==0?e=!1:(qa=e=!0,(r===2||r===9||r===3||r===6)&&(r=_r.current,r!==null&&r.tag===13&&(r.flags|=16384))),iw(t,e)):mf(t)}function mf(e){var t=e;do{if((t.flags&32768)!==0){iw(t,qa);return}e=t.return;var n=Tk(t.alternate,t,va);if(n!==null){dt=n;return}if(t=t.sibling,t!==null){dt=t;return}dt=t=e}while(t!==null);mn===0&&(mn=5)}function iw(e,t){do{var n=Mk(e.alternate,e);if(n!==null){n.flags&=32767,dt=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){dt=e;return}dt=e=n}while(e!==null);mn=6,dt=null}function xx(e,t,n,r,o,a,i,l,s){e.cancelPendingCommit=null;do pf();while(Tn!==0);if((wt&6)!==0)throw Error(K(327));if(t!==null){if(t===e.current)throw Error(K(177));if(a=t.lanes|t.childLanes,a|=sh,hO(e,n,a,i,l,s),e===Pt&&(dt=Pt=null,mt=0),cs=t,ti=e,pa=n,Ig=a,zg=o,JS=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Vk(Nd,function(){return dw(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||r){r=je.T,je.T=null,o=At.p,At.p=2,i=wt,wt|=4;try{Ok(e,t,n)}finally{wt=i,At.p=o,je.T=r}}Tn=1,lw(),sw(),cw()}}function lw(){if(Tn===1){Tn=0;var e=ti,t=cs,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=je.T,je.T=null;var r=At.p;At.p=2;var o=wt;wt|=4;try{$S(t,e);var a=Fg,i=R0(e.containerInfo),l=a.focusedElem,s=a.selectionRange;if(i!==l&&l&&l.ownerDocument&&C0(l.ownerDocument.documentElement,l)){if(s!==null&&lh(l)){var c=s.start,d=s.end;if(d===void 0&&(d=c),"selectionStart"in l)l.selectionStart=c,l.selectionEnd=Math.min(d,l.value.length);else{var u=l.ownerDocument||document,f=u&&u.defaultView||window;if(f.getSelection){var p=f.getSelection(),b=l.textContent.length,m=Math.min(s.start,b),v=s.end===void 0?m:Math.min(s.end,b);!p.extend&&m>v&&(i=v,v=m,m=i);var h=Fv(l,m),g=Fv(l,v);if(h&&g&&(p.rangeCount!==1||p.anchorNode!==h.node||p.anchorOffset!==h.offset||p.focusNode!==g.node||p.focusOffset!==g.offset)){var y=u.createRange();y.setStart(h.node,h.offset),p.removeAllRanges(),m>v?(p.addRange(y),p.extend(g.node,g.offset)):(y.setEnd(g.node,g.offset),p.addRange(y))}}}}for(u=[],p=l;p=p.parentNode;)p.nodeType===1&&u.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<u.length;l++){var x=u[l];x.element.scrollLeft=x.left,x.element.scrollTop=x.top}}Xd=!!Vg,Fg=Vg=null}finally{wt=o,At.p=r,je.T=n}}e.current=t,Tn=2}}function sw(){if(Tn===2){Tn=0;var e=ti,t=cs,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=je.T,je.T=null;var r=At.p;At.p=2;var o=wt;wt|=4;try{US(e,t.alternate,t)}finally{wt=o,At.p=r,je.T=n}}Tn=3}}function cw(){if(Tn===4||Tn===3){Tn=0,lO();var e=ti,t=cs,n=pa,r=JS;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Tn=5:(Tn=0,cs=ti=null,uw(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(ei=null),eh(n),t=t.stateNode,Tr&&typeof Tr.onCommitFiberRoot=="function")try{Tr.onCommitFiberRoot(Pc,t,void 0,(t.current.flags&128)===128)}catch{}if(r!==null){t=je.T,o=At.p,At.p=2,je.T=null;try{for(var a=e.onRecoverableError,i=0;i<r.length;i++){var l=r[i];a(l.value,{componentStack:l.stack})}}finally{je.T=t,At.p=o}}(pa&3)!==0&&pf(),Do(e),o=e.pendingLanes,(n&261930)!==0&&(o&42)!==0?e===Pg?Sc++:(Sc=0,Pg=e):Sc=0,Gc(0,!1)}}function uw(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Hc(t)))}function pf(){return lw(),sw(),cw(),dw()}function dw(){if(Tn!==5)return!1;var e=ti,t=Ig;Ig=0;var n=eh(pa),r=je.T,o=At.p;try{At.p=32>n?32:n,je.T=null,n=zg,zg=null;var a=ti,i=pa;if(Tn=0,cs=ti=null,pa=0,(wt&6)!==0)throw Error(K(331));var l=wt;if(wt|=4,YS(a.current),GS(a,a.current,i,n),wt=l,Gc(0,!1),Tr&&typeof Tr.onPostCommitFiberRoot=="function")try{Tr.onPostCommitFiberRoot(Pc,a)}catch{}return!0}finally{At.p=o,je.T=r,uw(e,t)}}function Sx(e,t,n){t=qr(n,t),t=kg(e.stateNode,t,2),e=Za(e,t,2),e!==null&&(jc(e,2),Do(e))}function Nt(e,t,n){if(e.tag===3)Sx(e,e,n);else for(;t!==null;){if(t.tag===3){Sx(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(ei===null||!ei.has(r))){e=qr(n,e),n=ES(2),r=Za(t,n,2),r!==null&&(NS(n,r,t,e),jc(r,2),Do(r));break}}t=t.return}}function Yp(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Lk;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(n)||(Bh=!0,o.add(n),e=Pk.bind(null,e,t,n),t.then(e,e))}function Pk(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Pt===e&&(mt&n)===n&&(mn===4||mn===3&&(mt&62914560)===mt&&300>Nr()-df?(wt&2)===0&&us(e,0):Ih|=n,ss===mt&&(ss=0)),Do(e)}function fw(e,t){t===0&&(t=r0()),e=el(e,t),e!==null&&(jc(e,t),Do(e))}function Uk(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),fw(e,n)}function jk(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(K(314))}r!==null&&r.delete(t),fw(e,n)}function Vk(e,t){return Jg(e,t)}var $d=null,Il=null,Ug=!1,Kd=!1,Qp=!1,Ya=0;function Do(e){e!==Il&&e.next===null&&(Il===null?$d=Il=e:Il=Il.next=e),Kd=!0,Ug||(Ug=!0,Hk())}function Gc(e,t){if(!Qp&&Kd){Qp=!0;do for(var n=!1,r=$d;r!==null;){if(!t)if(e!==0){var o=r.pendingLanes;if(o===0)var a=0;else{var i=r.suspendedLanes,l=r.pingedLanes;a=(1<<31-Mr(42|e)+1)-1,a&=o&~(i&~l),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,wx(r,a))}else a=mt,a=Zd(r,r===Pt?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(a&3)===0||Uc(r,a)||(n=!0,wx(r,a));r=r.next}while(n);Qp=!1}}function Fk(){mw()}function mw(){Kd=Ug=!1;var e=0;Ya!==0&&Xk()&&(e=Ya);for(var t=Nr(),n=null,r=$d;r!==null;){var o=r.next,a=pw(r,t);a===0?(r.next=null,n===null?$d=o:n.next=o,o===null&&(Il=n)):(n=r,(e!==0||(a&3)!==0)&&(Kd=!0)),r=o}Tn!==0&&Tn!==5||Gc(e,!1),Ya!==0&&(Ya=0)}function pw(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var i=31-Mr(a),l=1<<i,s=o[i];s===-1?((l&n)===0||(l&r)!==0)&&(o[i]=gO(l,t)):s<=t&&(e.expiredLanes|=l),a&=~l}if(t=Pt,n=mt,n=Zd(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Et===2||Et===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Rp(r),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Uc(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Rp(r),eh(n)){case 2:case 8:n=t0;break;case 32:n=Nd;break;case 268435456:n=n0;break;default:n=Nd}return r=gw.bind(null,e),n=Jg(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Rp(r),e.callbackPriority=2,e.callbackNode=null,2}function gw(e,t){if(Tn!==0&&Tn!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(pf()&&e.callbackNode!==n)return null;var r=mt;return r=Zd(e,e===Pt?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(ew(e,r,t),pw(e,Nr()),e.callbackNode!=null&&e.callbackNode===n?gw.bind(null,e):null)}function wx(e,t){if(pf())return null;ew(e,t,!0)}function Hk(){Zk(function(){(wt&6)!==0?Jg(e0,Fk):mw()})}function Ph(){if(Ya===0){var e=as;e===0&&(e=Gu,Gu<<=1,(Gu&261888)===0&&(Gu=256)),Ya=e}return Ya}function Ax(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:ud(""+e)}function Cx(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function $k(e,t,n,r,o){if(t==="submit"&&n&&n.stateNode===o){var a=Ax((o[fr]||null).action),i=r.submitter;i&&(t=(t=i[fr]||null)?Ax(t.formAction):i.getAttribute("formAction"),t!==null&&(a=t,i=null));var l=new ef("action","action",null,r,o);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Ya!==0){var s=i?Cx(o,i):new FormData(o);Mg(n,{pending:!0,data:s,method:o.method,action:a},null,s)}}else typeof a=="function"&&(l.preventDefault(),s=i?Cx(o,i):new FormData(o),Mg(n,{pending:!0,data:s,method:o.method,action:a},a,s))},currentTarget:o}]})}}for(od=0;od<yg.length;od++)ad=yg[od],Rx=ad.toLowerCase(),Ex=ad[0].toUpperCase()+ad.slice(1),go(Rx,"on"+Ex);var ad,Rx,Ex,od;go(N0,"onAnimationEnd");go(T0,"onAnimationIteration");go(M0,"onAnimationStart");go("dblclick","onDoubleClick");go("focusin","onFocus");go("focusout","onBlur");go(sk,"onTransitionRun");go(ck,"onTransitionStart");go(uk,"onTransitionCancel");go(O0,"onTransitionEnd");rs("onMouseEnter",["mouseout","mouseover"]);rs("onMouseLeave",["mouseout","mouseover"]);rs("onPointerEnter",["pointerout","pointerover"]);rs("onPointerLeave",["pointerout","pointerover"]);Xi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Xi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Xi("onBeforeInput",["compositionend","keypress","textInput","paste"]);Xi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Xi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Xi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var _c="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Kk=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(_c));function hw(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,c=l.currentTarget;if(l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){Md(d)}o.currentTarget=null,a=s}else for(i=0;i<r.length;i++){if(l=r[i],s=l.instance,c=l.currentTarget,l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){Md(d)}o.currentTarget=null,a=s}}}}function ut(e,t){var n=t[cg];n===void 0&&(n=t[cg]=new Set);var r=e+"__bubble";n.has(r)||(yw(t,e,2,!1),n.add(r))}function Xp(e,t,n){var r=0;t&&(r|=4),yw(n,e,r,t)}var id="_reactListening"+Math.random().toString(36).slice(2);function Uh(e){if(!e[id]){e[id]=!0,s0.forEach(function(n){n!=="selectionchange"&&(Kk.has(n)||Xp(n,!1,e),Xp(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[id]||(t[id]=!0,Xp("selectionchange",!1,t))}}function yw(e,t,n,r){switch(Ow(t)){case 2:var o=v_;break;case 8:o=x_;break;default:o=Hh}n=o.bind(null,t,n,e),o=void 0,!pg||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Jp(e,t,n,r,o){var a=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var i=r.tag;if(i===3||i===4){var l=r.stateNode.containerInfo;if(l===o)break;if(i===4)for(i=r.return;i!==null;){var s=i.tag;if((s===3||s===4)&&i.stateNode.containerInfo===o)return;i=i.return}for(;l!==null;){if(i=Ul(l),i===null)return;if(s=i.tag,s===5||s===6||s===26||s===27){r=a=i;continue e}l=l.parentNode}}r=r.return}h0(function(){var c=a,d=rh(n),u=[];e:{var f=k0.get(e);if(f!==void 0){var p=ef,b=e;switch(e){case"keypress":if(fd(n)===0)break e;case"keydown":case"keyup":p=jO;break;case"focusin":b="focus",p=Op;break;case"focusout":b="blur",p=Op;break;case"beforeblur":case"afterblur":p=Op;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=Lv;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=TO;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=HO;break;case N0:case T0:case M0:p=kO;break;case O0:p=KO;break;case"scroll":case"scrollend":p=EO;break;case"wheel":p=qO;break;case"copy":case"cut":case"paste":p=LO;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=Bv;break;case"toggle":case"beforetoggle":p=YO}var m=(t&4)!==0,v=!m&&(e==="scroll"||e==="scrollend"),h=m?f!==null?f+"Capture":null:f;m=[];for(var g=c,y;g!==null;){var x=g;if(y=x.stateNode,x=x.tag,x!==5&&x!==26&&x!==27||y===null||h===null||(x=Cc(g,h),x!=null&&m.push(Lc(g,x,y))),v)break;g=g.return}0<m.length&&(f=new p(f,b,null,n,d),u.push({event:f,listeners:m}))}}if((t&7)===0){e:{if(f=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",f&&n!==mg&&(b=n.relatedTarget||n.fromElement)&&(Ul(b)||b[ms]))break e;if((p||f)&&(f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window,p?(b=n.relatedTarget||n.toElement,p=c,b=b?Ul(b):null,b!==null&&(v=zc(b),m=b.tag,b!==v||m!==5&&m!==27&&m!==6)&&(b=null)):(p=null,b=c),p!==b)){if(m=Lv,x="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(m=Bv,x="onPointerLeave",h="onPointerEnter",g="pointer"),v=p==null?f:lc(p),y=b==null?f:lc(b),f=new m(x,g+"leave",p,n,d),f.target=v,f.relatedTarget=y,x=null,Ul(d)===c&&(m=new m(h,g+"enter",b,n,d),m.target=y,m.relatedTarget=v,x=m),v=x,p&&b)t:{for(m=Gk,h=p,g=b,y=0,x=h;x;x=m(x))y++;x=0;for(var A=g;A;A=m(A))x++;for(;0<y-x;)h=m(h),y--;for(;0<x-y;)g=m(g),x--;for(;y--;){if(h===g||g!==null&&h===g.alternate){m=h;break t}h=m(h),g=m(g)}m=null}else m=null;p!==null&&Nx(u,f,p,m,!1),b!==null&&v!==null&&Nx(u,v,b,m,!0)}}e:{if(f=c?lc(c):window,p=f.nodeName&&f.nodeName.toLowerCase(),p==="select"||p==="input"&&f.type==="file")var E=Uv;else if(Pv(f))if(w0)E=ak;else{E=rk;var N=nk}else p=f.nodeName,!p||p.toLowerCase()!=="input"||f.type!=="checkbox"&&f.type!=="radio"?c&&nh(c.elementType)&&(E=Uv):E=ok;if(E&&(E=E(e,c))){S0(u,E,n,d);break e}N&&N(e,f,c),e==="focusout"&&c&&f.type==="number"&&c.memoizedProps.value!=null&&fg(f,"number",f.value)}switch(N=c?lc(c):window,e){case"focusin":(Pv(N)||N.contentEditable==="true")&&(Fl=N,gg=c,fc=null);break;case"focusout":fc=gg=Fl=null;break;case"mousedown":hg=!0;break;case"contextmenu":case"mouseup":case"dragend":hg=!1,Hv(u,n,d);break;case"selectionchange":if(lk)break;case"keydown":case"keyup":Hv(u,n,d)}var C;if(ih)e:{switch(e){case"compositionstart":var O="onCompositionStart";break e;case"compositionend":O="onCompositionEnd";break e;case"compositionupdate":O="onCompositionUpdate";break e}O=void 0}else Vl?v0(e,n)&&(O="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(O="onCompositionStart");O&&(b0&&n.locale!=="ko"&&(Vl||O!=="onCompositionStart"?O==="onCompositionEnd"&&Vl&&(C=y0()):(Ga=d,oh="value"in Ga?Ga.value:Ga.textContent,Vl=!0)),N=Gd(c,O),0<N.length&&(O=new Dv(O,e,null,n,d),u.push({event:O,listeners:N}),C?O.data=C:(C=x0(n),C!==null&&(O.data=C)))),(C=XO?JO(e,n):ZO(e,n))&&(O=Gd(c,"onBeforeInput"),0<O.length&&(N=new Dv("onBeforeInput","beforeinput",null,n,d),u.push({event:N,listeners:O}),N.data=C)),$k(u,e,c,n,d)}hw(u,t)})}function Lc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Gd(e,t){for(var n=t+"Capture",r=[];e!==null;){var o=e,a=o.stateNode;if(o=o.tag,o!==5&&o!==26&&o!==27||a===null||(o=Cc(e,n),o!=null&&r.unshift(Lc(e,o,a)),o=Cc(e,t),o!=null&&r.push(Lc(e,o,a))),e.tag===3)return r;e=e.return}return[]}function Gk(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Nx(e,t,n,r,o){for(var a=t._reactName,i=[];n!==null&&n!==r;){var l=n,s=l.alternate,c=l.stateNode;if(l=l.tag,s!==null&&s===r)break;l!==5&&l!==26&&l!==27||c===null||(s=c,o?(c=Cc(n,a),c!=null&&i.unshift(Lc(n,c,s))):o||(c=Cc(n,a),c!=null&&i.push(Lc(n,c,s)))),n=n.return}i.length!==0&&e.push({event:t,listeners:i})}var qk=/\r\n?/g,Wk=/\u0000|\uFFFD/g;function Tx(e){return(typeof e=="string"?e:""+e).replace(qk,`
|
|
9
|
+
`).replace(Wk,"")}function bw(e,t){return t=Tx(t),Tx(e)===t}function kt(e,t,n,r,o,a){switch(n){case"children":typeof r=="string"?t==="body"||t==="textarea"&&r===""||os(e,r):(typeof r=="number"||typeof r=="bigint")&&t!=="body"&&os(e,""+r);break;case"className":Yu(e,"class",r);break;case"tabIndex":Yu(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":Yu(e,n,r);break;case"style":g0(e,r,a);break;case"data":if(t!=="object"){Yu(e,"data",r);break}case"src":case"href":if(r===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=ud(""+r),e.setAttribute(n,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof a=="function"&&(n==="formAction"?(t!=="input"&&kt(e,t,"name",o.name,o,null),kt(e,t,"formEncType",o.formEncType,o,null),kt(e,t,"formMethod",o.formMethod,o,null),kt(e,t,"formTarget",o.formTarget,o,null)):(kt(e,t,"encType",o.encType,o,null),kt(e,t,"method",o.method,o,null),kt(e,t,"target",o.target,o,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=ud(""+r),e.setAttribute(n,r);break;case"onClick":r!=null&&(e.onclick=ua);break;case"onScroll":r!=null&&ut("scroll",e);break;case"onScrollEnd":r!=null&&ut("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(K(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(K(60));e.innerHTML=n}}break;case"multiple":e.multiple=r&&typeof r!="function"&&typeof r!="symbol";break;case"muted":e.muted=r&&typeof r!="function"&&typeof r!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(r==null||typeof r=="function"||typeof r=="boolean"||typeof r=="symbol"){e.removeAttribute("xlink:href");break}n=ud(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""+r):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":r&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":r===!0?e.setAttribute(n,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,r):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case"popover":ut("beforetoggle",e),ut("toggle",e),cd(e,"popover",r);break;case"xlinkActuate":na(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":na(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":na(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":na(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":na(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":na(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":na(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":na(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":na(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":cd(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=CO.get(n)||n,cd(e,n,r))}}function jg(e,t,n,r,o,a){switch(n){case"style":g0(e,r,a);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(K(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(K(60));e.innerHTML=n}}break;case"children":typeof r=="string"?os(e,r):(typeof r=="number"||typeof r=="bigint")&&os(e,""+r);break;case"onScroll":r!=null&&ut("scroll",e);break;case"onScrollEnd":r!=null&&ut("scrollend",e);break;case"onClick":r!=null&&(e.onclick=ua);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!c0.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(o=n.endsWith("Capture"),t=n.slice(2,o?n.length-7:void 0),a=e[fr]||null,a=a!=null?a[n]:null,typeof a=="function"&&e.removeEventListener(t,a,o),typeof r=="function")){typeof a!="function"&&a!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,o);break e}n in e?e[n]=r:r===!0?e.setAttribute(n,""):cd(e,n,r)}}}function Kn(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ut("error",e),ut("load",e);var r=!1,o=!1,a;for(a in n)if(n.hasOwnProperty(a)){var i=n[a];if(i!=null)switch(a){case"src":r=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(K(137,t));default:kt(e,t,a,i,n,null)}}o&&kt(e,t,"srcSet",n.srcSet,n,null),r&&kt(e,t,"src",n.src,n,null);return;case"input":ut("invalid",e);var l=a=i=o=null,s=null,c=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case"name":o=d;break;case"type":i=d;break;case"checked":s=d;break;case"defaultChecked":c=d;break;case"value":a=d;break;case"defaultValue":l=d;break;case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(K(137,t));break;default:kt(e,t,r,d,n,null)}}f0(e,a,l,s,c,i,o,!1);return;case"select":ut("invalid",e),r=i=a=null;for(o in n)if(n.hasOwnProperty(o)&&(l=n[o],l!=null))switch(o){case"value":a=l;break;case"defaultValue":i=l;break;case"multiple":r=l;default:kt(e,t,o,l,n,null)}t=a,n=i,e.multiple=!!r,t!=null?Ql(e,!!r,t,!1):n!=null&&Ql(e,!!r,n,!0);return;case"textarea":ut("invalid",e),a=o=r=null;for(i in n)if(n.hasOwnProperty(i)&&(l=n[i],l!=null))switch(i){case"value":r=l;break;case"defaultValue":o=l;break;case"children":a=l;break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(K(91));break;default:kt(e,t,i,l,n,null)}p0(e,r,o,a);return;case"option":for(s in n)n.hasOwnProperty(s)&&(r=n[s],r!=null)&&(s==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":kt(e,t,s,r,n,null));return;case"dialog":ut("beforetoggle",e),ut("toggle",e),ut("cancel",e),ut("close",e);break;case"iframe":case"object":ut("load",e);break;case"video":case"audio":for(r=0;r<_c.length;r++)ut(_c[r],e);break;case"image":ut("error",e),ut("load",e);break;case"details":ut("toggle",e);break;case"embed":case"source":case"link":ut("error",e),ut("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(r=n[c],r!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(K(137,t));default:kt(e,t,c,r,n,null)}return;default:if(nh(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&jg(e,t,d,r,n,void 0));return}}for(l in n)n.hasOwnProperty(l)&&(r=n[l],r!=null&&kt(e,t,l,r,n,null))}function Yk(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var o=null,a=null,i=null,l=null,s=null,c=null,d=null;for(p in n){var u=n[p];if(n.hasOwnProperty(p)&&u!=null)switch(p){case"checked":break;case"value":break;case"defaultValue":s=u;default:r.hasOwnProperty(p)||kt(e,t,p,null,r,u)}}for(var f in r){var p=r[f];if(u=n[f],r.hasOwnProperty(f)&&(p!=null||u!=null))switch(f){case"type":a=p;break;case"name":o=p;break;case"checked":c=p;break;case"defaultChecked":d=p;break;case"value":i=p;break;case"defaultValue":l=p;break;case"children":case"dangerouslySetInnerHTML":if(p!=null)throw Error(K(137,t));break;default:p!==u&&kt(e,t,f,p,r,u)}}dg(e,i,l,s,c,d,a,o);return;case"select":p=i=l=f=null;for(a in n)if(s=n[a],n.hasOwnProperty(a)&&s!=null)switch(a){case"value":break;case"multiple":p=s;default:r.hasOwnProperty(a)||kt(e,t,a,null,r,s)}for(o in r)if(a=r[o],s=n[o],r.hasOwnProperty(o)&&(a!=null||s!=null))switch(o){case"value":f=a;break;case"defaultValue":l=a;break;case"multiple":i=a;default:a!==s&&kt(e,t,o,a,r,s)}t=l,n=i,r=p,f!=null?Ql(e,!!n,f,!1):!!r!=!!n&&(t!=null?Ql(e,!!n,t,!0):Ql(e,!!n,n?[]:"",!1));return;case"textarea":p=f=null;for(l in n)if(o=n[l],n.hasOwnProperty(l)&&o!=null&&!r.hasOwnProperty(l))switch(l){case"value":break;case"children":break;default:kt(e,t,l,null,r,o)}for(i in r)if(o=r[i],a=n[i],r.hasOwnProperty(i)&&(o!=null||a!=null))switch(i){case"value":f=o;break;case"defaultValue":p=o;break;case"children":break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(K(91));break;default:o!==a&&kt(e,t,i,o,r,a)}m0(e,f,p);return;case"option":for(var b in n)f=n[b],n.hasOwnProperty(b)&&f!=null&&!r.hasOwnProperty(b)&&(b==="selected"?e.selected=!1:kt(e,t,b,null,r,f));for(s in r)f=r[s],p=n[s],r.hasOwnProperty(s)&&f!==p&&(f!=null||p!=null)&&(s==="selected"?e.selected=f&&typeof f!="function"&&typeof f!="symbol":kt(e,t,s,f,r,p));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var m in n)f=n[m],n.hasOwnProperty(m)&&f!=null&&!r.hasOwnProperty(m)&&kt(e,t,m,null,r,f);for(c in r)if(f=r[c],p=n[c],r.hasOwnProperty(c)&&f!==p&&(f!=null||p!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(f!=null)throw Error(K(137,t));break;default:kt(e,t,c,f,r,p)}return;default:if(nh(t)){for(var v in n)f=n[v],n.hasOwnProperty(v)&&f!==void 0&&!r.hasOwnProperty(v)&&jg(e,t,v,void 0,r,f);for(d in r)f=r[d],p=n[d],!r.hasOwnProperty(d)||f===p||f===void 0&&p===void 0||jg(e,t,d,f,r,p);return}}for(var h in n)f=n[h],n.hasOwnProperty(h)&&f!=null&&!r.hasOwnProperty(h)&&kt(e,t,h,null,r,f);for(u in r)f=r[u],p=n[u],!r.hasOwnProperty(u)||f===p||f==null&&p==null||kt(e,t,u,f,r,p)}function Mx(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Qk(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),r=0;r<n.length;r++){var o=n[r],a=o.transferSize,i=o.initiatorType,l=o.duration;if(a&&l&&Mx(i)){for(i=0,l=o.responseEnd,r+=1;r<n.length;r++){var s=n[r],c=s.startTime;if(c>l)break;var d=s.transferSize,u=s.initiatorType;d&&Mx(u)&&(s=s.responseEnd,i+=d*(s<l?1:(l-c)/(s-c)))}if(--r,t+=8*(a+i)/(o.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Vg=null,Fg=null;function qd(e){return e.nodeType===9?e:e.ownerDocument}function Ox(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function vw(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Hg(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Zp=null;function Xk(){var e=window.event;return e&&e.type==="popstate"?e===Zp?!1:(Zp=e,!0):(Zp=null,!1)}var xw=typeof setTimeout=="function"?setTimeout:void 0,Jk=typeof clearTimeout=="function"?clearTimeout:void 0,kx=typeof Promise=="function"?Promise:void 0,Zk=typeof queueMicrotask=="function"?queueMicrotask:typeof kx<"u"?function(e){return kx.resolve(null).then(e).catch(e_)}:xw;function e_(e){setTimeout(function(){throw e})}function ui(e){return e==="head"}function _x(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"||n==="/&"){if(r===0){e.removeChild(o),fs(t);return}r--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")r++;else if(n==="html")wc(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,wc(n);for(var a=n.firstChild;a;){var i=a.nextSibling,l=a.nodeName;a[Vc]||l==="SCRIPT"||l==="STYLE"||l==="LINK"&&a.rel.toLowerCase()==="stylesheet"||n.removeChild(a),a=i}}else n==="body"&&wc(e.ownerDocument.body);n=o}while(n);fs(t)}function Lx(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),r&&r.nodeType===8)if(n=r.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=r}while(n)}function $g(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":$g(n),th(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function t_(e,t,n,r){for(;e.nodeType===1;){var o=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[Vc])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(a=e.getAttribute("rel"),a==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(a!==o.rel||e.getAttribute("href")!==(o.href==null||o.href===""?null:o.href)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin)||e.getAttribute("title")!==(o.title==null?null:o.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(a=e.getAttribute("src"),(a!==(o.src==null?null:o.src)||e.getAttribute("type")!==(o.type==null?null:o.type)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin))&&a&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var a=o.name==null?null:""+o.name;if(o.type==="hidden"&&e.getAttribute("name")===a)return e}else return e;if(e=Qr(e.nextSibling),e===null)break}return null}function n_(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qr(e.nextSibling),e===null))return null;return e}function Sw(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qr(e.nextSibling),e===null))return null;return e}function Kg(e){return e.data==="$?"||e.data==="$~"}function Gg(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function r_(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function Qr(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var qg=null;function Dx(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qr(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Bx(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function ww(e,t,n){switch(t=qd(n),e){case"html":if(e=t.documentElement,!e)throw Error(K(452));return e;case"head":if(e=t.head,!e)throw Error(K(453));return e;case"body":if(e=t.body,!e)throw Error(K(454));return e;default:throw Error(K(451))}}function wc(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);th(e)}var Xr=new Map,Ix=new Set;function Wd(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var xa=At.d;At.d={f:o_,r:a_,D:i_,C:l_,L:s_,m:c_,X:d_,S:u_,M:f_};function o_(){var e=xa.f(),t=ff();return e||t}function a_(e){var t=ps(e);t!==null&&t.tag===5&&t.type==="form"?gS(t):xa.r(e)}var bs=typeof document>"u"?null:document;function Aw(e,t,n){var r=bs;if(r&&typeof t=="string"&&t){var o=Gr(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof n=="string"&&(o+='[crossorigin="'+n+'"]'),Ix.has(o)||(Ix.add(o),e={rel:e,crossOrigin:n,href:t},r.querySelector(o)===null&&(t=r.createElement("link"),Kn(t,"link",e),In(t),r.head.appendChild(t)))}}function i_(e){xa.D(e),Aw("dns-prefetch",e,null)}function l_(e,t){xa.C(e,t),Aw("preconnect",e,t)}function s_(e,t,n){xa.L(e,t,n);var r=bs;if(r&&e&&t){var o='link[rel="preload"][as="'+Gr(t)+'"]';t==="image"&&n&&n.imageSrcSet?(o+='[imagesrcset="'+Gr(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(o+='[imagesizes="'+Gr(n.imageSizes)+'"]')):o+='[href="'+Gr(e)+'"]';var a=o;switch(t){case"style":a=ds(e);break;case"script":a=vs(e)}Xr.has(a)||(e=Gt({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Xr.set(a,e),r.querySelector(o)!==null||t==="style"&&r.querySelector(qc(a))||t==="script"&&r.querySelector(Wc(a))||(t=r.createElement("link"),Kn(t,"link",e),In(t),r.head.appendChild(t)))}}function c_(e,t){xa.m(e,t);var n=bs;if(n&&e){var r=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+Gr(r)+'"][href="'+Gr(e)+'"]',a=o;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=vs(e)}if(!Xr.has(a)&&(e=Gt({rel:"modulepreload",href:e},t),Xr.set(a,e),n.querySelector(o)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Wc(a)))return}r=n.createElement("link"),Kn(r,"link",e),In(r),n.head.appendChild(r)}}}function u_(e,t,n){xa.S(e,t,n);var r=bs;if(r&&e){var o=Yl(r).hoistableStyles,a=ds(e);t=t||"default";var i=o.get(a);if(!i){var l={loading:0,preload:null};if(i=r.querySelector(qc(a)))l.loading=5;else{e=Gt({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Xr.get(a))&&jh(e,n);var s=i=r.createElement("link");In(s),Kn(s,"link",e),s._p=new Promise(function(c,d){s.onload=c,s.onerror=d}),s.addEventListener("load",function(){l.loading|=1}),s.addEventListener("error",function(){l.loading|=2}),l.loading|=4,xd(i,t,r)}i={type:"stylesheet",instance:i,count:1,state:l},o.set(a,i)}}}function d_(e,t){xa.X(e,t);var n=bs;if(n&&e){var r=Yl(n).hoistableScripts,o=vs(e),a=r.get(o);a||(a=n.querySelector(Wc(o)),a||(e=Gt({src:e,async:!0},t),(t=Xr.get(o))&&Vh(e,t),a=n.createElement("script"),In(a),Kn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function f_(e,t){xa.M(e,t);var n=bs;if(n&&e){var r=Yl(n).hoistableScripts,o=vs(e),a=r.get(o);a||(a=n.querySelector(Wc(o)),a||(e=Gt({src:e,async:!0,type:"module"},t),(t=Xr.get(o))&&Vh(e,t),a=n.createElement("script"),In(a),Kn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function zx(e,t,n,r){var o=(o=Qa.current)?Wd(o):null;if(!o)throw Error(K(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=ds(n.href),n=Yl(o).hoistableStyles,r=n.get(t),r||(r={type:"style",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=ds(n.href);var a=Yl(o).hoistableStyles,i=a.get(e);if(i||(o=o.ownerDocument||o,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},a.set(e,i),(a=o.querySelector(qc(e)))&&!a._p&&(i.instance=a,i.state.loading=5),Xr.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Xr.set(e,n),a||m_(o,e,n,i.state))),t&&r===null)throw Error(K(528,""));return i}if(t&&r!==null)throw Error(K(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=vs(n),n=Yl(o).hoistableScripts,r=n.get(t),r||(r={type:"script",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(K(444,e))}}function ds(e){return'href="'+Gr(e)+'"'}function qc(e){return'link[rel="stylesheet"]['+e+"]"}function Cw(e){return Gt({},e,{"data-precedence":e.precedence,precedence:null})}function m_(e,t,n,r){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?r.loading=1:(t=e.createElement("link"),r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2}),Kn(t,"link",n),In(t),e.head.appendChild(t))}function vs(e){return'[src="'+Gr(e)+'"]'}function Wc(e){return"script[async]"+e}function Px(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+Gr(n.href)+'"]');if(r)return t.instance=r,In(r),r;var o=Gt({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),In(r),Kn(r,"style",o),xd(r,n.precedence,e),t.instance=r;case"stylesheet":o=ds(n.href);var a=e.querySelector(qc(o));if(a)return t.state.loading|=4,t.instance=a,In(a),a;r=Cw(n),(o=Xr.get(o))&&jh(r,o),a=(e.ownerDocument||e).createElement("link"),In(a);var i=a;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Kn(a,"link",r),t.state.loading|=4,xd(a,n.precedence,e),t.instance=a;case"script":return a=vs(n.src),(o=e.querySelector(Wc(a)))?(t.instance=o,In(o),o):(r=n,(o=Xr.get(a))&&(r=Gt({},n),Vh(r,o)),e=e.ownerDocument||e,o=e.createElement("script"),In(o),Kn(o,"link",r),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(K(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,xd(r,n.precedence,e));return t.instance}function xd(e,t,n){for(var r=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=r.length?r[r.length-1]:null,a=o,i=0;i<r.length;i++){var l=r[i];if(l.dataset.precedence===t)a=l;else if(a!==o)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function jh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Vh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Sd=null;function Ux(e,t,n){if(Sd===null){var r=new Map,o=Sd=new Map;o.set(n,r)}else o=Sd,r=o.get(n),r||(r=new Map,o.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),o=0;o<n.length;o++){var a=n[o];if(!(a[Vc]||a[Fn]||e==="link"&&a.getAttribute("rel")==="stylesheet")&&a.namespaceURI!=="http://www.w3.org/2000/svg"){var i=a.getAttribute(t)||"";i=e+i;var l=r.get(i);l?l.push(a):r.set(i,[a])}}return r}function jx(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function p_(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Rw(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function g_(e,t,n,r){if(n.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var o=ds(r.href),a=t.querySelector(qc(o));if(a){t=a._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Yd.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,In(a);return}a=t.ownerDocument||t,r=Cw(r),(o=Xr.get(o))&&jh(r,o),a=a.createElement("link"),In(a);var i=a;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Kn(a,"link",r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=Yd.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var eg=0;function h_(e,t){return e.stylesheets&&e.count===0&&wd(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&wd(e,e.stylesheets),e.unsuspend){var a=e.unsuspend;e.unsuspend=null,a()}},6e4+t);0<e.imgBytes&&eg===0&&(eg=62500*Qk());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&wd(e,e.stylesheets),e.unsuspend)){var a=e.unsuspend;e.unsuspend=null,a()}},(e.imgBytes>eg?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(o)}}:null}function Yd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)wd(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Qd=null;function wd(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Qd=new Map,t.forEach(y_,e),Qd=null,Yd.call(e))}function y_(e,t){if(!(t.state.loading&4)){var n=Qd.get(e);if(n)var r=n.get(null);else{n=new Map,Qd.set(e,n);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a<o.length;a++){var i=o[a];(i.nodeName==="LINK"||i.getAttribute("media")!=="not all")&&(n.set(i.dataset.precedence,i),r=i)}r&&n.set(null,r)}o=t.instance,i=o.getAttribute("data-precedence"),a=n.get(i)||r,a===r&&n.set(null,o),n.set(i,o),this.count++,r=Yd.bind(this),o.addEventListener("load",r),o.addEventListener("error",r),a?a.parentNode.insertBefore(o,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(o,e.firstChild)),t.state.loading|=4}}var Dc={$$typeof:ca,Provider:null,Consumer:null,_currentValue:Vi,_currentValue2:Vi,_threadCount:0};function b_(e,t,n,r,o,a,i,l,s){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Ep(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ep(0),this.hiddenUpdates=Ep(null),this.identifierPrefix=r,this.onUncaughtError=o,this.onCaughtError=a,this.onRecoverableError=i,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.incompleteTransitions=new Map}function Ew(e,t,n,r,o,a,i,l,s,c,d,u){return e=new b_(e,t,n,i,s,c,d,u,l),t=1,a===!0&&(t|=24),a=Rr(3,null,null,t),e.current=a,a.stateNode=e,t=mh(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},hh(a),e}function Nw(e){return e?(e=Kl,e):Kl}function Tw(e,t,n,r,o,a){o=Nw(o),r.context===null?r.context=o:r.pendingContext=o,r=Ja(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Za(e,r,t),n!==null&&(dr(n,e,t),pc(n,e,t))}function Vx(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Fh(e,t){Vx(e,t),(e=e.alternate)&&Vx(e,t)}function Mw(e){if(e.tag===13||e.tag===31){var t=el(e,67108864);t!==null&&dr(t,e,67108864),Fh(e,67108864)}}function Fx(e){if(e.tag===13||e.tag===31){var t=Or();t=Zg(t);var n=el(e,t);n!==null&&dr(n,e,t),Fh(e,t)}}var Xd=!0;function v_(e,t,n,r){var o=je.T;je.T=null;var a=At.p;try{At.p=2,Hh(e,t,n,r)}finally{At.p=a,je.T=o}}function x_(e,t,n,r){var o=je.T;je.T=null;var a=At.p;try{At.p=8,Hh(e,t,n,r)}finally{At.p=a,je.T=o}}function Hh(e,t,n,r){if(Xd){var o=Wg(r);if(o===null)Jp(e,t,r,Jd,n),Hx(e,r);else if(w_(o,e,t,n,r))r.stopPropagation();else if(Hx(e,r),t&4&&-1<S_.indexOf(e)){for(;o!==null;){var a=ps(o);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var i=Pi(a.pendingLanes);if(i!==0){var l=a;for(l.pendingLanes|=2,l.entangledLanes|=2;i;){var s=1<<31-Mr(i);l.entanglements[1]|=s,i&=~s}Do(a),(wt&6)===0&&(Vd=Nr()+500,Gc(0,!1))}}break;case 31:case 13:l=el(a,2),l!==null&&dr(l,a,2),ff(),Fh(a,2)}if(a=Wg(r),a===null&&Jp(e,t,r,Jd,n),a===o)break;o=a}o!==null&&r.stopPropagation()}else Jp(e,t,r,null,n)}}function Wg(e){return e=rh(e),$h(e)}var Jd=null;function $h(e){if(Jd=null,e=Ul(e),e!==null){var t=zc(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=Yx(t),e!==null)return e;e=null}else if(n===31){if(e=Qx(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Jd=e,null}function Ow(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(sO()){case e0:return 2;case t0:return 8;case Nd:case cO:return 32;case n0:return 268435456;default:return 32}default:return 32}}var Yg=!1,ni=null,ri=null,oi=null,Bc=new Map,Ic=new Map,$a=[],S_="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Hx(e,t){switch(e){case"focusin":case"focusout":ni=null;break;case"dragenter":case"dragleave":ri=null;break;case"mouseover":case"mouseout":oi=null;break;case"pointerover":case"pointerout":Bc.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ic.delete(t.pointerId)}}function rc(e,t,n,r,o,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},t!==null&&(t=ps(t),t!==null&&Mw(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function w_(e,t,n,r,o){switch(t){case"focusin":return ni=rc(ni,e,t,n,r,o),!0;case"dragenter":return ri=rc(ri,e,t,n,r,o),!0;case"mouseover":return oi=rc(oi,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return Bc.set(a,rc(Bc.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,Ic.set(a,rc(Ic.get(a)||null,e,t,n,r,o)),!0}return!1}function kw(e){var t=Ul(e.target);if(t!==null){var n=zc(t);if(n!==null){if(t=n.tag,t===13){if(t=Yx(n),t!==null){e.blockedOn=t,Ev(e.priority,function(){Fx(n)});return}}else if(t===31){if(t=Qx(n),t!==null){e.blockedOn=t,Ev(e.priority,function(){Fx(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ad(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Wg(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);mg=r,n.target.dispatchEvent(r),mg=null}else return t=ps(n),t!==null&&Mw(t),e.blockedOn=n,!1;t.shift()}return!0}function $x(e,t,n){Ad(e)&&n.delete(t)}function A_(){Yg=!1,ni!==null&&Ad(ni)&&(ni=null),ri!==null&&Ad(ri)&&(ri=null),oi!==null&&Ad(oi)&&(oi=null),Bc.forEach($x),Ic.forEach($x)}function ld(e,t){e.blockedOn===t&&(e.blockedOn=null,Yg||(Yg=!0,Mn.unstable_scheduleCallback(Mn.unstable_NormalPriority,A_)))}var sd=null;function Kx(e){sd!==e&&(sd=e,Mn.unstable_scheduleCallback(Mn.unstable_NormalPriority,function(){sd===e&&(sd=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],o=e[t+2];if(typeof r!="function"){if($h(r||n)===null)continue;break}var a=ps(n);a!==null&&(e.splice(t,3),t-=3,Mg(a,{pending:!0,data:o,method:n.method,action:r},r,o))}}))}function fs(e){function t(s){return ld(s,e)}ni!==null&&ld(ni,e),ri!==null&&ld(ri,e),oi!==null&&ld(oi,e),Bc.forEach(t),Ic.forEach(t);for(var n=0;n<$a.length;n++){var r=$a[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<$a.length&&(n=$a[0],n.blockedOn===null);)kw(n),n.blockedOn===null&&$a.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var o=n[r],a=n[r+1],i=o[fr]||null;if(typeof a=="function")i||Kx(n);else if(i){var l=null;if(a&&a.hasAttribute("formAction")){if(o=a,i=a[fr]||null)l=i.formAction;else if($h(o)!==null)continue}else l=i.action;typeof l=="function"?n[r+1]=l:(n.splice(r,3),r-=3),Kx(n)}}}function _w(){function e(a){a.canIntercept&&a.info==="react-transition"&&a.intercept({handler:function(){return new Promise(function(i){return o=i})},focusReset:"manual",scroll:"manual"})}function t(){o!==null&&(o(),o=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var a=navigation.currentEntry;a&&a.url!=null&&navigation.navigate(a.url,{state:a.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var r=!1,o=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),o!==null&&(o(),o=null)}}}function Kh(e){this._internalRoot=e}gf.prototype.render=Kh.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(K(409));var n=t.current,r=Or();Tw(n,r,e,t,null,null)};gf.prototype.unmount=Kh.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Tw(e.current,2,null,e,null,null),ff(),t[ms]=null}};function gf(e){this._internalRoot=e}gf.prototype.unstable_scheduleHydration=function(e){if(e){var t=l0();e={blockedOn:null,target:e,priority:t};for(var n=0;n<$a.length&&t!==0&&t<$a[n].priority;n++);$a.splice(n,0,e),n===0&&kw(e)}};var Gx=qx.version;if(Gx!=="19.2.4")throw Error(K(527,Gx,"19.2.4"));At.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(K(188)):(e=Object.keys(e).join(","),Error(K(268,e)));return e=tO(t),e=e!==null?Xx(e):null,e=e===null?null:e.stateNode,e};var C_={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:je,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(oc=__REACT_DEVTOOLS_GLOBAL_HOOK__,!oc.isDisabled&&oc.supportsFiber))try{Pc=oc.inject(C_),Tr=oc}catch{}var oc;hf.createRoot=function(e,t){if(!Wx(e))throw Error(K(299));var n=!1,r="",o=AS,a=CS,i=RS;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(a=t.onCaughtError),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=Ew(e,1,!1,null,null,n,r,null,o,a,i,_w),e[ms]=t.current,Uh(e),new Kh(t)};hf.hydrateRoot=function(e,t,n){if(!Wx(e))throw Error(K(299));var r=!1,o="",a=AS,i=CS,l=RS,s=null;return n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onUncaughtError!==void 0&&(a=n.onUncaughtError),n.onCaughtError!==void 0&&(i=n.onCaughtError),n.onRecoverableError!==void 0&&(l=n.onRecoverableError),n.formState!==void 0&&(s=n.formState)),t=Ew(e,1,!0,t,n??null,r,o,s,a,i,l,_w),t.context=Nw(null),n=t.current,r=Or(),r=Zg(r),o=Ja(r),o.callback=null,Za(n,o,r),n=r,t.current.lanes=n,jc(t,n),Do(t),e[ms]=t.current,Uh(e),new gf(t)};hf.version="19.2.4"});var Iw=No((eI,Bw)=>{"use strict";function Dw(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Dw)}catch(e){console.error(e)}}Dw(),Bw.exports=Lw()});var lA=No(Sf=>{"use strict";var m2=Symbol.for("react.transitional.element"),p2=Symbol.for("react.fragment");function iA(e,t,n){var r=null;if(n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),"key"in t){n={};for(var o in t)o!=="key"&&(n[o]=t[o])}else n=t;return t=n.ref,{$$typeof:m2,type:e,key:r,ref:t!==void 0?t:null,props:n}}Sf.Fragment=p2;Sf.jsx=iA;Sf.jsxs=iA});var te=No((cI,sA)=>{"use strict";sA.exports=lA()});var fT=B(Iw(),1);var ye=B(xe(),1);function zw(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=zw(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function yf(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=zw(e))&&(r&&(r+=" "),r+=t);return r}var Pw=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Uw=yf,bf=(e,t)=>n=>{var r;if(t?.variants==null)return Uw(e,n?.class,n?.className);let{variants:o,defaultVariants:a}=t,i=Object.keys(o).map(c=>{let d=n?.[c],u=a?.[c];if(d===null)return null;let f=Pw(d)||Pw(u);return o[c][f]}),l=n&&Object.entries(n).reduce((c,d)=>{let[u,f]=d;return f===void 0||(c[u]=f),c},{}),s=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((c,d)=>{let{class:u,className:f,...p}=d;return Object.entries(p).every(b=>{let[m,v]=b;return Array.isArray(v)?v.includes({...a,...l}[m]):{...a,...l}[m]===v})?[...c,u,f]:c},[]);return Uw(e,i,s,n?.class,n?.className)};var R_=(e,t)=>{let n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},E_=(e,t)=>({classGroupId:e,validator:t}),Kw=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n});var jw=[],N_="arbitrary..",T_=e=>{let t=O_(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return M_(i);let l=i.split("-"),s=l[0]===""&&l.length>1?1:0;return Gw(l,s,t)},getConflictingClassGroupIds:(i,l)=>{if(l){let s=r[i],c=n[i];return s?c?R_(c,s):s:c||jw}return n[i]||jw}}},Gw=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let o=e[t],a=n.nextPart.get(o);if(a){let c=Gw(e,t+1,a);if(c)return c}let i=n.validators;if(i===null)return;let l=t===0?e.join("-"):e.slice(t).join("-"),s=i.length;for(let c=0;c<s;c++){let d=i[c];if(d.validator(l))return d.classGroupId}},M_=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?N_+r:void 0})(),O_=e=>{let{theme:t,classGroups:n}=e;return k_(n,t)},k_=(e,t)=>{let n=Kw();for(let r in e){let o=e[r];qh(o,n,r,t)}return n},qh=(e,t,n,r)=>{let o=e.length;for(let a=0;a<o;a++){let i=e[a];__(i,t,n,r)}},__=(e,t,n,r)=>{if(typeof e=="string"){L_(e,t,n);return}if(typeof e=="function"){D_(e,t,n,r);return}B_(e,t,n,r)},L_=(e,t,n)=>{let r=e===""?t:qw(t,e);r.classGroupId=n},D_=(e,t,n,r)=>{if(I_(e)){qh(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(E_(n,e))},B_=(e,t,n,r)=>{let o=Object.entries(e),a=o.length;for(let i=0;i<a;i++){let[l,s]=o[i];qh(s,qw(t,l),n,r)}},qw=(e,t)=>{let n=e,r=t.split("-"),o=r.length;for(let a=0;a<o;a++){let i=r[a],l=n.nextPart.get(i);l||(l=Kw(),n.nextPart.set(i,l)),n=l}return n},I_=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,z_=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),o=(a,i)=>{n[a]=i,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(a){let i=n[a];if(i!==void 0)return i;if((i=r[a])!==void 0)return o(a,i),i},set(a,i){a in n?n[a]=i:o(a,i)}}};var P_=[],Vw=(e,t,n,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:o}),U_=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=o=>{let a=[],i=0,l=0,s=0,c,d=o.length;for(let m=0;m<d;m++){let v=o[m];if(i===0&&l===0){if(v===":"){a.push(o.slice(s,m)),s=m+1;continue}if(v==="/"){c=m;continue}}v==="["?i++:v==="]"?i--:v==="("?l++:v===")"&&l--}let u=a.length===0?o:o.slice(s),f=u,p=!1;u.endsWith("!")?(f=u.slice(0,-1),p=!0):u.startsWith("!")&&(f=u.slice(1),p=!0);let b=c&&c>s?c-s:void 0;return Vw(a,p,f,b)};if(t){let o=t+":",a=r;r=i=>i.startsWith(o)?a(i.slice(o.length)):Vw(P_,!1,i,void 0,!0)}if(n){let o=r;r=a=>n({className:a,parseClassName:o})}return r},j_=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{let r=[],o=[];for(let a=0;a<n.length;a++){let i=n[a],l=i[0]==="[",s=t.has(i);l||s?(o.length>0&&(o.sort(),r.push(...o),o=[]),r.push(i)):o.push(i)}return o.length>0&&(o.sort(),r.push(...o)),r}},V_=e=>({cache:z_(e.cacheSize),parseClassName:U_(e),sortModifiers:j_(e),...T_(e)}),F_=/\s+/,H_=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:a}=t,i=[],l=e.trim().split(F_),s="";for(let c=l.length-1;c>=0;c-=1){let d=l[c],{isExternal:u,modifiers:f,hasImportantModifier:p,baseClassName:b,maybePostfixModifierPosition:m}=n(d);if(u){s=d+(s.length>0?" "+s:s);continue}let v=!!m,h=r(v?b.substring(0,m):b);if(!h){if(!v){s=d+(s.length>0?" "+s:s);continue}if(h=r(b),!h){s=d+(s.length>0?" "+s:s);continue}v=!1}let g=f.length===0?"":f.length===1?f[0]:a(f).join(":"),y=p?g+"!":g,x=y+h;if(i.indexOf(x)>-1)continue;i.push(x);let A=o(h,v);for(let E=0;E<A.length;++E){let N=A[E];i.push(y+N)}s=d+(s.length>0?" "+s:s)}return s},$_=(...e)=>{let t=0,n,r,o="";for(;t<e.length;)(n=e[t++])&&(r=Ww(n))&&(o&&(o+=" "),o+=r);return o},Ww=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=Ww(e[r]))&&(n&&(n+=" "),n+=t);return n},K_=(e,...t)=>{let n,r,o,a,i=s=>{let c=t.reduce((d,u)=>u(d),e());return n=V_(c),r=n.cache.get,o=n.cache.set,a=l,l(s)},l=s=>{let c=r(s);if(c)return c;let d=H_(s,n);return o(s,d),d};return a=i,(...s)=>a($_(...s))},G_=[],On=e=>{let t=n=>n[e]||G_;return t.isThemeGetter=!0,t},Yw=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Qw=/^\((?:(\w[\w-]*):)?(.+)\)$/i,q_=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,W_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Y_=/\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$/,Q_=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,X_=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,J_=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,di=e=>q_.test(e),ot=e=>!!e&&!Number.isNaN(Number(e)),fi=e=>!!e&&Number.isInteger(Number(e)),Gh=e=>e.endsWith("%")&&ot(e.slice(0,-1)),Sa=e=>W_.test(e),Xw=()=>!0,Z_=e=>Y_.test(e)&&!Q_.test(e),Wh=()=>!1,e2=e=>X_.test(e),t2=e=>J_.test(e),n2=e=>!Ae(e)&&!Ce(e),r2=e=>mi(e,eA,Wh),Ae=e=>Yw.test(e),nl=e=>mi(e,tA,Z_),Fw=e=>mi(e,d2,ot),o2=e=>mi(e,rA,Xw),a2=e=>mi(e,nA,Wh),Hw=e=>mi(e,Jw,Wh),i2=e=>mi(e,Zw,t2),vf=e=>mi(e,oA,e2),Ce=e=>Qw.test(e),Yc=e=>rl(e,tA),l2=e=>rl(e,nA),$w=e=>rl(e,Jw),s2=e=>rl(e,eA),c2=e=>rl(e,Zw),xf=e=>rl(e,oA,!0),u2=e=>rl(e,rA,!0),mi=(e,t,n)=>{let r=Yw.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},rl=(e,t,n=!1)=>{let r=Qw.exec(e);return r?r[1]?t(r[1]):n:!1},Jw=e=>e==="position"||e==="percentage",Zw=e=>e==="image"||e==="url",eA=e=>e==="length"||e==="size"||e==="bg-size",tA=e=>e==="length",d2=e=>e==="number",nA=e=>e==="family-name",rA=e=>e==="number"||e==="weight",oA=e=>e==="shadow";var f2=()=>{let e=On("color"),t=On("font"),n=On("text"),r=On("font-weight"),o=On("tracking"),a=On("leading"),i=On("breakpoint"),l=On("container"),s=On("spacing"),c=On("radius"),d=On("shadow"),u=On("inset-shadow"),f=On("text-shadow"),p=On("drop-shadow"),b=On("blur"),m=On("perspective"),v=On("aspect"),h=On("ease"),g=On("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],A=()=>[...x(),Ce,Ae],E=()=>["auto","hidden","clip","visible","scroll"],N=()=>["auto","contain","none"],C=()=>[Ce,Ae,s],O=()=>[di,"full","auto",...C()],L=()=>[fi,"none","subgrid",Ce,Ae],V=()=>["auto",{span:["full",fi,Ce,Ae]},fi,Ce,Ae],z=()=>[fi,"auto",Ce,Ae],G=()=>["auto","min","max","fr",Ce,Ae],Z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ue=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...C()],oe=()=>[di,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],ee=()=>[di,"screen","full","dvw","lvw","svw","min","max","fit",...C()],W=()=>[di,"screen","full","lh","dvh","lvh","svh","min","max","fit",...C()],j=()=>[e,Ce,Ae],Ie=()=>[...x(),$w,Hw,{position:[Ce,Ae]}],ne=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Ve=()=>["auto","cover","contain",s2,r2,{size:[Ce,Ae]}],ae=()=>[Gh,Yc,nl],Se=()=>["","none","full",c,Ce,Ae],ze=()=>["",ot,Yc,nl],U=()=>["solid","dashed","dotted","double"],fe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ve=()=>[ot,Gh,$w,Hw],ke=()=>["","none",b,Ce,Ae],we=()=>["none",ot,Ce,Ae],Ne=()=>["none",ot,Ce,Ae],qe=()=>[ot,Ce,Ae],We=()=>[di,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Sa],breakpoint:[Sa],color:[Xw],container:[Sa],"drop-shadow":[Sa],ease:["in","out","in-out"],font:[n2],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Sa],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Sa],shadow:[Sa],spacing:["px",ot],text:[Sa],"text-shadow":[Sa],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",di,Ae,Ce,v]}],container:["container"],columns:[{columns:[ot,Ae,Ce,l]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"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:A()}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{"inset-s":O(),start:O()}],end:[{"inset-e":O(),end:O()}],"inset-bs":[{"inset-bs":O()}],"inset-be":[{"inset-be":O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[fi,"auto",Ce,Ae]}],basis:[{basis:[di,"full","auto",l,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ot,di,"auto","initial","none",Ae]}],grow:[{grow:["",ot,Ce,Ae]}],shrink:[{shrink:["",ot,Ce,Ae]}],order:[{order:[fi,"first","last","none",Ce,Ae]}],"grid-cols":[{"grid-cols":L()}],"col-start-end":[{col:V()}],"col-start":[{"col-start":z()}],"col-end":[{"col-end":z()}],"grid-rows":[{"grid-rows":L()}],"row-start-end":[{row:V()}],"row-start":[{"row-start":z()}],"row-end":[{"row-end":z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":G()}],"auto-rows":[{"auto-rows":G()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...Z(),"normal"]}],"justify-items":[{"justify-items":[...ue(),"normal"]}],"justify-self":[{"justify-self":["auto",...ue()]}],"align-content":[{content:["normal",...Z()]}],"align-items":[{items:[...ue(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ue(),{baseline:["","last"]}]}],"place-content":[{"place-content":Z()}],"place-items":[{"place-items":[...ue(),"baseline"]}],"place-self":[{"place-self":["auto",...ue()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mbs:[{mbs:q()}],mbe:[{mbe:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":C()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":C()}],"space-y-reverse":["space-y-reverse"],size:[{size:oe()}],"inline-size":[{inline:["auto",...ee()]}],"min-inline-size":[{"min-inline":["auto",...ee()]}],"max-inline-size":[{"max-inline":["none",...ee()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[l,"screen",...oe()]}],"min-w":[{"min-w":[l,"screen","none",...oe()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...oe()]}],h:[{h:["screen","lh",...oe()]}],"min-h":[{"min-h":["screen","lh","none",...oe()]}],"max-h":[{"max-h":["screen","lh",...oe()]}],"font-size":[{text:["base",n,Yc,nl]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,u2,o2]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Gh,Ae]}],"font-family":[{font:[l2,a2,t]}],"font-features":[{"font-features":[Ae]}],"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:[o,Ce,Ae]}],"line-clamp":[{"line-clamp":[ot,"none",Ce,Fw]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":["none",Ce,Ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,Ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:j()}],"text-color":[{text:j()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:[ot,"from-font","auto",Ce,nl]}],"text-decoration-color":[{decoration:j()}],"underline-offset":[{"underline-offset":[ot,"auto",Ce,Ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:C()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,Ae]}],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",Ce,Ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ie()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:Ve()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},fi,Ce,Ae],radial:["",Ce,Ae],conic:[fi,Ce,Ae]},c2,i2]}],"bg-color":[{bg:j()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:j()}],"gradient-via":[{via:j()}],"gradient-to":[{to:j()}],rounded:[{rounded:Se()}],"rounded-s":[{"rounded-s":Se()}],"rounded-e":[{"rounded-e":Se()}],"rounded-t":[{"rounded-t":Se()}],"rounded-r":[{"rounded-r":Se()}],"rounded-b":[{"rounded-b":Se()}],"rounded-l":[{"rounded-l":Se()}],"rounded-ss":[{"rounded-ss":Se()}],"rounded-se":[{"rounded-se":Se()}],"rounded-ee":[{"rounded-ee":Se()}],"rounded-es":[{"rounded-es":Se()}],"rounded-tl":[{"rounded-tl":Se()}],"rounded-tr":[{"rounded-tr":Se()}],"rounded-br":[{"rounded-br":Se()}],"rounded-bl":[{"rounded-bl":Se()}],"border-w":[{border:ze()}],"border-w-x":[{"border-x":ze()}],"border-w-y":[{"border-y":ze()}],"border-w-s":[{"border-s":ze()}],"border-w-e":[{"border-e":ze()}],"border-w-bs":[{"border-bs":ze()}],"border-w-be":[{"border-be":ze()}],"border-w-t":[{"border-t":ze()}],"border-w-r":[{"border-r":ze()}],"border-w-b":[{"border-b":ze()}],"border-w-l":[{"border-l":ze()}],"divide-x":[{"divide-x":ze()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ze()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...U(),"hidden","none"]}],"divide-style":[{divide:[...U(),"hidden","none"]}],"border-color":[{border:j()}],"border-color-x":[{"border-x":j()}],"border-color-y":[{"border-y":j()}],"border-color-s":[{"border-s":j()}],"border-color-e":[{"border-e":j()}],"border-color-bs":[{"border-bs":j()}],"border-color-be":[{"border-be":j()}],"border-color-t":[{"border-t":j()}],"border-color-r":[{"border-r":j()}],"border-color-b":[{"border-b":j()}],"border-color-l":[{"border-l":j()}],"divide-color":[{divide:j()}],"outline-style":[{outline:[...U(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ot,Ce,Ae]}],"outline-w":[{outline:["",ot,Yc,nl]}],"outline-color":[{outline:j()}],shadow:[{shadow:["","none",d,xf,vf]}],"shadow-color":[{shadow:j()}],"inset-shadow":[{"inset-shadow":["none",u,xf,vf]}],"inset-shadow-color":[{"inset-shadow":j()}],"ring-w":[{ring:ze()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:j()}],"ring-offset-w":[{"ring-offset":[ot,nl]}],"ring-offset-color":[{"ring-offset":j()}],"inset-ring-w":[{"inset-ring":ze()}],"inset-ring-color":[{"inset-ring":j()}],"text-shadow":[{"text-shadow":["none",f,xf,vf]}],"text-shadow-color":[{"text-shadow":j()}],opacity:[{opacity:[ot,Ce,Ae]}],"mix-blend":[{"mix-blend":[...fe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":fe()}],"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":ve()}],"mask-image-linear-to-pos":[{"mask-linear-to":ve()}],"mask-image-linear-from-color":[{"mask-linear-from":j()}],"mask-image-linear-to-color":[{"mask-linear-to":j()}],"mask-image-t-from-pos":[{"mask-t-from":ve()}],"mask-image-t-to-pos":[{"mask-t-to":ve()}],"mask-image-t-from-color":[{"mask-t-from":j()}],"mask-image-t-to-color":[{"mask-t-to":j()}],"mask-image-r-from-pos":[{"mask-r-from":ve()}],"mask-image-r-to-pos":[{"mask-r-to":ve()}],"mask-image-r-from-color":[{"mask-r-from":j()}],"mask-image-r-to-color":[{"mask-r-to":j()}],"mask-image-b-from-pos":[{"mask-b-from":ve()}],"mask-image-b-to-pos":[{"mask-b-to":ve()}],"mask-image-b-from-color":[{"mask-b-from":j()}],"mask-image-b-to-color":[{"mask-b-to":j()}],"mask-image-l-from-pos":[{"mask-l-from":ve()}],"mask-image-l-to-pos":[{"mask-l-to":ve()}],"mask-image-l-from-color":[{"mask-l-from":j()}],"mask-image-l-to-color":[{"mask-l-to":j()}],"mask-image-x-from-pos":[{"mask-x-from":ve()}],"mask-image-x-to-pos":[{"mask-x-to":ve()}],"mask-image-x-from-color":[{"mask-x-from":j()}],"mask-image-x-to-color":[{"mask-x-to":j()}],"mask-image-y-from-pos":[{"mask-y-from":ve()}],"mask-image-y-to-pos":[{"mask-y-to":ve()}],"mask-image-y-from-color":[{"mask-y-from":j()}],"mask-image-y-to-color":[{"mask-y-to":j()}],"mask-image-radial":[{"mask-radial":[Ce,Ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":ve()}],"mask-image-radial-to-pos":[{"mask-radial-to":ve()}],"mask-image-radial-from-color":[{"mask-radial-from":j()}],"mask-image-radial-to-color":[{"mask-radial-to":j()}],"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":x()}],"mask-image-conic-pos":[{"mask-conic":[ot]}],"mask-image-conic-from-pos":[{"mask-conic-from":ve()}],"mask-image-conic-to-pos":[{"mask-conic-to":ve()}],"mask-image-conic-from-color":[{"mask-conic-from":j()}],"mask-image-conic-to-color":[{"mask-conic-to":j()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ie()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:Ve()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,Ae]}],filter:[{filter:["","none",Ce,Ae]}],blur:[{blur:ke()}],brightness:[{brightness:[ot,Ce,Ae]}],contrast:[{contrast:[ot,Ce,Ae]}],"drop-shadow":[{"drop-shadow":["","none",p,xf,vf]}],"drop-shadow-color":[{"drop-shadow":j()}],grayscale:[{grayscale:["",ot,Ce,Ae]}],"hue-rotate":[{"hue-rotate":[ot,Ce,Ae]}],invert:[{invert:["",ot,Ce,Ae]}],saturate:[{saturate:[ot,Ce,Ae]}],sepia:[{sepia:["",ot,Ce,Ae]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,Ae]}],"backdrop-blur":[{"backdrop-blur":ke()}],"backdrop-brightness":[{"backdrop-brightness":[ot,Ce,Ae]}],"backdrop-contrast":[{"backdrop-contrast":[ot,Ce,Ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ot,Ce,Ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ot,Ce,Ae]}],"backdrop-invert":[{"backdrop-invert":["",ot,Ce,Ae]}],"backdrop-opacity":[{"backdrop-opacity":[ot,Ce,Ae]}],"backdrop-saturate":[{"backdrop-saturate":[ot,Ce,Ae]}],"backdrop-sepia":[{"backdrop-sepia":["",ot,Ce,Ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,Ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ot,"initial",Ce,Ae]}],ease:[{ease:["linear","initial",h,Ce,Ae]}],delay:[{delay:[ot,Ce,Ae]}],animate:[{animate:["none",g,Ce,Ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,Ce,Ae]}],"perspective-origin":[{"perspective-origin":A()}],rotate:[{rotate:we()}],"rotate-x":[{"rotate-x":we()}],"rotate-y":[{"rotate-y":we()}],"rotate-z":[{"rotate-z":we()}],scale:[{scale:Ne()}],"scale-x":[{"scale-x":Ne()}],"scale-y":[{"scale-y":Ne()}],"scale-z":[{"scale-z":Ne()}],"scale-3d":["scale-3d"],skew:[{skew:qe()}],"skew-x":[{"skew-x":qe()}],"skew-y":[{"skew-y":qe()}],transform:[{transform:[Ce,Ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:A()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:We()}],"translate-x":[{"translate-x":We()}],"translate-y":[{"translate-y":We()}],"translate-z":[{"translate-z":We()}],"translate-none":["translate-none"],accent:[{accent:j()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:j()}],"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",Ce,Ae]}],"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":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"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",Ce,Ae]}],fill:[{fill:["none",...j()]}],"stroke-w":[{stroke:[ot,Yc,nl,Fw]}],stroke:[{stroke:["none",...j()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","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","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","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-bs","border-w-be","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-bs","border-color-be","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-mbs","scroll-mbe","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-pbs","scroll-pbe","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"]}};var aA=K_(f2);function Q(...e){return aA(yf(e))}var cA=B(te(),1),g2=bf("inline-flex items-center rounded-full border px-2.5 py-1 text-[11px] font-medium tracking-wide",{variants:{variant:{default:"border-border bg-secondary text-secondary-foreground",success:"border-emerald-200 bg-emerald-50 text-emerald-700",warning:"border-amber-200 bg-amber-50 text-amber-700",danger:"border-rose-200 bg-rose-50 text-rose-700",info:"border-sky-200 bg-sky-50 text-sky-700",outline:"border-border bg-background/70 text-muted-foreground"}},defaultVariants:{variant:"default"}});function _e({className:e,variant:t,...n}){return(0,cA.jsx)("span",{className:Q(g2({variant:t}),e),...n})}var uA=B(te(),1),h2=bf("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium uppercase tracking-[0.16em] transition-colors disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-sm hover:bg-primary/92",outline:"border border-border bg-background/80 text-foreground hover:bg-accent hover:text-accent-foreground",ghost:"text-muted-foreground hover:bg-accent hover:text-accent-foreground",danger:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/92"},size:{default:"h-9 px-3.5",sm:"h-8 px-3 text-xs",lg:"h-10 px-4"}},defaultVariants:{variant:"default",size:"default"}});function H({className:e,variant:t,size:n,type:r="button",...o}){return(0,uA.jsx)("button",{className:Q(h2({variant:t,size:n}),e),type:r,...o})}var xs=B(te(),1);function Lt({className:e,...t}){return(0,xs.jsx)("section",{className:Q("rounded-2xl border border-border/70 bg-card/92 shadow-sm backdrop-blur",e),...t})}function Jr({className:e,...t}){return(0,xs.jsx)("div",{className:Q("flex flex-col gap-1.5 p-5 pb-0",e),...t})}function Bo({className:e,...t}){return(0,xs.jsx)("h2",{className:Q("text-sm font-semibold tracking-tight text-foreground",e),...t})}function pi({className:e,...t}){return(0,xs.jsx)("p",{className:Q("text-sm text-muted-foreground",e),...t})}function Dt({className:e,...t}){return(0,xs.jsx)("div",{className:Q("p-5",e),...t})}var ho=B(xe(),1);var bI=!!(typeof window<"u"&&window.document&&window.document.createElement);function vt(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o.defaultPrevented)return t?.(o)}}var fA=B(xe(),1);function dA(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Yh(...e){return t=>{let n=!1,r=e.map(o=>{let a=dA(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<r.length;o++){let a=r[o];typeof a=="function"?a():dA(e[o],null)}}}}function Tt(...e){return fA.useCallback(Yh(...e),e)}var wa=B(xe(),1),mA=B(te(),1);function Zr(e,t=[]){let n=[];function r(a,i){let l=wa.createContext(i),s=n.length;n=[...n,i];let c=u=>{let{scope:f,children:p,...b}=u,m=f?.[e]?.[s]||l,v=wa.useMemo(()=>b,Object.values(b));return(0,mA.jsx)(m.Provider,{value:v,children:p})};c.displayName=a+"Provider";function d(u,f){let p=f?.[e]?.[s]||l,b=wa.useContext(p);if(b)return b;if(i!==void 0)return i;throw new Error(`\`${u}\` must be used within \`${a}\``)}return[c,d]}let o=()=>{let a=n.map(i=>wa.createContext(i));return function(l){let s=l?.[e]||a;return wa.useMemo(()=>({[`__scope${e}`]:{...l,[e]:s}}),[l,s])}};return o.scopeName=e,[r,y2(o,...t)]}function y2(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){let i=r.reduce((l,{useScope:s,scopeName:c})=>{let u=s(a)[`__scope${c}`];return{...l,...u}},{});return wa.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var eo=B(xe(),1);var pA=B(xe(),1),on=globalThis?.document?pA.useLayoutEffect:()=>{};var wf=B(xe(),1);var b2=eo[" useInsertionEffect ".trim().toString()]||on;function Aa({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[o,a,i]=v2({defaultProp:t,onChange:n}),l=e!==void 0,s=l?e:o;{let d=eo.useRef(e!==void 0);eo.useEffect(()=>{let u=d.current;u!==l&&console.warn(`${r} is changing from ${u?"controlled":"uncontrolled"} to ${l?"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.`),d.current=l},[l,r])}let c=eo.useCallback(d=>{if(l){let u=x2(d)?d(e):d;u!==e&&i.current?.(u)}else a(d)},[l,e,a,i]);return[s,c]}function v2({defaultProp:e,onChange:t}){let[n,r]=eo.useState(e),o=eo.useRef(n),a=eo.useRef(t);return b2(()=>{a.current=t},[t]),eo.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function x2(e){return typeof e=="function"}var Af=B(xe(),1);function Cf(e){let t=Af.useRef({value:e,previous:e});return Af.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var gA=B(xe(),1);function Rf(e){let[t,n]=gA.useState(void 0);return on(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;let a=o[0],i,l;if("borderBoxSize"in a){let s=a.borderBoxSize,c=Array.isArray(s)?s[0]:s;i=c.inlineSize,l=c.blockSize}else i=e.offsetWidth,l=e.offsetHeight;n({width:i,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var hA=B(xe(),1),yA=B(Bi(),1);var kn=B(xe(),1);var Ef=B(te(),1);function ol(e){let t=S2(e),n=kn.forwardRef((r,o)=>{let{children:a,...i}=r,l=kn.Children.toArray(a),s=l.find(A2);if(s){let c=s.props.children,d=l.map(u=>u===s?kn.Children.count(c)>1?kn.Children.only(null):kn.isValidElement(c)?c.props.children:null:u);return(0,Ef.jsx)(t,{...i,ref:o,children:kn.isValidElement(c)?kn.cloneElement(c,void 0,d):null})}return(0,Ef.jsx)(t,{...i,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}function S2(e){let t=kn.forwardRef((n,r)=>{let{children:o,...a}=n;if(kn.isValidElement(o)){let i=R2(o),l=C2(a,o.props);return o.type!==kn.Fragment&&(l.ref=r?Yh(r,i):i),kn.cloneElement(o,l)}return kn.Children.count(o)>1?kn.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var w2=Symbol("radix.slottable");function A2(e){return kn.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===w2}function C2(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...l)=>{let s=a(...l);return o(...l),s}:o&&(n[r]=o):r==="style"?n[r]={...o,...a}:r==="className"&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function R2(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 bA=B(te(),1),E2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],at=E2.reduce((e,t)=>{let n=ol(`Primitive.${t}`),r=hA.forwardRef((o,a)=>{let{asChild:i,...l}=o,s=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),(0,bA.jsx)(s,{...l,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function vA(e,t){e&&yA.flushSync(()=>e.dispatchEvent(t))}var al=B(te(),1),Nf="Switch",[N2,UI]=Zr(Nf),[T2,M2]=N2(Nf),xA=ho.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:o,defaultChecked:a,required:i,disabled:l,value:s="on",onCheckedChange:c,form:d,...u}=e,[f,p]=ho.useState(null),b=Tt(t,y=>p(y)),m=ho.useRef(!1),v=f?d||!!f.closest("form"):!0,[h,g]=Aa({prop:o,defaultProp:a??!1,onChange:c,caller:Nf});return(0,al.jsxs)(T2,{scope:n,checked:h,disabled:l,children:[(0,al.jsx)(at.button,{type:"button",role:"switch","aria-checked":h,"aria-required":i,"data-state":CA(h),"data-disabled":l?"":void 0,disabled:l,value:s,...u,ref:b,onClick:vt(e.onClick,y=>{g(x=>!x),v&&(m.current=y.isPropagationStopped(),m.current||y.stopPropagation())})}),v&&(0,al.jsx)(AA,{control:f,bubbles:!m.current,name:r,value:s,checked:h,required:i,disabled:l,form:d,style:{transform:"translateX(-100%)"}})]})});xA.displayName=Nf;var SA="SwitchThumb",wA=ho.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,o=M2(SA,n);return(0,al.jsx)(at.span,{"data-state":CA(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});wA.displayName=SA;var O2="SwitchBubbleInput",AA=ho.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...o},a)=>{let i=ho.useRef(null),l=Tt(i,a),s=Cf(n),c=Rf(t);return ho.useEffect(()=>{let d=i.current;if(!d)return;let u=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(u,"checked").set;if(s!==n&&p){let b=new Event("click",{bubbles:r});p.call(d,n),d.dispatchEvent(b)}},[s,n,r]),(0,al.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:l,style:{...o.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});AA.displayName=O2;function CA(e){return e?"checked":"unchecked"}var RA=xA,EA=wA;var Qh=B(te(),1);function Io({className:e,...t}){return(0,Qh.jsx)(RA,{className:Q("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-muted transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-secondary",e),...t,children:(0,Qh.jsx)(EA,{className:"pointer-events-none block size-4 rounded-full bg-background shadow-sm transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0.5"})})}var Ra=B(xe(),1);var Pn=B(xe(),1);var gi=B(xe(),1);var Tf=B(te(),1),_2=B(xe(),1);var L2=B(te(),1);function Mf(e){let t=e+"CollectionProvider",[n,r]=Zr(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=m=>{let{scope:v,children:h}=m,g=gi.default.useRef(null),y=gi.default.useRef(new Map).current;return(0,Tf.jsx)(o,{scope:v,itemMap:y,collectionRef:g,children:h})};i.displayName=t;let l=e+"CollectionSlot",s=ol(l),c=gi.default.forwardRef((m,v)=>{let{scope:h,children:g}=m,y=a(l,h),x=Tt(v,y.collectionRef);return(0,Tf.jsx)(s,{ref:x,children:g})});c.displayName=l;let d=e+"CollectionItemSlot",u="data-radix-collection-item",f=ol(d),p=gi.default.forwardRef((m,v)=>{let{scope:h,children:g,...y}=m,x=gi.default.useRef(null),A=Tt(v,x),E=a(d,h);return gi.default.useEffect(()=>(E.itemMap.set(x,{ref:x,...y}),()=>{E.itemMap.delete(x)})),(0,Tf.jsx)(f,{[u]:"",ref:A,children:g})});p.displayName=d;function b(m){let v=a(e+"CollectionConsumer",m);return gi.default.useCallback(()=>{let g=v.collectionRef.current;if(!g)return[];let y=Array.from(g.querySelectorAll(`[${u}]`));return Array.from(v.itemMap.values()).sort((E,N)=>y.indexOf(E.ref.current)-y.indexOf(N.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:i,Slot:c,ItemSlot:p},b,r]}var Xh=B(xe(),1);var D2=Xh[" useId ".trim().toString()]||(()=>{}),B2=0;function hi(e){let[t,n]=Xh.useState(D2());return on(()=>{e||n(r=>r??String(B2++))},[e]),e||(t?`radix-${t}`:"")}var Ss=B(xe(),1);function pr(e){let t=Ss.useRef(e);return Ss.useEffect(()=>{t.current=e}),Ss.useMemo(()=>(...n)=>t.current?.(...n),[])}var Of=B(xe(),1),I2=B(te(),1),z2=Of.createContext(void 0);function ws(e){let t=Of.useContext(z2);return e||t||"ltr"}var yi=B(te(),1),Jh="rovingFocusGroup.onEntryFocus",P2={bubbles:!1,cancelable:!0},Qc="RovingFocusGroup",[Zh,NA,U2]=Mf(Qc),[j2,ey]=Zr(Qc,[U2]),[V2,F2]=j2(Qc),TA=Pn.forwardRef((e,t)=>(0,yi.jsx)(Zh.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,yi.jsx)(Zh.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,yi.jsx)(H2,{...e,ref:t})})}));TA.displayName=Qc;var H2=Pn.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:s,onEntryFocus:c,preventScrollOnEntryFocus:d=!1,...u}=e,f=Pn.useRef(null),p=Tt(t,f),b=ws(a),[m,v]=Aa({prop:i,defaultProp:l??null,onChange:s,caller:Qc}),[h,g]=Pn.useState(!1),y=pr(c),x=NA(n),A=Pn.useRef(!1),[E,N]=Pn.useState(0);return Pn.useEffect(()=>{let C=f.current;if(C)return C.addEventListener(Jh,y),()=>C.removeEventListener(Jh,y)},[y]),(0,yi.jsx)(V2,{scope:n,orientation:r,dir:b,loop:o,currentTabStopId:m,onItemFocus:Pn.useCallback(C=>v(C),[v]),onItemShiftTab:Pn.useCallback(()=>g(!0),[]),onFocusableItemAdd:Pn.useCallback(()=>N(C=>C+1),[]),onFocusableItemRemove:Pn.useCallback(()=>N(C=>C-1),[]),children:(0,yi.jsx)(at.div,{tabIndex:h||E===0?-1:0,"data-orientation":r,...u,ref:p,style:{outline:"none",...e.style},onMouseDown:vt(e.onMouseDown,()=>{A.current=!0}),onFocus:vt(e.onFocus,C=>{let O=!A.current;if(C.target===C.currentTarget&&O&&!h){let L=new CustomEvent(Jh,P2);if(C.currentTarget.dispatchEvent(L),!L.defaultPrevented){let V=x().filter(q=>q.focusable),z=V.find(q=>q.active),G=V.find(q=>q.id===m),ue=[z,G,...V].filter(Boolean).map(q=>q.ref.current);kA(ue,d)}}A.current=!1}),onBlur:vt(e.onBlur,()=>g(!1))})})}),MA="RovingFocusGroupItem",OA=Pn.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:a,children:i,...l}=e,s=hi(),c=a||s,d=F2(MA,n),u=d.currentTabStopId===c,f=NA(n),{onFocusableItemAdd:p,onFocusableItemRemove:b,currentTabStopId:m}=d;return Pn.useEffect(()=>{if(r)return p(),()=>b()},[r,p,b]),(0,yi.jsx)(Zh.ItemSlot,{scope:n,id:c,focusable:r,active:o,children:(0,yi.jsx)(at.span,{tabIndex:u?0:-1,"data-orientation":d.orientation,...l,ref:t,onMouseDown:vt(e.onMouseDown,v=>{r?d.onItemFocus(c):v.preventDefault()}),onFocus:vt(e.onFocus,()=>d.onItemFocus(c)),onKeyDown:vt(e.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){d.onItemShiftTab();return}if(v.target!==v.currentTarget)return;let h=G2(v,d.orientation,d.dir);if(h!==void 0){if(v.metaKey||v.ctrlKey||v.altKey||v.shiftKey)return;v.preventDefault();let y=f().filter(x=>x.focusable).map(x=>x.ref.current);if(h==="last")y.reverse();else if(h==="prev"||h==="next"){h==="prev"&&y.reverse();let x=y.indexOf(v.currentTarget);y=d.loop?q2(y,x+1):y.slice(x+1)}setTimeout(()=>kA(y))}}),children:typeof i=="function"?i({isCurrentTabStop:u,hasTabStop:m!=null}):i})})});OA.displayName=MA;var $2={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function K2(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function G2(e,t,n){let r=K2(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return $2[r]}function kA(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function q2(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var _A=TA,LA=OA;var gr=B(xe(),1);var DA=B(xe(),1);function Y2(e,t){return DA.useReducer((n,r)=>t[n][r]??n,e)}var ty=e=>{let{present:t,children:n}=e,r=Q2(t),o=typeof n=="function"?n({present:r.isPresent}):gr.Children.only(n),a=Tt(r.ref,X2(o));return typeof n=="function"||r.isPresent?gr.cloneElement(o,{ref:a}):null};ty.displayName="Presence";function Q2(e){let[t,n]=gr.useState(),r=gr.useRef(null),o=gr.useRef(e),a=gr.useRef("none"),i=e?"mounted":"unmounted",[l,s]=Y2(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return gr.useEffect(()=>{let c=kf(r.current);a.current=l==="mounted"?c:"none"},[l]),on(()=>{let c=r.current,d=o.current;if(d!==e){let f=a.current,p=kf(c);e?s("MOUNT"):p==="none"||c?.display==="none"?s("UNMOUNT"):s(d&&f!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,s]),on(()=>{if(t){let c,d=t.ownerDocument.defaultView??window,u=p=>{let m=kf(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&m&&(s("ANIMATION_END"),!o.current)){let v=t.style.animationFillMode;t.style.animationFillMode="forwards",c=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=v)})}},f=p=>{p.target===t&&(a.current=kf(r.current))};return t.addEventListener("animationstart",f),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{d.clearTimeout(c),t.removeEventListener("animationstart",f),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else s("ANIMATION_END")},[t,s]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:gr.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function kf(e){return e?.animationName||"none"}function X2(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 Ca=B(te(),1),_f="Tabs",[J2,xz]=Zr(_f,[ey]),BA=ey(),[Z2,ny]=J2(_f),IA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:i="horizontal",dir:l,activationMode:s="automatic",...c}=e,d=ws(l),[u,f]=Aa({prop:r,onChange:o,defaultProp:a??"",caller:_f});return(0,Ca.jsx)(Z2,{scope:n,baseId:hi(),value:u,onValueChange:f,orientation:i,dir:d,activationMode:s,children:(0,Ca.jsx)(at.div,{dir:d,"data-orientation":i,...c,ref:t})})});IA.displayName=_f;var zA="TabsList",PA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...o}=e,a=ny(zA,n),i=BA(n);return(0,Ca.jsx)(_A,{asChild:!0,...i,orientation:a.orientation,dir:a.dir,loop:r,children:(0,Ca.jsx)(at.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});PA.displayName=zA;var UA="TabsTrigger",jA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,i=ny(UA,n),l=BA(n),s=HA(i.baseId,r),c=$A(i.baseId,r),d=r===i.value;return(0,Ca.jsx)(LA,{asChild:!0,...l,focusable:!o,active:d,children:(0,Ca.jsx)(at.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":c,"data-state":d?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:s,...a,ref:t,onMouseDown:vt(e.onMouseDown,u=>{!o&&u.button===0&&u.ctrlKey===!1?i.onValueChange(r):u.preventDefault()}),onKeyDown:vt(e.onKeyDown,u=>{[" ","Enter"].includes(u.key)&&i.onValueChange(r)}),onFocus:vt(e.onFocus,()=>{let u=i.activationMode!=="manual";!d&&!o&&u&&i.onValueChange(r)})})})});jA.displayName=UA;var VA="TabsContent",FA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:o,children:a,...i}=e,l=ny(VA,n),s=HA(l.baseId,r),c=$A(l.baseId,r),d=r===l.value,u=Ra.useRef(d);return Ra.useEffect(()=>{let f=requestAnimationFrame(()=>u.current=!1);return()=>cancelAnimationFrame(f)},[]),(0,Ca.jsx)(ty,{present:o||d,children:({present:f})=>(0,Ca.jsx)(at.div,{"data-state":d?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":s,hidden:!f,id:c,tabIndex:0,...i,ref:t,style:{...e.style,animationDuration:u.current?"0s":void 0},children:f&&a})})});FA.displayName=VA;function HA(e,t){return`${e}-trigger-${t}`}function $A(e,t){return`${e}-content-${t}`}var KA=IA,GA=PA,qA=jA,WA=FA;var Xc=B(te(),1);function bi(e){return(0,Xc.jsx)(KA,{...e})}function vi({className:e,...t}){return(0,Xc.jsx)(GA,{className:Q("inline-flex h-9 items-center gap-1 rounded-xl border border-border/70 bg-secondary/70 p-1",e),...t})}function Gn({className:e,...t}){return(0,Xc.jsx)(qA,{className:Q("inline-flex h-7 items-center justify-center rounded-lg px-3 text-sm text-muted-foreground transition data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...t})}function qn({className:e,...t}){return(0,Xc.jsx)(WA,{className:Q("mt-4 outline-none",e),...t})}var Oz=Object.freeze({web_search_requests:0,web_fetch_requests:0}),kz=Object.freeze({ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0});var ry=Object.freeze(["gpt-5.3-codex","gpt-5.2-codex","gpt-5.1-codex-mini"]),oy=Object.freeze(["claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5"]),Vz=Object.freeze({authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",deviceCodeUrl:"https://auth.openai.com/oauth/device/code",callbackPort:1455,callbackPath:"/auth/callback",scopes:"openid profile email offline_access",clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeParams:Object.freeze({id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}),tokenRefreshBufferMs:300*1e3}),Fz=Object.freeze({authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://platform.claude.com/v1/oauth/token",callbackPort:1456,callbackPath:"/callback",manualRedirectUrl:"https://platform.claude.com/oauth/code/callback",scopes:"user:profile user:inference user:sessions:claude_code user:mcp_servers",clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeParams:Object.freeze({code:"true"}),oauthBeta:"oauth-2025-04-20",apiBaseUrl:"https://api.anthropic.com",messagesPath:"/v1/messages?beta=true",tokenRefreshBufferMs:300*1e3});var nL="127.0.0.1";var Jc=`http://${nL}:8376`,$z=`${Jc}/openai/v1`,Kz=`${Jc}/anthropic`,Gz=Object.freeze({enabled:!0});var Mt="default",rL="AICodeClient",oL="1.0.0",o3=iL();var a3=Object.freeze({CHATGPT_CODEX:"chatgpt-codex",CLAUDE_CODE:"claude-code"});var i3=Object.freeze(["5m","10m","30m","1h","24h","-1","0"]);function aL(){if(typeof process>"u"||!process)return{runtime:"runtime/unknown",platform:"unknown",arch:"unknown"};let e=process?.versions?.node?String(process.versions.node):"",t=e?`node/${e}`:"runtime/unknown",n=process?.platform?String(process.platform):"unknown",r=process?.arch?String(process.arch):"unknown";return{runtime:t,platform:n,arch:r}}function iL(){let{runtime:e,platform:t,arch:n}=aL();return`${rL}/${oL} (${t}; ${n}) ${e}`}var l3=Object.freeze(["brave","tavily","exa","searxng"]),s3=Object.freeze({brave:1e3,tavily:1e3,exa:1e3,searxng:0});var Lf=Object.freeze([Object.freeze({id:"@anthropic-opus",description:"Anthropic Opus family used by AMP smart-like flows.",match:[{vendor:"anthropic",family:"opus",variantAbsent:!0}],defaultMatch:"claude-opus-{number}"}),Object.freeze({id:"@anthropic-sonnet",description:"Anthropic Sonnet family used by AMP librarian-like flows.",match:[{vendor:"anthropic",family:"sonnet",variantAbsent:!0}],defaultMatch:"claude-sonnet-{number}"}),Object.freeze({id:"@anthropic-haiku-shared",description:"Anthropic Haiku family shared by AMP rush/title-like flows.",match:[{vendor:"anthropic",family:"haiku",variantAbsent:!0}],defaultMatch:"claude-haiku-{number}"}),Object.freeze({id:"@openai-gpt-base",description:"Base GPT family currently observed for AMP Oracle-like flows.",match:[{vendor:"openai",family:"gpt",variantAbsent:!0}],defaultMatch:"gpt-{number}"}),Object.freeze({id:"@openai-gpt-codex",description:"OpenAI GPT Codex family used by AMP deep-like flows.",match:[{vendor:"openai",family:"gpt",variantPrefix:"codex"},"gpt-*-codex*"],defaultMatch:"gpt-*-codex*"}),Object.freeze({id:"@google-gemini-pro",description:"Google Gemini Pro family used by AMP review-like flows.",match:[{vendor:"google",family:"gemini",variant:"pro"},"gemini-*-pro*"],defaultMatch:"gemini-*-pro*"}),Object.freeze({id:"@google-gemini-pro-image",description:"Google Gemini image family used by AMP painter-like flows.",match:["gemini-3-pro-image","gemini-3-pro-image*","gemini-*-image*"],defaultMatch:"gemini-*-image*"}),Object.freeze({id:"@google-gemini-flash-shared",description:"Google Gemini Flash family shared by AMP search/look-at/handoff-like flows.",match:[{vendor:"google",family:"gemini",variantPrefix:"flash"},"gemini-*-flash*"],defaultMatch:"gemini-*-flash*"})]),Zc=Object.freeze([Object.freeze({id:"smart",type:"mode",description:"Unconstrained state-of-the-art model use",signatures:["@anthropic-opus"]}),Object.freeze({id:"rush",type:"mode",description:"Faster and cheaper, for small well-defined tasks",signatures:["@anthropic-haiku-shared"]}),Object.freeze({id:"deep",type:"mode",description:"Deep reasoning with extended thinking",signatures:["@openai-gpt-codex"]}),Object.freeze({id:"review",type:"feature",description:"Bug identification and code review assistance",signatures:["@google-gemini-pro"]}),Object.freeze({id:"search",type:"agent",description:"Fast, accurate codebase retrieval",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"oracle",type:"agent",description:"Complex reasoning and planning on code",signatures:["@openai-gpt-base"]}),Object.freeze({id:"librarian",type:"agent",description:"Large-scale retrieval and research on external code",signatures:["@anthropic-sonnet"]}),Object.freeze({id:"look-at",type:"system",description:"Image, PDF, and media file analysis",aliases:["look at","lookat"],signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"painter",type:"system",description:"Image generation and editing",signatures:["@google-gemini-pro-image"]}),Object.freeze({id:"handoff",type:"system",description:"Fallback context analysis for task continuation",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"title",type:"system",description:"Fast title generation for threads",aliases:["titling"],signatures:["@anthropic-haiku-shared"]})]),c3=Object.freeze([Object.freeze({id:"oracle",patterns:["/^gpt-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"librarian",patterns:["/^(?:claude-)?sonnet-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"title",patterns:["/^(?:claude-)?haiku-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"painter",patterns:["gemini-3-pro-image","gemini-3-pro-image*"]}),Object.freeze({id:"search",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"look-at",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"handoff",patterns:["gemini-3-flash","gemini-3-flash*"]})]);var ay=["second","minute","hour","day","week","month"];function zo(e,t=0){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function il(e,t=""){let n=String(e||"").trim().toLowerCase();return ay.includes(n)?n:t}function YA(e,t=1){let n=String(e||"").trim().toLowerCase().replace(/s$/,"");return n?Number(t)===1?n:`${n}s`:"windows"}function yo(e=[]){let t=[],n=new Set;for(let r of Array.isArray(e)?e:[e]){let o=String(r||"").trim();if(o){if(o.toLowerCase()==="all")return["all"];n.has(o)||(n.add(o),t.push(o))}}return t}function eu({requests:e,windowValue:t,windowUnit:n}){let r=zo(e,0),o=zo(t,0),a=il(n,"");return!r||!o||!a?"":`${r}-req-per-${o}-${YA(a,o)}`}function QA(e={}){let t=zo(e?.requests??e?.limit,0),n=zo(e?.window?.size??e?.window?.value??e?.windowValue,0),r=il(e?.window?.unit??e?.windowUnit,"");return!t||!n||!r?"Unconfigured":`${t}/${n} ${YA(r,n)}`}function Po(e=[],{knownModelIds:t=[],requireAtLeastOne:n=!0}={}){let r=Array.isArray(e)?e:[];if(n&&r.length===0)return"Add at least one rate-limit entity.";let o=new Set((t||[]).map(i=>String(i||"").trim()).filter(Boolean)),a=new Set;for(let i of r){let l=yo(i?.models||[]);if(o.size>0&&l.some(f=>f!=="all"&&!o.has(f)))return"Rate-limit model selectors must match the provider model ids.";let s=zo(i?.requests,0);if(!s)return"Rate-limit requests must be a positive integer.";let c=zo(i?.windowValue,0);if(!c)return"Rate-limit window size must be a positive integer.";let d=il(i?.windowUnit,"");if(!d)return"Rate-limit window unit is invalid.";let u=eu({requests:s,windowValue:c,windowUnit:d});if(a.has(u))return"Duplicate rate-limit entities are not allowed.";a.add(u)}return""}function tu(e=[],{existingBucketsBySourceId:t=new Map,fallbackRequests:n=60,fallbackWindowValue:r=1,fallbackWindowUnit:o="minute"}={}){return(Array.isArray(e)?e:[]).map((a,i)=>{let l=String(a?.sourceId||"").trim(),s=l&&t instanceof Map&&t.has(l)?structuredClone(t.get(l)):{},c=zo(a?.requests,zo(s?.requests??s?.limit,n)),d=zo(a?.windowValue,zo(s?.window?.size??s?.window?.value,r)),u=il(a?.windowUnit,il(s?.window?.unit,o)||o),f=yo(a?.models||[]),p=f.length>0?f:["all"],b={...s,id:eu({requests:c,windowValue:d,windowUnit:u})||`rate-limit-${i+1}`,models:p,requests:c,window:{...s?.window&&typeof s.window=="object"&&!Array.isArray(s.window)?s.window:{},size:d,unit:u}};return delete b.name,delete b.limit,b.window&&typeof b.window=="object"&&delete b.window.value,b})}function nu(e){return JSON.parse(JSON.stringify(e??{}))}function Df(e=[]){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim();!o||t.has(o)||(t.add(o),n.push(o))}return n}function JA(e){let t=String(e||"").trim();return t?t.startsWith("alias:")?t.slice(6).trim():t:""}function lL(e={},t={}){let n=t?.[Mt];if(n&&typeof n=="object"&&!Array.isArray(n))return{...n,id:Mt,strategy:String(n.strategy||"ordered").trim()||"ordered",targets:hr(n.targets||[],a=>a),fallbackTargets:hr(n.fallbackTargets||[],a=>a)};let r=String(e?.defaultModel||"").trim();if(!r||r==="smart")return{id:Mt,strategy:"ordered",targets:[],fallbackTargets:[]};let o=JA(r);if(o&&t?.[o]){let a=t[o];return{...a,id:Mt,strategy:String(a.strategy||"ordered").trim()||"ordered",targets:hr(a.targets||[],i=>i),fallbackTargets:hr(a.fallbackTargets||[],i=>i)}}return{id:Mt,strategy:"ordered",targets:r?[{ref:r}]:[],fallbackTargets:[]}}function sL(e={}){return(!e.modelAliases||typeof e.modelAliases!="object"||Array.isArray(e.modelAliases))&&(e.modelAliases={}),e.modelAliases[Mt]=lL(e,e.modelAliases),e}function cL(e={}){let t=new Set;for(let n of Object.keys(e?.modelAliases||{})){let r=String(n||"").trim();r&&t.add(r)}for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();a&&t.add(`${r}/${a}`)}}return t}function uL(e={}){let t=Object.keys(e?.modelAliases||{}).map(n=>String(n||"").trim()).filter(Boolean);if(t.includes(Mt))return Mt;if(t.length>0)return t[0];for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();if(a)return`${r}/${a}`}}return""}function Bf(e={}){sL(e);let t=cL(e);if(e.defaultModel=Mt,!e.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=String(e.amp.defaultRoute||"").trim();if(!n||!t.has(JA(n))){let r=String(e.defaultModel||"").trim()||uL(e);r?e.amp.defaultRoute=r:delete e.amp.defaultRoute}return e}function As(e,t,n,r){let o=String(e||"").trim();if(!o)return"";let a=`${t}/`;if(!o.startsWith(a))return o;let i=o.slice(a.length),l=n.get(i)||i;return r.has(l)?`${t}/${l}`:""}function Cs(e,t,n=""){let r=String(e||"").trim();if(!r)return"";let o=`${t}/`;return r.startsWith(o)?n?`${n}/${r.slice(o.length)}`:"":r}function ZA(e=[]){return Df(Array.isArray(e)?e:[e])}function dL(e={},t={}){let n={...e};if(!Object.prototype.hasOwnProperty.call(t||{},"credentialInput"))return n;let o=String(t?.credentialInput||"").trim();return delete n.apiKey,delete n.apiKeyEnv,delete n.credential,o?/^[A-Z][A-Z0-9_]*$/.test(o)?(n.apiKeyEnv=o,n):(n.apiKey=o,n):n}function fL(e={},t=[]){let n={...e},r=ZA(t),o=String(r[0]||"").trim(),a=n.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{...n.metadata}:null,i=r.length>1||!!(a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates"));if(!o)delete n.baseUrl,delete n.baseUrlByFormat,a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates")&&delete a.endpointCandidates;else{n.baseUrl=o;let l=n.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"&&!Array.isArray(n.baseUrlByFormat)?n.baseUrlByFormat:null;l&&Object.keys(l).length>0&&(n.baseUrlByFormat=Object.fromEntries(Object.keys(l).map(s=>[s,o]))),i&&(a=a||{},a.endpointCandidates=r)}return a&&Object.keys(a).length>0?n.metadata=a:a&&delete n.metadata,n}function mL(e={}){return e?.rateLimitLimit!==void 0||e?.rateLimitWindowValue!==void 0||e?.rateLimitWindowUnit!==void 0?[{sourceId:String(e?.rateLimitSourceId||"").trim(),models:["all"],requests:e?.rateLimitLimit,windowValue:e?.rateLimitWindowValue,windowUnit:e?.rateLimitWindowUnit}]:[]}function pL(e={},t={},n=""){let r={...e},o=Array.isArray(r.rateLimits)?r.rateLimits.map(u=>u&&typeof u=="object"?nu(u):u).filter(Boolean):[],a=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:mL(t),i=o[0]&&typeof o[0]=="object"?o[0]:null,l=Number(i?.requests??i?.limit)||60,s=Number(i?.window?.size??i?.window?.value)||1,c=String(i?.window?.unit||"minute").trim()||"minute",d=new Map(o.map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u));return r.rateLimits=tu(a,{existingBucketsBySourceId:d,fallbackRequests:l,fallbackWindowValue:s,fallbackWindowUnit:c}),r}function Uo(e,t,n=""){let r=String(e||"").trim();return r?r===t?n:r===`alias:${t}`?n?`alias:${n}`:"":r:""}function hr(e=[],t){let n=new Set,r=[];for(let o of Array.isArray(e)?e:[]){let a=String(o?.ref||"").trim();if(!a)continue;let i=String(t(a)||"").trim();!i||n.has(i)||(n.add(i),r.push({...o,ref:i}))}return r}function ru(e={},t){if(!e?.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=e.amp,r={};for(let[o,a]of Object.entries(n.routes&&typeof n.routes=="object"&&!Array.isArray(n.routes)?n.routes:{})){let i=String(t(a)||"").trim();i&&(r[o]=i)}return n.routes=r,n.rawModelRoutes=(Array.isArray(n.rawModelRoutes)?n.rawModelRoutes:[]).map(o=>{if(!o||typeof o!="object")return null;if(!Object.prototype.hasOwnProperty.call(o,"to"))return{...o};let a=String(t(o.to)||"").trim();return a?{...o,to:a}:null}).filter(Boolean),e}function eC(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},n={};for(let[r,o]of Object.entries(t)){let a=hr(o?.targets||[],l=>l),i=hr(o?.fallbackTargets||[],l=>l);n[r]={...o,targets:a,fallbackTargets:i}}return e.modelAliases=n,ru(e,r=>r),Bf(e)}function gL(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.id||"").trim(),a=String(r?.sourceId||r?.originalId||"").trim();if(!o||t.has(o))continue;t.add(o);let i=Number.parseInt(String(r?.contextWindow||"").trim(),10),l=r?.capabilities&&typeof r.capabilities=="object"&&Object.keys(r.capabilities).length>0?r.capabilities:void 0;n.push({id:o,sourceId:a,contextWindow:Number.isFinite(i)&&i>0?i:null,...l?{capabilities:l}:{}})}return n}function XA(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.ref||"").trim(),a=String(r?.sourceRef||r?.originalRef||"").trim(),i=String(r?.weight??"").trim(),l=Math.floor(Number(i));!o||t.has(o)||(t.add(o),n.push({ref:o,sourceRef:a,...i?{weight:Number.isFinite(l)&&l>0?l:1}:{}}))}return n}function iy(e={},t,n=[]){let r=nu(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(v=>v?.id===t);if(a===-1)return r;let i=o[a],l=Array.isArray(i?.models)?i.models:[],s=new Map(l.map(v=>[String(v?.id||"").trim(),v])),c=gL(n),d=new Set,u=new Map,f=[];for(let v of c){let h=v.sourceId&&s.has(v.sourceId)&&!d.has(v.sourceId)?v.sourceId:"",g=!h&&s.has(v.id)&&!d.has(v.id)?v.id:"",y=h||g;if(y){d.add(y),y!==v.id&&u.set(y,v.id);let x={...s.get(y),id:v.id,...v.contextWindow?{contextWindow:v.contextWindow}:{}};v.contextWindow||delete x.contextWindow,v.capabilities&&typeof v.capabilities=="object"&&Object.keys(v.capabilities).length>0?x.capabilities=v.capabilities:delete x.capabilities,f.push(x);continue}f.push({id:v.id,...v.contextWindow?{contextWindow:v.contextWindow}:{},...v.capabilities&&typeof v.capabilities=="object"&&Object.keys(v.capabilities).length>0?{capabilities:v.capabilities}:{}})}let p=new Set(f.map(v=>String(v?.id||"").trim()).filter(Boolean));i.models=f,i.rateLimits=(Array.isArray(i.rateLimits)?i.rateLimits:[]).map(v=>{let h=Array.isArray(v?.models)?v.models:[];return{...v,models:Df(h.map(g=>{if(String(g||"").trim()==="all")return"all";let y=u.get(String(g||"").trim())||String(g||"").trim();return p.has(y)?y:""}))}}),r.providers=o.map((v,h)=>h===a?i:v).map(v=>({...v,models:(Array.isArray(v?.models)?v.models:[]).map(h=>Array.isArray(h?.fallbackModels)?{...h,fallbackModels:Df(h.fallbackModels.map(g=>As(g,t,u,p)))}:h)}));let b=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},m={};for(let[v,h]of Object.entries(b)){let g=hr(h?.targets||[],x=>As(x,t,u,p)),y=hr(h?.fallbackTargets||[],x=>As(x,t,u,p));m[v]={...h,targets:g,fallbackTargets:y}}return r.modelAliases=m,r.defaultModel=As(r.defaultModel,t,u,p),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=As(r.amp.defaultRoute,t,u,p)),ru(r,v=>As(v,t,u,p)),Bf(r)}function ly(e={},t="",n={}){let r=nu(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(p=>p?.id===t);if(a===-1)return r;let i=o[a]||{},l=String(n?.id||t||"").trim(),s=String(n?.name??i?.name??"").trim(),c=ZA(Array.isArray(n?.endpoints)?n.endpoints:[n?.endpoint]),d=i?.type==="subscription",u=l||t,f={...i,id:u,name:s||u};if(d||(f=dL(f,n),f=fL(f,c),f=pL(f,n,u)),o[a]=f,r.providers=o.map(p=>({...p,models:(Array.isArray(p?.models)?p.models:[]).map(b=>Array.isArray(b?.fallbackModels)?{...b,fallbackModels:Df(b.fallbackModels.map(m=>Cs(m,t,u)))}:b)})),u!==t){let p=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},b={};for(let[m,v]of Object.entries(p))b[m]={...v,targets:hr(v?.targets||[],h=>Cs(h,t,u)),fallbackTargets:hr(v?.fallbackTargets||[],h=>Cs(h,t,u))};r.modelAliases=b,r.defaultModel=Cs(r.defaultModel,t,u),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Cs(r.amp.defaultRoute,t,u)),ru(r,m=>Cs(m,t,u))}return Bf(r)}function tC(e={},t="",n={}){let r=nu(e),o=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},a=t?o[t]:void 0,i=t===Mt?Mt:String(n?.id||t||"").trim();if(!i)return r;let l=new Map((a?.targets||[]).map(p=>[String(p?.ref||"").trim(),p])),s=new Map((a?.fallbackTargets||[]).map(p=>[String(p?.ref||"").trim(),p])),c=new Set,d=XA(n?.targets).map(p=>{let b=p.sourceRef&&l.has(p.sourceRef)&&!c.has(p.sourceRef)?p.sourceRef:l.has(p.ref)&&!c.has(p.ref)?p.ref:"";return b&&c.add(b),{...b?l.get(b):{},ref:p.ref,...p.weight!==void 0?{weight:p.weight}:{}}}),u=new Set,f=XA(n?.fallbackTargets).map(p=>{let b=p.sourceRef&&s.has(p.sourceRef)&&!u.has(p.sourceRef)?p.sourceRef:s.has(p.ref)&&!u.has(p.ref)?p.ref:"";return b&&u.add(b),{...b?s.get(b):{},ref:p.ref,...p.weight!==void 0?{weight:p.weight}:{}}});if(t&&t!==i&&delete o[t],o[i]={...a?.metadata?{metadata:a.metadata}:{},...n?.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{metadata:n.metadata}:{},id:i,strategy:String(n?.strategy||a?.strategy||"ordered").trim()||"ordered",targets:d,fallbackTargets:f},r.modelAliases=o,t&&t!==i){for(let[p,b]of Object.entries(o))p!==i&&(b.targets=hr(b?.targets||[],m=>Uo(m,t,i)),b.fallbackTargets=hr(b?.fallbackTargets||[],m=>Uo(m,t,i)));r.defaultModel=Uo(r.defaultModel,t,i),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Uo(r.amp.defaultRoute,t,i)),ru(r,p=>Uo(p,t,i))}return eC(r)}function nC(e={},t=""){let n=nu(e),r=String(t||"").trim();if(!r)return n;let o=n.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(!Object.prototype.hasOwnProperty.call(o,r))return n;if(r===Mt)return o[r]={...o[r],id:Mt,strategy:String(o[r]?.strategy||"ordered").trim()||"ordered",targets:[],fallbackTargets:[]},n.modelAliases=o,Bf(n);delete o[r],n.modelAliases=o;for(let a of Object.values(o))a.targets=hr(a?.targets||[],i=>Uo(i,r)),a.fallbackTargets=hr(a?.fallbackTargets||[],i=>Uo(i,r));return n.defaultModel=Uo(n.defaultModel,r),n?.amp&&typeof n.amp=="object"&&!Array.isArray(n.amp)&&(n.amp.defaultRoute=Uo(n.amp.defaultRoute,r)),ru(n,a=>Uo(a,r)),eC(n)}function rC(e="",t={}){return{id:String(e||t?.id||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map((n,r)=>({key:`target-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)})),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map((n,r)=>({key:`fallback-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)}))}}function oC(e={}){return(Array.isArray(e?.models)?e.models:[]).map((t,n)=>({key:`model-${e?.id||"provider"}-${n}-${String(t?.id||"").trim()||"empty"}`,id:String(t?.id||"").trim(),sourceId:String(t?.id||"").trim(),contextWindow:Number.isFinite(t?.contextWindow)?String(Math.floor(Number(t.contextWindow))):"",...t?.capabilities?{capabilities:{...t.capabilities}}:{}}))}var sy="__codex_cli_inherit__",g3=Object.freeze(["minimal","low","medium","high","xhigh"]),hL=Object.freeze(["low","medium","high","xhigh","max"]),h3=Object.freeze({low:4096,medium:12e3,high:24e3,xhigh:28e3,max:31999});function If(e){return String(e||"").trim()===sy}function yL(e){let t=String(e||"").trim().toLowerCase();return hL.includes(t)?t:""}var aC=yL;var bL=Object.freeze(["off","none","low","medium","high"]);function vL(e){let t=String(e||"").trim();return t.startsWith("custom:")?t.slice(7).trim():t}function zf(e){let t=vL(e);if(!t.startsWith("llm-"))return null;if(t.startsWith("llm-alias:")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:i}:null}if(t.startsWith("llm-alias-")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:""}:null}let n=t.slice(4),r=n.indexOf(":");if(r<=0)return null;let o=n.slice(0,r).trim(),a=n.slice(r+1).trim();return!o||!a?null:{kind:"model",providerId:o,modelId:a,routeRef:`${o}/${a}`}}function iC(e){let t=String(e||"").trim().toLowerCase();return bL.includes(t)?t:""}var Xe={"content-type":"application/json"},cy={info:"bg-sky-50 text-sky-700 ring-sky-100",success:"bg-emerald-50 text-emerald-700 ring-emerald-100",warn:"bg-amber-50 text-amber-700 ring-amber-100",error:"bg-rose-50 text-rose-700 ring-rose-100"},lC=[{value:"usage",label:"Request / response"},{value:"router",label:"LLM Router"},{value:"all",label:"All categories"}],ou={usage:{label:"Request / response",badgeVariant:"info",emptyLabel:"request/response"},router:{label:"LLM Router",badgeVariant:"outline",emptyLabel:"LLM Router"}},sC="https://github.com/khanglvm/llm-router",cC="https://github.com/sponsors/khanglvm",no="AICodeClient/1.0.0",uC=3e3,Pf=4e3,dC=100,fC=6,ll=/^[a-z][a-z0-9-]*$/,mC=/^[A-Za-z0-9][A-Za-z0-9._:\-\[\]]*$/,pC=[{value:"api",label:"API Key",description:"Test endpoint + model candidates with an API key env before saving."},{value:"subscription",label:"Subscription",description:"Use an OAuth subscription login with ChatGPT or Claude models."}],Uf=[{value:"auto",label:"Auto"},{value:"ordered",label:"Ordered"},{value:"round-robin",label:"Round robin"},{value:"weighted-rr",label:"Weighted RR"},{value:"quota-aware-weighted-rr",label:"Quota-aware weighted RR"}],jf=Object.fromEntries(Uf.map(e=>[e.value,e.label])),gC=Object.freeze([{value:"minimal",label:"Minimal",hint:"Fastest supported reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Deeper reasoning"},{value:"xhigh",label:"XHigh",hint:"Model-dependent extra depth"}]),hC=Object.freeze([{value:"low",label:"Low",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=low"},{value:"medium",label:"Medium",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=medium"},{value:"high",label:"High",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=high"},{value:"xhigh",label:"XHigh",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=xhigh"},{value:"max",label:"Max",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=max"}]),yC=Object.freeze([{value:"off",label:"Off",hint:"Disable reasoning"},{value:"none",label:"None",hint:"No extended reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Maximum reasoning depth"}]),uy=ay;var bC=Object.freeze([{value:"ordered",label:"Ordered"},{value:"quota-balance",label:"Quota balance"}]),Vf=Object.freeze([Object.freeze({id:"brave",label:"Brave",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"brv_...",defaultLimit:1e3}),Object.freeze({id:"tavily",label:"Tavily",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"tvly-...",defaultLimit:1e3}),Object.freeze({id:"exa",label:"Exa",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"exa_...",defaultLimit:1e3}),Object.freeze({id:"searxng",label:"SearXNG",credentialField:"url",credentialLabel:"Base URL",credentialPlaceholder:"https://searx.example.com",defaultLimit:0})]),Ea=Object.fromEntries(Vf.map(e=>[e.id,e])),xi=5,au=1,iu=20,Rs="w-[5.5rem] justify-self-end",dy=["border-primary/45","bg-primary/5"],fy=[{value:"5m",label:"5 minutes"},{value:"10m",label:"10 minutes"},{value:"30m",label:"30 minutes"},{value:"1h",label:"1 hour"},{value:"24h",label:"24 hours"},{value:"-1",label:"Forever (blocks eviction)"},{value:"0",label:"Disabled (unload immediately)"}];var nt=B(te(),1);function Es({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,nt.jsx)("circle",{cx:"5",cy:"4",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"4",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"5",cy:"8",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"8",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"5",cy:"12",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"12",r:"1.25",fill:"currentColor"})]})}function vC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,nt.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function xC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56 0-.28-.01-1.2-.02-2.18-3.2.69-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.68-1.28-1.68-1.05-.72.08-.71.08-.71 1.16.08 1.77 1.19 1.77 1.19 1.03 1.76 2.69 1.25 3.35.96.1-.74.4-1.25.72-1.54-2.56-.29-5.25-1.28-5.25-5.71 0-1.26.45-2.28 1.18-3.08-.12-.29-.51-1.46.11-3.05 0 0 .97-.31 3.17 1.18a10.9 10.9 0 0 1 5.77 0c2.2-1.49 3.17-1.18 3.17-1.18.62 1.59.23 2.76.11 3.05.74.8 1.18 1.82 1.18 3.08 0 4.44-2.69 5.41-5.26 5.69.41.35.78 1.05.78 2.11 0 1.52-.01 2.75-.01 3.12 0 .31.21.67.8.56A11.5 11.5 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z"})})}function SC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M12 21.3 10.9 20.3C5.4 15.3 2 12.3 2 8.5 2 5.4 4.4 3 7.5 3c1.8 0 3.5.8 4.5 2.1C13 3.8 14.7 3 16.5 3 19.6 3 22 5.4 22 8.5c0 3.8-3.4 6.8-8.9 11.8L12 21.3Z"})})}function wC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M6.25 4.7a.75.75 0 0 1 1.14-.64l8.1 5.05a1.05 1.05 0 0 1 0 1.78l-8.1 5.05a.75.75 0 0 1-1.14-.64V4.7Z"})})}function AC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M6.25 4.5A1.25 1.25 0 0 1 7.5 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 8 16.75h-.5a1.25 1.25 0 0 1-1.25-1.25v-11Zm4.5 0A1.25 1.25 0 0 1 12 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 12.5 16.75H12a1.25 1.25 0 0 1-1.25-1.25v-11Z"})})}function CC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M2.75 6.5A1.75 1.75 0 0 1 4.5 4.75h3L9.4 6.4h6.1a1.75 1.75 0 0 1 1.75 1.75v6.35a1.75 1.75 0 0 1-1.75 1.75h-11A1.75 1.75 0 0 1 2.75 14.5v-8Z"}),(0,nt.jsx)("path",{d:"M2.75 8h14.5"})]})}function RC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M10 3.25v5"}),(0,nt.jsx)("path",{d:"M6.1 5.15a6.25 6.25 0 1 0 7.8 0"})]})}function Ns({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("path",{d:"M12 20h9"}),(0,nt.jsx)("path",{d:"M16.5 3.5a2.121 2.121 0 1 1 3 3L7 19l-4 1 1-4 12.5-12.5Z"})]})}function EC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:(0,nt.jsx)("path",{d:"m5 12 4.25 4.25L19 6.5"})})}function lu({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("path",{d:"M3 6h18"}),(0,nt.jsx)("path",{d:"M8 6V4.75A1.75 1.75 0 0 1 9.75 3h4.5A1.75 1.75 0 0 1 16 4.75V6"}),(0,nt.jsx)("path",{d:"M18 6v12.25A1.75 1.75 0 0 1 16.25 20h-8.5A1.75 1.75 0 0 1 6 18.25V6"}),(0,nt.jsx)("path",{d:"M10 10.5v5"}),(0,nt.jsx)("path",{d:"M14 10.5v5"})]})}function Ff({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),(0,nt.jsx)("path",{d:"M5 15V6a2 2 0 0 1 2-2h9"})]})}function su(e,{requiresAuth:t=!0}={}){return Object.freeze({requiresAuth:t,fetchModels:async({apiKey:n,apiKeyEnv:r}={})=>{let o={endpoints:[e]};return n&&(o.apiKey=n),r&&(o.apiKeyEnv=r),((await fetchJson("/api/config/discover-provider-models",{method:"POST",headers:Xe,body:JSON.stringify(o)})).result?.models||[]).map(i=>String(i||"").trim()).filter(Boolean)}})}var cu=Object.freeze([Object.freeze({key:"custom",category:"api",label:"Custom",description:"Generic OpenAI-compatible API provider.",providerName:"My Provider",providerId:"my-provider",endpoint:"",apiKeyEnv:"",defaultModels:Object.freeze({openai:Object.freeze(["gpt-4o-mini","gpt-4.1-mini"]),claude:Object.freeze(["claude-3-5-sonnet","claude-3-5-haiku"])}),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"})}),Object.freeze({key:"groq",category:"api",label:"Groq",description:"Groq cloud inference with Llama, Qwen, and GPT-OSS models.",providerName:"Groq",providerId:"groq",endpoint:"https://api.groq.com/openai/v1",apiKeyEnv:"",defaultModels:Object.freeze(["llama-3.3-70b-versatile","llama-3.1-8b-instant"]),rateLimitDefaults:Object.freeze({limit:30,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"api.groq.com",models:Object.freeze({"llama-3.1-8b-instant":30,"llama-3.3-70b-versatile":30,"openai/gpt-oss-20b":30,"openai/gpt-oss-120b":15,"qwen/qwen3-32b":30,"meta-llama/llama-4-scout-17b-16e-instruct":15,"moonshotai/kimi-k2-instruct":15,_default:30})}),discover:su("https://api.groq.com/openai/v1")}),Object.freeze({key:"gemini",category:"api",label:"Google Gemini",description:"Google Gemini models via OpenAI-compatible endpoint.",providerName:"Google Gemini",providerId:"gemini",endpoint:"https://generativelanguage.googleapis.com/v1beta/openai",apiKeyEnv:"",defaultModels:Object.freeze(["gemini-3-flash-preview","gemini-3.1-flash-lite-preview"]),rateLimitDefaults:Object.freeze({limit:10,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"generativelanguage.googleapis.com",models:Object.freeze({"gemini-3-flash-preview":15,"gemini-3.1-flash-lite-preview":15,"gemini-3.1-pro-preview":5,"gemini-2.5-flash":15,"gemini-2.5-flash-lite":15,"gemini-2.5-pro":5,_default:10})}),discover:su("https://generativelanguage.googleapis.com/v1beta/openai")}),Object.freeze({key:"zai-global",category:"api",label:"Z.AI Coding (Global)",description:"Z.AI coding models via the global coding endpoint.",providerName:"Z.AI Coding",providerId:"zai-coding",endpoint:"https://api.z.ai/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:su("https://api.z.ai/api/coding/paas/v4")}),Object.freeze({key:"zai-china",category:"api",label:"Z.AI Coding (China)",description:"Z.AI coding models via the China mainland coding endpoint.",providerName:"Z.AI Coding CN",providerId:"zai-coding-cn",endpoint:"https://open.bigmodel.cn/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:su("https://open.bigmodel.cn/api/coding/paas/v4")}),Object.freeze({key:"openrouter",category:"api",label:"OpenRouter",description:"300+ models from multiple providers, including free tier models.",providerName:"OpenRouter",providerId:"openrouter",endpoint:"https://openrouter.ai/api/v1",apiKeyEnv:"",defaultModels:Object.freeze(["qwen/qwen3.6-plus:free","google/gemma-4-26b-a4b-it"]),rateLimitDefaults:Object.freeze({limit:200,windowValue:1,windowUnit:"minute"}),discover:su("https://openrouter.ai/api/v1",{requiresAuth:!1})}),Object.freeze({key:"oauth-gpt",category:"subscription",label:"ChatGPT",description:"Use ChatGPT subscription login with GPT models.",providerName:"ChatGPT Subscription",providerId:"chatgpt-sub",subscriptionType:"chatgpt-codex",format:"openai",defaultModels:ry,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"chatgpt-tos"}),Object.freeze({key:"oauth-claude",category:"subscription",label:"Claude",description:"Use Claude Code subscription login with Claude models.",providerName:"Claude Subscription",providerId:"claude-sub",subscriptionType:"claude-code",format:"claude",defaultModels:oy,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"claude-extra-usage"})]),bo=Object.freeze(Object.fromEntries(cu.map(e=>[e.key,e])));function Lr(e){return bo[e]||bo.custom}function NC(e){return cu.find(t=>t.freeTierRpm?.host===e)||null}function TC(e){return cu.filter(t=>t.category===e)}var my=Object.freeze(Object.fromEntries(cu.filter(e=>e.freeTierRpm?.host&&e.freeTierRpm?.models).map(e=>[e.freeTierRpm.host,e.freeTierRpm.models]))),uu=new Map,Hf=null;function MC(){return Hf||(Hf=Promise.allSettled(cu.filter(e=>e.discover&&!e.discover.requiresAuth).map(async e=>{try{let t=await e.discover.fetchModels();t.length&&uu.set(e.key,t)}catch{}})),Hf)}function $f(e){return Array.from(new Set(String(e||"").split(/[\s,]+/).map(t=>t.trim()).filter(Boolean)))}function Si(e){let t=String(e||"").trim();if(!t)return!1;try{let n=new URL(t);return n.protocol==="http:"||n.protocol==="https:"}catch{return!1}}function rr(e=[],t=""){return Array.from(new Set([...(Array.isArray(e)?e:[]).map(n=>String(n||"").trim()).filter(Boolean),...$f(t)]))}function Kf(e=[],t,n){if(!t||!n||t===n)return e;let r=[...e],o=r.findIndex(l=>l?.key===t),a=r.findIndex(l=>l?.key===n);if(o===-1||a===-1)return e;let[i]=r.splice(o,1);return r.splice(a,0,i),r}function Ts(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r<=0)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r-1,0,a),o}function Gf(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r===-1||r>=e.length-1)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r+1,0,a),o}function py(e,t=[]){let n=e?.getBoundingClientRect?.();return{top:Number.isFinite(n?.top)?Number(n.top):Number.NaN,left:Number.isFinite(n?.left)?Number(n.left):Number.NaN,windowX:typeof window>"u"?0:Number(window.scrollX||window.pageXOffset||0),windowY:typeof window>"u"?0:Number(window.scrollY||window.pageYOffset||0),containers:t.map(r=>({top:Number(r?.scrollTop||0),left:Number(r?.scrollLeft||0)}))}}function OC(e,t,n=.5){return!e||!t||!Number.isFinite(t.top)||!Number.isFinite(t.left)||Math.abs(t.top-e.top)>n||Math.abs(t.left-e.left)>n||Math.abs(t.windowX-e.windowX)>n||Math.abs(t.windowY-e.windowY)>n||(e.containers?.length||0)!==(t.containers?.length||0)?!1:t.containers.every((r,o)=>{let a=e.containers[o];return a?Math.abs(r.top-a.top)<=n&&Math.abs(r.left-a.left)<=n:!1})}function gy(e){let t=String(e?.category||"").trim().toLowerCase();if(t==="usage"||t==="router")return t;let n=String(e?.source||"").trim().toLowerCase(),r=String(e?.kind||"").trim().toLowerCase();return n==="runtime"||r.startsWith("request")||r.startsWith("fallback")?"usage":"router"}function Na(e,t){if(e?.classList){if(t){e.classList.add(...dy);return}e.classList.remove(...dy)}}function Ms(e){return typeof e?.closest=="function"?e.closest("[data-reorder-row='true']"):null}function qf(e){let t=String(e||"").trim().toLowerCase();return t==="automatic"||t==="smart"?"auto":t==="rr"?"round-robin":t==="weighted-round-robin"||t==="weighted_rr"?"weighted-rr":t==="quota-aware-weighted-round-robin"?"quota-aware-weighted-rr":Object.prototype.hasOwnProperty.call(jf,t)?t:"ordered"}function Wf(e){let t=qf(e);return jf[t]||jf.ordered}function yr(e=[]){return Array.from(new Set((e||[]).map(t=>String(t||"").trim()).filter(Boolean)))}function Os(e=[]){let t=new Set;for(let n of(e||[]).map(r=>String(r||"").trim()).filter(Boolean)){if(t.has(n))return!0;t.add(n)}return!1}function kC(e=[],t="",n=-1){let r=String(t||"").trim().toLowerCase();return r?(e||[]).some((o,a)=>a!==n&&String(o?.name||"").trim().toLowerCase()===r):!1}function _C(){return{id:"",strategy:"auto",targets:[{ref:""}],fallbackTargets:[]}}function LC(e="",t={},{isNew:n=!1}={}){return JSON.stringify({aliasId:n?"":String(e||"").trim(),id:String(t?.id||(n?"":e)||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map(r=>String(r?.ref||"").trim()),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(r=>String(r?.ref||"").trim())})}function du(){if(typeof globalThis<"u"&&globalThis.crypto?.getRandomValues){let t=new Uint8Array(18);return globalThis.crypto.getRandomValues(t),`gw_${Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}`}return`gw_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`}function vo(e){return/^[A-Z][A-Z0-9_]*$/.test(String(e||"").trim())}function Dr(e){let t=String(e||"").toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-");return t?/^[a-z]/.test(t)?t:`provider-${t}`:""}function hy(e,t){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function fu(e={}){return yr((Array.isArray(e?.models)?e.models:[]).map(t=>t?.id))}function mu(e={},{keyPrefix:t="rate-limit",index:n=0,defaults:r=bo.custom.rateLimitDefaults,useDefaults:o=!0}={}){let a=String(e?.sourceId||e?.id||"").trim(),i=e?.requests??e?.limit,l=e?.windowValue??e?.window?.size??e?.window?.value,s=e?.windowUnit??e?.window?.unit;return{key:String(e?.key||"").trim()||`${t}-${a||n+1}`,sourceId:a,models:yo(Array.isArray(e?.models)?e.models:[]),modelsDraft:String(e?.modelsDraft||""),requests:i!==void 0?String(i):o?String(r.limit??""):"",windowValue:l!==void 0?String(l):o?String(r.windowValue??""):"",windowUnit:String(s!==void 0?s:o?r.windowUnit:"minute").trim()||"minute"}}function pu(e=[],{keyPrefix:t="rate-limit",defaults:n=bo.custom.rateLimitDefaults,includeDefault:r=!0}={}){return(Array.isArray(e)&&e.length>0?e:r?[{models:["all"],requests:n.limit,window:{size:n.windowValue,unit:n.windowUnit}}]:[]).map((a,i)=>mu(a,{keyPrefix:t,index:i,defaults:n,useDefaults:!0}))}function Yf(e={}){return yo(rr(e?.models,e?.modelsDraft||"")).length===0&&!String(e?.requests??"").trim()&&!String(e?.windowValue??"").trim()}function br(e=[]){return(Array.isArray(e)?e:[]).map((t,n)=>({key:String(t?.key||`rate-limit-${n+1}`).trim()||`rate-limit-${n+1}`,sourceId:String(t?.sourceId||"").trim(),models:yo(rr(t?.models,t?.modelsDraft||"")),requests:String(t?.requests??"").trim(),windowValue:String(t?.windowValue??"").trim(),windowUnit:il(t?.windowUnit,"minute")})).filter((t,n)=>!Yf({...e?.[n]||{},...t}))}function yy(e=[]){return br(e).map(t=>({sourceId:t.sourceId,models:t.models,requests:t.requests,windowValue:t.windowValue,windowUnit:t.windowUnit}))}function DC(e=[]){let t=Array.isArray(e)?e.filter(Boolean):[];return t.length===0?"":t.length===1?QA(t[0]):`${t.length} rate limits`}function jo(e){return JSON.parse(JSON.stringify(e??{}))}function by(e,t={}){try{let n=JSON.parse(String(e||"{}"));return n&&typeof n=="object"&&!Array.isArray(n)?n:t}catch{return t}}function BC(e,t={}){try{let n=String(e||"").trim()?JSON.parse(e):{};return!n||typeof n!="object"||Array.isArray(n)?{value:t,parseError:"Config root must be a JSON object."}:{value:n,parseError:""}}catch(n){return{value:t,parseError:n instanceof Error?n.message:String(n)}}}function ks(e){return e?new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}):"\u2014"}function IC(e){return e?.parseError?"danger":(e?.validationErrors||[]).length>0?"warning":"success"}function Qf(e=no){return[{name:"User-Agent",value:String(e||no)}]}function Xf(e=[]){return(Array.isArray(e)?e:[]).map(t=>({name:String(t?.name||""),value:t?.value===void 0||t?.value===null?"":String(t.value)}))}function xL(e,t=no){if(!e||typeof e!="object"||Array.isArray(e))return Qf(t);let n=Object.entries(e).map(([r,o])=>({name:String(r||""),value:o==null?"":String(o)})).filter(r=>r.name.trim());return n.length>0?n:Qf(t)}function Jf(e=[]){let t={};for(let n of Xf(e)){let r=String(n.name||"").trim();if(!r)continue;let o=r.toLowerCase()==="user-agent",a=String(n.value||"").trim();!a&&!o||(t[r]=a)}return t}function xy(e={}){return JSON.stringify({connectionType:String(e?.connectionType||""),endpoints:Array.isArray(e?.endpoints)?e.endpoints.map(t=>String(t||"").trim()).filter(Boolean):[],apiKeyEnv:String(e?.apiKeyEnv||"").trim(),headers:Jf(e?.headerRows||[])})}function _s(e,t){return String(e||"").trim().startsWith(`${t}/`)}function gu(e){let t=Object.keys(e?.modelAliases||{});if(t.includes(Mt))return Mt;if(t.length>0)return t[0];let n=(e?.providers||[]).find(r=>(r?.models||[]).length>0);return n?.models?.[0]?.id?`${n.id}/${n.models[0].id}`:void 0}function UC(e,t){let n=jo(e&&typeof e=="object"?e:{});n.providers=(Array.isArray(n.providers)?n.providers:[]).filter(i=>i?.id!==t);let r=new Set((n.providers||[]).flatMap(i=>(i.models||[]).map(l=>`${i.id}/${l.id}`))),o=n.modelAliases&&typeof n.modelAliases=="object"?n.modelAliases:{},a={};for(let[i,l]of Object.entries(o)){let s=Array.isArray(l?.targets)?l.targets.filter(d=>!_s(d?.ref,t)):[],c=Array.isArray(l?.fallbackTargets)?l.fallbackTargets.filter(d=>!_s(d?.ref,t)):[];a[i]={...l,...Array.isArray(l?.targets)?{targets:s}:{},...Array.isArray(l?.fallbackTargets)?{fallbackTargets:c}:{}}}return n.modelAliases=a,n.defaultModel&&!n.modelAliases?.[n.defaultModel]&&!r.has(n.defaultModel)&&(n.defaultModel=Mt),n?.amp?.defaultRoute&&!n.modelAliases?.[n.amp.defaultRoute]&&!r.has(n.amp.defaultRoute)&&(n.amp={...n.amp,defaultRoute:n.defaultModel||gu(n)}),n}function Ta(e={}){let t=Array.isArray(e?.metadata?.endpointCandidates)?e.metadata.endpointCandidates:[],n=[e?.baseUrl,...Object.values(e?.baseUrlByFormat||{})];return Array.from(new Set((t.length>0?t:n).map(r=>String(r||"").trim()).filter(Boolean)))}function SL(e={}){let t=String(e?.apiKeyEnv||"").trim();if(t)return{apiKeyEnv:t};let n=String(e?.apiKey||e?.credential||"").trim();return n?{apiKey:n}:{}}function Sy(e={},t={}){if(e&&Object.prototype.hasOwnProperty.call(e,"credentialInput")){let n=String(e?.credentialInput||"").trim();return n?vo(n)?{apiKeyEnv:n}:{apiKey:n}:{}}return SL(t)}function xo(e={}){return e?.type==="subscription"?"subscription":"api"}function jC(e={}){if(e?.type==="subscription")return e?.subscriptionType==="claude-code"?"oauth-claude":"oauth-gpt";let t=Ta(e);for(let n of t)try{let r=new URL(String(n||"")).hostname,o=NC(r);if(o)return o.key}catch{}return"custom"}function VC(e={}){let t=Ta(e),n=xo(e),r=jC(e),o=Zf(r);return{id:String(e?.id||"").trim(),name:String(e?.name||e?.id||"").trim(),credentialInput:n==="api"?String(e?.apiKeyEnv||e?.apiKey||e?.credential||"").trim():"",endpoints:n==="api"?t:[],endpointDraft:"",rateLimitRows:n==="api"?pu(e?.rateLimits,{keyPrefix:`provider-${e?.id||"new"}-rate-limit`,defaults:o,includeDefault:!0}):[]}}function FC(e){return Lr(e).label||"API Key"}function wy(e){for(let t of e||[])try{let n=new URL(String(t||"")).hostname;if(my[n])return n}catch{}return null}function HC(e,t){let n=my[e];if(!n||!Array.isArray(t)||t.length===0)return null;let r=n._default||30;return t.map((o,a)=>mu({models:[String(o)],requests:n[o]||r,window:{size:1,unit:"minute"}},{keyPrefix:"preset-rl",index:a}))}function $C(e){let t=new Map;for(let n of e){let r=n.toLowerCase(),o=r.includes("flash-lite")?"flash-lite":r.includes("flash")?"flash":r.includes("pro")?"pro":r;t.has(o)||t.set(o,n)}return[...t.values()]}function Ay(e,t="openai"){let n=uu.get(e);if(n?.length)return[...n];let o=Lr(e).defaultModels;return o&&typeof o=="object"&&!Array.isArray(o)?[...o[t]||o.openai||[]]:Array.isArray(o)?[...o]:[]}function Zf(e){return Lr(e).rateLimitDefaults||bo.custom.rateLimitDefaults}function wL(e,t,n=[]){let r=new Set((n||[]).map(a=>a?.id).filter(Boolean));if(!r.has(e))return{providerId:e,providerName:t};let o=2;for(;r.has(`${e}-${o}`);)o++;return{providerId:`${e}-${o}`,providerName:`${t} ${o}`}}function vy(e,t="openai"){let n=Lr(e),r=Zf(e),o=n.category==="api";return{providerName:n.providerName,providerId:n.providerId,endpoints:o&&n.endpoint?[n.endpoint]:[],apiKeyEnv:o&&n.apiKeyEnv||"",subscriptionProfile:"",modelIds:e==="custom"?[]:Ay(e,t),rateLimitRows:o?pu([],{keyPrefix:`quick-start-${e}-rate-limit`,defaults:r,includeDefault:!0}):[]}}function KC(e={},{baseConfig:t={},nextCategory:n,nextPresetKey:r,defaultProviderUserAgent:o=no}={}){let a=Lr(r),i=n==="api",l=e.selectedConnection||"custom",s=Lr(l),c=vy(l),d=Array.isArray(t?.providers)?t.providers:[],u=wL(a.providerId,a.providerName,d),f=e.connectionType==="api"?Qf(o):[],p=i?Qf(o):[],b=Xf(e.headerRows||[]),m=!e.providerId||e.providerId===s.providerId||e.providerId===c.providerId||e.providerId===Dr(e.providerName||""),v=!e.providerName||e.providerName===s.providerName||e.providerName===c.providerName,h=!e.subscriptionProfile||e.subscriptionProfile===c.subscriptionProfile,g=Array.isArray(s.defaultModels)?s.defaultModels:[],y=(e.modelIds||[]).length===0||JSON.stringify(e.modelIds||[])===JSON.stringify(g)||JSON.stringify(e.modelIds||[])===JSON.stringify(c.modelIds||[]),x=JSON.stringify(b)===JSON.stringify(f),A=rr(e.endpoints,e.endpointDraft),E=Array.isArray(c.endpoints)?c.endpoints:[],N=A.length===0||JSON.stringify(A)===JSON.stringify(E),C=String(e.apiKeyEnv||"").trim(),O=!C||C===String(s.apiKeyEnv||"").trim()||C===String(c.apiKeyEnv||"").trim(),L=Array.isArray(a.defaultModels)?[...a.defaultModels]:[],V=vy(r);return{...e,connectionType:n,selectedConnection:r,providerName:v?u.providerName:e.providerName,providerId:m?u.providerId:e.providerId,endpoints:i?N?[...V.endpoints]:Array.isArray(e.endpoints)?e.endpoints:[]:[],endpointDraft:i?N?"":String(e.endpointDraft||""):"",apiKeyEnv:i?O?a.apiKeyEnv||"":e.apiKeyEnv:"",subscriptionProfile:i?"":h?V.subscriptionProfile:e.subscriptionProfile,modelIds:y?L.length>0?L:V.modelIds:e.modelIds,modelContextWindows:y?{}:e.modelContextWindows||{},modelDraft:"",rateLimitRows:i?pu([],{keyPrefix:`quick-start-${r}-rate-limit`,defaults:a.rateLimitDefaults||bo.custom.rateLimitDefaults,includeDefault:!0}):[],headerRows:i?b.length===0||x?p:b:[]}}function AL(e={},t="",{aliasId:n=""}={}){if(!t)return null;let r=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},o=n?[[n,r[n]]]:Object.entries(r);for(let[a,i]of o){if(!i||typeof i!="object")continue;let l=Array.isArray(i?.targets)?i.targets:[],s=Array.isArray(i?.fallbackTargets)?i.fallbackTargets:[];if([...l,...s].some(c=>_s(c?.ref,t)))return{aliasId:a,alias:i}}return null}function CL(e,t="",n=[]){let r=Array.from(new Set((n||[]).map(l=>String(l||"").trim()).filter(Boolean)));if(!t||!e?.alias)return r;let o=new Set(r),a=Array.isArray(e.alias?.targets)?e.alias.targets:[],i=[];for(let l of a){let s=String(l?.ref||"").trim();if(!_s(s,t))continue;let c=s.slice(t.length+1);!o.has(c)||i.includes(c)||i.push(c)}return i.length>0?i:r}function em(e=[],t=[]){let n=Array.from(new Set((t||[]).map(a=>String(a||"").trim()).filter(Boolean))),r=new Set(n),o=[];for(let a of(e||[]).map(i=>String(i||"").trim()).filter(Boolean))r.has(a)&&(o.push(a),r.delete(a));return[...o,...n.filter(a=>r.has(a))]}function zC(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){if(!e||typeof e!="object")return e;let o=String(e.ref||"").trim();if(!t||!_s(o,t))return e;let a=o.slice(t.length+1);return r.has(a)?{...e,ref:`${n}/${a}`}:null}function RL(e,t){if(!e||typeof e!="object")return e;let n={...e},r=Array.isArray(e.targets),o=Array.isArray(e.fallbackTargets);return r&&(n.targets=e.targets.map(a=>zC(a,t)).filter(Boolean)),o&&(n.fallbackTargets=e.fallbackTargets.map(a=>zC(a,t)).filter(Boolean)),n}function EL(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){let o=String(e||"").trim();if(!o||!t||!_s(o,t))return o;let a=o.slice(t.length+1);return r.has(a)?`${n}/${a}`:""}function NL(e=[]){return new Set((e||[]).flatMap(t=>(t?.models||[]).map(n=>`${t.id}/${n.id}`)))}function GC(e={},{seedMode:t="blank",targetProviderId:n="",defaultProviderUserAgent:r=no}={}){let o=Array.isArray(e?.providers)?e.providers:[],a=n&&o.find(y=>y?.id===n)||null,i=t==="existing"||!!a,l=i?a||o[0]||{}:{},s=i?xo(l):"api",c=i?jC(l):"custom",d=l?.format==="claude"?"claude":"openai",u=vy(c,d),f=Zf(c),p=Array.isArray(l?.models)?l.models.map(y=>y?.id).filter(Boolean):[],b=String(l?.id||u.providerId||Dr(l?.name||u.providerName||"my-provider")||"my-provider"),m=i?AL(e,b,{aliasId:Mt}):null,v=p.length>0?p:[...u.modelIds],h=Object.fromEntries((Array.isArray(l?.models)?l.models:[]).map(y=>{let x=String(y?.id||"").trim(),A=Number(y?.contextWindow);return!x||!Number.isFinite(A)||A<=0?null:[x,Math.floor(A)]}).filter(Boolean)),g=s==="api"?xL(l?.headers,r):[];return{connectionType:s,selectedConnection:c,providerName:String(l?.name||u.providerName),providerId:b,endpoints:Ta(l).length>0?Ta(l):u.endpoints,endpointDraft:"",apiKeyEnv:String(l?.apiKeyEnv||l?.apiKey||u.apiKeyEnv),subscriptionProfile:String(l?.subscriptionProfile||u.subscriptionProfile),modelIds:v,modelContextWindows:h,modelDraft:"",aliasModelIds:CL(m,b,v),headerRows:g,rateLimitRows:s==="api"?pu(l?.rateLimits,{keyPrefix:`quick-start-${b}-rate-limit`,defaults:f,includeDefault:!0}):[],enableAlias:!0,aliasId:Mt,sourceAliasId:m?.aliasId||"",useAliasAsDefault:i?!!m:!0}}function PC(e,t={},n={}){return(e||[]).map(r=>{let o=t[r],a=Number(n?.[r]);return{id:r,...o?{formats:[o]}:{},...Number.isFinite(a)&&a>0?{contextWindow:Math.floor(a)}:{}}})}function Cy(e={}){let t=Dr(e?.providerId||e?.providerName||"")||"";return String(e?.subscriptionProfile||t||"default").trim()||t||"default"}function qC(e={},t,n=null,{targetProviderId:r=""}={}){let o=jo(e&&typeof e=="object"?e:{}),a=Dr(t?.providerId||t?.providerName||"my-provider")||"my-provider",i=String(t?.providerName||a).trim()||a,l=Array.isArray(t?.modelIds)?t.modelIds.map(z=>String(z||"").trim()).filter(Boolean):[],s=em(t?.aliasModelIds,l),c=Zf(t?.selectedConnection||t?.connectionType),d=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:[],u=d.length>0?d:[{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],f=Array.isArray(e?.providers)&&e.providers.length>0,p=String(r||"").trim(),b=String(t?.sourceAliasId||"").trim(),m;if(t?.connectionType==="api"){let z=Array.isArray(t?.endpoints)?t.endpoints.map(Ve=>String(Ve||"").trim()).filter(Boolean):[],G=Array.isArray(n?.workingFormats)?n.workingFormats.filter(Boolean):[],Z=n?.preferredFormat||G[0]||"openai",ue=n?.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"?n.baseUrlByFormat:z[0]?{[Z]:z[0]}:void 0,q=Z&&ue?.[Z]||ue?.openai||ue?.claude||z[0]||"",oe=Array.isArray(n?.models)&&n.models.length>0?s.filter(Ve=>n.models.includes(Ve)):s,ee=oe.length>0?oe:s,W=z.length>1?{endpointCandidates:z}:void 0,j=String(t?.apiKeyEnv||"").trim(),Ie=vo(j)?{apiKeyEnv:j}:j?{apiKey:j}:{},ne=Jf(t?.headerRows||[]);m={id:a,name:i,baseUrl:q,baseUrlByFormat:ue,...Ie,...Object.keys(ne).length>0?{headers:ne}:{},format:Z,formats:G.length>0?G:[Z],models:PC(ee,n?.modelPreferredFormat||{},t?.modelContextWindows||{}),...W?{metadata:W}:{}}}else{let z=Lr(t?.selectedConnection||"oauth-gpt"),G=z.subscriptionType||"chatgpt-codex",Z=z.format||"openai";m={id:a,name:i,type:"subscription",subscriptionType:G,subscriptionProfile:Cy(t),format:Z,formats:[Z],models:PC(s,{},t?.modelContextWindows||{})}}m.rateLimits=t?.connectionType==="api"?tu(u,{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}):tu([{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}),String(o.masterKey||"").trim()||(o.masterKey=du()),o.version=typeof o.version=="number"?o.version:2;let v=Array.isArray(o.providers)?o.providers:[],h=p?v.findIndex(z=>z?.id===p):-1;h===-1&&(h=v.findIndex(z=>z?.id===a)),o.providers=h===-1?[...v,m]:v.map((z,G)=>G===h?m:z);let g=o.modelAliases&&typeof o.modelAliases=="object"&&!Array.isArray(o.modelAliases)?o.modelAliases:{},y=new Set((m.models||[]).map(z=>z.id)),x=!f||t?.useAliasAsDefault===!0,A={};for(let[z,G]of Object.entries(g)){let Z=p?RL(G,{fromProviderId:p,toProviderId:a,allowedModelIds:y}):G;A[z]=Z}let E=m.models?.[0]?.id?`${a}/${m.models[0].id}`:"",N=(s.length>0?s:(m.models||[]).map(z=>z.id)).filter(z=>y.has(z)),C=Mt,O=A[C]&&typeof A[C]=="object"?A[C]:{id:C,strategy:"ordered",targets:[],fallbackTargets:[]};A[C]=x?{...O,id:C,strategy:"ordered",targets:N.map(z=>({ref:`${a}/${z}`})),fallbackTargets:[]}:{...O,id:C,strategy:String(O.strategy||"ordered").trim()||"ordered",targets:Array.isArray(O.targets)?O.targets:[],fallbackTargets:Array.isArray(O.fallbackTargets)?O.fallbackTargets:[]},o.modelAliases=A;let L=NL(o.providers);o.defaultModel=Mt,(!o.amp||typeof o.amp!="object"||Array.isArray(o.amp))&&(o.amp={restrictManagementToLocalhost:!0,overrides:{entities:[]}}),o.amp.restrictManagementToLocalhost===void 0&&(o.amp.restrictManagementToLocalhost=!0),(!o.amp.overrides||typeof o.amp.overrides!="object"||Array.isArray(o.amp.overrides))&&(o.amp.overrides={entities:[]}),Array.isArray(o.amp.overrides.entities)||(o.amp.overrides.entities=[]);let V=String(o.amp.defaultRoute||"").trim();return p&&(V=EL(V,{fromProviderId:p,toProviderId:a,allowedModelIds:y})),(x||!V||!o.modelAliases?.[V]&&!L.has(V))&&(V=Mt),V&&(o.amp.defaultRoute=V),(!o.metadata||typeof o.metadata!="object"||Array.isArray(o.metadata))&&(o.metadata={}),o}function tm(e={}){return(Array.isArray(e?.providers)?e.providers:[]).some(n=>{if(n?.enabled===!1)return!1;let r=Array.isArray(n?.models)?n.models.filter(a=>String(a?.id||"").trim()):[],o=Array.isArray(n?.rateLimits)?n.rateLimits:[];return r.length>0&&o.length>0})}function WC(e,t,n={},{targetProviderId:r=""}={}){let o=Dr(t?.providerId||t?.providerName||""),a=rr(t?.modelIds,t?.modelDraft),i=em(t?.aliasModelIds,a),l=br(t?.rateLimitRows),s=t?.connectionType==="api"?rr(t?.endpoints,t?.endpointDraft):[],c=Array.isArray(n?.providers)?n.providers:[],d=n?.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(e===0){if(!String(t?.providerName||"").trim())return"Add a provider name to continue.";if(!o||!ll.test(o))return"Provider id must start with a letter and use lowercase letters, numbers, or hyphens.";if(c.some(u=>u?.id===o&&u?.id!==r))return"Provider id already exists. Choose another id or edit that provider instead.";if(t?.connectionType==="api"){if(s.length===0)return"Add at least one endpoint to continue.";if(!String(t?.apiKeyEnv||"").trim())return"API key or env is required before testing config."}}if(e===1){if(a.length===0)return"Add at least one model id.";if(t?.connectionType==="api"){let u=Po(l,{knownModelIds:a,requireAtLeastOne:!0});if(u)return u}}return e===2&&t?.useAliasAsDefault&&Object.prototype.hasOwnProperty.call(d,String(t?.aliasId||Mt).trim())===!1,""}function YC(e){return String(e||"").split("-").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function QC(e){let t=String(e||"").trim();if(!t)return"";let n=Lf.find(a=>a?.id===t);if(n?.defaultMatch)return String(n.defaultMatch).trim();let r=Zc.find(a=>a?.id===t);if(!r)return"";let o=[...new Set((r.signatures||[]).map(a=>Lf.find(i=>i?.id===a)?.defaultMatch).map(a=>String(a||"").trim()).filter(Boolean))];return o.length===1?o[0]:o.join(" | ")}function XC(e){let t=String(e||"").trim();return t?t.length<=10?`${t.slice(0,2)}\u2026${t.slice(-2)}`:`${t.slice(0,4)}\u2026${t.slice(-4)}`:""}function or(e={}){let t=jo(e&&typeof e=="object"&&!Array.isArray(e)?e:{});return(!t.amp||typeof t.amp!="object"||Array.isArray(t.amp))&&(t.amp={}),(!t.amp.routes||typeof t.amp.routes!="object"||Array.isArray(t.amp.routes))&&(t.amp.routes={}),Array.isArray(t.amp.rawModelRoutes)||(t.amp.rawModelRoutes=[]),(!t.amp.overrides||typeof t.amp.overrides!="object"||Array.isArray(t.amp.overrides))&&(t.amp.overrides={}),Array.isArray(t.amp.overrides.entities)||(t.amp.overrides.entities=[]),t.amp.restrictManagementToLocalhost===void 0&&(t.amp.restrictManagementToLocalhost=!0),String(t.amp.preset||"").trim()||(t.amp.preset="builtin"),String(t.amp.defaultRoute||"").trim()||(t.amp.defaultRoute=String(t.defaultModel||gu(t)||"").trim()),t}function Vo(e,t=0,{min:n=0,max:r=Number.MAX_SAFE_INTEGER}={}){let o=Number.parseInt(String(e??""),10);return Number.isFinite(o)?Math.min(r,Math.max(n,o)):t}function TL(){return new Set([...Zc.map(e=>e.id),...Lf.map(e=>e.id)].map(e=>String(e||"").trim()).filter(Boolean))}var ML=TL();function hu(e){return ML.has(String(e||"").trim())}function nm(e){(!e.routes||typeof e.routes!="object"||Array.isArray(e.routes))&&(e.routes={}),Array.isArray(e.rawModelRoutes)||(e.rawModelRoutes=[])}function JC(e={}){return String(e?.sourceRouteKey||"").trim()}function Ry(e={}){let n=or(e).amp;nm(n);let r=new Map,o=[];for(let[l,s]of(n.rawModelRoutes||[]).entries()){let c=JC(s);if(c&&hu(c)){r.set(c,{mapping:s,index:l});continue}o.push({id:`raw:${l}`,source:"raw",index:l,routeKey:"",inbound:String(s?.from||"").trim(),outbound:String(s?.to||"").trim(),label:"Custom mapping",description:`Wildcard/raw match: ${String(s?.from||"").trim()||"(empty)"}`,defaultMatch:"",isCustom:!0,removable:!0})}let a=Zc.map(l=>{let s=String(l.id||"").trim(),c=QC(s),d=r.get(s)?.mapping||null;return{id:`route:${s}`,source:"route",routeKey:s,inbound:String(d?.from||c||s).trim(),outbound:String(d?.to||n.routes?.[s]||"").trim(),label:YC(s),description:l.description||"",defaultMatch:c,isCustom:!1,removable:!1}}),i=Object.entries(n.routes||{}).filter(([l])=>!Zc.some(s=>s.id===l)).map(([l,s])=>{let c=String(l||"").trim(),d=QC(c),u=hu(c);return{id:`route:${c}`,source:"route",routeKey:c,inbound:c,outbound:String(s||"").trim(),label:u?d||c:YC(c),description:u?`Route key: ${c}`:`Custom route key: ${c}`,defaultMatch:d,isCustom:!0,removable:!0}});return[...a,...i,...o]}function ZC(e,t){return Ry(e).find(n=>n.id===t)||null}function Ey(e={},t,{inbound:n,outbound:r}={}){let o=or(e),a=o.amp;nm(a);let i=ZC(o,t);if(!i)return o;let l=String(n??i.inbound??"").trim(),s=String(r??i.outbound??"").trim(),c=i.source==="route"?String(i.routeKey||"").trim():"",d=c?String(i.defaultMatch||"").trim():"",u=c?a.rawModelRoutes.findIndex(b=>JC(b)===c):-1,f=c&&hu(c),p=hu(l)?l:c&&d&&l===d?c:"";if(i.source==="route"&&i.routeKey&&delete a.routes[i.routeKey],i.source==="raw"&&Number.isInteger(i.index)&&a.rawModelRoutes.splice(i.index,1),u>=0&&a.rawModelRoutes.splice(u,1),p)return s&&(a.routes[p]=s),o;if(f){let b=d||c;return s&&(a.routes[c]=s),l&&l!==b&&a.rawModelRoutes.push({from:l,sourceRouteKey:c}),o}return l&&s&&a.rawModelRoutes.push({from:l,to:s}),o}function e1(e={},{inbound:t,outbound:n}={}){let r=or(e),o=r.amp;nm(o);let a=String(t||"").trim(),i=String(n||"").trim(),l=hu(a)?a:"";return!a||!i?r:l?(o.routes[l]=i,r):(o.rawModelRoutes.push({from:a,to:i}),r)}function t1(e={},t){let n=or(e),r=n.amp;nm(r);let o=ZC(n,t);return o?.removable&&(o.source==="route"&&o.routeKey&&delete r.routes[o.routeKey],o.source==="raw"&&Number.isInteger(o.index)&&r.rawModelRoutes.splice(o.index,1)),n}function Ai(e={}){let t=e&&typeof e=="object"&&!Array.isArray(e)?e:{},n=t.amp?.webSearch&&typeof t.amp.webSearch=="object"&&!Array.isArray(t.amp.webSearch)?jo(t.amp.webSearch):null;(!t.webSearch||typeof t.webSearch!="object"||Array.isArray(t.webSearch))&&(t.webSearch=n||{}),t.amp&&typeof t.amp=="object"&&!Array.isArray(t.amp)&&Object.prototype.hasOwnProperty.call(t.amp,"webSearch")&&delete t.amp.webSearch;let r=String(t.webSearch.strategy||"").trim();return t.webSearch.strategy=r==="quota-balance"?"quota-balance":"ordered",t.webSearch.count!==void 0&&t.webSearch.count!==null&&String(t.webSearch.count).trim()!==""?t.webSearch.count=Vo(t.webSearch.count,xi,{min:au,max:iu}):delete t.webSearch.count,Array.isArray(t.webSearch.providers)||(t.webSearch.providers=[]),t.webSearch}function n1(e=""){return String(e||"").trim().includes("/")}function Cn(e=""){let t=String(e||"").trim();return n1(t)?t:t.toLowerCase()}function wi(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();return!n||!r?"":`${n}/${r}`}function OL(e={}){return[...new Set([e?.format,...Array.isArray(e?.formats)?e.formats:[]].map(t=>String(t||"").trim().toLowerCase()).filter(t=>t==="openai"||t==="claude"))]}function kL(e={},t={}){let n=String(t?.id||"").trim(),r=n?String(e?.lastProbe?.modelPreferredFormat?.[n]||"").trim().toLowerCase():"";if(r==="openai"||r==="claude")return[r];let o=n?[...new Set((Array.isArray(e?.lastProbe?.modelSupport?.[n])?e.lastProbe.modelSupport[n]:[]).map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]:[];return o.length>0?o:[...new Set([t?.format,...Array.isArray(t?.formats)?t.formats:[]].map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]}function r1(e={}){let t=String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase();return String(e?.type||"").trim().toLowerCase()==="subscription"?t==="chatgpt-codex":OL(e).includes("openai")?!!String(e?.baseUrlByFormat?.openai||e?.baseUrl||"").trim():!1}function _L(e={}){return String(e?.type||"").trim().toLowerCase()==="subscription"?String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase()==="chatgpt-codex":String(e?.apiKey||"").trim()||String(e?.apiKeyEnv||"").trim()||String(e?.auth?.type||"").trim().toLowerCase()==="none"?!0:Object.keys(e?.headers&&typeof e.headers=="object"?e.headers:{}).some(t=>{let n=String(t||"").trim().toLowerCase();return n==="authorization"||n==="x-api-key"})}function LL(e={},t={}){if(!r1(e))return!1;let n=kL(e,t);return n.length===0||n.includes("openai")}function Fo(e={},t=[]){return!e||typeof e!="object"||Array.isArray(e)?!1:t.some(n=>Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==void 0&&e[n]!==null&&String(e[n]).trim()!=="")}function yu(e={},t=""){let n=String(t||e?.id||"").trim().toLowerCase(),r=Ea[n];if(!r)return null;let o=r.credentialField,a=String(e?.[o]||"").trim(),i=Fo(e,["count","resultCount","result-count","resultsPerCall","results-per-call"]),l=Fo(e,["limit","monthlyLimit","monthly-limit","quota"]),s=Fo(e,["remaining","remainingQuota","remaining-quota","remainingQueries","remaining-queries"]),c=!!a||l||s,d=c&&Number(r.defaultLimit)||0,u=Vo(e?.count??e?.resultCount??e?.["result-count"]??e?.resultsPerCall??e?.["results-per-call"],xi,{min:au,max:iu}),f=Vo(e?.limit,d,{min:0}),p=f>0?f:0,b=Vo(e?.remaining,p,{min:0});return{kind:"builtin",id:n,[o]:a,...i&&u!==xi?{count:u}:{},...l||c&&f>0?{limit:f}:{},...s||c&&(f>0||b>0)?{remaining:f>0?Math.min(b,f):b}:{}}}function DL(e={},t=""){let n=String(t||e?.id||wi(e?.providerId??e?.provider,e?.model??e?.modelId)).trim();if(!n1(n))return null;let r=String(e?.providerId??e?.provider??n.slice(0,n.indexOf("/"))).trim(),o=String(e?.model??e?.modelId??n.slice(n.indexOf("/")+1)).trim(),a=wi(r,o);return!a||a!==n?null:{kind:"hosted",id:a,providerId:r,model:o}}function BL(e={},t=""){return DL(e,t)||yu(e,t)}function o1(e={},t=new Set){return(Array.isArray(e?.providers)?e.providers:[]).map(r=>{let o=String(r?.id||"").trim();if(!o||r?.enabled===!1||!r1(r)||!_L(r))return null;let a=(Array.isArray(r?.models)?r.models:[]).map(i=>{let l=String(i?.id||"").trim(),s=wi(o,l);return!l||!s||t.has(s)||!LL(r,i)||!l.toLowerCase().includes("gpt")?null:{value:l,label:l,routeId:s}}).filter(Boolean);return a.length===0?null:{providerId:o,providerLabel:String(r?.name||o).trim()||o,providerHint:String(r?.subscriptionType||"").trim().toLowerCase()==="chatgpt-codex"?"ChatGPT subscription":String(r?.baseUrlByFormat?.openai||r?.baseUrl||"").trim()||"OpenAI-compatible endpoint",models:a}}).filter(Boolean)}function a1(e={},t=null){let n=or(e),r=Ai(n),o=Array.isArray(r.providers)?r.providers.map(u=>BL(u,u?.id)).filter(Boolean):[],a=new Set(o.map(u=>Cn(u.id))),i=[...o,...Vf.filter(u=>!a.has(u.id)).map(u=>yu({id:u.id},u.id)).filter(Boolean)],l=Array.isArray(t?.providers)?t.providers:[],s=new Map(l.map(u=>[Cn(u?.id),u]).filter(([u])=>!!u)),c=new Map((Array.isArray(e?.providers)?e.providers:[]).map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u)),d=Vo(r?.count,xi,{min:au,max:iu});return i.map(u=>{let f=Cn(u.id),p=s.get(f)||null,b=o.findIndex(E=>Cn(E.id)===f),m=i.findIndex(E=>Cn(E.id)===f),v=u.kind==="hosted"?p?.ready!==!1:!!u?.[Ea[u.id]?.credentialField||"apiKey"];if(u.kind==="hosted"){let E=c.get(u.providerId)||null;return{id:u.id,key:u.id,kind:"hosted",label:String(E?.name||u.providerId).trim()||u.providerId,providerId:u.providerId,modelId:u.model,routeId:u.id,configured:!0,configuredIndex:b,configuredCount:o.length,displayIndex:m,displayCount:i.length,active:v,runtimeState:p}}let h=Ea[u.id],g=h?.credentialField||"apiKey",y=String(u?.[g]||"").trim(),x=Fo(u,["count"]),A=Vo(u?.count,d,{min:au,max:iu});return{id:u.id,key:u.id,kind:"builtin",label:h?.label||u.id,credentialField:g,credentialLabel:h?.credentialLabel||"Credential",credentialPlaceholder:h?.credentialPlaceholder||"",credentialValue:y,resultPerCall:A,resultPerCallInput:x?String(A):d!==xi?String(d):"",limit:Vo(u?.limit,h?.defaultLimit||0,{min:0}),remaining:Vo(u?.remaining,h?.defaultLimit||0,{min:0}),configured:!!y,configuredIndex:b,configuredCount:o.length,displayIndex:m,displayCount:i.length,active:v,runtimeState:p}})}function i1(e=[],t=""){let n=[],r=new Set;for(let i of Array.isArray(e)?e:[]){if(!i?.configured)continue;let l=String(i?.id||"").trim(),s=Cn(l);if(!l||!s||r.has(s))continue;let c=i.kind==="hosted"?[String(i?.label||"").trim(),String(i?.modelId||"").trim()].filter(Boolean).join(" \xB7 "):String(i?.label||l).trim()||l,d=i.kind==="hosted"?String(i?.routeId||l).trim()||"Hosted web search route":i.active===!1?"Configured but not ready":"Configured provider";n.push({value:l,label:c,hint:d,groupKey:i.kind==="hosted"?"hosted-web-search-routes":"builtin-web-search-providers",groupLabel:i.kind==="hosted"?"Hosted search routes":"Built-in search providers"}),r.add(s)}let o=String(t||"").trim(),a=Cn(o);return o&&a&&!r.has(a)&&n.unshift({value:o,label:o,hint:"Current config (not configured)",groupKey:"current-claude-selection",groupLabel:"Current selection"}),n}function l1(e={},t={}){let n=or(e),r=Ai(n);return t.strategy!==void 0&&(r.strategy=String(t.strategy||"").trim()==="quota-balance"?"quota-balance":"ordered"),t.count!==void 0&&(r.count=Vo(t.count,r.count,{min:1,max:20})),n}function s1(e={},t,n={}){let r=String(t||"").trim().toLowerCase();if(!Ea[r])return or(e);let o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=i.findIndex(g=>Cn(g?.id)===r),s=l>=0?i[l]:null,c=yu(s||{id:r},r)||yu({id:r},r),u=Ea[r].credentialField,f=yu({...s&&typeof s=="object"&&!Array.isArray(s)?s:{},...c,...n,id:r,[u]:n[u]!==void 0?String(n[u]||"").trim():c?.[u]},r),p=!!String(f?.[u]||"").trim(),b=Fo(n,["count"])?!!String(n?.count||"").trim()&&Number(f?.count)!==xi:Fo(s,["count"])&&Number(f?.count)!==xi,m=p||Fo(n,["limit"])||Fo(s,["limit"]),v=p||Fo(n,["remaining"])||Fo(s,["remaining"]),h={id:r,...p?{[u]:String(f?.[u]||"").trim()}:{},...b?{count:Number(f.count)}:{},...m&&Number(f?.limit)>0?{limit:Number(f.limit)}:{},...v&&(Number(f?.limit)>0||Number(f?.remaining)>0)?{remaining:Number(f.remaining)}:{}};return l>=0?i[l]=h:i.push(h),a.providers=i,o}function c1(e={},t,n){let r=wi(t,n);if(!r)return or(e);let o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=Cn(r);return i.some(s=>Cn(s?.id)===l)||(i.push({id:r,providerId:String(t||"").trim(),model:String(n||"").trim()}),a.providers=i),o}function u1(e={},t){let n=Cn(t),r=or(e),o=Ai(r),a=Array.isArray(o.providers)?o.providers.slice():[],i=a.filter(l=>Cn(l?.id)!==n);return i.length===a.length||(o.providers=i),r}function d1(e={},t,n="up"){let r=Cn(t),o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=new Map(i.map(m=>[Cn(m?.id),m]).filter(([m])=>!!m)),s=i.findIndex(m=>Cn(m?.id)===r);if(s!==-1){let m=n==="down"?s+1:s-1;if(m<0||m>=i.length)return o;let[v]=i.splice(s,1);return i.splice(m,0,v),a.providers=i,o}if(!Ea[r])return o;let c=[...i.map(m=>Cn(m?.id)).filter(Boolean),...Vf.map(m=>m.id).filter(m=>!l.has(m))],d=c.indexOf(r);if(d===-1)return o;let u=n==="down"?d+1:d-1;if(u<0||u>=c.length)return o;let f=c.slice(),[p]=f.splice(d,1);f.splice(u,0,p);let b=new Set(l.keys());b.add(r);for(let m of f.slice(0,u+1))Ea[m]&&b.add(m);return a.providers=f.filter(m=>b.has(m)).map(m=>l.get(m)||{id:m}),o}function f1(e,t,n){let r=String(e||"").trim().toLowerCase(),o=Ea[r];return!o||String(t||"").trim()!==o.credentialField?!1:!String(n||"").trim()}function Ho(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"Unknown";if(t>=1e3){let n=t/1e3;return`${Number.isInteger(n)?String(n):n.toFixed(1).replace(/\.0$/,"")}K`}return String(t)}function h1(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"";let n=[{suffix:"M",divisor:1e3*1e3},{suffix:"K",divisor:1e3}];for(let r of n){if(t<r.divisor)continue;let o=t/r.divisor;return`${o>=10?String(Math.round(o)):o.toFixed(1).replace(/\.0$/,"")}${r.suffix}`}return String(t)}function bu(e){let t=$o(e),n=Number(t);return!Number.isFinite(n)||n<=0?String(e||""):new Intl.NumberFormat().format(n)}function IL(e={}){let t=new Map;for(let n of Array.isArray(e?.providers)?e.providers:[]){let r=String(n?.id||"").trim();if(r)for(let o of Array.isArray(n?.models)?n.models:[]){let a=String(o?.id||"").trim();a&&t.set(`${r}/${a}`,{ref:`${r}/${a}`,providerId:r,providerName:String(n?.name||r).trim()||r,modelId:a,contextWindow:Number.isFinite(o?.contextWindow)?Number(o.contextWindow):null})}}return t}function zL(e="",t={}){let n=t?.modelAliases&&typeof t.modelAliases=="object"&&!Array.isArray(t.modelAliases)?t.modelAliases:{},r=IL(t),o=new Set,a=new Set,i=[],l=[];function s(p){let b=String(p||"").trim();if(!b)return;if(r.has(b)){if(a.has(b))return;a.add(b),i.push(r.get(b));return}let m=b.startsWith("alias:")?b.slice(6).trim():b;if(!m||!Object.prototype.hasOwnProperty.call(n,m)){l.includes(b)||l.push(b);return}if(o.has(m))return;o.add(m);let v=n[m];for(let h of[...v?.targets||[],...v?.fallbackTargets||[]])s(h?.ref)}s(e);let c=i.filter(p=>Number.isFinite(p?.contextWindow)),d=[...new Set(c.map(p=>p.contextWindow))].sort((p,b)=>p-b),u=d[0]??null,f=d[d.length-1]??null;return{aliasId:e,models:i,unknownRefs:l,smallestContextWindow:u,largestContextWindow:f,hasMixedContextWindows:d.length>1}}function y1(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};return Object.keys(t).map(n=>zL(n,e)).filter(n=>n.hasMixedContextWindows).sort((n,r)=>String(n.aliasId||"").localeCompare(String(r.aliasId||"")))}function rm(e=""){let t=String(e||"Select alias").trim()||"Select alias",n=Math.min(Math.max(Math.ceil(t.length*8.5+62),160),520);if(typeof document>"u")return n;let o=(rm.canvas||(rm.canvas=document.createElement("canvas"))).getContext("2d");return o?(o.font='500 14px "Inter", "SF Pro Display", ui-sans-serif, system-ui, sans-serif',Math.min(Math.max(Math.ceil(o.measureText(t).width+62),160),520)):n}function m1(e={}){return`${String(e?.model||"").trim()}::${String(e?.contextWindow||"").trim()}`}function PL(e){return String(e||"").trim().replace(/[.,\s_'`]/g,"")}function $o(e){let t=PL(e);if(!t)return"";let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?String(n):t}function p1(e={}){let t=String(e?.model||"").trim(),n=String(e?.provider||"").trim(),r=String(e?.mode||"").trim(),o=Number(e?.contextWindow);return!Number.isFinite(o)||o<=0?null:{model:t,provider:n,mode:r,contextWindow:Math.floor(o),...e?.capabilities?{capabilities:e.capabilities}:{}}}function g1(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();if(!n||!r)return n;let o=n.toLowerCase(),a=r.toLowerCase(),i=[`${a}/`,`${a}:`];for(let l of i){if(!o.startsWith(l))continue;return n.slice(l.length).trim()||n}return n}function Ls(e={},{fallbackQuery:t=""}={}){let n=String(e?.query||t||"").trim(),r=p1(e?.exactMatch),o=(Array.isArray(e?.suggestions)?e.suggestions:[]).map(d=>p1(d)).filter(Boolean),a=Number(e?.medianContextWindow),i=Number.isFinite(a)&&a>0?Math.floor(a):r?.contextWindow||null,l=[],s=new Set;function c(d){!d?.key||s.has(d.key)||(s.add(d.key),l.push(d))}r&&c({key:`exact::${m1(r)}`,label:g1(r.model,r.provider)||"Exact match",detail:r.provider?`Exact \xB7 ${r.provider}`:"Exact",contextWindow:r.contextWindow});for(let d of o)c({key:m1(d),label:g1(d.model,d.provider)||"Suggestion",detail:d.provider||"Known model",contextWindow:d.contextWindow});return{query:n,exactMatch:r,suggestions:o,medianContextWindow:i,options:l,status:l.length>0?"ready":"miss"}}function om(e={}){let t=Ls(e);return t.exactMatch?.contextWindow?String(t.exactMatch.contextWindow):t.medianContextWindow?String(t.medianContextWindow):""}function b1(e=[]){let t=new Map;for(let n of Array.isArray(e)?e:[]){let r=Ls(n);r.query&&t.set(r.query,r)}return t}function v1(e=[]){let t={};for(let n of Array.isArray(e)?e:[]){let r=String(n?.query||"").trim(),o=om(n);!r||!o||(t[r]=Number(o))}return t}async function Ze(e,t={}){let n=await fetch(e,t),r=await n.json().catch(()=>({}));if(!n.ok){let o=new Error(r?.error||`Request failed (${n.status})`);throw o.statusCode=n.status,o.payload=r,o}return r}async function vu(e,t={},{onMessage:n}={}){let r=await fetch(e,t);if(!r.ok){let c=await r.json().catch(()=>({})),d=new Error(c?.error||`Request failed (${r.status})`);throw d.statusCode=r.status,d.payload=c,d}let o=r.body?.getReader();if(!o)return null;let a=new TextDecoder,i="",l=null;for(;;){let{value:c,done:d}=await o.read();i+=a.decode(c||new Uint8Array,{stream:!d});let u=i.indexOf(`
|
|
10
10
|
`);for(;u>=0;){let f=i.slice(0,u).trim();if(i=i.slice(u+1),f){let p=JSON.parse(f);if(n?.(p),p?.type==="result"&&(l=p.result),p?.type==="error"){let b=new Error(p.error||"Request failed.");throw b.statusCode=p.statusCode||500,b}}u=i.indexOf(`
|
|
11
|
-
`)}if(d)break}let s=i.trim();if(s){let c=JSON.parse(s);if(n?.(c),c?.type==="result"&&(l=c.result),c?.type==="error"){let d=new Error(c.error||"Request failed.");throw d.statusCode=c.statusCode||500,d}}return l}async function v1(e,t,n){let r=HC(n);if(r.length===0)return null;try{let o=await Ze("/api/config/probe-free-tier-models",{method:"POST",headers:Xe,body:JSON.stringify({baseUrl:e,...vo(t)?{apiKeyEnv:t}:{apiKey:t},modelIds:r})});if(!o?.result)return null;let a=new Set,i=new Set;for(let[l,s]of Object.entries(o.result)){let c=l.toLowerCase(),d=c.includes("flash-lite")?"flash-lite":c.includes("flash")?"flash":c.includes("pro")?"pro":c;s?.freeTier?a.add(d):i.add(d)}return n.filter(l=>{let s=l.toLowerCase(),c=s.includes("flash-lite")?"flash-lite":s.includes("flash")?"flash":s.includes("pro")?"pro":s;return a.has(c)?!0:!i.has(c)})}catch{return null}}async function xu(e=[]){let t=[...new Set((Array.isArray(e)?e:[]).map(r=>String(r||"").trim()).filter(Boolean))];if(t.length===0)return[];let n=await Ze("/api/config/litellm-context-lookup",{method:"POST",headers:Xe,body:JSON.stringify({models:t,limit:dC})});return Array.isArray(n?.result)?n.result:[]}async function x1(e={}){let t=await Ze("/api/local-models/search-huggingface",{method:"POST",headers:Xe,body:JSON.stringify(e)});return Array.isArray(t?.results)?t.results:[]}async function S1(e,{onMessage:t}={}){return vu("/api/local-models/download-managed",{method:"POST",headers:Xe,body:JSON.stringify(e)},{onMessage:t})}async function w1(e){return(await Ze("/api/local-models/variants/save",{method:"POST",headers:Xe,body:JSON.stringify({variant:e})}))?.variants||{}}async function A1(e){return await Ze("/api/local-models/attach",{method:"POST",headers:Xe,body:JSON.stringify(e)})}async function C1(e){return await Ze("/api/local-models/locate",{method:"POST",headers:Xe,body:JSON.stringify(e)})}async function R1(e){return await Ze("/api/local-models/remove",{method:"POST",headers:Xe,body:JSON.stringify({baseModelId:e})})}async function N1(){return await Ze("/api/local-models/reconcile",{method:"POST",headers:Xe,body:"{}"})}async function Ny(){return Ze("/api/local-models/runtime/discover",{method:"POST",headers:Xe,body:"{}"})}async function E1(e){return Ze("/api/local-models/runtime/select",{method:"POST",headers:Xe,body:JSON.stringify({command:e})})}async function om(e="file"){return Ze("/api/local-models/browse",{method:"POST",headers:Xe,body:JSON.stringify({selection:e})})}async function T1(e){return Ze("/api/local-models/scan-path",{method:"POST",headers:Xe,body:JSON.stringify({path:e})})}var D4=B(xe(),1);var pt=B(xe(),1);var le=B(xe(),1),gb=B(Bi(),1);function Ey(e,[t,n]){return Math.min(n,Math.max(t,e))}var an=B(xe(),1);var M1=B(xe(),1);function O1(e,t=globalThis?.document){let n=pr(e);M1.useEffect(()=>{let r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var My=B(te(),1),PL="DismissableLayer",Ty="dismissableLayer.update",UL="dismissableLayer.pointerDownOutside",jL="dismissableLayer.focusOutside",k1,L1=an.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Oy=an.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:l,...s}=e,c=an.useContext(L1),[d,u]=an.useState(null),f=d?.ownerDocument??globalThis?.document,[,p]=an.useState({}),b=Tt(t,E=>u(E)),m=Array.from(c.layers),[v]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),h=m.indexOf(v),g=d?m.indexOf(d):-1,y=c.layersWithOutsidePointerEventsDisabled.size>0,x=g>=h,A=HL(E=>{let C=E.target,O=[...c.branches].some(L=>L.contains(C));!x||O||(o?.(E),i?.(E),E.defaultPrevented||l?.())},f),N=$L(E=>{let C=E.target;[...c.branches].some(L=>L.contains(C))||(a?.(E),i?.(E),E.defaultPrevented||l?.())},f);return O1(E=>{g===c.layers.size-1&&(r?.(E),!E.defaultPrevented&&l&&(E.preventDefault(),l()))},f),an.useEffect(()=>{if(d)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(k1=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),_1(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=k1)}},[d,f,n,c]),an.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),_1())},[d,c]),an.useEffect(()=>{let E=()=>p({});return document.addEventListener(Ty,E),()=>document.removeEventListener(Ty,E)},[]),(0,My.jsx)(at.div,{...s,ref:b,style:{pointerEvents:y?x?"auto":"none":void 0,...e.style},onFocusCapture:vt(e.onFocusCapture,N.onFocusCapture),onBlurCapture:vt(e.onBlurCapture,N.onBlurCapture),onPointerDownCapture:vt(e.onPointerDownCapture,A.onPointerDownCapture)})});Oy.displayName=PL;var VL="DismissableLayerBranch",FL=an.forwardRef((e,t)=>{let n=an.useContext(L1),r=an.useRef(null),o=Tt(t,r);return an.useEffect(()=>{let a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),(0,My.jsx)(at.div,{...e,ref:o})});FL.displayName=VL;function HL(e,t=globalThis?.document){let n=pr(e),r=an.useRef(!1),o=an.useRef(()=>{});return an.useEffect(()=>{let a=l=>{if(l.target&&!r.current){let c=function(){D1(UL,n,d,{discrete:!0})};var s=c;let d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=c,t.addEventListener("click",o.current,{once:!0})):c()}else t.removeEventListener("click",o.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function $L(e,t=globalThis?.document){let n=pr(e),r=an.useRef(!1);return an.useEffect(()=>{let o=a=>{a.target&&!r.current&&D1(jL,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function _1(){let e=new CustomEvent(Ty);document.dispatchEvent(e)}function D1(e,t,n,{discrete:r}){let o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?bA(o,a):o.dispatchEvent(a)}var I1=B(xe(),1),ky=0;function z1(){I1.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??B1()),document.body.insertAdjacentElement("beforeend",e[1]??B1()),ky++,()=>{ky===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),ky--}},[])}function B1(){let 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 ro=B(xe(),1);var F1=B(te(),1),_y="focusScope.autoFocusOnMount",Ly="focusScope.autoFocusOnUnmount",P1={bubbles:!1,cancelable:!0},KL="FocusScope",Dy=ro.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[l,s]=ro.useState(null),c=pr(o),d=pr(a),u=ro.useRef(null),f=Tt(t,m=>s(m)),p=ro.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;ro.useEffect(()=>{if(r){let g=function(N){if(p.paused||!l)return;let E=N.target;l.contains(E)?u.current=E:Ci(u.current,{select:!0})},y=function(N){if(p.paused||!l)return;let E=N.relatedTarget;E!==null&&(l.contains(E)||Ci(u.current,{select:!0}))},x=function(N){if(document.activeElement===document.body)for(let C of N)C.removedNodes.length>0&&Ci(l)};var m=g,v=y,h=x;document.addEventListener("focusin",g),document.addEventListener("focusout",y);let A=new MutationObserver(x);return l&&A.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",y),A.disconnect()}}},[r,l,p.paused]),ro.useEffect(()=>{if(l){j1.add(p);let m=document.activeElement;if(!l.contains(m)){let h=new CustomEvent(_y,P1);l.addEventListener(_y,c),l.dispatchEvent(h),h.defaultPrevented||(GL(XL(H1(l)),{select:!0}),document.activeElement===m&&Ci(l))}return()=>{l.removeEventListener(_y,c),setTimeout(()=>{let h=new CustomEvent(Ly,P1);l.addEventListener(Ly,d),l.dispatchEvent(h),h.defaultPrevented||Ci(m??document.body,{select:!0}),l.removeEventListener(Ly,d),j1.remove(p)},0)}}},[l,c,d,p]);let b=ro.useCallback(m=>{if(!n&&!r||p.paused)return;let v=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,h=document.activeElement;if(v&&h){let g=m.currentTarget,[y,x]=qL(g);y&&x?!m.shiftKey&&h===x?(m.preventDefault(),n&&Ci(y,{select:!0})):m.shiftKey&&h===y&&(m.preventDefault(),n&&Ci(x,{select:!0})):h===g&&m.preventDefault()}},[n,r,p.paused]);return(0,F1.jsx)(at.div,{tabIndex:-1,...i,ref:f,onKeyDown:b})});Dy.displayName=KL;function GL(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Ci(r,{select:t}),document.activeElement!==n)return}function qL(e){let t=H1(e),n=U1(t,e),r=U1(t.reverse(),e);return[n,r]}function H1(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{let o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function U1(e,t){for(let n of e)if(!WL(n,{upTo:t}))return n}function WL(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 YL(e){return e instanceof HTMLInputElement&&"select"in e}function Ci(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&YL(e)&&t&&e.select()}}var j1=QL();function QL(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=V1(e,t),e.unshift(t)},remove(t){e=V1(e,t),e[0]?.resume()}}}function V1(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function XL(e){return e.filter(t=>t.tagName!=="A")}var xr=B(xe(),1);var G1=["top","right","bottom","left"];var Ko=Math.min,ar=Math.max,wu=Math.round,Au=Math.floor,So=e=>({x:e,y:e}),JL={left:"right",right:"left",bottom:"top",top:"bottom"};function im(e,t,n){return ar(e,Ko(t,n))}function Go(e,t){return typeof e=="function"?e(t):e}function qo(e){return e.split("-")[0]}function sl(e){return e.split("-")[1]}function lm(e){return e==="x"?"y":"x"}function sm(e){return e==="y"?"height":"width"}function wo(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function cm(e){return lm(wo(e))}function q1(e,t,n){n===void 0&&(n=!1);let r=sl(e),o=cm(e),a=sm(o),i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=Su(i)),[i,Su(i)]}function W1(e){let t=Su(e);return[am(e),t,am(t)]}function am(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var $1=["left","right"],K1=["right","left"],ZL=["top","bottom"],eD=["bottom","top"];function tD(e,t,n){switch(e){case"top":case"bottom":return n?t?K1:$1:t?$1:K1;case"left":case"right":return t?ZL:eD;default:return[]}}function Y1(e,t,n,r){let o=sl(e),a=tD(qo(e),n==="start",r);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(am)))),a}function Su(e){let t=qo(e);return JL[t]+e.slice(t.length)}function nD(e){return{top:0,right:0,bottom:0,left:0,...e}}function By(e){return typeof e!="number"?nD(e):{top:e,right:e,bottom:e,left:e}}function cl(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function Q1(e,t,n){let{reference:r,floating:o}=e,a=wo(t),i=cm(t),l=sm(i),s=qo(t),c=a==="y",d=r.x+r.width/2-o.width/2,u=r.y+r.height/2-o.height/2,f=r[l]/2-o[l]/2,p;switch(s){case"top":p={x:d,y:r.y-o.height};break;case"bottom":p={x:d,y:r.y+r.height};break;case"right":p={x:r.x+r.width,y:u};break;case"left":p={x:r.x-o.width,y:u};break;default:p={x:r.x,y:r.y}}switch(sl(t)){case"start":p[i]-=f*(n&&c?-1:1);break;case"end":p[i]+=f*(n&&c?-1:1);break}return p}async function Z1(e,t){var n;t===void 0&&(t={});let{x:r,y:o,platform:a,rects:i,elements:l,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:p=0}=Go(t,e),b=By(p),v=l[f?u==="floating"?"reference":"floating":u],h=cl(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(v)))==null||n?v:v.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:s})),g=u==="floating"?{x:r,y:o,width:i.floating.width,height:i.floating.height}:i.reference,y=await(a.getOffsetParent==null?void 0:a.getOffsetParent(l.floating)),x=await(a.isElement==null?void 0:a.isElement(y))?await(a.getScale==null?void 0:a.getScale(y))||{x:1,y:1}:{x:1,y:1},A=cl(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:g,offsetParent:y,strategy:s}):g);return{top:(h.top-A.top+b.top)/x.y,bottom:(A.bottom-h.bottom+b.bottom)/x.y,left:(h.left-A.left+b.left)/x.x,right:(A.right-h.right+b.right)/x.x}}var rD=50,eR=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,l=i.detectOverflow?i:{...i,detectOverflow:Z1},s=await(i.isRTL==null?void 0:i.isRTL(t)),c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:u}=Q1(c,r,s),f=r,p=0,b={};for(let m=0;m<a.length;m++){let v=a[m];if(!v)continue;let{name:h,fn:g}=v,{x:y,y:x,data:A,reset:N}=await g({x:d,y:u,initialPlacement:r,placement:f,strategy:o,middlewareData:b,rects:c,platform:l,elements:{reference:e,floating:t}});d=y??d,u=x??u,b[h]={...b[h],...A},N&&p<rD&&(p++,typeof N=="object"&&(N.placement&&(f=N.placement),N.rects&&(c=N.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:o}):N.rects),{x:d,y:u}=Q1(c,f,s)),m=-1)}return{x:d,y:u,placement:f,strategy:o,middlewareData:b}},tR=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:a,platform:i,elements:l,middlewareData:s}=t,{element:c,padding:d=0}=Go(e,t)||{};if(c==null)return{};let u=By(d),f={x:n,y:r},p=cm(o),b=sm(p),m=await i.getDimensions(c),v=p==="y",h=v?"top":"left",g=v?"bottom":"right",y=v?"clientHeight":"clientWidth",x=a.reference[b]+a.reference[p]-f[p]-a.floating[b],A=f[p]-a.reference[p],N=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c)),E=N?N[y]:0;(!E||!await(i.isElement==null?void 0:i.isElement(N)))&&(E=l.floating[y]||a.floating[b]);let C=x/2-A/2,O=E/2-m[b]/2-1,L=Ko(u[h],O),V=Ko(u[g],O),z=L,G=E-m[b]-V,Z=E/2-m[b]/2+C,ue=im(z,Z,G),q=!s.arrow&&sl(o)!=null&&Z!==ue&&a.reference[b]/2-(Z<z?L:V)-m[b]/2<0,oe=q?Z<z?Z-z:Z-G:0;return{[p]:f[p]+oe,data:{[p]:ue,centerOffset:Z-ue-oe,...q&&{alignmentOffset:oe}},reset:q}}});var nR=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;let{placement:o,middlewareData:a,rects:i,initialPlacement:l,platform:s,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:f,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:m=!0,...v}=Go(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};let h=qo(o),g=wo(l),y=qo(l)===l,x=await(s.isRTL==null?void 0:s.isRTL(c.floating)),A=f||(y||!m?[Su(l)]:W1(l)),N=b!=="none";!f&&N&&A.push(...Y1(l,m,b,x));let E=[l,...A],C=await s.detectOverflow(t,v),O=[],L=((r=a.flip)==null?void 0:r.overflows)||[];if(d&&O.push(C[h]),u){let Z=q1(o,i,x);O.push(C[Z[0]],C[Z[1]])}if(L=[...L,{placement:o,overflows:O}],!O.every(Z=>Z<=0)){var V,z;let Z=(((V=a.flip)==null?void 0:V.index)||0)+1,ue=E[Z];if(ue&&(!(u==="alignment"?g!==wo(ue):!1)||L.every(ee=>wo(ee.placement)===g?ee.overflows[0]>0:!0)))return{data:{index:Z,overflows:L},reset:{placement:ue}};let q=(z=L.filter(oe=>oe.overflows[0]<=0).sort((oe,ee)=>oe.overflows[1]-ee.overflows[1])[0])==null?void 0:z.placement;if(!q)switch(p){case"bestFit":{var G;let oe=(G=L.filter(ee=>{if(N){let W=wo(ee.placement);return W===g||W==="y"}return!0}).map(ee=>[ee.placement,ee.overflows.filter(W=>W>0).reduce((W,j)=>W+j,0)]).sort((ee,W)=>ee[1]-W[1])[0])==null?void 0:G[0];oe&&(q=oe);break}case"initialPlacement":q=l;break}if(o!==q)return{reset:{placement:q}}}return{}}}};function X1(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function J1(e){return G1.some(t=>e[t]>=0)}var rR=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:o="referenceHidden",...a}=Go(e,t);switch(o){case"referenceHidden":{let i=await r.detectOverflow(t,{...a,elementContext:"reference"}),l=X1(i,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:J1(l)}}}case"escaped":{let i=await r.detectOverflow(t,{...a,altBoundary:!0}),l=X1(i,n.floating);return{data:{escapedOffsets:l,escaped:J1(l)}}}default:return{}}}}};var oR=new Set(["left","top"]);async function oD(e,t){let{placement:n,platform:r,elements:o}=e,a=await(r.isRTL==null?void 0:r.isRTL(o.floating)),i=qo(n),l=sl(n),s=wo(n)==="y",c=oR.has(i)?-1:1,d=a&&s?-1:1,u=Go(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:b}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&typeof b=="number"&&(p=l==="end"?b*-1:b),s?{x:p*d,y:f*c}:{x:f*c,y:p*d}}var aR=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:o,y:a,placement:i,middlewareData:l}=t,s=await oD(t,e);return i===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+s.x,y:a+s.y,data:{...s,placement:i}}}}},iR=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:o,platform:a}=t,{mainAxis:i=!0,crossAxis:l=!1,limiter:s={fn:h=>{let{x:g,y}=h;return{x:g,y}}},...c}=Go(e,t),d={x:n,y:r},u=await a.detectOverflow(t,c),f=wo(qo(o)),p=lm(f),b=d[p],m=d[f];if(i){let h=p==="y"?"top":"left",g=p==="y"?"bottom":"right",y=b+u[h],x=b-u[g];b=im(y,b,x)}if(l){let h=f==="y"?"top":"left",g=f==="y"?"bottom":"right",y=m+u[h],x=m-u[g];m=im(y,m,x)}let v=s.fn({...t,[p]:b,[f]:m});return{...v,data:{x:v.x-n,y:v.y-r,enabled:{[p]:i,[f]:l}}}}}},lR=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:o,rects:a,middlewareData:i}=t,{offset:l=0,mainAxis:s=!0,crossAxis:c=!0}=Go(e,t),d={x:n,y:r},u=wo(o),f=lm(u),p=d[f],b=d[u],m=Go(l,t),v=typeof m=="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(s){let y=f==="y"?"height":"width",x=a.reference[f]-a.floating[y]+v.mainAxis,A=a.reference[f]+a.reference[y]-v.mainAxis;p<x?p=x:p>A&&(p=A)}if(c){var h,g;let y=f==="y"?"width":"height",x=oR.has(qo(o)),A=a.reference[u]-a.floating[y]+(x&&((h=i.offset)==null?void 0:h[u])||0)+(x?0:v.crossAxis),N=a.reference[u]+a.reference[y]+(x?0:((g=i.offset)==null?void 0:g[u])||0)-(x?v.crossAxis:0);b<A?b=A:b>N&&(b=N)}return{[f]:p,[u]:b}}}},sR=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;let{placement:o,rects:a,platform:i,elements:l}=t,{apply:s=()=>{},...c}=Go(e,t),d=await i.detectOverflow(t,c),u=qo(o),f=sl(o),p=wo(o)==="y",{width:b,height:m}=a.floating,v,h;u==="top"||u==="bottom"?(v=u,h=f===(await(i.isRTL==null?void 0:i.isRTL(l.floating))?"start":"end")?"left":"right"):(h=u,v=f==="end"?"top":"bottom");let g=m-d.top-d.bottom,y=b-d.left-d.right,x=Ko(m-d[v],g),A=Ko(b-d[h],y),N=!t.middlewareData.shift,E=x,C=A;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(C=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(E=g),N&&!f){let L=ar(d.left,0),V=ar(d.right,0),z=ar(d.top,0),G=ar(d.bottom,0);p?C=b-2*(L!==0||V!==0?L+V:ar(d.left,d.right)):E=m-2*(z!==0||G!==0?z+G:ar(d.top,d.bottom))}await s({...t,availableWidth:C,availableHeight:E});let O=await i.getDimensions(l.floating);return b!==O.width||m!==O.height?{reset:{rects:!0}}:{}}}};function um(){return typeof window<"u"}function fl(e){return uR(e)?(e.nodeName||"").toLowerCase():"#document"}function vr(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ao(e){var t;return(t=(uR(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function uR(e){return um()?e instanceof Node||e instanceof vr(e).Node:!1}function oo(e){return um()?e instanceof Element||e instanceof vr(e).Element:!1}function Wo(e){return um()?e instanceof HTMLElement||e instanceof vr(e).HTMLElement:!1}function cR(e){return!um()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof vr(e).ShadowRoot}function Ds(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=ao(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&o!=="inline"&&o!=="contents"}function dR(e){return/^(table|td|th)$/.test(fl(e))}function Cu(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var aD=/transform|translate|scale|rotate|perspective|filter/,iD=/paint|layout|strict|content/,ul=e=>!!e&&e!=="none",Iy;function dm(e){let t=oo(e)?ao(e):e;return ul(t.transform)||ul(t.translate)||ul(t.scale)||ul(t.rotate)||ul(t.perspective)||!fm()&&(ul(t.backdropFilter)||ul(t.filter))||aD.test(t.willChange||"")||iD.test(t.contain||"")}function fR(e){let t=Ma(e);for(;Wo(t)&&!ml(t);){if(dm(t))return t;if(Cu(t))return null;t=Ma(t)}return null}function fm(){return Iy==null&&(Iy=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Iy}function ml(e){return/^(html|body|#document)$/.test(fl(e))}function ao(e){return vr(e).getComputedStyle(e)}function Ru(e){return oo(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ma(e){if(fl(e)==="html")return e;let t=e.assignedSlot||e.parentNode||cR(e)&&e.host||Ao(e);return cR(t)?t.host:t}function mR(e){let t=Ma(e);return ml(t)?e.ownerDocument?e.ownerDocument.body:e.body:Wo(t)&&Ds(t)?t:mR(t)}function dl(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);let o=mR(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),i=vr(o);if(a){let l=mm(i);return t.concat(i,i.visualViewport||[],Ds(o)?o:[],l&&n?dl(l):[])}else return t.concat(o,dl(o,[],n))}function mm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function yR(e){let t=ao(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=Wo(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:r,l=wu(n)!==a||wu(r)!==i;return l&&(n=a,r=i),{width:n,height:r,$:l}}function Py(e){return oo(e)?e:e.contextElement}function Bs(e){let t=Py(e);if(!Wo(t))return So(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:a}=yR(t),i=(a?wu(n.width):n.width)/r,l=(a?wu(n.height):n.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!l||!Number.isFinite(l))&&(l=1),{x:i,y:l}}var lD=So(0);function bR(e){let t=vr(e);return!fm()||!t.visualViewport?lD:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function sD(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==vr(e)?!1:t}function pl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let o=e.getBoundingClientRect(),a=Py(e),i=So(1);t&&(r?oo(r)&&(i=Bs(r)):i=Bs(e));let l=sD(a,n,r)?bR(a):So(0),s=(o.left+l.x)/i.x,c=(o.top+l.y)/i.y,d=o.width/i.x,u=o.height/i.y;if(a){let f=vr(a),p=r&&oo(r)?vr(r):r,b=f,m=mm(b);for(;m&&r&&p!==b;){let v=Bs(m),h=m.getBoundingClientRect(),g=ao(m),y=h.left+(m.clientLeft+parseFloat(g.paddingLeft))*v.x,x=h.top+(m.clientTop+parseFloat(g.paddingTop))*v.y;s*=v.x,c*=v.y,d*=v.x,u*=v.y,s+=y,c+=x,b=vr(m),m=mm(b)}}return cl({width:d,height:u,x:s,y:c})}function pm(e,t){let n=Ru(e).scrollLeft;return t?t.left+n:pl(Ao(e)).left+n}function vR(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-pm(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function cD(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,a=o==="fixed",i=Ao(r),l=t?Cu(t.floating):!1;if(r===i||l&&a)return n;let s={scrollLeft:0,scrollTop:0},c=So(1),d=So(0),u=Wo(r);if((u||!u&&!a)&&((fl(r)!=="body"||Ds(i))&&(s=Ru(r)),u)){let p=pl(r);c=Bs(r),d.x=p.x+r.clientLeft,d.y=p.y+r.clientTop}let f=i&&!u&&!a?vR(i,s):So(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+d.x+f.x,y:n.y*c.y-s.scrollTop*c.y+d.y+f.y}}function uD(e){return Array.from(e.getClientRects())}function dD(e){let t=Ao(e),n=Ru(e),r=e.ownerDocument.body,o=ar(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ar(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),i=-n.scrollLeft+pm(e),l=-n.scrollTop;return ao(r).direction==="rtl"&&(i+=ar(t.clientWidth,r.clientWidth)-o),{width:o,height:a,x:i,y:l}}var pR=25;function fD(e,t){let n=vr(e),r=Ao(e),o=n.visualViewport,a=r.clientWidth,i=r.clientHeight,l=0,s=0;if(o){a=o.width,i=o.height;let d=fm();(!d||d&&t==="fixed")&&(l=o.offsetLeft,s=o.offsetTop)}let c=pm(r);if(c<=0){let d=r.ownerDocument,u=d.body,f=getComputedStyle(u),p=d.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,b=Math.abs(r.clientWidth-u.clientWidth-p);b<=pR&&(a-=b)}else c<=pR&&(a+=c);return{width:a,height:i,x:l,y:s}}function mD(e,t){let n=pl(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,a=Wo(e)?Bs(e):So(1),i=e.clientWidth*a.x,l=e.clientHeight*a.y,s=o*a.x,c=r*a.y;return{width:i,height:l,x:s,y:c}}function gR(e,t,n){let r;if(t==="viewport")r=fD(e,n);else if(t==="document")r=dD(Ao(e));else if(oo(t))r=mD(t,n);else{let o=bR(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return cl(r)}function xR(e,t){let n=Ma(e);return n===t||!oo(n)||ml(n)?!1:ao(n).position==="fixed"||xR(n,t)}function pD(e,t){let n=t.get(e);if(n)return n;let r=dl(e,[],!1).filter(l=>oo(l)&&fl(l)!=="body"),o=null,a=ao(e).position==="fixed",i=a?Ma(e):e;for(;oo(i)&&!ml(i);){let l=ao(i),s=dm(i);!s&&l.position==="fixed"&&(o=null),(a?!s&&!o:!s&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Ds(i)&&!s&&xR(e,i))?r=r.filter(d=>d!==i):o=l,i=Ma(i)}return t.set(e,r),r}function gD(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[...n==="clippingAncestors"?Cu(t)?[]:pD(t,this._c):[].concat(n),r],l=gR(t,i[0],o),s=l.top,c=l.right,d=l.bottom,u=l.left;for(let f=1;f<i.length;f++){let p=gR(t,i[f],o);s=ar(p.top,s),c=Ko(p.right,c),d=Ko(p.bottom,d),u=ar(p.left,u)}return{width:c-u,height:d-s,x:u,y:s}}function hD(e){let{width:t,height:n}=yR(e);return{width:t,height:n}}function yD(e,t,n){let r=Wo(t),o=Ao(t),a=n==="fixed",i=pl(e,!0,a,t),l={scrollLeft:0,scrollTop:0},s=So(0);function c(){s.x=pm(o)}if(r||!r&&!a)if((fl(t)!=="body"||Ds(o))&&(l=Ru(t)),r){let p=pl(t,!0,a,t);s.x=p.x+t.clientLeft,s.y=p.y+t.clientTop}else o&&c();a&&!r&&o&&c();let d=o&&!r&&!a?vR(o,l):So(0),u=i.left+l.scrollLeft-s.x-d.x,f=i.top+l.scrollTop-s.y-d.y;return{x:u,y:f,width:i.width,height:i.height}}function zy(e){return ao(e).position==="static"}function hR(e,t){if(!Wo(e)||ao(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Ao(e)===n&&(n=n.ownerDocument.body),n}function SR(e,t){let n=vr(e);if(Cu(e))return n;if(!Wo(e)){let o=Ma(e);for(;o&&!ml(o);){if(oo(o)&&!zy(o))return o;o=Ma(o)}return n}let r=hR(e,t);for(;r&&dR(r)&&zy(r);)r=hR(r,t);return r&&ml(r)&&zy(r)&&!dm(r)?n:r||fR(e)||n}var bD=async function(e){let t=this.getOffsetParent||SR,n=this.getDimensions,r=await n(e.floating);return{reference:yD(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function vD(e){return ao(e).direction==="rtl"}var wR={convertOffsetParentRelativeRectToViewportRelativeRect:cD,getDocumentElement:Ao,getClippingRect:gD,getOffsetParent:SR,getElementRects:bD,getClientRects:uD,getDimensions:hD,getScale:Bs,isElement:oo,isRTL:vD};function AR(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function xD(e,t){let n=null,r,o=Ao(e);function a(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function i(l,s){l===void 0&&(l=!1),s===void 0&&(s=1),a();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:p}=c;if(l||t(),!f||!p)return;let b=Au(u),m=Au(o.clientWidth-(d+f)),v=Au(o.clientHeight-(u+p)),h=Au(d),y={rootMargin:-b+"px "+-m+"px "+-v+"px "+-h+"px",threshold:ar(0,Ko(1,s))||1},x=!0;function A(N){let E=N[0].intersectionRatio;if(E!==s){if(!x)return i();E?i(!1,E):r=setTimeout(()=>{i(!1,1e-7)},1e3)}E===1&&!AR(c,e.getBoundingClientRect())&&i(),x=!1}try{n=new IntersectionObserver(A,{...y,root:o.ownerDocument})}catch{n=new IntersectionObserver(A,y)}n.observe(e)}return i(!0),a}function Uy(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:s=!1}=r,c=Py(e),d=o||a?[...c?dl(c):[],...t?dl(t):[]]:[];d.forEach(h=>{o&&h.addEventListener("scroll",n,{passive:!0}),a&&h.addEventListener("resize",n)});let u=c&&l?xD(c,n):null,f=-1,p=null;i&&(p=new ResizeObserver(h=>{let[g]=h;g&&g.target===c&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var y;(y=p)==null||y.observe(t)})),n()}),c&&!s&&p.observe(c),t&&p.observe(t));let b,m=s?pl(e):null;s&&v();function v(){let h=pl(e);m&&!AR(m,h)&&n(),m=h,b=requestAnimationFrame(v)}return n(),()=>{var h;d.forEach(g=>{o&&g.removeEventListener("scroll",n),a&&g.removeEventListener("resize",n)}),u?.(),(h=p)==null||h.disconnect(),p=null,s&&cancelAnimationFrame(b)}}var CR=aR;var RR=iR,NR=nR,ER=sR,TR=rR,jy=tR;var MR=lR,Vy=(e,t,n)=>{let r=new Map,o={platform:wR,...n},a={...o.platform,_c:r};return eR(e,t,{...o,platform:a})};var Rn=B(xe(),1),kR=B(xe(),1),_R=B(Bi(),1),SD=typeof document<"u",wD=function(){},gm=SD?kR.useLayoutEffect:wD;function hm(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,o;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(!hm(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){let a=o[r];if(!(a==="_owner"&&e.$$typeof)&&!hm(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function LR(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function OR(e,t){let n=LR(e);return Math.round(t*n)/n}function Fy(e){let t=Rn.useRef(e);return gm(()=>{t.current=e}),t}function DR(e){e===void 0&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:a,floating:i}={},transform:l=!0,whileElementsMounted:s,open:c}=e,[d,u]=Rn.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=Rn.useState(r);hm(f,r)||p(r);let[b,m]=Rn.useState(null),[v,h]=Rn.useState(null),g=Rn.useCallback(ee=>{ee!==N.current&&(N.current=ee,m(ee))},[]),y=Rn.useCallback(ee=>{ee!==E.current&&(E.current=ee,h(ee))},[]),x=a||b,A=i||v,N=Rn.useRef(null),E=Rn.useRef(null),C=Rn.useRef(d),O=s!=null,L=Fy(s),V=Fy(o),z=Fy(c),G=Rn.useCallback(()=>{if(!N.current||!E.current)return;let ee={placement:t,strategy:n,middleware:f};V.current&&(ee.platform=V.current),Vy(N.current,E.current,ee).then(W=>{let j={...W,isPositioned:z.current!==!1};Z.current&&!hm(C.current,j)&&(C.current=j,_R.flushSync(()=>{u(j)}))})},[f,t,n,V,z]);gm(()=>{c===!1&&C.current.isPositioned&&(C.current.isPositioned=!1,u(ee=>({...ee,isPositioned:!1})))},[c]);let Z=Rn.useRef(!1);gm(()=>(Z.current=!0,()=>{Z.current=!1}),[]),gm(()=>{if(x&&(N.current=x),A&&(E.current=A),x&&A){if(L.current)return L.current(x,A,G);G()}},[x,A,G,L,O]);let ue=Rn.useMemo(()=>({reference:N,floating:E,setReference:g,setFloating:y}),[g,y]),q=Rn.useMemo(()=>({reference:x,floating:A}),[x,A]),oe=Rn.useMemo(()=>{let ee={position:n,left:0,top:0};if(!q.floating)return ee;let W=OR(q.floating,d.x),j=OR(q.floating,d.y);return l?{...ee,transform:"translate("+W+"px, "+j+"px)",...LR(q.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:W,top:j}},[n,l,q.floating,d.x,d.y]);return Rn.useMemo(()=>({...d,update:G,refs:ue,elements:q,floatingStyles:oe}),[d,G,ue,q,oe])}var AD=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){let{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?jy({element:r.current,padding:o}).fn(n):{}:r?jy({element:r,padding:o}).fn(n):{}}}},BR=(e,t)=>{let n=CR(e);return{name:n.name,fn:n.fn,options:[e,t]}},IR=(e,t)=>{let n=RR(e);return{name:n.name,fn:n.fn,options:[e,t]}},zR=(e,t)=>({fn:MR(e).fn,options:[e,t]}),PR=(e,t)=>{let n=NR(e);return{name:n.name,fn:n.fn,options:[e,t]}},UR=(e,t)=>{let n=ER(e);return{name:n.name,fn:n.fn,options:[e,t]}};var jR=(e,t)=>{let n=TR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var VR=(e,t)=>{let n=AD(e);return{name:n.name,fn:n.fn,options:[e,t]}};var FR=B(xe(),1);var Hy=B(te(),1),CD="Arrow",HR=FR.forwardRef((e,t)=>{let{children:n,width:r=10,height:o=5,...a}=e;return(0,Hy.jsx)(at.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,Hy.jsx)("polygon",{points:"0,0 30,0 15,10"})})});HR.displayName=CD;var $R=HR;var Ri=B(te(),1);var $y="Popper",[KR,Ky]=Zr($y),[ND,GR]=KR($y),qR=e=>{let{__scopePopper:t,children:n}=e,[r,o]=xr.useState(null);return(0,Ri.jsx)(ND,{scope:t,anchor:r,onAnchorChange:o,children:n})};qR.displayName=$y;var WR="PopperAnchor",YR=xr.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...o}=e,a=GR(WR,n),i=xr.useRef(null),l=Tt(t,i),s=xr.useRef(null);return xr.useEffect(()=>{let c=s.current;s.current=r?.current||i.current,c!==s.current&&a.onAnchorChange(s.current)}),r?null:(0,Ri.jsx)(at.div,{...o,ref:l})});YR.displayName=WR;var Gy="PopperContent",[ED,TD]=KR(Gy),QR=xr.forwardRef((e,t)=>{let{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:a="center",alignOffset:i=0,arrowPadding:l=0,avoidCollisions:s=!0,collisionBoundary:c=[],collisionPadding:d=0,sticky:u="partial",hideWhenDetached:f=!1,updatePositionStrategy:p="optimized",onPlaced:b,...m}=e,v=GR(Gy,n),[h,g]=xr.useState(null),y=Tt(t,U=>g(U)),[x,A]=xr.useState(null),N=Cf(x),E=N?.width??0,C=N?.height??0,O=r+(a!=="center"?"-"+a:""),L=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},V=Array.isArray(c)?c:[c],z=V.length>0,G={padding:L,boundary:V.filter(OD),altBoundary:z},{refs:Z,floatingStyles:ue,placement:q,isPositioned:oe,middlewareData:ee}=DR({strategy:"fixed",placement:O,whileElementsMounted:(...U)=>Uy(...U,{animationFrame:p==="always"}),elements:{reference:v.anchor},middleware:[BR({mainAxis:o+C,alignmentAxis:i}),s&&IR({mainAxis:!0,crossAxis:!1,limiter:u==="partial"?zR():void 0,...G}),s&&PR({...G}),UR({...G,apply:({elements:U,rects:fe,availableWidth:ve,availableHeight:ke})=>{let{width:we,height:Ee}=fe.reference,qe=U.floating.style;qe.setProperty("--radix-popper-available-width",`${ve}px`),qe.setProperty("--radix-popper-available-height",`${ke}px`),qe.setProperty("--radix-popper-anchor-width",`${we}px`),qe.setProperty("--radix-popper-anchor-height",`${Ee}px`)}}),x&&VR({element:x,padding:l}),kD({arrowWidth:E,arrowHeight:C}),f&&jR({strategy:"referenceHidden",...G})]}),[W,j]=ZR(q),Ie=pr(b);on(()=>{oe&&Ie?.()},[oe,Ie]);let ne=ee.arrow?.x,Ve=ee.arrow?.y,ae=ee.arrow?.centerOffset!==0,[Se,ze]=xr.useState();return on(()=>{h&&ze(window.getComputedStyle(h).zIndex)},[h]),(0,Ri.jsx)("div",{ref:Z.setFloating,"data-radix-popper-content-wrapper":"",style:{...ue,transform:oe?ue.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Se,"--radix-popper-transform-origin":[ee.transformOrigin?.x,ee.transformOrigin?.y].join(" "),...ee.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,Ri.jsx)(ED,{scope:n,placedSide:W,onArrowChange:A,arrowX:ne,arrowY:Ve,shouldHideArrow:ae,children:(0,Ri.jsx)(at.div,{"data-side":W,"data-align":j,...m,ref:y,style:{...m.style,animation:oe?void 0:"none"}})})})});QR.displayName=Gy;var XR="PopperArrow",MD={top:"bottom",right:"left",bottom:"top",left:"right"},JR=xr.forwardRef(function(t,n){let{__scopePopper:r,...o}=t,a=TD(XR,r),i=MD[a.placedSide];return(0,Ri.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,Ri.jsx)($R,{...o,ref:n,style:{...o.style,display:"block"}})})});JR.displayName=XR;function OD(e){return e!==null}var kD=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:o}=t,i=o.arrow?.centerOffset!==0,l=i?0:e.arrowWidth,s=i?0:e.arrowHeight,[c,d]=ZR(n),u={start:"0%",center:"50%",end:"100%"}[d],f=(o.arrow?.x??0)+l/2,p=(o.arrow?.y??0)+s/2,b="",m="";return c==="bottom"?(b=i?u:`${f}px`,m=`${-s}px`):c==="top"?(b=i?u:`${f}px`,m=`${r.floating.height+s}px`):c==="right"?(b=`${-s}px`,m=i?u:`${p}px`):c==="left"&&(b=`${r.floating.width+s}px`,m=i?u:`${p}px`),{data:{x:b,y:m}}}});function ZR(e){let[t,n="center"]=e.split("-");return[t,n]}var eN=qR,tN=YR,nN=QR,rN=JR;var ym=B(xe(),1),oN=B(Bi(),1);var aN=B(te(),1),LD="Portal",qy=ym.forwardRef((e,t)=>{let{container:n,...r}=e,[o,a]=ym.useState(!1);on(()=>a(!0),[]);let i=n||o&&globalThis?.document?.body;return i?oN.default.createPortal((0,aN.jsx)(at.div,{...r,ref:t}),i):null});qy.displayName=LD;var iN=B(xe(),1);var lN=B(te(),1),Wy=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"}),DD="VisuallyHidden",BD=iN.forwardRef((e,t)=>(0,lN.jsx)(at.span,{...e,ref:t,style:{...Wy,...e.style}}));BD.displayName=DD;var ID=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Is=new WeakMap,bm=new WeakMap,vm={},Yy=0,sN=function(e){return e&&(e.host||sN(e.parentNode))},zD=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=sN(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})},PD=function(e,t,n,r){var o=zD(t,Array.isArray(e)?e:[e]);vm[n]||(vm[n]=new WeakMap);var a=vm[n],i=[],l=new Set,s=new Set(o),c=function(u){!u||l.has(u)||(l.add(u),c(u.parentNode))};o.forEach(c);var d=function(u){!u||s.has(u)||Array.prototype.forEach.call(u.children,function(f){if(l.has(f))d(f);else try{var p=f.getAttribute(r),b=p!==null&&p!=="false",m=(Is.get(f)||0)+1,v=(a.get(f)||0)+1;Is.set(f,m),a.set(f,v),i.push(f),m===1&&b&&bm.set(f,!0),v===1&&f.setAttribute(n,"true"),b||f.setAttribute(r,"true")}catch(h){console.error("aria-hidden: cannot operate on ",f,h)}})};return d(t),l.clear(),Yy++,function(){i.forEach(function(u){var f=Is.get(u)-1,p=a.get(u)-1;Is.set(u,f),a.set(u,p),f||(bm.has(u)||u.removeAttribute(r),bm.delete(u)),p||u.removeAttribute(n)}),Yy--,Yy||(Is=new WeakMap,Is=new WeakMap,bm=new WeakMap,vm={})}},cN=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||ID(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),PD(r,o,n,"aria-hidden")):function(){return null}};var Sr=function(){return Sr=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},Sr.apply(this,arguments)};function xm(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function uN(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,a;r<o;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Rm=B(xe());var Jn=B(xe());var gl="right-scroll-bar-position",hl="width-before-scroll-bar",Qy="with-scroll-bars-hidden",Xy="--removed-body-scroll-bar-size";function Sm(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}var dN=B(xe());function fN(e,t){var n=(0,dN.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var wm=B(xe());var UD=typeof window<"u"?wm.useLayoutEffect:wm.useEffect,mN=new WeakMap;function Jy(e,t){var n=fN(t||null,function(r){return e.forEach(function(o){return Sm(o,r)})});return UD(function(){var r=mN.get(n);if(r){var o=new Set(r),a=new Set(e),i=n.current;o.forEach(function(l){a.has(l)||Sm(l,null)}),a.forEach(function(l){o.has(l)||Sm(l,i)})}mN.set(n,e)},[e]),n}function jD(e){return e}function VD(e,t){t===void 0&&(t=jD);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var i=t(a,r);return n.push(i),function(){n=n.filter(function(l){return l!==i})}},assignSyncMedium:function(a){for(r=!0;n.length;){var i=n;n=[],i.forEach(a)}n={push:function(l){return a(l)},filter:function(){return n}}},assignMedium:function(a){r=!0;var i=[];if(n.length){var l=n;n=[],l.forEach(a),i=n}var s=function(){var d=i;i=[],d.forEach(a)},c=function(){return Promise.resolve().then(s)};c(),n={push:function(d){i.push(d),c()},filter:function(d){return i=i.filter(d),n}}}};return o}function Zy(e){e===void 0&&(e={});var t=VD(null);return t.options=Sr({async:!0,ssr:!1},e),t}var pN=B(xe()),gN=function(e){var t=e.sideCar,n=xm(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return pN.createElement(r,Sr({},n))};gN.isSideCarExport=!0;function eb(e,t){return e.useMedium(t),gN}var Am=Zy();var tb=function(){},Nu=Jn.forwardRef(function(e,t){var n=Jn.useRef(null),r=Jn.useState({onScrollCapture:tb,onWheelCapture:tb,onTouchMoveCapture:tb}),o=r[0],a=r[1],i=e.forwardProps,l=e.children,s=e.className,c=e.removeScrollBar,d=e.enabled,u=e.shards,f=e.sideCar,p=e.noRelative,b=e.noIsolation,m=e.inert,v=e.allowPinchZoom,h=e.as,g=h===void 0?"div":h,y=e.gapMode,x=xm(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),A=f,N=Jy([n,t]),E=Sr(Sr({},x),o);return Jn.createElement(Jn.Fragment,null,d&&Jn.createElement(A,{sideCar:Am,removeScrollBar:c,shards:u,noRelative:p,noIsolation:b,inert:m,setCallbacks:a,allowPinchZoom:!!v,lockRef:n,gapMode:y}),i?Jn.cloneElement(Jn.Children.only(l),Sr(Sr({},E),{ref:N})):Jn.createElement(g,Sr({},E,{className:s,ref:N}),l))});Nu.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Nu.classNames={fullWidth:hl,zeroRight:gl};var qt=B(xe());var Ps=B(xe());var bN=B(xe());var hN;var yN=function(){if(hN)return hN;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function FD(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=yN();return t&&e.setAttribute("nonce",t),e}function HD(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function $D(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var nb=function(){var e=0,t=null;return{add:function(n){e==0&&(t=FD())&&(HD(t,n),$D(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}};var rb=function(){var e=nb();return function(t,n){bN.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}};var Eu=function(){var e=rb(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t};var KD={left:0,top:0,right:0,gap:0},ob=function(e){return parseInt(e||"",10)||0},GD=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ob(n),ob(r),ob(o)]},ab=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return KD;var t=GD(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])}};var qD=Eu(),zs="data-scroll-locked",WD=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,l=e.gap;return n===void 0&&(n="margin"),`
|
|
12
|
-
.`.concat(
|
|
11
|
+
`)}if(d)break}let s=i.trim();if(s){let c=JSON.parse(s);if(n?.(c),c?.type==="result"&&(l=c.result),c?.type==="error"){let d=new Error(c.error||"Request failed.");throw d.statusCode=c.statusCode||500,d}}return l}async function x1(e,t,n){let r=$C(n);if(r.length===0)return null;try{let o=await Ze("/api/config/probe-free-tier-models",{method:"POST",headers:Xe,body:JSON.stringify({baseUrl:e,...vo(t)?{apiKeyEnv:t}:{apiKey:t},modelIds:r})});if(!o?.result)return null;let a=new Set,i=new Set;for(let[l,s]of Object.entries(o.result)){let c=l.toLowerCase(),d=c.includes("flash-lite")?"flash-lite":c.includes("flash")?"flash":c.includes("pro")?"pro":c;s?.freeTier?a.add(d):i.add(d)}return n.filter(l=>{let s=l.toLowerCase(),c=s.includes("flash-lite")?"flash-lite":s.includes("flash")?"flash":s.includes("pro")?"pro":s;return a.has(c)?!0:!i.has(c)})}catch{return null}}async function xu(e=[]){let t=[...new Set((Array.isArray(e)?e:[]).map(r=>String(r||"").trim()).filter(Boolean))];if(t.length===0)return[];let n=await Ze("/api/config/litellm-context-lookup",{method:"POST",headers:Xe,body:JSON.stringify({models:t,limit:fC})});return Array.isArray(n?.result)?n.result:[]}async function S1(e={}){let t=await Ze("/api/local-models/search-huggingface",{method:"POST",headers:Xe,body:JSON.stringify(e)});return Array.isArray(t?.results)?t.results:[]}async function w1(e,{onMessage:t}={}){return vu("/api/local-models/download-managed",{method:"POST",headers:Xe,body:JSON.stringify(e)},{onMessage:t})}async function A1(e){return(await Ze("/api/local-models/variants/save",{method:"POST",headers:Xe,body:JSON.stringify({variant:e})}))?.variants||{}}async function C1(e){return await Ze("/api/local-models/attach",{method:"POST",headers:Xe,body:JSON.stringify(e)})}async function R1(e){return await Ze("/api/local-models/locate",{method:"POST",headers:Xe,body:JSON.stringify(e)})}async function E1(e){return await Ze("/api/local-models/remove",{method:"POST",headers:Xe,body:JSON.stringify({baseModelId:e})})}async function N1(){return await Ze("/api/local-models/reconcile",{method:"POST",headers:Xe,body:"{}"})}async function Ny(){return Ze("/api/local-models/runtime/discover",{method:"POST",headers:Xe,body:"{}"})}async function T1(e){return Ze("/api/local-models/runtime/select",{method:"POST",headers:Xe,body:JSON.stringify({command:e})})}async function am(e="file"){return Ze("/api/local-models/browse",{method:"POST",headers:Xe,body:JSON.stringify({selection:e})})}async function M1(e){return Ze("/api/local-models/scan-path",{method:"POST",headers:Xe,body:JSON.stringify({path:e})})}var I4=B(xe(),1);var pt=B(xe(),1);var le=B(xe(),1),hb=B(Bi(),1);function Ty(e,[t,n]){return Math.min(n,Math.max(t,e))}var an=B(xe(),1);var O1=B(xe(),1);function k1(e,t=globalThis?.document){let n=pr(e);O1.useEffect(()=>{let r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Oy=B(te(),1),UL="DismissableLayer",My="dismissableLayer.update",jL="dismissableLayer.pointerDownOutside",VL="dismissableLayer.focusOutside",_1,D1=an.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),ky=an.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:l,...s}=e,c=an.useContext(D1),[d,u]=an.useState(null),f=d?.ownerDocument??globalThis?.document,[,p]=an.useState({}),b=Tt(t,N=>u(N)),m=Array.from(c.layers),[v]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),h=m.indexOf(v),g=d?m.indexOf(d):-1,y=c.layersWithOutsidePointerEventsDisabled.size>0,x=g>=h,A=$L(N=>{let C=N.target,O=[...c.branches].some(L=>L.contains(C));!x||O||(o?.(N),i?.(N),N.defaultPrevented||l?.())},f),E=KL(N=>{let C=N.target;[...c.branches].some(L=>L.contains(C))||(a?.(N),i?.(N),N.defaultPrevented||l?.())},f);return k1(N=>{g===c.layers.size-1&&(r?.(N),!N.defaultPrevented&&l&&(N.preventDefault(),l()))},f),an.useEffect(()=>{if(d)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(_1=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),L1(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=_1)}},[d,f,n,c]),an.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),L1())},[d,c]),an.useEffect(()=>{let N=()=>p({});return document.addEventListener(My,N),()=>document.removeEventListener(My,N)},[]),(0,Oy.jsx)(at.div,{...s,ref:b,style:{pointerEvents:y?x?"auto":"none":void 0,...e.style},onFocusCapture:vt(e.onFocusCapture,E.onFocusCapture),onBlurCapture:vt(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:vt(e.onPointerDownCapture,A.onPointerDownCapture)})});ky.displayName=UL;var FL="DismissableLayerBranch",HL=an.forwardRef((e,t)=>{let n=an.useContext(D1),r=an.useRef(null),o=Tt(t,r);return an.useEffect(()=>{let a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),(0,Oy.jsx)(at.div,{...e,ref:o})});HL.displayName=FL;function $L(e,t=globalThis?.document){let n=pr(e),r=an.useRef(!1),o=an.useRef(()=>{});return an.useEffect(()=>{let a=l=>{if(l.target&&!r.current){let c=function(){B1(jL,n,d,{discrete:!0})};var s=c;let d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=c,t.addEventListener("click",o.current,{once:!0})):c()}else t.removeEventListener("click",o.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function KL(e,t=globalThis?.document){let n=pr(e),r=an.useRef(!1);return an.useEffect(()=>{let o=a=>{a.target&&!r.current&&B1(VL,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function L1(){let e=new CustomEvent(My);document.dispatchEvent(e)}function B1(e,t,n,{discrete:r}){let o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?vA(o,a):o.dispatchEvent(a)}var z1=B(xe(),1),_y=0;function P1(){z1.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??I1()),document.body.insertAdjacentElement("beforeend",e[1]??I1()),_y++,()=>{_y===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),_y--}},[])}function I1(){let 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 ro=B(xe(),1);var H1=B(te(),1),Ly="focusScope.autoFocusOnMount",Dy="focusScope.autoFocusOnUnmount",U1={bubbles:!1,cancelable:!0},GL="FocusScope",By=ro.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[l,s]=ro.useState(null),c=pr(o),d=pr(a),u=ro.useRef(null),f=Tt(t,m=>s(m)),p=ro.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;ro.useEffect(()=>{if(r){let g=function(E){if(p.paused||!l)return;let N=E.target;l.contains(N)?u.current=N:Ci(u.current,{select:!0})},y=function(E){if(p.paused||!l)return;let N=E.relatedTarget;N!==null&&(l.contains(N)||Ci(u.current,{select:!0}))},x=function(E){if(document.activeElement===document.body)for(let C of E)C.removedNodes.length>0&&Ci(l)};var m=g,v=y,h=x;document.addEventListener("focusin",g),document.addEventListener("focusout",y);let A=new MutationObserver(x);return l&&A.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",y),A.disconnect()}}},[r,l,p.paused]),ro.useEffect(()=>{if(l){V1.add(p);let m=document.activeElement;if(!l.contains(m)){let h=new CustomEvent(Ly,U1);l.addEventListener(Ly,c),l.dispatchEvent(h),h.defaultPrevented||(qL(JL($1(l)),{select:!0}),document.activeElement===m&&Ci(l))}return()=>{l.removeEventListener(Ly,c),setTimeout(()=>{let h=new CustomEvent(Dy,U1);l.addEventListener(Dy,d),l.dispatchEvent(h),h.defaultPrevented||Ci(m??document.body,{select:!0}),l.removeEventListener(Dy,d),V1.remove(p)},0)}}},[l,c,d,p]);let b=ro.useCallback(m=>{if(!n&&!r||p.paused)return;let v=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,h=document.activeElement;if(v&&h){let g=m.currentTarget,[y,x]=WL(g);y&&x?!m.shiftKey&&h===x?(m.preventDefault(),n&&Ci(y,{select:!0})):m.shiftKey&&h===y&&(m.preventDefault(),n&&Ci(x,{select:!0})):h===g&&m.preventDefault()}},[n,r,p.paused]);return(0,H1.jsx)(at.div,{tabIndex:-1,...i,ref:f,onKeyDown:b})});By.displayName=GL;function qL(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Ci(r,{select:t}),document.activeElement!==n)return}function WL(e){let t=$1(e),n=j1(t,e),r=j1(t.reverse(),e);return[n,r]}function $1(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{let o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function j1(e,t){for(let n of e)if(!YL(n,{upTo:t}))return n}function YL(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 QL(e){return e instanceof HTMLInputElement&&"select"in e}function Ci(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&QL(e)&&t&&e.select()}}var V1=XL();function XL(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=F1(e,t),e.unshift(t)},remove(t){e=F1(e,t),e[0]?.resume()}}}function F1(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function JL(e){return e.filter(t=>t.tagName!=="A")}var xr=B(xe(),1);var q1=["top","right","bottom","left"];var Ko=Math.min,ar=Math.max,wu=Math.round,Au=Math.floor,So=e=>({x:e,y:e}),ZL={left:"right",right:"left",bottom:"top",top:"bottom"};function lm(e,t,n){return ar(e,Ko(t,n))}function Go(e,t){return typeof e=="function"?e(t):e}function qo(e){return e.split("-")[0]}function sl(e){return e.split("-")[1]}function sm(e){return e==="x"?"y":"x"}function cm(e){return e==="y"?"height":"width"}function wo(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function um(e){return sm(wo(e))}function W1(e,t,n){n===void 0&&(n=!1);let r=sl(e),o=um(e),a=cm(o),i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=Su(i)),[i,Su(i)]}function Y1(e){let t=Su(e);return[im(e),t,im(t)]}function im(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var K1=["left","right"],G1=["right","left"],eD=["top","bottom"],tD=["bottom","top"];function nD(e,t,n){switch(e){case"top":case"bottom":return n?t?G1:K1:t?K1:G1;case"left":case"right":return t?eD:tD;default:return[]}}function Q1(e,t,n,r){let o=sl(e),a=nD(qo(e),n==="start",r);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(im)))),a}function Su(e){let t=qo(e);return ZL[t]+e.slice(t.length)}function rD(e){return{top:0,right:0,bottom:0,left:0,...e}}function Iy(e){return typeof e!="number"?rD(e):{top:e,right:e,bottom:e,left:e}}function cl(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function X1(e,t,n){let{reference:r,floating:o}=e,a=wo(t),i=um(t),l=cm(i),s=qo(t),c=a==="y",d=r.x+r.width/2-o.width/2,u=r.y+r.height/2-o.height/2,f=r[l]/2-o[l]/2,p;switch(s){case"top":p={x:d,y:r.y-o.height};break;case"bottom":p={x:d,y:r.y+r.height};break;case"right":p={x:r.x+r.width,y:u};break;case"left":p={x:r.x-o.width,y:u};break;default:p={x:r.x,y:r.y}}switch(sl(t)){case"start":p[i]-=f*(n&&c?-1:1);break;case"end":p[i]+=f*(n&&c?-1:1);break}return p}async function eR(e,t){var n;t===void 0&&(t={});let{x:r,y:o,platform:a,rects:i,elements:l,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:p=0}=Go(t,e),b=Iy(p),v=l[f?u==="floating"?"reference":"floating":u],h=cl(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(v)))==null||n?v:v.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:s})),g=u==="floating"?{x:r,y:o,width:i.floating.width,height:i.floating.height}:i.reference,y=await(a.getOffsetParent==null?void 0:a.getOffsetParent(l.floating)),x=await(a.isElement==null?void 0:a.isElement(y))?await(a.getScale==null?void 0:a.getScale(y))||{x:1,y:1}:{x:1,y:1},A=cl(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:g,offsetParent:y,strategy:s}):g);return{top:(h.top-A.top+b.top)/x.y,bottom:(A.bottom-h.bottom+b.bottom)/x.y,left:(h.left-A.left+b.left)/x.x,right:(A.right-h.right+b.right)/x.x}}var oD=50,tR=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,l=i.detectOverflow?i:{...i,detectOverflow:eR},s=await(i.isRTL==null?void 0:i.isRTL(t)),c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:u}=X1(c,r,s),f=r,p=0,b={};for(let m=0;m<a.length;m++){let v=a[m];if(!v)continue;let{name:h,fn:g}=v,{x:y,y:x,data:A,reset:E}=await g({x:d,y:u,initialPlacement:r,placement:f,strategy:o,middlewareData:b,rects:c,platform:l,elements:{reference:e,floating:t}});d=y??d,u=x??u,b[h]={...b[h],...A},E&&p<oD&&(p++,typeof E=="object"&&(E.placement&&(f=E.placement),E.rects&&(c=E.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:o}):E.rects),{x:d,y:u}=X1(c,f,s)),m=-1)}return{x:d,y:u,placement:f,strategy:o,middlewareData:b}},nR=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:a,platform:i,elements:l,middlewareData:s}=t,{element:c,padding:d=0}=Go(e,t)||{};if(c==null)return{};let u=Iy(d),f={x:n,y:r},p=um(o),b=cm(p),m=await i.getDimensions(c),v=p==="y",h=v?"top":"left",g=v?"bottom":"right",y=v?"clientHeight":"clientWidth",x=a.reference[b]+a.reference[p]-f[p]-a.floating[b],A=f[p]-a.reference[p],E=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c)),N=E?E[y]:0;(!N||!await(i.isElement==null?void 0:i.isElement(E)))&&(N=l.floating[y]||a.floating[b]);let C=x/2-A/2,O=N/2-m[b]/2-1,L=Ko(u[h],O),V=Ko(u[g],O),z=L,G=N-m[b]-V,Z=N/2-m[b]/2+C,ue=lm(z,Z,G),q=!s.arrow&&sl(o)!=null&&Z!==ue&&a.reference[b]/2-(Z<z?L:V)-m[b]/2<0,oe=q?Z<z?Z-z:Z-G:0;return{[p]:f[p]+oe,data:{[p]:ue,centerOffset:Z-ue-oe,...q&&{alignmentOffset:oe}},reset:q}}});var rR=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;let{placement:o,middlewareData:a,rects:i,initialPlacement:l,platform:s,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:f,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:m=!0,...v}=Go(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};let h=qo(o),g=wo(l),y=qo(l)===l,x=await(s.isRTL==null?void 0:s.isRTL(c.floating)),A=f||(y||!m?[Su(l)]:Y1(l)),E=b!=="none";!f&&E&&A.push(...Q1(l,m,b,x));let N=[l,...A],C=await s.detectOverflow(t,v),O=[],L=((r=a.flip)==null?void 0:r.overflows)||[];if(d&&O.push(C[h]),u){let Z=W1(o,i,x);O.push(C[Z[0]],C[Z[1]])}if(L=[...L,{placement:o,overflows:O}],!O.every(Z=>Z<=0)){var V,z;let Z=(((V=a.flip)==null?void 0:V.index)||0)+1,ue=N[Z];if(ue&&(!(u==="alignment"?g!==wo(ue):!1)||L.every(ee=>wo(ee.placement)===g?ee.overflows[0]>0:!0)))return{data:{index:Z,overflows:L},reset:{placement:ue}};let q=(z=L.filter(oe=>oe.overflows[0]<=0).sort((oe,ee)=>oe.overflows[1]-ee.overflows[1])[0])==null?void 0:z.placement;if(!q)switch(p){case"bestFit":{var G;let oe=(G=L.filter(ee=>{if(E){let W=wo(ee.placement);return W===g||W==="y"}return!0}).map(ee=>[ee.placement,ee.overflows.filter(W=>W>0).reduce((W,j)=>W+j,0)]).sort((ee,W)=>ee[1]-W[1])[0])==null?void 0:G[0];oe&&(q=oe);break}case"initialPlacement":q=l;break}if(o!==q)return{reset:{placement:q}}}return{}}}};function J1(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Z1(e){return q1.some(t=>e[t]>=0)}var oR=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:o="referenceHidden",...a}=Go(e,t);switch(o){case"referenceHidden":{let i=await r.detectOverflow(t,{...a,elementContext:"reference"}),l=J1(i,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:Z1(l)}}}case"escaped":{let i=await r.detectOverflow(t,{...a,altBoundary:!0}),l=J1(i,n.floating);return{data:{escapedOffsets:l,escaped:Z1(l)}}}default:return{}}}}};var aR=new Set(["left","top"]);async function aD(e,t){let{placement:n,platform:r,elements:o}=e,a=await(r.isRTL==null?void 0:r.isRTL(o.floating)),i=qo(n),l=sl(n),s=wo(n)==="y",c=aR.has(i)?-1:1,d=a&&s?-1:1,u=Go(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:b}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&typeof b=="number"&&(p=l==="end"?b*-1:b),s?{x:p*d,y:f*c}:{x:f*c,y:p*d}}var iR=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:o,y:a,placement:i,middlewareData:l}=t,s=await aD(t,e);return i===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+s.x,y:a+s.y,data:{...s,placement:i}}}}},lR=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:o,platform:a}=t,{mainAxis:i=!0,crossAxis:l=!1,limiter:s={fn:h=>{let{x:g,y}=h;return{x:g,y}}},...c}=Go(e,t),d={x:n,y:r},u=await a.detectOverflow(t,c),f=wo(qo(o)),p=sm(f),b=d[p],m=d[f];if(i){let h=p==="y"?"top":"left",g=p==="y"?"bottom":"right",y=b+u[h],x=b-u[g];b=lm(y,b,x)}if(l){let h=f==="y"?"top":"left",g=f==="y"?"bottom":"right",y=m+u[h],x=m-u[g];m=lm(y,m,x)}let v=s.fn({...t,[p]:b,[f]:m});return{...v,data:{x:v.x-n,y:v.y-r,enabled:{[p]:i,[f]:l}}}}}},sR=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:o,rects:a,middlewareData:i}=t,{offset:l=0,mainAxis:s=!0,crossAxis:c=!0}=Go(e,t),d={x:n,y:r},u=wo(o),f=sm(u),p=d[f],b=d[u],m=Go(l,t),v=typeof m=="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(s){let y=f==="y"?"height":"width",x=a.reference[f]-a.floating[y]+v.mainAxis,A=a.reference[f]+a.reference[y]-v.mainAxis;p<x?p=x:p>A&&(p=A)}if(c){var h,g;let y=f==="y"?"width":"height",x=aR.has(qo(o)),A=a.reference[u]-a.floating[y]+(x&&((h=i.offset)==null?void 0:h[u])||0)+(x?0:v.crossAxis),E=a.reference[u]+a.reference[y]+(x?0:((g=i.offset)==null?void 0:g[u])||0)-(x?v.crossAxis:0);b<A?b=A:b>E&&(b=E)}return{[f]:p,[u]:b}}}},cR=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;let{placement:o,rects:a,platform:i,elements:l}=t,{apply:s=()=>{},...c}=Go(e,t),d=await i.detectOverflow(t,c),u=qo(o),f=sl(o),p=wo(o)==="y",{width:b,height:m}=a.floating,v,h;u==="top"||u==="bottom"?(v=u,h=f===(await(i.isRTL==null?void 0:i.isRTL(l.floating))?"start":"end")?"left":"right"):(h=u,v=f==="end"?"top":"bottom");let g=m-d.top-d.bottom,y=b-d.left-d.right,x=Ko(m-d[v],g),A=Ko(b-d[h],y),E=!t.middlewareData.shift,N=x,C=A;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(C=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(N=g),E&&!f){let L=ar(d.left,0),V=ar(d.right,0),z=ar(d.top,0),G=ar(d.bottom,0);p?C=b-2*(L!==0||V!==0?L+V:ar(d.left,d.right)):N=m-2*(z!==0||G!==0?z+G:ar(d.top,d.bottom))}await s({...t,availableWidth:C,availableHeight:N});let O=await i.getDimensions(l.floating);return b!==O.width||m!==O.height?{reset:{rects:!0}}:{}}}};function dm(){return typeof window<"u"}function fl(e){return dR(e)?(e.nodeName||"").toLowerCase():"#document"}function vr(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ao(e){var t;return(t=(dR(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function dR(e){return dm()?e instanceof Node||e instanceof vr(e).Node:!1}function oo(e){return dm()?e instanceof Element||e instanceof vr(e).Element:!1}function Wo(e){return dm()?e instanceof HTMLElement||e instanceof vr(e).HTMLElement:!1}function uR(e){return!dm()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof vr(e).ShadowRoot}function Ds(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=ao(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&o!=="inline"&&o!=="contents"}function fR(e){return/^(table|td|th)$/.test(fl(e))}function Cu(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var iD=/transform|translate|scale|rotate|perspective|filter/,lD=/paint|layout|strict|content/,ul=e=>!!e&&e!=="none",zy;function fm(e){let t=oo(e)?ao(e):e;return ul(t.transform)||ul(t.translate)||ul(t.scale)||ul(t.rotate)||ul(t.perspective)||!mm()&&(ul(t.backdropFilter)||ul(t.filter))||iD.test(t.willChange||"")||lD.test(t.contain||"")}function mR(e){let t=Ma(e);for(;Wo(t)&&!ml(t);){if(fm(t))return t;if(Cu(t))return null;t=Ma(t)}return null}function mm(){return zy==null&&(zy=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),zy}function ml(e){return/^(html|body|#document)$/.test(fl(e))}function ao(e){return vr(e).getComputedStyle(e)}function Ru(e){return oo(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ma(e){if(fl(e)==="html")return e;let t=e.assignedSlot||e.parentNode||uR(e)&&e.host||Ao(e);return uR(t)?t.host:t}function pR(e){let t=Ma(e);return ml(t)?e.ownerDocument?e.ownerDocument.body:e.body:Wo(t)&&Ds(t)?t:pR(t)}function dl(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);let o=pR(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),i=vr(o);if(a){let l=pm(i);return t.concat(i,i.visualViewport||[],Ds(o)?o:[],l&&n?dl(l):[])}else return t.concat(o,dl(o,[],n))}function pm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function bR(e){let t=ao(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=Wo(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:r,l=wu(n)!==a||wu(r)!==i;return l&&(n=a,r=i),{width:n,height:r,$:l}}function Uy(e){return oo(e)?e:e.contextElement}function Bs(e){let t=Uy(e);if(!Wo(t))return So(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:a}=bR(t),i=(a?wu(n.width):n.width)/r,l=(a?wu(n.height):n.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!l||!Number.isFinite(l))&&(l=1),{x:i,y:l}}var sD=So(0);function vR(e){let t=vr(e);return!mm()||!t.visualViewport?sD:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function cD(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==vr(e)?!1:t}function pl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let o=e.getBoundingClientRect(),a=Uy(e),i=So(1);t&&(r?oo(r)&&(i=Bs(r)):i=Bs(e));let l=cD(a,n,r)?vR(a):So(0),s=(o.left+l.x)/i.x,c=(o.top+l.y)/i.y,d=o.width/i.x,u=o.height/i.y;if(a){let f=vr(a),p=r&&oo(r)?vr(r):r,b=f,m=pm(b);for(;m&&r&&p!==b;){let v=Bs(m),h=m.getBoundingClientRect(),g=ao(m),y=h.left+(m.clientLeft+parseFloat(g.paddingLeft))*v.x,x=h.top+(m.clientTop+parseFloat(g.paddingTop))*v.y;s*=v.x,c*=v.y,d*=v.x,u*=v.y,s+=y,c+=x,b=vr(m),m=pm(b)}}return cl({width:d,height:u,x:s,y:c})}function gm(e,t){let n=Ru(e).scrollLeft;return t?t.left+n:pl(Ao(e)).left+n}function xR(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-gm(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function uD(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,a=o==="fixed",i=Ao(r),l=t?Cu(t.floating):!1;if(r===i||l&&a)return n;let s={scrollLeft:0,scrollTop:0},c=So(1),d=So(0),u=Wo(r);if((u||!u&&!a)&&((fl(r)!=="body"||Ds(i))&&(s=Ru(r)),u)){let p=pl(r);c=Bs(r),d.x=p.x+r.clientLeft,d.y=p.y+r.clientTop}let f=i&&!u&&!a?xR(i,s):So(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+d.x+f.x,y:n.y*c.y-s.scrollTop*c.y+d.y+f.y}}function dD(e){return Array.from(e.getClientRects())}function fD(e){let t=Ao(e),n=Ru(e),r=e.ownerDocument.body,o=ar(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ar(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),i=-n.scrollLeft+gm(e),l=-n.scrollTop;return ao(r).direction==="rtl"&&(i+=ar(t.clientWidth,r.clientWidth)-o),{width:o,height:a,x:i,y:l}}var gR=25;function mD(e,t){let n=vr(e),r=Ao(e),o=n.visualViewport,a=r.clientWidth,i=r.clientHeight,l=0,s=0;if(o){a=o.width,i=o.height;let d=mm();(!d||d&&t==="fixed")&&(l=o.offsetLeft,s=o.offsetTop)}let c=gm(r);if(c<=0){let d=r.ownerDocument,u=d.body,f=getComputedStyle(u),p=d.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,b=Math.abs(r.clientWidth-u.clientWidth-p);b<=gR&&(a-=b)}else c<=gR&&(a+=c);return{width:a,height:i,x:l,y:s}}function pD(e,t){let n=pl(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,a=Wo(e)?Bs(e):So(1),i=e.clientWidth*a.x,l=e.clientHeight*a.y,s=o*a.x,c=r*a.y;return{width:i,height:l,x:s,y:c}}function hR(e,t,n){let r;if(t==="viewport")r=mD(e,n);else if(t==="document")r=fD(Ao(e));else if(oo(t))r=pD(t,n);else{let o=vR(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return cl(r)}function SR(e,t){let n=Ma(e);return n===t||!oo(n)||ml(n)?!1:ao(n).position==="fixed"||SR(n,t)}function gD(e,t){let n=t.get(e);if(n)return n;let r=dl(e,[],!1).filter(l=>oo(l)&&fl(l)!=="body"),o=null,a=ao(e).position==="fixed",i=a?Ma(e):e;for(;oo(i)&&!ml(i);){let l=ao(i),s=fm(i);!s&&l.position==="fixed"&&(o=null),(a?!s&&!o:!s&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Ds(i)&&!s&&SR(e,i))?r=r.filter(d=>d!==i):o=l,i=Ma(i)}return t.set(e,r),r}function hD(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[...n==="clippingAncestors"?Cu(t)?[]:gD(t,this._c):[].concat(n),r],l=hR(t,i[0],o),s=l.top,c=l.right,d=l.bottom,u=l.left;for(let f=1;f<i.length;f++){let p=hR(t,i[f],o);s=ar(p.top,s),c=Ko(p.right,c),d=Ko(p.bottom,d),u=ar(p.left,u)}return{width:c-u,height:d-s,x:u,y:s}}function yD(e){let{width:t,height:n}=bR(e);return{width:t,height:n}}function bD(e,t,n){let r=Wo(t),o=Ao(t),a=n==="fixed",i=pl(e,!0,a,t),l={scrollLeft:0,scrollTop:0},s=So(0);function c(){s.x=gm(o)}if(r||!r&&!a)if((fl(t)!=="body"||Ds(o))&&(l=Ru(t)),r){let p=pl(t,!0,a,t);s.x=p.x+t.clientLeft,s.y=p.y+t.clientTop}else o&&c();a&&!r&&o&&c();let d=o&&!r&&!a?xR(o,l):So(0),u=i.left+l.scrollLeft-s.x-d.x,f=i.top+l.scrollTop-s.y-d.y;return{x:u,y:f,width:i.width,height:i.height}}function Py(e){return ao(e).position==="static"}function yR(e,t){if(!Wo(e)||ao(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Ao(e)===n&&(n=n.ownerDocument.body),n}function wR(e,t){let n=vr(e);if(Cu(e))return n;if(!Wo(e)){let o=Ma(e);for(;o&&!ml(o);){if(oo(o)&&!Py(o))return o;o=Ma(o)}return n}let r=yR(e,t);for(;r&&fR(r)&&Py(r);)r=yR(r,t);return r&&ml(r)&&Py(r)&&!fm(r)?n:r||mR(e)||n}var vD=async function(e){let t=this.getOffsetParent||wR,n=this.getDimensions,r=await n(e.floating);return{reference:bD(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function xD(e){return ao(e).direction==="rtl"}var AR={convertOffsetParentRelativeRectToViewportRelativeRect:uD,getDocumentElement:Ao,getClippingRect:hD,getOffsetParent:wR,getElementRects:vD,getClientRects:dD,getDimensions:yD,getScale:Bs,isElement:oo,isRTL:xD};function CR(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function SD(e,t){let n=null,r,o=Ao(e);function a(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function i(l,s){l===void 0&&(l=!1),s===void 0&&(s=1),a();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:p}=c;if(l||t(),!f||!p)return;let b=Au(u),m=Au(o.clientWidth-(d+f)),v=Au(o.clientHeight-(u+p)),h=Au(d),y={rootMargin:-b+"px "+-m+"px "+-v+"px "+-h+"px",threshold:ar(0,Ko(1,s))||1},x=!0;function A(E){let N=E[0].intersectionRatio;if(N!==s){if(!x)return i();N?i(!1,N):r=setTimeout(()=>{i(!1,1e-7)},1e3)}N===1&&!CR(c,e.getBoundingClientRect())&&i(),x=!1}try{n=new IntersectionObserver(A,{...y,root:o.ownerDocument})}catch{n=new IntersectionObserver(A,y)}n.observe(e)}return i(!0),a}function jy(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:s=!1}=r,c=Uy(e),d=o||a?[...c?dl(c):[],...t?dl(t):[]]:[];d.forEach(h=>{o&&h.addEventListener("scroll",n,{passive:!0}),a&&h.addEventListener("resize",n)});let u=c&&l?SD(c,n):null,f=-1,p=null;i&&(p=new ResizeObserver(h=>{let[g]=h;g&&g.target===c&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var y;(y=p)==null||y.observe(t)})),n()}),c&&!s&&p.observe(c),t&&p.observe(t));let b,m=s?pl(e):null;s&&v();function v(){let h=pl(e);m&&!CR(m,h)&&n(),m=h,b=requestAnimationFrame(v)}return n(),()=>{var h;d.forEach(g=>{o&&g.removeEventListener("scroll",n),a&&g.removeEventListener("resize",n)}),u?.(),(h=p)==null||h.disconnect(),p=null,s&&cancelAnimationFrame(b)}}var RR=iR;var ER=lR,NR=rR,TR=cR,MR=oR,Vy=nR;var OR=sR,Fy=(e,t,n)=>{let r=new Map,o={platform:AR,...n},a={...o.platform,_c:r};return tR(e,t,{...o,platform:a})};var Rn=B(xe(),1),_R=B(xe(),1),LR=B(Bi(),1),wD=typeof document<"u",AD=function(){},hm=wD?_R.useLayoutEffect:AD;function ym(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,o;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(!ym(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){let a=o[r];if(!(a==="_owner"&&e.$$typeof)&&!ym(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function DR(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function kR(e,t){let n=DR(e);return Math.round(t*n)/n}function Hy(e){let t=Rn.useRef(e);return hm(()=>{t.current=e}),t}function BR(e){e===void 0&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:a,floating:i}={},transform:l=!0,whileElementsMounted:s,open:c}=e,[d,u]=Rn.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=Rn.useState(r);ym(f,r)||p(r);let[b,m]=Rn.useState(null),[v,h]=Rn.useState(null),g=Rn.useCallback(ee=>{ee!==E.current&&(E.current=ee,m(ee))},[]),y=Rn.useCallback(ee=>{ee!==N.current&&(N.current=ee,h(ee))},[]),x=a||b,A=i||v,E=Rn.useRef(null),N=Rn.useRef(null),C=Rn.useRef(d),O=s!=null,L=Hy(s),V=Hy(o),z=Hy(c),G=Rn.useCallback(()=>{if(!E.current||!N.current)return;let ee={placement:t,strategy:n,middleware:f};V.current&&(ee.platform=V.current),Fy(E.current,N.current,ee).then(W=>{let j={...W,isPositioned:z.current!==!1};Z.current&&!ym(C.current,j)&&(C.current=j,LR.flushSync(()=>{u(j)}))})},[f,t,n,V,z]);hm(()=>{c===!1&&C.current.isPositioned&&(C.current.isPositioned=!1,u(ee=>({...ee,isPositioned:!1})))},[c]);let Z=Rn.useRef(!1);hm(()=>(Z.current=!0,()=>{Z.current=!1}),[]),hm(()=>{if(x&&(E.current=x),A&&(N.current=A),x&&A){if(L.current)return L.current(x,A,G);G()}},[x,A,G,L,O]);let ue=Rn.useMemo(()=>({reference:E,floating:N,setReference:g,setFloating:y}),[g,y]),q=Rn.useMemo(()=>({reference:x,floating:A}),[x,A]),oe=Rn.useMemo(()=>{let ee={position:n,left:0,top:0};if(!q.floating)return ee;let W=kR(q.floating,d.x),j=kR(q.floating,d.y);return l?{...ee,transform:"translate("+W+"px, "+j+"px)",...DR(q.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:W,top:j}},[n,l,q.floating,d.x,d.y]);return Rn.useMemo(()=>({...d,update:G,refs:ue,elements:q,floatingStyles:oe}),[d,G,ue,q,oe])}var CD=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){let{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?Vy({element:r.current,padding:o}).fn(n):{}:r?Vy({element:r,padding:o}).fn(n):{}}}},IR=(e,t)=>{let n=RR(e);return{name:n.name,fn:n.fn,options:[e,t]}},zR=(e,t)=>{let n=ER(e);return{name:n.name,fn:n.fn,options:[e,t]}},PR=(e,t)=>({fn:OR(e).fn,options:[e,t]}),UR=(e,t)=>{let n=NR(e);return{name:n.name,fn:n.fn,options:[e,t]}},jR=(e,t)=>{let n=TR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var VR=(e,t)=>{let n=MR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var FR=(e,t)=>{let n=CD(e);return{name:n.name,fn:n.fn,options:[e,t]}};var HR=B(xe(),1);var $y=B(te(),1),RD="Arrow",$R=HR.forwardRef((e,t)=>{let{children:n,width:r=10,height:o=5,...a}=e;return(0,$y.jsx)(at.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,$y.jsx)("polygon",{points:"0,0 30,0 15,10"})})});$R.displayName=RD;var KR=$R;var Ri=B(te(),1);var Ky="Popper",[GR,Gy]=Zr(Ky),[ND,qR]=GR(Ky),WR=e=>{let{__scopePopper:t,children:n}=e,[r,o]=xr.useState(null);return(0,Ri.jsx)(ND,{scope:t,anchor:r,onAnchorChange:o,children:n})};WR.displayName=Ky;var YR="PopperAnchor",QR=xr.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...o}=e,a=qR(YR,n),i=xr.useRef(null),l=Tt(t,i),s=xr.useRef(null);return xr.useEffect(()=>{let c=s.current;s.current=r?.current||i.current,c!==s.current&&a.onAnchorChange(s.current)}),r?null:(0,Ri.jsx)(at.div,{...o,ref:l})});QR.displayName=YR;var qy="PopperContent",[TD,MD]=GR(qy),XR=xr.forwardRef((e,t)=>{let{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:a="center",alignOffset:i=0,arrowPadding:l=0,avoidCollisions:s=!0,collisionBoundary:c=[],collisionPadding:d=0,sticky:u="partial",hideWhenDetached:f=!1,updatePositionStrategy:p="optimized",onPlaced:b,...m}=e,v=qR(qy,n),[h,g]=xr.useState(null),y=Tt(t,U=>g(U)),[x,A]=xr.useState(null),E=Rf(x),N=E?.width??0,C=E?.height??0,O=r+(a!=="center"?"-"+a:""),L=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},V=Array.isArray(c)?c:[c],z=V.length>0,G={padding:L,boundary:V.filter(kD),altBoundary:z},{refs:Z,floatingStyles:ue,placement:q,isPositioned:oe,middlewareData:ee}=BR({strategy:"fixed",placement:O,whileElementsMounted:(...U)=>jy(...U,{animationFrame:p==="always"}),elements:{reference:v.anchor},middleware:[IR({mainAxis:o+C,alignmentAxis:i}),s&&zR({mainAxis:!0,crossAxis:!1,limiter:u==="partial"?PR():void 0,...G}),s&&UR({...G}),jR({...G,apply:({elements:U,rects:fe,availableWidth:ve,availableHeight:ke})=>{let{width:we,height:Ne}=fe.reference,qe=U.floating.style;qe.setProperty("--radix-popper-available-width",`${ve}px`),qe.setProperty("--radix-popper-available-height",`${ke}px`),qe.setProperty("--radix-popper-anchor-width",`${we}px`),qe.setProperty("--radix-popper-anchor-height",`${Ne}px`)}}),x&&FR({element:x,padding:l}),_D({arrowWidth:N,arrowHeight:C}),f&&VR({strategy:"referenceHidden",...G})]}),[W,j]=eE(q),Ie=pr(b);on(()=>{oe&&Ie?.()},[oe,Ie]);let ne=ee.arrow?.x,Ve=ee.arrow?.y,ae=ee.arrow?.centerOffset!==0,[Se,ze]=xr.useState();return on(()=>{h&&ze(window.getComputedStyle(h).zIndex)},[h]),(0,Ri.jsx)("div",{ref:Z.setFloating,"data-radix-popper-content-wrapper":"",style:{...ue,transform:oe?ue.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Se,"--radix-popper-transform-origin":[ee.transformOrigin?.x,ee.transformOrigin?.y].join(" "),...ee.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,Ri.jsx)(TD,{scope:n,placedSide:W,onArrowChange:A,arrowX:ne,arrowY:Ve,shouldHideArrow:ae,children:(0,Ri.jsx)(at.div,{"data-side":W,"data-align":j,...m,ref:y,style:{...m.style,animation:oe?void 0:"none"}})})})});XR.displayName=qy;var JR="PopperArrow",OD={top:"bottom",right:"left",bottom:"top",left:"right"},ZR=xr.forwardRef(function(t,n){let{__scopePopper:r,...o}=t,a=MD(JR,r),i=OD[a.placedSide];return(0,Ri.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,Ri.jsx)(KR,{...o,ref:n,style:{...o.style,display:"block"}})})});ZR.displayName=JR;function kD(e){return e!==null}var _D=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:o}=t,i=o.arrow?.centerOffset!==0,l=i?0:e.arrowWidth,s=i?0:e.arrowHeight,[c,d]=eE(n),u={start:"0%",center:"50%",end:"100%"}[d],f=(o.arrow?.x??0)+l/2,p=(o.arrow?.y??0)+s/2,b="",m="";return c==="bottom"?(b=i?u:`${f}px`,m=`${-s}px`):c==="top"?(b=i?u:`${f}px`,m=`${r.floating.height+s}px`):c==="right"?(b=`${-s}px`,m=i?u:`${p}px`):c==="left"&&(b=`${r.floating.width+s}px`,m=i?u:`${p}px`),{data:{x:b,y:m}}}});function eE(e){let[t,n="center"]=e.split("-");return[t,n]}var tE=WR,nE=QR,rE=XR,oE=ZR;var bm=B(xe(),1),aE=B(Bi(),1);var iE=B(te(),1),DD="Portal",Wy=bm.forwardRef((e,t)=>{let{container:n,...r}=e,[o,a]=bm.useState(!1);on(()=>a(!0),[]);let i=n||o&&globalThis?.document?.body;return i?aE.default.createPortal((0,iE.jsx)(at.div,{...r,ref:t}),i):null});Wy.displayName=DD;var lE=B(xe(),1);var sE=B(te(),1),Yy=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"}),BD="VisuallyHidden",ID=lE.forwardRef((e,t)=>(0,sE.jsx)(at.span,{...e,ref:t,style:{...Yy,...e.style}}));ID.displayName=BD;var zD=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Is=new WeakMap,vm=new WeakMap,xm={},Qy=0,cE=function(e){return e&&(e.host||cE(e.parentNode))},PD=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=cE(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})},UD=function(e,t,n,r){var o=PD(t,Array.isArray(e)?e:[e]);xm[n]||(xm[n]=new WeakMap);var a=xm[n],i=[],l=new Set,s=new Set(o),c=function(u){!u||l.has(u)||(l.add(u),c(u.parentNode))};o.forEach(c);var d=function(u){!u||s.has(u)||Array.prototype.forEach.call(u.children,function(f){if(l.has(f))d(f);else try{var p=f.getAttribute(r),b=p!==null&&p!=="false",m=(Is.get(f)||0)+1,v=(a.get(f)||0)+1;Is.set(f,m),a.set(f,v),i.push(f),m===1&&b&&vm.set(f,!0),v===1&&f.setAttribute(n,"true"),b||f.setAttribute(r,"true")}catch(h){console.error("aria-hidden: cannot operate on ",f,h)}})};return d(t),l.clear(),Qy++,function(){i.forEach(function(u){var f=Is.get(u)-1,p=a.get(u)-1;Is.set(u,f),a.set(u,p),f||(vm.has(u)||u.removeAttribute(r),vm.delete(u)),p||u.removeAttribute(n)}),Qy--,Qy||(Is=new WeakMap,Is=new WeakMap,vm=new WeakMap,xm={})}},uE=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||zD(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),UD(r,o,n,"aria-hidden")):function(){return null}};var Sr=function(){return Sr=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},Sr.apply(this,arguments)};function Sm(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function dE(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,a;r<o;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Em=B(xe());var Jn=B(xe());var gl="right-scroll-bar-position",hl="width-before-scroll-bar",Xy="with-scroll-bars-hidden",Jy="--removed-body-scroll-bar-size";function wm(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}var fE=B(xe());function mE(e,t){var n=(0,fE.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var Am=B(xe());var jD=typeof window<"u"?Am.useLayoutEffect:Am.useEffect,pE=new WeakMap;function Zy(e,t){var n=mE(t||null,function(r){return e.forEach(function(o){return wm(o,r)})});return jD(function(){var r=pE.get(n);if(r){var o=new Set(r),a=new Set(e),i=n.current;o.forEach(function(l){a.has(l)||wm(l,null)}),a.forEach(function(l){o.has(l)||wm(l,i)})}pE.set(n,e)},[e]),n}function VD(e){return e}function FD(e,t){t===void 0&&(t=VD);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var i=t(a,r);return n.push(i),function(){n=n.filter(function(l){return l!==i})}},assignSyncMedium:function(a){for(r=!0;n.length;){var i=n;n=[],i.forEach(a)}n={push:function(l){return a(l)},filter:function(){return n}}},assignMedium:function(a){r=!0;var i=[];if(n.length){var l=n;n=[],l.forEach(a),i=n}var s=function(){var d=i;i=[],d.forEach(a)},c=function(){return Promise.resolve().then(s)};c(),n={push:function(d){i.push(d),c()},filter:function(d){return i=i.filter(d),n}}}};return o}function eb(e){e===void 0&&(e={});var t=FD(null);return t.options=Sr({async:!0,ssr:!1},e),t}var gE=B(xe()),hE=function(e){var t=e.sideCar,n=Sm(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return gE.createElement(r,Sr({},n))};hE.isSideCarExport=!0;function tb(e,t){return e.useMedium(t),hE}var Cm=eb();var nb=function(){},Eu=Jn.forwardRef(function(e,t){var n=Jn.useRef(null),r=Jn.useState({onScrollCapture:nb,onWheelCapture:nb,onTouchMoveCapture:nb}),o=r[0],a=r[1],i=e.forwardProps,l=e.children,s=e.className,c=e.removeScrollBar,d=e.enabled,u=e.shards,f=e.sideCar,p=e.noRelative,b=e.noIsolation,m=e.inert,v=e.allowPinchZoom,h=e.as,g=h===void 0?"div":h,y=e.gapMode,x=Sm(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),A=f,E=Zy([n,t]),N=Sr(Sr({},x),o);return Jn.createElement(Jn.Fragment,null,d&&Jn.createElement(A,{sideCar:Cm,removeScrollBar:c,shards:u,noRelative:p,noIsolation:b,inert:m,setCallbacks:a,allowPinchZoom:!!v,lockRef:n,gapMode:y}),i?Jn.cloneElement(Jn.Children.only(l),Sr(Sr({},N),{ref:E})):Jn.createElement(g,Sr({},N,{className:s,ref:E}),l))});Eu.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Eu.classNames={fullWidth:hl,zeroRight:gl};var qt=B(xe());var Ps=B(xe());var vE=B(xe());var yE;var bE=function(){if(yE)return yE;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function HD(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=bE();return t&&e.setAttribute("nonce",t),e}function $D(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function KD(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var rb=function(){var e=0,t=null;return{add:function(n){e==0&&(t=HD())&&($D(t,n),KD(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}};var ob=function(){var e=rb();return function(t,n){vE.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}};var Nu=function(){var e=ob(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t};var GD={left:0,top:0,right:0,gap:0},ab=function(e){return parseInt(e||"",10)||0},qD=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ab(n),ab(r),ab(o)]},ib=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return GD;var t=qD(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])}};var WD=Nu(),zs="data-scroll-locked",YD=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,l=e.gap;return n===void 0&&(n="margin"),`
|
|
12
|
+
.`.concat(Xy,` {
|
|
13
13
|
overflow: hidden `).concat(r,`;
|
|
14
14
|
padding-right: `).concat(l,"px ").concat(r,`;
|
|
15
15
|
}
|
|
@@ -43,19 +43,19 @@ Error generating stack: `+r.message+`
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
body[`).concat(zs,`] {
|
|
46
|
-
`).concat(
|
|
46
|
+
`).concat(Jy,": ").concat(l,`px;
|
|
47
47
|
}
|
|
48
|
-
`)},
|
|
48
|
+
`)},xE=function(){var e=parseInt(document.body.getAttribute(zs)||"0",10);return isFinite(e)?e:0},QD=function(){Ps.useEffect(function(){return document.body.setAttribute(zs,(xE()+1).toString()),function(){var e=xE()-1;e<=0?document.body.removeAttribute(zs):document.body.setAttribute(zs,e.toString())}},[])},lb=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;QD();var a=Ps.useMemo(function(){return ib(o)},[o]);return Ps.createElement(WD,{styles:YD(a,!t,o,n?"":"!important")})};var sb=!1;if(typeof window<"u")try{Tu=Object.defineProperty({},"passive",{get:function(){return sb=!0,!0}}),window.addEventListener("test",Tu,Tu),window.removeEventListener("test",Tu,Tu)}catch{sb=!1}var Tu,yl=sb?{passive:!1}:!1;var XD=function(e){return e.tagName==="TEXTAREA"},SE=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!XD(e)&&n[t]==="visible")},JD=function(e){return SE(e,"overflowY")},ZD=function(e){return SE(e,"overflowX")},cb=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=wE(e,r);if(o){var a=AE(e,r),i=a[1],l=a[2];if(i>l)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},e5=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},t5=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},wE=function(e,t){return e==="v"?JD(t):ZD(t)},AE=function(e,t){return e==="v"?e5(t):t5(t)},n5=function(e,t){return e==="h"&&t==="rtl"?-1:1},CE=function(e,t,n,r,o){var a=n5(e,window.getComputedStyle(t).direction),i=a*r,l=n.target,s=t.contains(l),c=!1,d=i>0,u=0,f=0;do{if(!l)break;var p=AE(e,l),b=p[0],m=p[1],v=p[2],h=m-v-a*b;(b||h)&&wE(e,l)&&(u+=h,f+=b);var g=l.parentNode;l=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!s&&l!==document.body||s&&(t.contains(l)||t===l));return(d&&(o&&Math.abs(u)<1||!o&&i>u)||!d&&(o&&Math.abs(f)<1||!o&&-i>f))&&(c=!0),c};var Rm=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},RE=function(e){return[e.deltaX,e.deltaY]},EE=function(e){return e&&"current"in e?e.current:e},r5=function(e,t){return e[0]===t[0]&&e[1]===t[1]},o5=function(e){return`
|
|
49
49
|
.block-interactivity-`.concat(e,` {pointer-events: none;}
|
|
50
50
|
.allow-interactivity-`).concat(e,` {pointer-events: all;}
|
|
51
|
-
`)},o5=0,Us=[];function NN(e){var t=qt.useRef([]),n=qt.useRef([0,0]),r=qt.useRef(),o=qt.useState(o5++)[0],a=qt.useState(Eu)[0],i=qt.useRef(e);qt.useEffect(function(){i.current=e},[e]),qt.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var m=uN([e.lockRef.current],(e.shards||[]).map(RN),!0).filter(Boolean);return m.forEach(function(v){return v.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),m.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=qt.useCallback(function(m,v){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!i.current.allowPinchZoom;var h=Cm(m),g=n.current,y="deltaX"in m?m.deltaX:g[0]-h[0],x="deltaY"in m?m.deltaY:g[1]-h[1],A,N=m.target,E=Math.abs(y)>Math.abs(x)?"h":"v";if("touches"in m&&E==="h"&&N.type==="range")return!1;var C=window.getSelection(),O=C&&C.anchorNode,L=O?O===N||O.contains(N):!1;if(L)return!1;var V=sb(E,N);if(!V)return!0;if(V?A=E:(A=E==="v"?"h":"v",V=sb(E,N)),!V)return!1;if(!r.current&&"changedTouches"in m&&(y||x)&&(r.current=A),!A)return!0;var z=r.current||A;return AN(z,v,m,z==="h"?y:x,!0)},[]),s=qt.useCallback(function(m){var v=m;if(!(!Us.length||Us[Us.length-1]!==a)){var h="deltaY"in v?CN(v):Cm(v),g=t.current.filter(function(A){return A.name===v.type&&(A.target===v.target||v.target===A.shadowParent)&&n5(A.delta,h)})[0];if(g&&g.should){v.cancelable&&v.preventDefault();return}if(!g){var y=(i.current.shards||[]).map(RN).filter(Boolean).filter(function(A){return A.contains(v.target)}),x=y.length>0?l(v,y[0]):!i.current.noIsolation;x&&v.cancelable&&v.preventDefault()}}},[]),c=qt.useCallback(function(m,v,h,g){var y={name:m,delta:v,target:h,should:g,shadowParent:a5(h)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(x){return x!==y})},1)},[]),d=qt.useCallback(function(m){n.current=Cm(m),r.current=void 0},[]),u=qt.useCallback(function(m){c(m.type,CN(m),m.target,l(m,e.lockRef.current))},[]),f=qt.useCallback(function(m){c(m.type,Cm(m),m.target,l(m,e.lockRef.current))},[]);qt.useEffect(function(){return Us.push(a),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:f}),document.addEventListener("wheel",s,yl),document.addEventListener("touchmove",s,yl),document.addEventListener("touchstart",d,yl),function(){Us=Us.filter(function(m){return m!==a}),document.removeEventListener("wheel",s,yl),document.removeEventListener("touchmove",s,yl),document.removeEventListener("touchstart",d,yl)}},[]);var p=e.removeScrollBar,b=e.inert;return qt.createElement(qt.Fragment,null,b?qt.createElement(a,{styles:r5(o)}):null,p?qt.createElement(ib,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function a5(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var EN=eb(Am,NN);var TN=Rm.forwardRef(function(e,t){return Rm.createElement(Nu,Sr({},e,{ref:t,sideCar:EN}))});TN.classNames=Nu.classNames;var cb=TN;var Be=B(te(),1),i5=[" ","Enter","ArrowUp","ArrowDown"],l5=[" ","Enter"],bl="Select",[Em,Tm,s5]=Tf(bl),[js,A4]=Zr(bl,[s5,Ky]),Mm=Ky(),[c5,Ni]=js(bl),[u5,d5]=js(bl),MN=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:a,value:i,defaultValue:l,onValueChange:s,dir:c,name:d,autoComplete:u,disabled:f,required:p,form:b}=e,m=Mm(t),[v,h]=le.useState(null),[g,y]=le.useState(null),[x,A]=le.useState(!1),N=ws(c),[E,C]=Aa({prop:r,defaultProp:o??!1,onChange:a,caller:bl}),[O,L]=Aa({prop:i,defaultProp:l,onChange:s,caller:bl}),V=le.useRef(null),z=v?b||!!v.closest("form"):!0,[G,Z]=le.useState(new Set),ue=Array.from(G).map(q=>q.props.value).join(";");return(0,Be.jsx)(eN,{...m,children:(0,Be.jsxs)(c5,{required:p,scope:t,trigger:v,onTriggerChange:h,valueNode:g,onValueNodeChange:y,valueNodeHasChildren:x,onValueNodeHasChildrenChange:A,contentId:hi(),value:O,onValueChange:L,open:E,onOpenChange:C,dir:N,triggerPointerDownPosRef:V,disabled:f,children:[(0,Be.jsx)(Em.Provider,{scope:t,children:(0,Be.jsx)(u5,{scope:e.__scopeSelect,onNativeOptionAdd:le.useCallback(q=>{Z(oe=>new Set(oe).add(q))},[]),onNativeOptionRemove:le.useCallback(q=>{Z(oe=>{let ee=new Set(oe);return ee.delete(q),ee})},[]),children:n})}),z?(0,Be.jsxs)(XN,{"aria-hidden":!0,required:p,tabIndex:-1,name:d,autoComplete:u,value:O,onChange:q=>L(q.target.value),disabled:f,form:b,children:[O===void 0?(0,Be.jsx)("option",{value:""}):null,Array.from(G)]},ue):null]})})};MN.displayName=bl;var ON="SelectTrigger",kN=le.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...o}=e,a=Mm(n),i=Ni(ON,n),l=i.disabled||r,s=Tt(t,i.onTriggerChange),c=Tm(n),d=le.useRef("touch"),[u,f,p]=ZN(m=>{let v=c().filter(y=>!y.disabled),h=v.find(y=>y.value===i.value),g=eE(v,m,h);g!==void 0&&i.onValueChange(g.value)}),b=m=>{l||(i.onOpenChange(!0),p()),m&&(i.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return(0,Be.jsx)(tN,{asChild:!0,...a,children:(0,Be.jsx)(at.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":JN(i.value)?"":void 0,...o,ref:s,onClick:vt(o.onClick,m=>{m.currentTarget.focus(),d.current!=="mouse"&&b(m)}),onPointerDown:vt(o.onPointerDown,m=>{d.current=m.pointerType;let v=m.target;v.hasPointerCapture(m.pointerId)&&v.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(b(m),m.preventDefault())}),onKeyDown:vt(o.onKeyDown,m=>{let v=u.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&f(m.key),!(v&&m.key===" ")&&i5.includes(m.key)&&(b(),m.preventDefault())})})})});kN.displayName=ON;var _N="SelectValue",LN=le.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,children:a,placeholder:i="",...l}=e,s=Ni(_N,n),{onValueNodeHasChildrenChange:c}=s,d=a!==void 0,u=Tt(t,s.onValueNodeChange);return on(()=>{c(d)},[c,d]),(0,Be.jsx)(at.span,{...l,ref:u,style:{pointerEvents:"none"},children:JN(s.value)?(0,Be.jsx)(Be.Fragment,{children:i}):a})});LN.displayName=_N;var f5="SelectIcon",DN=le.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...o}=e;return(0,Be.jsx)(at.span,{"aria-hidden":!0,...o,ref:t,children:r||"\u25BC"})});DN.displayName=f5;var m5="SelectPortal",BN=e=>(0,Be.jsx)(qy,{asChild:!0,...e});BN.displayName=m5;var vl="SelectContent",IN=le.forwardRef((e,t)=>{let n=Ni(vl,e.__scopeSelect),[r,o]=le.useState();if(on(()=>{o(new DocumentFragment)},[]),!n.open){let a=r;return a?gb.createPortal((0,Be.jsx)(zN,{scope:e.__scopeSelect,children:(0,Be.jsx)(Em.Slot,{scope:e.__scopeSelect,children:(0,Be.jsx)("div",{children:e.children})})}),a):null}return(0,Be.jsx)(PN,{...e,ref:t})});IN.displayName=vl;var Co=10,[zN,Ei]=js(vl),p5="SelectContentImpl",g5=ol("SelectContent.RemoveScroll"),PN=le.forwardRef((e,t)=>{let{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:a,onPointerDownOutside:i,side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:p,sticky:b,hideWhenDetached:m,avoidCollisions:v,...h}=e,g=Ni(vl,n),[y,x]=le.useState(null),[A,N]=le.useState(null),E=Tt(t,U=>x(U)),[C,O]=le.useState(null),[L,V]=le.useState(null),z=Tm(n),[G,Z]=le.useState(!1),ue=le.useRef(!1);le.useEffect(()=>{if(y)return cN(y)},[y]),z1();let q=le.useCallback(U=>{let[fe,...ve]=z().map(Ee=>Ee.ref.current),[ke]=ve.slice(-1),we=document.activeElement;for(let Ee of U)if(Ee===we||(Ee?.scrollIntoView({block:"nearest"}),Ee===fe&&A&&(A.scrollTop=0),Ee===ke&&A&&(A.scrollTop=A.scrollHeight),Ee?.focus(),document.activeElement!==we))return},[z,A]),oe=le.useCallback(()=>q([C,y]),[q,C,y]);le.useEffect(()=>{G&&oe()},[G,oe]);let{onOpenChange:ee,triggerPointerDownPosRef:W}=g;le.useEffect(()=>{if(y){let U={x:0,y:0},fe=ke=>{U={x:Math.abs(Math.round(ke.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(ke.pageY)-(W.current?.y??0))}},ve=ke=>{U.x<=10&&U.y<=10?ke.preventDefault():y.contains(ke.target)||ee(!1),document.removeEventListener("pointermove",fe),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",fe),document.addEventListener("pointerup",ve,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",fe),document.removeEventListener("pointerup",ve,{capture:!0})}}},[y,ee,W]),le.useEffect(()=>{let U=()=>ee(!1);return window.addEventListener("blur",U),window.addEventListener("resize",U),()=>{window.removeEventListener("blur",U),window.removeEventListener("resize",U)}},[ee]);let[j,Ie]=ZN(U=>{let fe=z().filter(we=>!we.disabled),ve=fe.find(we=>we.ref.current===document.activeElement),ke=eE(fe,U,ve);ke&&setTimeout(()=>ke.ref.current.focus())}),ne=le.useCallback((U,fe,ve)=>{let ke=!ue.current&&!ve;(g.value!==void 0&&g.value===fe||ke)&&(O(U),ke&&(ue.current=!0))},[g.value]),Ve=le.useCallback(()=>y?.focus(),[y]),ae=le.useCallback((U,fe,ve)=>{let ke=!ue.current&&!ve;(g.value!==void 0&&g.value===fe||ke)&&V(U)},[g.value]),Se=r==="popper"?ub:UN,ze=Se===ub?{side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:p,sticky:b,hideWhenDetached:m,avoidCollisions:v}:{};return(0,Be.jsx)(zN,{scope:n,content:y,viewport:A,onViewportChange:N,itemRefCallback:ne,selectedItem:C,onItemLeave:Ve,itemTextRefCallback:ae,focusSelectedItem:oe,selectedItemText:L,position:r,isPositioned:G,searchRef:j,children:(0,Be.jsx)(cb,{as:g5,allowPinchZoom:!0,children:(0,Be.jsx)(Dy,{asChild:!0,trapped:g.open,onMountAutoFocus:U=>{U.preventDefault()},onUnmountAutoFocus:vt(o,U=>{g.trigger?.focus({preventScroll:!0}),U.preventDefault()}),children:(0,Be.jsx)(Oy,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:U=>U.preventDefault(),onDismiss:()=>g.onOpenChange(!1),children:(0,Be.jsx)(Se,{role:"listbox",id:g.contentId,"data-state":g.open?"open":"closed",dir:g.dir,onContextMenu:U=>U.preventDefault(),...h,...ze,onPlaced:()=>Z(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...h.style},onKeyDown:vt(h.onKeyDown,U=>{let fe=U.ctrlKey||U.altKey||U.metaKey;if(U.key==="Tab"&&U.preventDefault(),!fe&&U.key.length===1&&Ie(U.key),["ArrowUp","ArrowDown","Home","End"].includes(U.key)){let ke=z().filter(we=>!we.disabled).map(we=>we.ref.current);if(["ArrowUp","End"].includes(U.key)&&(ke=ke.slice().reverse()),["ArrowUp","ArrowDown"].includes(U.key)){let we=U.target,Ee=ke.indexOf(we);ke=ke.slice(Ee+1)}setTimeout(()=>q(ke)),U.preventDefault()}})})})})})})});PN.displayName=p5;var h5="SelectItemAlignedPosition",UN=le.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...o}=e,a=Ni(vl,n),i=Ei(vl,n),[l,s]=le.useState(null),[c,d]=le.useState(null),u=Tt(t,E=>d(E)),f=Tm(n),p=le.useRef(!1),b=le.useRef(!0),{viewport:m,selectedItem:v,selectedItemText:h,focusSelectedItem:g}=i,y=le.useCallback(()=>{if(a.trigger&&a.valueNode&&l&&c&&m&&v&&h){let E=a.trigger.getBoundingClientRect(),C=c.getBoundingClientRect(),O=a.valueNode.getBoundingClientRect(),L=h.getBoundingClientRect();if(a.dir!=="rtl"){let we=L.left-C.left,Ee=O.left-we,qe=E.left-Ee,We=E.width+qe,nn=Math.max(We,C.width),Dn=window.innerWidth-Co,cn=Ey(Ee,[Co,Math.max(Co,Dn-nn)]);l.style.minWidth=We+"px",l.style.left=cn+"px"}else{let we=C.right-L.right,Ee=window.innerWidth-O.right-we,qe=window.innerWidth-E.right-Ee,We=E.width+qe,nn=Math.max(We,C.width),Dn=window.innerWidth-Co,cn=Ey(Ee,[Co,Math.max(Co,Dn-nn)]);l.style.minWidth=We+"px",l.style.right=cn+"px"}let V=f(),z=window.innerHeight-Co*2,G=m.scrollHeight,Z=window.getComputedStyle(c),ue=parseInt(Z.borderTopWidth,10),q=parseInt(Z.paddingTop,10),oe=parseInt(Z.borderBottomWidth,10),ee=parseInt(Z.paddingBottom,10),W=ue+q+G+ee+oe,j=Math.min(v.offsetHeight*5,W),Ie=window.getComputedStyle(m),ne=parseInt(Ie.paddingTop,10),Ve=parseInt(Ie.paddingBottom,10),ae=E.top+E.height/2-Co,Se=z-ae,ze=v.offsetHeight/2,U=v.offsetTop+ze,fe=ue+q+U,ve=W-fe;if(fe<=ae){let we=V.length>0&&v===V[V.length-1].ref.current;l.style.bottom="0px";let Ee=c.clientHeight-m.offsetTop-m.offsetHeight,qe=Math.max(Se,ze+(we?Ve:0)+Ee+oe),We=fe+qe;l.style.height=We+"px"}else{let we=V.length>0&&v===V[0].ref.current;l.style.top="0px";let qe=Math.max(ae,ue+m.offsetTop+(we?ne:0)+ze)+ve;l.style.height=qe+"px",m.scrollTop=fe-ae+m.offsetTop}l.style.margin=`${Co}px 0`,l.style.minHeight=j+"px",l.style.maxHeight=z+"px",r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,l,c,m,v,h,a.dir,r]);on(()=>y(),[y]);let[x,A]=le.useState();on(()=>{c&&A(window.getComputedStyle(c).zIndex)},[c]);let N=le.useCallback(E=>{E&&b.current===!0&&(y(),g?.(),b.current=!1)},[y,g]);return(0,Be.jsx)(b5,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:p,onScrollButtonChange:N,children:(0,Be.jsx)("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:x},children:(0,Be.jsx)(at.div,{...o,ref:u,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});UN.displayName=h5;var y5="SelectPopperPosition",ub=le.forwardRef((e,t)=>{let{__scopeSelect:n,align:r="start",collisionPadding:o=Co,...a}=e,i=Mm(n);return(0,Be.jsx)(nN,{...i,...a,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...a.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)"}})});ub.displayName=y5;var[b5,hb]=js(vl,{}),db="SelectViewport",jN=le.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...o}=e,a=Ei(db,n),i=hb(db,n),l=Tt(t,a.onViewportChange),s=le.useRef(0);return(0,Be.jsxs)(Be.Fragment,{children:[(0,Be.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}),(0,Be.jsx)(Em.Slot,{scope:n,children:(0,Be.jsx)(at.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:vt(o.onScroll,c=>{let d=c.currentTarget,{contentWrapper:u,shouldExpandOnScrollRef:f}=i;if(f?.current&&u){let p=Math.abs(s.current-d.scrollTop);if(p>0){let b=window.innerHeight-Co*2,m=parseFloat(u.style.minHeight),v=parseFloat(u.style.height),h=Math.max(m,v);if(h<b){let g=h+p,y=Math.min(b,g),x=g-y;u.style.height=y+"px",u.style.bottom==="0px"&&(d.scrollTop=x>0?x:0,u.style.justifyContent="flex-end")}}}s.current=d.scrollTop})})})]})});jN.displayName=db;var VN="SelectGroup",[v5,x5]=js(VN),FN=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=hi();return(0,Be.jsx)(v5,{scope:n,id:o,children:(0,Be.jsx)(at.div,{role:"group","aria-labelledby":o,...r,ref:t})})});FN.displayName=VN;var HN="SelectLabel",$N=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=x5(HN,n);return(0,Be.jsx)(at.div,{id:o.id,...r,ref:t})});$N.displayName=HN;var Nm="SelectItem",[S5,KN]=js(Nm),GN=le.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:o=!1,textValue:a,...i}=e,l=Ni(Nm,n),s=Ei(Nm,n),c=l.value===r,[d,u]=le.useState(a??""),[f,p]=le.useState(!1),b=Tt(t,g=>s.itemRefCallback?.(g,r,o)),m=hi(),v=le.useRef("touch"),h=()=>{o||(l.onValueChange(r),l.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> 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(0,Be.jsx)(S5,{scope:n,value:r,disabled:o,textId:m,isSelected:c,onItemTextChange:le.useCallback(g=>{u(y=>y||(g?.textContent??"").trim())},[]),children:(0,Be.jsx)(Em.ItemSlot,{scope:n,value:r,disabled:o,textValue:d,children:(0,Be.jsx)(at.div,{role:"option","aria-labelledby":m,"data-highlighted":f?"":void 0,"aria-selected":c&&f,"data-state":c?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...i,ref:b,onFocus:vt(i.onFocus,()=>p(!0)),onBlur:vt(i.onBlur,()=>p(!1)),onClick:vt(i.onClick,()=>{v.current!=="mouse"&&h()}),onPointerUp:vt(i.onPointerUp,()=>{v.current==="mouse"&&h()}),onPointerDown:vt(i.onPointerDown,g=>{v.current=g.pointerType}),onPointerMove:vt(i.onPointerMove,g=>{v.current=g.pointerType,o?s.onItemLeave?.():v.current==="mouse"&&g.currentTarget.focus({preventScroll:!0})}),onPointerLeave:vt(i.onPointerLeave,g=>{g.currentTarget===document.activeElement&&s.onItemLeave?.()}),onKeyDown:vt(i.onKeyDown,g=>{s.searchRef?.current!==""&&g.key===" "||(l5.includes(g.key)&&h(),g.key===" "&&g.preventDefault())})})})})});GN.displayName=Nm;var Mu="SelectItemText",qN=le.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,...a}=e,i=Ni(Mu,n),l=Ei(Mu,n),s=KN(Mu,n),c=d5(Mu,n),[d,u]=le.useState(null),f=Tt(t,h=>u(h),s.onItemTextChange,h=>l.itemTextRefCallback?.(h,s.value,s.disabled)),p=d?.textContent,b=le.useMemo(()=>(0,Be.jsx)("option",{value:s.value,disabled:s.disabled,children:p},s.value),[s.disabled,s.value,p]),{onNativeOptionAdd:m,onNativeOptionRemove:v}=c;return on(()=>(m(b),()=>v(b)),[m,v,b]),(0,Be.jsxs)(Be.Fragment,{children:[(0,Be.jsx)(at.span,{id:s.textId,...a,ref:f}),s.isSelected&&i.valueNode&&!i.valueNodeHasChildren?gb.createPortal(a.children,i.valueNode):null]})});qN.displayName=Mu;var WN="SelectItemIndicator",YN=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return KN(WN,n).isSelected?(0,Be.jsx)(at.span,{"aria-hidden":!0,...r,ref:t}):null});YN.displayName=WN;var fb="SelectScrollUpButton",w5=le.forwardRef((e,t)=>{let n=Ei(fb,e.__scopeSelect),r=hb(fb,e.__scopeSelect),[o,a]=le.useState(!1),i=Tt(t,r.onScrollButtonChange);return on(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollTop>0;a(d)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,Be.jsx)(QN,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop-s.offsetHeight)}}):null});w5.displayName=fb;var mb="SelectScrollDownButton",A5=le.forwardRef((e,t)=>{let n=Ei(mb,e.__scopeSelect),r=hb(mb,e.__scopeSelect),[o,a]=le.useState(!1),i=Tt(t,r.onScrollButtonChange);return on(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollHeight-c.clientHeight,u=Math.ceil(c.scrollTop)<d;a(u)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,Be.jsx)(QN,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop+s.offsetHeight)}}):null});A5.displayName=mb;var QN=le.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...o}=e,a=Ei("SelectScrollButton",n),i=le.useRef(null),l=Tm(n),s=le.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return le.useEffect(()=>()=>s(),[s]),on(()=>{l().find(d=>d.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),(0,Be.jsx)(at.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:vt(o.onPointerDown,()=>{i.current===null&&(i.current=window.setInterval(r,50))}),onPointerMove:vt(o.onPointerMove,()=>{a.onItemLeave?.(),i.current===null&&(i.current=window.setInterval(r,50))}),onPointerLeave:vt(o.onPointerLeave,()=>{s()})})}),C5="SelectSeparator",R5=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,Be.jsx)(at.div,{"aria-hidden":!0,...r,ref:t})});R5.displayName=C5;var pb="SelectArrow",N5=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=Mm(n),a=Ni(pb,n),i=Ei(pb,n);return a.open&&i.position==="popper"?(0,Be.jsx)(rN,{...o,...r,ref:t}):null});N5.displayName=pb;var E5="SelectBubbleInput",XN=le.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let o=le.useRef(null),a=Tt(r,o),i=Af(t);return le.useEffect(()=>{let l=o.current;if(!l)return;let s=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(s,"value").set;if(i!==t&&d){let u=new Event("change",{bubbles:!0});d.call(l,t),l.dispatchEvent(u)}},[i,t]),(0,Be.jsx)(at.select,{...n,style:{...Wy,...n.style},ref:a,defaultValue:t})});XN.displayName=E5;function JN(e){return e===""||e===void 0}function ZN(e){let t=pr(e),n=le.useRef(""),r=le.useRef(0),o=le.useCallback(i=>{let l=n.current+i;t(l),(function s(c){n.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>s(""),1e3))})(l)},[t]),a=le.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return le.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,a]}function eE(e,t,n){let o=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,a=n?e.indexOf(n):-1,i=T5(e,Math.max(a,0));o.length===1&&(i=i.filter(c=>c!==n));let s=i.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return s!==n?s:void 0}function T5(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var tE=MN,nE=kN,rE=LN,oE=DN,aE=BN,iE=IN,lE=jN,sE=FN,cE=$N,uE=GN,dE=qN,fE=YN;var mE=B(xe(),1);var pE=B(te(),1),it=(0,mE.forwardRef)(function({className:t,...n},r){return(0,pE.jsx)("input",{ref:r,className:Q("flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",t),...n})});function gE(e){return String(e||"").trim().toLowerCase()}function Om(e){return gE(e).length>0}function hE({searchEnabled:e=!0}={}){return!!e}function yb(e){let t=String(e?.key||"");return!t||t.length!==1||e?.ctrlKey||e?.metaKey||e?.altKey?"":t.trim()?t:""}function yE(e={},t=""){let n=gE(t);return n?[e?.label,e?.value,e?.hint,e?.textValue,e?.searchText].map(o=>String(o||"").toLowerCase()).join(" ").includes(n):!0}var km=B(xe(),1),O5=12;function bb(e){return/auto|scroll|hidden|clip|overlay/.test(String(e||"").toLowerCase())}function k5(e,t){return{top:Math.max(e.top,t.top),right:Math.min(e.right,t.right),bottom:Math.min(e.bottom,t.bottom),left:Math.max(e.left,t.left)}}function _m(e){if(typeof window>"u")return[];let t=[],n=e?.parentElement||null;for(;n&&n!==document.body&&n!==document.documentElement;){let r=window.getComputedStyle(n);(bb(r.overflow)||bb(r.overflowY)||bb(r.overflowX))&&t.push(n),n=n.parentElement}return t}function _5(e,{viewportPadding:t=O5}={}){if(typeof window>"u")return null;let n={top:t,right:window.innerWidth-t,bottom:window.innerHeight-t,left:t};for(let r of _m(e))n=k5(n,r.getBoundingClientRect());return n}function L5({anchorRect:e,boundaryRect:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){if(!e||!t)return{side:n==="top"?"top":"bottom",maxHeight:o};let a=Math.max(0,e.top-t.top-r),i=Math.max(0,t.bottom-e.bottom-r),s=a===i?n==="top"?"top":"bottom":a>i?"top":"bottom",c=Math.max(0,Math.min(o,s==="top"?a:i));return{side:s,maxHeight:c}}function Lm({open:e=!1,anchorRef:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){let[a,i]=(0,km.useState)(()=>({side:n==="top"?"top":"bottom",maxHeight:o}));return(0,km.useLayoutEffect)(()=>{if(!e||typeof window>"u")return;let l=t?.current||null;if(!l){i({side:n==="top"?"top":"bottom",maxHeight:o});return}let s=()=>{i(L5({anchorRect:l.getBoundingClientRect(),boundaryRect:_5(l),preferredSide:n,offset:r,desiredHeight:o}))};s();let c=_m(l);window.addEventListener("resize",s);for(let u of c)u.addEventListener("scroll",s,{passive:!0});let d=null;if(typeof ResizeObserver=="function"){d=new ResizeObserver(s),d.observe(l);for(let u of c)d.observe(u)}return()=>{window.removeEventListener("resize",s);for(let u of c)u.removeEventListener("scroll",s);d?.disconnect?.()}},[e,t,n,r,o]),a}var Nn=B(te(),1),Bm=(0,pt.createContext)(null),D5="Enter character to filter",B5=41,I5="data-llm-router-select-search-input";function Dm(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(t=>Dm(t)).filter(Boolean).join(" "):(0,pt.isValidElement)(e)?Dm(e.props?.children):""}function vb(e,t="first"){let n=Array.from(e?.querySelectorAll?.("[role='option']")||[]).filter(a=>a.getAttribute("aria-disabled")!=="true");if(n.length===0)return;let r=n.find(a=>a.getAttribute("data-state")==="checked");(t==="last"?n[n.length-1]:r||n[0])?.focus?.()}function z5(e={}){let t=String(e.textValue||Dm(e.children)||"").trim();return{value:String(e.value||""),textValue:t,searchText:String(e.searchText||"")}}function bE(e,t=""){let n=0,r=0;return{children:pt.Children.map(e,a=>{if(!(0,pt.isValidElement)(a))return a;if(a.type?.__LLM_ROUTER_SELECT_ITEM===!0){n+=1;let l=yE(z5(a.props),t);return l&&(r+=1),l?a:null}if(!a.props?.children)return a;let i=bE(a.props.children,t);return n+=i.totalItems,r+=i.matchedItems,a.type?.__LLM_ROUTER_SELECT_GROUP===!0&&i.matchedItems===0?null:(0,pt.cloneElement)(a,void 0,i.children)}),totalItems:n,matchedItems:r}}function Xt({open:e,defaultOpen:t=!1,onOpenChange:n,searchEnabled:r=!0,openSearchRequest:o=0,children:a,...i}){let[l,s]=(0,pt.useState)(!!t),[c,d]=(0,pt.useState)(""),[u,f]=(0,pt.useState)(!1),p=(0,pt.useRef)(null),b=(0,pt.useRef)(0),m=e!==void 0?e:l;(0,pt.useEffect)(()=>{m||(d(""),f(!1))},[m]);function v(g){e===void 0&&s(g),n?.(g),g||(d(""),f(!1))}(0,pt.useEffect)(()=>{!o||o===b.current||(b.current=o,d(""),r&&f(!0),!m&&(e===void 0&&s(!0),n?.(!0)))},[o,r,m,e,n]);let h={open:m,searchEnabled:r,filterValue:c,setFilterValue:d,searchSessionActive:u,setSearchSessionActive:f,setOpen:v,triggerRef:p,openSearchRequest:o};return(0,Nn.jsx)(Bm.Provider,{value:h,children:(0,Nn.jsx)(tE,{...i,open:m,onOpenChange:v,children:a})})}var Jt=(0,pt.forwardRef)(function({className:t,children:n,onKeyDown:r,...o},a){let i=(0,pt.useContext)(Bm),l=i?.triggerRef||null,s=(0,pt.useCallback)(d=>{if(l&&(l.current=d),typeof a=="function"){a(d);return}a&&(a.current=d)},[l,a]);function c(d){if(r?.(d),d.defaultPrevented||!i?.searchEnabled||o.disabled)return;let u=yb(d);u&&(d.preventDefault(),i.setSearchSessionActive?.(!0),i.setOpen(!0),i.setFilterValue(f=>`${f}${u}`))}return(0,Nn.jsxs)(nE,{ref:s,className:Q("relative inline-flex h-9 w-full items-center gap-2 rounded-lg border border-input bg-background/80 pl-3 pr-9 text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50",t),onKeyDown:c,...o,children:[(0,Nn.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:n}),(0,Nn.jsx)(oE,{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:"\u25BE"})]})});function Zt(e){return(0,Nn.jsx)(rE,{...e})}var en=(0,pt.forwardRef)(function({className:t,children:n,position:r="popper",onKeyDownCapture:o,searchPlaceholder:a=D5,emptySearchMessage:i="No matching options.",...l},s){let c=(0,pt.useContext)(Bm),d=(0,pt.useRef)(null),u=(0,pt.useRef)(null),f=Lm({open:!!c?.open,anchorRef:c?.triggerRef,preferredSide:"bottom",desiredHeight:288,offset:4}),p=hE({searchEnabled:c?.searchEnabled,filterValue:c?.filterValue,sessionActive:c?.searchSessionActive}),b=(0,pt.useMemo)(()=>Om(c?.filterValue)?bE(n,c?.filterValue):{children:n,totalItems:0,matchedItems:0},[n,c?.filterValue]),m=Om(c?.filterValue)&&b.totalItems>0&&b.matchedItems===0,v=Math.max(0,Math.floor((f.maxHeight||288)-(p?B5:0)));(0,pt.useEffect)(()=>{if(!c?.open||!p||typeof window>"u")return;let x=window.requestAnimationFrame(()=>{let A=u.current;if(!A)return;A.focus();let N=A.value.length;A.setSelectionRange(N,N)});return()=>window.cancelAnimationFrame(x)},[c?.open,p,c?.openSearchRequest]);let h=(0,pt.useCallback)(x=>{if(d.current=x,typeof s=="function"){s(x);return}s&&(s.current=x)},[s]);function g(x){if(o?.(x),x.defaultPrevented||x.target===u.current||!c?.searchEnabled)return;let A=yb(x);A&&(x.preventDefault(),x.stopPropagation(),c.setSearchSessionActive?.(!0),c.setFilterValue(N=>`${N}${A}`))}function y(x){let A=x.target.value;c?.setSearchSessionActive?.(!0),c?.setFilterValue(A)}return(0,Nn.jsx)(aE,{children:(0,Nn.jsxs)(iE,{ref:h,position:r,side:r==="popper"?f.side:void 0,className:Q("z-50 min-w-[8rem] overflow-hidden rounded-xl border border-border/70 bg-popover text-popover-foreground shadow-lg",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",t),onKeyDownCapture:g,...l,children:[p?(0,Nn.jsx)("div",{className:"border-b border-border/70 p-1",children:(0,Nn.jsx)(it,{ref:u,"data-llm-router-select-search-input":"true",value:c?.filterValue||"",autoComplete:"off",autoCorrect:"off",autoCapitalize:"none",spellCheck:!1,placeholder:a,className:"h-8 border-border/70 bg-background/90",onChange:y,onPointerDown:x=>x.stopPropagation(),onClick:x=>x.stopPropagation(),onKeyDown:x=>{if(x.stopPropagation(),x.key==="ArrowDown"){x.preventDefault(),vb(d.current,"first");return}if(x.key==="ArrowUp"){x.preventDefault(),vb(d.current,"last");return}x.key==="Escape"&&(x.preventDefault(),c?.setSearchSessionActive?.(!1),c?.setFilterValue(""),typeof window<"u"&&window.requestAnimationFrame(()=>vb(d.current)))}})}):null,(0,Nn.jsxs)(lE,{className:"px-1 pb-1",style:{maxHeight:`${v}px`},children:[Om(c?.filterValue)?b.children:n,m?(0,Nn.jsx)("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:i}):null]})]})})}),Ct=(0,pt.forwardRef)(function({className:t,children:n,searchText:r="",textValue:o,onPointerMove:a,...i},l){let s=(0,pt.useContext)(Bm),c=String(o||Dm(n)||"").trim();function d(u){if(a?.(u),u.defaultPrevented||!s?.searchEnabled||typeof document>"u")return;let f=document.activeElement;f instanceof HTMLElement&&f.getAttribute(I5)==="true"&&u.preventDefault()}return(0,Nn.jsxs)(uE,{ref:l,className:Q("relative flex w-full cursor-default select-none items-center rounded-lg py-2 pl-3 pr-8 text-sm text-foreground outline-none transition-colors hover:bg-accent/60 focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),textValue:c,onPointerMove:d,...i,children:[(0,Nn.jsx)(dE,{children:n}),(0,Nn.jsx)("span",{className:"absolute right-2 inline-flex h-4 w-4 items-center justify-center text-xs text-muted-foreground",children:(0,Nn.jsx)(fE,{children:"\u2713"})})]})});Ct.__LLM_ROUTER_SELECT_ITEM=!0;function xl(e){return(0,Nn.jsx)(sE,{...e})}xl.__LLM_ROUTER_SELECT_GROUP=!0;var Vs=(0,pt.forwardRef)(function({className:t,children:n,...r},o){return(0,Nn.jsx)(cE,{ref:o,className:Q("-mt-1 sticky top-0 z-10 -mx-1 mb-1 block border-b border-border/55 bg-background/96 px-4 py-2 text-xs font-semibold uppercase tracking-[0.18em] text-foreground/80 backdrop-blur-sm",t),...r,children:n})});var Ou=B(te(),1);function xb(e={}){let t=[],n=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};for(let o of Object.keys(n))t.push({value:o,label:o,hint:`Alias \xB7 ${(n[o]?.targets||[]).length||0} target(s)`,kind:"alias",groupKey:"aliases",groupLabel:"Aliases"});for(let o of Array.isArray(e?.providers)?e.providers:[]){let a=String(o?.id||"").trim(),i=String(o?.name||a||"provider").trim()||"provider";for(let l of Array.isArray(o?.models)?o.models:[]){let s=String(l?.id||"").trim();if(!a||!s)continue;let c=Number.isFinite(l?.contextWindow)?Number(l.contextWindow):null;t.push({value:`${a}/${s}`,label:`${a}/${s}`,hint:c?`${i} \xB7 ${Ho(c)}`:i,kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:i})}}let r=new Set;return t.filter(o=>!o?.value||r.has(o.value)?!1:(r.add(o.value),!0))}function P5(e=""){let t=String(e||"").trim();if(!t)return{};let n=If(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function Ti(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...P5(o)}));return n}function U5(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function j5(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function vE(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return U5(e).map((r,o)=>{let a=r.options.map(i=>(0,Ou.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:j5(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,Ou.jsxs)(xl,{children:[(0,Ou.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}var Fs=B(xe(),1),SE=B(Bi(),1);var io=B(xe(),1);var V5="flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40";function F5({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1,previousCommittedValue:o=""}={}){let a=String(e??""),i=String(t??""),l=String(o??"");return n?{draftValue:i,hasLocalDraft:r,previousCommittedValue:a}:!r||a===i?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:a!==l?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:{draftValue:i,hasLocalDraft:!0,previousCommittedValue:a}}function H5({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1}={}){return String(n||r?t??"":e??"")}function $5({commitOnBlur:e=!1,draftValue:t="",hasLocalDraft:n=!1}={}){return!e||!n?null:String(t??"")}var Im=(0,io.forwardRef)(function({className:t,commitOnBlur:n=!1,value:r,onValueCommit:o,onValueChange:a,onChange:i,onFocus:l,onBlur:s,...c},d){let u=String(r??""),[f,p]=(0,io.useState)(u),[b,m]=(0,io.useState)(!1),[v,h]=(0,io.useState)(!1),g=(0,io.useRef)(u);return(0,io.useEffect)(()=>{let y=F5({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v,previousCommittedValue:g.current});g.current=y.previousCommittedValue,p(y.draftValue),h(y.hasLocalDraft)},[u,f,v,b]),(0,io.createElement)("input",{...c,ref:d,className:Q(V5,t),value:H5({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v}),onFocus:y=>{m(!0),l?.(y)},onChange:y=>{let x=y.target.value;p(x),h(!0),a?.(x,y),i?.(y)},onBlur:y=>{m(!1);let x=$5({commitOnBlur:n,draftValue:f,hasLocalDraft:v});x!==null&&o?.(x,y),s?.(y)}})});var K5=/^\d*$/;function xE(e){let t=String(e??""),n=K5.test(t);return{accepted:n,draftValue:n?t:"",shouldCommit:n&&t!=="",commitValue:n&&t!==""?t:""}}var be=B(te(),1);function G5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,be.jsx)("path",{d:"M8 12V4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,be.jsx)("path",{d:"M4.75 7.25 8 4l3.25 3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function q5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,be.jsx)("path",{d:"M8 4v8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,be.jsx)("path",{d:"M4.75 8.75 8 12l3.25-3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function W5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,be.jsx)("path",{d:"M2.5 10s3-5.5 7.5-5.5S17.5 10 17.5 10s-3 5.5-7.5 5.5S2.5 10 2.5 10Z"}),(0,be.jsx)("circle",{cx:"10",cy:"10",r:"2.5"})]})}function Y5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,be.jsx)("path",{d:"M8.15 4.85A8.5 8.5 0 0 1 10 4.5c4.5 0 7.5 5.5 7.5 5.5a12.4 12.4 0 0 1-1.67 2.28"}),(0,be.jsx)("path",{d:"M5.6 5.6A12.2 12.2 0 0 0 2.5 10s3 5.5 7.5 5.5a8.3 8.3 0 0 0 4.4-1.6"}),(0,be.jsx)("path",{d:"M8.23 8.23a2.5 2.5 0 0 0 3.54 3.54"}),(0,be.jsx)("path",{d:"M3 3l14 14"})]})}function Hs({value:e,onChange:t,onValueChange:n,placeholder:r,disabled:o,isEnvVar:a,buffered:i,commitOnBlur:l,onValueCommit:s,className:c,inputProps:d={},maskMode:u="password"}){let[f,p]=(0,Fs.useState)(!1),b=!a&&!f,m=b&&u!=="obscured-text"?"password":"text",v=b&&u==="obscured-text"?{...d?.style&&typeof d.style=="object"?d.style:{},WebkitTextSecurity:"disc"}:d?.style,h=i?{value:e||"",onValueChange:n,onValueCommit:s,commitOnBlur:l,type:m,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:Q("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:v,...d}:{value:e||"",onChange:t,type:m,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:Q("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:v,...d};return(0,be.jsxs)("div",{className:"flex",children:[i?(0,be.jsx)(Im,{...h}):(0,be.jsx)("input",{...h}),(0,be.jsx)("button",{type:"button",tabIndex:-1,onClick:()=>p(g=>!g),disabled:o,className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg rounded-l-none border border-l-0 border-input bg-background/80 text-muted-foreground transition hover:text-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50","aria-label":f?"Hide credential":"Show credential",children:f?(0,be.jsx)(Y5,{className:"h-4 w-4"}):(0,be.jsx)(W5,{className:"h-4 w-4"})})]})}function Oa({disabled:e=!1,label:t="Move up",onClick:n}){return(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,be.jsx)(G5,{className:"h-3.5 w-3.5"})})}function Sl({disabled:e=!1,label:t="Move down",onClick:n}){return(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,be.jsx)(q5,{className:"h-3.5 w-3.5"})})}function Sb({active:e=!1}){return e?(0,be.jsx)("span",{"aria-hidden":"true",className:"inline-flex h-2.5 w-2.5 rounded-full bg-emerald-500"}):null}function He({label:e,hint:t,className:n,children:r,stacked:o=!1,headerClassName:a,hintClassName:i,headerAction:l=null}){return(0,be.jsxs)("div",{className:Q("flex flex-col gap-2 text-sm",n),children:[(0,be.jsxs)("div",{className:Q("text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",o?"flex min-h-10 items-start justify-between gap-3":"flex items-center justify-between gap-2",a),children:[(0,be.jsxs)("div",{className:Q("min-w-0",o?"flex-1 space-y-1":"flex min-w-0 items-center gap-2"),children:[(0,be.jsx)("span",{children:e}),t?(0,be.jsx)("span",{className:Q("block normal-case tracking-normal text-[11px] text-muted-foreground/80",o?"leading-4":null,i),children:t}):null]}),l?(0,be.jsx)("div",{className:"shrink-0",children:l}):null]}),r]})}function zm({value:e,onValueChange:t,disabled:n=!1,allowEmptyCommit:r=!1,...o}){let a=String(e??""),[i,l]=(0,Fs.useState)(a);return(0,Fs.useEffect)(()=>{l(a)},[a]),(0,be.jsx)(it,{...o,value:i,inputMode:"numeric",disabled:n,onChange:s=>{let c=xE(s.target.value);c.accepted&&(l(c.draftValue),c.shouldCommit?t(c.commitValue):r&&c.draftValue===""&&t(""))},onBlur:()=>{l(s=>s!==""?s:r?(t(""),""):a)}})}function wE({label:e,hint:t,checked:n=!1,onCheckedChange:r,disabled:o=!1,className:a}){return(0,be.jsxs)("div",{className:Q("flex items-center justify-between gap-4 rounded-2xl border border-border/70 bg-background/80 px-4 py-3",a),children:[(0,be.jsxs)("div",{className:"min-w-0",children:[(0,be.jsx)("div",{className:"text-sm font-medium text-foreground",children:e}),t?(0,be.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:t}):null]}),(0,be.jsx)(Io,{checked:n,onCheckedChange:r,disabled:o,className:"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-60"})]})}function En({open:e=!1,title:t="",description:n="",onClose:r=()=>{},children:o,variant:a="dialog",headerActions:i=null,showCloseButton:l=!0,closeDisabled:s=!1,closeOnEscape:c=!0,closeOnBackdrop:d=!0,footer:u=null,contentClassName:f="",bodyClassName:p="",footerClassName:b=""}){if((0,Fs.useEffect)(()=>{if(!e||typeof window>"u")return;function h(g){g.key==="Escape"&&c&&r()}return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[c,e,r]),!e)return null;let m=a==="page",v=(0,be.jsx)("div",{className:Q("fixed inset-0 z-50 bg-slate-950/55 backdrop-blur-sm",m?"p-0":"flex items-center justify-center p-4"),onMouseDown:h=>{h.target===h.currentTarget&&d&&r()},children:(0,be.jsxs)("div",{className:Q("overflow-hidden border border-border/70 bg-card/95 shadow-2xl",m?"flex h-full w-full flex-col rounded-none border-x-0 border-y-0 bg-background/98":"flex max-h-[85vh] w-full max-w-3xl flex-col rounded-3xl",f),children:[(0,be.jsxs)("div",{className:Q("flex items-start justify-between gap-3 border-b border-border/70",m?"px-5 py-4 sm:px-6":"px-5 py-4"),children:[(0,be.jsxs)("div",{className:"min-w-0",children:[(0,be.jsx)("div",{className:"text-base font-semibold text-foreground",children:t}),n?(0,be.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:n}):null]}),(0,be.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[i,l?(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",onClick:r,disabled:s,children:"Close"}):null]})]}),(0,be.jsx)("div",{className:Q("overflow-y-auto",m?"min-h-0 flex-1 px-5 py-4 sm:px-6 sm:py-5":"min-h-0 flex-1 px-5 py-4",p),children:o}),u?(0,be.jsx)("div",{className:Q("border-t border-border/70 bg-background/96",m?"px-5 py-4 sm:px-6":"px-5 py-4",b),children:u}):null]})});return typeof document>"u"||!document.body?v:(0,SE.createPortal)(v,document.body)}function Pm({open:e=!1,anchorRef:t,preferredSide:n="bottom",desiredHeight:r=288,offset:o=4,className:a="",children:i,...l}){let s=Lm({open:e,anchorRef:t,preferredSide:n,desiredHeight:r,offset:o});return e?(0,be.jsx)("div",{className:Q("absolute left-0 right-0 z-30 overflow-y-auto rounded-xl border border-border/70 bg-popover shadow-lg",s.side==="top"?"bottom-full mb-1":"top-full mt-1",a),style:{maxHeight:`${Math.max(0,Math.floor(s.maxHeight||r))}px`},...l,children:i}):null}function AE({open:e=!1,onKeepEditing:t=()=>{},onDiscardAndClose:n=()=>{},onSaveAndClose:r=()=>{},saveDisabled:o=!1,dirtyLabels:a=[],details:i=""}){let l=a.length>1?`${a.slice(0,-1).join(", ")} and ${a[a.length-1]}`:a[0]||"this form";return(0,be.jsx)(En,{open:e,onClose:t,title:"Unsaved changes",description:`You have unsaved edits in ${l}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,be.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,be.jsx)(H,{type:"button",variant:"ghost",onClick:t,children:"Keep editing"}),(0,be.jsx)(H,{type:"button",variant:"outline",onClick:n,children:"Cancel + Close"}),(0,be.jsx)(H,{type:"button",onClick:()=>{r()},disabled:o,children:"Save + Close"})]}),children:(0,be.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,be.jsx)("div",{children:"Choose whether to save these edits before closing the modal."}),i?(0,be.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-amber-900",children:i}):null]})})}function CE({open:e=!1,failedModelIds:t=[],onKeepEditing:n=()=>{},onRemoveFailedAndClose:r=()=>{},removeDisabled:o=!1}){let a=t.length>1?`${t.length} failed models`:t[0]||"the failed model";return(0,be.jsx)(En,{open:e,onClose:n,title:"Failed model tests",description:`Some new models did not pass validation: ${a}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,be.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,be.jsx)(H,{type:"button",variant:"ghost",onClick:n,children:"Keep editing"}),(0,be.jsx)(H,{type:"button",variant:"outline",onClick:()=>{r()},disabled:o,children:"Remove failed + close"})]}),children:(0,be.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,be.jsx)("div",{children:"Successful new models are still kept in the draft. You can continue editing, or remove only the failed rows and close the modal."}),t.length>0?(0,be.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-rose-900",children:t.join(", ")}):null]})})}function Br(){return(0,be.jsx)("span",{className:"mr-2 inline-flex h-3.5 w-3.5 animate-spin rounded-full border-2 border-current border-r-transparent align-[-0.125em]"})}function RE({children:e,onClick:t,disabled:n=!1,title:r="",className:o=""}){return(0,be.jsx)("button",{type:"button",className:Q("inline-flex items-center rounded-full border border-border bg-background/70 px-2.5 py-1 text-[11px] font-medium tracking-wide text-muted-foreground transition hover:border-primary/35 hover:bg-primary/5 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",o),onClick:t,disabled:n,title:r,"aria-label":r||void 0,children:e})}var Le=B(te(),1);function Q5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("circle",{cx:"6.75",cy:"10",r:"3.25"}),(0,Le.jsx)("path",{d:"M10 10h6.5"}),(0,Le.jsx)("path",{d:"M13.5 10v2.25"}),(0,Le.jsx)("path",{d:"M15.75 10v1.5"})]})}function X5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M16.25 10a6.25 6.25 0 1 1-1.83-4.42"}),(0,Le.jsx)("path",{d:"M13.5 3.75h3v3"}),(0,Le.jsx)("path",{d:"M16.5 3.75 12.75 7.5"})]})}function J5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M7.25 5.75h-1.5A2.75 2.75 0 0 0 3 8.5v5.75A2.75 2.75 0 0 0 5.75 17h5.75a2.75 2.75 0 0 0 2.75-2.75v-1.5"}),(0,Le.jsx)("path",{d:"M10.5 9.5 17 3"}),(0,Le.jsx)("path",{d:"M12 3h5v5"})]})}function Z5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Le.jsx)("path",{d:"M11 3.5V7.5H15"})]})}function eB({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Le.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,Le.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,Le.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function tB({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a}){return(0,Le.jsxs)("button",{type:"button",className:"inline-flex h-9 min-w-0 max-w-full items-center gap-2 rounded-full border border-border/70 bg-background/90 px-3 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70 sm:max-w-[18rem]",onClick:o,disabled:r,"aria-label":a,title:r?a:t,children:[(0,Le.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Le.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:e}),(0,Le.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:t})]})}function nB({value:e,pending:t=!1,disabled:n=!1,rotateDisabled:r=!1,onCopy:o,onRotate:a}){return(0,Le.jsxs)("div",{className:"flex h-9 min-w-0 max-w-full items-stretch overflow-hidden rounded-full border border-border/70 bg-background/90 sm:max-w-[18rem]",children:[(0,Le.jsxs)("button",{type:"button",className:"inline-flex min-w-0 flex-1 items-center gap-2 rounded-l-full px-3 text-left transition hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:n,"aria-label":t?"Gateway key is still generating":"Copy gateway key",title:t?"Gateway key is still generating":"Copy gateway key",children:[(0,Le.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:(0,Le.jsx)(Q5,{className:"h-3.5 w-3.5"})}),(0,Le.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Gateway key"}),(0,Le.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:e})]}),(0,Le.jsx)("button",{type:"button",className:"inline-flex w-9 shrink-0 items-center justify-center rounded-r-full border-l border-border/70 text-muted-foreground transition hover:bg-accent hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",onClick:a,disabled:r,"aria-label":"Rotate gateway key",title:"Rotate gateway key",children:(0,Le.jsx)(X5,{className:"h-3.5 w-3.5"})})]})}function EE({endpointValue:e,endpointDisabled:t=!1,gatewayValue:n,gatewayPending:r=!1,gatewayDisabled:o=!1,rotateDisabled:a=!1,onCopyEndpoint:i,onCopyGatewayKey:l,onRotateKey:s}){return(0,Le.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,Le.jsx)(tB,{label:"Endpoint",value:e,icon:(0,Le.jsx)(J5,{className:"h-3.5 w-3.5"}),disabled:t,onClick:i,actionLabel:t?"API endpoint not ready yet":"Copy API endpoint"}),(0,Le.jsx)(nB,{value:n,pending:r,disabled:o,rotateDisabled:a,onCopy:l,onRotate:s})]})}function NE({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a="",emptyLabel:i="Not resolved"}){let l=String(t||"").trim()||i;return(0,Le.jsxs)("button",{type:"button",className:"inline-flex min-w-0 max-w-full items-start gap-2 rounded-2xl border border-border/70 bg-background/90 px-3 py-2 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:r,"aria-label":a,title:r?a:l,children:[(0,Le.jsx)("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Le.jsxs)("span",{className:"min-w-0",children:[(0,Le.jsx)("span",{className:"block text-[9px] font-semibold uppercase tracking-[0.12em] text-muted-foreground",children:e}),(0,Le.jsx)("span",{className:"mt-1 block break-all text-[11px] font-medium leading-4 text-foreground",children:l})]})]})}function wl({connected:e=!1,className:t,srLabel:n="Connected",size:r="sm"}){if(!e)return null;let o=r==="md"?"h-3.5 w-3.5":"h-2.5 w-2.5",a=r==="md"?"h-2 w-2":"h-1.5 w-1.5";return(0,Le.jsxs)("span",{className:Q("relative inline-flex shrink-0 items-center justify-center",o,t),children:[(0,Le.jsx)("span",{"aria-hidden":"true",className:"absolute inset-0 rounded-full bg-emerald-400/45 animate-ping motion-reduce:animate-none"}),(0,Le.jsx)("span",{"aria-hidden":"true",className:Q("relative rounded-full bg-emerald-500 ring-2 ring-emerald-500/15",a)}),(0,Le.jsx)("span",{className:"sr-only",children:n})]})}function Um({primaryLabel:e="Config file",primaryValue:t="",primaryIcon:n=(0,Le.jsx)(Z5,{className:"h-3 w-3"}),onOpenPrimary:r,secondaryLabel:o="Backup file",secondaryValue:a="",secondaryIcon:i=(0,Le.jsx)(eB,{className:"h-3 w-3"}),onOpenSecondary:l}){let s=String(t||"").trim(),c=String(a||"").trim();return(0,Le.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Le.jsx)(NE,{label:e,value:s,icon:n,disabled:!s||typeof r!="function",onClick:r,actionLabel:s?`Open ${e.toLowerCase()}`:`${e} path is not resolved yet`}),(0,Le.jsx)(NE,{label:o,value:c,icon:i,disabled:!c||typeof l!="function",onClick:l,actionLabel:c?`Open ${o.toLowerCase()}`:`${o} path is not resolved yet`})]})}var Yo=B(xe(),1);var ln=B(te(),1);function rB(e){return e==="error"?"Error":e==="success"?"Success":"Notice"}function oB({notice:e,onDismiss:t}){let[n,r]=(0,Yo.useState)(zf),[o,a]=(0,Yo.useState)(zf),[i,l]=(0,Yo.useState)(!1),s=(0,Yo.useRef)(null),c=(0,Yo.useRef)(0);(0,Yo.useEffect)(()=>{if(n<=0){t();return}if(i){s.current&&(clearTimeout(s.current),s.current=null);return}return c.current=Date.now(),s.current=setTimeout(()=>{s.current=null,t()},n),()=>{s.current&&(clearTimeout(s.current),s.current=null)}},[t,i,n]),(0,Yo.useEffect)(()=>{if(i||n<=0){a(n);return}let g=()=>{let x=c.current?Date.now()-c.current:0;a(Math.max(0,n-x))};g();let y=setInterval(g,uC);return()=>clearInterval(y)},[i,n]);function d(){if(i)return;s.current&&(clearTimeout(s.current),s.current=null);let g=c.current?Date.now()-c.current:0,y=Math.max(0,n-g);r(y),a(y),l(!0)}function u(){l(!1)}let f=e.tone==="error"?"border-rose-200 bg-rose-50 text-rose-800":e.tone==="success"?"border-emerald-200 bg-emerald-50 text-emerald-800":"border-amber-200 bg-amber-50 text-amber-800",p=9,b=2*Math.PI*p,m=Math.max(0,Math.min(1,o/zf)),v=b*(1-m),h=i?`Auto-dismiss paused with ${Math.max(0,o/1e3).toFixed(1)} seconds remaining`:`Auto-dismiss in ${Math.max(0,o/1e3).toFixed(1)} seconds`;return(0,ln.jsx)("div",{className:Q("pointer-events-auto rounded-2xl border px-4 py-3 text-sm shadow-lg backdrop-blur",f),onMouseEnter:d,onMouseLeave:u,onFocusCapture:d,onBlurCapture:g=>{g.currentTarget.contains(g.relatedTarget)||u()},role:e.tone==="error"?"alert":"status",children:(0,ln.jsxs)("div",{className:"min-w-0",children:[(0,ln.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,ln.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] opacity-75",children:rB(e.tone)}),(0,ln.jsxs)("div",{className:"relative mt-0.5 h-6 w-6 shrink-0 opacity-85","aria-label":h,title:h,children:[(0,ln.jsxs)("svg",{viewBox:"0 0 24 24",className:Q("h-6 w-6 -rotate-90",i?"opacity-70":"opacity-100"),"aria-hidden":"true",children:[(0,ln.jsx)("circle",{cx:"12",cy:"12",r:p,fill:"none",stroke:"currentColor",strokeOpacity:"0.18",strokeWidth:"2"}),(0,ln.jsx)("circle",{cx:"12",cy:"12",r:p,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:b,strokeDashoffset:v,className:"transition-[stroke-dashoffset,opacity] duration-100 ease-linear"})]}),(0,ln.jsx)("span",{className:Q("pointer-events-none absolute inset-0 flex items-center justify-center",i?"gap-[2px]":""),"aria-hidden":"true",children:i?(0,ln.jsxs)(ln.Fragment,{children:[(0,ln.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"}),(0,ln.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"})]}):(0,ln.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-current/75"})})]})]}),(0,ln.jsx)("div",{className:"mt-1 leading-6",children:e.message}),(0,ln.jsx)("div",{className:"mt-2 flex justify-end",children:(0,ln.jsx)("button",{className:"rounded-full border border-current/15 px-2.5 py-1 text-[11px] font-medium uppercase tracking-[0.16em] opacity-85 transition hover:border-current/30 hover:opacity-100",onClick:t,type:"button",children:"Dismiss"})})]})})}function wb({notices:e,onDismiss:t}){return!Array.isArray(e)||e.length===0?null:(0,ln.jsx)("div",{className:"pointer-events-none fixed inset-x-4 top-4 z-50 flex flex-col items-end gap-3","aria-live":"polite","aria-relevant":"additions text",children:e.map(n=>(0,ln.jsx)("div",{className:"w-full max-w-md",children:(0,ln.jsx)(oB,{notice:n,onDismiss:()=>t(n.id)})},n.id))})}var _a=B(xe(),1);var _n=B(xe(),1);var Zn=B(xe(),1);var ka=B(xe(),1);function $s(e=[]){let t=(0,ka.useRef)(new Map),n=(0,ka.useRef)(new Map),r=(0,ka.useRef)(new Map),o=(0,ka.useRef)(""),a=JSON.stringify(e);return(0,ka.useLayoutEffect)(()=>{let i=new Map;for(let d of e){let u=t.current.get(d);u&&i.set(d,u.getBoundingClientRect())}let l=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(o.current!==""&&o.current!==a&&!l)for(let d of e){let u=r.current.get(d),f=i.get(d),p=t.current.get(d);if(!u||!f||!p)continue;let b=u.top-f.top;Math.abs(b)<1||typeof p.animate!="function"||p.animate([{transform:`translateY(${b}px)`},{transform:"translateY(0)"}],{duration:220,easing:"cubic-bezier(0.22, 1, 0.36, 1)"})}let c=new Set(e);for(let d of n.current.keys())c.has(d)||n.current.delete(d);r.current=i,o.current=a},[a]),(0,ka.useMemo)(()=>i=>(n.current.has(i)||n.current.set(i,l=>{if(l){t.current.set(i,l);return}t.current.delete(i)}),n.current.get(i)),[])}var Rt=B(te(),1);function Ab({title:e,rows:t,onChange:n,options:r,disabled:o=!1,addLabel:a="Add target",emptyLabel:i="No targets configured.",helperText:l="Drag rows or use the arrow to change routing order.",helperAction:s=null,placeholder:c="provider/model or alias",draftPlaceholder:d="Add a new route",showDraftRow:u=!1,showDraftFocusButton:f=!1,showWeightInput:p=!1,filterOtherSelectedValues:b=!1,excludedValues:m=[]}){let v=(0,Zn.useRef)(0),h=(0,Zn.useRef)(""),g=(0,Zn.useRef)(null),y=(0,Zn.useRef)(new Map),x=(0,Zn.useRef)(0),A=(0,Zn.useRef)(0),[N,E]=(0,Zn.useState)(0),C=(0,Zn.useMemo)(()=>String(e||"targets").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"targets",[e]),O=`${C}-draft-row`,L=(0,Zn.useMemo)(()=>{let ne=(t||[]).filter(Ve=>String(Ve?.ref||"").trim());return u?[{key:O,ref:"",sourceRef:""},...ne]:ne},[t,u,O]),V=$s(L.map(ne=>ne.key)),z=(0,Zn.useMemo)(()=>yr(m),[m]),G=(0,Zn.useMemo)(()=>Ti(r,[...L.map(ne=>ne?.ref),...z]),[r,L,z]);(0,Zn.useEffect)(()=>()=>{typeof window<"u"&&x.current&&window.cancelAnimationFrame(x.current)},[]);function Z(ne,Ve){if(u&&ne===O){if(!String(Ve||"").trim())return;v.current+=1,n([{key:`${C}-draft-${v.current}`,ref:Ve,sourceRef:"",...p?{weight:"1"}:{}},...(t||[]).filter(ae=>String(ae?.ref||"").trim())]);return}n((t||[]).map(ae=>ae.key===ne?{...ae,ref:Ve}:ae))}function ue(ne,Ve){n((t||[]).map(ae=>ae.key===ne?{...ae,weight:Ve}:ae))}function q(ne){n((t||[]).filter(Ve=>Ve.key!==ne))}function oe(ne){n(Ts(t||[],ne,Ve=>Ve?.key))}function ee(ne){n(Kf(t||[],ne,Ve=>Ve?.key))}function W(){h.current="",Ea(g.current,!1),g.current=null}function j(){v.current+=1;let ne=new Set([...(t||[]).map(ae=>String(ae?.ref||"").trim()).filter(Boolean),...z]),Ve=G.find(ae=>!ne.has(ae.value))?.value||"";n([...t||[],{key:`${C}-draft-${v.current}`,ref:Ve,sourceRef:""}])}function Ie(){if(!u||o)return;let ne=y.current.get(O);if(!ne||typeof window>"u"){E(qe=>qe+1);return}A.current+=1;let Ve=A.current;x.current&&(window.cancelAnimationFrame(x.current),x.current=0),ne.scrollIntoView({block:"start",behavior:"smooth"});let ae=_m(ne),Se=my(ne,ae),ze=0,U=0,fe=90,ve=8,ke=6,we=.5,Ee=()=>{if(A.current!==Ve)return;let qe=y.current.get(O)||ne,We=my(qe,ae);if(!Number.isFinite(We.top)||!Number.isFinite(We.left)){x.current=0,E(nn=>nn+1);return}if(MC(Se,We,we)?ze+=1:ze=0,Se=We,U+=1,U>=ve&&ze>=ke||U>=fe){x.current=0,E(nn=>nn+1);return}x.current=window.requestAnimationFrame(Ee)};x.current=window.requestAnimationFrame(Ee)}return(0,Rt.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/55 p-4",children:[(0,Rt.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,Rt.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,Rt.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:e}),f&&u?(0,Rt.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-6 w-6 rounded-md p-0 text-muted-foreground hover:text-foreground",onMouseDown:ne=>ne.preventDefault(),onClick:Ie,disabled:o,"aria-label":a,title:a,children:(0,Rt.jsx)(bC,{className:"h-3.5 w-3.5"})}):null]}),(0,Rt.jsxs)("div",{className:"ml-auto flex max-w-full flex-wrap items-start justify-end gap-x-3 gap-y-2",children:[l?(0,Rt.jsx)("div",{className:"max-w-[34rem] text-right text-[11px] leading-4 text-muted-foreground",children:l}):null,u?null:(0,Rt.jsx)(H,{type:"button",variant:"ghost",onClick:j,disabled:o,children:a})]})]}),L.length>0?(0,Rt.jsx)("div",{className:"space-y-2",children:L.map((ne,Ve)=>{let ae=u&&ne.key===O,Se=ae?-1:(t||[]).findIndex(U=>U?.key===ne.key),ze=b?G.filter(U=>{let fe=String(U?.value||"").trim();return fe?fe===String(ne?.ref||"").trim()?!0:z.includes(fe)?!1:!(L||[]).some(ve=>ve?.key!==ne.key&&String(ve?.ref||"").trim()===fe):!1}):G;return(0,Rt.jsxs)("div",{ref:U=>{if(V(ne.key)(U),U){y.current.set(ne.key,U);return}y.current.delete(ne.key)},"data-reorder-row":"true",onDragOver:U=>{!o&&h.current&&h.current!==ne.key&&(U.preventDefault(),U.dataTransfer.dropEffect="move")},onDrop:U=>{if(o)return;U.preventDefault();let fe=U.dataTransfer.getData("text/plain")||h.current;W(),n($f(t||[],fe,ne.key))},className:Q(p?"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_10rem_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3":"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3",ae?"border-dashed bg-background/85":null),children:[(0,Rt.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",ae||o?"opacity-45":"cursor-grab"),draggable:!o&&!ae,onDragStart:U=>{if(o||ae)return;let fe=Ms(U.currentTarget);U.dataTransfer.effectAllowed="move",U.dataTransfer.setData("text/plain",ne.key),fe&&typeof U.dataTransfer?.setDragImage=="function"&&U.dataTransfer.setDragImage(fe,20,20),W(),h.current=ne.key,g.current=fe,Ea(fe,!0)},onDragEnd:W,title:ae?"New route draft row":"Drag to reorder",children:(0,Rt.jsx)(Ns,{className:"h-4 w-4"})}),(0,Rt.jsx)(Oa,{disabled:o||ae||Se<=0,label:ae||Se<=0?"Already first":`Move ${ne.ref||`target ${Se+1}`} up`,onClick:()=>oe(ne.key)}),(0,Rt.jsx)(Sl,{disabled:o||ae||Se===-1||Se>=(t||[]).length-1,label:ae||Se===-1||Se>=(t||[]).length-1?"Already last":`Move ${ne.ref||`target ${Se+1}`} down`,onClick:()=>ee(ne.key)}),(0,Rt.jsxs)("div",{className:"flex h-9 min-w-0 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",children:[(0,Rt.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model"}),(0,Rt.jsxs)(Xt,{value:ne.ref||void 0,onValueChange:U=>Z(ne.key,U),disabled:o,openSearchRequest:ae?N:0,children:[(0,Rt.jsx)(Jt,{className:"h-full min-w-0 flex-1 rounded-none border-0 bg-transparent px-3 shadow-none focus:border-transparent focus:ring-0",children:(0,Rt.jsx)(Zt,{placeholder:ae?d:c})}),(0,Rt.jsx)(en,{children:ze.length>0?vE(ze,{keyPrefix:`${e}-row-${ne.key}`}):(0,Rt.jsx)(Ct,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})]}),p?(0,Rt.jsxs)("div",{className:Q("flex h-9 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",ae?"opacity-45":null),children:[(0,Rt.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Weight"}),(0,Rt.jsx)(it,{value:ae?"":String(ne?.weight||"1"),onChange:U=>ue(ne.key,U.target.value),inputMode:"numeric",placeholder:"1",disabled:o||ae,className:"h-full min-w-0 rounded-none border-0 bg-transparent px-3 text-center shadow-none focus:border-transparent focus:ring-0","aria-label":ae?"Weight for new target":`Weight for ${ne.ref||`target ${Ve+1}`}`})]}):null,ae?(0,Rt.jsx)(H,{type:"button",variant:"ghost",className:Q(Rs,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"}):(0,Rt.jsx)(H,{type:"button",variant:"ghost",className:Rs,onMouseDown:U=>U.preventDefault(),onClick:()=>q(ne.key),disabled:o,children:"Remove"})]},ne.key)})}):(0,Rt.jsx)("div",{className:"rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:i}),s?(0,Rt.jsx)("div",{className:"flex min-h-8 items-center justify-end",children:s}):null]})}var Al=B(xe(),1);var se=B(te(),1);function aB(e,t){let n=Math.abs(Number(e)||0),r=Math.abs(Number(t)||0);for(;r!==0;){let o=n%r;n=r,r=o}return n||1}function iB(e=[]){return!Array.isArray(e)||e.length===0?1:e.reduce((t,n)=>aB(t,n),0)||1}function lB(e,t){let n=String(e||"").trim();if(!n)return"Unconfigured route";let r=t.get(n);if(!r)return n;let o=String(r.label||n).trim()||n,a=String(r.hint||"").trim();return a&&a!==o?`${o} \xB7 ${a}`:o}function TE(e,t,n=[]){let r=new Map((n||[]).map(l=>[String(l?.value||"").trim(),l]).filter(([l])=>!!l)),o=new Map((Array.isArray(t?.targets)?t.targets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l)),a=new Map((Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l));function i(l,s,c){return(l||[]).map((d,u)=>{let f=String(d?.ref||"").trim(),p=String(d?.sourceRef||d?.ref||"").trim(),b=c.get(p)||c.get(f)||{},m=Number(d?.weight??b?.weight),v=Number.isFinite(m)&&m>0?Math.floor(m):1;return{key:`${s}-${f||"empty"}-${u}`,ref:f,label:lB(f,r),bucket:s,weight:v}}).filter(d=>!!d.ref)}return[...i(e?.targets,"primary",o),...i(e?.fallbackTargets,"fallback",a)]}function sB(e=[],t=8){if(!Array.isArray(e)||e.length===0)return[];let n=e.map(l=>Math.max(1,Number(l?.weight)||1)),r=iB(n),o=n.map(l=>Math.max(1,Math.floor(l/r))),a=o.reduce((l,s)=>l+s,0);if(a>24){let l=a/24;o=o.map(s=>Math.max(1,Math.round(s/l))),a=o.reduce((s,c)=>s+c,0)}let i=[];for(let l=0;l<e.length;l+=1)for(let s=0;s<o[l];s+=1)i.push(e[l]);return Array.from({length:Math.max(e.length,t)},(l,s)=>i[s%i.length])}function cB(e,t=[]){let n=Gf(e),r=qf(n),o=Array.isArray(t)?t.filter(Boolean):[],i=o.some(l=>l.bucket==="fallback")?"Runtime builds the candidate pool as all primary targets first, then all fallback targets.":"Runtime builds the candidate pool from the primary target list only.";if(n==="round-robin"){let l=o.length>0?Array.from({length:Math.max(o.length,8)},(s,c)=>o[c%o.length]):[];return{strategyLabel:r,summary:"Each new request starts from the next candidate in the current pool, then wraps around.",poolNote:`${i} Round-robin rotates across that combined eligible list.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:l,footnote:"If a candidate is unhealthy or quota-blocked, it is skipped and the next eligible candidate is chosen."}}if(n==="weighted-rr"||n==="quota-aware-weighted-rr"||n==="auto"){let l=n==="auto",s=sB(o,8);return{strategyLabel:r,summary:l?"`auto` normalizes to quota-aware weighted round-robin in the runtime balancer.":n==="quota-aware-weighted-rr"?"Candidates rotate like weighted round-robin, but low remaining quota or poor health lowers their share.":"Candidates repeat in proportion to their configured weights.",poolNote:`${i} This strategy ranks across the full eligible pool after it is built.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:s,footnote:l||n==="quota-aware-weighted-rr"?"When all quotas and health scores are equal, the rotation looks like the weighted example below. Low remaining capacity or retryable failures push a target later.":"Weights come from the existing alias target metadata when present. Targets without a stored weight behave as weight 1."}}return{strategyLabel:r,summary:"Requests try candidates in the configured list order and only move to later candidates when earlier ones are unavailable or fail.",poolNote:`${i} Ordered keeps that exact sequence.`,sequenceLabel:"Attempt order",sequenceEntries:o,footnote:"This is the most predictable option when you want a strict preference order."}}function ME({open:e=!1,onClose:t=()=>{},onSave:n=()=>{},aliasLabel:r="",initialStrategy:o="auto",entries:a=[],disabled:i=!1}){let l=Gf(o),[s,c]=(0,Al.useState)(l),[d,u]=(0,Al.useState)(!1);(0,Al.useEffect)(()=>{e&&(c(l),u(!1))},[e,l,r]);async function f(){if(!(i||d)){u(!0);try{await n(s)!==!1&&t()}finally{u(!1)}}}return(0,se.jsx)(En,{open:e,onClose:t,title:r?`Choose strategy \xB7 ${r}`:"Choose strategy",description:"Review each routing strategy in its own tab. Save applies the currently selected tab to this alias.",showCloseButton:!1,footer:(0,se.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,se.jsx)(H,{type:"button",variant:"ghost",onClick:t,disabled:d,children:"Cancel"}),(0,se.jsx)(H,{type:"button",onClick:()=>{f()},disabled:i||d,children:d?"Saving\u2026":"Save strategy"})]}),children:(0,se.jsxs)(bi,{value:s,onValueChange:c,children:[(0,se.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,se.jsx)(vi,{className:"h-auto min-w-max flex-wrap justify-start gap-2 rounded-2xl bg-secondary/80 p-2",children:Pf.map(p=>(0,se.jsx)(Gn,{value:p.value,className:"h-auto min-h-10 rounded-xl px-4 py-2",children:p.label},p.value))})}),Pf.map(p=>{let b=cB(p.value,a),m=(b.sequenceEntries||[]).filter(Boolean);return(0,se.jsx)(qn,{value:p.value,className:"mt-4",children:(0,se.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.15fr)_minmax(320px,0.85fr)]",children:[(0,se.jsxs)("div",{className:"space-y-4",children:[(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"outline",children:b.strategyLabel}),(0,se.jsxs)(_e,{variant:"info",children:[a.length," candidate",a.length===1?"":"s"]})]}),(0,se.jsxs)("div",{className:"mt-4 space-y-3 text-sm leading-6 text-foreground",children:[(0,se.jsx)("p",{children:b.summary}),(0,se.jsx)("p",{className:"text-muted-foreground",children:b.poolNote})]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:b.sequenceLabel}),m.length>0?(0,se.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:m.map((v,h)=>(0,se.jsxs)("div",{className:"rounded-full border border-border/70 bg-card/90 px-3 py-1.5 text-sm text-foreground",children:[(0,se.jsx)("span",{className:"mr-2 text-xs text-muted-foreground",children:h+1}),(0,se.jsx)("span",{children:v.label})]},`${v.key}-sequence-${h}`))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"Add at least one target to preview how this strategy would route requests."}),(0,se.jsx)("div",{className:"mt-4 text-sm leading-6 text-muted-foreground",children:b.footnote})]})]}),(0,se.jsx)("div",{className:"space-y-4",children:(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current setup"}),r?(0,se.jsx)(_e,{variant:"outline",children:r}):null]}),a.length>0?(0,se.jsx)("div",{className:"mt-4 space-y-2",children:a.map(v=>(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2 rounded-xl border border-border/70 bg-card/90 px-3 py-2 text-sm",children:[(0,se.jsx)(_e,{variant:v.bucket==="primary"?"info":"outline",children:v.bucket}),(0,se.jsx)("span",{className:"font-medium text-foreground",children:v.label}),(0,se.jsxs)("span",{className:"text-xs text-muted-foreground",children:["weight ",v.weight]})]},v.key))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"This alias does not have any targets yet."})]})})]})},p.value)})]})})}function OE({open:e=!1,onClose:t=()=>{},config:n={}}){let r=(0,Al.useMemo)(()=>h1(n),[n]);return(0,se.jsx)(En,{open:e,onClose:t,title:"Alias guide",description:"Aliases give clients one stable route while letting LLM Router swap, balance, and fail over across provider/model targets behind that route.",contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,se.jsxs)("div",{className:"space-y-4",children:[(0,se.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Stable route"}),(0,se.jsxs)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:["Expose one alias like ",(0,se.jsx)("code",{children:"coding"})," or ",(0,se.jsx)("code",{children:"gpt-5.4"})," to clients, then retarget the alias later without touching client config."]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Selection strategy"}),(0,se.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"The alias strategy controls how LLM Router picks from the configured targets. Ordered is strict preference; the other strategies distribute traffic when multiple targets are healthy."})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Fallback behavior"}),(0,se.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"If one target is unavailable or rate limited, LLM Router can continue to later candidates in the same alias instead of failing the whole request immediately."})]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"warning",children:"Important"}),(0,se.jsx)("div",{className:"text-sm font-medium text-amber-950",children:"Mixed context windows inside one alias can change behavior."})]}),(0,se.jsxs)("div",{className:"mt-3 text-sm leading-6 text-amber-900",children:["If an alias mixes models with different context windows, requests that fit the larger model may still fail on the smaller model. For example, an alias that includes both a ",(0,se.jsx)("code",{children:"258K"})," model and a ",(0,se.jsx)("code",{children:"128K"})," model can still fail when routing lands on the smaller target. Keep aliases aligned by context size when you expect long histories or large prompts."]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,se.jsxs)("div",{children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current config check"}),(0,se.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Aliases below currently mix different configured model context windows."})]}),(0,se.jsx)(_e,{variant:r.length>0?"warning":"success",children:r.length>0?`${r.length} alias${r.length===1?"":"es"} need review`:"No mixed context windows detected"})]}),r.length>0?(0,se.jsx)("div",{className:"mt-4 space-y-3",children:r.map(o=>(0,se.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50/70 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"outline",children:o.aliasId}),(0,se.jsxs)("div",{className:"text-sm font-medium text-amber-950",children:["Smallest target: ",Ho(o.smallestContextWindow),". Largest target: ",Ho(o.largestContextWindow),"."]})]}),(0,se.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[o.models.map(a=>(0,se.jsxs)("div",{className:"rounded-full border border-amber-200 bg-background/90 px-3 py-1.5 text-sm text-foreground",children:[a.ref," \xB7 ",Ho(a.contextWindow)]},a.ref)),o.unknownRefs.map(a=>(0,se.jsxs)("div",{className:"rounded-full border border-dashed border-amber-300 bg-background/70 px-3 py-1.5 text-sm text-muted-foreground",children:[a," \xB7 context unknown"]},a))]})]},o.aliasId))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"No alias currently mixes known context-window sizes across its configured targets."})]})]})})}var Me=B(te(),1),uB=500;function Mi(e=[]){return(e||[]).map(t=>({ref:String(t?.ref||"").trim(),weight:String(t?.weight||"1").trim()}))}function Cb({aliasId:e,alias:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:i=!1,disabledReason:l="",busy:s=!1,onApply:c,onRemove:d,onCopyAliasId:u=()=>{},isNew:f=!1,alwaysShowAliasIdInput:p=!1,showIssueOnSubmitOnly:b=!1,onDiscard:m=()=>{},onOpenStrategyModal:v=()=>{},titleAccessory:h=null,aliasSwitcher:g=null,framed:y=!0}){let x=_C(e,t,{isNew:f}),A=(0,_n.useMemo)(()=>nC(f?"":e,t),[x]),[N,E]=(0,_n.useState)(A),[C,O]=(0,_n.useState)(f),[L,V]=(0,_n.useState)(!1),z=(0,_n.useRef)(null),G=(0,_n.useRef)(0),Z=(0,_n.useRef)(""),[ue,q]=(0,_n.useState)("idle");(0,_n.useEffect)(()=>{E(A),O(f),V(!1),q("idle"),Z.current=""},[A,f]);let oe=!f&&Array.isArray(g?.entries)&&g.entries.length>1,ee=p||C;(0,_n.useEffect)(()=>{if(!ee)return;let M=typeof window<"u"?window.requestAnimationFrame(()=>{z.current?.focus(),z.current?.select?.()}):0;return()=>{typeof window<"u"&&window.cancelAnimationFrame(M)}},[ee]);let W=String(N?.id||"").trim(),j=e===Mt||W===Mt,Ie=(0,_n.useMemo)(()=>Ti((r||[]).filter(M=>M.kind!=="alias"&&M.value!==W&&M.value!==`alias:${W}`),[...(N?.targets||[]).map(M=>M?.ref),...(N?.fallbackTargets||[]).map(M=>M?.ref)]),[r,W,N?.targets,N?.fallbackTargets]),ne=(N?.targets||[]).map(M=>String(M?.ref||"").trim()),Ve=(N?.fallbackTargets||[]).map(M=>String(M?.ref||"").trim()),ae=[...ne,...Ve],Se=[...N?.targets||[],...N?.fallbackTargets||[]],ze=Se.some(M=>!String(M?.ref||"").trim()),U=Os(ae),fe=Se.some(M=>{if(!String(M?.ref||"").trim())return!1;let F=Math.floor(Number(M?.weight));return!Number.isFinite(F)||F<=0}),ve=W&&n.some(M=>M!==e&&M===W),ke=W&&ae.some(M=>M===W||M===`alias:${W}`),we=ae.filter(Boolean).length>0,Ee=JSON.stringify({id:A.id,strategy:A.strategy,targets:Mi(A.targets),fallbackTargets:Mi(A.fallbackTargets)}),qe=JSON.stringify({id:W,strategy:N?.strategy,targets:Mi(N?.targets),fallbackTargets:Mi(N?.fallbackTargets)}),We=JSON.stringify({targets:Mi(A.targets),fallbackTargets:Mi(A.fallbackTargets)}),nn=JSON.stringify({targets:Mi(N?.targets),fallbackTargets:Mi(N?.fallbackTargets)}),Dn=Ee!==qe,cn=W?fC.test(W)?ve?"Alias id already exists. Choose another id.":ze?"Fill or remove blank target rows before applying.":U?"Duplicate targets are not allowed anywhere in this alias.":fe?"Target weights must be positive integers.":ke?"An alias cannot target itself.":"":"Alias id must start with a letter or number and use letters, numbers, dots, underscores, colons, or hyphens.":"Alias id is required.",xt=i?l:cn,ht=i?l:b&&cn&&!L?"":cn,yt=i||s,Ue=String(W||e||"").trim(),It=Ue||"Select alias",Wt=yt||j||f,pn=j?"Default alias cannot be removed":`Remove alias ${Ue||e}`,wr=(0,_n.useMemo)(()=>nm(It),[It]),Te=j||o===e||o===W,et=a===e||a===W,ft=f?"Enter alias name. Example: claude-opus":void 0,lo=(0,_n.useMemo)(()=>TE(N,t,r),[N,t,r]);async function St(){if(V(!0),xt)return!1;let M=await c(e,N);return M&&f&&m(e),M}async function Re(M){let F={...N,strategy:M};return await c(e,F)?f?(m(e),!0):(E(F),!0):!1}async function gn(){if(V(!0),xt)return!1;let M=await c(e,N);return M&&(O(!1),V(!1)),M}function k(){if(p)return;if(!oe){O(!1);return}let M=String(e||"").trim(),F=String(N?.id||"").trim();if(!F||F===M){E(ce=>({...ce,id:M})),O(!1),V(!1);return}gn()}function me(M){if(M.key==="Escape"){M.preventDefault(),E(F=>({...F,id:A.id})),O(!1),V(!1);return}!p&&M.key==="Enter"&&(M.preventDefault(),M.currentTarget.blur())}async function re(){if(ee){let M=String(e||"").trim(),F=String(N?.id||"").trim();if(!F||F===M){E(ce=>({...ce,id:M})),O(!1),V(!1);return}await gn();return}O(!0)}(0,_n.useEffect)(()=>()=>{typeof window<"u"&&G.current&&window.clearTimeout(G.current)},[]),(0,_n.useEffect)(()=>{if(f||yt||xt||nn===We){typeof window<"u"&&G.current&&(window.clearTimeout(G.current),G.current=0),!f&&nn===We&&ue!=="saving"&&q("idle");return}if(!(Z.current===nn&&ue==="error")&&(q("pending"),!(typeof window>"u")))return G.current=window.setTimeout(()=>{G.current=0,Z.current=nn,q("saving"),c(e,N,{showSuccessNotice:!1,successMessage:""}).then(M=>{q(M?"saved":"error")})},uB),()=>{G.current&&(window.clearTimeout(G.current),G.current=0)}},[e,nn,N,We,f,xt,yt,c]);let Pe=f?"":ue==="saving"?"Saving alias changes\u2026":ue==="pending"?"Changes save automatically.":ue==="saved"?"Alias changes saved.":ue==="error"?"Autosave failed. Keep editing to retry.":"Changes save automatically.",T=(0,Me.jsxs)("div",{className:"space-y-4",children:[(0,Me.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,Me.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,Me.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:oe?(0,Me.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,Me.jsxs)("div",{className:Q("flex h-9 min-w-0 max-w-full overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",ee?"flex-1":"w-fit"),children:[(0,Me.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Select an alias"}),ee?(0,Me.jsx)(it,{ref:z,value:N.id,placeholder:ft,onChange:M=>E(F=>({...F,id:M.target.value})),onBlur:k,onKeyDown:me,disabled:yt||j,className:"h-full min-w-[12rem] flex-1 rounded-none border-0 bg-transparent px-3 text-sm font-medium shadow-none focus:border-transparent focus:ring-0"}):(0,Me.jsxs)(Xt,{value:g.value||void 0,onValueChange:g.onValueChange,children:[(0,Me.jsx)(Jt,{className:"h-full min-w-[10rem] flex-none rounded-none border-0 bg-transparent px-3 pr-[50px] text-left text-sm font-medium shadow-none focus:border-transparent focus:ring-0",style:{width:`${wr}px`,maxWidth:"100%"},children:(0,Me.jsx)(Zt,{placeholder:"Select alias"})}),(0,Me.jsx)(en,{children:g.entries.map(([M,F])=>(0,Me.jsx)(Ct,{value:M,searchText:`${M} ${(F?.targets||[]).length} ${(F?.fallbackTargets||[]).length}`,children:M},M))})]}),ee?null:(0,Me.jsx)("button",{type:"button",className:"flex h-full w-10 shrink-0 items-center justify-center border-l border-border/70 text-muted-foreground transition hover:bg-accent/60 hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/60 disabled:cursor-not-allowed disabled:opacity-60",onClick:()=>{u(Ue)},disabled:yt||!Ue,"aria-label":`Copy alias id ${Ue}`,title:Ue?`Copy alias id ${Ue}`:"Alias id is not ready yet",children:(0,Me.jsx)(Vf,{className:"h-4 w-4 shrink-0"})})]}),(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:bg-background/90 hover:text-foreground",onMouseDown:M=>{ee&&M.preventDefault()},onClick:()=>{re()},disabled:yt||j,"aria-label":ee?"Save alias id":j?"Default alias id cannot be edited":"Edit alias id",title:ee?"Save alias id":j?"Default alias id cannot be edited":"Edit alias id",children:ee?(0,Me.jsx)(RC,{className:"h-4 w-4 shrink-0"}):(0,Me.jsx)(Es,{className:"h-4 w-4 shrink-0"})}),f?null:(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:Wt,"aria-label":pn,title:pn,children:(0,Me.jsx)(lu,{className:"h-4 w-4 shrink-0"})})]}):(0,Me.jsxs)(Me.Fragment,{children:[ee?(0,Me.jsx)(it,{ref:z,autoFocus:f,value:N.id,placeholder:ft,onChange:M=>E(F=>({...F,id:M.target.value})),onBlur:k,onKeyDown:me,disabled:yt||j&&!f,className:"max-w-[22rem] font-semibold"}):j&&!f?(0,Me.jsx)("div",{className:"truncate text-base font-semibold text-foreground",children:e}):(0,Me.jsxs)("button",{type:"button",className:"group inline-flex max-w-full items-center gap-2 rounded-lg text-left text-base font-semibold text-foreground transition hover:bg-primary/5 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",onClick:()=>O(!0),disabled:yt,"aria-label":"Edit alias id",title:"Edit alias id",children:[(0,Me.jsx)("span",{className:"truncate",children:f?W||"New alias":W||e}),(0,Me.jsx)(Es,{className:"h-4 w-4 shrink-0"})]}),h?(0,Me.jsx)("div",{className:"min-w-[11rem] max-w-full",children:h}):null]})}),j?null:(0,Me.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[Te?(0,Me.jsx)(_e,{variant:"success",children:"Default route"}):null,et?(0,Me.jsx)(_e,{variant:"info",children:"AMP default"}):null]})]}),(0,Me.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,Me.jsxs)(H,{type:"button",variant:"outline",size:"default",className:"group h-9 gap-0 overflow-hidden rounded-lg border-border/70 bg-background/70 px-0 text-sm font-medium normal-case tracking-normal shadow-none hover:bg-background/90",onClick:()=>v({aliasLabel:W||(f?"New alias":e),strategy:N?.strategy||"auto",entries:lo,disabled:yt||!!xt,onSave:Re}),disabled:yt,children:[(0,Me.jsx)("span",{className:"flex h-full shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing stratergy"}),(0,Me.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2 px-3 text-left",children:[(0,Me.jsx)("span",{className:"truncate",children:qf(N.strategy||"auto")}),(0,Me.jsx)(Es,{className:"h-4 w-4 shrink-0"})]})]}),!oe&&!f?(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:Wt,"aria-label":pn,title:pn,children:(0,Me.jsx)(lu,{className:"h-4 w-4 shrink-0"})}):null]})]}),(0,Me.jsx)(Ab,{title:"Primary targets",rows:N.targets,onChange:M=>E(F=>({...F,targets:M})),options:Ie,disabled:yt,addLabel:"Add target",emptyLabel:"No targets yet. This alias can stay empty until you wire routes back in.",helperText:"Primary targets are tried first. Drag to reorder targets. Weights and metadata stay with the same ref.",draftPlaceholder:"Add a new target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:Ve}),(0,Me.jsx)(Ab,{title:"Fallback targets",rows:N.fallbackTargets,onChange:M=>E(F=>({...F,fallbackTargets:M})),options:Ie,disabled:yt,addLabel:"Add fallback",emptyLabel:"No fallback targets configured.",helperText:"Fallback targets only enter the candidate pool after the full primary list. Weights still apply within the chosen routing strategy.",draftPlaceholder:"Add a fallback target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:ne}),ht?null:(0,Me.jsx)("div",{className:"text-xs text-muted-foreground",children:Pe}),ht?(0,Me.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:ht}):null,!ht&&j&&!we?(0,Me.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:["The fixed ",(0,Me.jsx)("code",{children:"default"})," route is empty. Requests routed to ",(0,Me.jsx)("code",{children:"default"})," or ",(0,Me.jsx)("code",{children:"smart"})," will return 500 until you add a working target."]}):null,f?(0,Me.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,Me.jsx)("div",{children:(0,Me.jsx)(H,{type:"button",variant:"ghost",onClick:()=>m(e),disabled:yt,children:"Discard"})}),(0,Me.jsx)("div",{className:"flex flex-wrap justify-end gap-2",children:(0,Me.jsx)(H,{type:"button",onClick:()=>{St()},disabled:yt||!!xt,children:s?"Saving\u2026":"Create alias"})})]}):null]});return y?(0,Me.jsx)(Lt,{children:(0,Me.jsx)(Dt,{className:"space-y-4 p-5",children:T})}):T}var sn=B(te(),1);function kE({aliases:e,config:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabledReason:i="",busy:l=!1,onApplyAlias:s,onRemoveAlias:c,onCopyAliasId:d}){let u=Object.entries(e||{}),f=!!i,[p,b]=(0,_a.useState)(""),[m,v]=(0,_a.useState)(!1),[h,g]=(0,_a.useState)(""),y=(0,_a.useMemo)(()=>kC(),[]),[x,A]=(0,_a.useState)({open:!1,aliasLabel:"",strategy:"auto",entries:[],disabled:!1,onSave:null});function N(){f||l||b(`draft-${Date.now()}`)}function E(q){(!q||q===p)&&b("")}function C(){b("")}function O({aliasLabel:q="",strategy:oe="auto",entries:ee=[],disabled:W=!1,onSave:j=null}){A({open:!0,aliasLabel:q,strategy:oe,entries:ee,disabled:W,onSave:j})}function L(){A(q=>({...q,open:!1}))}async function V(q,oe,ee={}){let W=await s(q,oe,ee);if(W){let j=String(oe?.id||q||"").trim()||q;g(j)}return W}(0,_a.useEffect)(()=>{let q=u.map(([oe])=>oe);if(q.length===0){h&&g("");return}(!h||!q.includes(h))&&g(q[0])},[u,h]);let z=u.find(([q])=>q===h)||u[0]||null,G=z?.[0]||"",Z=z?.[1]||null,ue=u.length>1?{value:G,onValueChange:g,entries:u}:null;return(0,sn.jsxs)(sn.Fragment,{children:[(0,sn.jsxs)(Lt,{children:[(0,sn.jsx)(Jr,{children:(0,sn.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,sn.jsx)("div",{className:"space-y-1",children:(0,sn.jsx)(pi,{children:"Model aliases give clients one stable route across multiple provider/models, so you can swap, balance, and fail over without changing client config."})}),(0,sn.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,sn.jsx)(H,{type:"button",variant:"outline",size:"sm",onClick:()=>v(!0),children:"Help"}),(0,sn.jsx)(H,{type:"button",size:"sm",onClick:N,disabled:f||l,children:l?"Saving\u2026":"Add alias"})]})]})}),(0,sn.jsxs)(Dt,{className:"space-y-4",children:[f?(0,sn.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:i}):null,u.length>0?G&&Z?(0,sn.jsx)(Cb,{aliasId:G,alias:Z,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:V,onRemove:c,onCopyAliasId:d,onOpenStrategyModal:O,aliasSwitcher:ue,framed:!1},G):null:(0,sn.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No model aliases yet. Add one to expose stable routes like ",(0,sn.jsx)("code",{children:"coding"})," or ",(0,sn.jsx)("code",{children:"chat.fast"})," in the Web UI."]})]})]}),(0,sn.jsx)(En,{open:!!p,onClose:C,title:"Add alias",description:"Set a stable client-facing route, choose its strategy, and order the targets it should use.",showCloseButton:!1,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:p?(0,sn.jsx)(Cb,{aliasId:p,alias:y,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:V,onRemove:c,onCopyAliasId:d,isNew:!0,alwaysShowAliasIdInput:!0,showIssueOnSubmitOnly:!0,onDiscard:E,onOpenStrategyModal:O,framed:!1},p):null}),(0,sn.jsx)(ME,{open:x.open,onClose:L,onSave:q=>x.onSave?.(q),aliasLabel:x.aliasLabel,initialStrategy:x.strategy,entries:x.entries,disabled:x.disabled}),(0,sn.jsx)(OE,{open:m,onClose:()=>v(!1),config:t})]})}var tn=B(xe(),1);var Cl=B(xe(),1);var Ir=B(te(),1);function ku({values:e,onChange:t,placeholder:n,helperText:r,inputRef:o=null,inputClassName:a="",suggestedValues:i=[],valueStates:l={},draftValue:s="",onDraftValueChange:c=()=>{},commitOnBlur:d=!1,disabled:u=!1,isValueValid:f=b=>!!String(b||"").trim(),inputProps:p={}}){let b=(0,Cl.useMemo)(()=>yr(e),[e]),[m,v]=(0,Cl.useState)(""),[h,g]=(0,Cl.useState)("");function y(C=s,{clearDraft:O=!0}={}){if(u)return!1;let L=Hf(C).filter(z=>f(z));if(L.length===0)return O&&c(""),!1;let V=Array.from(new Set([...b||[],...L]));return JSON.stringify(V)!==JSON.stringify(b||[])&&t(V),O&&c(""),!0}function x(C){u||(t(b.filter(O=>O!==C)),m===C&&(v(""),g("")))}function A(){u||i.length&&(t(Array.from(new Set([...b||[],...i]))),c(""))}function N(C){u||(v(C),g(C))}function E(C=h){if(u)return v(""),g(""),!1;if(!m)return!1;let O=Hf(C).filter(G=>f(G)),L=[],V=!1;for(let G of b||[]){if(G!==m){L.push(G);continue}V||(L.push(...O),V=!0)}let z=Array.from(new Set(L.map(G=>String(G||"").trim()).filter(Boolean)));return JSON.stringify(z)!==JSON.stringify(b||[])&&t(z),v(""),g(""),O.length>0}return(0,Cl.useEffect)(()=>{!u||!m||(v(""),g(""))},[u,m]),(0,Ir.jsxs)("div",{className:"space-y-2",children:[(0,Ir.jsxs)("div",{className:Q("flex min-h-11 flex-wrap items-center gap-2 rounded-xl border border-input bg-background/80 px-3 py-2",u?"opacity-80":null),children:[b.map(C=>{let O=l?.[C]||"default",L=O==="success"?"border-emerald-200 bg-emerald-50 text-emerald-900":O==="error"?"border-rose-200 bg-rose-50 text-rose-900":O==="pending"?"border-sky-200 bg-sky-50 text-sky-900":"border-border bg-secondary text-foreground",V=!u&&m===C;return(0,Ir.jsxs)("span",{className:Q("inline-flex max-w-full items-center gap-1 rounded-full border px-2.5 py-1 text-xs",L),children:[V?(0,Ir.jsx)("input",{autoFocus:!0,className:"min-w-[7rem] bg-transparent text-xs text-foreground outline-none",value:h,onChange:z=>g(z.target.value),onKeyDown:z=>{if(z.key==="Enter"||z.key==="Tab"){z.preventDefault(),E();return}z.key==="Escape"&&(z.preventDefault(),v(""),g(""))},onBlur:()=>{E()}}):(0,Ir.jsx)("button",{className:"max-w-[16rem] truncate text-left transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",type:"button",onMouseDown:z=>z.preventDefault(),onClick:()=>N(C),disabled:u,title:"Click to edit",children:C}),(0,Ir.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:z=>z.preventDefault(),onClick:()=>x(C),disabled:u,children:"\xD7"})]},C)}),(0,Ir.jsx)("input",{...p,ref:o,className:Q("min-w-[10rem] flex-1 bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-70",a),value:s,disabled:u,onChange:C=>{let O=C.target.value;if(/[\s,]/.test(O)){let L=O.split(/[\s,]+/),V=L.pop()||"";L.length>0&&y(L.join(","),{clearDraft:!1}),c(V);return}c(O)},onKeyDown:C=>{if((C.key===","||C.key===" "||C.key==="Enter"||C.key==="Tab")&&s.trim()){C.preventDefault(),y();return}C.key==="Backspace"&&!s&&b.length>0&&(C.preventDefault(),x(b[b.length-1]))},onPaste:C=>{let O=C.clipboardData?.getData("text")||"";if(/[\s,]/.test(O)){C.preventDefault();let L=O.split(/[\s,]+/).filter(Boolean).filter(V=>f(V));L.length>0&&(t(Array.from(new Set([...b||[],...L]))),c(""));return}C.preventDefault(),c(`${s}${O}`)},onBlur:()=>{if(d&&f(s)){y(s);return}c(s)},placeholder:n}),b.length>0||s?(0,Ir.jsx)("button",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:C=>C.preventDefault(),onClick:()=>{t([]),c("")},disabled:u,children:"Clear all"}):null]}),(0,Ir.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[r?(0,Ir.jsx)("span",{children:r}):null,b.length===0&&i.length>0?(0,Ir.jsx)("button",{className:"font-medium uppercase tracking-[0.16em] text-foreground transition hover:text-primary disabled:cursor-not-allowed disabled:opacity-60",type:"button",onClick:A,disabled:u,children:"Use suggested values"}):null]})]})}var ir=B(xe(),1);var rt=B(te(),1);function _E(e="rate-limit-draft-row"){return mu({key:e,models:[],requests:"",windowValue:"",windowUnit:bo.custom.rateLimitDefaults.windowUnit},{keyPrefix:"rate-limit-draft",defaults:bo.custom.rateLimitDefaults,useDefaults:!1})}function jm(e=[],{keyPrefix:t="rate-limit-draft"}={}){let n=`${t}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`;return[...Array.isArray(e)?e:[],_E(n)]}function dB({value:e=[],onChange:t,availableModelIds:n=[],disabled:r=!1}){let o=(0,ir.useRef)(null),[a,i]=(0,ir.useState)(!1),l=(0,ir.useMemo)(()=>yo(e),[e]),s=l.includes("all"),c=s?[]:l.filter(Boolean),d=s||c.length===0,u=(0,ir.useMemo)(()=>yr(n),[n]);(0,ir.useEffect)(()=>{if(!a||typeof document>"u")return;function h(g){o.current?.contains(g.target)||i(!1)}return document.addEventListener("mousedown",h),()=>document.removeEventListener("mousedown",h)},[a]);function f(h){t(yo(h))}function p(h){f(h?["all"]:[])}function b(h,g){let y=g?[...c,h]:c.filter(x=>x!==h);f(y)}function m(h){if(h==="all"){f([]);return}f(c.filter(g=>g!==h))}let v=s?[{key:"all",label:"All model",removable:!0}]:c.length>0?c.map(h=>({key:h,label:h,removable:!0})):[{key:"__implicit-all__",label:"All model",removable:!1,muted:!0}];return(0,rt.jsxs)("div",{ref:o,className:"relative space-y-1.5",children:[(0,rt.jsxs)("div",{role:"button",tabIndex:r?-1:0,className:Q("flex min-h-9 w-full items-center justify-between gap-2 rounded-lg border border-input bg-background/80 px-3 py-1.5 text-left text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40",r?"cursor-not-allowed opacity-50":"cursor-pointer",a?"border-ring ring-2 ring-ring/40":null),onClick:()=>{r||i(h=>!h)},"aria-expanded":a,"aria-haspopup":"menu",onKeyDown:h=>{if(!r){if(h.key==="Enter"||h.key===" "){h.preventDefault(),i(g=>!g);return}if(h.key==="ArrowDown"){h.preventDefault(),i(!0);return}h.key==="Escape"&&(h.preventDefault(),i(!1))}},children:[(0,rt.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:v.map(h=>h.removable?(0,rt.jsxs)("button",{type:"button",className:"inline-flex max-w-full items-center gap-1 rounded-full border border-border/70 bg-background px-2 py-0.5 text-xs font-medium text-foreground transition hover:border-accent hover:bg-accent",onClick:g=>{g.preventDefault(),g.stopPropagation(),m(h.key)},disabled:r,title:`Remove ${h.label}`,children:[(0,rt.jsx)("span",{className:"truncate",children:h.label}),(0,rt.jsx)("span",{className:"text-muted-foreground",children:"x"})]},h.key):(0,rt.jsx)("span",{className:Q("inline-flex max-w-full items-center rounded-full border px-2 py-0.5 text-xs font-medium",h.muted?"border-border/70 bg-secondary/45 text-muted-foreground":"border-border/70 bg-background text-foreground"),children:(0,rt.jsx)("span",{className:"truncate",children:h.label})},h.key))}),(0,rt.jsx)("span",{className:"text-muted-foreground",children:"\u25BE"})]}),a?(0,rt.jsxs)(Pm,{open:a,anchorRef:o,preferredSide:"top",desiredHeight:192,className:"p-2",onMouseDown:h=>h.stopPropagation(),onClick:h=>h.stopPropagation(),onKeyDown:h=>{h.key==="Escape"&&(h.preventDefault(),i(!1))},children:[(0,rt.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,rt.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:s,onChange:h=>p(h.target.checked)}),(0,rt.jsx)("span",{children:"All model"})]}),(0,rt.jsx)("div",{className:"my-1 border-t border-border/70"}),u.length>0?(0,rt.jsx)("div",{children:u.map(h=>(0,rt.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,rt.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:c.includes(h),onChange:g=>b(h,g.target.checked)}),(0,rt.jsx)("span",{className:"truncate",children:h})]},h))}):(0,rt.jsx)("div",{className:"px-2 py-2 text-sm text-muted-foreground",children:"No models available yet."})]}):null]})}function Vm({rows:e,onChange:t,availableModelIds:n=[],disabled:r=!1,inputRef:o=null,helperText:a="",onValidBlur:i=null}){let l=Array.isArray(e)?e:[],s=(0,ir.useRef)(null),c=(0,ir.useRef)(l),d=(0,ir.useMemo)(()=>yr(n),[n]),u=(0,ir.useMemo)(()=>{let g=new Set,y=new Set;for(let x of br(l)){let A=eu(x);if(A){if(g.has(A)){y.add(A);continue}g.add(A)}}return y},[l]),f=(0,ir.useMemo)(()=>l.map(g=>({..._E(g.key),...g,models:yo(g?.models||[])})),[l]);(0,ir.useEffect)(()=>{c.current=l},[l]);function p(g){let y=Array.isArray(g)?g:[];c.current=y,t(y)}function b(g,y){p(l.map(x=>x.key===g?{...x,...y}:x))}function m(g){p(l.filter(y=>y.key!==g))}function v(g){if(Wf(g))return"";let y=yo(g?.models||[]);if(d.length>0&&y.some(A=>A!=="all"&&!d.includes(A)))return"Use exact provider model ids only.";if(gy(g?.requests,0)<=0)return"Requests must be a positive integer.";if(gy(g?.windowValue,0)<=0)return"Window size must be a positive integer.";if(!cy.includes(String(g?.windowUnit||"").trim()))return"Window unit is invalid.";let x=eu({requests:g?.requests,windowValue:g?.windowValue,windowUnit:g?.windowUnit});return x&&u.has(x)?"Another row already uses this cap.":""}function h(g){if(!(!i||r)&&!g.currentTarget.contains(g.relatedTarget)){if(typeof window>"u"){let y=br(c.current);Po(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y);return}window.setTimeout(()=>{if(!s.current||s.current.contains(document.activeElement))return;let y=br(c.current);Po(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y)},0)}}return(0,rt.jsxs)("div",{ref:s,className:"space-y-2.5",onBlurCapture:h,children:[(0,rt.jsx)("div",{className:"space-y-2.5",children:f.map((g,y)=>{let x=Wf(g),A=v(g);return(0,rt.jsxs)("div",{className:Q("rounded-2xl border border-border/70 bg-background/70 p-3",A?"border-amber-200 bg-amber-50/70":null,x?"border-dashed bg-background/80":null),children:[(0,rt.jsxs)("div",{className:"grid gap-2.5 xl:grid-cols-[minmax(0,1.5fr)_minmax(0,0.72fr)_minmax(0,0.72fr)_minmax(0,0.86fr)_auto] xl:items-end",children:[(0,rt.jsx)(He,{label:"Models",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,rt.jsx)(dB,{value:g.models,onChange:N=>b(g.key,{models:N}),availableModelIds:d,disabled:r})}),(0,rt.jsx)(He,{label:"Request",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsx)(it,{ref:y===0?o:null,value:g.requests,onChange:N=>b(g.key,{requests:N.target.value}),disabled:r,inputMode:"numeric",placeholder:"60"})}),(0,rt.jsx)(He,{label:"Window",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsx)(it,{value:g.windowValue,onChange:N=>b(g.key,{windowValue:N.target.value}),disabled:r,inputMode:"numeric",placeholder:"1"})}),(0,rt.jsx)(He,{label:"Unit",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsxs)(Xt,{value:String(g.windowUnit||"minute"),onValueChange:N=>b(g.key,{windowUnit:N}),disabled:r,children:[(0,rt.jsx)(Jt,{children:(0,rt.jsx)(Zt,{placeholder:"Window unit"})}),(0,rt.jsx)(en,{children:cy.map(N=>(0,rt.jsx)(Ct,{value:N,children:N},`${g.key}-${N}`))})]})}),(0,rt.jsx)(H,{type:"button",variant:"ghost",onClick:()=>m(g.key),disabled:r,className:"xl:self-end",children:"Remove"})]}),A?(0,rt.jsx)("div",{className:"mt-2.5 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:A}):null]},g.key)})}),a?(0,rt.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:a}):null]})}var gt=B(xe(),1);var LE=[{key:"supportsReasoning",label:"Reasoning",field:"reasoning_effort"},{key:"supportsThinking",label:"Thinking",field:"thinking"},{key:"supportsResponseFormat",label:"Response Format",field:"response_format"},{key:"supportsLogprobs",label:"Logprobs",field:"logprobs"},{key:"supportsServiceTier",label:"Service Tier",field:"service_tier"},{key:"supportsPrediction",label:"Prediction",field:"prediction"},{key:"supportsStreamOptions",label:"Stream Options",field:"stream_options"}];function DE(e={},t={}){if(!t||typeof t!="object")return e;let n={...e};for(let r of Object.keys(t))typeof t[r]=="boolean"&&n[r]===void 0&&(n[r]=t[r]);return n}function BE(e){if(e===void 0)return!0;if(e===!0)return!1}function IE(e){return!e||typeof e!="object"?!1:Object.values(e).some(t=>typeof t=="boolean")}var Oi=B(te(),1);function fB({label:e,value:t,disabled:n,onCycle:r}){let o=typeof t=="boolean";return(0,Oi.jsxs)("button",{type:"button",disabled:n,onClick:r,className:Q("flex items-center gap-1.5 rounded-md border px-2 py-1 text-xs transition-colors",t===!0&&"border-emerald-200 bg-emerald-50/80",t===!1&&"border-rose-200 bg-rose-50/60",!o&&"border-border/60 bg-secondary/40",!n&&"hover:bg-accent"),children:[(0,Oi.jsx)("span",{className:Q("inline-flex h-3 w-3 shrink-0 items-center justify-center rounded-full text-[8px] font-bold leading-none",t===!0&&"bg-emerald-500 text-white",t===!1&&"bg-rose-400 text-white",!o&&"bg-muted-foreground/25"),children:t===!0?"\u2713":t===!1?"\u2715":""}),(0,Oi.jsx)("span",{className:Q("select-none whitespace-nowrap font-medium",t===!0&&"text-emerald-800",t===!1&&"text-rose-700 line-through",!o&&"text-muted-foreground"),children:e})]})}function Fm({capabilities:e={},disabled:t=!1,onChange:n}){return(0,Oi.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 pt-1",children:[(0,Oi.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground/80",children:"Capabilities"}),LE.map(({key:r,label:o})=>{let a=e[r];return(0,Oi.jsx)(fB,{label:o,value:a,disabled:t,onCycle:()=>n(r,BE(a))},r)})]})}var De=B(te(),1);function zE({provider:e,disabled:t=!1,disabledReason:n="",busy:r=!1,onApply:o,framed:a=!0,focusRequest:i=0,onStateChange:l=null,testStateByModel:s={},savePhase:c="",saveMessage:d=""}){let u=(0,gt.useMemo)(()=>rC(e),[e]),[f,p]=(0,gt.useState)([]),[b,m]=(0,gt.useState)(""),[v,h]=(0,gt.useState)(!1),[g,y]=(0,gt.useState)({}),[x,A]=(0,gt.useState)({}),[N,E]=(0,gt.useState)(null),[C,O]=(0,gt.useState)(""),[L,V]=(0,gt.useState)(""),[z,G]=(0,gt.useState)({}),Z=(0,gt.useRef)(0),ue=(0,gt.useRef)([]),q=(0,gt.useRef)(new Map),oe=(0,gt.useRef)(new Map),ee=(0,gt.useRef)(""),W=(0,gt.useRef)(""),j=(0,gt.useRef)(null),Ie=(0,gt.useRef)(new Map),ne=(0,gt.useRef)(new Map);function Ve(k={}){return Z.current+=1,{key:`model-${e.id}-draft-${Z.current}`,id:"",sourceId:"",contextWindow:"",capabilities:{},...k}}function ae(k){ee.current=k}function Se(k=[],{preserveFocus:me=!1}={}){let re=[],Pe=null;for(let T of Array.isArray(k)?k:[]){let M=String(T?.id||""),F=T?.contextWindow===void 0||T?.contextWindow===null?"":String(T.contextWindow);if(String(M).trim()){re.push({...T,id:M,contextWindow:F});continue}Pe||(Pe={...T,id:"",contextWindow:F})}return Pe||(Pe=Ve(),me&&ae(Pe.key)),[Pe,...re]}function ze(k){A(me=>{if(!me[k])return me;let re={...me};return delete re[k],re})}function U(k,me){y(re=>{if(me)return re[k]?re:{...re,[k]:!0};if(!re[k])return re;let Pe={...re};return delete Pe[k],Pe})}function fe(k,me={},{clearLookupState:re=!1,clearStatus:Pe=!0,closeLookupMenu:T=!1}={}){re&&ze(k),Pe&&E(null),T&&C===k&&O(""),p(M=>Se(M.map(F=>F.key===k?{...F,...me}:F),{preserveFocus:!1}))}(0,gt.useEffect)(()=>{ue.current=f},[f]),(0,gt.useEffect)(()=>{let k=Se(u,{preserveFocus:!0});p(k),ue.current=k,Ie.current.clear(),ne.current.clear(),y({}),A({}),E(null),O(""),V(""),G({})},[u]),(0,gt.useEffect)(()=>{let k=ee.current;if(!k)return;let me=q.current.get(k);if(!me)return;me.scrollIntoView?.({block:"nearest"}),me.focus();let re=me.value?.length||0;me.setSelectionRange?.(re,re),ee.current=""},[f]),(0,gt.useEffect)(()=>{i&&p(k=>{let me=Se(k,{preserveFocus:!1}),re=me.find(Pe=>!String(Pe?.id||"").trim())||me[me.length-1];return re&&ae(re.key),me})},[i]),(0,gt.useEffect)(()=>{C&&(f.some(k=>k.key===C)||O(""))},[f,C]),(0,gt.useEffect)(()=>{L&&(f.some(k=>k.key===L)||V(""))},[f,L]),(0,gt.useEffect)(()=>{G(k=>{let me=new Set(f.map(T=>T.key)),re=!1,Pe={};for(let[T,M]of Object.entries(k)){if(!me.has(T)){re=!0;continue}Pe[T]=M}return re?Pe:k})},[f]),(0,gt.useEffect)(()=>{if(!C||typeof document>"u")return;function k(me){oe.current.get(C)?.contains(me.target)||O("")}return document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)},[C]);let ve=(0,gt.useMemo)(()=>f.filter(k=>String(k?.id||"").trim()),[f]),ke=(0,gt.useMemo)(()=>u.map(k=>({id:String(k?.id||"").trim(),contextWindow:$o(k?.contextWindow||""),capabilities:k?.capabilities||{}})).filter(k=>k.id),[u]),we=(0,gt.useMemo)(()=>ve.map(k=>({...k,id:String(k?.id||"").trim(),contextWindow:$o(k?.contextWindow||"")})),[ve]),Ee=we.map(k=>k.id),qe=ke.map(k=>k.id),We=Ee.filter(k=>!qe.includes(k)),nn=Os(Ee),Dn=Ee.length>0,cn=new Set(we.filter(k=>{let me=String(k?.contextWindow||"").trim();if(!me)return!1;let re=Number.parseInt(me,10);return!Number.isFinite(re)||re<=0||String(re)!==me}).map(k=>k.key)),xt=we.filter(k=>!String(k?.contextWindow||"").trim()),ht=JSON.stringify(ke)!==JSON.stringify(we.map(k=>({id:k.id,contextWindow:k.contextWindow,capabilities:k.capabilities||{}}))),Ue=t||r||(b!==""||c==="testing"||c==="saving")||v,It=(0,gt.useMemo)(()=>{let k=-1;return f.forEach((me,re)=>{String(me?.id||"").trim()&&(k=re)}),k},[f]),Wt=t?n:Dn?nn?"Model ids must be unique for each provider.":cn.size>0?"Context windows must be positive integers when set.":"":"Keep at least one model id on the provider.",pn=$s(f.map(k=>k.key));(0,gt.useEffect)(()=>{l?.({isDirty:ht,issue:Wt,locked:Ue,rows:we.map(k=>({...k,contextWindow:$o(k.contextWindow)}))})},[l,ht,Wt,Ue,we]);function wr(k){ze(k),U(k,!1),E(null),C===k&&O(""),L===k&&V(""),G(me=>{if(!Object.prototype.hasOwnProperty.call(me,k))return me;let re={...me};return delete re[k],re}),p(me=>Se(me.filter(re=>re.key!==k)))}function Te(k){p(me=>Se(Ts(me,k,re=>re?.key)))}function et(k){p(me=>Se(Kf(me,k,re=>re?.key)))}function ft(){W.current="",Ea(j.current,!1),j.current=null}async function lo(k,{force:me=!1}={}){let re=String(k||"").trim();if(!re)return Ls({query:re});if(!me&&Ie.current.has(re))return Ie.current.get(re);if(!me&&ne.current.has(re))return ne.current.get(re);let Pe=(async()=>{let T=await xu([re]),M=(Array.isArray(T)?T:[]).find(ce=>String(ce?.query||"").trim()===re)||{query:re},F=Ls(M,{fallbackQuery:re});return Ie.current.set(re,F),F})();ne.current.set(re,Pe);try{return await Pe}finally{ne.current.delete(re)}}async function St(k,{openMenu:me=!1,prefill:re=!1,modelId:Pe=""}={}){let T=ue.current.find(F=>F.key===k),M=String(Pe||T?.id||"").trim();if(!M)return null;me&&O(k),U(k,!0);try{let F=await lo(M);if(A(ce=>({...ce,[k]:F})),re){let ce=rm(F),Je=F?.exactMatch?.capabilities;(ce||Je)&&p(Vt=>Se(Vt.map(Ne=>{if(Ne.key!==k)return Ne;let Y=String(Ne?.id||"").trim();if(!Y||Y!==M)return Ne;let ge={};return ce&&!String(Ne?.contextWindow||"").trim()&&(ge.contextWindow=ce),Je&&!IE(Ne.capabilities)&&(ge.capabilities=DE(Ne.capabilities,Je)),Object.keys(ge).length>0?{...Ne,...ge}:Ne}),{preserveFocus:!1}))}return F}catch(F){let ce=F instanceof Error?F.message:String(F),Je={query:M,status:"error",error:ce,options:[]};return A(Vt=>({...Vt,[k]:Je})),Je}finally{U(k,!1)}}async function Re(k=[]){let me=new Set(Array.isArray(k)?k:[]),re=we.filter(Pe=>!Pe.id||String(Pe?.contextWindow||"").trim()?!1:me.size===0?!0:me.has(Pe.key)).map(Pe=>({key:Pe.key,id:Pe.id}));if(re.length!==0){h(!0),E(null);try{let Pe=await xu(re.map(Ne=>Ne.id)),T=y1(Pe),M=new Map(re.map(Ne=>[Ne.key,Ne]));for(let Ne of T.values())Ne?.query&&Ie.current.set(Ne.query,Ne);let F=Array.isArray(ue.current)?ue.current:[],ce=0,Je=0,Vt=F.map(Ne=>{let Y=M.get(Ne.key);if(!Y)return Ne;let ge=String(Ne?.id||"").trim(),Un=String(Ne?.contextWindow||"").trim();if(!ge||ge!==Y.id||Un)return Ne;let ki=T.get(ge)||Ls({query:ge}),_i=rm(ki);return _i?(ce+=1,{...Ne,contextWindow:_i}):(Je+=1,Ne)});p(Se(Vt,{preserveFocus:!1})),E({tone:ce>0?"success":"warning",message:ce>0?`Filled ${ce} context size${ce===1?"":"s"}${Je>0?`; ${Je} still need a manual value`:""}.`:`Could not fill ${Je} model${Je===1?"":"s"}.`})}catch(Pe){E({tone:"error",message:Pe instanceof Error?Pe.message:String(Pe)})}finally{h(!1)}}}async function gn(){if(Ue||Wt||!ht)return!1;let k=xo(e)==="api"&&We.length>0;m(k?"testing":"saving");try{return await o(we.map(me=>({...me,contextWindow:$o(me.contextWindow)})))}finally{m("")}}return(0,De.jsxs)("div",{className:Q(a?"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4":"space-y-3"),children:[(0,De.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/35 px-4 py-3 text-sm leading-6 text-muted-foreground",children:"Direct routes follow this top-to-bottom order. Focus a context field to load suggested sizes, or use Fill missing context size to fill each empty row with a median size."}),(0,De.jsx)("div",{className:"space-y-2",children:f.map((k,me)=>{let re=String(k?.id||"").trim(),Pe=String(k?.contextWindow||"").trim(),T=!!re,M=T?ve.findIndex(Y=>Y.key===k.key):-1,F=x[k.key]||null,ce=!!g[k.key],Je=C===k.key&&!!re,Vt=cn.has(k.key),Ne=re&&s?.[re]||"default";return(0,De.jsxs)("div",{ref:pn(k.key),"data-reorder-row":"true",onDragOver:Y=>{!Ue&&W.current&&W.current!==k.key&&(Y.preventDefault(),Y.dataTransfer.dropEffect="move")},onDrop:Y=>{if(Ue)return;Y.preventDefault();let ge=Y.dataTransfer.getData("text/plain")||W.current;ft(),p(Un=>Se($f(Un,ge,k.key)))},className:Q("space-y-2 rounded-xl border border-border/70 bg-card/90 p-3",T?null:"border-dashed bg-background/85",Vt?"border-amber-200 bg-amber-50/70":null,!Vt&&Ne==="success"?"border-emerald-200 bg-emerald-50/70":null,!Vt&&Ne==="error"?"border-rose-200 bg-rose-50/70":null,!Vt&&Ne==="pending"?"border-sky-200 bg-sky-50/70":null),children:[(0,De.jsxs)("div",{className:"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_minmax(12rem,14rem)_5.5rem] items-center gap-2",children:[(0,De.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",T&&!Ue?"cursor-grab":"opacity-45"),draggable:!Ue&&T,onDragStart:Y=>{if(Ue||!T)return;let ge=Ms(Y.currentTarget);Y.dataTransfer.effectAllowed="move",Y.dataTransfer.setData("text/plain",k.key),ge&&typeof Y.dataTransfer?.setDragImage=="function"&&Y.dataTransfer.setDragImage(ge,20,20),ft(),W.current=k.key,j.current=ge,Ea(ge,!0)},onDragEnd:ft,title:T?"Drag to reorder":"New model draft row",children:(0,De.jsx)(Ns,{className:"h-4 w-4"})}),(0,De.jsx)(Oa,{disabled:Ue||!T||M<=0,label:!T||M<=0?"Already first":`Move ${k.id||`model ${M+1}`} up`,onClick:()=>Te(k.key)}),(0,De.jsx)(Sl,{disabled:Ue||!T||me>=It,label:!T||me>=It?"Already last":`Move ${k.id||`model ${M+1}`} down`,onClick:()=>et(k.key)}),(0,De.jsx)(it,{ref:Y=>{Y?q.current.set(k.key,Y):q.current.delete(k.key)},value:k.id,onChange:Y=>fe(k.key,{id:Y.target.value},{clearLookupState:!0,closeLookupMenu:!0}),placeholder:T?"Model id":"Add a new model id",disabled:Ue}),(0,De.jsxs)("div",{ref:Y=>{Y?oe.current.set(k.key,Y):oe.current.delete(k.key)},className:"relative min-w-0",children:[(0,De.jsx)(it,{value:L===k.key?z[k.key]??bu(k.contextWindow):g1(k.contextWindow),onChange:Y=>{let ge=Y.target.value,Un=$o(ge);G(ki=>({...ki,[k.key]:bu(Un)})),fe(k.key,{contextWindow:Un},{clearStatus:!1})},onBlur:Y=>{V(ge=>ge===k.key?"":ge),G(ge=>{if(!Object.prototype.hasOwnProperty.call(ge,k.key))return ge;let Un={...ge};return delete Un[k.key],Un}),fe(k.key,{contextWindow:$o(Y.target.value)},{clearStatus:!1})},onFocus:()=>{re&&(V(k.key),G(Y=>({...Y,[k.key]:bu(k.contextWindow)})),St(k.key,{openMenu:!0}))},onClick:()=>{re&&St(k.key,{openMenu:!0})},onKeyDown:Y=>{if(Y.key==="ArrowDown"&&re){Y.preventDefault(),St(k.key,{openMenu:!0});return}Y.key==="Escape"&&(Y.preventDefault(),O(""))},placeholder:"Context window",inputMode:"numeric",disabled:Ue||!re,className:"font-medium tabular-nums","aria-label":re?`Context window for ${re}`:"Context window"}),Je?(0,De.jsx)(Pm,{open:Je,anchorRef:{current:oe.current.get(k.key)||null},preferredSide:"top",desiredHeight:224,className:"z-20 rounded-lg bg-background/98 p-2",onMouseDown:Y=>Y.preventDefault(),children:ce?(0,De.jsxs)("div",{className:"inline-flex items-center gap-2 px-1 py-2 text-sm text-muted-foreground",children:[(0,De.jsx)(Br,{}),"Fetching size options for ",(0,De.jsx)("code",{children:re}),"."]}):F?.status==="error"?(0,De.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:F.error||"Could not load suggested sizes."}):F?.options?.length>0?(0,De.jsx)("div",{className:"space-y-1",children:F.options.map(Y=>(0,De.jsxs)("button",{type:"button",className:"flex w-full flex-col gap-2 rounded-lg border border-border/70 bg-background px-3 py-2 text-left text-sm text-foreground transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",disabled:Ue,onMouseDown:ge=>ge.preventDefault(),onClick:()=>{G(ge=>({...ge,[k.key]:bu(Y.contextWindow)})),fe(k.key,{contextWindow:String(Y.contextWindow)},{clearStatus:!1}),O("")},title:`Use ${Y.label}`,children:[(0,De.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,De.jsx)("div",{className:"break-words font-medium leading-5",children:Y.label}),(0,De.jsx)("div",{className:"break-words text-xs leading-4 text-muted-foreground",children:Y.detail})]}),(0,De.jsxs)("div",{className:"w-full rounded-md border border-border/70 bg-secondary/70 px-3 py-2",children:[(0,De.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Context size"}),(0,De.jsx)("div",{className:"mt-1 text-lg font-semibold leading-none tabular-nums text-foreground",children:Ho(Y.contextWindow)})]})]},Y.key))}):(0,De.jsxs)("div",{className:"rounded-lg border border-dashed border-border/70 bg-background/80 px-3 py-2 text-xs text-muted-foreground",children:["No suggested size was found for ",(0,De.jsx)("code",{children:F?.query||re}),"."]})}):null]}),T?(0,De.jsx)(H,{type:"button",variant:"ghost",className:Rs,onMouseDown:Y=>Y.preventDefault(),onClick:()=>wr(k.key),disabled:Ue,children:"Remove"}):(0,De.jsx)(H,{type:"button",variant:"ghost",className:Q(Rs,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"})]}),T&&(0,De.jsx)(Fm,{capabilities:k.capabilities||{},disabled:Ue,onChange:(Y,ge)=>{let Un={...k.capabilities||{}};ge===void 0?delete Un[Y]:Un[Y]=ge,fe(k.key,{capabilities:Un})}}),ce?(0,De.jsx)("div",{className:"flex justify-end text-xs",children:(0,De.jsxs)("div",{className:"inline-flex items-center gap-1.5 text-sky-700",children:[(0,De.jsx)(Br,{}),"Looking up sizes"]})}):null,Vt?(0,De.jsxs)("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:["Enter a positive integer like ",(0,De.jsx)("code",{children:"128000"}),", or leave the field blank."]}):Ne==="pending"?(0,De.jsx)("div",{className:"rounded-lg border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:"Testing this model against the provider endpoint now."}):Ne==="success"?(0,De.jsx)("div",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs text-emerald-900",children:"Confirmed by the latest live provider test."}):Ne==="error"?(0,De.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:"This model failed the latest live provider test."}):null]},k.key)})}),Wt?(0,De.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:Wt}):null,N?(0,De.jsx)("div",{className:Q("rounded-xl px-3 py-2 text-sm",N.tone==="error"?"border border-rose-200 bg-rose-50 text-rose-900":N.tone==="warning"?"border border-amber-200 bg-amber-50 text-amber-900":"border border-emerald-200 bg-emerald-50 text-emerald-900"),children:N.message}):null,(0,De.jsx)("div",{className:Q("sticky z-10 border-t border-border/70 bg-background/95 pt-3 backdrop-blur",a?"bottom-0":"bottom-0 -mx-5 rounded-b-[1rem] px-5 pb-4"),children:(0,De.jsxs)("div",{className:"flex min-h-9 items-center justify-between gap-3",children:[(0,De.jsx)("div",{className:Q("text-xs",c==="testing"?"text-sky-700":c==="saving"?"text-foreground":"text-muted-foreground"),children:c==="testing"?(0,De.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,De.jsx)(Br,{}),d||"Testing new models before save."]}):c==="saving"?(0,De.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,De.jsx)(Br,{}),d||"Saving provider models."]}):We.length>0&&xo(e)==="api"?`${We.length} new model${We.length===1?"":"s"} will be tested before save.`:"Existing models keep their current configuration metadata."}),(0,De.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[!t&&!Ue&&xt.length>0?(0,De.jsx)(H,{type:"button",variant:"outline",onClick:()=>{Re()},children:v?"Filling\u2026":"Fill missing context size"}):null,!t&&!Ue&&ht?(0,De.jsx)(H,{type:"button",variant:"ghost",onClick:()=>{y({}),A({}),E(null),O(""),Ie.current.clear(),ne.current.clear(),p(Se(u,{preserveFocus:!0}))},children:"Reset"}):null,!t&&ht&&!Wt?(0,De.jsx)(H,{type:"button",onClick:()=>{gn()},disabled:Ue,children:c==="testing"||b==="testing"?"Testing\u2026":c==="saving"||b==="saving"||r?"Saving\u2026":"Save models"}):null]})]})})]})}var he=B(te(),1);function mB({provider:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){let s=(0,tn.useMemo)(()=>jC(e),[e]),[c,d]=(0,tn.useState)(s),[u,f]=(0,tn.useState)(!1),[p,b]=(0,tn.useState)(!1),[m,v]=(0,tn.useState)(!1),[h,g]=(0,tn.useState)("provider"),[y,x]=(0,tn.useState)(""),[A,N]=(0,tn.useState)(0),[E,C]=(0,tn.useState)({isDirty:!1,issue:"",locked:!1,rows:[]}),[O,L]=(0,tn.useState)({phase:"",modelStates:{},failedModelIds:[],message:""}),V=(0,tn.useRef)(null),z=(0,tn.useRef)(null),G=(0,tn.useRef)(null),Z=(0,tn.useRef)(null);(0,tn.useEffect)(()=>{d(s)},[s]);let q=xo(e)!=="api",oe=(Array.isArray(e?.models)?e.models:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean),ee=Ta(e),W=q?"":LC(e?.rateLimits),j=q?[]:rr(c?.endpoints,c?.endpointDraft),Ie=q?[]:br(c?.rateLimitRows),ne=JSON.stringify({id:String(c?.id||"").trim(),name:String(c?.name||"").trim(),credentialInput:String(c?.credentialInput||"").trim(),endpoints:j,endpointDraft:String(c?.endpointDraft||"").trim(),rateLimitRows:hy(c?.rateLimitRows)}),Ve=JSON.stringify({id:String(s?.id||"").trim(),name:String(s?.name||"").trim(),credentialInput:String(s?.credentialInput||"").trim(),endpoints:yr(s?.endpoints),endpointDraft:String(s?.endpointDraft||"").trim(),rateLimitRows:hy(s?.rateLimitRows)}),ae=ne!==Ve,Se=!!i||l,ze=new Set((Array.isArray(E.rows)?E.rows:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean)),U=O.failedModelIds.filter(Te=>ze.has(Te)),fe=Se||O.phase==="testing"||O.phase==="saving",ve=q?"":Po(Ie,{knownModelIds:oe,requireAtLeastOne:!0}),ke=i||(String(c?.id||"").trim()?ll.test(String(c?.id||"").trim())?String(c?.name||"").trim()?!q&&j.length===0?"Add at least one endpoint for API Key providers.":!q&&j.some(Te=>!Si(Te))?"All endpoints must start with http:// or https://.":ve:"Provider name is required.":"Provider id must start with a letter and use lowercase letters, digits, or dashes only.":"Provider id is required."),we=q?c:{...c,endpoints:j,endpointDraft:""},Ee=!!E.isDirty,qe=ae||Ee,We=[ae?"provider settings":"",Ee?"model list":""].filter(Boolean),nn=[ae&&ke?`Provider: ${ke}`:"",Ee&&E.issue?`Models: ${E.issue}`:""].filter(Boolean).join(" "),Dn=Se||O.phase==="testing"||O.phase==="saving"||ae&&!!ke||Ee&&(!!E.issue||E.locked)||typeof a!="function";async function cn(){let Te=await r(e.id,we);return Te&&Ue(),Te}async function xt(Te){let et=await o(e.id,Te,{providerDraft:ae?we:null,onModelTestStateChange:ft=>{L({phase:String(ft?.phase||""),modelStates:ft?.modelStates&&typeof ft.modelStates=="object"?ft.modelStates:{},failedModelIds:Array.isArray(ft?.failedModelIds)?ft.failedModelIds:[],message:String(ft?.message||"")})}});return et&&Ue(),et}function ht(){d(s)}let yt=(0,tn.useCallback)(Te=>{C(Te)},[]);function Ue(){b(!1),v(!1),f(!1),g("provider"),x(""),d(s),C({isDirty:!1,issue:"",locked:!1,rows:[]}),L({phase:"",modelStates:{},failedModelIds:[],message:""})}async function It(){let Te=(Array.isArray(E.rows)?E.rows:[]).filter(ft=>!U.includes(String(ft?.id||"").trim()));return Te.length===0&&!ae||await a(e.id,{providerDraft:ae?we:null,modelRows:Ee?Te:null,onModelTestStateChange:ft=>{L({phase:String(ft?.phase||""),modelStates:ft?.modelStates&&typeof ft.modelStates=="object"?ft.modelStates:{},failedModelIds:Array.isArray(ft?.failedModelIds)?ft.failedModelIds:[],message:String(ft?.message||"")})}})?(Ue(),!0):(g("models"),!1)}(0,tn.useEffect)(()=>{L({phase:"",modelStates:{},failedModelIds:[],message:""})},[s]),(0,tn.useEffect)(()=>{U.length>0||!m||v(!1)},[U,m]),(0,tn.useEffect)(()=>{if(!u||h!=="provider"||y!=="endpoint"&&y!=="rate-limit"||typeof window>"u")return;let Te=window.requestAnimationFrame(()=>{let et=y==="endpoint"?V.current:G.current,ft=y==="endpoint"?z.current:Z.current;et?.scrollIntoView?.({block:"nearest"}),ft?.focus?.(),ft?.select?.(),x("")});return()=>window.cancelAnimationFrame(Te)},[u,h,y]);function Wt(Te="provider",et=""){b(!1),v(!1),g(Te),x(et),Te==="models"&&et==="models"&&N(ft=>ft+1),f(!0)}function pn(){if(!fe){if(U.length>0){b(!1),v(!0);return}if(qe){b(!0);return}Ue()}}async function wr(){if(Dn)return;if(!await a(e.id,{providerDraft:ae?we:null,modelRows:Ee?E.rows:null,onModelTestStateChange:et=>{L({phase:String(et?.phase||""),modelStates:et?.modelStates&&typeof et.modelStates=="object"?et.modelStates:{},failedModelIds:Array.isArray(et?.failedModelIds)?et.failedModelIds:[],message:String(et?.message||"")})}})){Ee&&(b(!1),g("models"));return}Ue()}return(0,he.jsxs)(he.Fragment,{children:[(0,he.jsx)(Lt,{children:(0,he.jsxs)(Dt,{className:"space-y-3 p-5",children:[(0,he.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,he.jsx)("div",{className:"min-w-0 flex-1 px-0.5 py-0.5",children:(0,he.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[(0,he.jsx)("span",{className:"text-base font-semibold text-foreground",children:e.name||e.id}),(0,he.jsxs)("span",{className:"text-sm text-muted-foreground",children:["(",e.id,")"]})]})}),(0,he.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,he.jsxs)(H,{type:"button",variant:"outline",size:"sm",className:"gap-1.5 normal-case tracking-normal",onClick:()=>Wt("provider"),disabled:Se,"aria-label":`Edit provider ${e.name||e.id}`,title:"Edit provider",children:[(0,he.jsx)(Es,{className:"h-4 w-4 shrink-0"}),"Edit"]}),(0,he.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-8 w-8 shrink-0 p-0 text-muted-foreground hover:border-destructive/35 hover:bg-destructive/5 hover:text-destructive",onClick:()=>t(e.id),disabled:l,"aria-label":"Remove provider",title:"Remove provider",children:(0,he.jsx)(lu,{className:"h-4 w-4"})})]})]}),oe.length>0?(0,he.jsx)("div",{className:"flex flex-wrap gap-2 pt-1",children:oe.map(Te=>(0,he.jsx)(RE,{onClick:()=>n?.(Te),title:`Copy model id ${Te}`,className:"max-w-full",children:(0,he.jsx)("span",{className:"truncate",children:Te})},`${e.id}-${Te}`))}):null]})}),(0,he.jsx)(En,{open:u,onClose:pn,title:`Edit \xB7 ${e.id}`,description:O.phase==="testing"?O.message||"Testing new models before save.":O.phase==="saving"?O.message||"Saving provider changes.":"Switch between provider settings and model list. Each tab saves independently.",closeDisabled:fe,closeOnBackdrop:!fe,closeOnEscape:!fe,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)] pb-0",children:(0,he.jsxs)(bi,{value:h,onValueChange:g,children:[(0,he.jsxs)(vi,{className:"w-full justify-start",children:[(0,he.jsx)(Gn,{value:"provider",children:"Provider"}),(0,he.jsx)(Gn,{value:"models",children:"Model list"})]}),(0,he.jsxs)(qn,{forceMount:!0,value:"provider",className:Q("space-y-4 pb-4",h!=="provider"?"hidden":null),children:[(0,he.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:(0,he.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,he.jsxs)("div",{children:[(0,he.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,he.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Update provider identity and connection settings here."})]}),(0,he.jsx)(_e,{variant:"outline",children:q?"Subscription":"API Key"})]})}),(0,he.jsxs)("div",{className:Q("grid gap-3",q?"md:grid-cols-2":"md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]"),children:[(0,he.jsx)(He,{label:"Provider name",stacked:!0,children:(0,he.jsx)(it,{value:c.name,onChange:Te=>d(et=>({...et,name:Te.target.value})),disabled:fe})}),(0,he.jsx)(He,{label:"Provider id",hint:"Used in direct routes like provider/model",stacked:!0,children:(0,he.jsx)(it,{value:c.id,onChange:Te=>d(et=>({...et,id:Dr(Te.target.value)})),disabled:fe})})]}),q?null:(0,he.jsxs)("div",{className:"space-y-3",children:[(0,he.jsx)(He,{label:"API key or env",hint:"Use an env var like OPENAI_API_KEY or paste the direct key.",stacked:!0,children:(0,he.jsx)(Hs,{value:c.credentialInput||"",onChange:Te=>d(et=>({...et,credentialInput:Te.target.value})),disabled:fe,placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:vo(c.credentialInput)})}),(0,he.jsx)("div",{ref:V,children:(0,he.jsx)(He,{label:"Endpoints",hint:ee.length>1?"Comma, space, or newline turns into chips. The first endpoint stays active until you re-test this provider.":"Comma, space, or newline turns into chips.",stacked:!0,children:(0,he.jsx)(ku,{values:c.endpoints,onChange:Te=>d(et=>({...et,endpoints:Te})),draftValue:c.endpointDraft,onDraftValueChange:Te=>d(et=>({...et,endpointDraft:Te})),commitOnBlur:!0,disabled:fe,isValueValid:Si,inputRef:z,inputClassName:"placeholder:text-muted-foreground/55",placeholder:"Click here to type new endpoint",helperText:"Paste one or more endpoints"})})}),(0,he.jsx)("div",{ref:G,className:"grid gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1.35fr)_minmax(0,0.8fr)_minmax(0,0.8fr)_minmax(0,1fr)]",children:(0,he.jsx)("div",{className:"md:col-span-2 xl:col-span-4",children:(0,he.jsx)(He,{label:"Rate limit",stacked:!0,headerAction:(0,he.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:()=>d(Te=>({...Te,rateLimitRows:jm(Te.rateLimitRows)})),disabled:fe,children:"Add rate limit"}),children:(0,he.jsx)(Vm,{rows:c.rateLimitRows,onChange:Te=>d(et=>({...et,rateLimitRows:Te})),availableModelIds:oe,disabled:fe,inputRef:Z})})})})]}),ke?(0,he.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:ke}):null,(0,he.jsxs)("div",{className:"flex min-h-9 items-center justify-end gap-2",children:[!fe&&ae?(0,he.jsx)(H,{type:"button",variant:"ghost",onClick:ht,children:"Reset"}):null,ae&&!ke?(0,he.jsx)(H,{type:"button",onClick:()=>{cn()},disabled:fe,children:O.phase==="saving"||l?"Saving\u2026":"Save provider"}):null]})]}),(0,he.jsx)(qn,{forceMount:!0,value:"models",className:Q(h!=="models"?"hidden":null),children:(0,he.jsx)(zE,{provider:e,disabled:!!i,disabledReason:i,busy:l,framed:!1,focusRequest:A,onStateChange:yt,onApply:xt,testStateByModel:O.modelStates,savePhase:O.phase,saveMessage:O.message})})]})}),(0,he.jsx)(AE,{open:p,onKeepEditing:()=>b(!1),onDiscardAndClose:Ue,onSaveAndClose:wr,saveDisabled:Dn,dirtyLabels:We,details:nn}),(0,he.jsx)(CE,{open:m,failedModelIds:U,onKeepEditing:()=>v(!1),onRemoveFailedAndClose:It,removeDisabled:fe||typeof a!="function"})]})}function pB({providers:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){return e.length?(0,he.jsx)("div",{className:"grid gap-4 xl:grid-cols-2",children:e.map(s=>(0,he.jsx)(mB,{provider:s,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i,busy:l},s.id))}):(0,he.jsx)(Lt,{children:(0,he.jsx)(Dt,{className:"flex flex-col gap-4 p-5 text-sm text-muted-foreground",children:(0,he.jsx)("div",{children:"No enabled providers are configured yet. Use Add provider to create your first provider, model list, and rate limits."})})})}function PE({providers:e,onAddProvider:t,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l="",busy:s=!1}){return(0,he.jsxs)("section",{className:"rounded-2xl border border-border/70 bg-card p-4","aria-label":"Provider models",children:[(0,he.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,he.jsxs)("div",{className:"min-w-0",children:[(0,he.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider & Models"}),(0,he.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Manage providers, direct model routes, endpoints, and rate limits in one place."})]}),(0,he.jsx)(H,{onClick:t,children:"Add provider"})]}),(0,he.jsx)("div",{className:"mt-4",children:(0,he.jsx)(pB,{providers:e,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l,busy:s})})]})}var _u=B(xe(),1);var ie=B(te(),1);function UE({connected:e,snapshot:t,models:n,busy:r,refreshing:o,config:a,onRefresh:i,onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:p,onAutoLoad:b,onSaveSettings:m,onInstall:v,onStartServer:h,onStopServer:g,onSyncRouter:y,embedded:x=!1}){let A=a?.ollama||{},[N,E]=(0,_u.useState)(A.baseUrl||"http://localhost:11434"),[C,O]=(0,_u.useState)(A.autoConnect!==!1),[L,V]=(0,_u.useState)(A.defaultKeepAlive||"5m"),z=t?.installed===!0;return(0,ie.jsxs)("div",{className:"space-y-4",children:[(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-2",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Ollama Connection"}),x?(0,ie.jsx)("span",{className:"text-xs text-muted-foreground",children:"Local Models runtime"}):null,e?(0,ie.jsx)(_e,{variant:"success",children:"Connected"}):(0,ie.jsx)(_e,{variant:"outline",children:"Disconnected"})]}),(0,ie.jsxs)("div",{className:"flex gap-2",children:[!z&&(0,ie.jsx)(H,{size:"sm",onClick:v,disabled:r._install,children:r._install?"Installing\u2026":"Install Ollama"}),z&&!e&&(0,ie.jsx)(H,{size:"sm",onClick:h,disabled:r._startServer,children:r._startServer?"Starting\u2026":"Start Server"}),e&&(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:g,children:"Stop Server"})]})]}),t?.version&&(0,ie.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Version: ",t.version]})]})}),e&&(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Models"}),(0,ie.jsxs)("div",{className:"flex gap-2",children:[(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:y,disabled:r._syncRouter,children:r._syncRouter?"Syncing\u2026":"Sync All to Router"}),(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:i,disabled:o,children:o?"Refreshing\u2026":"Reload Models"})]})]}),n.length===0&&!o&&(0,ie.jsxs)("p",{className:"text-sm text-muted-foreground",children:["No models found. Pull models with ",(0,ie.jsx)("code",{className:"text-xs bg-muted px-1 py-0.5 rounded",children:"ollama pull <model>"})]}),(0,ie.jsx)("div",{className:"space-y-2",children:n.map(G=>(0,ie.jsx)(gB,{model:G,busy:r[G.name]||{},onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:p,onAutoLoad:b},G.name))})]})}),(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Settings"}),(0,ie.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[(0,ie.jsxs)("div",{children:[(0,ie.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Base URL"}),(0,ie.jsx)(it,{value:N,onChange:G=>E(G.target.value),placeholder:"http://localhost:11434"})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Default Keep Alive"}),(0,ie.jsxs)(Xt,{value:L,onValueChange:V,children:[(0,ie.jsx)(Jt,{children:(0,ie.jsx)(Zt,{})}),(0,ie.jsx)(en,{children:dy.map(G=>(0,ie.jsx)(Ct,{value:G.value,children:G.label},G.value))})]})]})]}),(0,ie.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,ie.jsx)("label",{className:"text-sm text-foreground",children:"Auto-connect on startup"}),(0,ie.jsx)(Io,{checked:C,onCheckedChange:O})]}),(0,ie.jsx)(H,{size:"sm",onClick:()=>m({baseUrl:N,autoConnect:C,defaultKeepAlive:L}),children:"Save Settings"})]})})]})}function gB({model:e,busy:t,onLoad:n,onUnload:r,onPin:o,onKeepAlive:a,onContextLength:i,onAddToRouter:l,onRemoveFromRouter:s,onAutoLoad:c}){let[d,u]=(0,_u.useState)(e.contextLength||0);return(0,ie.jsxs)("div",{className:"rounded-lg border border-border p-3 space-y-2",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between gap-2 flex-wrap",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,ie.jsx)("span",{className:"font-mono text-sm font-medium",children:e.name}),(0,ie.jsx)(_e,{variant:"outline",children:e.parameterSize||"?"}),(0,ie.jsx)(_e,{variant:"outline",children:e.quantizationLevel||"?"}),e.loaded?(0,ie.jsxs)(_e,{variant:"success",children:["Loaded",e.sizeVramFormatted?` (${e.sizeVramFormatted})`:""]}):(0,ie.jsx)(_e,{variant:"default",children:"Available"}),e.isPinned&&(0,ie.jsx)(_e,{variant:"warning",children:"Pinned"})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.loaded?(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>r(e.name),disabled:t.unloading,children:t.unloading?"Unloading\u2026":"Unload"}):(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>n(e.name),disabled:t.loading,children:t.loading?"Loading\u2026":"Load"}),(0,ie.jsx)(H,{size:"sm",variant:e.isPinned?"default":"outline",onClick:()=>o(e.name,!e.isPinned),disabled:t.pinning,title:e.isPinned?"Unpin (allow auto-unload)":"Pin in memory (blocks eviction)",children:e.isPinned?"Unpin":"Pin"}),e.inRouter?(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>s(e.name),className:"text-red-600 hover:text-red-700",children:"Remove from Router"}):(0,ie.jsx)(H,{size:"sm",variant:"default",onClick:()=>l(e.name),children:"Add to Router"})]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-4 flex-wrap text-xs",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,ie.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Keep Alive:"}),(0,ie.jsxs)(Xt,{value:e.keepAlive||"5m",onValueChange:f=>a(e.name,f),children:[(0,ie.jsx)(Jt,{className:"h-7 w-[160px] text-xs",children:(0,ie.jsx)(Zt,{})}),(0,ie.jsx)(en,{children:dy.map(f=>(0,ie.jsx)(Ct,{value:f.value,children:f.label},f.value))})]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,ie.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Context:"}),(0,ie.jsx)(it,{type:"number",className:"h-7 w-24 text-xs",value:d,onChange:f=>u(Number(f.target.value)),onBlur:()=>{d!==e.contextLength&&i(e.name,d)},min:0,step:1024}),e.contextLength>0&&(0,ie.jsxs)("span",{className:"text-muted-foreground",children:["max: ",e.contextLength.toLocaleString()]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-2",children:[(0,ie.jsx)(Io,{checked:e.autoLoad,onCheckedChange:f=>c(e.name,f)}),(0,ie.jsx)("label",{className:"text-muted-foreground",children:"Auto-load on start"})]}),e.estimatedVram&&(0,ie.jsxs)("span",{className:"text-muted-foreground",children:["Est. VRAM: ",e.estimatedVram]})]})]})}var QE=B(xe(),1);var Ln=B(xe(),1);function Hm(e,t){return Object.values(e||{}).filter(n=>t(n)).length}var Lu={balanced:{label:"Balanced",contextWindow:65536},"long-context":{label:"Long Context",contextWindow:2e5},"low-memory":{label:"Low Memory",contextWindow:16384},"fast-response":{label:"Fast Response",contextWindow:8192}};function hB(e){let t=String(e||"").trim().toLowerCase();return t||"stopped"}function $m(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function Rb(e,t=new Set){let n=String(e||"").trim()||"local/local-model";if(!t.has(n))return n;let r=2;for(;t.has(`${n}-${r}`);)r+=1;return`${n}-${r}`}function jE(e={}){return new Set(Object.values(e||{}).map(t=>String(t?.id||"").trim()).filter(Boolean))}function VE(e){return String(e||"").replace(/\.[^.]+$/u,"")}function yB(e){return String(e||"").trim().replace(/\\/g,"/").split("/").filter(Boolean).pop()||""}function FE(e={},t={}){let n=String(e?.repo||"").trim(),r=String(e?.file||"").trim(),o=jE(t),a=$m(`${n}-${VE(r)}`)||"local-model";return{id:Rb(a,o),displayName:r||n||"Managed GGUF",repo:n,file:r}}function Nb(e="",t={}){let n=String(e||"").trim(),r=yB(n),o=jE(t),a=$m(VE(r))||"local-model";return{id:Rb(a,o),displayName:r||n||"Attached GGUF",filePath:n}}function Km(e){let t=Number.parseInt(String(e??"").replace(/[^\d]/g,""),10);return Number.isFinite(t)&&t>0?t:void 0}function HE(e,t={}){let n=String(e?.displayName||e?.id||"Local Model").trim()||"Local Model",r="balanced",o=Lu[r],a=new Set(Object.values(t||{}).map(s=>String(s?.id||"").trim()).filter(Boolean)),i=`${n} ${o.label}`,l=Rb(`local/${$m(i)}`,a);return{key:$m(l)||`local-${Date.now()}`,baseModelId:e?.id,runtime:"llamacpp",name:i,id:l,preset:r,enabled:!0,preload:!1,contextWindow:o.contextWindow,capabilities:{}}}function $E(e){return{...e,preset:String(e?.preset||"balanced").trim()||"balanced",contextWindow:Number.isFinite(Number(e?.contextWindow))?Number(e.contextWindow):Lu.balanced.contextWindow,capabilities:e?.capabilities&&typeof e.capabilities=="object"?{...e.capabilities}:{}}}function KE(e,t=new Set){return String(e?.name||"").trim()?String(e?.id||"").trim()?t.has(String(e?.id||"").trim())?"Model id already exists.":Km(e?.contextWindow)?"":"Context window must be a positive integer.":"Model id is required.":"Variant name is required."}function GE(e={}){let t=e?.runtime||{},n=e?.library||{},r=e?.variants||{};return{enabledVariants:Hm(r,o=>o?.enabled===!0),preloadedVariants:Hm(r,o=>o?.preload===!0),staleAssets:Hm(n,o=>String(o?.availability||"").trim().toLowerCase()==="stale"),runningRuntimes:Hm(t,o=>hB(o?.status)==="running")}}var st=B(te(),1);function qE({draft:e,baseModel:t=null,duplicateIds:n=new Set,saveDisabled:r=!1,saveDisabledReason:o="",saving:a=!1,onChange:i,onSave:l,onCancel:s}){return(0,st.jsxs)("form",{className:"space-y-4",onSubmit:c=>{c.preventDefault(),l?.()},children:[t?(0,st.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,st.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Base Model"}),(0,st.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:t?.displayName||t?.id}),(0,st.jsx)("div",{className:"mt-1 break-all text-xs text-muted-foreground",children:t?.path||"Path not recorded"})]}):null,(0,st.jsx)(He,{label:"Variant name",stacked:!0,children:(0,st.jsx)(it,{"aria-label":"Variant name",value:e?.name||"",onChange:c=>i?.({...e,name:c.target.value})})}),(0,st.jsxs)(He,{label:"Model id",stacked:!0,children:[(0,st.jsx)(it,{"aria-label":"Model id",value:e?.id||"",onChange:c=>i?.({...e,id:c.target.value})}),n.has(e?.id)?(0,st.jsx)("div",{className:"text-xs text-red-600",children:"Model id already exists."}):null]}),(0,st.jsx)(He,{label:"Preset",stacked:!0,children:(0,st.jsxs)(Xt,{value:e?.preset||"balanced",onValueChange:c=>i?.({...e,preset:c}),children:[(0,st.jsx)(Jt,{children:(0,st.jsx)(Zt,{})}),(0,st.jsxs)(en,{children:[(0,st.jsx)(Ct,{value:"balanced",children:"Balanced"}),(0,st.jsx)(Ct,{value:"long-context",children:"Long Context"}),(0,st.jsx)(Ct,{value:"low-memory",children:"Low Memory"}),(0,st.jsx)(Ct,{value:"fast-response",children:"Fast Response"})]})]})}),(0,st.jsx)(He,{label:"Context window",stacked:!0,hint:"Router-visible max context length for this variant.",children:(0,st.jsx)(it,{"aria-label":"Context window",inputMode:"numeric",value:e?.contextWindow??"",onChange:c=>i?.({...e,contextWindow:c.target.value})})}),(0,st.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,st.jsx)(He,{label:"Enabled in router",stacked:!0,children:(0,st.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,st.jsx)("span",{className:"text-sm text-foreground",children:"Expose this variant to aliases and route pickers"}),(0,st.jsx)(Io,{checked:e?.enabled===!0,onCheckedChange:c=>i?.({...e,enabled:c})})]})}),(0,st.jsx)(He,{label:"Preload on startup",stacked:!0,children:(0,st.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,st.jsx)("span",{className:"text-sm text-foreground",children:"Load it when the local runtime starts"}),(0,st.jsx)(Io,{checked:e?.preload===!0,onCheckedChange:c=>i?.({...e,preload:c})})]})})]}),(0,st.jsx)(He,{label:"Capability hints",stacked:!0,hint:"Leave unset unless this model needs a routing override.",children:(0,st.jsx)(Fm,{capabilities:e?.capabilities||{},onChange:(c,d)=>{let u={...e?.capabilities||{}};typeof d=="boolean"?u[c]=d:delete u[c],i?.({...e,capabilities:u})}})}),o?(0,st.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:o}):null,(0,st.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,st.jsx)(H,{type:"button",variant:"outline",onClick:()=>s?.(),disabled:a,children:"Cancel"}),(0,st.jsx)(H,{type:"submit",disabled:r||a,children:a?"Saving\u2026":"Save variant"})]})]})}var _=B(te(),1);function bB(e){let t=String(e||"").trim().toLowerCase();return t?t==="running"?{label:"Running",variant:"success"}:t==="stale"?{label:"Stale runtime",variant:"warning"}:t==="invalid"?{label:"Invalid runtime",variant:"warning"}:t==="stopped"?{label:"Stopped",variant:"outline"}:{label:t,variant:"outline"}:{label:"Needs validation",variant:"outline"}}function WE(e){let t=String(e||"").trim().toLowerCase();return!t||t==="available"?{label:"Available",variant:"success"}:t==="stale"?{label:"Stale",variant:"warning"}:t==="missing"?{label:"Missing",variant:"warning"}:t==="invalid"?{label:"Invalid",variant:"warning"}:{label:t,variant:"outline"}}function vB(e){let t=String(e||"").trim().toLowerCase();return!t||t==="safe"?{label:"Safe",variant:"success"}:t==="tight"?{label:"Tight",variant:"warning"}:t==="over-budget"?{label:"Over budget",variant:"danger"}:{label:t,variant:"outline"}}function xB(e){return String(e||"").includes("managed")?"Managed":"Attached"}function Ks(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"";let n=["B","KB","MB","GB","TB"],r=t,o=0;for(;r>=1024&&o<n.length-1;)r/=1024,o+=1;return`${r>=10||o===0?r.toFixed(0):r.toFixed(1)} ${n[o]}`}function Eb(e){return/\.gguf$/i.test(String(e||"").trim())}function SB(e){let t=String(e||"").trim();if(!t)return"";let n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n>0?t.slice(0,n):""}function wB({candidate:e,busy:t=!1,onUseRuntime:n}){return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.label||e?.path}),(0,_.jsx)(_e,{variant:"outline",children:e?.source||"path"}),e?.isTurboQuant?(0,_.jsx)(_e,{variant:"warning",children:"TurboQuant"}):null,e?.current?(0,_.jsx)(_e,{variant:"success",children:"Configured"}):null,(0,_.jsx)(_e,{variant:e?.ok===!1?"warning":"outline",children:e?.ok===!1?"Needs review":"Detected"})]}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:e?.path}),e?.directory?(0,_.jsxs)("div",{className:"font-mono text-xs text-muted-foreground/80",children:["Dir: ",e.directory]}):null,e?.errorMessage?(0,_.jsx)("div",{className:"text-xs text-amber-900",children:e.errorMessage}):null]}),(0,_.jsx)("div",{className:"flex shrink-0 items-center",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>n?.(e?.path),disabled:t||e?.current===!0||e?.ok===!1,children:e?.current===!0?"Selected":t?"Selecting\u2026":"Use runtime"})})]})})}function AB({entry:e,variantCount:t=0,disabledReason:n="",busy:r=!1,onCreateVariant:o,onLocateModel:a,onRemoveModel:i}){let l=WE(e?.availability),s=Ks(e?.metadata?.sizeBytes),c=String(e?.metadata?.repo||"").trim(),d=String(e?.metadata?.file||"").trim(),u=!n&&l.label==="Available",f=l.label!=="Available";return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.displayName||e?.id}),(0,_.jsx)(_e,{variant:"outline",children:xB(e?.source)}),(0,_.jsx)(_e,{variant:l.variant,children:l.label}),s?(0,_.jsx)(_e,{variant:"outline",children:s}):null]}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:e?.path||"Path not recorded"}),c||d?(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:[c||"Managed file",d?` \u2022 ${d}`:""]}):null,(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:[t," variant",t===1?"":"s"," attached to this base model."]})]}),(0,_.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",onClick:()=>o?.(e),disabled:!u||r,children:"Create variant"}),f?(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>a?.(e),disabled:!!n||r,children:"Locate model"}):null,(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>i?.(e),disabled:!!n||r,children:"Remove"})]})]})})}function CB({variant:e,baseModel:t,runtimeStatus:n,onEdit:r}){let o=WE(e?.availability||t?.availability),a=vB(e?.capacityState),i=o.label!=="Available"?o.label:String(n?.label||"").trim()||"Stopped";return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.name||e?.id}),(0,_.jsx)(_e,{variant:e?.enabled===!0?"success":"outline",children:e?.enabled===!0?"Enabled":"Disabled"}),e?.preload===!0?(0,_.jsx)(_e,{variant:"warning",children:"Preload"}):null,(0,_.jsx)(_e,{variant:a.variant,children:a.label}),(0,_.jsx)(_e,{variant:o.variant,children:o.label})]}),(0,_.jsx)("div",{className:"font-mono text-xs text-muted-foreground",children:e?.id||"Missing model id"}),(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Base model: ",t?.displayName||t?.id||e?.baseModelId," \u2022 Context: ",Ho(e?.contextWindow)]}),(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Runtime state: ",i]})]}),(0,_.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>r?.(e),children:"Edit"})})]})})}function RB({result:e,downloading:t=!1,onDownload:n}){return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e.file}),e.quantization?(0,_.jsx)(_e,{variant:"outline",children:e.quantization}):null,(e.badges||[]).map(r=>(0,_.jsx)(_e,{variant:"outline",children:r},`${e.repo}:${e.file}:${r}`))]}),(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:e.repo}),e.sizeBytes?(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:Ks(e.sizeBytes)}):null,e.disabledReason?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:e.disabledReason}):null,e.recommendation?(0,_.jsx)("div",{className:"rounded-xl border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:e.recommendation}):null]}),(0,_.jsx)(H,{size:"sm",onClick:()=>n?.(e),disabled:e.disabled===!0||t,children:t?"Downloading\u2026":"Download"})]})})}function YE({runtime:e={},library:t={},variants:n={},disableEditsReason:r="",onSelectRuntime:o,onStartRuntime:a,onStopRuntime:i,onSaveRuntimeSettings:l,onSaveVariant:s,onRefreshLibrary:c,onAttachModel:d,onLocateModel:u,onRemoveModel:f,onDownloadManagedModel:p}){let b=bB(e?.status),m=(0,Ln.useMemo)(()=>Object.values(t||{}),[t]),v=(0,Ln.useMemo)(()=>Object.values(n||{}),[n]),h=String(e?.selectedCommand||e?.manualCommand||"").trim(),g=String(e?.selectedDirectory||"").trim()||SB(h),y=String(e?.host||"127.0.0.1").trim()||"127.0.0.1",x=Number.isFinite(Number(e?.port))?Number(e.port):39391,A=String(e?.status||"").trim().toLowerCase()==="running",[N,E]=(0,Ln.useState)({open:!1,draft:null,baseModelId:"",title:""}),[C,O]=(0,Ln.useState)(!1),[L,V]=(0,Ln.useState)({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""}),[z,G]=(0,Ln.useState)({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""}),[Z,ue]=(0,Ln.useState)({open:!1,query:"",searching:!1,results:[],error:"",downloadingKey:"",progressLabel:""}),[q,oe]=(0,Ln.useState)(!1),[ee,W]=(0,Ln.useState)(""),[j,Ie]=(0,Ln.useState)({selecting:!1,starting:!1,stopping:!1,savingSettings:!1,error:""}),[ne,Ve]=(0,Ln.useState)(e?.startWithRouter===!0),[ae,Se]=(0,Ln.useState)({loading:!1,error:"",runtime:null});(0,Ln.useEffect)(()=>{Ve(e?.startWithRouter===!0)},[e?.startWithRouter]);let ze=(0,Ln.useMemo)(()=>{let T=String(N?.draft?.id||"").trim(),M=String(N?.draft?.key||"").trim();return new Set(v.filter(F=>String(F?.key||"").trim()!==M).map(F=>String(F?.id||"").trim()).filter(F=>F&&F===T))},[N?.draft?.id,N?.draft?.key,v]),U=N?.baseModelId&&t[N.baseModelId]||null,fe=KE(N?.draft||{},ze),ve=String(L?.draft?.id||"").trim()?String(L?.draft?.filePath||"").trim()?Eb(L?.draft?.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.":"Model id is required.",ke=String(z.filePath||"").trim()?Eb(z.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.";(0,Ln.useEffect)(()=>{!r&&typeof c=="function"&&c({silent:!0})},[]);async function we(){Se(T=>({...T,loading:!0,error:""}));try{let T=await Ny();Se({loading:!1,error:"",runtime:T?.runtime||null})}catch(T){Se({loading:!1,error:T instanceof Error?T.message:String(T),runtime:null})}}(0,Ln.useEffect)(()=>{let T=!1;async function M(){Se(F=>({...F,loading:!0,error:""}));try{let F=await Ny();if(T)return;Se({loading:!1,error:"",runtime:F?.runtime||null})}catch(F){if(T)return;Se({loading:!1,error:F instanceof Error?F.message:String(F),runtime:null})}}return M(),()=>{T=!0}},[h,e?.startWithRouter,e?.status]);async function Ee(T){let M=String(T||"").trim();if(!(!M||!o)){Ie(F=>({...F,selecting:!0,error:""}));try{await o(M)&&await we()}catch(F){Ie(ce=>({...ce,selecting:!1,error:F instanceof Error?F.message:String(F)}));return}Ie(F=>({...F,selecting:!1,error:""}))}}async function qe(){if(!(!a||!h)){Ie(T=>({...T,starting:!0,error:""}));try{await a(),await we(),Ie(T=>({...T,starting:!1,error:""}))}catch(T){Ie(M=>({...M,starting:!1,error:T instanceof Error?T.message:String(T)}))}}}async function We(){if(i){Ie(T=>({...T,stopping:!0,error:""}));try{await i(),await we(),Ie(T=>({...T,stopping:!1,error:""}))}catch(T){Ie(M=>({...M,stopping:!1,error:T instanceof Error?T.message:String(T)}))}}}async function nn(){if(l){Ie(T=>({...T,savingSettings:!0,error:""}));try{await l({startWithRouter:ne}),await we(),Ie(T=>({...T,savingSettings:!1,error:""}))}catch(T){Ie(M=>({...M,savingSettings:!1,error:T instanceof Error?T.message:String(T)}))}}}async function Dn(){Ie(T=>({...T,selecting:!0,error:""}));try{let T=await om("runtime"),M=String(T?.selection?.path||"").trim();if(!M){Ie(ce=>({...ce,selecting:!1,error:""}));return}await o?.(M)&&await we(),Ie(ce=>({...ce,selecting:!1,error:""}))}catch(T){Ie(M=>({...M,selecting:!1,error:T instanceof Error?T.message:String(T)}))}}function cn(T){E({open:!0,title:"Create local variant",baseModelId:T?.id||"",draft:HE(T,n)})}function xt(T){E({open:!0,title:"Edit local variant",baseModelId:T?.baseModelId||"",draft:$E(T)})}function ht(){C||E({open:!1,draft:null,baseModelId:"",title:""})}async function yt(){if(!N?.draft||fe)return;O(!0);let T=!1;try{let M={...N.draft,contextWindow:Km(N.draft.contextWindow)};T=await s?.(M)}finally{O(!1)}T&&E({open:!1,draft:null,baseModelId:"",title:""})}function Ue(){V({open:!0,saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:"",draft:{id:"",displayName:"",filePath:""}})}function It(){L.saving||V({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}async function Wt(){if(ve)return;V(M=>({...M,saving:!0}));let T=!1;try{T=await d?.(L.draft)}finally{V(M=>({...M,saving:!1}))}T&&V({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}function pn(T){let M=Nb(T,t);V(F=>({...F,draft:{id:M.id,displayName:M.displayName,filePath:M.filePath},error:""}))}async function wr(T){V(M=>({...M,browseBusy:!0,error:""}));try{let M=await om(T),F=String(M?.selection?.path||"").trim(),ce=Array.isArray(M?.matches)?M.matches:[];F&&T==="file"&&ce.length>0?pn(ce[0].filePath||F):V(Je=>({...Je,draft:{...Je.draft,filePath:F||Je.draft.filePath},scanMatches:ce,error:ce.length===0&&T==="directory"&&F?"No GGUF files were found in that folder.":""}))}catch(M){V(F=>({...F,error:M instanceof Error?M.message:String(M)}))}finally{V(M=>({...M,browseBusy:!1}))}}async function Te(){let T=String(L?.draft?.filePath||"").trim();if(T){V(M=>({...M,scanBusy:!0,error:""}));try{let M=await T1(T),F=Array.isArray(M?.matches)?M.matches:[];V(ce=>({...ce,scanMatches:F,error:F.length===0?"No GGUF files were found at that path.":""})),F.length===1&&Eb(F[0]?.filePath)&&pn(F[0].filePath)}catch(M){V(F=>({...F,error:M instanceof Error?M.message:String(M)}))}finally{V(M=>({...M,scanBusy:!1}))}}}function et(T){G({open:!0,baseModelId:T?.id||"",displayName:T?.displayName||T?.id||"",filePath:T?.path||"",saving:!1,browseBusy:!1,error:""})}function ft(){z.saving||G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function lo(){if(!z.baseModelId||!String(z.filePath||"").trim())return;G(M=>({...M,saving:!0}));let T=!1;try{T=await u?.({baseModelId:z.baseModelId,filePath:z.filePath})}finally{G(M=>({...M,saving:!1}))}T&&G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function St(){G(T=>({...T,browseBusy:!0,error:""}));try{let T=await om("file"),M=String(T?.selection?.path||"").trim();M&&G(F=>({...F,filePath:M}))}catch(T){G(M=>({...M,error:T instanceof Error?T.message:String(T)}))}finally{G(T=>({...T,browseBusy:!1}))}}async function Re(T){if(!(!T?.id||!(typeof window>"u"||window.confirm(`Remove local model "${T.displayName||T.id}" and all of its variants?`)))){W(`remove:${T.id}`);try{await f?.(T.id)}finally{W("")}}}async function gn(){oe(!0);try{await c?.({silent:!1})}finally{oe(!1)}}async function k(T=null){let M=T??Z.query;ue(F=>({...F,searching:!0,error:""}));try{let F=await x1({query:M,expectedContextWindow:2e5});ue(ce=>({...ce,query:M,results:F,searching:!1,error:""}))}catch(F){ue(ce=>({...ce,query:M,searching:!1,error:F instanceof Error?F.message:String(F)}))}}function me(){ue(T=>({...T,open:!0,error:"",progressLabel:""})),(Z.results||[]).length===0&&!Z.searching&&k("")}function re(){Z.downloadingKey||ue(T=>({...T,open:!1,error:"",progressLabel:""}))}async function Pe(T){let M=FE(T,t),F=`${T.repo}:${T.file}`;ue(Je=>({...Je,downloadingKey:F,progressLabel:"Preparing download\u2026",error:""}));let ce=!1;try{ce=await p?.({...M,repo:T.repo,file:T.file},{onMessage:Je=>{if(Je?.type==="progress"){let Vt=Number(Je?.event?.receivedBytes||0),Ne=Number(Je?.event?.totalBytes||0),Y=Ne>0?`${Ks(Vt)} / ${Ks(Ne)}`:Vt>0?Ks(Vt):"Downloading\u2026";ue(ge=>({...ge,progressLabel:Y}))}}})}finally{ue(Je=>({...Je,downloadingKey:"",progressLabel:""}))}ce&&ue(Je=>({...Je,open:!1,downloadingKey:"",progressLabel:"",error:""}))}return(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"llama.cpp Runtime"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Native runtime configuration"})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[A?(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:We,disabled:j.stopping,children:j.stopping?"Stopping\u2026":"Stop Runtime"}):(0,_.jsx)(H,{size:"sm",onClick:qe,disabled:!h||j.starting,children:j.starting?"Starting\u2026":"Start Runtime"}),(0,_.jsx)(_e,{variant:b.variant,children:b.label})]})]}),(0,_.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Selected Command"}),(0,_.jsx)("div",{className:"mt-2 break-all font-mono text-sm text-foreground",children:h||"Not configured yet"}),g?(0,_.jsxs)("div",{className:"mt-2 font-mono text-xs text-muted-foreground",children:["Dir: ",g]}):null]}),(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Runtime Address"}),(0,_.jsx)("div",{className:"mt-2 font-mono text-sm text-foreground",children:`${y}:${x}`})]}),(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Start With Router"}),(0,_.jsx)("div",{className:"mt-2 text-sm text-foreground",children:e?.startWithRouter===!0?"Enabled":"Disabled"})]})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Runtime Settings"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Auto-start launches the selected `llama-server` when the router starts."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,_.jsx)("label",{className:"text-sm text-foreground",children:"Auto-start with router"}),(0,_.jsx)(Io,{checked:ne,onCheckedChange:Ve,disabled:!!r||j.savingSettings}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:nn,disabled:!!r||j.savingSettings,children:j.savingSettings?"Saving\u2026":"Save Settings"})]})]}),(0,_.jsxs)("div",{className:"space-y-3",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Detected runtimes"}),(0,_.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Auto-search checks `PATH`, Homebrew, and common source-build locations such as `~/src/llama-cpp-turboquant/build/bin`. TurboQuant builds are labeled explicitly when detected."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Dn,disabled:j.selecting,children:j.selecting?"Selecting\u2026":"Browse runtime"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>{we()},disabled:ae.loading||j.selecting,children:ae.loading?"Refreshing\u2026":"Refresh runtimes"})]})]}),j.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:j.error}):null,ae.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ae.error}):null,(ae.runtime?.candidates||[]).length===0&&!ae.loading?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-4 text-sm text-muted-foreground",children:"No local `llama-server` candidates were detected yet. If TurboQuant is already built outside the common search locations, use Browse runtime and point the router at the binary directly."}):(0,_.jsx)("div",{className:"space-y-3",children:(ae.runtime?.candidates||[]).map(T=>(0,_.jsx)(wB,{candidate:T,busy:j.selecting,onUseRuntime:Ee},T.path||T.id))})]})]})}),(0,_.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]",children:[(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Library"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Tracked GGUF base models"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Create router-facing variants from managed Hugging Face downloads or attached GGUF paths. Missing or stale files stay visible until you repair or remove them."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Ue,disabled:!!r,children:"Attach path"}),(0,_.jsx)(H,{size:"sm",onClick:me,disabled:!!r,children:"Download from Hugging Face"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:gn,disabled:!!r||q,children:q?"Refreshing\u2026":"Refresh status"})]})]}),r?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:r}):null,(0,_.jsx)("div",{className:"space-y-3",children:m.length===0?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"No `llama.cpp` base models are tracked yet. Managed downloads and attached GGUF files will land here."}):m.map(T=>(0,_.jsx)(AB,{entry:T,variantCount:v.filter(M=>M?.baseModelId===T.id).length,disabledReason:r,busy:ee===`remove:${T.id}`,onCreateVariant:cn,onLocateModel:et,onRemoveModel:Re},T.id))})]})}),(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Variants"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Router-visible local models"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Variants behave like standard router models after save, including alias usage, context-window metadata, and capability hints."})]}),(0,_.jsx)("div",{className:"space-y-3",children:v.length===0?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"No local variants yet. Start from a base model on the left, choose a preset, and expose the saved variant to aliases and route pickers."}):v.map(T=>(0,_.jsx)(CB,{variant:T,baseModel:t[T?.baseModelId]||null,runtimeStatus:b,onEdit:xt},T.key||T.id))})]})})]}),(0,_.jsx)(En,{open:L.open,onClose:It,title:"Attach local GGUF",description:"Register an existing GGUF file in place. The router stores metadata only and does not copy the file.",contentClassName:"max-w-xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(He,{label:"GGUF file path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(it,{value:L.draft.filePath,onChange:T=>{let M={...L.draft,filePath:T.target.value};if(!String(L.draft.id||"").trim()||!String(L.draft.displayName||"").trim()){let F=Nb(T.target.value,t);String(L.draft.id||"").trim()||(M.id=F.id),String(L.draft.displayName||"").trim()||(M.displayName=F.displayName)}V(F=>({...F,draft:M}))},placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>wr("file"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse file"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>wr("directory"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse folder"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Te,disabled:L.scanBusy||!String(L.draft.filePath||"").trim(),children:L.scanBusy?"Scanning\u2026":"Scan path"})]})]})}),(0,_.jsx)(He,{label:"Model name",stacked:!0,children:(0,_.jsx)(it,{value:L.draft.displayName,onChange:T=>V(M=>({...M,draft:{...M.draft,displayName:T.target.value}}))})}),(0,_.jsx)(He,{label:"Base model id",stacked:!0,hint:"Stable inventory id used for variants and stale-path recovery.",children:(0,_.jsx)(it,{value:L.draft.id,onChange:T=>V(M=>({...M,draft:{...M.draft,id:T.target.value}}))})}),L.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:L.error}):null,(L.scanMatches||[]).length>0?(0,_.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/60 p-3",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Scanned GGUF files"}),(L.scanMatches||[]).map(T=>(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2 rounded-xl border border-border/60 bg-background/80 px-3 py-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-medium text-foreground",children:T.fileName}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:T.filePath}),T.sizeBytes?(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:Ks(T.sizeBytes)}):null]}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>pn(T.filePath),disabled:L.saving,children:"Use file"})]},T.filePath))]}):null,ve?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ve}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(H,{type:"button",variant:"outline",onClick:It,disabled:L.saving,children:"Cancel"}),(0,_.jsx)(H,{type:"button",onClick:Wt,disabled:!!ve||L.saving,children:L.saving?"Attaching\u2026":"Attach model"})]})]})}),(0,_.jsx)(En,{open:z.open,onClose:ft,title:"Locate local model",description:`Update the file path for ${z.displayName||"this model"} without changing any attached variants.`,contentClassName:"max-w-xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(He,{label:"Updated GGUF path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(it,{value:z.filePath,onChange:T=>G(M=>({...M,filePath:T.target.value})),placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:St,disabled:z.browseBusy||z.saving,children:z.browseBusy?"Browsing\u2026":"Browse file"})})]})}),z.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:z.error}):null,ke?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ke}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(H,{type:"button",variant:"outline",onClick:ft,disabled:z.saving,children:"Cancel"}),(0,_.jsx)(H,{type:"button",onClick:lo,disabled:!!ke||z.saving,children:z.saving?"Updating\u2026":"Save path"})]})]})}),(0,_.jsx)(En,{open:Z.open,onClose:re,title:"Download GGUF from Hugging Face",description:"Public Hugging Face search only for v1. Unsupported or oversized files stay visible with explicit reasons instead of disappearing.",contentClassName:"max-w-4xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,_.jsx)(He,{label:"Search query",stacked:!0,className:"min-w-0 flex-1",children:(0,_.jsx)(it,{value:Z.query,onChange:T=>ue(M=>({...M,query:T.target.value})),placeholder:"qwen q5 gguf"})}),(0,_.jsx)(H,{type:"button",onClick:()=>k(),disabled:Z.searching,children:Z.searching?"Searching\u2026":"Search"})]}),Z.error?(0,_.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-800",children:Z.error}):null,Z.progressLabel?(0,_.jsx)("div",{className:"rounded-xl border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:Z.progressLabel}):null,(0,_.jsx)("div",{className:"space-y-3",children:(Z.results||[]).length===0&&!Z.searching?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"Search for a public GGUF repo or file name to download into the router-managed local model directory."}):(Z.results||[]).map(T=>(0,_.jsx)(RB,{result:T,downloading:Z.downloadingKey===`${T.repo}:${T.file}`,onDownload:Pe},`${T.repo}:${T.file}`))})]})}),(0,_.jsx)(En,{open:N.open,onClose:ht,title:N.title,description:"Create a router-visible local model without touching the base GGUF file. Presets seed the context window, while the backend enforces Mac unified-memory activation limits.",contentClassName:"max-w-2xl",children:(0,_.jsx)(qE,{draft:N.draft,baseModel:U,duplicateIds:ze,saveDisabled:!!fe,saveDisabledReason:fe,saving:C,onChange:T=>{let M=String(T?.preset||N?.draft?.preset||"balanced").trim()||"balanced",F=String(N?.draft?.preset||"balanced").trim()||"balanced",ce=Km(N?.draft?.contextWindow),Je=M!==F&&ce===Lu[F]?.contextWindow;E(Vt=>({...Vt,draft:{...T,contextWindow:Je?Lu[M]?.contextWindow??T?.contextWindow:T?.contextWindow}}))},onCancel:ht,onSave:yt})})]})}var Qo=B(te(),1);function XE({summary:e,llamacpp:t,ollama:n}){let[r,o]=(0,QE.useState)("ollama");return(0,Qo.jsxs)(bi,{value:r,onValueChange:o,className:"space-y-4",children:[(0,Qo.jsxs)(vi,{children:[(0,Qo.jsx)(Gn,{value:"ollama",children:"Ollama"}),(0,Qo.jsx)(Gn,{value:"llamacpp",children:"llama.cpp"})]}),(0,Qo.jsx)(qn,{value:"ollama",children:(0,Qo.jsx)(UE,{...n,embedded:!0})}),(0,Qo.jsx)(qn,{value:"llamacpp",children:(0,Qo.jsx)(YE,{...t})})]})}var Gm=B(xe(),1);var de=B(te(),1);function NB(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function EB(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function JE(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return NB(e).map((r,o)=>{let a=r.options.map(i=>(0,de.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:EB(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,de.jsxs)(xl,{children:[(0,de.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function TB({className:e=""}){return(0,de.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,de.jsx)("path",{d:"M10 2.75 4.75 5v4.12c0 3.42 2.1 6.58 5.25 7.88 3.15-1.3 5.25-4.46 5.25-7.88V5L10 2.75Z"}),(0,de.jsx)("circle",{cx:"10",cy:"9",r:"1.4"}),(0,de.jsx)("path",{d:"M10 10.4v2.1"})]})}function ZE({rows:e,routeOptions:t,webSearchSnapshot:n,ampClientUrl:r,ampClientGlobal:o,routingBusy:a,onToggleGlobalRouting:i,onInboundChange:l,onOutboundChange:s,onCreateEntry:c,onRemoveEntry:d,onOpenWebSearchTab:u,onOpenConfigPath:f,onOpenSecretsPath:p,hasMasterKey:b,disabledReason:m,autosaveState:v}){let[h,g]=(0,Gm.useState)(!1),[y,x]=(0,Gm.useState)(""),[A,N]=(0,Gm.useState)(String(t[0]?.value||"").trim()),E=e.some(W=>String(W?.inbound||"").trim()===String(y||"").trim()&&String(y||"").trim()),C=String(y||"").trim()&&String(A||"").trim()&&!E,O=o?.routedViaRouter===!0,L=String(o?.error||"").trim(),V=!!(b&&r&&!m&&!L),z=Number(n?.configuredProviderCount)||0,G=O&&z===0,Z=m?"warning":v.status==="error"?"danger":v.status==="pending"?"outline":v.status==="saving"?"info":v.savedAt?"success":"outline",ue=m?"Needs review":v.status==="error"?"Save failed":v.status==="pending"?"Unsaved":v.status==="saving"?"saving...":v.savedAt?"Saved":"Ready",q=m||(v.status==="error"?v.message:v.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":v.status==="saving"?"Saving changes...":v.savedAt?`Last saved ${ks(v.savedAt)}.`:"AMP route changes auto-save after valid edits.");async function oe(){!C||await c?.({inbound:y,outbound:A})===!1||(g(!1),x(""),N(String(t[0]?.value||"").trim()))}function ee(){g(!0),x(""),N(String(t[0]?.value||"").trim())}return(0,de.jsx)("div",{className:"grid gap-4",children:(0,de.jsxs)(Lt,{children:[(0,de.jsxs)(Jr,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsx)(Bo,{className:"flex items-center gap-2",children:(0,de.jsx)("span",{children:"Use AMP via LLM Router"})}),(0,de.jsx)(Um,{primaryLabel:"Config file",primaryValue:o?.settingsFilePath||"",onOpenPrimary:f,secondaryLabel:"Secrets file",secondaryValue:o?.secretsFilePath||"",secondaryIcon:(0,de.jsx)(TB,{className:"h-3 w-3"}),onOpenSecondary:p})]}),(0,de.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,de.jsx)(H,{type:"button",size:"sm",variant:O?"outline":void 0,onClick:i,disabled:a!==""||!O&&!V,children:a==="enable"?"Connecting\u2026":a==="disable"?"Disconnecting\u2026":O?"Disconnect":"Connect"})})]}),(0,de.jsxs)(Dt,{className:"space-y-4 p-4",children:[L?(0,de.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:L}):null,!O&&!b?(0,de.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,de.jsx)("code",{children:"masterKey"})," first to connect AMP."]}):null,G?(0,de.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:[(0,de.jsx)("div",{className:"max-w-3xl",children:"AMP is connected, but no alternative web search provider is configured. AMP web search is only available through the shared Web Search tab."}),(0,de.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:u,children:"Open Web Search"})]}):null,m?(0,de.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:m}):(0,de.jsxs)("div",{className:"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,de.jsxs)("div",{children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Route mapping editor"}),(0,de.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Map built-in AMP route keys and wildcard model matches to managed routes."})]}),(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)(_e,{variant:Z,children:ue}),(0,de.jsxs)(_e,{variant:"outline",children:[e.length," routes"]}),(0,de.jsx)(H,{type:"button",size:"sm",onClick:ee,children:"Add custom mapping"})]})]}),(0,de.jsx)("div",{className:"text-xs text-muted-foreground",children:q}),h?(0,de.jsx)("div",{className:"rounded-2xl border border-dashed border-border bg-background/80 p-3",children:(0,de.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Add custom mapping"}),(0,de.jsx)(_e,{variant:"info",children:"Custom"})]}),(0,de.jsxs)("div",{className:"text-xs leading-5 text-muted-foreground",children:["Match a built-in AMP route key like ",(0,de.jsx)("code",{children:"smart"})," or a wildcard such as ",(0,de.jsx)("code",{children:"gpt-*-codex*"}),", then send it to any managed route."]}),(0,de.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,de.jsx)(H,{type:"button",size:"sm",onClick:oe,disabled:!C,children:"Create mapping"}),(0,de.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>g(!1),children:"Close"})]})]}),(0,de.jsx)(He,{label:"Inbound match",hint:"Built-in route key or AMP model pattern",children:(0,de.jsx)(it,{value:y,onChange:W=>x(W.target.value),placeholder:"smart or gpt-*-codex*"})}),(0,de.jsx)(He,{label:"Route target",hint:"Alias or provider/model route in LLM Router",children:(0,de.jsxs)(Xt,{value:A||void 0,onValueChange:N,children:[(0,de.jsx)(Jt,{children:(0,de.jsx)(Zt,{placeholder:"Select local route"})}),(0,de.jsx)(en,{children:JE(t,{keyPrefix:"amp-route-create",includeHint:!0})})]})})]})}):null,(0,de.jsx)("div",{className:"space-y-2",children:e.map(W=>(0,de.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-3",children:(0,de.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:W.label}),W.isCustom?(0,de.jsx)(_e,{variant:"info",children:"Custom"}):null]}),(0,de.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:W.description}),W.removable?(0,de.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>d(W.id),children:"Remove"}):null]}),(0,de.jsx)(He,{label:"Inbound wildcard",hint:W.defaultMatch?`Default: ${W.defaultMatch}`:"AMP model pattern",children:(0,de.jsx)(Im,{commitOnBlur:!0,value:W.inbound,onValueCommit:j=>l(W.id,j),placeholder:W.defaultMatch||"gpt-*-codex*",onKeyDown:j=>{j.key==="Enter"&&(j.preventDefault(),j.currentTarget.blur())}})}),(0,de.jsx)(He,{label:"Target route",hint:"Alias or provider/model route",children:(0,de.jsxs)(Xt,{value:W.outbound||"__default__",onValueChange:j=>s(W.id,j),children:[(0,de.jsx)(Jt,{children:(0,de.jsx)(Zt,{placeholder:W.removable?"Choose target route":"Use default route"})}),(0,de.jsxs)(en,{children:[W.removable?null:(0,de.jsx)(Ct,{value:"__default__",children:"Use default route"}),JE(t,{keyPrefix:`amp-route-${W.id}`,includeHint:!0})]})]})})]})},W.id))})]})]})]})})}var La=B(xe(),1);var J=B(te(),1);function MB({className:e=""}){return(0,J.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,J.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,J.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function OB({open:e=!1,onClose:t=()=>{},candidates:n=[],onTestAndAdd:r=async()=>{},disabledReason:o=""}){let[a,i]=(0,La.useState)(""),[l,s]=(0,La.useState)(""),[c,d]=(0,La.useState)(!1),[u,f]=(0,La.useState)(""),p=Array.isArray(n)?n:[],b=p.find(y=>y.providerId===a)||p[0]||null,m=Array.isArray(b?.models)?b.models:[];(0,La.useEffect)(()=>{if(!e){d(!1),f("");return}let y=p[0]?.providerId||"";i(x=>p.some(N=>N.providerId===x)?x:y)},[e,p]),(0,La.useEffect)(()=>{let y=m[0]?.value||"";s(x=>m.some(N=>N.value===x)?x:y)},[m]);let v=wi(a,l),h=e&&!c&&!o&&a&&l;async function g(){if(h){d(!0),f("");try{await r({providerId:a,modelId:l}),t()}catch(y){f(y instanceof Error?y.message:String(y))}finally{d(!1)}}}return(0,J.jsx)(En,{open:e,onClose:()=>{c||t()},title:"Add ChatGPT Search Endpoint",description:"Choose a configured OpenAI-compatible GPT route. Test runs a live Responses API request with the native web search tool, then saves the route on success.",contentClassName:"max-h-[92vh] max-w-3xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,J.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,J.jsx)(H,{type:"button",variant:"ghost",onClick:t,disabled:c,children:"Cancel"}),(0,J.jsx)(H,{type:"button",onClick:()=>{g()},disabled:!h,children:c?"Testing\u2026":"Test connection"})]}),children:(0,J.jsxs)("div",{className:"space-y-4",children:[o?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:o}):null,!o&&p.length===0?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:"No configured OpenAI-compatible GPT providers are available yet. Add a provider with a GPT model first."}):null,p.length>0?(0,J.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,J.jsx)(He,{label:"Provider",hint:"Configured provider or ChatGPT subscription",stacked:!0,children:(0,J.jsxs)(Xt,{value:a||void 0,onValueChange:i,disabled:c||!!o,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose provider"})}),(0,J.jsx)(en,{children:p.map(y=>(0,J.jsx)(Ct,{value:y.providerId,children:y.providerLabel},y.providerId))})]})}),(0,J.jsx)(He,{label:"GPT model",hint:"Only GPT models on OpenAI-compatible routes are listed",stacked:!0,children:(0,J.jsxs)(Xt,{value:l||void 0,onValueChange:s,disabled:c||!!o||m.length===0,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose model"})}),(0,J.jsx)(en,{children:m.map(y=>(0,J.jsx)(Ct,{value:y.value,children:y.label},y.routeId))})]})})]}):null,v?(0,J.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,J.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Saved route id"}),(0,J.jsx)("div",{className:"mt-1 text-sm font-medium text-foreground",children:v}),(0,J.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:"This route stores only the provider/model reference. No separate API key or quota is saved here."})]}):null,u?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:u}):null]})})}function eT({webSearchConfig:e,webSearchProviders:t,hostedSearchCandidates:n,onWebSearchStrategyChange:r,onWebSearchProviderChange:o,onWebSearchProviderMove:a,onRemoveWebSearchProvider:i,onAddHostedSearchEndpoint:l,disabledReason:s,autosaveState:c}){let[d,u]=(0,La.useState)(!1),f=String(e?.strategy||"ordered").trim()==="quota-balance"?"quota-balance":"ordered",p=Array.isArray(n)&&n.some(m=>Array.isArray(m?.models)&&m.models.length>0),b=s||(c.status==="error"?c.message:c.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":c.status==="saving"?"Saving changes...":c.savedAt?`Last saved ${ks(c.savedAt)}.`:"");return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(Lt,{children:[(0,J.jsxs)(Jr,{className:"flex flex-col gap-4 p-4 pb-0 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsxs)("div",{className:"space-y-1",children:[(0,J.jsx)(Bo,{children:"Web Search"}),(0,J.jsx)(pi,{className:"text-xs leading-5",children:"Shared web search routing for AMP and other router-managed tools."}),b?(0,J.jsx)("div",{className:"text-xs text-muted-foreground",children:b}):null]}),(0,J.jsxs)("div",{className:"flex w-full shrink-0 flex-wrap items-end justify-end gap-3 xl:w-auto",children:[(0,J.jsxs)("div",{className:"min-w-[12rem] space-y-1",children:[(0,J.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing strategy"}),(0,J.jsxs)(Xt,{value:f,onValueChange:r,disabled:!!s,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose strategy"})}),(0,J.jsx)(en,{children:yC.map(m=>(0,J.jsx)(Ct,{value:m.value,children:m.label},m.value))})]})]}),(0,J.jsxs)(H,{type:"button",variant:"outline",className:"gap-2",onClick:()=>u(!0),disabled:!!s||!p,children:[(0,J.jsx)(MB,{className:"h-3.5 w-3.5"}),(0,J.jsx)("span",{children:"Endpoint"})]})]})]}),(0,J.jsx)(Dt,{className:"space-y-4 p-4",children:(0,J.jsx)("div",{className:"space-y-3",children:(t||[]).map(m=>{if(m.kind==="hosted"){let g=m.runtimeState&&m.runtimeState.ready===!1?"This provider/model route is no longer available or is not OpenAI-compatible.":"";return(0,J.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,J.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,J.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsxs)("div",{className:"min-w-0",children:[(0,J.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,J.jsx)(Sb,{active:m.active}),(0,J.jsx)("div",{className:"text-sm font-medium text-foreground",children:m.label}),(0,J.jsx)(_e,{variant:"outline",children:"GPT Search"})]}),(0,J.jsx)("div",{className:"mt-1 text-xs break-all text-muted-foreground",children:m.routeId}),(0,J.jsx)("div",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:"Uses the provider's native OpenAI Responses web search tool. No local API key or quota is stored here."})]}),(0,J.jsxs)("div",{className:"flex items-center gap-2 self-start",children:[(0,J.jsxs)("div",{className:"flex items-center gap-2 rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,J.jsx)(Oa,{disabled:!!s||m.displayIndex<=0,label:`Move ${m.routeId} up`,onClick:()=>a(m.id,"up")}),(0,J.jsx)(Sl,{disabled:!!s||m.displayIndex>=m.displayCount-1,label:`Move ${m.routeId} down`,onClick:()=>a(m.id,"down")})]}),(0,J.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>i(m.id),disabled:!!s,children:"Remove"})]})]}),g?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:g}):null]})},m.key)}let v=m.credentialField,h=String(m?.credentialValue||"").trim();return(0,J.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,J.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,J.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsx)("div",{className:"min-w-0",children:(0,J.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,J.jsx)(Sb,{active:m.active}),(0,J.jsx)("div",{className:"text-sm font-medium text-foreground",children:m.label})]})}),(0,J.jsxs)("div",{className:"flex items-center gap-2 self-start rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,J.jsx)(Oa,{disabled:!!s||m.displayIndex<=0,label:`Move ${m.label} up`,onClick:()=>a(m.id,"up")}),(0,J.jsx)(Sl,{disabled:!!s||m.displayIndex>=m.displayCount-1,label:`Move ${m.label} down`,onClick:()=>a(m.id,"down")})]})]}),(0,J.jsxs)("div",{className:"grid gap-3 lg:grid-cols-[minmax(0,0.9fr)_minmax(0,1.35fr)]",children:[(0,J.jsx)(He,{label:m.credentialLabel,hint:m.credentialField==="url"?"Required to enable this backend.":"Required to enable this backend. Stored in router config.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(Hs,{buffered:!0,value:h,placeholder:m.credentialPlaceholder,onValueChange:g=>o(m.id,v,g),disabled:!!s,isEnvVar:m.credentialField==="url"})}),(0,J.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[(0,J.jsx)(He,{label:"Result per call",hint:"Empty keeps the default of 5.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(zm,{value:m.resultPerCallInput,placeholder:"Default: 5",allowEmptyCommit:!0,onValueChange:g=>o(m.id,"count",g),disabled:!!s})}),(0,J.jsx)(He,{label:"Monthly limit",hint:"0 keeps quotas self-managed.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(zm,{value:String(m.limit||0),onValueChange:g=>o(m.id,"limit",g),disabled:!!s})}),(0,J.jsx)(He,{label:"Synced remaining",hint:"Adjust after manual upstream sync.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(zm,{value:String(m.remaining||0),onValueChange:g=>o(m.id,"remaining",g),disabled:!!s})})]})]})]})},m.key)})})})]}),(0,J.jsx)(OB,{open:d,onClose:()=>u(!1),candidates:n,onTestAndAdd:l,disabledReason:s})]})}var Du=B(xe(),1);var S=B(te(),1);function kB(e=""){let t=String(e||"").trim();if(!t)return{};let n=If(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function _B(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...kB(o)}));return n}function LB(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function DB(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function BB(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return LB(e).map((r,o)=>{let a=r.options.map(i=>(0,S.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:DB(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,S.jsxs)(xl,{children:[(0,S.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function IB({className:e=""}){return(0,S.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,S.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,S.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,S.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,S.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function nT({bindingValue:e="",thinkingLevel:t="",configFilePath:n="",endpointUrl:r=""}={}){let o=String(e||"").trim(),a=String(t||"").trim(),i=String(n||"").trim(),l=String(r||"").trim(),s=Bf(o),c=s?"Mode: Inherit Codex model":o?`Mode: Pinned to ${o}`:"Mode: Choose a route",d=s?{variant:"success",title:"Inherit mode keeps Codex-native model picks intact.",body:(0,S.jsxs)(S.Fragment,{children:["Codex CLI still chooses its own model name. Create a same-name alias in the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab so LLM Router can resolve that name to the real upstream target you want."]})}:o?{variant:"info",title:"Pinned mode forces one router target.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router writes ",(0,S.jsxs)("code",{children:["model=",o]})," into Codex CLI config. That is the simplest setup when every Codex session should use one managed route or alias."]})}:{variant:"warning",title:"Choose your model strategy before you connect.",body:(0,S.jsxs)(S.Fragment,{children:["Pick ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," if Codex should keep using its built-in model names, or pick one managed route/alias if you want a single fixed target."]})};return{title:"Codex CLI guide",description:"Quick setup for routing Codex CLI through LLM Router while keeping model routing easy to inspect and change later.",badges:[{label:c,variant:s?"success":o?"info":"outline"},{label:a?`Thinking: ${a}`:"Thinking: Codex default",variant:"outline"},{label:i?"Config file detected":"User config: ~/.codex/config.toml",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Codex CLI at LLM Router",body:l?(0,S.jsxs)(S.Fragment,{children:["When connected, Codex sends requests to ",(0,S.jsx)("code",{children:l}),". LLM Router then handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Codex CLI so it talks to LLM Router instead of a provider directly."]})},{eyebrow:"2. Route",title:"Choose between inherit and pinned mode",body:s?(0,S.jsxs)(S.Fragment,{children:["Keep Codex model names such as ",(0,S.jsx)("code",{children:"gpt-5.4"}),", then create matching aliases in LLM Router, for example ",(0,S.jsx)("code",{children:"gpt-5.4"})," -> ",(0,S.jsx)("code",{children:"demo/gpt-4o-mini"}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Select one managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," when you want every Codex request to land on the same router target."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," writes Codex CLI ",(0,S.jsx)("code",{children:"model_reasoning_effort"})," with the official values ",(0,S.jsx)("code",{children:"minimal"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", ",(0,S.jsx)("code",{children:"high"}),", or ",(0,S.jsx)("code",{children:"xhigh"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch the Codex CLI config file and router base URL."]}),s?(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," on ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"}),", then create aliases that match the Codex model names you actually use."]}):o?(0,S.jsxs)(S.Fragment,{children:["Your current default is pinned to ",(0,S.jsx)("code",{children:o}),". Change it only when you want Codex to use a different managed route or alias."]}):(0,S.jsxs)(S.Fragment,{children:["Choose either ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," or one managed route/alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," before you start using Codex through the router."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"; leave it unset to keep Codex CLI defaults."]})]},{title:"Choose the right model strategy",items:[(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," when you want Codex-native model names and model-specific UI/options to remain visible."]}),(0,S.jsx)(S.Fragment,{children:"Use a fixed route or alias when your team wants one centrally managed target regardless of what Codex would otherwise choose."}),(0,S.jsx)(S.Fragment,{children:"If Codex-specific options disappear after pinning a route, switch back to inherit mode and route those same model names through aliases instead."})]},{title:"Where these settings land",items:[i?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Codex CLI usually stores user settings in ",(0,S.jsx)("code",{children:"~/.codex/config.toml"}),". Trusted projects can also add overrides in ",(0,S.jsx)("code",{children:".codex/config.toml"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings in this panel map to Codex CLI ",(0,S.jsx)("code",{children:"model"})," and ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Codex CLI Config File"})," whenever you want to inspect the exact generated config."]})]},{title:"Quick verify",items:[(0,S.jsx)(S.Fragment,{children:"Open the config file from this page and confirm the values match the mode you intended."}),(0,S.jsx)(S.Fragment,{children:"Start Codex CLI and run a small prompt. If inherit mode is on, make sure the Codex model you selected has a same-name alias in LLM Router."}),(0,S.jsxs)(S.Fragment,{children:["If requests fail after switching models, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first because the alias behind that model name may be missing or pointed at the wrong target."]})]}]}}function rT({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.primaryModel||"").trim(),o=String(e?.defaultOpusModel||"").trim(),a=String(e?.defaultSonnetModel||"").trim(),i=String(e?.defaultHaikuModel||"").trim(),l=String(e?.subagentModel||"").trim(),s=oC(e?.thinkingLevel),c=String(t||"").trim(),d=String(n||"").trim(),u=[r,o,a,i,l,s].filter(Boolean).length,f=r?{variant:"info",title:"Primary model override is active.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router is currently writing ",(0,S.jsxs)("code",{children:["ANTHROPIC_MODEL=",r]}),". Leave that field blank if you want Claude Code to keep choosing its own primary model."]})}:u>0?{variant:"info",title:"Only filled fields are overridden.",body:(0,S.jsx)(S.Fragment,{children:"Claude Code continues to inherit its normal defaults for every blank field. This is useful when you only want to steer alias models, subagents, or effort level through LLM Router."})}:{variant:"success",title:"Blank fields are a valid setup.",body:(0,S.jsx)(S.Fragment,{children:"You do not need to fill every binding. Leave fields empty unless you want LLM Router to override that specific Claude Code setting."})};return{title:"Claude Code guide",description:"Quick setup for routing Claude Code through LLM Router while keeping only the model and effort level overrides you actually want.",badges:[{label:u>0?`${u} override${u===1?"":"s"} active`:"No router overrides",variant:u>0?"info":"outline"},{label:s?`Effort: ${s}`:"Effort: Claude adaptive default",variant:"outline"},{label:c?"Settings file detected":"Settings scope: local/project/user",variant:"outline"}],callout:f,highlights:[{eyebrow:"1. Connect",title:"Point Claude Code at the router",body:d?(0,S.jsxs)(S.Fragment,{children:["When connected, Claude Code sends requests to ",(0,S.jsx)("code",{children:d}),". LLM Router then handles upstream auth, route selection, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code so it uses the router Anthropic endpoint instead of a provider directly."]})},{eyebrow:"2. Override",title:"Set only the bindings you need",body:(0,S.jsxs)(S.Fragment,{children:["Leave fields blank to inherit Claude Code defaults. Fill ",(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),", the Opus/Sonnet/Haiku defaults, or ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"})," only when you want LLM Router to manage those values."]})},{eyebrow:"3. Effort",title:"Set thinking effort level",body:(0,S.jsxs)(S.Fragment,{children:["The ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," dropdown writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile. If the shell profile cannot be updated, ",(0,S.jsx)("code",{children:"effortLevel"})," is set in ",(0,S.jsx)("code",{children:"settings.json"}),' as a fallback (only "high" is supported there).']})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code toward the router and keep provider credentials centralized inside LLM Router."]}),(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Current model override"})," empty unless you explicitly want to replace Claude Code's own main model selection."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Default Opus"}),", ",(0,S.jsx)("span",{className:"font-medium",children:"Default Sonnet"}),", and ",(0,S.jsx)("span",{className:"font-medium",children:"Default Haiku"})," when you want Claude Code's built-in alias names to resolve to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Sub-agent model"})," when background workers or helper agents should run on a different route than the main session."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," to set ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," in your shell profile; leave it unset to keep Claude Code's adaptive default. The ",(0,S.jsx)("code",{children:"effortLevel"})," key in ",(0,S.jsx)("code",{children:"settings.json"}),' (only "high") acts as a fallback when the shell profile cannot be updated.']})]},{title:"What each binding controls",items:[(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),": overrides the main model for the active Claude Code session."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_OPUS_MODEL"}),", ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_SONNET_MODEL"}),", and ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_HAIKU_MODEL"}),": remap Claude Code's built-in alias names to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),": routes subagents and background workers to a specific managed model."]}),s?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": currently set to ",(0,S.jsx)("span",{className:"font-medium",children:s})," in your shell profile."]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": stays unset unless you choose an effort level."]})]},{title:"Settings scope and precedence",items:[(0,S.jsxs)(S.Fragment,{children:["Claude Code settings apply in this order: ",(0,S.jsx)("code",{children:"managed-settings.json"}),", CLI arguments, ",(0,S.jsx)("code",{children:".claude/settings.local.json"}),", ",(0,S.jsx)("code",{children:".claude/settings.json"}),", then ",(0,S.jsx)("code",{children:"~/.claude/settings.json"}),"."]}),c?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:c}),"."]}):(0,S.jsx)(S.Fragment,{children:"Claude Code can read from project-local, project-shared, or user settings files depending on what exists in your environment."}),(0,S.jsx)(S.Fragment,{children:"If a value seems ignored, check whether a higher-precedence file or command-line flag is overriding it."})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"env"})," block contains only the overrides you meant to set."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Claude Code and test both the main session and any subagents if you changed ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["If thinking behavior is not what you expected, remember this UI writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile; clearing the field returns control to Claude Code's own default behavior."]})]}]}}function oT({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.defaultModel||"").trim(),o=String(e?.missionOrchestratorModel||"").trim(),a=String(e?.missionWorkerModel||"").trim(),i=String(e?.missionValidatorModel||"").trim(),l=aC(e?.reasoningEffort),s=String(t||"").trim(),c=String(n||"").trim(),d=r||o||a||i?{variant:"info",title:"Factory defaults are set.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries, sets each managed provider to ",(0,S.jsx)("code",{children:"openai"})," or ",(0,S.jsx)("code",{children:"anthropic"})," based on the routed model format, and writes separate defaults for normal sessions and Missions."]})}:{variant:"success",title:"Factory Droid connected via managed custom models.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries pointing at the gateway. Set normal or Mission defaults below, or use Factory Droid's ",(0,S.jsx)("code",{children:"/model"})," command to pick the routed model at runtime."]})};return{title:"Factory Droid guide",description:"Quick setup for routing Factory Droid through LLM Router via router-managed custom models.",badges:[{label:r?`Normal: ${r}`:"Normal: Factory default",variant:r?"info":"outline"},{label:o?`Orchestrator: ${o}`:"Orchestrator: Factory default",variant:o?"info":"outline"},{label:a?`Worker: ${a}`:"Worker: Factory default",variant:a?"info":"outline"},{label:i?`Validator: ${i}`:"Validator: Factory default",variant:i?"info":"outline"},{label:l?`Reasoning: ${l}`:"Reasoning: Droid default",variant:"outline"},{label:s?"Settings file detected":"User config: ~/.factory/settings.json",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Factory Droid at LLM Router",body:c?(0,S.jsxs)(S.Fragment,{children:["When connected, Factory Droid sends requests to ",(0,S.jsx)("code",{children:c}),". LLM Router handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject router-managed custom models into Factory Droid settings."]})},{eyebrow:"2. Route",title:"Set normal and Mission defaults",body:(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," for regular sessions, then set separate Mission bindings for the orchestrator, worker, and validator roles."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," writes Factory Droid ",(0,S.jsx)("code",{children:"reasoningEffort"}),". Values: ",(0,S.jsx)("code",{children:"off"}),", ",(0,S.jsx)("code",{children:"none"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", or ",(0,S.jsx)("code",{children:"high"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject a managed ",(0,S.jsx)("code",{children:"customModels"})," entry into ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),r?(0,S.jsxs)(S.Fragment,{children:["Your normal-session default is ",(0,S.jsx)("code",{children:r}),". Change it any time from this panel."]}):(0,S.jsxs)(S.Fragment,{children:["Choose a managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," to set the default Factory session route."]}),o?(0,S.jsxs)(S.Fragment,{children:["Your Mission orchestrator default is ",(0,S.jsx)("code",{children:o}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission orchestrator"})," when mission planning should use a specific route."]}),a?(0,S.jsxs)(S.Fragment,{children:["Your Mission worker default is ",(0,S.jsx)("code",{children:a}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission worker"})," when implementation workers should use a specific route."]}),i?(0,S.jsxs)(S.Fragment,{children:["Your Mission validator default is ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission validator"})," when validation workers should use a specific route."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"reasoningEffort"}),"; leave it unset to keep Factory Droid defaults."]})]},{title:"How it works",items:[(0,S.jsxs)(S.Fragment,{children:["LLM Router adds router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries with ",(0,S.jsx)("code",{children:'provider: "openai"'})," or ",(0,S.jsx)("code",{children:'provider: "anthropic"'}),", plus the matching gateway base URL for that request format."]}),(0,S.jsxs)(S.Fragment,{children:["Each injected entry has a ",(0,S.jsx)("code",{children:"_llmRouterManaged"})," marker so it can be cleanly updated or removed without touching your other custom models."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings map to both the legacy root ",(0,S.jsx)("code",{children:"model"})," field and current Factory settings such as ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"}),", ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),", and ",(0,S.jsx)("code",{children:"missionModelSettings"}),"."]}),(0,S.jsx)(S.Fragment,{children:"Disconnecting removes only the router-managed entries and restores any backed-up session, Mission, or reasoning settings."})]},{title:"Where these settings land",items:[s?(0,S.jsxs)(S.Fragment,{children:["This page is managing ",(0,S.jsx)("code",{children:s}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Factory Droid stores user settings in ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The normal-session binding maps to ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"})," and the legacy root ",(0,S.jsx)("code",{children:"model"})," field."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission orchestrator binding maps to ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission worker binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.workerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission validator binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.validationWorkerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Config File"})," to inspect the generated settings."]})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"customModels"})," array contains the LLM Router entry."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Factory Droid and run a small prompt. Use ",(0,S.jsx)("code",{children:"/model"})," to confirm the routed model is available."]}),(0,S.jsxs)(S.Fragment,{children:["If requests fail, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first to ensure the alias behind your model exists."]})]}]}}function zB(e="outline"){switch(e){case"success":return"border-emerald-200 bg-emerald-50";case"warning":return"border-amber-200 bg-amber-50";case"danger":return"border-rose-200 bg-rose-50";case"info":return"border-sky-200 bg-sky-50";default:return"border-border/70 bg-background/70"}}function tT(e="outline"){switch(e){case"success":return"text-emerald-950";case"warning":return"text-amber-950";case"danger":return"text-rose-950";case"info":return"text-sky-950";default:return"text-foreground"}}function PB({guideContent:e}){let[t,n]=(0,Du.useState)(!1),r=String(e?.title||"").trim()||"Guide",o=String(e?.description||"").trim(),a=Array.isArray(e?.badges)?e.badges.filter(Boolean):[],i=Array.isArray(e?.highlights)?e.highlights.filter(Boolean):[],l=Array.isArray(e?.sections)?e.sections.filter(Boolean):[],s=e?.callout&&e.callout.body?e.callout:null,c=s?.variant||"outline";return i.length===0&&l.length===0&&!s?null:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(H,{type:"button",size:"sm",variant:"outline","aria-label":r,onClick:()=>n(!0),children:"Guide"}),(0,S.jsx)(En,{open:t,onClose:()=>n(!1),title:r,description:o,contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,S.jsxs)("div",{className:"space-y-4",children:[a.length>0?(0,S.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:a.map((d,u)=>(0,S.jsx)(_e,{variant:d?.variant||"outline",children:d?.label},`${r}-badge-${u}`))}):null,s?(0,S.jsxs)("div",{className:Q("rounded-2xl border p-4",zB(c)),children:[(0,S.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,S.jsx)(_e,{variant:["success","warning","danger","info"].includes(c)?c:"outline",children:c==="success"?"Current best fit":c==="warning"?"Needs attention":c==="info"?"Current behavior":"Guide note"}),(0,S.jsx)("div",{className:Q("text-sm font-medium",tT(c)),children:s.title})]}),(0,S.jsx)("div",{className:Q("mt-3 text-sm leading-6",tT(c)),children:s.body})]}):null,i.length>0?(0,S.jsx)("div",{className:Q("grid gap-4",i.length>2?"md:grid-cols-3":"md:grid-cols-2"),children:i.map((d,u)=>(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[d?.eyebrow?(0,S.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:d.eyebrow}):null,(0,S.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:d?.title}),(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d?.body})]},`${r}-highlight-${u}`))}):null,l.map((d,u)=>{let f=Array.isArray(d?.items)?d.items.filter(Boolean):[];return(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:d?.title}),d?.description?(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.description}):null,f.length>0?(0,S.jsx)("div",{className:"mt-3 space-y-3",children:f.map((p,b)=>(0,S.jsxs)("div",{className:"flex gap-3 text-sm leading-6 text-foreground",children:[(0,S.jsx)("span",{className:"mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-foreground/50"}),(0,S.jsx)("div",{className:"min-w-0",children:p})]},`${r}-section-${u}-item-${b}`))}):null]},`${r}-section-${u}`)})]})})]})}function UB({field:e,routeOptions:t,disabled:n=!1,onValueChange:r}){let o=String(e?.value||"").trim()||(e?.allowUnset?"__unset__":""),a=(0,Du.useMemo)(()=>{let i=e?.usesRouteOptions===!1?[]:t,l=Array.isArray(e?.options)?e.options:[],s=Array.isArray(e?.extraOptions)?e.extraOptions:[];return e?.allowUnset?[{value:"__unset__",label:"Inherit tool default",hint:""},...s,...l,...i]:[...s,...l,...i]},[e?.allowUnset,e?.extraOptions,e?.options,e?.usesRouteOptions,t]);return(0,S.jsxs)(Xt,{value:o,onValueChange:r,disabled:n||a.length===0,children:[(0,S.jsx)(Jt,{children:(0,S.jsx)(Zt,{placeholder:e.placeholder||"Select a route"})}),(0,S.jsx)(en,{children:a.length>0?BB(a,{keyPrefix:e.id||"binding-option"}):(0,S.jsx)(Ct,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})}function qm({toolName:e,toolState:t,endpointUrl:n,routeOptions:r,connectionBusy:o,bindingBusy:a,onToggleRouting:i,onBindingChange:l,hasMasterKey:s,disabledReason:c,onOpenPrimaryPath:d,onOpenSecondaryPath:u,secondaryPathLabel:f="Backup file",secondaryPathIcon:p=(0,S.jsx)(IB,{className:"h-3 w-3"}),bindingFields:b=[],guideContent:m=null}){let v=t?.routedViaRouter===!0,h=String(t?.error||"").trim(),g=!!(s&&n&&!c&&!h),y=(0,Du.useMemo)(()=>{let A=new Set(["__unset__"]);for(let N of b){for(let E of Array.isArray(N?.extraOptions)?N.extraOptions:[]){let C=String(E?.value||"").trim();C&&A.add(C)}for(let E of Array.isArray(N?.options)?N.options:[]){let C=String(E?.value||"").trim();C&&A.add(C)}}return b.filter(N=>N?.usesRouteOptions!==!1).map(N=>String(N?.value||"").trim()).filter(N=>N&&!A.has(N))},[b]),x=_B(r,y);return(0,S.jsxs)(Lt,{children:[(0,S.jsxs)(Jr,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,S.jsxs)("div",{className:"space-y-2",children:[(0,S.jsx)(Bo,{className:"flex items-center gap-2",children:(0,S.jsx)("span",{children:`Use ${e} via LLM Router`})}),(0,S.jsx)(Um,{primaryLabel:"Config file",primaryValue:t?.configFilePath||t?.settingsFilePath||"",onOpenPrimary:d,secondaryLabel:f,secondaryValue:t?.backupFilePath||"",secondaryIcon:p,onOpenSecondary:u})]}),(0,S.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[m?(0,S.jsx)(PB,{guideContent:m}):null,(0,S.jsx)(H,{type:"button",size:"sm",variant:v?"outline":void 0,onClick:i,disabled:o!==""||!v&&!g,children:o==="enable"?"Connecting\u2026":o==="disable"?"Disconnecting\u2026":v?"Disconnect":"Connect"})]})]}),(0,S.jsxs)(Dt,{className:"space-y-4 p-4",children:[h?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:h}):null,!v&&!s?(0,S.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,S.jsx)("code",{children:"masterKey"})," first to connect ",e,"."]}):null,c?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:c}):null,(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,S.jsx)("div",{children:(0,S.jsxs)("div",{children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Model bindings"}),(0,S.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Prefer LLM Router aliases here so you can retarget models later from the Alias & Fallback tab."})]})}),b.length===0?(0,S.jsx)("div",{className:"mt-4 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"No tool bindings are available yet."}):(0,S.jsx)("div",{className:"mt-4 grid gap-3",children:b.map(A=>(0,S.jsxs)("div",{className:"rounded-xl border border-border/70 bg-background/80 p-3",children:[(0,S.jsxs)("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:A.label}),(0,S.jsx)(_e,{variant:"outline",children:A.envKey})]}),(0,S.jsx)("div",{className:"mb-3 text-xs leading-5 text-muted-foreground",children:A.description}),(0,S.jsx)(UB,{field:A,routeOptions:x,disabled:A.standaloneWhenDisconnected?a:!v||a,onValueChange:N=>l(A.id,N==="__unset__"?"":N)})]},A.id))})]})]})]})}var Ot=B(te(),1);function aT({logs:e,activityLogEnabled:t=!0,activityFilter:n="usage",busyAction:r="",onActivityFilterChange:o,onToggleEnabled:a,onClear:i}){let l=Array.isArray(e)?e:[],s=l.filter(d=>n==="all"?!0:py(d)===n),c=ou[n]||ou.usage;return(0,Ot.jsxs)(Lt,{children:[(0,Ot.jsx)(Jr,{children:(0,Ot.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,Ot.jsxs)("div",{className:"space-y-1",children:[(0,Ot.jsx)(Bo,{children:"Activity"}),(0,Ot.jsx)(pi,{children:t?"Router actions, request fallbacks, and runtime issues stream here.":"Activity logging is paused. Re-enable it to capture router actions, request fallbacks, and runtime issues."})]}),(0,Ot.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,Ot.jsx)("div",{className:"min-w-[13rem]",children:(0,Ot.jsxs)(Xt,{value:n,onValueChange:o,searchEnabled:!1,children:[(0,Ot.jsx)(Jt,{children:(0,Ot.jsx)(Zt,{placeholder:"Filter category"})}),(0,Ot.jsx)(en,{children:iC.map(d=>(0,Ot.jsx)(Ct,{value:d.value,children:d.label},d.value))})]})}),(0,Ot.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:i,disabled:r!==""||!e?.length,children:r==="clear"?"Clearing\u2026":"Clear log"}),(0,Ot.jsx)(H,{type:"button",size:"sm",variant:t?"outline":"default",onClick:a,disabled:r!=="",children:r==="toggle"?"Updating\u2026":t?"Disable log":"Enable log"})]})]})}),(0,Ot.jsx)(Dt,{children:(0,Ot.jsx)("div",{className:"max-h-[32rem] space-y-3 overflow-auto pr-1",children:s.length?s.map(d=>{let u=py(d),f=ou[u]||ou.usage;return(0,Ot.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,Ot.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,Ot.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Ot.jsx)("span",{className:Q("inline-flex h-2.5 w-2.5 rounded-full ring-4",sy[d.level]||sy.info)}),(0,Ot.jsx)(_e,{variant:f.badgeVariant,children:f.label}),(0,Ot.jsx)("span",{className:"text-sm font-medium text-foreground",children:d.message})]}),(0,Ot.jsx)("span",{className:"text-xs text-muted-foreground",children:ks(d.time)})]}),d.detail?(0,Ot.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.detail}):null]},d.id)}):l.length?(0,Ot.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No ",c.emptyLabel," activity matches the current filter. Switch the dropdown to inspect the hidden categories."]}):(0,Ot.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"Activity is quiet. Save config changes or start the router to populate this stream."})})})]})}var Bt=B(xe(),1);var Tb=B(xe(),1);var bn=B(te(),1);function iT({rows:e,onChange:t}){let n=Qf(e),r=n.length>0?n:[{name:"",value:""}];function o(l,s,c){s==="name"&&OC(r,c,l)||t(r.map((d,u)=>u===l?{...d,[s]:c}:d))}function a(){t([...r,{name:"",value:""}])}function i(l){let s=r.filter((c,d)=>d!==l);t(s.length>0?s:[{name:"",value:""}])}return(0,bn.jsxs)("div",{className:"space-y-2",children:[r.map((l,s)=>(0,bn.jsxs)("div",{className:"grid gap-2 md:grid-cols-[minmax(0,0.9fr)_minmax(0,1.3fr)_auto]",children:[(0,bn.jsx)(it,{value:l.name,onChange:c=>o(s,"name",c.target.value),placeholder:s===0?"User-Agent":"Header name"}),(0,bn.jsx)(it,{value:l.value,onChange:c=>o(s,"value",c.target.value),placeholder:s===0?no:"Header value"}),(0,bn.jsx)(H,{type:"button",variant:"ghost",onClick:()=>i(s),children:"Remove"})]},`header-row-${s}`)),(0,bn.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs text-muted-foreground",children:[(0,bn.jsx)("span",{children:"User-Agent is included by default. Add more only when a provider needs them."}),(0,bn.jsx)(H,{type:"button",variant:"outline",onClick:a,children:"Add custom header"})]})]})}function lT({providerId:e,values:t,onChange:n}){let r=(t||[]).map(u=>String(u||"").trim()).filter(Boolean),o=$s(r),a=(0,Tb.useRef)(""),i=(0,Tb.useRef)(null);function l(u){n((t||[]).filter(f=>f!==u))}function s(u,f){if(!u||!f||u===f)return;let p=[...t||[]],b=p.indexOf(u),m=p.indexOf(f);if(b===-1||m===-1)return;let[v]=p.splice(b,1);p.splice(m,0,v),n(p)}function c(u){n(Ts(t||[],u,f=>String(f||"").trim()))}function d(){a.current="",Ea(i.current,!1),i.current=null}return(0,bn.jsxs)("div",{className:"space-y-2",children:[(0,bn.jsx)("div",{className:"space-y-2 rounded-xl border border-input bg-background/80 px-3 py-3",children:r.length>0?r.map((u,f)=>(0,bn.jsxs)("div",{ref:o(u),"data-reorder-row":"true",onDragOver:p=>{a.current&&a.current!==u&&(p.preventDefault(),p.dataTransfer.dropEffect="move")},onDrop:p=>{p.preventDefault();let b=p.dataTransfer.getData("text/plain")||a.current;d(),s(b,u)},className:Q("grid grid-cols-[auto_auto_minmax(0,1fr)_auto] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3"),children:[(0,bn.jsx)("span",{className:"flex h-8 w-8 cursor-grab items-center justify-center rounded-full text-muted-foreground",draggable:!0,onDragStart:p=>{let b=Ms(p.currentTarget);p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",u),b&&typeof p.dataTransfer?.setDragImage=="function"&&p.dataTransfer.setDragImage(b,20,20),d(),a.current=u,i.current=b,Ea(b,!0)},onDragEnd:d,title:"Drag to reorder",children:(0,bn.jsx)(Ns,{className:"h-4 w-4"})}),(0,bn.jsx)(Oa,{disabled:f===0,label:f===0?"Already first":`Move ${e}/${u} up`,onClick:()=>c(u)}),(0,bn.jsxs)("span",{className:"truncate text-sm font-medium text-foreground",children:[e,"/",u]}),(0,bn.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground",type:"button",onMouseDown:p=>p.preventDefault(),onClick:()=>l(u),children:"\xD7"})]},u)):(0,bn.jsxs)("span",{className:"block px-1 text-xs text-muted-foreground",children:["Leave it empty for now, or add models to back the fixed ",(0,bn.jsx)("code",{children:"default"})," route. An empty default route returns 500 until you add a working model."]})}),(0,bn.jsx)("div",{className:"text-xs text-muted-foreground",children:"Drag rows to change the preferred order, use the arrow to move a model earlier, or remove any models you do not want in this route."})]})}var P=B(te(),1);function Mb({baseConfig:e,onApplyDraft:t,onValidateDraft:n,onSaveDraft:r,onSaveAndStart:o,seedMode:a="blank",mode:i="add",targetProviderId:l="",defaultProviderUserAgent:s=no,framed:c=!0,showHeader:d=!0}){let[u,f]=(0,Bt.useState)(0),[p,b]=(0,Bt.useState)(""),[m,v]=(0,Bt.useState)(()=>KC(e,{seedMode:a,targetProviderId:l,defaultProviderUserAgent:s})),[h,g]=(0,Bt.useState)(null),[y,x]=(0,Bt.useState)(""),[A,N]=(0,Bt.useState)({}),[E,C]=(0,Bt.useState)(!1),[O,L]=(0,Bt.useState)(null),[V,z]=(0,Bt.useState)(""),[G,Z]=(0,Bt.useState)(!1),[ue,q]=(0,Bt.useState)(""),oe=(0,Bt.useRef)(!0),ee=(0,Bt.useRef)(""),W=(0,Bt.useRef)(Math.random().toString(36).slice(2,10)),j=i==="edit",Ie=!j&&a==="blank"&&em(e),ne=`llr-qs-endpoint-${W.current}`,Ve=`llr-qs-endpoint-input-${W.current}`,ae=`llr-qs-credential-${W.current}`,Se=`llr-qs-credential-input-${W.current}`,ze=[{title:"Provider",detail:"Choose API Key or OAuth first, then enter the provider details needed for that connection type."},{title:"Models",detail:"Add model ids, then configure one or more rate limits for all models or selected models. API Key providers are tested before continue."},{title:"Default",detail:"Order the models behind the fixed `default` route before you finish."}],U=rr(m.modelIds,m.modelDraft),fe=Zf(m.aliasModelIds,U),ve=m.connectionType==="api"?rr(m.endpoints,m.endpointDraft):[],ke=(0,Bt.useMemo)(()=>({...m,endpoints:ve,modelIds:U,aliasModelIds:fe,rateLimitRows:br(m.rateLimitRows)}),[m,ve,U,fe]),we=(0,Bt.useMemo)(()=>Xf(m.headerRows||[]),[m.headerRows]),Ee=String(m.apiKeyEnv||"").trim(),qe=(0,Bt.useMemo)(()=>vy(ke),[ke]),We=O?.signature===qe?O.result:null,nn=We?.models?.length>0?We.models:wy(m.selectedConnection||"custom"),Dn=Dr(m.providerId||m.providerName||"my-provider")||"my-provider",cn=Ay(m),xt=JSON.stringify({connectionType:m.connectionType,selectedConnection:m.selectedConnection,subscriptionProfile:cn}),ht=U.filter(X=>A[X]==="error"),yt=U.filter(X=>A[X]==="success"),Ue=U.some(X=>A[X]==="success"||A[X]==="error"),It=U.length>0&&U.every(X=>A[X]==="success"),Wt=yt.length>0,pn=ht.length>0,wr=U.some(X=>!A[X]||A[X]==="default"),Te=h?.signature===qe?h.result:null,et=m.connectionType!=="api"||Wt,ft=(0,Bt.useMemo)(()=>GC(e,ke,Te,{targetProviderId:l}),[e,ke,Te,l]),lo=(0,Bt.useMemo)(()=>`${JSON.stringify(ft,null,2)}
|
|
52
|
-
`,[ft]),St=Mt,Re=ze[u],gn=qC(u,ke,e,{targetProviderId:l});(0,Bt.useEffect)(()=>{TC()},[]),(0,Bt.useEffect)(()=>{let X=ee.current!==""&&ee.current!==qe;if(ee.current=qe,X&&m.connectionType==="api"&&(N({}),g(null),x(""),oe.current=!0,C(!1)),m.connectionType!=="api"){h!==null&&g(null),y&&x(""),Object.keys(A).length>0&&N({}),O!==null&&L(null),V&&z("");return}O?.signature&&O.signature!==qe&&(L(null),z(""))},[m.connectionType,qe,h,y,A,O,V]);function k(X,$e){v(Ke=>({...Ke,[X]:$e}))}function me(X){v($e=>{let Ke=Dr($e.providerName||""),lt=Dr(X||"")||"my-provider",vn=!$e.providerId||$e.providerId===Ke;return{...$e,providerName:X,providerId:vn?lt:$e.providerId}})}function re(X){x(""),g(null),N({}),L(null),z(""),oe.current=!0,C(!1),T(X,X==="api"?"custom":"oauth-gpt")}function Pe(X){x(""),g(null),N({}),L(null),z(""),oe.current=!0,C(!1);let $e=Lr(X);T($e.category,X)}function T(X,$e){v(Ke=>$C(Ke,{baseConfig:e,nextCategory:X,nextPresetKey:$e,defaultProviderUserAgent:s}))}async function M({force:X=!1,silent:$e=!1}={}){if(m.connectionType!=="api")return!1;if(ve.length===0||!Ee)return $e||z("Add endpoints and an API key or env before checking the model list API."),!1;if(!X&&O?.signature===qe)return!!(O?.result?.models||[]).length;Z(!0),$e||z("");try{let Ke=await Ze("/api/config/discover-provider-models",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:ve,...vo(Ee)?{apiKeyEnv:Ee}:{apiKey:Ee},...Object.keys(we).length>0?{headers:we}:{}})}),lt=(Ke.result?.models||[]).map(un=>String(un||"").trim()).filter(Boolean),vn={};if(lt.length>0){let un=m.selectedConnection;if(un&&uu.set(un,lt),Sy(ve)){let Wn=await v1(ve[0]||"",Ee,lt.filter(Yn=>!Yn.includes("embed")&&!Yn.includes("tts")&&!Yn.includes("image")&&!Yn.includes("lyria")&&!Yn.includes("veo")));Wn&&(lt=Wn)}try{let Wn=await xu(lt);vn=b1(Wn)}catch{vn={}}}let zr={...Ke.result&&typeof Ke.result=="object"?Ke.result:{},modelContextWindows:vn};if(L({signature:qe,result:zr}),lt.length>0)return v(un=>{if(vy(un)!==qe||un.connectionType!=="api")return un;let dn=Array.isArray(un.modelIds)?un.modelIds:[],Wn=X&&dn.length>0?Array.from(new Set([...dn,...lt])):dn.length>0?dn:lt,Yn={...un.modelContextWindows&&typeof un.modelContextWindows=="object"?un.modelContextWindows:{},...vn},qs=Sy(un.endpoints),Li=qs?FC(qs,Wn):null;return JSON.stringify(Wn)===JSON.stringify(dn)&&JSON.stringify(Yn)===JSON.stringify(un.modelContextWindows||{})&&!Li?un:{...un,modelIds:Wn,modelContextWindows:Yn,...Li?{rateLimitRows:Li}:{}}}),z(""),!0;let so=(Ke.result?.warnings||[]).join(" ")||"Model list API did not return any models. Add model ids manually if needed.";return z(so),!1}catch(Ke){let lt=Ke instanceof Error?Ke.message:String(Ke);return z(lt),!1}finally{Z(!1)}}async function F({onlyModels:X=null}={}){if(m.connectionType!=="api")return!0;let $e=X||U;b("test"),x(""),N(Ke=>{let lt={...Ke};for(let vn of $e)lt[vn]="pending";return lt});try{let Ke=await vu("/api/config/test-provider-stream",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:ve,models:$e,...vo(Ee)?{apiKeyEnv:Ee}:{apiKey:Ee},...Object.keys(we).length>0?{headers:we}:{}})},{onMessage:dn=>{if(dn?.type!=="progress")return;let Wn=dn.event||{};Wn.phase==="model-done"&&N(Yn=>({...Yn,[Wn.model]:Wn.confirmed?"success":"error"}))}}),lt=new Set(Ke?.models||[]),vn=h?.signature===qe?h.result:null,zr=new Set(vn?.models||[]);for(let dn of $e)lt.has(dn)?zr.add(dn):zr.delete(dn);let so={...vn||{},...Ke,models:Array.from(zr),workingFormats:Array.from(new Set([...vn?.workingFormats||[],...Ke?.workingFormats||[]])),ok:U.every(dn=>zr.has(dn))};g({signature:qe,result:so}),N(dn=>{let Wn={...dn};for(let Yn of $e)Wn[Yn]=lt.has(Yn)?"success":"error";return Wn});let un=$e.filter(dn=>!lt.has(dn));return un.length>0?(x((Ke?.warnings||[]).join(" ")||`${un.length} model(s) failed the provider test.`),!1):!0}catch(Ke){return N(lt=>{let vn={...lt};for(let zr of $e)(!vn[zr]||vn[zr]==="pending")&&(vn[zr]="error");return vn}),x(Ke instanceof Error?Ke.message:String(Ke)),!1}finally{b("")}}(0,Bt.useEffect)(()=>{u!==1||m.connectionType!=="api"||U.length>0||!Ee||ve.length===0||G||O?.signature===qe||M({silent:!0})},[u,m.connectionType,U.length,Ee,ve.length,G,O,qe]);async function ce({force:X=!1}={}){if(m.connectionType==="api"||!X&&ue===xt)return!0;let $e=Lr(m.selectedConnection||"oauth-gpt");b("oauth-login"),x("");try{return await Ze("/api/subscription/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({profileId:cn,providerId:Dn,subscriptionType:$e.subscriptionType||"chatgpt-codex"})}),q(xt),!0}catch(Ke){return x(Ke instanceof Error?Ke.message:String(Ke)),!1}finally{b("")}}async function Je(){u===0&&m.connectionType==="subscription"&&!await ce()||(u===1&&C(!0),f(X=>Math.min(X+1,ze.length-1)))}async function Vt(){let X=U.filter(lt=>A[lt]!=="success"),$e=oe.current;oe.current=!1,await F({onlyModels:X.length<U.length?X:null})&&$e&&!E&&(C(!0),f(lt=>Math.min(lt+1,ze.length-1)))}async function Ne(){let X=U.filter($e=>A[$e]==="error");X.length!==0&&await F({onlyModels:X})}function Y(){let X=U.filter($e=>A[$e]==="error");v($e=>({...$e,modelIds:($e.modelIds||[]).filter(Ke=>!X.includes(Ke))})),N($e=>{let Ke={...$e};for(let lt of X)delete Ke[lt];return Ke}),x(""),C(!0),f($e=>Math.min($e+1,ze.length-1))}async function ge(X){if((X==="save"||X==="save-start")&&m.connectionType==="api"&&!et){x("Finish is available after the provider test succeeds.");return}b(X);try{if(X==="apply"){await t(lo);return}if(X==="validate"){await n(lo);return}if(X==="save"){await r(lo);return}X==="save-start"&&await o(lo)}finally{b("")}}let Un=y||gn||(u===0&&m.connectionType==="subscription"&&ue!==xt?"Continue opens the browser sign-in flow for this provider.":u===1&&m.connectionType==="api"&&!Ue?"Test the provider against the entered endpoints and model ids using your API key or env.":u===1&&m.connectionType==="api"&&pn&&!It?`${yt.length} of ${U.length} model(s) confirmed. Fix or skip failed model(s) to continue.`:ze[u].detail),ki=m.selectedConnection==="oauth-claude"?"Examples: claude-opus-4-6 claude-sonnet-4-6 claude-haiku-4-5":m.selectedConnection==="oauth-gpt"?"Examples: gpt-5.3-codex gpt-5.2-codex gpt-5.1-codex-mini":(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)("span",{children:["Examples: gpt-4o-mini gpt-4.1-mini",Object.keys(We?.modelContextWindows||{}).length>0?` \xB7 ${Object.keys(We?.modelContextWindows||{}).length} context size${Object.keys(We?.modelContextWindows||{}).length===1?"":"s"} ready`:""]}),(0,P.jsx)("span",{className:"ml-2 text-amber-700",children:"Auto-discovered model ids may be incomplete or inaccurate if the provider is misconfigured. Verify the list and add or remove model ids yourself."})]}),_i=j?"Edit provider":Ie?"Add provider":"Quick start wizard",Iu=j?"Update this provider in place. Change endpoints, model ids, rate limits, alias, or provider id, then save the refreshed config.":Ie?"Add another provider with endpoints, model ids, rate limits, and a stable alias. API Key providers are auto-tested before save.":"",Gs=(0,P.jsx)("div",{className:"flex items-center gap-1",children:ze.map((X,$e)=>{let Ke=$e===u,lt=$e<u;return(0,P.jsxs)(Bt.Fragment,{children:[$e>0?(0,P.jsx)("span",{className:"text-[10px] text-muted-foreground/40 select-none",children:"/"}):null,(0,P.jsxs)("button",{type:"button",disabled:!lt,onClick:()=>{lt&&f($e)},className:Q("inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-colors",Ke?"bg-primary text-primary-foreground":lt?"text-emerald-700 hover:bg-emerald-50":"text-muted-foreground/50"),children:[(0,P.jsx)("span",{className:Q("inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold leading-none",Ke?"bg-primary-foreground/20":lt?"bg-emerald-100 text-emerald-700":"bg-muted"),children:$e+1}),X.title]})]},X.title)})}),Da=(0,P.jsxs)("div",{className:"space-y-5",children:[u===0?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:mC.map(X=>(0,P.jsxs)("button",{type:"button",className:Q("rounded-2xl border px-4 py-3 text-left transition",m.connectionType===X.value?"border-ring bg-background shadow-sm":"border-border/70 bg-background/70 hover:border-border"),onClick:()=>re(X.value),children:[(0,P.jsx)("div",{className:"text-sm font-medium text-foreground",children:X.label}),(0,P.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:X.description})]},X.value))}),(0,P.jsx)(He,{label:"Provider preset",children:(0,P.jsxs)(Xt,{value:m.selectedConnection||(m.connectionType==="api"?"custom":"oauth-gpt"),onValueChange:Pe,children:[(0,P.jsx)(Jt,{children:(0,P.jsx)(Zt,{})}),(0,P.jsx)(en,{children:EC(m.connectionType==="subscription"?"subscription":"api").map(X=>(0,P.jsxs)(Ct,{value:X.key,children:[X.label,(0,P.jsx)("span",{className:"ml-2 text-muted-foreground",children:X.description})]},X.key))})]})}),(0,P.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,P.jsx)(He,{label:"Provider name",children:(0,P.jsx)(it,{value:m.providerName,onChange:X=>me(X.target.value),placeholder:Lr(m.selectedConnection||"custom").providerName})}),(0,P.jsx)(He,{label:"Provider id",hint:"lowercase-hyphenated",children:(0,P.jsx)(it,{value:m.providerId,onChange:X=>k("providerId",X.target.value),onBlur:()=>k("providerId",Dr(m.providerId||m.providerName||"my-provider")||"my-provider"),placeholder:Lr(m.selectedConnection||"custom").providerId})})]}),m.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(He,{label:"Endpoints",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(ku,{values:m.endpoints,onChange:X=>k("endpoints",X),draftValue:m.endpointDraft,onDraftValueChange:X=>k("endpointDraft",X),commitOnBlur:!0,isValueValid:Si,placeholder:"Example: https://api.openai.com/v1",helperText:"Paste one or more endpoints",inputProps:{id:Ve,name:ne,autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,inputMode:"url","data-form-type":"other"}})}),(0,P.jsx)(He,{label:"API key or env",children:(0,P.jsx)(Hs,{value:m.apiKeyEnv,onChange:X=>k("apiKeyEnv",X.target.value),placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:vo(m.apiKeyEnv),maskMode:"obscured-text",inputProps:{id:Se,name:ae,autoComplete:"new-password",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,"data-form-type":"other","data-lpignore":"true","data-1p-ignore":"true"}})}),(0,P.jsx)(He,{label:"Custom headers",hint:"User-Agent included by default",children:(0,P.jsx)(iT,{rows:m.headerRows,onChange:X=>k("headerRows",X)})})]}):(0,P.jsxs)("div",{className:"space-y-3",children:[(0,P.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/45 px-4 py-3 text-sm leading-6 text-muted-foreground",children:m.selectedConnection==="oauth-claude"?"Continue opens the Claude sign-in page in your browser and stores the login for this provider automatically.":"Continue opens the ChatGPT sign-in page in your browser and stores the login for this provider automatically."}),m.selectedConnection==="oauth-claude"?(0,P.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,P.jsx)("span",{className:"font-medium",children:"Heads up:"})," Claude Code OAuth routes through Anthropic's API with your subscription credentials. Usage will count against your Claude Max/Pro plan's extra usage quota, not the included subscription messages. Make sure you have extra usage enabled on your Claude plan to avoid request failures."]}):(0,P.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,P.jsx)("span",{className:"font-medium",children:"Heads up:"})," ChatGPT subscriptions (Plus / Pro / Team) are separate from the OpenAI API and are intended for use within OpenAI's own apps. Routing requests through your subscription here may violate OpenAI's terms of service and could result in account restrictions."]})]})]}):null,u===1?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)(He,{label:"Models",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(ku,{values:m.modelIds,onChange:X=>k("modelIds",X),draftValue:m.modelDraft,onDraftValueChange:X=>k("modelDraft",X),commitOnBlur:!0,disabled:p==="test",valueStates:m.connectionType==="api"?A:{},placeholder:"Paste model ids",helperText:ki,suggestedValues:nn})}),m.connectionType==="api"&&G?(0,P.jsxs)("div",{className:"rounded-2xl border border-sky-200 bg-sky-50 px-4 py-3 text-sm text-sky-900",children:[(0,P.jsxs)("div",{className:"flex items-center gap-2 font-medium",children:[(0,P.jsx)(Br,{}),"Loading provider models"]}),(0,P.jsx)("div",{className:"mt-1 text-xs leading-5 text-sky-800/90",children:"LLM Router is checking the provider model list and matching context sizes for the discovered models."})]}):null,m.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(He,{label:"Rate limit",stacked:!0,headerAction:(0,P.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:()=>k("rateLimitRows",jm(m.rateLimitRows)),disabled:p==="test",children:"Add rate limit"}),children:(0,P.jsx)(Vm,{rows:m.rateLimitRows,onChange:X=>k("rateLimitRows",X),availableModelIds:U,disabled:p==="test"})}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm leading-6 text-muted-foreground",children:["The first model becomes the primary direct route. Add caps for ",(0,P.jsx)("code",{children:"all"})," models or target individual model ids when you need a narrower quota bucket."]})]}):null,m.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",It&&Ue?"border-emerald-200 bg-emerald-50 text-emerald-900":pn?"border-amber-200 bg-amber-50 text-amber-900":Wt?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-border/70 bg-background/80 text-muted-foreground"),children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,P.jsx)("div",{className:"mt-2",children:It&&Ue?`Confirmed ${yt.length} model(s) across ${(Te?.workingFormats||[]).join(", ")||"detected formats"}.`:pn?`${yt.length} of ${U.length} model(s) confirmed. ${ht.length} failed: ${ht.join(", ")}.`:Wt?`Confirmed ${yt.length} of ${U.length} model(s) across ${(Te?.workingFormats||[]).join(", ")||"detected formats"}.`:"Test the provider before continuing so the wizard can auto-detect the working endpoint format(s)."})]}):null]}):null,u===2?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:Ie||j?(0,P.jsx)(wE,{label:"Use this provider order for the default route",hint:"Updates the fixed `default` alias",checked:m.useAliasAsDefault,onCheckedChange:X=>k("useAliasAsDefault",X)}):(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm text-muted-foreground md:col-span-2",children:["The fixed ",(0,P.jsx)("code",{children:"default"})," route is created automatically. Arrange this provider's models in the order you want clients to try first."]})}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model order"}),(0,P.jsx)("div",{className:"mt-3",children:(0,P.jsx)(lT,{providerId:Dn,values:fe,onChange:X=>k("aliasModelIds",X)})})]}),(0,P.jsxs)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:Dn}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:m.providerName})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Connection"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:VC(m.selectedConnection||"custom")}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:m.connectionType==="api"?`${ve.length} endpoint candidate(s)`:"Browser sign-in flow"})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Models"}),(0,P.jsxs)("div",{className:"mt-2 text-sm font-medium text-foreground",children:[U.length," configured"]}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:U.join(", ")||"No models yet"})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Default route"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground break-all",children:St}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:m.useAliasAsDefault?"Requests to `default` and `smart` use this ordered list.":"This provider keeps its direct routes only until you opt it into the fixed default route."})]})]}),m.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",et?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-amber-200 bg-amber-50 text-amber-900"),children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,P.jsx)("div",{className:"mt-2",children:et?`Using ${(Te?.workingFormats||[]).join(", ")||"detected formats"}. The saved provider keeps the tested endpoint selection and confirmed models.`:"Finish is available after the provider test succeeds."})]}):null]}):null,(0,P.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border/70 pt-4 md:flex-row md:items-start md:justify-between md:gap-4",children:[(0,P.jsx)("div",{className:Q("min-w-0 flex-1 text-sm md:max-w-2xl",gn||y?"text-amber-700":"text-muted-foreground"),children:Un}),(0,P.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2 md:justify-end",children:[u>0?(0,P.jsx)(H,{variant:"ghost",onClick:()=>f(X=>Math.max(X-1,0)),children:"Back"}):null,u<ze.length-1?u===1&&m.connectionType==="api"?E?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(H,{variant:"outline",onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing\u2026"]}):"Test"}),(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!==""||!Wt,children:"Continue"})]}):!Ue||wr?(0,P.jsx)(H,{onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing provider\u2026"]}):"Test"}):It?(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!=="",children:"Continue"}):pn?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(H,{variant:"outline",onClick:()=>{Ne()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Re-testing\u2026"]}):"Test again"}),Wt?(0,P.jsx)(H,{onClick:()=>{Y()},disabled:p!=="",children:"Skip failed model(s) and continue"}):null]}):(0,P.jsx)(H,{onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing provider\u2026"]}):"Test"}):(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!=="",children:p==="oauth-login"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Signing in\u2026"]}):"Continue"}):(0,P.jsx)(H,{onClick:()=>{ge("save-start")},disabled:!!gn||p!==""||m.connectionType==="api"&&!et,children:p==="save-start"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Finishing\u2026"]}):"Finish"})]})]})]});return c?(0,P.jsxs)(Lt,{className:"border-dashed",children:[(0,P.jsxs)(Jr,{children:[(0,P.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[d?(0,P.jsx)(Bo,{children:_i}):null,Gs]}),d?(0,P.jsx)(pi,{children:Iu}):null]}),(0,P.jsx)(Dt,{className:"space-y-5",children:Da})]}):(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"-mx-5 -mt-4 flex items-center gap-3 border-b border-border/70 bg-muted/30 px-5 py-2",children:Gs}),(0,P.jsxs)("div",{className:"space-y-5 pt-5",children:[d?(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"text-base font-semibold text-foreground",children:_i}),(0,P.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:Iu})]}):null,Da]})]})}var $=B(te(),1);async function Bu(e){let t=String(e||"");if(!t)return;if(typeof navigator<"u"&&navigator.clipboard?.writeText){await navigator.clipboard.writeText(t);return}if(typeof document>"u")throw new Error("Clipboard is not available in this environment.");let n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="absolute",n.style.left="-9999px",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}function jB(e="127.0.0.1"){let t=String(e||"127.0.0.1").trim()||"127.0.0.1";return t.includes(":")&&!t.startsWith("[")?`[${t}]`:t}function VB(e={}){let t=jB(e?.host||"127.0.0.1"),n=Number.isInteger(Number(e?.port))?Number(e.port):8376;return`http://${t}:${n}`}function sT({currentConfigPath:e="",productionConfigPath:t="",routerPort:n=8376,canSyncProductionConfig:r=!1,syncBusy:o=!1,onSyncProductionConfig:a}){return(0,$.jsx)("div",{className:"overflow-hidden rounded-[1.75rem] border border-amber-300/80 bg-[linear-gradient(135deg,rgba(255,247,237,0.98),rgba(255,251,235,0.97),rgba(254,243,199,0.82))] shadow-[0_20px_60px_rgba(180,83,9,0.12)]",children:(0,$.jsxs)("div",{className:"flex flex-col gap-4 px-4 py-4 sm:px-5 lg:flex-row lg:items-center lg:justify-between",children:[(0,$.jsxs)("div",{className:"min-w-0 space-y-3",children:[(0,$.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,$.jsx)(_e,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}),(0,$.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-amber-900/80",children:"Isolated router sandbox"})]}),(0,$.jsxs)("div",{className:"space-y-1",children:[(0,$.jsxs)("div",{className:"text-base font-semibold text-amber-950 sm:text-lg",children:["Dev console runs on router port ",n," and leaves the production startup service alone."]}),(0,$.jsx)("div",{className:"max-w-3xl text-sm leading-6 text-amber-950/75",children:"Use the sync action to clone the current production config into this dev workspace without changing the dev router binding."})]}),(0,$.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs",children:[(0,$.jsxs)("span",{className:"rounded-full border border-amber-300/70 bg-white/75 px-3 py-1.5 font-medium text-amber-950/80",children:["Dev config: ",(0,$.jsx)("span",{className:"font-semibold",children:e||"Not resolved"})]}),(0,$.jsxs)("span",{className:"rounded-full border border-amber-300/60 bg-amber-50/70 px-3 py-1.5 font-medium text-amber-950/75",children:["Production source: ",(0,$.jsx)("span",{className:"font-semibold",children:t||"Not resolved"})]})]})]}),r?(0,$.jsx)("div",{className:"flex shrink-0 items-center",children:(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"border-amber-300 bg-white/85 text-amber-950 hover:bg-amber-100 hover:text-amber-950",onClick:a,disabled:o,"aria-label":o?"Syncing production config":"Sync production config into this dev workspace",title:o?"Syncing production config":"Sync production config into this dev workspace",children:[(0,$.jsx)(Vf,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:o?"Syncing production config\u2026":"Sync production config"})]})}):null]})})}function cT(){let[e,t]=(0,ye.useState)(null),[n,r]=(0,ye.useState)(""),[o,a]=(0,ye.useState)(""),[i,l]=(0,ye.useState)(null),[s,c]=(0,ye.useState)([]),[d,u]=(0,ye.useState)(!0),[f,p]=(0,ye.useState)(!1),[b,m]=(0,ye.useState)(!1),[v,h]=(0,ye.useState)(!1),[g,y]=(0,ye.useState)(""),[x,A]=(0,ye.useState)(""),[N,E]=(0,ye.useState)(!1),[C,O]=(0,ye.useState)("model-alias"),[L,V]=(0,ye.useState)(!1),[z,G]=(0,ye.useState)(!1),[Z,ue]=(0,ye.useState)(0),[q,oe]=(0,ye.useState)(""),[ee,W]=(0,ye.useState)(""),[j,Ie]=(0,ye.useState)(""),[ne,Ve]=(0,ye.useState)(""),[ae,Se]=(0,ye.useState)(!1),[ze,U]=(0,ye.useState)(!1),[fe,ve]=(0,ye.useState)(!1),[ke,we]=(0,ye.useState)(""),[Ee,qe]=(0,ye.useState)("usage"),[We,nn]=(0,ye.useState)(null),[Dn,cn]=(0,ye.useState)({status:"idle",message:"",savedAt:""}),xt=(0,ye.useRef)(""),ht=(0,ye.useRef)(""),yt=(0,ye.useRef)(null),Ue=(0,ye.useRef)(null),It=(0,ye.useRef)(null),Wt=(0,ye.useRef)(0),pn=(0,ye.useRef)(""),wr=(0,ye.useRef)(0);(0,ye.useEffect)(()=>{xt.current=n},[n]),(0,ye.useEffect)(()=>{ht.current=o},[o]),(0,ye.useEffect)(()=>()=>{It.current&&(clearTimeout(It.current),It.current=null)},[]);let Te=n!==o,et=e?.config?.document,ft=i?.summary||e?.config||{},lo=i?.validationMessages||e?.config?.validationMessages||[],St=(0,ye.useMemo)(()=>yy(e?.config?.rawText||"{}",e?.config?.document||{}),[e?.config?.rawText,e?.config?.document]),Re=(0,ye.useMemo)(()=>DC(n,St),[n,St]),gn=(0,ye.useMemo)(()=>yy(n,St),[n,St]),k=Re.parseError?St:Re.value,me=(0,ye.useMemo)(()=>Array.isArray(k?.providers)?k.providers:[],[k]),re=(0,ye.useMemo)(()=>k?.modelAliases&&typeof k.modelAliases=="object"&&!Array.isArray(k.modelAliases)?k.modelAliases:{},[k]),Pe=(0,ye.useMemo)(()=>xb(k),[k]),T=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:"",M=k,F=e?.config?.localServer||e?.startup?.defaults||null,ce=(0,ye.useMemo)(()=>VB(F||{}),[F?.host,F?.port]),Je=e?.ampClient?.global||{},Vt=e?.webSearch||e?.ampWebSearch||null,Ne=e?.codingTools?.codexCli||{},Y=e?.codingTools?.claudeCode||{},ge=e?.codingTools?.factoryDroid||{},Un=Je?.routedViaRouter===!0,ki=Ne?.routedViaRouter===!0,_i=Y?.routedViaRouter===!0,Iu=ge?.routedViaRouter===!0,Gs=e?.ollama||null,Da=Gs?.connected===!0,[X,$e]=(0,ye.useState)([]),Ke=k?.metadata?.localModels||{},lt=(0,ye.useMemo)(()=>({runtime:{...Ke?.runtime||{},ollama:{...Ke?.runtime?.ollama||{},status:Da?"running":"stopped"}},library:Ke?.library||{},variants:Ke?.variants||{}}),[Ke,Da]),vn=(0,ye.useMemo)(()=>GE(lt),[lt]),[zr,so]=(0,ye.useState)({}),[un,dn]=(0,ye.useState)(!1),Yn=(e?.activityLog||{enabled:!0})?.enabled!==!1,qs=(0,ye.useMemo)(()=>xb(M),[M]),Li=(0,ye.useMemo)(()=>Cy(M),[M]),Rl=(0,ye.useMemo)(()=>Ai(or(M)),[M]),Wm=(0,ye.useMemo)(()=>o1(M,Vt),[M,Vt]),mT=(0,ye.useMemo)(()=>a1(Wm,Y?.webSearchProvider||""),[Wm,Y?.webSearchProvider]),pT=(0,ye.useMemo)(()=>{let w=new Set((Array.isArray(Rl?.providers)?Rl.providers:[]).map(R=>Cn(R?.id)).filter(Boolean));return r1(M,w)},[M,Rl]),Xo=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:qs.length===0?"Add at least one alias or provider/model route before configuring AMP.":"",co=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:"",Jo=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:Pe.length===0?"Add at least one alias or provider/model route before configuring coding-tool bindings.":"",gT=(0,ye.useMemo)(()=>Ti(Pe,Bf(Ne?.bindings?.defaultModel)?[]:[Ne?.bindings?.defaultModel]),[Pe,Ne?.bindings?.defaultModel]),hT=(0,ye.useMemo)(()=>Ti(Pe,[Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),[Pe,Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),yT=(0,ye.useMemo)(()=>Ti(Pe,[ge?.bindings?.defaultModel,ge?.bindings?.missionOrchestratorModel,ge?.bindings?.missionWorkerModel,ge?.bindings?.missionValidatorModel]),[Pe,ge?.bindings?.defaultModel,ge?.bindings?.missionOrchestratorModel,ge?.bindings?.missionWorkerModel,ge?.bindings?.missionValidatorModel]),Ym=String(M?.amp?.defaultRoute||M?.defaultModel||gu(M)||"").trim(),Qn=String(M?.masterKey||e?.config?.document?.masterKey||"").trim(),bT=(0,ye.useMemo)(()=>QC(Qn),[Qn]),Qm=me.length>0,vT=Qm&&z,Nl=e?.router?.running===!0,kb=e?.startup?.installed===!0,Xm=e?.environment?.devMode===!0,_b=String(e?.config?.path||e?.environment?.configPath||"").trim(),Lb=String(e?.environment?.productionConfigPath||"").trim(),Jm=e?.environment?.canSyncProductionConfig===!0,zu=Number.isInteger(Number(e?.config?.localServer?.port))?Number(e.config.localServer.port):Number.isInteger(Number(e?.router?.port))?Number(e.router.port):8376,Zm=g==="start"?"Starting\u2026":g==="stop"?"Stopping\u2026":Nl?"Stop server":"Start server",ep=x==="enable"?"Enabling OS startup\u2026":x==="disable"?"Disabling OS startup\u2026":kb?"Disable OS startup":"Enable OS startup",Db=e?.router?.portBusy?e?.router?.portBusyReason||`Port ${zu} is occupied${e?.router?.listenerPids?.length>0?` by PID${e.router.listenerPids.length===1?"":"s"} ${e.router.listenerPids.join(", ")}`:""}.`:String(e?.router?.lastError||"").trim(),xT=!em(k),Bb=me.filter(w=>w?.type!=="ollama"),Ib=Bb.length>0?"existing":"blank",zb=Bb[0]?.id||"",Pb=e?.defaults?.providerUserAgent||no;(0,ye.useEffect)(()=>{if(d||f||Re.parseError)return;if(Qn){pn.current="";return}let w=String(e?.config?.rawText||o||"__empty__");pn.current!==w&&(pn.current=w,RT({showSuccessNotice:!1}))},[o,Qn,d,Re.parseError,f,e?.config?.rawText]),(0,ye.useEffect)(()=>{if(It.current&&(clearTimeout(It.current),It.current=null),!We)return;let w=We.immediate===!0?0:450;return It.current=setTimeout(()=>{It.current=null;let R=We.sequence;cn(I=>({...I,status:"saving",message:""})),(async()=>{try{let I=await Ze("/api/amp/apply",{method:"POST",headers:Xe,body:JSON.stringify({rawText:We.rawText,source:"autosave"})});if(R!==Wt.current)return;Ro(I,{preserveDraft:xt.current!==We.rawText}),cn({status:"saved",message:"",savedAt:new Date().toISOString()})}catch(I){if(R!==Wt.current)return;let pe=I instanceof Error?I.message:String(I);cn({status:"error",message:pe,savedAt:""}),D("error",pe)}})()},w),()=>{It.current&&(clearTimeout(It.current),It.current=null)}},[We]);function ST(){G(!0),ue(w=>w+1)}function wT(){ST()}function tp(){G(!1)}(0,ye.useEffect)(()=>{!Qm&&z&&G(!1)},[Qm,z]);function D(w,R){wr.current+=1,c(I=>[...I,{id:`notice-${wr.current}`,tone:w,message:R}])}function Ub(w){c(R=>R.filter(I=>I.id!==w))}function Ro(w,{preserveDraft:R=!1}={}){t(w);let I=String(w?.config?.rawText||"");if(!R||xt.current===ht.current){r(I),a(I),V(!1),l({rawText:I,summary:w?.config,validationMessages:w?.config?.validationMessages||[]});return}a(I),I!==ht.current&&V(!0)}async function rn({preserveDraft:w=!1}={}){let R=await Ze("/api/state");Ro(R,{preserveDraft:w})}(0,ye.useEffect)(()=>{let w=!1;function R(){yt.current&&(yt.current.close(),yt.current=null)}function I(){Ue.current&&(clearTimeout(Ue.current),Ue.current=null)}function pe(){w||Ue.current||(Ue.current=setTimeout(()=>{Ue.current=null,Oe({isReconnect:!0})},cC))}function Oe({isReconnect:tt=!1}={}){if(w)return;I(),R();let Ge=new EventSource("/api/events");yt.current=Ge,Ge.onopen=()=>{w||yt.current!==Ge||tt&&rn({preserveDraft:xt.current!==ht.current}).catch(()=>{})},Ge.addEventListener("state",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);zt?.snapshot&&Ro(zt.snapshot,{preserveDraft:!0})}catch(zt){D("error",zt instanceof Error?zt.message:String(zt))}}),Ge.addEventListener("log",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);t(Fe=>Fe&&{...Fe,logs:[zt,...Fe.logs||[]].slice(0,150)})}catch{}}),Ge.addEventListener("logs",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);t(Fe=>Fe&&{...Fe,...zt?.activityLog?{activityLog:zt.activityLog}:{},logs:Array.isArray(zt?.logs)?zt.logs:[]})}catch{}}),Ge.onerror=()=>{w||yt.current!==Ge||(R(),pe())}}return(async()=>{try{await rn()}catch(tt){w||D("error",tt instanceof Error?tt.message:String(tt))}finally{w||(u(!1),Oe())}})(),()=>{w=!0,I(),R()}},[]);async function jb(w,{silent:R=!1}={}){m(!0);try{let I=await Ze("/api/config/validate",{method:"POST",headers:Xe,body:JSON.stringify({rawText:w})});return l({rawText:w,summary:I.summary,validationMessages:I.validationMessages||[]}),R||D(BC(I.summary)==="success"?"success":"warning",I.summary.validationSummary),I}catch(I){throw R||D("error",I instanceof Error?I.message:String(I)),I}finally{m(!1)}}async function np(w,{successMessage:R="Config saved.",showSuccessNotice:I=!0}={}){p(!0);try{let pe=await Ze("/api/config/save",{method:"POST",headers:Xe,body:JSON.stringify({rawText:w})});return Ro(pe,{preserveDraft:xt.current!==w}),I&&R&&D("success",R),pe}catch(pe){throw D("error",pe instanceof Error?pe.message:String(pe)),pe}finally{p(!1)}}async function Vb(){if(!(!Jm||N)&&!(Te&&typeof window<"u"&&typeof window.confirm=="function"&&!window.confirm("Replace the current dev draft with the production config file? Unsaved edits in this dev session will be lost."))){E(!0);try{let w=await Ze("/api/config/sync-production",{method:"POST",headers:Xe,body:"{}"});Ro(w,{preserveDraft:!1}),D("success",w?.message||"Production config synced into the dev workspace.")}catch(w){D("error",w instanceof Error?w.message:String(w))}finally{E(!1)}}}function Di(w,{immediate:R=!1}={}){let I=Wt.current+1;Wt.current=I,nn({sequence:I,rawText:w,immediate:R===!0}),cn(pe=>({status:"pending",message:"",savedAt:pe.savedAt}))}function Pr(w){r(w),l(null)}async function Zo(w,R,I={}){let pe=`${JSON.stringify(w,null,2)}
|
|
53
|
-
`;Pr(pe),V(!1),await np(pe,{successMessage:R,...I})}async function Fb({providerId:w,endpoints:R,newModelIds:I,credentialPayload:pe,headers:Oe,onModelTestStateChange:tt}){if(!Array.isArray(I)||I.length===0)return tt?.({phase:"",modelStates:{},failedModelIds:[],message:""}),{ok:!0};let Ge=Object.fromEntries(I.map(Fe=>[Fe,"pending"])),Ut=({phase:Fe="testing",message:jn="",failedModelIds:ct=[]}={})=>{tt?.({phase:Fe,modelStates:{...Ge},failedModelIds:ct,message:jn})},zt=()=>`Testing ${I.filter(jn=>Ge[jn]==="success"||Ge[jn]==="error").length}/${I.length} new model${I.length===1?"":"s"} for ${w}.`;Ut({phase:"testing",message:zt()});try{let Fe=await vu("/api/config/test-provider-stream",{method:"POST",headers:Xe,body:JSON.stringify({endpoints:R,models:I,...pe,...Oe&&typeof Oe=="object"&&!Array.isArray(Oe)?{headers:Oe}:{}})},{onMessage:Ft=>{if(Ft?.type!=="progress")return;let uo=Ft.event||{};if(uo.phase!=="model-done")return;let ea=String(uo.model||"").trim();!ea||!Object.prototype.hasOwnProperty.call(Ge,ea)||(Ge[ea]=uo.confirmed?"success":"error",Ut({phase:"testing",message:zt()}))}}),jn=new Set(Array.isArray(Fe?.models)?Fe.models:[]),ct=I.filter(Ft=>!jn.has(Ft));for(let Ft of I)Ge[Ft]=jn.has(Ft)?"success":"error";if(!Fe?.ok||ct.length>0){let Ft=ct.length>0?`New model test failed for ${w}: ${ct.join(", ")}.`:(Fe?.warnings||[]).join(" ")||`New model test failed for ${w}.`;return Ut({phase:"",failedModelIds:ct,message:Ft}),D("warning",Ft),{ok:!1,failedModelIds:ct,result:Fe}}return Ut({phase:"saving",message:`Saving ${I.length} confirmed new model${I.length===1?"":"s"} for ${w}.`}),{ok:!0,failedModelIds:[],result:Fe}}catch(Fe){for(let Ft of I)Ge[Ft]!=="success"&&(Ge[Ft]="error");let jn=Fe instanceof Error?Fe.message:String(Fe),ct=I.filter(Ft=>Ge[Ft]==="error");return Ut({phase:"",failedModelIds:ct,message:jn}),D("error",jn),{ok:!1,failedModelIds:ct}}}async function AT(w,R,{showSuccessNotice:I=!0}={}){if(T)return D("warning",T),!1;let pe=String(R?.id||"").trim(),Oe=String(R?.name||"").trim(),tt=Array.isArray(R?.endpoints)?yr(R.endpoints):rr([],R?.endpoint||""),Ge=Array.isArray(R?.rateLimitRows)?br(R.rateLimitRows):[],Ut=me.find(Ft=>Ft?.id===w),zt=xo(Ut)==="api",Fe=fu(Ut);if(!pe)return D("warning","Provider id is required."),!1;if(!ll.test(pe))return D("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!Oe)return D("warning","Provider name is required."),!1;if(pe!==w&&me.some(Ft=>Ft?.id===pe))return D("warning",`Provider id "${pe}" already exists.`),!1;if(zt&&tt.length===0)return D("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(zt&&tt.some(Ft=>!Si(Ft)))return D("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let jn=zt?Po(Ge,{knownModelIds:Fe,requireAtLeastOne:!0}):"";if(jn)return D("warning",jn),!1;let ct=iy(Re.value||St,w,{...R,endpoints:tt,rateLimitRows:Ge});try{return await Zo(ct,`Updated provider ${pe}.`,{showSuccessNotice:I}),!0}catch{return!1}}async function CT(w,{providerDraft:R=null,modelRows:I=null,showSuccessNotice:pe=!0,onModelTestStateChange:Oe=null}={}){if(T)return D("warning",T),!1;let tt=me.find(Ur=>Ur?.id===w);if(!tt)return D("error",`Provider '${w}' was not found.`),!1;let Ge=!!(R&&typeof R=="object"),Ut=Array.isArray(I);if(!Ge&&!Ut)return!0;let zt=xo(tt)==="api",Fe=Ge?String(R?.id||"").trim():w,jn=Ge?String(R?.name||"").trim():String(tt?.name||w).trim(),ct=Ge?Array.isArray(R?.endpoints)?yr(R.endpoints):rr([],R?.endpoint||""):Ta(tt),Ft=Ge&&Array.isArray(R?.rateLimitRows)?br(R.rateLimitRows):[],uo=Ut?I.map(Ur=>({...Ur,id:String(Ur?.id||"").trim(),contextWindow:$o(Ur?.contextWindow||"")})).filter(Ur=>Ur.id):[];if(Ge){let Ur=Ut?uo.map(jr=>jr.id):fu(tt);if(!Fe)return D("warning","Provider id is required."),!1;if(!ll.test(Fe))return D("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!jn)return D("warning","Provider name is required."),!1;if(Fe!==w&&me.some(jr=>jr?.id===Fe))return D("warning",`Provider id "${Fe}" already exists.`),!1;if(zt&&ct.length===0)return D("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(zt&&ct.some(jr=>!Si(jr)))return D("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let Ia=zt?Po(Ft,{knownModelIds:Ur,requireAtLeastOne:!0}):"";if(Ia)return D("warning",Ia),!1}if(Ut){if(uo.length===0)return D("warning","Keep at least one model id on the provider."),!1;if(Os(uo.map(fo=>fo.id)))return D("warning","Model ids must be unique for each provider."),!1;if(uo.some(fo=>{let Pu=String(fo?.contextWindow||"").trim();if(!Pu)return!1;let ap=Number.parseInt(Pu,10);return!Number.isFinite(ap)||ap<=0||String(ap)!==Pu}))return D("warning","Context windows must be positive integers when set."),!1;let Ia=fu(tt),jr=uo.map(fo=>fo.id).filter(fo=>!Ia.includes(fo));if(zt&&jr.length>0){if(ct.length===0)return D("warning",`Provider '${Fe}' needs at least one endpoint before testing new models.`),!1;let fo=xy(R,tt);if(!fo.apiKey&&!fo.apiKeyEnv)return D("warning",`Provider '${Fe}' needs an API key or env before testing new models.`),!1;if(!(await Fb({providerId:Fe,endpoints:ct,newModelIds:jr,credentialPayload:fo,headers:tt?.headers,onModelTestStateChange:Oe})).ok)return!1}}let ea=Re.value||St;Ge&&(ea=iy(ea,w,{...R,endpoints:ct,rateLimitRows:Ft})),Ut&&(ea=ay(ea,Ge?Fe:w,uo));let NM=Ge&&Ut?`Updated provider ${Fe} and saved its model list.`:Ge?`Updated provider ${Fe}.`:(()=>{let Ur=fu(tt),Ia=uo.map(jr=>jr.id).filter(jr=>!Ur.includes(jr));return Ia.length>0?`Tested ${Ia.length} new model${Ia.length===1?"":"s"} and updated ${Fe}.`:`Updated models for ${Fe}.`})();try{return await Zo(ea,NM,{showSuccessNotice:pe}),Oe?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function RT({showSuccessNotice:w=!1}={}){if(Re.parseError||String((Re.value||St||{}).masterKey||"").trim())return!1;let R=jo(Re.value||St||{});R.masterKey=du();try{return await Zo(R,"Gateway key ready.",{showSuccessNotice:w}),!0}catch{return!1}}async function NT(){if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}try{await Bu(Qn),D("success","Gateway key copied to clipboard.")}catch(w){D("error",w instanceof Error?w.message:String(w))}}async function ET(){if(!ce){D("warning","API endpoint is not ready yet.");return}try{await Bu(ce),D("success","API endpoint copied to clipboard.")}catch(w){D("error",w instanceof Error?w.message:String(w))}}async function TT(w){let R=String(w||"").trim();if(!R){D("warning","Alias id is not ready yet.");return}try{await Bu(R),D("success",`Alias id ${R} copied to clipboard.`)}catch(I){D("error",I instanceof Error?I.message:String(I))}}async function Ba(w,R,{ensureMode:I="none",successMessage:pe=""}={}){let Oe=String(w||"").trim();if(!Oe){D("warning",`${R} is not resolved yet.`);return}try{await Ze("/api/file/open",{method:"POST",headers:Xe,body:JSON.stringify({editorId:"default",filePath:Oe,ensureMode:I})}),D("success",pe||`Opened ${R} in the default app.`)}catch(tt){D("error",tt instanceof Error?tt.message:String(tt))}}async function MT(w){let R=String(w||"").trim();if(!R){D("warning","Model id is not ready yet.");return}try{await Bu(R),D("success",`Model id ${R} copied to clipboard.`)}catch(I){D("error",I instanceof Error?I.message:String(I))}}async function OT(){if(!(typeof window>"u"?!0:window.confirm("Rotate the gateway key? Existing clients using the old key will need the new one. Linked tools like AMP, Codex CLI, and Claude Code will auto-update to the new key.")))return;let R=jo(Re.value||St||{});R.masterKey=du();try{await Zo(R,"Rotated gateway key. Linked tools like AMP, Codex CLI, and Claude Code refreshed automatically.")}catch{}}async function kT(w,R,{providerDraft:I=null,onModelTestStateChange:pe=null}={}){if(T)return D("warning",T),!1;let Oe=me.find(ct=>ct?.id===w);if(!Oe)return D("error",`Provider '${w}' was not found.`),!1;let tt=(Array.isArray(R)?R:[]).map(ct=>({...ct,id:String(ct?.id||"").trim()})).filter(ct=>ct.id),Ge=I&&String(I?.id||"").trim()||w,Ut=I?Array.isArray(I?.endpoints)?yr(I.endpoints):rr([],I?.endpoint||""):Ta(Oe),zt=(Array.isArray(Oe?.models)?Oe.models:[]).map(ct=>String(ct?.id||"").trim()).filter(Boolean),Fe=tt.map(ct=>ct.id).filter(ct=>!zt.includes(ct));if(xo(Oe)==="api"&&Fe.length>0){if(Ut.length===0)return D("warning",`Provider '${Ge}' needs at least one endpoint before testing new models.`),!1;let ct=xy(I,Oe);if(!ct.apiKey&&!ct.apiKeyEnv)return D("warning",`Provider '${Ge}' needs an API key or env before testing new models.`),!1;if(!(await Fb({providerId:Ge,endpoints:Ut,newModelIds:Fe,credentialPayload:ct,headers:Oe?.headers,onModelTestStateChange:pe})).ok)return!1}let jn=ay(Re.value||St,w,tt);try{let ct=Fe.length>0?`Tested ${Fe.length} new model${Fe.length===1?"":"s"} and updated ${w}.`:`Updated models for ${w}.`;return await Zo(jn,ct),pe?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function _T(w,R,I={}){if(T)return D("warning",T),!1;let pe=eC(Re.value||St,w,R),Oe=String(R?.id||w||"").trim()||w;try{return await Zo(pe,I.successMessage||`Updated alias ${Oe}.`,{showSuccessNotice:I.showSuccessNotice!==!1}),!0}catch{return!1}}async function LT(w){if(T){D("warning",T);return}if(!(typeof window>"u"?!0:window.confirm(`Remove alias "${w}" from the config?`)))return;let I=tC(Re.value||St,w);try{await Zo(I,`Removed alias ${w}.`)}catch{}}async function FB(w){try{await Bu(w?.url||""),D("success",`${w?.label||"Endpoint"} copied to clipboard.`)}catch(R){D("error",R instanceof Error?R.message:String(R))}}async function DT(){let R=!(Je?.routedViaRouter===!0);if(R){if(Xo){D("warning",Xo);return}if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}if(!ce){D("warning","API endpoint is not ready yet.");return}}oe(R?"enable":"disable");try{let I=!1,pe;try{pe=await Ze("/api/amp/global-route",{method:"POST",headers:Xe,body:JSON.stringify({enabled:R,rawText:R?n:void 0,endpointUrl:ce})})}catch(tt){if(tt?.statusCode===404&&R)I=!0,pe=await Ze("/api/amp/apply",{method:"POST",headers:Xe,body:JSON.stringify({rawText:n,source:"amp-global-route-compat",patchScope:"global",endpointUrl:ce})});else throw tt?.statusCode===404?new Error("Restart the web console so the AMP routing endpoint is available."):tt}await rn({preserveDraft:!R});let Oe=R?"AMP connected.":"AMP disconnected.";D("success",I?`${Oe} Restart the web console if the AMP status does not refresh.`:Oe)}catch(I){D("error",I instanceof Error?I.message:String(I))}finally{oe("")}}function BT(w,R){if(Xo){D("warning",Xo);return}let I=String(R||"").trim(),pe=Li.find(Ge=>Ge.id!==w&&String(Ge?.inbound||"").trim()===I);if(I&&pe){D("warning",`AMP inbound match "${I}" already exists.`);return}let Oe=Ry(Re.value||St,w,{inbound:R}),tt=`${JSON.stringify(Oe,null,2)}
|
|
54
|
-
`;Pr(tt),Di(tt)}function
|
|
55
|
-
`;Pr(pe),Di(pe)}function
|
|
56
|
-
`;Pr(I),Di(I)}function
|
|
57
|
-
`;Pr(Oe),Di(Oe,{immediate:
|
|
58
|
-
`;Pr(pe),Di(pe)}function
|
|
59
|
-
`;Pr(I),Di(I,{immediate:!0})}async function
|
|
60
|
-
`;return Pr(Ge),Di(Ge,{immediate:!0}),D("success",`Added ${I} to shared web search routing.`),Oe?.result||null}async function
|
|
61
|
-
`;Pr(Oe);try{await np(Oe,{successMessage:`Removed provider ${R?.name||w}.`})}catch{}}async function rM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await w1(w),await rn({preserveDraft:!1}),D("success",`Saved local variant ${String(w?.name||w?.id||"").trim()||"draft"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function oM({silent:w=!1}={}){if(Re.parseError)return w||D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return w||D("warning","Save or discard the current config draft before changing local models."),!1;try{return await N1(),await rn({preserveDraft:!1}),w||D("success","Local model status refreshed."),!0}catch(R){return w||D("error",R instanceof Error?R.message:String(R)),!1}}async function aM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await A1(w),await rn({preserveDraft:!1}),D("success",`Attached local model ${String(w?.displayName||w?.id||"").trim()||"draft"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function iM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await C1(w),await rn({preserveDraft:!1}),D("success","Updated local model path."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function lM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await R1(w),await rn({preserveDraft:!1}),D("success","Removed local model."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function sM(w,{onMessage:R}={}){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await S1(w,{onMessage:R}),await rn({preserveDraft:!1}),D("success",`Downloaded ${String(w?.displayName||w?.file||"").trim()||"managed GGUF"}.`),!0}catch(I){return D("error",I instanceof Error?I.message:String(I)),!1}}async function cM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await E1(w),await rn({preserveDraft:!1}),D("success",`Selected llama.cpp runtime ${String(w||"").trim()||"binary"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function uM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/settings",{method:"POST",headers:Xe,body:JSON.stringify(w)}),await rn({preserveDraft:!1}),D("success","Updated llama.cpp runtime settings."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function dM(){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/start",{method:"POST",headers:Xe,body:"{}"}),await rn({preserveDraft:!1}),D("success","Started llama.cpp runtime."),!0}catch(w){return D("error",w instanceof Error?w.message:String(w)),!1}}async function fM(){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/stop",{method:"POST",headers:Xe,body:"{}"}),await rn({preserveDraft:!1}),D("success","Stopped llama.cpp runtime."),!0}catch(w){return D("error",w instanceof Error?w.message:String(w)),!1}}async function No(){dn(!0);try{let R=await(await fetch("/api/ollama/models",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})).json();R?.models&&$e(R.models)}catch{}finally{dn(!1)}}(0,ye.useEffect)(()=>{C==="local-models"&&Da&&No()},[C,Da]);function El(w,R,I){so(pe=>({...pe,[w]:{...pe[w]||{},[R]:I}}))}async function mM(w){El(w,"loading",!0);try{await fetch("/api/ollama/load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}finally{El(w,"loading",!1)}}async function pM(w){El(w,"unloading",!0);try{await fetch("/api/ollama/unload",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}finally{El(w,"unloading",!1)}}async function gM(w,R){El(w,"pinning",!0);try{await fetch("/api/ollama/pin",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,pinned:R})}),await No()}finally{El(w,"pinning",!1)}}async function hM(w,R){await fetch("/api/ollama/keep-alive",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,keepAlive:R})}),await No()}async function yM(w,R){await fetch("/api/ollama/context-length",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,contextLength:R})}),await No()}async function bM(w){await fetch("/api/ollama/add-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}async function vM(w){await fetch("/api/ollama/remove-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}async function xM(w,R){await fetch("/api/ollama/auto-load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,autoLoad:R})})}async function SM(w){await fetch("/api/ollama/save-settings",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(w)})}async function wM(){so(w=>({...w,_install:!0}));try{await fetch("/api/ollama/install",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{so(w=>({...w,_install:!1}))}}async function AM(){so(w=>({...w,_startServer:!0}));try{await fetch("/api/ollama/start-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{so(w=>({...w,_startServer:!1}))}}async function CM(){await fetch("/api/ollama/stop-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}async function RM(){so(w=>({...w,_syncRouter:!0}));try{await fetch("/api/ollama/sync-router",{method:"POST",headers:{"content-type":"application/json"},body:"{}"}),await No()}finally{so(w=>({...w,_syncRouter:!1}))}}return d?(0,$.jsx)("div",{className:"console-shell flex min-h-screen items-center justify-center px-6 py-10",children:(0,$.jsx)(Lt,{className:"w-full max-w-lg",children:(0,$.jsxs)(Dt,{className:"space-y-3 p-6 text-center",children:[(0,$.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.2em] text-muted-foreground",children:"LLM Router"}),(0,$.jsx)("div",{className:"text-xl font-semibold text-foreground",children:"Loading web console\u2026"}),(0,$.jsx)("div",{className:"text-sm text-muted-foreground",children:"Preparing config state, router controls, and live activity."})]})})}):xT?(0,$.jsx)("div",{className:"console-shell min-h-screen px-4 py-6 md:px-6",children:(0,$.jsxs)("div",{className:"mx-auto flex max-w-5xl flex-col gap-4",children:[(0,$.jsx)(wb,{notices:s,onDismiss:Ub}),Xm?(0,$.jsx)(sT,{currentConfigPath:_b,productionConfigPath:Lb,routerPort:zu,canSyncProductionConfig:Jm,syncBusy:N,onSyncProductionConfig:Vb}):null,(0,$.jsx)("div",{id:"quick-start-wizard",children:(0,$.jsx)(Mb,{baseConfig:gn,seedMode:Ib,mode:"onboarding",targetProviderId:zb,defaultProviderUserAgent:Pb,onApplyDraft:Hb,onValidateDraft:$b,onSaveDraft:rp,onSaveAndStart:Kb},`onboarding-wizard-${Ib}-${zb||"new"}`)})]})}):(0,$.jsx)("div",{className:"console-shell min-h-screen px-4 py-4 md:px-6 md:py-6",children:(0,$.jsxs)("div",{className:"mx-auto flex max-w-7xl flex-col gap-4",children:[Xm?(0,$.jsx)(sT,{currentConfigPath:_b,productionConfigPath:Lb,routerPort:zu,canSyncProductionConfig:Jm,syncBusy:N,onSyncProductionConfig:Vb}):null,(0,$.jsx)(Lt,{className:"overflow-hidden",children:(0,$.jsx)(Dt,{className:"p-5",children:(0,$.jsxs)("div",{className:"space-y-4",children:[(0,$.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,$.jsx)("div",{className:"min-w-0 flex-1",children:(0,$.jsxs)("h1",{className:"inline-flex items-center gap-2 text-2xl font-semibold tracking-tight text-foreground",children:[(0,$.jsx)("span",{children:"LLM Router Web Console"}),(0,$.jsx)(wl,{connected:Nl,size:"md",srLabel:"Router running"}),Xm?(0,$.jsx)(_e,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}):null]})}),(0,$.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,$.jsxs)("a",{href:sC,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-amber-300 bg-amber-50/90 px-3 text-xs font-medium uppercase tracking-[0.16em] text-amber-900 transition-colors hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Support LLM Router via GitHub Sponsors",title:"Support LLM Router",children:[(0,$.jsx)(xC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Buy me a coffee"})]}),(0,$.jsxs)("a",{href:lC,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-border bg-background/80 px-3 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Open the LLM Router GitHub repository",title:"Open GitHub repository",children:[(0,$.jsx)(vC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Repo"})]})]})]}),(0,$.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,$.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,$.jsxs)(H,{size:"sm",variant:Nl?"outline":void 0,className:"px-2 sm:px-3",onClick:()=>op(Nl?"stop":"start"),disabled:g!=="","aria-label":Zm,title:Zm,children:[Nl?(0,$.jsx)(wC,{className:"h-3.5 w-3.5"}):(0,$.jsx)(SC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:Zm})]}),(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:GT,disabled:v,"aria-label":v?"Opening config file":"Open config file",title:v?"Opening config file":"Open config file",children:[(0,$.jsx)(AC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:v?"Opening\u2026":"Open config file"})]}),(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:()=>ZT(kb?"disable":"enable"),disabled:x!=="","aria-label":ep,title:ep,children:[(0,$.jsx)(CC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:ep})]})]}),(0,$.jsx)(EE,{endpointValue:ce||Jc,endpointDisabled:!ce,gatewayValue:Qn?bT:"Generating\u2026",gatewayPending:!Qn,gatewayDisabled:!Qn||f,rotateDisabled:f,onCopyEndpoint:ET,onCopyGatewayKey:NT,onRotateKey:OT})]}),f||b?(0,$.jsx)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:(0,$.jsx)("span",{className:"rounded-full bg-secondary px-2.5 py-1",children:f?"Saving changes\u2026":"Validating\u2026"})}):null,!Nl&&e?.router?.portBusy&&!e?.router?.portBusySelf?(0,$.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,$.jsx)(H,{size:"sm",variant:"outline",onClick:()=>op("reclaim"),disabled:g!=="",children:g==="reclaim"?"Reclaiming\u2026":`Reclaim port ${zu}`})}):null,Db?(0,$.jsx)("div",{className:Q("rounded-xl border px-3 py-2 text-sm",e?.router?.portBusy?"border-amber-200 bg-amber-50 text-amber-900":"border-rose-200 bg-rose-50 text-rose-800"),children:Db}):null]})})}),(0,$.jsx)(wb,{notices:s,onDismiss:Ub}),(0,$.jsx)("div",{className:"space-y-4",children:(0,$.jsx)(PE,{providers:me.filter(w=>w?.type!=="ollama"),onAddProvider:wT,onRemove:nM,onCopyModelId:MT,onApplyProviderDetails:AT,onApplyProviderModels:kT,onSaveAndCloseEditor:CT,disabledReason:T,busy:f})}),(0,$.jsxs)(bi,{value:C,onValueChange:O,className:"space-y-0",children:[(0,$.jsx)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:(0,$.jsxs)(vi,{children:[(0,$.jsx)(Gn,{value:"model-alias",children:"Alias & Fallback"}),(0,$.jsx)(Gn,{value:"amp",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"AMP"}),(0,$.jsx)(wl,{connected:Un,srLabel:"AMP connected"})]})}),(0,$.jsx)(Gn,{value:"codex-cli",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Codex CLI"}),(0,$.jsx)(wl,{connected:ki,srLabel:"Codex CLI connected"})]})}),(0,$.jsx)(Gn,{value:"claude-code",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Claude Code"}),(0,$.jsx)(wl,{connected:_i,srLabel:"Claude Code connected"})]})}),(0,$.jsx)(Gn,{value:"factory-droid",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Factory Droid"}),(0,$.jsx)(wl,{connected:Iu,srLabel:"Factory Droid connected"})]})}),(0,$.jsx)(Gn,{value:"local-models",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Local Models"}),(0,$.jsx)(wl,{connected:vn.runningRuntimes>0,srLabel:"Local runtime connected"})]})}),(0,$.jsx)(Gn,{value:"web-search",children:"Web Search"}),(0,$.jsx)(Gn,{value:"activity",children:"Activity"})]})}),(0,$.jsx)(qn,{value:"model-alias",className:"space-y-4",children:(0,$.jsx)(kE,{aliases:re,config:k,aliasIds:Object.keys(re),routeOptions:Pe,defaultModel:String(k?.defaultModel||"").trim(),ampDefaultRoute:Ym,disabledReason:T,busy:f,onApplyAlias:_T,onRemoveAlias:LT,onCopyAliasId:TT})}),(0,$.jsx)(qn,{value:"amp",className:"space-y-4",children:(0,$.jsx)(ZE,{rows:Li,routeOptions:qs,webSearchSnapshot:Vt,ampClientUrl:ce,ampClientGlobal:Je,routingBusy:q,onToggleGlobalRouting:DT,onInboundChange:BT,onOutboundChange:IT,onCreateEntry:FT,onRemoveEntry:HT,onOpenWebSearchTab:()=>O("web-search"),onOpenConfigPath:()=>Ba(Je?.settingsFilePath,"AMP config file",{ensureMode:"jsonObject",successMessage:"Opened AMP config file in the default app."}),onOpenSecretsPath:()=>Ba(Je?.secretsFilePath,"AMP secrets file",{ensureMode:"jsonObject",successMessage:"Opened AMP secrets file in the default app."}),hasMasterKey:!!String(M?.masterKey||"").trim(),disabledReason:Xo,autosaveState:Dn})}),(0,$.jsx)(qn,{value:"codex-cli",className:"space-y-4",children:(0,$.jsx)(qm,{toolName:"Codex CLI",toolState:Ne,endpointUrl:Ne?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`,routeOptions:gT,connectionBusy:ee,bindingBusy:ae,onToggleRouting:qT,onBindingChange:YT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(Ne?.configFilePath,"Codex CLI config file",{ensureMode:"text",successMessage:"Opened Codex CLI config file in the default app."}),onOpenSecondaryPath:()=>Ba(Ne?.backupFilePath,"Codex CLI backup file",{ensureMode:"jsonObject",successMessage:"Opened Codex CLI backup file in the default app."}),guideContent:nT({bindingValue:Ne?.bindings?.defaultModel,thinkingLevel:Ne?.bindings?.thinkingLevel,configFilePath:Ne?.configFilePath,endpointUrl:Ne?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Default model",description:"Choose a managed route/alias to set Codex CLI `model`, or use Inherit Codex CLI model to keep Codex built-in model names and route them through same-name LLM Router aliases.",envKey:"model",value:Ne?.bindings?.defaultModel||"",allowUnset:!1,placeholder:"Select a default route",extraOptions:[{value:ly,label:"Inherit Codex CLI model",hint:"Keep Codex built-in model names; route them via same-name aliases in LLM Router"}]},{id:"thinkingLevel",label:"Thinking level",description:"Maps to Codex CLI `model_reasoning_effort`. Official values are `minimal`, `low`, `medium`, `high`, and `xhigh` (`xhigh` is model-dependent).",envKey:"model_reasoning_effort",value:Ne?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Codex default",options:pC}]})}),(0,$.jsx)(qn,{value:"claude-code",className:"space-y-4",children:(0,$.jsx)(qm,{toolName:"Claude Code",toolState:Y,endpointUrl:Y?.configuredBaseUrl||`${ce?`${ce}/anthropic`:""}`,routeOptions:hT,connectionBusy:j,bindingBusy:ze,onToggleRouting:WT,onBindingChange:QT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(Y?.settingsFilePath,"Claude Code config file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code config file in the default app."}),onOpenSecondaryPath:()=>Ba(Y?.backupFilePath,"Claude Code backup file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code backup file in the default app."}),guideContent:rT({bindings:Y?.bindings,settingsFilePath:Y?.settingsFilePath,endpointUrl:Y?.configuredBaseUrl||`${ce?`${ce}/anthropic`:""}`}),bindingFields:[{id:"primaryModel",label:"Current model override",description:"Optional. Set `ANTHROPIC_MODEL` only when you want to override Claude Code\u2019s own `model` setting with a managed route or alias.",envKey:"ANTHROPIC_MODEL",value:Y?.bindings?.primaryModel||"",allowUnset:!0,placeholder:"Inherit Claude Code default"},{id:"defaultOpusModel",label:"Default Opus",description:"Maps `ANTHROPIC_DEFAULT_OPUS_MODEL` so Claude Code\u2019s `opus` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",value:Y?.bindings?.defaultOpusModel||"",allowUnset:!0,placeholder:"Select an Opus route"},{id:"defaultSonnetModel",label:"Default Sonnet",description:"Maps `ANTHROPIC_DEFAULT_SONNET_MODEL` so Claude Code\u2019s `sonnet` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",value:Y?.bindings?.defaultSonnetModel||"",allowUnset:!0,placeholder:"Select a Sonnet route"},{id:"defaultHaikuModel",label:"Default Haiku",description:"Maps `ANTHROPIC_DEFAULT_HAIKU_MODEL` so Claude Code\u2019s `haiku` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",value:Y?.bindings?.defaultHaikuModel||"",allowUnset:!0,placeholder:"Select a Haiku route"},{id:"subagentModel",label:"Sub-agent model",description:"Maps `CLAUDE_CODE_SUBAGENT_MODEL` for Claude Code sub-agents and background workers.",envKey:"CLAUDE_CODE_SUBAGENT_MODEL",value:Y?.bindings?.subagentModel||"",allowUnset:!0,placeholder:"Select a sub-agent route"},{id:"webSearchProvider",label:"Search capability",description:"Choose which configured router web-search backend powers Claude Code\u2019s native Anthropic web tools like `web_search_*`. Native `web_fetch_*` page retrieval is intercepted locally by LLM Router and does not use this provider selection.",envKey:"claudeCode.webSearchProvider",value:Y?.webSearchProvider||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Use default router web-search order",options:mT},{id:"thinkingLevel",label:"Effort level",description:'Sets `CLAUDE_CODE_EFFORT_LEVEL` in your shell profile (~/.zshrc or ~/.bashrc). Falls back to `effortLevel` in settings.json (only "high") if shell profile cannot be updated.',envKey:"CLAUDE_CODE_EFFORT_LEVEL",value:Y?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Inherit Claude Code adaptive default",options:gC}]})}),(0,$.jsx)(qn,{value:"factory-droid",className:"space-y-4",children:(0,$.jsx)(qm,{toolName:"Factory Droid",toolState:ge,endpointUrl:ge?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`,routeOptions:yT,connectionBusy:ne,bindingBusy:fe,onToggleRouting:XT,onBindingChange:JT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(ge?.settingsFilePath,"Factory Droid config file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid config file in the default app."}),onOpenSecondaryPath:()=>Ba(ge?.backupFilePath,"Factory Droid backup file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid backup file in the default app."}),guideContent:oT({bindings:ge?.bindings,settingsFilePath:ge?.settingsFilePath,endpointUrl:ge?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Normal mode model",description:"Choose a managed route or alias for normal Factory sessions. LLM Router writes both the legacy `model` field and current `sessionDefaultSettings.model` default.",envKey:"sessionDefaultSettings.model",value:ge?.bindings?.defaultModel||"",allowUnset:!0,placeholder:"Select a default route"},{id:"missionOrchestratorModel",label:"Mission orchestrator",description:"Choose the managed route or alias used for Factory mission orchestration.",envKey:"missionOrchestratorModel",value:ge?.bindings?.missionOrchestratorModel||"",allowUnset:!0,placeholder:"Use Factory orchestrator default"},{id:"missionWorkerModel",label:"Mission worker",description:"Choose the managed route or alias used for Factory mission workers.",envKey:"missionModelSettings.workerModel",value:ge?.bindings?.missionWorkerModel||"",allowUnset:!0,placeholder:"Use Factory worker default"},{id:"missionValidatorModel",label:"Mission validator",description:"Choose the managed route or alias used for Factory validation workers.",envKey:"missionModelSettings.validationWorkerModel",value:ge?.bindings?.missionValidatorModel||"",allowUnset:!0,placeholder:"Use Factory validator default"},{id:"reasoningEffort",label:"Reasoning effort",description:"Maps to Factory Droid `reasoningEffort` setting. Controls the depth of extended thinking for supported models.",envKey:"reasoningEffort",value:ge?.bindings?.reasoningEffort||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Factory Droid default",options:hC}]})}),(0,$.jsx)(qn,{value:"local-models",className:"space-y-4",children:(0,$.jsx)(XE,{summary:vn,llamacpp:{runtime:lt.runtime?.llamacpp||{},library:Object.fromEntries(Object.entries(lt.library||{}).filter(([,w])=>String(w?.source||"").startsWith("llamacpp"))),variants:Object.fromEntries(Object.entries(lt.variants||{}).filter(([,w])=>w?.runtime==="llamacpp")),disableEditsReason:Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:xt.current!==ht.current?"Save or discard the current config draft before changing local models.":"",onSaveVariant:rM,onRefreshLibrary:oM,onSelectRuntime:cM,onStartRuntime:dM,onStopRuntime:fM,onSaveRuntimeSettings:uM,onAttachModel:aM,onLocateModel:iM,onRemoveModel:lM,onDownloadManagedModel:sM},ollama:{connected:Da,snapshot:Gs,models:X,busy:zr,refreshing:un,config:k,onRefresh:No,onLoad:mM,onUnload:pM,onPin:gM,onKeepAlive:hM,onContextLength:yM,onAddToRouter:bM,onRemoveFromRouter:vM,onAutoLoad:xM,onSaveSettings:SM,onInstall:wM,onStartServer:AM,onStopServer:CM,onSyncRouter:RM}})}),(0,$.jsx)(qn,{value:"web-search",className:"space-y-4",children:(0,$.jsx)(eT,{webSearchConfig:Rl,webSearchProviders:Wm,hostedSearchCandidates:pT,onWebSearchStrategyChange:zT,onWebSearchProviderChange:PT,onWebSearchProviderMove:UT,onRemoveWebSearchProvider:jT,onAddHostedSearchEndpoint:VT,disabledReason:co,autosaveState:Dn})}),(0,$.jsx)(qn,{value:"activity",children:(0,$.jsx)(aT,{logs:e?.logs||[],activityLogEnabled:Yn,activityFilter:Ee,busyAction:ke,onActivityFilterChange:qe,onToggleEnabled:eM,onClear:tM})})]}),(0,$.jsx)(En,{open:vT,onClose:tp,title:"Add provider",contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",closeOnBackdrop:!1,bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,$.jsx)(Mb,{baseConfig:gn,seedMode:"blank",mode:"add",targetProviderId:"",defaultProviderUserAgent:Pb,onApplyDraft:Hb,onValidateDraft:$b,onSaveDraft:$T,onSaveAndStart:KT,framed:!1,showHeader:!1},`provider-wizard-modal-${Z}`)})]})})}var fT=B(te(),1),uT=document.getElementById("app");uT&&(0,dT.createRoot)(uT).render((0,fT.jsx)(cT,{}));})();
|
|
51
|
+
`)},a5=0,Us=[];function NE(e){var t=qt.useRef([]),n=qt.useRef([0,0]),r=qt.useRef(),o=qt.useState(a5++)[0],a=qt.useState(Nu)[0],i=qt.useRef(e);qt.useEffect(function(){i.current=e},[e]),qt.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var m=dE([e.lockRef.current],(e.shards||[]).map(EE),!0).filter(Boolean);return m.forEach(function(v){return v.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),m.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=qt.useCallback(function(m,v){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!i.current.allowPinchZoom;var h=Rm(m),g=n.current,y="deltaX"in m?m.deltaX:g[0]-h[0],x="deltaY"in m?m.deltaY:g[1]-h[1],A,E=m.target,N=Math.abs(y)>Math.abs(x)?"h":"v";if("touches"in m&&N==="h"&&E.type==="range")return!1;var C=window.getSelection(),O=C&&C.anchorNode,L=O?O===E||O.contains(E):!1;if(L)return!1;var V=cb(N,E);if(!V)return!0;if(V?A=N:(A=N==="v"?"h":"v",V=cb(N,E)),!V)return!1;if(!r.current&&"changedTouches"in m&&(y||x)&&(r.current=A),!A)return!0;var z=r.current||A;return CE(z,v,m,z==="h"?y:x,!0)},[]),s=qt.useCallback(function(m){var v=m;if(!(!Us.length||Us[Us.length-1]!==a)){var h="deltaY"in v?RE(v):Rm(v),g=t.current.filter(function(A){return A.name===v.type&&(A.target===v.target||v.target===A.shadowParent)&&r5(A.delta,h)})[0];if(g&&g.should){v.cancelable&&v.preventDefault();return}if(!g){var y=(i.current.shards||[]).map(EE).filter(Boolean).filter(function(A){return A.contains(v.target)}),x=y.length>0?l(v,y[0]):!i.current.noIsolation;x&&v.cancelable&&v.preventDefault()}}},[]),c=qt.useCallback(function(m,v,h,g){var y={name:m,delta:v,target:h,should:g,shadowParent:i5(h)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(x){return x!==y})},1)},[]),d=qt.useCallback(function(m){n.current=Rm(m),r.current=void 0},[]),u=qt.useCallback(function(m){c(m.type,RE(m),m.target,l(m,e.lockRef.current))},[]),f=qt.useCallback(function(m){c(m.type,Rm(m),m.target,l(m,e.lockRef.current))},[]);qt.useEffect(function(){return Us.push(a),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:f}),document.addEventListener("wheel",s,yl),document.addEventListener("touchmove",s,yl),document.addEventListener("touchstart",d,yl),function(){Us=Us.filter(function(m){return m!==a}),document.removeEventListener("wheel",s,yl),document.removeEventListener("touchmove",s,yl),document.removeEventListener("touchstart",d,yl)}},[]);var p=e.removeScrollBar,b=e.inert;return qt.createElement(qt.Fragment,null,b?qt.createElement(a,{styles:o5(o)}):null,p?qt.createElement(lb,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function i5(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var TE=tb(Cm,NE);var ME=Em.forwardRef(function(e,t){return Em.createElement(Eu,Sr({},e,{ref:t,sideCar:TE}))});ME.classNames=Eu.classNames;var ub=ME;var Be=B(te(),1),l5=[" ","Enter","ArrowUp","ArrowDown"],s5=[" ","Enter"],bl="Select",[Tm,Mm,c5]=Mf(bl),[js,R4]=Zr(bl,[c5,Gy]),Om=Gy(),[u5,Ei]=js(bl),[d5,f5]=js(bl),OE=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:a,value:i,defaultValue:l,onValueChange:s,dir:c,name:d,autoComplete:u,disabled:f,required:p,form:b}=e,m=Om(t),[v,h]=le.useState(null),[g,y]=le.useState(null),[x,A]=le.useState(!1),E=ws(c),[N,C]=Aa({prop:r,defaultProp:o??!1,onChange:a,caller:bl}),[O,L]=Aa({prop:i,defaultProp:l,onChange:s,caller:bl}),V=le.useRef(null),z=v?b||!!v.closest("form"):!0,[G,Z]=le.useState(new Set),ue=Array.from(G).map(q=>q.props.value).join(";");return(0,Be.jsx)(tE,{...m,children:(0,Be.jsxs)(u5,{required:p,scope:t,trigger:v,onTriggerChange:h,valueNode:g,onValueNodeChange:y,valueNodeHasChildren:x,onValueNodeHasChildrenChange:A,contentId:hi(),value:O,onValueChange:L,open:N,onOpenChange:C,dir:E,triggerPointerDownPosRef:V,disabled:f,children:[(0,Be.jsx)(Tm.Provider,{scope:t,children:(0,Be.jsx)(d5,{scope:e.__scopeSelect,onNativeOptionAdd:le.useCallback(q=>{Z(oe=>new Set(oe).add(q))},[]),onNativeOptionRemove:le.useCallback(q=>{Z(oe=>{let ee=new Set(oe);return ee.delete(q),ee})},[]),children:n})}),z?(0,Be.jsxs)(JE,{"aria-hidden":!0,required:p,tabIndex:-1,name:d,autoComplete:u,value:O,onChange:q=>L(q.target.value),disabled:f,form:b,children:[O===void 0?(0,Be.jsx)("option",{value:""}):null,Array.from(G)]},ue):null]})})};OE.displayName=bl;var kE="SelectTrigger",_E=le.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...o}=e,a=Om(n),i=Ei(kE,n),l=i.disabled||r,s=Tt(t,i.onTriggerChange),c=Mm(n),d=le.useRef("touch"),[u,f,p]=eN(m=>{let v=c().filter(y=>!y.disabled),h=v.find(y=>y.value===i.value),g=tN(v,m,h);g!==void 0&&i.onValueChange(g.value)}),b=m=>{l||(i.onOpenChange(!0),p()),m&&(i.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return(0,Be.jsx)(nE,{asChild:!0,...a,children:(0,Be.jsx)(at.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":ZE(i.value)?"":void 0,...o,ref:s,onClick:vt(o.onClick,m=>{m.currentTarget.focus(),d.current!=="mouse"&&b(m)}),onPointerDown:vt(o.onPointerDown,m=>{d.current=m.pointerType;let v=m.target;v.hasPointerCapture(m.pointerId)&&v.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(b(m),m.preventDefault())}),onKeyDown:vt(o.onKeyDown,m=>{let v=u.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&f(m.key),!(v&&m.key===" ")&&l5.includes(m.key)&&(b(),m.preventDefault())})})})});_E.displayName=kE;var LE="SelectValue",DE=le.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,children:a,placeholder:i="",...l}=e,s=Ei(LE,n),{onValueNodeHasChildrenChange:c}=s,d=a!==void 0,u=Tt(t,s.onValueNodeChange);return on(()=>{c(d)},[c,d]),(0,Be.jsx)(at.span,{...l,ref:u,style:{pointerEvents:"none"},children:ZE(s.value)?(0,Be.jsx)(Be.Fragment,{children:i}):a})});DE.displayName=LE;var m5="SelectIcon",BE=le.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...o}=e;return(0,Be.jsx)(at.span,{"aria-hidden":!0,...o,ref:t,children:r||"\u25BC"})});BE.displayName=m5;var p5="SelectPortal",IE=e=>(0,Be.jsx)(Wy,{asChild:!0,...e});IE.displayName=p5;var vl="SelectContent",zE=le.forwardRef((e,t)=>{let n=Ei(vl,e.__scopeSelect),[r,o]=le.useState();if(on(()=>{o(new DocumentFragment)},[]),!n.open){let a=r;return a?hb.createPortal((0,Be.jsx)(PE,{scope:e.__scopeSelect,children:(0,Be.jsx)(Tm.Slot,{scope:e.__scopeSelect,children:(0,Be.jsx)("div",{children:e.children})})}),a):null}return(0,Be.jsx)(UE,{...e,ref:t})});zE.displayName=vl;var Co=10,[PE,Ni]=js(vl),g5="SelectContentImpl",h5=ol("SelectContent.RemoveScroll"),UE=le.forwardRef((e,t)=>{let{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:a,onPointerDownOutside:i,side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:p,sticky:b,hideWhenDetached:m,avoidCollisions:v,...h}=e,g=Ei(vl,n),[y,x]=le.useState(null),[A,E]=le.useState(null),N=Tt(t,U=>x(U)),[C,O]=le.useState(null),[L,V]=le.useState(null),z=Mm(n),[G,Z]=le.useState(!1),ue=le.useRef(!1);le.useEffect(()=>{if(y)return uE(y)},[y]),P1();let q=le.useCallback(U=>{let[fe,...ve]=z().map(Ne=>Ne.ref.current),[ke]=ve.slice(-1),we=document.activeElement;for(let Ne of U)if(Ne===we||(Ne?.scrollIntoView({block:"nearest"}),Ne===fe&&A&&(A.scrollTop=0),Ne===ke&&A&&(A.scrollTop=A.scrollHeight),Ne?.focus(),document.activeElement!==we))return},[z,A]),oe=le.useCallback(()=>q([C,y]),[q,C,y]);le.useEffect(()=>{G&&oe()},[G,oe]);let{onOpenChange:ee,triggerPointerDownPosRef:W}=g;le.useEffect(()=>{if(y){let U={x:0,y:0},fe=ke=>{U={x:Math.abs(Math.round(ke.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(ke.pageY)-(W.current?.y??0))}},ve=ke=>{U.x<=10&&U.y<=10?ke.preventDefault():y.contains(ke.target)||ee(!1),document.removeEventListener("pointermove",fe),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",fe),document.addEventListener("pointerup",ve,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",fe),document.removeEventListener("pointerup",ve,{capture:!0})}}},[y,ee,W]),le.useEffect(()=>{let U=()=>ee(!1);return window.addEventListener("blur",U),window.addEventListener("resize",U),()=>{window.removeEventListener("blur",U),window.removeEventListener("resize",U)}},[ee]);let[j,Ie]=eN(U=>{let fe=z().filter(we=>!we.disabled),ve=fe.find(we=>we.ref.current===document.activeElement),ke=tN(fe,U,ve);ke&&setTimeout(()=>ke.ref.current.focus())}),ne=le.useCallback((U,fe,ve)=>{let ke=!ue.current&&!ve;(g.value!==void 0&&g.value===fe||ke)&&(O(U),ke&&(ue.current=!0))},[g.value]),Ve=le.useCallback(()=>y?.focus(),[y]),ae=le.useCallback((U,fe,ve)=>{let ke=!ue.current&&!ve;(g.value!==void 0&&g.value===fe||ke)&&V(U)},[g.value]),Se=r==="popper"?db:jE,ze=Se===db?{side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:p,sticky:b,hideWhenDetached:m,avoidCollisions:v}:{};return(0,Be.jsx)(PE,{scope:n,content:y,viewport:A,onViewportChange:E,itemRefCallback:ne,selectedItem:C,onItemLeave:Ve,itemTextRefCallback:ae,focusSelectedItem:oe,selectedItemText:L,position:r,isPositioned:G,searchRef:j,children:(0,Be.jsx)(ub,{as:h5,allowPinchZoom:!0,children:(0,Be.jsx)(By,{asChild:!0,trapped:g.open,onMountAutoFocus:U=>{U.preventDefault()},onUnmountAutoFocus:vt(o,U=>{g.trigger?.focus({preventScroll:!0}),U.preventDefault()}),children:(0,Be.jsx)(ky,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:U=>U.preventDefault(),onDismiss:()=>g.onOpenChange(!1),children:(0,Be.jsx)(Se,{role:"listbox",id:g.contentId,"data-state":g.open?"open":"closed",dir:g.dir,onContextMenu:U=>U.preventDefault(),...h,...ze,onPlaced:()=>Z(!0),ref:N,style:{display:"flex",flexDirection:"column",outline:"none",...h.style},onKeyDown:vt(h.onKeyDown,U=>{let fe=U.ctrlKey||U.altKey||U.metaKey;if(U.key==="Tab"&&U.preventDefault(),!fe&&U.key.length===1&&Ie(U.key),["ArrowUp","ArrowDown","Home","End"].includes(U.key)){let ke=z().filter(we=>!we.disabled).map(we=>we.ref.current);if(["ArrowUp","End"].includes(U.key)&&(ke=ke.slice().reverse()),["ArrowUp","ArrowDown"].includes(U.key)){let we=U.target,Ne=ke.indexOf(we);ke=ke.slice(Ne+1)}setTimeout(()=>q(ke)),U.preventDefault()}})})})})})})});UE.displayName=g5;var y5="SelectItemAlignedPosition",jE=le.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...o}=e,a=Ei(vl,n),i=Ni(vl,n),[l,s]=le.useState(null),[c,d]=le.useState(null),u=Tt(t,N=>d(N)),f=Mm(n),p=le.useRef(!1),b=le.useRef(!0),{viewport:m,selectedItem:v,selectedItemText:h,focusSelectedItem:g}=i,y=le.useCallback(()=>{if(a.trigger&&a.valueNode&&l&&c&&m&&v&&h){let N=a.trigger.getBoundingClientRect(),C=c.getBoundingClientRect(),O=a.valueNode.getBoundingClientRect(),L=h.getBoundingClientRect();if(a.dir!=="rtl"){let we=L.left-C.left,Ne=O.left-we,qe=N.left-Ne,We=N.width+qe,nn=Math.max(We,C.width),Dn=window.innerWidth-Co,cn=Ty(Ne,[Co,Math.max(Co,Dn-nn)]);l.style.minWidth=We+"px",l.style.left=cn+"px"}else{let we=C.right-L.right,Ne=window.innerWidth-O.right-we,qe=window.innerWidth-N.right-Ne,We=N.width+qe,nn=Math.max(We,C.width),Dn=window.innerWidth-Co,cn=Ty(Ne,[Co,Math.max(Co,Dn-nn)]);l.style.minWidth=We+"px",l.style.right=cn+"px"}let V=f(),z=window.innerHeight-Co*2,G=m.scrollHeight,Z=window.getComputedStyle(c),ue=parseInt(Z.borderTopWidth,10),q=parseInt(Z.paddingTop,10),oe=parseInt(Z.borderBottomWidth,10),ee=parseInt(Z.paddingBottom,10),W=ue+q+G+ee+oe,j=Math.min(v.offsetHeight*5,W),Ie=window.getComputedStyle(m),ne=parseInt(Ie.paddingTop,10),Ve=parseInt(Ie.paddingBottom,10),ae=N.top+N.height/2-Co,Se=z-ae,ze=v.offsetHeight/2,U=v.offsetTop+ze,fe=ue+q+U,ve=W-fe;if(fe<=ae){let we=V.length>0&&v===V[V.length-1].ref.current;l.style.bottom="0px";let Ne=c.clientHeight-m.offsetTop-m.offsetHeight,qe=Math.max(Se,ze+(we?Ve:0)+Ne+oe),We=fe+qe;l.style.height=We+"px"}else{let we=V.length>0&&v===V[0].ref.current;l.style.top="0px";let qe=Math.max(ae,ue+m.offsetTop+(we?ne:0)+ze)+ve;l.style.height=qe+"px",m.scrollTop=fe-ae+m.offsetTop}l.style.margin=`${Co}px 0`,l.style.minHeight=j+"px",l.style.maxHeight=z+"px",r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,l,c,m,v,h,a.dir,r]);on(()=>y(),[y]);let[x,A]=le.useState();on(()=>{c&&A(window.getComputedStyle(c).zIndex)},[c]);let E=le.useCallback(N=>{N&&b.current===!0&&(y(),g?.(),b.current=!1)},[y,g]);return(0,Be.jsx)(v5,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:p,onScrollButtonChange:E,children:(0,Be.jsx)("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:x},children:(0,Be.jsx)(at.div,{...o,ref:u,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});jE.displayName=y5;var b5="SelectPopperPosition",db=le.forwardRef((e,t)=>{let{__scopeSelect:n,align:r="start",collisionPadding:o=Co,...a}=e,i=Om(n);return(0,Be.jsx)(rE,{...i,...a,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...a.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)"}})});db.displayName=b5;var[v5,yb]=js(vl,{}),fb="SelectViewport",VE=le.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...o}=e,a=Ni(fb,n),i=yb(fb,n),l=Tt(t,a.onViewportChange),s=le.useRef(0);return(0,Be.jsxs)(Be.Fragment,{children:[(0,Be.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}),(0,Be.jsx)(Tm.Slot,{scope:n,children:(0,Be.jsx)(at.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:vt(o.onScroll,c=>{let d=c.currentTarget,{contentWrapper:u,shouldExpandOnScrollRef:f}=i;if(f?.current&&u){let p=Math.abs(s.current-d.scrollTop);if(p>0){let b=window.innerHeight-Co*2,m=parseFloat(u.style.minHeight),v=parseFloat(u.style.height),h=Math.max(m,v);if(h<b){let g=h+p,y=Math.min(b,g),x=g-y;u.style.height=y+"px",u.style.bottom==="0px"&&(d.scrollTop=x>0?x:0,u.style.justifyContent="flex-end")}}}s.current=d.scrollTop})})})]})});VE.displayName=fb;var FE="SelectGroup",[x5,S5]=js(FE),HE=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=hi();return(0,Be.jsx)(x5,{scope:n,id:o,children:(0,Be.jsx)(at.div,{role:"group","aria-labelledby":o,...r,ref:t})})});HE.displayName=FE;var $E="SelectLabel",KE=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=S5($E,n);return(0,Be.jsx)(at.div,{id:o.id,...r,ref:t})});KE.displayName=$E;var Nm="SelectItem",[w5,GE]=js(Nm),qE=le.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:o=!1,textValue:a,...i}=e,l=Ei(Nm,n),s=Ni(Nm,n),c=l.value===r,[d,u]=le.useState(a??""),[f,p]=le.useState(!1),b=Tt(t,g=>s.itemRefCallback?.(g,r,o)),m=hi(),v=le.useRef("touch"),h=()=>{o||(l.onValueChange(r),l.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> 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(0,Be.jsx)(w5,{scope:n,value:r,disabled:o,textId:m,isSelected:c,onItemTextChange:le.useCallback(g=>{u(y=>y||(g?.textContent??"").trim())},[]),children:(0,Be.jsx)(Tm.ItemSlot,{scope:n,value:r,disabled:o,textValue:d,children:(0,Be.jsx)(at.div,{role:"option","aria-labelledby":m,"data-highlighted":f?"":void 0,"aria-selected":c&&f,"data-state":c?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...i,ref:b,onFocus:vt(i.onFocus,()=>p(!0)),onBlur:vt(i.onBlur,()=>p(!1)),onClick:vt(i.onClick,()=>{v.current!=="mouse"&&h()}),onPointerUp:vt(i.onPointerUp,()=>{v.current==="mouse"&&h()}),onPointerDown:vt(i.onPointerDown,g=>{v.current=g.pointerType}),onPointerMove:vt(i.onPointerMove,g=>{v.current=g.pointerType,o?s.onItemLeave?.():v.current==="mouse"&&g.currentTarget.focus({preventScroll:!0})}),onPointerLeave:vt(i.onPointerLeave,g=>{g.currentTarget===document.activeElement&&s.onItemLeave?.()}),onKeyDown:vt(i.onKeyDown,g=>{s.searchRef?.current!==""&&g.key===" "||(s5.includes(g.key)&&h(),g.key===" "&&g.preventDefault())})})})})});qE.displayName=Nm;var Mu="SelectItemText",WE=le.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,...a}=e,i=Ei(Mu,n),l=Ni(Mu,n),s=GE(Mu,n),c=f5(Mu,n),[d,u]=le.useState(null),f=Tt(t,h=>u(h),s.onItemTextChange,h=>l.itemTextRefCallback?.(h,s.value,s.disabled)),p=d?.textContent,b=le.useMemo(()=>(0,Be.jsx)("option",{value:s.value,disabled:s.disabled,children:p},s.value),[s.disabled,s.value,p]),{onNativeOptionAdd:m,onNativeOptionRemove:v}=c;return on(()=>(m(b),()=>v(b)),[m,v,b]),(0,Be.jsxs)(Be.Fragment,{children:[(0,Be.jsx)(at.span,{id:s.textId,...a,ref:f}),s.isSelected&&i.valueNode&&!i.valueNodeHasChildren?hb.createPortal(a.children,i.valueNode):null]})});WE.displayName=Mu;var YE="SelectItemIndicator",QE=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return GE(YE,n).isSelected?(0,Be.jsx)(at.span,{"aria-hidden":!0,...r,ref:t}):null});QE.displayName=YE;var mb="SelectScrollUpButton",A5=le.forwardRef((e,t)=>{let n=Ni(mb,e.__scopeSelect),r=yb(mb,e.__scopeSelect),[o,a]=le.useState(!1),i=Tt(t,r.onScrollButtonChange);return on(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollTop>0;a(d)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,Be.jsx)(XE,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop-s.offsetHeight)}}):null});A5.displayName=mb;var pb="SelectScrollDownButton",C5=le.forwardRef((e,t)=>{let n=Ni(pb,e.__scopeSelect),r=yb(pb,e.__scopeSelect),[o,a]=le.useState(!1),i=Tt(t,r.onScrollButtonChange);return on(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollHeight-c.clientHeight,u=Math.ceil(c.scrollTop)<d;a(u)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,Be.jsx)(XE,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop+s.offsetHeight)}}):null});C5.displayName=pb;var XE=le.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...o}=e,a=Ni("SelectScrollButton",n),i=le.useRef(null),l=Mm(n),s=le.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return le.useEffect(()=>()=>s(),[s]),on(()=>{l().find(d=>d.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),(0,Be.jsx)(at.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:vt(o.onPointerDown,()=>{i.current===null&&(i.current=window.setInterval(r,50))}),onPointerMove:vt(o.onPointerMove,()=>{a.onItemLeave?.(),i.current===null&&(i.current=window.setInterval(r,50))}),onPointerLeave:vt(o.onPointerLeave,()=>{s()})})}),R5="SelectSeparator",E5=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,Be.jsx)(at.div,{"aria-hidden":!0,...r,ref:t})});E5.displayName=R5;var gb="SelectArrow",N5=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=Om(n),a=Ei(gb,n),i=Ni(gb,n);return a.open&&i.position==="popper"?(0,Be.jsx)(oE,{...o,...r,ref:t}):null});N5.displayName=gb;var T5="SelectBubbleInput",JE=le.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let o=le.useRef(null),a=Tt(r,o),i=Cf(t);return le.useEffect(()=>{let l=o.current;if(!l)return;let s=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(s,"value").set;if(i!==t&&d){let u=new Event("change",{bubbles:!0});d.call(l,t),l.dispatchEvent(u)}},[i,t]),(0,Be.jsx)(at.select,{...n,style:{...Yy,...n.style},ref:a,defaultValue:t})});JE.displayName=T5;function ZE(e){return e===""||e===void 0}function eN(e){let t=pr(e),n=le.useRef(""),r=le.useRef(0),o=le.useCallback(i=>{let l=n.current+i;t(l),(function s(c){n.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>s(""),1e3))})(l)},[t]),a=le.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return le.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,a]}function tN(e,t,n){let o=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,a=n?e.indexOf(n):-1,i=M5(e,Math.max(a,0));o.length===1&&(i=i.filter(c=>c!==n));let s=i.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return s!==n?s:void 0}function M5(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var nN=OE,rN=_E,oN=DE,aN=BE,iN=IE,lN=zE,sN=VE,cN=HE,uN=KE,dN=qE,fN=WE,mN=QE;var pN=B(xe(),1);var gN=B(te(),1),it=(0,pN.forwardRef)(function({className:t,...n},r){return(0,gN.jsx)("input",{ref:r,className:Q("flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",t),...n})});function hN(e){return String(e||"").trim().toLowerCase()}function km(e){return hN(e).length>0}function yN({searchEnabled:e=!0}={}){return!!e}function bb(e){let t=String(e?.key||"");return!t||t.length!==1||e?.ctrlKey||e?.metaKey||e?.altKey?"":t.trim()?t:""}function bN(e={},t=""){let n=hN(t);return n?[e?.label,e?.value,e?.hint,e?.textValue,e?.searchText].map(o=>String(o||"").toLowerCase()).join(" ").includes(n):!0}var _m=B(xe(),1),k5=12;function vb(e){return/auto|scroll|hidden|clip|overlay/.test(String(e||"").toLowerCase())}function _5(e,t){return{top:Math.max(e.top,t.top),right:Math.min(e.right,t.right),bottom:Math.min(e.bottom,t.bottom),left:Math.max(e.left,t.left)}}function Lm(e){if(typeof window>"u")return[];let t=[],n=e?.parentElement||null;for(;n&&n!==document.body&&n!==document.documentElement;){let r=window.getComputedStyle(n);(vb(r.overflow)||vb(r.overflowY)||vb(r.overflowX))&&t.push(n),n=n.parentElement}return t}function L5(e,{viewportPadding:t=k5}={}){if(typeof window>"u")return null;let n={top:t,right:window.innerWidth-t,bottom:window.innerHeight-t,left:t};for(let r of Lm(e))n=_5(n,r.getBoundingClientRect());return n}function D5({anchorRect:e,boundaryRect:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){if(!e||!t)return{side:n==="top"?"top":"bottom",maxHeight:o};let a=Math.max(0,e.top-t.top-r),i=Math.max(0,t.bottom-e.bottom-r),s=a===i?n==="top"?"top":"bottom":a>i?"top":"bottom",c=Math.max(0,Math.min(o,s==="top"?a:i));return{side:s,maxHeight:c}}function Dm({open:e=!1,anchorRef:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){let[a,i]=(0,_m.useState)(()=>({side:n==="top"?"top":"bottom",maxHeight:o}));return(0,_m.useLayoutEffect)(()=>{if(!e||typeof window>"u")return;let l=t?.current||null;if(!l){i({side:n==="top"?"top":"bottom",maxHeight:o});return}let s=()=>{i(D5({anchorRect:l.getBoundingClientRect(),boundaryRect:L5(l),preferredSide:n,offset:r,desiredHeight:o}))};s();let c=Lm(l);window.addEventListener("resize",s);for(let u of c)u.addEventListener("scroll",s,{passive:!0});let d=null;if(typeof ResizeObserver=="function"){d=new ResizeObserver(s),d.observe(l);for(let u of c)d.observe(u)}return()=>{window.removeEventListener("resize",s);for(let u of c)u.removeEventListener("scroll",s);d?.disconnect?.()}},[e,t,n,r,o]),a}var En=B(te(),1),Im=(0,pt.createContext)(null),B5="Enter character to filter",I5=41,z5="data-llm-router-select-search-input";function Bm(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(t=>Bm(t)).filter(Boolean).join(" "):(0,pt.isValidElement)(e)?Bm(e.props?.children):""}function xb(e,t="first"){let n=Array.from(e?.querySelectorAll?.("[role='option']")||[]).filter(a=>a.getAttribute("aria-disabled")!=="true");if(n.length===0)return;let r=n.find(a=>a.getAttribute("data-state")==="checked");(t==="last"?n[n.length-1]:r||n[0])?.focus?.()}function P5(e={}){let t=String(e.textValue||Bm(e.children)||"").trim();return{value:String(e.value||""),textValue:t,searchText:String(e.searchText||"")}}function vN(e,t=""){let n=0,r=0;return{children:pt.Children.map(e,a=>{if(!(0,pt.isValidElement)(a))return a;if(a.type?.__LLM_ROUTER_SELECT_ITEM===!0){n+=1;let l=bN(P5(a.props),t);return l&&(r+=1),l?a:null}if(!a.props?.children)return a;let i=vN(a.props.children,t);return n+=i.totalItems,r+=i.matchedItems,a.type?.__LLM_ROUTER_SELECT_GROUP===!0&&i.matchedItems===0?null:(0,pt.cloneElement)(a,void 0,i.children)}),totalItems:n,matchedItems:r}}function Xt({open:e,defaultOpen:t=!1,onOpenChange:n,searchEnabled:r=!0,openSearchRequest:o=0,children:a,...i}){let[l,s]=(0,pt.useState)(!!t),[c,d]=(0,pt.useState)(""),[u,f]=(0,pt.useState)(!1),p=(0,pt.useRef)(null),b=(0,pt.useRef)(0),m=e!==void 0?e:l;(0,pt.useEffect)(()=>{m||(d(""),f(!1))},[m]);function v(g){e===void 0&&s(g),n?.(g),g||(d(""),f(!1))}(0,pt.useEffect)(()=>{!o||o===b.current||(b.current=o,d(""),r&&f(!0),!m&&(e===void 0&&s(!0),n?.(!0)))},[o,r,m,e,n]);let h={open:m,searchEnabled:r,filterValue:c,setFilterValue:d,searchSessionActive:u,setSearchSessionActive:f,setOpen:v,triggerRef:p,openSearchRequest:o};return(0,En.jsx)(Im.Provider,{value:h,children:(0,En.jsx)(nN,{...i,open:m,onOpenChange:v,children:a})})}var Jt=(0,pt.forwardRef)(function({className:t,children:n,onKeyDown:r,...o},a){let i=(0,pt.useContext)(Im),l=i?.triggerRef||null,s=(0,pt.useCallback)(d=>{if(l&&(l.current=d),typeof a=="function"){a(d);return}a&&(a.current=d)},[l,a]);function c(d){if(r?.(d),d.defaultPrevented||!i?.searchEnabled||o.disabled)return;let u=bb(d);u&&(d.preventDefault(),i.setSearchSessionActive?.(!0),i.setOpen(!0),i.setFilterValue(f=>`${f}${u}`))}return(0,En.jsxs)(rN,{ref:s,className:Q("relative inline-flex h-9 w-full items-center gap-2 rounded-lg border border-input bg-background/80 pl-3 pr-9 text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50",t),onKeyDown:c,...o,children:[(0,En.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:n}),(0,En.jsx)(aN,{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:"\u25BE"})]})});function Zt(e){return(0,En.jsx)(oN,{...e})}var en=(0,pt.forwardRef)(function({className:t,children:n,position:r="popper",onKeyDownCapture:o,searchPlaceholder:a=B5,emptySearchMessage:i="No matching options.",...l},s){let c=(0,pt.useContext)(Im),d=(0,pt.useRef)(null),u=(0,pt.useRef)(null),f=Dm({open:!!c?.open,anchorRef:c?.triggerRef,preferredSide:"bottom",desiredHeight:288,offset:4}),p=yN({searchEnabled:c?.searchEnabled,filterValue:c?.filterValue,sessionActive:c?.searchSessionActive}),b=(0,pt.useMemo)(()=>km(c?.filterValue)?vN(n,c?.filterValue):{children:n,totalItems:0,matchedItems:0},[n,c?.filterValue]),m=km(c?.filterValue)&&b.totalItems>0&&b.matchedItems===0,v=Math.max(0,Math.floor((f.maxHeight||288)-(p?I5:0)));(0,pt.useEffect)(()=>{if(!c?.open||!p||typeof window>"u")return;let x=window.requestAnimationFrame(()=>{let A=u.current;if(!A)return;A.focus();let E=A.value.length;A.setSelectionRange(E,E)});return()=>window.cancelAnimationFrame(x)},[c?.open,p,c?.openSearchRequest]);let h=(0,pt.useCallback)(x=>{if(d.current=x,typeof s=="function"){s(x);return}s&&(s.current=x)},[s]);function g(x){if(o?.(x),x.defaultPrevented||x.target===u.current||!c?.searchEnabled)return;let A=bb(x);A&&(x.preventDefault(),x.stopPropagation(),c.setSearchSessionActive?.(!0),c.setFilterValue(E=>`${E}${A}`))}function y(x){let A=x.target.value;c?.setSearchSessionActive?.(!0),c?.setFilterValue(A)}return(0,En.jsx)(iN,{children:(0,En.jsxs)(lN,{ref:h,position:r,side:r==="popper"?f.side:void 0,className:Q("z-50 min-w-[8rem] overflow-hidden rounded-xl border border-border/70 bg-popover text-popover-foreground shadow-lg",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",t),onKeyDownCapture:g,...l,children:[p?(0,En.jsx)("div",{className:"border-b border-border/70 p-1",children:(0,En.jsx)(it,{ref:u,"data-llm-router-select-search-input":"true",value:c?.filterValue||"",autoComplete:"off",autoCorrect:"off",autoCapitalize:"none",spellCheck:!1,placeholder:a,className:"h-8 border-border/70 bg-background/90",onChange:y,onPointerDown:x=>x.stopPropagation(),onClick:x=>x.stopPropagation(),onKeyDown:x=>{if(x.stopPropagation(),x.key==="ArrowDown"){x.preventDefault(),xb(d.current,"first");return}if(x.key==="ArrowUp"){x.preventDefault(),xb(d.current,"last");return}x.key==="Escape"&&(x.preventDefault(),c?.setSearchSessionActive?.(!1),c?.setFilterValue(""),typeof window<"u"&&window.requestAnimationFrame(()=>xb(d.current)))}})}):null,(0,En.jsxs)(sN,{className:"px-1 pb-1",style:{maxHeight:`${v}px`},children:[km(c?.filterValue)?b.children:n,m?(0,En.jsx)("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:i}):null]})]})})}),Ct=(0,pt.forwardRef)(function({className:t,children:n,searchText:r="",textValue:o,onPointerMove:a,...i},l){let s=(0,pt.useContext)(Im),c=String(o||Bm(n)||"").trim();function d(u){if(a?.(u),u.defaultPrevented||!s?.searchEnabled||typeof document>"u")return;let f=document.activeElement;f instanceof HTMLElement&&f.getAttribute(z5)==="true"&&u.preventDefault()}return(0,En.jsxs)(dN,{ref:l,className:Q("relative flex w-full cursor-default select-none items-center rounded-lg py-2 pl-3 pr-8 text-sm text-foreground outline-none transition-colors hover:bg-accent/60 focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),textValue:c,onPointerMove:d,...i,children:[(0,En.jsx)(fN,{children:n}),(0,En.jsx)("span",{className:"absolute right-2 inline-flex h-4 w-4 items-center justify-center text-xs text-muted-foreground",children:(0,En.jsx)(mN,{children:"\u2713"})})]})});Ct.__LLM_ROUTER_SELECT_ITEM=!0;function xl(e){return(0,En.jsx)(cN,{...e})}xl.__LLM_ROUTER_SELECT_GROUP=!0;var Vs=(0,pt.forwardRef)(function({className:t,children:n,...r},o){return(0,En.jsx)(uN,{ref:o,className:Q("-mt-1 sticky top-0 z-10 -mx-1 mb-1 block border-b border-border/55 bg-background/96 px-4 py-2 text-xs font-semibold uppercase tracking-[0.18em] text-foreground/80 backdrop-blur-sm",t),...r,children:n})});var Ou=B(te(),1);function Sb(e={}){let t=[],n=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};for(let o of Object.keys(n))t.push({value:o,label:o,hint:`Alias \xB7 ${(n[o]?.targets||[]).length||0} target(s)`,kind:"alias",groupKey:"aliases",groupLabel:"Aliases"});for(let o of Array.isArray(e?.providers)?e.providers:[]){let a=String(o?.id||"").trim(),i=String(o?.name||a||"provider").trim()||"provider";for(let l of Array.isArray(o?.models)?o.models:[]){let s=String(l?.id||"").trim();if(!a||!s)continue;let c=Number.isFinite(l?.contextWindow)?Number(l.contextWindow):null;t.push({value:`${a}/${s}`,label:`${a}/${s}`,hint:c?`${i} \xB7 ${Ho(c)}`:i,kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:i})}}let r=new Set;return t.filter(o=>!o?.value||r.has(o.value)?!1:(r.add(o.value),!0))}function U5(e=""){let t=String(e||"").trim();if(!t)return{};let n=zf(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function Ti(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...U5(o)}));return n}function j5(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function V5(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function xN(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return j5(e).map((r,o)=>{let a=r.options.map(i=>(0,Ou.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:V5(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,Ou.jsxs)(xl,{children:[(0,Ou.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}var Fs=B(xe(),1),wN=B(Bi(),1);var io=B(xe(),1);var F5="flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40";function H5({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1,previousCommittedValue:o=""}={}){let a=String(e??""),i=String(t??""),l=String(o??"");return n?{draftValue:i,hasLocalDraft:r,previousCommittedValue:a}:!r||a===i?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:a!==l?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:{draftValue:i,hasLocalDraft:!0,previousCommittedValue:a}}function $5({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1}={}){return String(n||r?t??"":e??"")}function K5({commitOnBlur:e=!1,draftValue:t="",hasLocalDraft:n=!1}={}){return!e||!n?null:String(t??"")}var zm=(0,io.forwardRef)(function({className:t,commitOnBlur:n=!1,value:r,onValueCommit:o,onValueChange:a,onChange:i,onFocus:l,onBlur:s,...c},d){let u=String(r??""),[f,p]=(0,io.useState)(u),[b,m]=(0,io.useState)(!1),[v,h]=(0,io.useState)(!1),g=(0,io.useRef)(u);return(0,io.useEffect)(()=>{let y=H5({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v,previousCommittedValue:g.current});g.current=y.previousCommittedValue,p(y.draftValue),h(y.hasLocalDraft)},[u,f,v,b]),(0,io.createElement)("input",{...c,ref:d,className:Q(F5,t),value:$5({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v}),onFocus:y=>{m(!0),l?.(y)},onChange:y=>{let x=y.target.value;p(x),h(!0),a?.(x,y),i?.(y)},onBlur:y=>{m(!1);let x=K5({commitOnBlur:n,draftValue:f,hasLocalDraft:v});x!==null&&o?.(x,y),s?.(y)}})});var G5=/^\d*$/;function SN(e){let t=String(e??""),n=G5.test(t);return{accepted:n,draftValue:n?t:"",shouldCommit:n&&t!=="",commitValue:n&&t!==""?t:""}}var be=B(te(),1);function q5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,be.jsx)("path",{d:"M8 12V4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,be.jsx)("path",{d:"M4.75 7.25 8 4l3.25 3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function W5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,be.jsx)("path",{d:"M8 4v8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,be.jsx)("path",{d:"M4.75 8.75 8 12l3.25-3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function Y5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,be.jsx)("path",{d:"M2.5 10s3-5.5 7.5-5.5S17.5 10 17.5 10s-3 5.5-7.5 5.5S2.5 10 2.5 10Z"}),(0,be.jsx)("circle",{cx:"10",cy:"10",r:"2.5"})]})}function Q5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,be.jsx)("path",{d:"M8.15 4.85A8.5 8.5 0 0 1 10 4.5c4.5 0 7.5 5.5 7.5 5.5a12.4 12.4 0 0 1-1.67 2.28"}),(0,be.jsx)("path",{d:"M5.6 5.6A12.2 12.2 0 0 0 2.5 10s3 5.5 7.5 5.5a8.3 8.3 0 0 0 4.4-1.6"}),(0,be.jsx)("path",{d:"M8.23 8.23a2.5 2.5 0 0 0 3.54 3.54"}),(0,be.jsx)("path",{d:"M3 3l14 14"})]})}function Hs({value:e,onChange:t,onValueChange:n,placeholder:r,disabled:o,isEnvVar:a,buffered:i,commitOnBlur:l,onValueCommit:s,className:c,inputProps:d={},maskMode:u="password"}){let[f,p]=(0,Fs.useState)(!1),b=!a&&!f,m=b&&u!=="obscured-text"?"password":"text",v=b&&u==="obscured-text"?{...d?.style&&typeof d.style=="object"?d.style:{},WebkitTextSecurity:"disc"}:d?.style,h=i?{value:e||"",onValueChange:n,onValueCommit:s,commitOnBlur:l,type:m,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:Q("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:v,...d}:{value:e||"",onChange:t,type:m,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:Q("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:v,...d};return(0,be.jsxs)("div",{className:"flex",children:[i?(0,be.jsx)(zm,{...h}):(0,be.jsx)("input",{...h}),(0,be.jsx)("button",{type:"button",tabIndex:-1,onClick:()=>p(g=>!g),disabled:o,className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg rounded-l-none border border-l-0 border-input bg-background/80 text-muted-foreground transition hover:text-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50","aria-label":f?"Hide credential":"Show credential",children:f?(0,be.jsx)(Q5,{className:"h-4 w-4"}):(0,be.jsx)(Y5,{className:"h-4 w-4"})})]})}function Oa({disabled:e=!1,label:t="Move up",onClick:n}){return(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,be.jsx)(q5,{className:"h-3.5 w-3.5"})})}function Sl({disabled:e=!1,label:t="Move down",onClick:n}){return(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,be.jsx)(W5,{className:"h-3.5 w-3.5"})})}function wb({active:e=!1}){return e?(0,be.jsx)("span",{"aria-hidden":"true",className:"inline-flex h-2.5 w-2.5 rounded-full bg-emerald-500"}):null}function He({label:e,hint:t,className:n,children:r,stacked:o=!1,headerClassName:a,hintClassName:i,headerAction:l=null}){return(0,be.jsxs)("div",{className:Q("flex flex-col gap-2 text-sm",n),children:[(0,be.jsxs)("div",{className:Q("text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",o?"flex min-h-10 items-start justify-between gap-3":"flex items-center justify-between gap-2",a),children:[(0,be.jsxs)("div",{className:Q("min-w-0",o?"flex-1 space-y-1":"flex min-w-0 items-center gap-2"),children:[(0,be.jsx)("span",{children:e}),t?(0,be.jsx)("span",{className:Q("block normal-case tracking-normal text-[11px] text-muted-foreground/80",o?"leading-4":null,i),children:t}):null]}),l?(0,be.jsx)("div",{className:"shrink-0",children:l}):null]}),r]})}function Pm({value:e,onValueChange:t,disabled:n=!1,allowEmptyCommit:r=!1,...o}){let a=String(e??""),[i,l]=(0,Fs.useState)(a);return(0,Fs.useEffect)(()=>{l(a)},[a]),(0,be.jsx)(it,{...o,value:i,inputMode:"numeric",disabled:n,onChange:s=>{let c=SN(s.target.value);c.accepted&&(l(c.draftValue),c.shouldCommit?t(c.commitValue):r&&c.draftValue===""&&t(""))},onBlur:()=>{l(s=>s!==""?s:r?(t(""),""):a)}})}function AN({label:e,hint:t,checked:n=!1,onCheckedChange:r,disabled:o=!1,className:a}){return(0,be.jsxs)("div",{className:Q("flex items-center justify-between gap-4 rounded-2xl border border-border/70 bg-background/80 px-4 py-3",a),children:[(0,be.jsxs)("div",{className:"min-w-0",children:[(0,be.jsx)("div",{className:"text-sm font-medium text-foreground",children:e}),t?(0,be.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:t}):null]}),(0,be.jsx)(Io,{checked:n,onCheckedChange:r,disabled:o,className:"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-60"})]})}function Nn({open:e=!1,title:t="",description:n="",onClose:r=()=>{},children:o,variant:a="dialog",headerActions:i=null,showCloseButton:l=!0,closeDisabled:s=!1,closeOnEscape:c=!0,closeOnBackdrop:d=!0,footer:u=null,contentClassName:f="",bodyClassName:p="",footerClassName:b=""}){if((0,Fs.useEffect)(()=>{if(!e||typeof window>"u")return;function h(g){g.key==="Escape"&&c&&r()}return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[c,e,r]),!e)return null;let m=a==="page",v=(0,be.jsx)("div",{className:Q("fixed inset-0 z-50 bg-slate-950/55 backdrop-blur-sm",m?"p-0":"flex items-center justify-center p-4"),onMouseDown:h=>{h.target===h.currentTarget&&d&&r()},children:(0,be.jsxs)("div",{className:Q("overflow-hidden border border-border/70 bg-card/95 shadow-2xl",m?"flex h-full w-full flex-col rounded-none border-x-0 border-y-0 bg-background/98":"flex max-h-[85vh] w-full max-w-3xl flex-col rounded-3xl",f),children:[(0,be.jsxs)("div",{className:Q("flex items-start justify-between gap-3 border-b border-border/70",m?"px-5 py-4 sm:px-6":"px-5 py-4"),children:[(0,be.jsxs)("div",{className:"min-w-0",children:[(0,be.jsx)("div",{className:"text-base font-semibold text-foreground",children:t}),n?(0,be.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:n}):null]}),(0,be.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[i,l?(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",onClick:r,disabled:s,children:"Close"}):null]})]}),(0,be.jsx)("div",{className:Q("overflow-y-auto",m?"min-h-0 flex-1 px-5 py-4 sm:px-6 sm:py-5":"min-h-0 flex-1 px-5 py-4",p),children:o}),u?(0,be.jsx)("div",{className:Q("border-t border-border/70 bg-background/96",m?"px-5 py-4 sm:px-6":"px-5 py-4",b),children:u}):null]})});return typeof document>"u"||!document.body?v:(0,wN.createPortal)(v,document.body)}function Um({open:e=!1,anchorRef:t,preferredSide:n="bottom",desiredHeight:r=288,offset:o=4,className:a="",children:i,...l}){let s=Dm({open:e,anchorRef:t,preferredSide:n,desiredHeight:r,offset:o});return e?(0,be.jsx)("div",{className:Q("absolute left-0 right-0 z-30 overflow-y-auto rounded-xl border border-border/70 bg-popover shadow-lg",s.side==="top"?"bottom-full mb-1":"top-full mt-1",a),style:{maxHeight:`${Math.max(0,Math.floor(s.maxHeight||r))}px`},...l,children:i}):null}function CN({open:e=!1,onKeepEditing:t=()=>{},onDiscardAndClose:n=()=>{},onSaveAndClose:r=()=>{},saveDisabled:o=!1,dirtyLabels:a=[],details:i=""}){let l=a.length>1?`${a.slice(0,-1).join(", ")} and ${a[a.length-1]}`:a[0]||"this form";return(0,be.jsx)(Nn,{open:e,onClose:t,title:"Unsaved changes",description:`You have unsaved edits in ${l}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,be.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,be.jsx)(H,{type:"button",variant:"ghost",onClick:t,children:"Keep editing"}),(0,be.jsx)(H,{type:"button",variant:"outline",onClick:n,children:"Cancel + Close"}),(0,be.jsx)(H,{type:"button",onClick:()=>{r()},disabled:o,children:"Save + Close"})]}),children:(0,be.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,be.jsx)("div",{children:"Choose whether to save these edits before closing the modal."}),i?(0,be.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-amber-900",children:i}):null]})})}function RN({open:e=!1,failedModelIds:t=[],onKeepEditing:n=()=>{},onRemoveFailedAndClose:r=()=>{},removeDisabled:o=!1}){let a=t.length>1?`${t.length} failed models`:t[0]||"the failed model";return(0,be.jsx)(Nn,{open:e,onClose:n,title:"Failed model tests",description:`Some new models did not pass validation: ${a}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,be.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,be.jsx)(H,{type:"button",variant:"ghost",onClick:n,children:"Keep editing"}),(0,be.jsx)(H,{type:"button",variant:"outline",onClick:()=>{r()},disabled:o,children:"Remove failed + close"})]}),children:(0,be.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,be.jsx)("div",{children:"Successful new models are still kept in the draft. You can continue editing, or remove only the failed rows and close the modal."}),t.length>0?(0,be.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-rose-900",children:t.join(", ")}):null]})})}function Br(){return(0,be.jsx)("span",{className:"mr-2 inline-flex h-3.5 w-3.5 animate-spin rounded-full border-2 border-current border-r-transparent align-[-0.125em]"})}function EN({children:e,onClick:t,disabled:n=!1,title:r="",className:o=""}){return(0,be.jsx)("button",{type:"button",className:Q("inline-flex items-center rounded-full border border-border bg-background/70 px-2.5 py-1 text-[11px] font-medium tracking-wide text-muted-foreground transition hover:border-primary/35 hover:bg-primary/5 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",o),onClick:t,disabled:n,title:r,"aria-label":r||void 0,children:e})}var Le=B(te(),1);function X5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("circle",{cx:"6.75",cy:"10",r:"3.25"}),(0,Le.jsx)("path",{d:"M10 10h6.5"}),(0,Le.jsx)("path",{d:"M13.5 10v2.25"}),(0,Le.jsx)("path",{d:"M15.75 10v1.5"})]})}function J5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M16.25 10a6.25 6.25 0 1 1-1.83-4.42"}),(0,Le.jsx)("path",{d:"M13.5 3.75h3v3"}),(0,Le.jsx)("path",{d:"M16.5 3.75 12.75 7.5"})]})}function Z5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M7.25 5.75h-1.5A2.75 2.75 0 0 0 3 8.5v5.75A2.75 2.75 0 0 0 5.75 17h5.75a2.75 2.75 0 0 0 2.75-2.75v-1.5"}),(0,Le.jsx)("path",{d:"M10.5 9.5 17 3"}),(0,Le.jsx)("path",{d:"M12 3h5v5"})]})}function eB({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Le.jsx)("path",{d:"M11 3.5V7.5H15"})]})}function tB({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Le.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,Le.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,Le.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function nB({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a}){return(0,Le.jsxs)("button",{type:"button",className:"inline-flex h-9 min-w-0 max-w-full items-center gap-2 rounded-full border border-border/70 bg-background/90 px-3 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70 sm:max-w-[18rem]",onClick:o,disabled:r,"aria-label":a,title:r?a:t,children:[(0,Le.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Le.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:e}),(0,Le.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:t})]})}function rB({value:e,pending:t=!1,disabled:n=!1,rotateDisabled:r=!1,onCopy:o,onRotate:a}){return(0,Le.jsxs)("div",{className:"flex h-9 min-w-0 max-w-full items-stretch overflow-hidden rounded-full border border-border/70 bg-background/90 sm:max-w-[18rem]",children:[(0,Le.jsxs)("button",{type:"button",className:"inline-flex min-w-0 flex-1 items-center gap-2 rounded-l-full px-3 text-left transition hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:n,"aria-label":t?"Gateway key is still generating":"Copy gateway key",title:t?"Gateway key is still generating":"Copy gateway key",children:[(0,Le.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:(0,Le.jsx)(X5,{className:"h-3.5 w-3.5"})}),(0,Le.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Gateway key"}),(0,Le.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:e})]}),(0,Le.jsx)("button",{type:"button",className:"inline-flex w-9 shrink-0 items-center justify-center rounded-r-full border-l border-border/70 text-muted-foreground transition hover:bg-accent hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",onClick:a,disabled:r,"aria-label":"Rotate gateway key",title:"Rotate gateway key",children:(0,Le.jsx)(J5,{className:"h-3.5 w-3.5"})})]})}function TN({endpointValue:e,endpointDisabled:t=!1,gatewayValue:n,gatewayPending:r=!1,gatewayDisabled:o=!1,rotateDisabled:a=!1,onCopyEndpoint:i,onCopyGatewayKey:l,onRotateKey:s}){return(0,Le.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,Le.jsx)(nB,{label:"Endpoint",value:e,icon:(0,Le.jsx)(Z5,{className:"h-3.5 w-3.5"}),disabled:t,onClick:i,actionLabel:t?"API endpoint not ready yet":"Copy API endpoint"}),(0,Le.jsx)(rB,{value:n,pending:r,disabled:o,rotateDisabled:a,onCopy:l,onRotate:s})]})}function NN({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a="",emptyLabel:i="Not resolved"}){let l=String(t||"").trim()||i;return(0,Le.jsxs)("button",{type:"button",className:"inline-flex min-w-0 max-w-full items-start gap-2 rounded-2xl border border-border/70 bg-background/90 px-3 py-2 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:r,"aria-label":a,title:r?a:l,children:[(0,Le.jsx)("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Le.jsxs)("span",{className:"min-w-0",children:[(0,Le.jsx)("span",{className:"block text-[9px] font-semibold uppercase tracking-[0.12em] text-muted-foreground",children:e}),(0,Le.jsx)("span",{className:"mt-1 block break-all text-[11px] font-medium leading-4 text-foreground",children:l})]})]})}function wl({connected:e=!1,className:t,srLabel:n="Connected",size:r="sm"}){if(!e)return null;let o=r==="md"?"h-3.5 w-3.5":"h-2.5 w-2.5",a=r==="md"?"h-2 w-2":"h-1.5 w-1.5";return(0,Le.jsxs)("span",{className:Q("relative inline-flex shrink-0 items-center justify-center",o,t),children:[(0,Le.jsx)("span",{"aria-hidden":"true",className:"absolute inset-0 rounded-full bg-emerald-400/45 animate-ping motion-reduce:animate-none"}),(0,Le.jsx)("span",{"aria-hidden":"true",className:Q("relative rounded-full bg-emerald-500 ring-2 ring-emerald-500/15",a)}),(0,Le.jsx)("span",{className:"sr-only",children:n})]})}function jm({primaryLabel:e="Config file",primaryValue:t="",primaryIcon:n=(0,Le.jsx)(eB,{className:"h-3 w-3"}),onOpenPrimary:r,secondaryLabel:o="Backup file",secondaryValue:a="",secondaryIcon:i=(0,Le.jsx)(tB,{className:"h-3 w-3"}),onOpenSecondary:l}){let s=String(t||"").trim(),c=String(a||"").trim();return(0,Le.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Le.jsx)(NN,{label:e,value:s,icon:n,disabled:!s||typeof r!="function",onClick:r,actionLabel:s?`Open ${e.toLowerCase()}`:`${e} path is not resolved yet`}),(0,Le.jsx)(NN,{label:o,value:c,icon:i,disabled:!c||typeof l!="function",onClick:l,actionLabel:c?`Open ${o.toLowerCase()}`:`${o} path is not resolved yet`})]})}var Yo=B(xe(),1);var ln=B(te(),1);function oB(e){return e==="error"?"Error":e==="success"?"Success":"Notice"}function aB({notice:e,onDismiss:t}){let[n,r]=(0,Yo.useState)(Pf),[o,a]=(0,Yo.useState)(Pf),[i,l]=(0,Yo.useState)(!1),s=(0,Yo.useRef)(null),c=(0,Yo.useRef)(0);(0,Yo.useEffect)(()=>{if(n<=0){t();return}if(i){s.current&&(clearTimeout(s.current),s.current=null);return}return c.current=Date.now(),s.current=setTimeout(()=>{s.current=null,t()},n),()=>{s.current&&(clearTimeout(s.current),s.current=null)}},[t,i,n]),(0,Yo.useEffect)(()=>{if(i||n<=0){a(n);return}let g=()=>{let x=c.current?Date.now()-c.current:0;a(Math.max(0,n-x))};g();let y=setInterval(g,dC);return()=>clearInterval(y)},[i,n]);function d(){if(i)return;s.current&&(clearTimeout(s.current),s.current=null);let g=c.current?Date.now()-c.current:0,y=Math.max(0,n-g);r(y),a(y),l(!0)}function u(){l(!1)}let f=e.tone==="error"?"border-rose-200 bg-rose-50 text-rose-800":e.tone==="success"?"border-emerald-200 bg-emerald-50 text-emerald-800":"border-amber-200 bg-amber-50 text-amber-800",p=9,b=2*Math.PI*p,m=Math.max(0,Math.min(1,o/Pf)),v=b*(1-m),h=i?`Auto-dismiss paused with ${Math.max(0,o/1e3).toFixed(1)} seconds remaining`:`Auto-dismiss in ${Math.max(0,o/1e3).toFixed(1)} seconds`;return(0,ln.jsx)("div",{className:Q("pointer-events-auto rounded-2xl border px-4 py-3 text-sm shadow-lg backdrop-blur",f),onMouseEnter:d,onMouseLeave:u,onFocusCapture:d,onBlurCapture:g=>{g.currentTarget.contains(g.relatedTarget)||u()},role:e.tone==="error"?"alert":"status",children:(0,ln.jsxs)("div",{className:"min-w-0",children:[(0,ln.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,ln.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] opacity-75",children:oB(e.tone)}),(0,ln.jsxs)("div",{className:"relative mt-0.5 h-6 w-6 shrink-0 opacity-85","aria-label":h,title:h,children:[(0,ln.jsxs)("svg",{viewBox:"0 0 24 24",className:Q("h-6 w-6 -rotate-90",i?"opacity-70":"opacity-100"),"aria-hidden":"true",children:[(0,ln.jsx)("circle",{cx:"12",cy:"12",r:p,fill:"none",stroke:"currentColor",strokeOpacity:"0.18",strokeWidth:"2"}),(0,ln.jsx)("circle",{cx:"12",cy:"12",r:p,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:b,strokeDashoffset:v,className:"transition-[stroke-dashoffset,opacity] duration-100 ease-linear"})]}),(0,ln.jsx)("span",{className:Q("pointer-events-none absolute inset-0 flex items-center justify-center",i?"gap-[2px]":""),"aria-hidden":"true",children:i?(0,ln.jsxs)(ln.Fragment,{children:[(0,ln.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"}),(0,ln.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"})]}):(0,ln.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-current/75"})})]})]}),(0,ln.jsx)("div",{className:"mt-1 leading-6",children:e.message}),(0,ln.jsx)("div",{className:"mt-2 flex justify-end",children:(0,ln.jsx)("button",{className:"rounded-full border border-current/15 px-2.5 py-1 text-[11px] font-medium uppercase tracking-[0.16em] opacity-85 transition hover:border-current/30 hover:opacity-100",onClick:t,type:"button",children:"Dismiss"})})]})})}function Ab({notices:e,onDismiss:t}){return!Array.isArray(e)||e.length===0?null:(0,ln.jsx)("div",{className:"pointer-events-none fixed inset-x-4 top-4 z-50 flex flex-col items-end gap-3","aria-live":"polite","aria-relevant":"additions text",children:e.map(n=>(0,ln.jsx)("div",{className:"w-full max-w-md",children:(0,ln.jsx)(aB,{notice:n,onDismiss:()=>t(n.id)})},n.id))})}var _a=B(xe(),1);var _n=B(xe(),1);var Zn=B(xe(),1);var ka=B(xe(),1);function $s(e=[]){let t=(0,ka.useRef)(new Map),n=(0,ka.useRef)(new Map),r=(0,ka.useRef)(new Map),o=(0,ka.useRef)(""),a=JSON.stringify(e);return(0,ka.useLayoutEffect)(()=>{let i=new Map;for(let d of e){let u=t.current.get(d);u&&i.set(d,u.getBoundingClientRect())}let l=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(o.current!==""&&o.current!==a&&!l)for(let d of e){let u=r.current.get(d),f=i.get(d),p=t.current.get(d);if(!u||!f||!p)continue;let b=u.top-f.top;Math.abs(b)<1||typeof p.animate!="function"||p.animate([{transform:`translateY(${b}px)`},{transform:"translateY(0)"}],{duration:220,easing:"cubic-bezier(0.22, 1, 0.36, 1)"})}let c=new Set(e);for(let d of n.current.keys())c.has(d)||n.current.delete(d);r.current=i,o.current=a},[a]),(0,ka.useMemo)(()=>i=>(n.current.has(i)||n.current.set(i,l=>{if(l){t.current.set(i,l);return}t.current.delete(i)}),n.current.get(i)),[])}var Rt=B(te(),1);function Cb({title:e,rows:t,onChange:n,options:r,disabled:o=!1,addLabel:a="Add target",emptyLabel:i="No targets configured.",helperText:l="Drag rows or use the arrow to change routing order.",helperAction:s=null,placeholder:c="provider/model or alias",draftPlaceholder:d="Add a new route",showDraftRow:u=!1,showDraftFocusButton:f=!1,showWeightInput:p=!1,filterOtherSelectedValues:b=!1,excludedValues:m=[]}){let v=(0,Zn.useRef)(0),h=(0,Zn.useRef)(""),g=(0,Zn.useRef)(null),y=(0,Zn.useRef)(new Map),x=(0,Zn.useRef)(0),A=(0,Zn.useRef)(0),[E,N]=(0,Zn.useState)(0),C=(0,Zn.useMemo)(()=>String(e||"targets").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"targets",[e]),O=`${C}-draft-row`,L=(0,Zn.useMemo)(()=>{let ne=(t||[]).filter(Ve=>String(Ve?.ref||"").trim());return u?[{key:O,ref:"",sourceRef:""},...ne]:ne},[t,u,O]),V=$s(L.map(ne=>ne.key)),z=(0,Zn.useMemo)(()=>yr(m),[m]),G=(0,Zn.useMemo)(()=>Ti(r,[...L.map(ne=>ne?.ref),...z]),[r,L,z]);(0,Zn.useEffect)(()=>()=>{typeof window<"u"&&x.current&&window.cancelAnimationFrame(x.current)},[]);function Z(ne,Ve){if(u&&ne===O){if(!String(Ve||"").trim())return;v.current+=1,n([{key:`${C}-draft-${v.current}`,ref:Ve,sourceRef:"",...p?{weight:"1"}:{}},...(t||[]).filter(ae=>String(ae?.ref||"").trim())]);return}n((t||[]).map(ae=>ae.key===ne?{...ae,ref:Ve}:ae))}function ue(ne,Ve){n((t||[]).map(ae=>ae.key===ne?{...ae,weight:Ve}:ae))}function q(ne){n((t||[]).filter(Ve=>Ve.key!==ne))}function oe(ne){n(Ts(t||[],ne,Ve=>Ve?.key))}function ee(ne){n(Gf(t||[],ne,Ve=>Ve?.key))}function W(){h.current="",Na(g.current,!1),g.current=null}function j(){v.current+=1;let ne=new Set([...(t||[]).map(ae=>String(ae?.ref||"").trim()).filter(Boolean),...z]),Ve=G.find(ae=>!ne.has(ae.value))?.value||"";n([...t||[],{key:`${C}-draft-${v.current}`,ref:Ve,sourceRef:""}])}function Ie(){if(!u||o)return;let ne=y.current.get(O);if(!ne||typeof window>"u"){N(qe=>qe+1);return}A.current+=1;let Ve=A.current;x.current&&(window.cancelAnimationFrame(x.current),x.current=0),ne.scrollIntoView({block:"start",behavior:"smooth"});let ae=Lm(ne),Se=py(ne,ae),ze=0,U=0,fe=90,ve=8,ke=6,we=.5,Ne=()=>{if(A.current!==Ve)return;let qe=y.current.get(O)||ne,We=py(qe,ae);if(!Number.isFinite(We.top)||!Number.isFinite(We.left)){x.current=0,N(nn=>nn+1);return}if(OC(Se,We,we)?ze+=1:ze=0,Se=We,U+=1,U>=ve&&ze>=ke||U>=fe){x.current=0,N(nn=>nn+1);return}x.current=window.requestAnimationFrame(Ne)};x.current=window.requestAnimationFrame(Ne)}return(0,Rt.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/55 p-4",children:[(0,Rt.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,Rt.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,Rt.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:e}),f&&u?(0,Rt.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-6 w-6 rounded-md p-0 text-muted-foreground hover:text-foreground",onMouseDown:ne=>ne.preventDefault(),onClick:Ie,disabled:o,"aria-label":a,title:a,children:(0,Rt.jsx)(vC,{className:"h-3.5 w-3.5"})}):null]}),(0,Rt.jsxs)("div",{className:"ml-auto flex max-w-full flex-wrap items-start justify-end gap-x-3 gap-y-2",children:[l?(0,Rt.jsx)("div",{className:"max-w-[34rem] text-right text-[11px] leading-4 text-muted-foreground",children:l}):null,u?null:(0,Rt.jsx)(H,{type:"button",variant:"ghost",onClick:j,disabled:o,children:a})]})]}),L.length>0?(0,Rt.jsx)("div",{className:"space-y-2",children:L.map((ne,Ve)=>{let ae=u&&ne.key===O,Se=ae?-1:(t||[]).findIndex(U=>U?.key===ne.key),ze=b?G.filter(U=>{let fe=String(U?.value||"").trim();return fe?fe===String(ne?.ref||"").trim()?!0:z.includes(fe)?!1:!(L||[]).some(ve=>ve?.key!==ne.key&&String(ve?.ref||"").trim()===fe):!1}):G;return(0,Rt.jsxs)("div",{ref:U=>{if(V(ne.key)(U),U){y.current.set(ne.key,U);return}y.current.delete(ne.key)},"data-reorder-row":"true",onDragOver:U=>{!o&&h.current&&h.current!==ne.key&&(U.preventDefault(),U.dataTransfer.dropEffect="move")},onDrop:U=>{if(o)return;U.preventDefault();let fe=U.dataTransfer.getData("text/plain")||h.current;W(),n(Kf(t||[],fe,ne.key))},className:Q(p?"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_10rem_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3":"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3",ae?"border-dashed bg-background/85":null),children:[(0,Rt.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",ae||o?"opacity-45":"cursor-grab"),draggable:!o&&!ae,onDragStart:U=>{if(o||ae)return;let fe=Ms(U.currentTarget);U.dataTransfer.effectAllowed="move",U.dataTransfer.setData("text/plain",ne.key),fe&&typeof U.dataTransfer?.setDragImage=="function"&&U.dataTransfer.setDragImage(fe,20,20),W(),h.current=ne.key,g.current=fe,Na(fe,!0)},onDragEnd:W,title:ae?"New route draft row":"Drag to reorder",children:(0,Rt.jsx)(Es,{className:"h-4 w-4"})}),(0,Rt.jsx)(Oa,{disabled:o||ae||Se<=0,label:ae||Se<=0?"Already first":`Move ${ne.ref||`target ${Se+1}`} up`,onClick:()=>oe(ne.key)}),(0,Rt.jsx)(Sl,{disabled:o||ae||Se===-1||Se>=(t||[]).length-1,label:ae||Se===-1||Se>=(t||[]).length-1?"Already last":`Move ${ne.ref||`target ${Se+1}`} down`,onClick:()=>ee(ne.key)}),(0,Rt.jsxs)("div",{className:"flex h-9 min-w-0 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",children:[(0,Rt.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model"}),(0,Rt.jsxs)(Xt,{value:ne.ref||void 0,onValueChange:U=>Z(ne.key,U),disabled:o,openSearchRequest:ae?E:0,children:[(0,Rt.jsx)(Jt,{className:"h-full min-w-0 flex-1 rounded-none border-0 bg-transparent px-3 shadow-none focus:border-transparent focus:ring-0",children:(0,Rt.jsx)(Zt,{placeholder:ae?d:c})}),(0,Rt.jsx)(en,{children:ze.length>0?xN(ze,{keyPrefix:`${e}-row-${ne.key}`}):(0,Rt.jsx)(Ct,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})]}),p?(0,Rt.jsxs)("div",{className:Q("flex h-9 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",ae?"opacity-45":null),children:[(0,Rt.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Weight"}),(0,Rt.jsx)(it,{value:ae?"":String(ne?.weight||"1"),onChange:U=>ue(ne.key,U.target.value),inputMode:"numeric",placeholder:"1",disabled:o||ae,className:"h-full min-w-0 rounded-none border-0 bg-transparent px-3 text-center shadow-none focus:border-transparent focus:ring-0","aria-label":ae?"Weight for new target":`Weight for ${ne.ref||`target ${Ve+1}`}`})]}):null,ae?(0,Rt.jsx)(H,{type:"button",variant:"ghost",className:Q(Rs,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"}):(0,Rt.jsx)(H,{type:"button",variant:"ghost",className:Rs,onMouseDown:U=>U.preventDefault(),onClick:()=>q(ne.key),disabled:o,children:"Remove"})]},ne.key)})}):(0,Rt.jsx)("div",{className:"rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:i}),s?(0,Rt.jsx)("div",{className:"flex min-h-8 items-center justify-end",children:s}):null]})}var Al=B(xe(),1);var se=B(te(),1);function iB(e,t){let n=Math.abs(Number(e)||0),r=Math.abs(Number(t)||0);for(;r!==0;){let o=n%r;n=r,r=o}return n||1}function lB(e=[]){return!Array.isArray(e)||e.length===0?1:e.reduce((t,n)=>iB(t,n),0)||1}function sB(e,t){let n=String(e||"").trim();if(!n)return"Unconfigured route";let r=t.get(n);if(!r)return n;let o=String(r.label||n).trim()||n,a=String(r.hint||"").trim();return a&&a!==o?`${o} \xB7 ${a}`:o}function MN(e,t,n=[]){let r=new Map((n||[]).map(l=>[String(l?.value||"").trim(),l]).filter(([l])=>!!l)),o=new Map((Array.isArray(t?.targets)?t.targets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l)),a=new Map((Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l));function i(l,s,c){return(l||[]).map((d,u)=>{let f=String(d?.ref||"").trim(),p=String(d?.sourceRef||d?.ref||"").trim(),b=c.get(p)||c.get(f)||{},m=Number(d?.weight??b?.weight),v=Number.isFinite(m)&&m>0?Math.floor(m):1;return{key:`${s}-${f||"empty"}-${u}`,ref:f,label:sB(f,r),bucket:s,weight:v}}).filter(d=>!!d.ref)}return[...i(e?.targets,"primary",o),...i(e?.fallbackTargets,"fallback",a)]}function cB(e=[],t=8){if(!Array.isArray(e)||e.length===0)return[];let n=e.map(l=>Math.max(1,Number(l?.weight)||1)),r=lB(n),o=n.map(l=>Math.max(1,Math.floor(l/r))),a=o.reduce((l,s)=>l+s,0);if(a>24){let l=a/24;o=o.map(s=>Math.max(1,Math.round(s/l))),a=o.reduce((s,c)=>s+c,0)}let i=[];for(let l=0;l<e.length;l+=1)for(let s=0;s<o[l];s+=1)i.push(e[l]);return Array.from({length:Math.max(e.length,t)},(l,s)=>i[s%i.length])}function uB(e,t=[]){let n=qf(e),r=Wf(n),o=Array.isArray(t)?t.filter(Boolean):[],i=o.some(l=>l.bucket==="fallback")?"Runtime builds the candidate pool as all primary targets first, then all fallback targets.":"Runtime builds the candidate pool from the primary target list only.";if(n==="round-robin"){let l=o.length>0?Array.from({length:Math.max(o.length,8)},(s,c)=>o[c%o.length]):[];return{strategyLabel:r,summary:"Each new request starts from the next candidate in the current pool, then wraps around.",poolNote:`${i} Round-robin rotates across that combined eligible list.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:l,footnote:"If a candidate is unhealthy or quota-blocked, it is skipped and the next eligible candidate is chosen."}}if(n==="weighted-rr"||n==="quota-aware-weighted-rr"||n==="auto"){let l=n==="auto",s=cB(o,8);return{strategyLabel:r,summary:l?"`auto` normalizes to quota-aware weighted round-robin in the runtime balancer.":n==="quota-aware-weighted-rr"?"Candidates rotate like weighted round-robin, but low remaining quota or poor health lowers their share.":"Candidates repeat in proportion to their configured weights.",poolNote:`${i} This strategy ranks across the full eligible pool after it is built.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:s,footnote:l||n==="quota-aware-weighted-rr"?"When all quotas and health scores are equal, the rotation looks like the weighted example below. Low remaining capacity or retryable failures push a target later.":"Weights come from the existing alias target metadata when present. Targets without a stored weight behave as weight 1."}}return{strategyLabel:r,summary:"Requests try candidates in the configured list order and only move to later candidates when earlier ones are unavailable or fail.",poolNote:`${i} Ordered keeps that exact sequence.`,sequenceLabel:"Attempt order",sequenceEntries:o,footnote:"This is the most predictable option when you want a strict preference order."}}function ON({open:e=!1,onClose:t=()=>{},onSave:n=()=>{},aliasLabel:r="",initialStrategy:o="auto",entries:a=[],disabled:i=!1}){let l=qf(o),[s,c]=(0,Al.useState)(l),[d,u]=(0,Al.useState)(!1);(0,Al.useEffect)(()=>{e&&(c(l),u(!1))},[e,l,r]);async function f(){if(!(i||d)){u(!0);try{await n(s)!==!1&&t()}finally{u(!1)}}}return(0,se.jsx)(Nn,{open:e,onClose:t,title:r?`Choose strategy \xB7 ${r}`:"Choose strategy",description:"Review each routing strategy in its own tab. Save applies the currently selected tab to this alias.",showCloseButton:!1,footer:(0,se.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,se.jsx)(H,{type:"button",variant:"ghost",onClick:t,disabled:d,children:"Cancel"}),(0,se.jsx)(H,{type:"button",onClick:()=>{f()},disabled:i||d,children:d?"Saving\u2026":"Save strategy"})]}),children:(0,se.jsxs)(bi,{value:s,onValueChange:c,children:[(0,se.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,se.jsx)(vi,{className:"h-auto min-w-max flex-wrap justify-start gap-2 rounded-2xl bg-secondary/80 p-2",children:Uf.map(p=>(0,se.jsx)(Gn,{value:p.value,className:"h-auto min-h-10 rounded-xl px-4 py-2",children:p.label},p.value))})}),Uf.map(p=>{let b=uB(p.value,a),m=(b.sequenceEntries||[]).filter(Boolean);return(0,se.jsx)(qn,{value:p.value,className:"mt-4",children:(0,se.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.15fr)_minmax(320px,0.85fr)]",children:[(0,se.jsxs)("div",{className:"space-y-4",children:[(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"outline",children:b.strategyLabel}),(0,se.jsxs)(_e,{variant:"info",children:[a.length," candidate",a.length===1?"":"s"]})]}),(0,se.jsxs)("div",{className:"mt-4 space-y-3 text-sm leading-6 text-foreground",children:[(0,se.jsx)("p",{children:b.summary}),(0,se.jsx)("p",{className:"text-muted-foreground",children:b.poolNote})]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:b.sequenceLabel}),m.length>0?(0,se.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:m.map((v,h)=>(0,se.jsxs)("div",{className:"rounded-full border border-border/70 bg-card/90 px-3 py-1.5 text-sm text-foreground",children:[(0,se.jsx)("span",{className:"mr-2 text-xs text-muted-foreground",children:h+1}),(0,se.jsx)("span",{children:v.label})]},`${v.key}-sequence-${h}`))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"Add at least one target to preview how this strategy would route requests."}),(0,se.jsx)("div",{className:"mt-4 text-sm leading-6 text-muted-foreground",children:b.footnote})]})]}),(0,se.jsx)("div",{className:"space-y-4",children:(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current setup"}),r?(0,se.jsx)(_e,{variant:"outline",children:r}):null]}),a.length>0?(0,se.jsx)("div",{className:"mt-4 space-y-2",children:a.map(v=>(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2 rounded-xl border border-border/70 bg-card/90 px-3 py-2 text-sm",children:[(0,se.jsx)(_e,{variant:v.bucket==="primary"?"info":"outline",children:v.bucket}),(0,se.jsx)("span",{className:"font-medium text-foreground",children:v.label}),(0,se.jsxs)("span",{className:"text-xs text-muted-foreground",children:["weight ",v.weight]})]},v.key))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"This alias does not have any targets yet."})]})})]})},p.value)})]})})}function kN({open:e=!1,onClose:t=()=>{},config:n={}}){let r=(0,Al.useMemo)(()=>y1(n),[n]);return(0,se.jsx)(Nn,{open:e,onClose:t,title:"Alias guide",description:"Aliases give clients one stable route while letting LLM Router swap, balance, and fail over across provider/model targets behind that route.",contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,se.jsxs)("div",{className:"space-y-4",children:[(0,se.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Stable route"}),(0,se.jsxs)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:["Expose one alias like ",(0,se.jsx)("code",{children:"coding"})," or ",(0,se.jsx)("code",{children:"gpt-5.4"})," to clients, then retarget the alias later without touching client config."]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Selection strategy"}),(0,se.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"The alias strategy controls how LLM Router picks from the configured targets. Ordered is strict preference; the other strategies distribute traffic when multiple targets are healthy."})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Fallback behavior"}),(0,se.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"If one target is unavailable or rate limited, LLM Router can continue to later candidates in the same alias instead of failing the whole request immediately."})]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"warning",children:"Important"}),(0,se.jsx)("div",{className:"text-sm font-medium text-amber-950",children:"Mixed context windows inside one alias can change behavior."})]}),(0,se.jsxs)("div",{className:"mt-3 text-sm leading-6 text-amber-900",children:["If an alias mixes models with different context windows, requests that fit the larger model may still fail on the smaller model. For example, an alias that includes both a ",(0,se.jsx)("code",{children:"258K"})," model and a ",(0,se.jsx)("code",{children:"128K"})," model can still fail when routing lands on the smaller target. Keep aliases aligned by context size when you expect long histories or large prompts."]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,se.jsxs)("div",{children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current config check"}),(0,se.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Aliases below currently mix different configured model context windows."})]}),(0,se.jsx)(_e,{variant:r.length>0?"warning":"success",children:r.length>0?`${r.length} alias${r.length===1?"":"es"} need review`:"No mixed context windows detected"})]}),r.length>0?(0,se.jsx)("div",{className:"mt-4 space-y-3",children:r.map(o=>(0,se.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50/70 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"outline",children:o.aliasId}),(0,se.jsxs)("div",{className:"text-sm font-medium text-amber-950",children:["Smallest target: ",Ho(o.smallestContextWindow),". Largest target: ",Ho(o.largestContextWindow),"."]})]}),(0,se.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[o.models.map(a=>(0,se.jsxs)("div",{className:"rounded-full border border-amber-200 bg-background/90 px-3 py-1.5 text-sm text-foreground",children:[a.ref," \xB7 ",Ho(a.contextWindow)]},a.ref)),o.unknownRefs.map(a=>(0,se.jsxs)("div",{className:"rounded-full border border-dashed border-amber-300 bg-background/70 px-3 py-1.5 text-sm text-muted-foreground",children:[a," \xB7 context unknown"]},a))]})]},o.aliasId))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"No alias currently mixes known context-window sizes across its configured targets."})]})]})})}var Me=B(te(),1),dB=500;function Mi(e=[]){return(e||[]).map(t=>({ref:String(t?.ref||"").trim(),weight:String(t?.weight||"1").trim()}))}function Rb({aliasId:e,alias:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:i=!1,disabledReason:l="",busy:s=!1,onApply:c,onRemove:d,onCopyAliasId:u=()=>{},isNew:f=!1,alwaysShowAliasIdInput:p=!1,showIssueOnSubmitOnly:b=!1,onDiscard:m=()=>{},onOpenStrategyModal:v=()=>{},titleAccessory:h=null,aliasSwitcher:g=null,framed:y=!0}){let x=LC(e,t,{isNew:f}),A=(0,_n.useMemo)(()=>rC(f?"":e,t),[x]),[E,N]=(0,_n.useState)(A),[C,O]=(0,_n.useState)(f),[L,V]=(0,_n.useState)(!1),z=(0,_n.useRef)(null),G=(0,_n.useRef)(0),Z=(0,_n.useRef)(""),[ue,q]=(0,_n.useState)("idle");(0,_n.useEffect)(()=>{N(A),O(f),V(!1),q("idle"),Z.current=""},[A,f]);let oe=!f&&Array.isArray(g?.entries)&&g.entries.length>1,ee=p||C;(0,_n.useEffect)(()=>{if(!ee)return;let M=typeof window<"u"?window.requestAnimationFrame(()=>{z.current?.focus(),z.current?.select?.()}):0;return()=>{typeof window<"u"&&window.cancelAnimationFrame(M)}},[ee]);let W=String(E?.id||"").trim(),j=e===Mt||W===Mt,Ie=(0,_n.useMemo)(()=>Ti((r||[]).filter(M=>M.kind!=="alias"&&M.value!==W&&M.value!==`alias:${W}`),[...(E?.targets||[]).map(M=>M?.ref),...(E?.fallbackTargets||[]).map(M=>M?.ref)]),[r,W,E?.targets,E?.fallbackTargets]),ne=(E?.targets||[]).map(M=>String(M?.ref||"").trim()),Ve=(E?.fallbackTargets||[]).map(M=>String(M?.ref||"").trim()),ae=[...ne,...Ve],Se=[...E?.targets||[],...E?.fallbackTargets||[]],ze=Se.some(M=>!String(M?.ref||"").trim()),U=Os(ae),fe=Se.some(M=>{if(!String(M?.ref||"").trim())return!1;let F=Math.floor(Number(M?.weight));return!Number.isFinite(F)||F<=0}),ve=W&&n.some(M=>M!==e&&M===W),ke=W&&ae.some(M=>M===W||M===`alias:${W}`),we=ae.filter(Boolean).length>0,Ne=JSON.stringify({id:A.id,strategy:A.strategy,targets:Mi(A.targets),fallbackTargets:Mi(A.fallbackTargets)}),qe=JSON.stringify({id:W,strategy:E?.strategy,targets:Mi(E?.targets),fallbackTargets:Mi(E?.fallbackTargets)}),We=JSON.stringify({targets:Mi(A.targets),fallbackTargets:Mi(A.fallbackTargets)}),nn=JSON.stringify({targets:Mi(E?.targets),fallbackTargets:Mi(E?.fallbackTargets)}),Dn=Ne!==qe,cn=W?mC.test(W)?ve?"Alias id already exists. Choose another id.":ze?"Fill or remove blank target rows before applying.":U?"Duplicate targets are not allowed anywhere in this alias.":fe?"Target weights must be positive integers.":ke?"An alias cannot target itself.":"":"Alias id must start with a letter or number and use letters, numbers, dots, underscores, colons, or hyphens.":"Alias id is required.",xt=i?l:cn,ht=i?l:b&&cn&&!L?"":cn,yt=i||s,Ue=String(W||e||"").trim(),It=Ue||"Select alias",Wt=yt||j||f,pn=j?"Default alias cannot be removed":`Remove alias ${Ue||e}`,wr=(0,_n.useMemo)(()=>rm(It),[It]),Te=j||o===e||o===W,et=a===e||a===W,ft=f?"Enter alias name. Example: claude-opus":void 0,lo=(0,_n.useMemo)(()=>MN(E,t,r),[E,t,r]);async function St(){if(V(!0),xt)return!1;let M=await c(e,E);return M&&f&&m(e),M}async function Re(M){let F={...E,strategy:M};return await c(e,F)?f?(m(e),!0):(N(F),!0):!1}async function gn(){if(V(!0),xt)return!1;let M=await c(e,E);return M&&(O(!1),V(!1)),M}function k(){if(p)return;if(!oe){O(!1);return}let M=String(e||"").trim(),F=String(E?.id||"").trim();if(!F||F===M){N(ce=>({...ce,id:M})),O(!1),V(!1);return}gn()}function me(M){if(M.key==="Escape"){M.preventDefault(),N(F=>({...F,id:A.id})),O(!1),V(!1);return}!p&&M.key==="Enter"&&(M.preventDefault(),M.currentTarget.blur())}async function re(){if(ee){let M=String(e||"").trim(),F=String(E?.id||"").trim();if(!F||F===M){N(ce=>({...ce,id:M})),O(!1),V(!1);return}await gn();return}O(!0)}(0,_n.useEffect)(()=>()=>{typeof window<"u"&&G.current&&window.clearTimeout(G.current)},[]),(0,_n.useEffect)(()=>{if(f||yt||xt||nn===We){typeof window<"u"&&G.current&&(window.clearTimeout(G.current),G.current=0),!f&&nn===We&&ue!=="saving"&&q("idle");return}if(!(Z.current===nn&&ue==="error")&&(q("pending"),!(typeof window>"u")))return G.current=window.setTimeout(()=>{G.current=0,Z.current=nn,q("saving"),c(e,E,{showSuccessNotice:!1,successMessage:""}).then(M=>{q(M?"saved":"error")})},dB),()=>{G.current&&(window.clearTimeout(G.current),G.current=0)}},[e,nn,E,We,f,xt,yt,c]);let Pe=f?"":ue==="saving"?"Saving alias changes\u2026":ue==="pending"?"Changes save automatically.":ue==="saved"?"Alias changes saved.":ue==="error"?"Autosave failed. Keep editing to retry.":"Changes save automatically.",T=(0,Me.jsxs)("div",{className:"space-y-4",children:[(0,Me.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,Me.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,Me.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:oe?(0,Me.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,Me.jsxs)("div",{className:Q("flex h-9 min-w-0 max-w-full overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",ee?"flex-1":"w-fit"),children:[(0,Me.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Select an alias"}),ee?(0,Me.jsx)(it,{ref:z,value:E.id,placeholder:ft,onChange:M=>N(F=>({...F,id:M.target.value})),onBlur:k,onKeyDown:me,disabled:yt||j,className:"h-full min-w-[12rem] flex-1 rounded-none border-0 bg-transparent px-3 text-sm font-medium shadow-none focus:border-transparent focus:ring-0"}):(0,Me.jsxs)(Xt,{value:g.value||void 0,onValueChange:g.onValueChange,children:[(0,Me.jsx)(Jt,{className:"h-full min-w-[10rem] flex-none rounded-none border-0 bg-transparent px-3 pr-[50px] text-left text-sm font-medium shadow-none focus:border-transparent focus:ring-0",style:{width:`${wr}px`,maxWidth:"100%"},children:(0,Me.jsx)(Zt,{placeholder:"Select alias"})}),(0,Me.jsx)(en,{children:g.entries.map(([M,F])=>(0,Me.jsx)(Ct,{value:M,searchText:`${M} ${(F?.targets||[]).length} ${(F?.fallbackTargets||[]).length}`,children:M},M))})]}),ee?null:(0,Me.jsx)("button",{type:"button",className:"flex h-full w-10 shrink-0 items-center justify-center border-l border-border/70 text-muted-foreground transition hover:bg-accent/60 hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/60 disabled:cursor-not-allowed disabled:opacity-60",onClick:()=>{u(Ue)},disabled:yt||!Ue,"aria-label":`Copy alias id ${Ue}`,title:Ue?`Copy alias id ${Ue}`:"Alias id is not ready yet",children:(0,Me.jsx)(Ff,{className:"h-4 w-4 shrink-0"})})]}),(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:bg-background/90 hover:text-foreground",onMouseDown:M=>{ee&&M.preventDefault()},onClick:()=>{re()},disabled:yt||j,"aria-label":ee?"Save alias id":j?"Default alias id cannot be edited":"Edit alias id",title:ee?"Save alias id":j?"Default alias id cannot be edited":"Edit alias id",children:ee?(0,Me.jsx)(EC,{className:"h-4 w-4 shrink-0"}):(0,Me.jsx)(Ns,{className:"h-4 w-4 shrink-0"})}),f?null:(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:Wt,"aria-label":pn,title:pn,children:(0,Me.jsx)(lu,{className:"h-4 w-4 shrink-0"})})]}):(0,Me.jsxs)(Me.Fragment,{children:[ee?(0,Me.jsx)(it,{ref:z,autoFocus:f,value:E.id,placeholder:ft,onChange:M=>N(F=>({...F,id:M.target.value})),onBlur:k,onKeyDown:me,disabled:yt||j&&!f,className:"max-w-[22rem] font-semibold"}):j&&!f?(0,Me.jsx)("div",{className:"truncate text-base font-semibold text-foreground",children:e}):(0,Me.jsxs)("button",{type:"button",className:"group inline-flex max-w-full items-center gap-2 rounded-lg text-left text-base font-semibold text-foreground transition hover:bg-primary/5 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",onClick:()=>O(!0),disabled:yt,"aria-label":"Edit alias id",title:"Edit alias id",children:[(0,Me.jsx)("span",{className:"truncate",children:f?W||"New alias":W||e}),(0,Me.jsx)(Ns,{className:"h-4 w-4 shrink-0"})]}),h?(0,Me.jsx)("div",{className:"min-w-[11rem] max-w-full",children:h}):null]})}),j?null:(0,Me.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[Te?(0,Me.jsx)(_e,{variant:"success",children:"Default route"}):null,et?(0,Me.jsx)(_e,{variant:"info",children:"AMP default"}):null]})]}),(0,Me.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,Me.jsxs)(H,{type:"button",variant:"outline",size:"default",className:"group h-9 gap-0 overflow-hidden rounded-lg border-border/70 bg-background/70 px-0 text-sm font-medium normal-case tracking-normal shadow-none hover:bg-background/90",onClick:()=>v({aliasLabel:W||(f?"New alias":e),strategy:E?.strategy||"auto",entries:lo,disabled:yt||!!xt,onSave:Re}),disabled:yt,children:[(0,Me.jsx)("span",{className:"flex h-full shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing stratergy"}),(0,Me.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2 px-3 text-left",children:[(0,Me.jsx)("span",{className:"truncate",children:Wf(E.strategy||"auto")}),(0,Me.jsx)(Ns,{className:"h-4 w-4 shrink-0"})]})]}),!oe&&!f?(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:Wt,"aria-label":pn,title:pn,children:(0,Me.jsx)(lu,{className:"h-4 w-4 shrink-0"})}):null]})]}),(0,Me.jsx)(Cb,{title:"Primary targets",rows:E.targets,onChange:M=>N(F=>({...F,targets:M})),options:Ie,disabled:yt,addLabel:"Add target",emptyLabel:"No targets yet. This alias can stay empty until you wire routes back in.",helperText:"Primary targets are tried first. Drag to reorder targets. Weights and metadata stay with the same ref.",draftPlaceholder:"Add a new target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:Ve}),(0,Me.jsx)(Cb,{title:"Fallback targets",rows:E.fallbackTargets,onChange:M=>N(F=>({...F,fallbackTargets:M})),options:Ie,disabled:yt,addLabel:"Add fallback",emptyLabel:"No fallback targets configured.",helperText:"Fallback targets only enter the candidate pool after the full primary list. Weights still apply within the chosen routing strategy.",draftPlaceholder:"Add a fallback target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:ne}),ht?null:(0,Me.jsx)("div",{className:"text-xs text-muted-foreground",children:Pe}),ht?(0,Me.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:ht}):null,!ht&&j&&!we?(0,Me.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:["The fixed ",(0,Me.jsx)("code",{children:"default"})," route is empty. Requests routed to ",(0,Me.jsx)("code",{children:"default"})," or ",(0,Me.jsx)("code",{children:"smart"})," will return 500 until you add a working target."]}):null,f?(0,Me.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,Me.jsx)("div",{children:(0,Me.jsx)(H,{type:"button",variant:"ghost",onClick:()=>m(e),disabled:yt,children:"Discard"})}),(0,Me.jsx)("div",{className:"flex flex-wrap justify-end gap-2",children:(0,Me.jsx)(H,{type:"button",onClick:()=>{St()},disabled:yt||!!xt,children:s?"Saving\u2026":"Create alias"})})]}):null]});return y?(0,Me.jsx)(Lt,{children:(0,Me.jsx)(Dt,{className:"space-y-4 p-5",children:T})}):T}var sn=B(te(),1);function _N({aliases:e,config:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabledReason:i="",busy:l=!1,onApplyAlias:s,onRemoveAlias:c,onCopyAliasId:d}){let u=Object.entries(e||{}),f=!!i,[p,b]=(0,_a.useState)(""),[m,v]=(0,_a.useState)(!1),[h,g]=(0,_a.useState)(""),y=(0,_a.useMemo)(()=>_C(),[]),[x,A]=(0,_a.useState)({open:!1,aliasLabel:"",strategy:"auto",entries:[],disabled:!1,onSave:null});function E(){f||l||b(`draft-${Date.now()}`)}function N(q){(!q||q===p)&&b("")}function C(){b("")}function O({aliasLabel:q="",strategy:oe="auto",entries:ee=[],disabled:W=!1,onSave:j=null}){A({open:!0,aliasLabel:q,strategy:oe,entries:ee,disabled:W,onSave:j})}function L(){A(q=>({...q,open:!1}))}async function V(q,oe,ee={}){let W=await s(q,oe,ee);if(W){let j=String(oe?.id||q||"").trim()||q;g(j)}return W}(0,_a.useEffect)(()=>{let q=u.map(([oe])=>oe);if(q.length===0){h&&g("");return}(!h||!q.includes(h))&&g(q[0])},[u,h]);let z=u.find(([q])=>q===h)||u[0]||null,G=z?.[0]||"",Z=z?.[1]||null,ue=u.length>1?{value:G,onValueChange:g,entries:u}:null;return(0,sn.jsxs)(sn.Fragment,{children:[(0,sn.jsxs)(Lt,{children:[(0,sn.jsx)(Jr,{children:(0,sn.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,sn.jsx)("div",{className:"space-y-1",children:(0,sn.jsx)(pi,{children:"Model aliases give clients one stable route across multiple provider/models, so you can swap, balance, and fail over without changing client config."})}),(0,sn.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,sn.jsx)(H,{type:"button",variant:"outline",size:"sm",onClick:()=>v(!0),children:"Help"}),(0,sn.jsx)(H,{type:"button",size:"sm",onClick:E,disabled:f||l,children:l?"Saving\u2026":"Add alias"})]})]})}),(0,sn.jsxs)(Dt,{className:"space-y-4",children:[f?(0,sn.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:i}):null,u.length>0?G&&Z?(0,sn.jsx)(Rb,{aliasId:G,alias:Z,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:V,onRemove:c,onCopyAliasId:d,onOpenStrategyModal:O,aliasSwitcher:ue,framed:!1},G):null:(0,sn.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No model aliases yet. Add one to expose stable routes like ",(0,sn.jsx)("code",{children:"coding"})," or ",(0,sn.jsx)("code",{children:"chat.fast"})," in the Web UI."]})]})]}),(0,sn.jsx)(Nn,{open:!!p,onClose:C,title:"Add alias",description:"Set a stable client-facing route, choose its strategy, and order the targets it should use.",showCloseButton:!1,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:p?(0,sn.jsx)(Rb,{aliasId:p,alias:y,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:V,onRemove:c,onCopyAliasId:d,isNew:!0,alwaysShowAliasIdInput:!0,showIssueOnSubmitOnly:!0,onDiscard:N,onOpenStrategyModal:O,framed:!1},p):null}),(0,sn.jsx)(ON,{open:x.open,onClose:L,onSave:q=>x.onSave?.(q),aliasLabel:x.aliasLabel,initialStrategy:x.strategy,entries:x.entries,disabled:x.disabled}),(0,sn.jsx)(kN,{open:m,onClose:()=>v(!1),config:t})]})}var tn=B(xe(),1);var Cl=B(xe(),1);var Ir=B(te(),1);function ku({values:e,onChange:t,placeholder:n,helperText:r,inputRef:o=null,inputClassName:a="",suggestedValues:i=[],valueStates:l={},draftValue:s="",onDraftValueChange:c=()=>{},commitOnBlur:d=!1,disabled:u=!1,isValueValid:f=b=>!!String(b||"").trim(),inputProps:p={}}){let b=(0,Cl.useMemo)(()=>yr(e),[e]),[m,v]=(0,Cl.useState)(""),[h,g]=(0,Cl.useState)("");function y(C=s,{clearDraft:O=!0}={}){if(u)return!1;let L=$f(C).filter(z=>f(z));if(L.length===0)return O&&c(""),!1;let V=Array.from(new Set([...b||[],...L]));return JSON.stringify(V)!==JSON.stringify(b||[])&&t(V),O&&c(""),!0}function x(C){u||(t(b.filter(O=>O!==C)),m===C&&(v(""),g("")))}function A(){u||i.length&&(t(Array.from(new Set([...b||[],...i]))),c(""))}function E(C){u||(v(C),g(C))}function N(C=h){if(u)return v(""),g(""),!1;if(!m)return!1;let O=$f(C).filter(G=>f(G)),L=[],V=!1;for(let G of b||[]){if(G!==m){L.push(G);continue}V||(L.push(...O),V=!0)}let z=Array.from(new Set(L.map(G=>String(G||"").trim()).filter(Boolean)));return JSON.stringify(z)!==JSON.stringify(b||[])&&t(z),v(""),g(""),O.length>0}return(0,Cl.useEffect)(()=>{!u||!m||(v(""),g(""))},[u,m]),(0,Ir.jsxs)("div",{className:"space-y-2",children:[(0,Ir.jsxs)("div",{className:Q("flex min-h-11 flex-wrap items-center gap-2 rounded-xl border border-input bg-background/80 px-3 py-2",u?"opacity-80":null),children:[b.map(C=>{let O=l?.[C]||"default",L=O==="success"?"border-emerald-200 bg-emerald-50 text-emerald-900":O==="error"?"border-rose-200 bg-rose-50 text-rose-900":O==="pending"?"border-sky-200 bg-sky-50 text-sky-900":"border-border bg-secondary text-foreground",V=!u&&m===C;return(0,Ir.jsxs)("span",{className:Q("inline-flex max-w-full items-center gap-1 rounded-full border px-2.5 py-1 text-xs",L),children:[V?(0,Ir.jsx)("input",{autoFocus:!0,className:"min-w-[7rem] bg-transparent text-xs text-foreground outline-none",value:h,onChange:z=>g(z.target.value),onKeyDown:z=>{if(z.key==="Enter"||z.key==="Tab"){z.preventDefault(),N();return}z.key==="Escape"&&(z.preventDefault(),v(""),g(""))},onBlur:()=>{N()}}):(0,Ir.jsx)("button",{className:"max-w-[16rem] truncate text-left transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",type:"button",onMouseDown:z=>z.preventDefault(),onClick:()=>E(C),disabled:u,title:"Click to edit",children:C}),(0,Ir.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:z=>z.preventDefault(),onClick:()=>x(C),disabled:u,children:"\xD7"})]},C)}),(0,Ir.jsx)("input",{...p,ref:o,className:Q("min-w-[10rem] flex-1 bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-70",a),value:s,disabled:u,onChange:C=>{let O=C.target.value;if(/[\s,]/.test(O)){let L=O.split(/[\s,]+/),V=L.pop()||"";L.length>0&&y(L.join(","),{clearDraft:!1}),c(V);return}c(O)},onKeyDown:C=>{if((C.key===","||C.key===" "||C.key==="Enter"||C.key==="Tab")&&s.trim()){C.preventDefault(),y();return}C.key==="Backspace"&&!s&&b.length>0&&(C.preventDefault(),x(b[b.length-1]))},onPaste:C=>{let O=C.clipboardData?.getData("text")||"";if(/[\s,]/.test(O)){C.preventDefault();let L=O.split(/[\s,]+/).filter(Boolean).filter(V=>f(V));L.length>0&&(t(Array.from(new Set([...b||[],...L]))),c(""));return}C.preventDefault(),c(`${s}${O}`)},onBlur:()=>{if(d&&f(s)){y(s);return}c(s)},placeholder:n}),b.length>0||s?(0,Ir.jsx)("button",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:C=>C.preventDefault(),onClick:()=>{t([]),c("")},disabled:u,children:"Clear all"}):null]}),(0,Ir.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[r?(0,Ir.jsx)("span",{children:r}):null,b.length===0&&i.length>0?(0,Ir.jsx)("button",{className:"font-medium uppercase tracking-[0.16em] text-foreground transition hover:text-primary disabled:cursor-not-allowed disabled:opacity-60",type:"button",onClick:A,disabled:u,children:"Use suggested values"}):null]})]})}var ir=B(xe(),1);var rt=B(te(),1);function LN(e="rate-limit-draft-row"){return mu({key:e,models:[],requests:"",windowValue:"",windowUnit:bo.custom.rateLimitDefaults.windowUnit},{keyPrefix:"rate-limit-draft",defaults:bo.custom.rateLimitDefaults,useDefaults:!1})}function Vm(e=[],{keyPrefix:t="rate-limit-draft"}={}){let n=`${t}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`;return[...Array.isArray(e)?e:[],LN(n)]}function fB({value:e=[],onChange:t,availableModelIds:n=[],disabled:r=!1}){let o=(0,ir.useRef)(null),[a,i]=(0,ir.useState)(!1),l=(0,ir.useMemo)(()=>yo(e),[e]),s=l.includes("all"),c=s?[]:l.filter(Boolean),d=s||c.length===0,u=(0,ir.useMemo)(()=>yr(n),[n]);(0,ir.useEffect)(()=>{if(!a||typeof document>"u")return;function h(g){o.current?.contains(g.target)||i(!1)}return document.addEventListener("mousedown",h),()=>document.removeEventListener("mousedown",h)},[a]);function f(h){t(yo(h))}function p(h){f(h?["all"]:[])}function b(h,g){let y=g?[...c,h]:c.filter(x=>x!==h);f(y)}function m(h){if(h==="all"){f([]);return}f(c.filter(g=>g!==h))}let v=s?[{key:"all",label:"All model",removable:!0}]:c.length>0?c.map(h=>({key:h,label:h,removable:!0})):[{key:"__implicit-all__",label:"All model",removable:!1,muted:!0}];return(0,rt.jsxs)("div",{ref:o,className:"relative space-y-1.5",children:[(0,rt.jsxs)("div",{role:"button",tabIndex:r?-1:0,className:Q("flex min-h-9 w-full items-center justify-between gap-2 rounded-lg border border-input bg-background/80 px-3 py-1.5 text-left text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40",r?"cursor-not-allowed opacity-50":"cursor-pointer",a?"border-ring ring-2 ring-ring/40":null),onClick:()=>{r||i(h=>!h)},"aria-expanded":a,"aria-haspopup":"menu",onKeyDown:h=>{if(!r){if(h.key==="Enter"||h.key===" "){h.preventDefault(),i(g=>!g);return}if(h.key==="ArrowDown"){h.preventDefault(),i(!0);return}h.key==="Escape"&&(h.preventDefault(),i(!1))}},children:[(0,rt.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:v.map(h=>h.removable?(0,rt.jsxs)("button",{type:"button",className:"inline-flex max-w-full items-center gap-1 rounded-full border border-border/70 bg-background px-2 py-0.5 text-xs font-medium text-foreground transition hover:border-accent hover:bg-accent",onClick:g=>{g.preventDefault(),g.stopPropagation(),m(h.key)},disabled:r,title:`Remove ${h.label}`,children:[(0,rt.jsx)("span",{className:"truncate",children:h.label}),(0,rt.jsx)("span",{className:"text-muted-foreground",children:"x"})]},h.key):(0,rt.jsx)("span",{className:Q("inline-flex max-w-full items-center rounded-full border px-2 py-0.5 text-xs font-medium",h.muted?"border-border/70 bg-secondary/45 text-muted-foreground":"border-border/70 bg-background text-foreground"),children:(0,rt.jsx)("span",{className:"truncate",children:h.label})},h.key))}),(0,rt.jsx)("span",{className:"text-muted-foreground",children:"\u25BE"})]}),a?(0,rt.jsxs)(Um,{open:a,anchorRef:o,preferredSide:"top",desiredHeight:192,className:"p-2",onMouseDown:h=>h.stopPropagation(),onClick:h=>h.stopPropagation(),onKeyDown:h=>{h.key==="Escape"&&(h.preventDefault(),i(!1))},children:[(0,rt.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,rt.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:s,onChange:h=>p(h.target.checked)}),(0,rt.jsx)("span",{children:"All model"})]}),(0,rt.jsx)("div",{className:"my-1 border-t border-border/70"}),u.length>0?(0,rt.jsx)("div",{children:u.map(h=>(0,rt.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,rt.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:c.includes(h),onChange:g=>b(h,g.target.checked)}),(0,rt.jsx)("span",{className:"truncate",children:h})]},h))}):(0,rt.jsx)("div",{className:"px-2 py-2 text-sm text-muted-foreground",children:"No models available yet."})]}):null]})}function Fm({rows:e,onChange:t,availableModelIds:n=[],disabled:r=!1,inputRef:o=null,helperText:a="",onValidBlur:i=null}){let l=Array.isArray(e)?e:[],s=(0,ir.useRef)(null),c=(0,ir.useRef)(l),d=(0,ir.useMemo)(()=>yr(n),[n]),u=(0,ir.useMemo)(()=>{let g=new Set,y=new Set;for(let x of br(l)){let A=eu(x);if(A){if(g.has(A)){y.add(A);continue}g.add(A)}}return y},[l]),f=(0,ir.useMemo)(()=>l.map(g=>({...LN(g.key),...g,models:yo(g?.models||[])})),[l]);(0,ir.useEffect)(()=>{c.current=l},[l]);function p(g){let y=Array.isArray(g)?g:[];c.current=y,t(y)}function b(g,y){p(l.map(x=>x.key===g?{...x,...y}:x))}function m(g){p(l.filter(y=>y.key!==g))}function v(g){if(Yf(g))return"";let y=yo(g?.models||[]);if(d.length>0&&y.some(A=>A!=="all"&&!d.includes(A)))return"Use exact provider model ids only.";if(hy(g?.requests,0)<=0)return"Requests must be a positive integer.";if(hy(g?.windowValue,0)<=0)return"Window size must be a positive integer.";if(!uy.includes(String(g?.windowUnit||"").trim()))return"Window unit is invalid.";let x=eu({requests:g?.requests,windowValue:g?.windowValue,windowUnit:g?.windowUnit});return x&&u.has(x)?"Another row already uses this cap.":""}function h(g){if(!(!i||r)&&!g.currentTarget.contains(g.relatedTarget)){if(typeof window>"u"){let y=br(c.current);Po(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y);return}window.setTimeout(()=>{if(!s.current||s.current.contains(document.activeElement))return;let y=br(c.current);Po(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y)},0)}}return(0,rt.jsxs)("div",{ref:s,className:"space-y-2.5",onBlurCapture:h,children:[(0,rt.jsx)("div",{className:"space-y-2.5",children:f.map((g,y)=>{let x=Yf(g),A=v(g);return(0,rt.jsxs)("div",{className:Q("rounded-2xl border border-border/70 bg-background/70 p-3",A?"border-amber-200 bg-amber-50/70":null,x?"border-dashed bg-background/80":null),children:[(0,rt.jsxs)("div",{className:"grid gap-2.5 xl:grid-cols-[minmax(0,1.5fr)_minmax(0,0.72fr)_minmax(0,0.72fr)_minmax(0,0.86fr)_auto] xl:items-end",children:[(0,rt.jsx)(He,{label:"Models",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,rt.jsx)(fB,{value:g.models,onChange:E=>b(g.key,{models:E}),availableModelIds:d,disabled:r})}),(0,rt.jsx)(He,{label:"Request",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsx)(it,{ref:y===0?o:null,value:g.requests,onChange:E=>b(g.key,{requests:E.target.value}),disabled:r,inputMode:"numeric",placeholder:"60"})}),(0,rt.jsx)(He,{label:"Window",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsx)(it,{value:g.windowValue,onChange:E=>b(g.key,{windowValue:E.target.value}),disabled:r,inputMode:"numeric",placeholder:"1"})}),(0,rt.jsx)(He,{label:"Unit",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsxs)(Xt,{value:String(g.windowUnit||"minute"),onValueChange:E=>b(g.key,{windowUnit:E}),disabled:r,children:[(0,rt.jsx)(Jt,{children:(0,rt.jsx)(Zt,{placeholder:"Window unit"})}),(0,rt.jsx)(en,{children:uy.map(E=>(0,rt.jsx)(Ct,{value:E,children:E},`${g.key}-${E}`))})]})}),(0,rt.jsx)(H,{type:"button",variant:"ghost",onClick:()=>m(g.key),disabled:r,className:"xl:self-end",children:"Remove"})]}),A?(0,rt.jsx)("div",{className:"mt-2.5 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:A}):null]},g.key)})}),a?(0,rt.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:a}):null]})}var gt=B(xe(),1);var DN=[{key:"supportsReasoning",label:"Reasoning",field:"reasoning_effort"},{key:"supportsThinking",label:"Thinking",field:"thinking"},{key:"supportsResponseFormat",label:"Response Format",field:"response_format"},{key:"supportsLogprobs",label:"Logprobs",field:"logprobs"},{key:"supportsServiceTier",label:"Service Tier",field:"service_tier"},{key:"supportsPrediction",label:"Prediction",field:"prediction"},{key:"supportsStreamOptions",label:"Stream Options",field:"stream_options"}];function BN(e={},t={}){if(!t||typeof t!="object")return e;let n={...e};for(let r of Object.keys(t))typeof t[r]=="boolean"&&n[r]===void 0&&(n[r]=t[r]);return n}function IN(e){if(e===void 0)return!0;if(e===!0)return!1}function zN(e){return!e||typeof e!="object"?!1:Object.values(e).some(t=>typeof t=="boolean")}var Oi=B(te(),1);function mB({label:e,value:t,disabled:n,onCycle:r}){let o=typeof t=="boolean";return(0,Oi.jsxs)("button",{type:"button",disabled:n,onClick:r,className:Q("flex items-center gap-1.5 rounded-md border px-2 py-1 text-xs transition-colors",t===!0&&"border-emerald-200 bg-emerald-50/80",t===!1&&"border-rose-200 bg-rose-50/60",!o&&"border-border/60 bg-secondary/40",!n&&"hover:bg-accent"),children:[(0,Oi.jsx)("span",{className:Q("inline-flex h-3 w-3 shrink-0 items-center justify-center rounded-full text-[8px] font-bold leading-none",t===!0&&"bg-emerald-500 text-white",t===!1&&"bg-rose-400 text-white",!o&&"bg-muted-foreground/25"),children:t===!0?"\u2713":t===!1?"\u2715":""}),(0,Oi.jsx)("span",{className:Q("select-none whitespace-nowrap font-medium",t===!0&&"text-emerald-800",t===!1&&"text-rose-700 line-through",!o&&"text-muted-foreground"),children:e})]})}function Hm({capabilities:e={},disabled:t=!1,onChange:n}){return(0,Oi.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 pt-1",children:[(0,Oi.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground/80",children:"Capabilities"}),DN.map(({key:r,label:o})=>{let a=e[r];return(0,Oi.jsx)(mB,{label:o,value:a,disabled:t,onCycle:()=>n(r,IN(a))},r)})]})}var De=B(te(),1);function PN({provider:e,disabled:t=!1,disabledReason:n="",busy:r=!1,onApply:o,framed:a=!0,focusRequest:i=0,onStateChange:l=null,testStateByModel:s={},savePhase:c="",saveMessage:d=""}){let u=(0,gt.useMemo)(()=>oC(e),[e]),[f,p]=(0,gt.useState)([]),[b,m]=(0,gt.useState)(""),[v,h]=(0,gt.useState)(!1),[g,y]=(0,gt.useState)({}),[x,A]=(0,gt.useState)({}),[E,N]=(0,gt.useState)(null),[C,O]=(0,gt.useState)(""),[L,V]=(0,gt.useState)(""),[z,G]=(0,gt.useState)({}),Z=(0,gt.useRef)(0),ue=(0,gt.useRef)([]),q=(0,gt.useRef)(new Map),oe=(0,gt.useRef)(new Map),ee=(0,gt.useRef)(""),W=(0,gt.useRef)(""),j=(0,gt.useRef)(null),Ie=(0,gt.useRef)(new Map),ne=(0,gt.useRef)(new Map);function Ve(k={}){return Z.current+=1,{key:`model-${e.id}-draft-${Z.current}`,id:"",sourceId:"",contextWindow:"",capabilities:{},...k}}function ae(k){ee.current=k}function Se(k=[],{preserveFocus:me=!1}={}){let re=[],Pe=null;for(let T of Array.isArray(k)?k:[]){let M=String(T?.id||""),F=T?.contextWindow===void 0||T?.contextWindow===null?"":String(T.contextWindow);if(String(M).trim()){re.push({...T,id:M,contextWindow:F});continue}Pe||(Pe={...T,id:"",contextWindow:F})}return Pe||(Pe=Ve(),me&&ae(Pe.key)),[Pe,...re]}function ze(k){A(me=>{if(!me[k])return me;let re={...me};return delete re[k],re})}function U(k,me){y(re=>{if(me)return re[k]?re:{...re,[k]:!0};if(!re[k])return re;let Pe={...re};return delete Pe[k],Pe})}function fe(k,me={},{clearLookupState:re=!1,clearStatus:Pe=!0,closeLookupMenu:T=!1}={}){re&&ze(k),Pe&&N(null),T&&C===k&&O(""),p(M=>Se(M.map(F=>F.key===k?{...F,...me}:F),{preserveFocus:!1}))}(0,gt.useEffect)(()=>{ue.current=f},[f]),(0,gt.useEffect)(()=>{let k=Se(u,{preserveFocus:!0});p(k),ue.current=k,Ie.current.clear(),ne.current.clear(),y({}),A({}),N(null),O(""),V(""),G({})},[u]),(0,gt.useEffect)(()=>{let k=ee.current;if(!k)return;let me=q.current.get(k);if(!me)return;me.scrollIntoView?.({block:"nearest"}),me.focus();let re=me.value?.length||0;me.setSelectionRange?.(re,re),ee.current=""},[f]),(0,gt.useEffect)(()=>{i&&p(k=>{let me=Se(k,{preserveFocus:!1}),re=me.find(Pe=>!String(Pe?.id||"").trim())||me[me.length-1];return re&&ae(re.key),me})},[i]),(0,gt.useEffect)(()=>{C&&(f.some(k=>k.key===C)||O(""))},[f,C]),(0,gt.useEffect)(()=>{L&&(f.some(k=>k.key===L)||V(""))},[f,L]),(0,gt.useEffect)(()=>{G(k=>{let me=new Set(f.map(T=>T.key)),re=!1,Pe={};for(let[T,M]of Object.entries(k)){if(!me.has(T)){re=!0;continue}Pe[T]=M}return re?Pe:k})},[f]),(0,gt.useEffect)(()=>{if(!C||typeof document>"u")return;function k(me){oe.current.get(C)?.contains(me.target)||O("")}return document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)},[C]);let ve=(0,gt.useMemo)(()=>f.filter(k=>String(k?.id||"").trim()),[f]),ke=(0,gt.useMemo)(()=>u.map(k=>({id:String(k?.id||"").trim(),contextWindow:$o(k?.contextWindow||""),capabilities:k?.capabilities||{}})).filter(k=>k.id),[u]),we=(0,gt.useMemo)(()=>ve.map(k=>({...k,id:String(k?.id||"").trim(),contextWindow:$o(k?.contextWindow||"")})),[ve]),Ne=we.map(k=>k.id),qe=ke.map(k=>k.id),We=Ne.filter(k=>!qe.includes(k)),nn=Os(Ne),Dn=Ne.length>0,cn=new Set(we.filter(k=>{let me=String(k?.contextWindow||"").trim();if(!me)return!1;let re=Number.parseInt(me,10);return!Number.isFinite(re)||re<=0||String(re)!==me}).map(k=>k.key)),xt=we.filter(k=>!String(k?.contextWindow||"").trim()),ht=JSON.stringify(ke)!==JSON.stringify(we.map(k=>({id:k.id,contextWindow:k.contextWindow,capabilities:k.capabilities||{}}))),Ue=t||r||(b!==""||c==="testing"||c==="saving")||v,It=(0,gt.useMemo)(()=>{let k=-1;return f.forEach((me,re)=>{String(me?.id||"").trim()&&(k=re)}),k},[f]),Wt=t?n:Dn?nn?"Model ids must be unique for each provider.":cn.size>0?"Context windows must be positive integers when set.":"":"Keep at least one model id on the provider.",pn=$s(f.map(k=>k.key));(0,gt.useEffect)(()=>{l?.({isDirty:ht,issue:Wt,locked:Ue,rows:we.map(k=>({...k,contextWindow:$o(k.contextWindow)}))})},[l,ht,Wt,Ue,we]);function wr(k){ze(k),U(k,!1),N(null),C===k&&O(""),L===k&&V(""),G(me=>{if(!Object.prototype.hasOwnProperty.call(me,k))return me;let re={...me};return delete re[k],re}),p(me=>Se(me.filter(re=>re.key!==k)))}function Te(k){p(me=>Se(Ts(me,k,re=>re?.key)))}function et(k){p(me=>Se(Gf(me,k,re=>re?.key)))}function ft(){W.current="",Na(j.current,!1),j.current=null}async function lo(k,{force:me=!1}={}){let re=String(k||"").trim();if(!re)return Ls({query:re});if(!me&&Ie.current.has(re))return Ie.current.get(re);if(!me&&ne.current.has(re))return ne.current.get(re);let Pe=(async()=>{let T=await xu([re]),M=(Array.isArray(T)?T:[]).find(ce=>String(ce?.query||"").trim()===re)||{query:re},F=Ls(M,{fallbackQuery:re});return Ie.current.set(re,F),F})();ne.current.set(re,Pe);try{return await Pe}finally{ne.current.delete(re)}}async function St(k,{openMenu:me=!1,prefill:re=!1,modelId:Pe=""}={}){let T=ue.current.find(F=>F.key===k),M=String(Pe||T?.id||"").trim();if(!M)return null;me&&O(k),U(k,!0);try{let F=await lo(M);if(A(ce=>({...ce,[k]:F})),re){let ce=om(F),Je=F?.exactMatch?.capabilities;(ce||Je)&&p(Vt=>Se(Vt.map(Ee=>{if(Ee.key!==k)return Ee;let Y=String(Ee?.id||"").trim();if(!Y||Y!==M)return Ee;let ge={};return ce&&!String(Ee?.contextWindow||"").trim()&&(ge.contextWindow=ce),Je&&!zN(Ee.capabilities)&&(ge.capabilities=BN(Ee.capabilities,Je)),Object.keys(ge).length>0?{...Ee,...ge}:Ee}),{preserveFocus:!1}))}return F}catch(F){let ce=F instanceof Error?F.message:String(F),Je={query:M,status:"error",error:ce,options:[]};return A(Vt=>({...Vt,[k]:Je})),Je}finally{U(k,!1)}}async function Re(k=[]){let me=new Set(Array.isArray(k)?k:[]),re=we.filter(Pe=>!Pe.id||String(Pe?.contextWindow||"").trim()?!1:me.size===0?!0:me.has(Pe.key)).map(Pe=>({key:Pe.key,id:Pe.id}));if(re.length!==0){h(!0),N(null);try{let Pe=await xu(re.map(Ee=>Ee.id)),T=b1(Pe),M=new Map(re.map(Ee=>[Ee.key,Ee]));for(let Ee of T.values())Ee?.query&&Ie.current.set(Ee.query,Ee);let F=Array.isArray(ue.current)?ue.current:[],ce=0,Je=0,Vt=F.map(Ee=>{let Y=M.get(Ee.key);if(!Y)return Ee;let ge=String(Ee?.id||"").trim(),Un=String(Ee?.contextWindow||"").trim();if(!ge||ge!==Y.id||Un)return Ee;let ki=T.get(ge)||Ls({query:ge}),_i=om(ki);return _i?(ce+=1,{...Ee,contextWindow:_i}):(Je+=1,Ee)});p(Se(Vt,{preserveFocus:!1})),N({tone:ce>0?"success":"warning",message:ce>0?`Filled ${ce} context size${ce===1?"":"s"}${Je>0?`; ${Je} still need a manual value`:""}.`:`Could not fill ${Je} model${Je===1?"":"s"}.`})}catch(Pe){N({tone:"error",message:Pe instanceof Error?Pe.message:String(Pe)})}finally{h(!1)}}}async function gn(){if(Ue||Wt||!ht)return!1;let k=xo(e)==="api"&&We.length>0;m(k?"testing":"saving");try{return await o(we.map(me=>({...me,contextWindow:$o(me.contextWindow)})))}finally{m("")}}return(0,De.jsxs)("div",{className:Q(a?"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4":"space-y-3"),children:[(0,De.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/35 px-4 py-3 text-sm leading-6 text-muted-foreground",children:"Direct routes follow this top-to-bottom order. Focus a context field to load suggested sizes, or use Fill missing context size to fill each empty row with a median size."}),(0,De.jsx)("div",{className:"space-y-2",children:f.map((k,me)=>{let re=String(k?.id||"").trim(),Pe=String(k?.contextWindow||"").trim(),T=!!re,M=T?ve.findIndex(Y=>Y.key===k.key):-1,F=x[k.key]||null,ce=!!g[k.key],Je=C===k.key&&!!re,Vt=cn.has(k.key),Ee=re&&s?.[re]||"default";return(0,De.jsxs)("div",{ref:pn(k.key),"data-reorder-row":"true",onDragOver:Y=>{!Ue&&W.current&&W.current!==k.key&&(Y.preventDefault(),Y.dataTransfer.dropEffect="move")},onDrop:Y=>{if(Ue)return;Y.preventDefault();let ge=Y.dataTransfer.getData("text/plain")||W.current;ft(),p(Un=>Se(Kf(Un,ge,k.key)))},className:Q("space-y-2 rounded-xl border border-border/70 bg-card/90 p-3",T?null:"border-dashed bg-background/85",Vt?"border-amber-200 bg-amber-50/70":null,!Vt&&Ee==="success"?"border-emerald-200 bg-emerald-50/70":null,!Vt&&Ee==="error"?"border-rose-200 bg-rose-50/70":null,!Vt&&Ee==="pending"?"border-sky-200 bg-sky-50/70":null),children:[(0,De.jsxs)("div",{className:"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_minmax(12rem,14rem)_5.5rem] items-center gap-2",children:[(0,De.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",T&&!Ue?"cursor-grab":"opacity-45"),draggable:!Ue&&T,onDragStart:Y=>{if(Ue||!T)return;let ge=Ms(Y.currentTarget);Y.dataTransfer.effectAllowed="move",Y.dataTransfer.setData("text/plain",k.key),ge&&typeof Y.dataTransfer?.setDragImage=="function"&&Y.dataTransfer.setDragImage(ge,20,20),ft(),W.current=k.key,j.current=ge,Na(ge,!0)},onDragEnd:ft,title:T?"Drag to reorder":"New model draft row",children:(0,De.jsx)(Es,{className:"h-4 w-4"})}),(0,De.jsx)(Oa,{disabled:Ue||!T||M<=0,label:!T||M<=0?"Already first":`Move ${k.id||`model ${M+1}`} up`,onClick:()=>Te(k.key)}),(0,De.jsx)(Sl,{disabled:Ue||!T||me>=It,label:!T||me>=It?"Already last":`Move ${k.id||`model ${M+1}`} down`,onClick:()=>et(k.key)}),(0,De.jsx)(it,{ref:Y=>{Y?q.current.set(k.key,Y):q.current.delete(k.key)},value:k.id,onChange:Y=>fe(k.key,{id:Y.target.value},{clearLookupState:!0,closeLookupMenu:!0}),placeholder:T?"Model id":"Add a new model id",disabled:Ue}),(0,De.jsxs)("div",{ref:Y=>{Y?oe.current.set(k.key,Y):oe.current.delete(k.key)},className:"relative min-w-0",children:[(0,De.jsx)(it,{value:L===k.key?z[k.key]??bu(k.contextWindow):h1(k.contextWindow),onChange:Y=>{let ge=Y.target.value,Un=$o(ge);G(ki=>({...ki,[k.key]:bu(Un)})),fe(k.key,{contextWindow:Un},{clearStatus:!1})},onBlur:Y=>{V(ge=>ge===k.key?"":ge),G(ge=>{if(!Object.prototype.hasOwnProperty.call(ge,k.key))return ge;let Un={...ge};return delete Un[k.key],Un}),fe(k.key,{contextWindow:$o(Y.target.value)},{clearStatus:!1})},onFocus:()=>{re&&(V(k.key),G(Y=>({...Y,[k.key]:bu(k.contextWindow)})),St(k.key,{openMenu:!0}))},onClick:()=>{re&&St(k.key,{openMenu:!0})},onKeyDown:Y=>{if(Y.key==="ArrowDown"&&re){Y.preventDefault(),St(k.key,{openMenu:!0});return}Y.key==="Escape"&&(Y.preventDefault(),O(""))},placeholder:"Context window",inputMode:"numeric",disabled:Ue||!re,className:"font-medium tabular-nums","aria-label":re?`Context window for ${re}`:"Context window"}),Je?(0,De.jsx)(Um,{open:Je,anchorRef:{current:oe.current.get(k.key)||null},preferredSide:"top",desiredHeight:224,className:"z-20 rounded-lg bg-background/98 p-2",onMouseDown:Y=>Y.preventDefault(),children:ce?(0,De.jsxs)("div",{className:"inline-flex items-center gap-2 px-1 py-2 text-sm text-muted-foreground",children:[(0,De.jsx)(Br,{}),"Fetching size options for ",(0,De.jsx)("code",{children:re}),"."]}):F?.status==="error"?(0,De.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:F.error||"Could not load suggested sizes."}):F?.options?.length>0?(0,De.jsx)("div",{className:"space-y-1",children:F.options.map(Y=>(0,De.jsxs)("button",{type:"button",className:"flex w-full flex-col gap-2 rounded-lg border border-border/70 bg-background px-3 py-2 text-left text-sm text-foreground transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",disabled:Ue,onMouseDown:ge=>ge.preventDefault(),onClick:()=>{G(ge=>({...ge,[k.key]:bu(Y.contextWindow)})),fe(k.key,{contextWindow:String(Y.contextWindow)},{clearStatus:!1}),O("")},title:`Use ${Y.label}`,children:[(0,De.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,De.jsx)("div",{className:"break-words font-medium leading-5",children:Y.label}),(0,De.jsx)("div",{className:"break-words text-xs leading-4 text-muted-foreground",children:Y.detail})]}),(0,De.jsxs)("div",{className:"w-full rounded-md border border-border/70 bg-secondary/70 px-3 py-2",children:[(0,De.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Context size"}),(0,De.jsx)("div",{className:"mt-1 text-lg font-semibold leading-none tabular-nums text-foreground",children:Ho(Y.contextWindow)})]})]},Y.key))}):(0,De.jsxs)("div",{className:"rounded-lg border border-dashed border-border/70 bg-background/80 px-3 py-2 text-xs text-muted-foreground",children:["No suggested size was found for ",(0,De.jsx)("code",{children:F?.query||re}),"."]})}):null]}),T?(0,De.jsx)(H,{type:"button",variant:"ghost",className:Rs,onMouseDown:Y=>Y.preventDefault(),onClick:()=>wr(k.key),disabled:Ue,children:"Remove"}):(0,De.jsx)(H,{type:"button",variant:"ghost",className:Q(Rs,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"})]}),T&&(0,De.jsx)(Hm,{capabilities:k.capabilities||{},disabled:Ue,onChange:(Y,ge)=>{let Un={...k.capabilities||{}};ge===void 0?delete Un[Y]:Un[Y]=ge,fe(k.key,{capabilities:Un})}}),ce?(0,De.jsx)("div",{className:"flex justify-end text-xs",children:(0,De.jsxs)("div",{className:"inline-flex items-center gap-1.5 text-sky-700",children:[(0,De.jsx)(Br,{}),"Looking up sizes"]})}):null,Vt?(0,De.jsxs)("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:["Enter a positive integer like ",(0,De.jsx)("code",{children:"128000"}),", or leave the field blank."]}):Ee==="pending"?(0,De.jsx)("div",{className:"rounded-lg border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:"Testing this model against the provider endpoint now."}):Ee==="success"?(0,De.jsx)("div",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs text-emerald-900",children:"Confirmed by the latest live provider test."}):Ee==="error"?(0,De.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:"This model failed the latest live provider test."}):null]},k.key)})}),Wt?(0,De.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:Wt}):null,E?(0,De.jsx)("div",{className:Q("rounded-xl px-3 py-2 text-sm",E.tone==="error"?"border border-rose-200 bg-rose-50 text-rose-900":E.tone==="warning"?"border border-amber-200 bg-amber-50 text-amber-900":"border border-emerald-200 bg-emerald-50 text-emerald-900"),children:E.message}):null,(0,De.jsx)("div",{className:Q("sticky z-10 border-t border-border/70 bg-background/95 pt-3 backdrop-blur",a?"bottom-0":"bottom-0 -mx-5 rounded-b-[1rem] px-5 pb-4"),children:(0,De.jsxs)("div",{className:"flex min-h-9 items-center justify-between gap-3",children:[(0,De.jsx)("div",{className:Q("text-xs",c==="testing"?"text-sky-700":c==="saving"?"text-foreground":"text-muted-foreground"),children:c==="testing"?(0,De.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,De.jsx)(Br,{}),d||"Testing new models before save."]}):c==="saving"?(0,De.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,De.jsx)(Br,{}),d||"Saving provider models."]}):We.length>0&&xo(e)==="api"?`${We.length} new model${We.length===1?"":"s"} will be tested before save.`:"Existing models keep their current configuration metadata."}),(0,De.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[!t&&!Ue&&xt.length>0?(0,De.jsx)(H,{type:"button",variant:"outline",onClick:()=>{Re()},children:v?"Filling\u2026":"Fill missing context size"}):null,!t&&!Ue&&ht?(0,De.jsx)(H,{type:"button",variant:"ghost",onClick:()=>{y({}),A({}),N(null),O(""),Ie.current.clear(),ne.current.clear(),p(Se(u,{preserveFocus:!0}))},children:"Reset"}):null,!t&&ht&&!Wt?(0,De.jsx)(H,{type:"button",onClick:()=>{gn()},disabled:Ue,children:c==="testing"||b==="testing"?"Testing\u2026":c==="saving"||b==="saving"||r?"Saving\u2026":"Save models"}):null]})]})})]})}var he=B(te(),1);function pB({provider:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){let s=(0,tn.useMemo)(()=>VC(e),[e]),[c,d]=(0,tn.useState)(s),[u,f]=(0,tn.useState)(!1),[p,b]=(0,tn.useState)(!1),[m,v]=(0,tn.useState)(!1),[h,g]=(0,tn.useState)("provider"),[y,x]=(0,tn.useState)(""),[A,E]=(0,tn.useState)(0),[N,C]=(0,tn.useState)({isDirty:!1,issue:"",locked:!1,rows:[]}),[O,L]=(0,tn.useState)({phase:"",modelStates:{},failedModelIds:[],message:""}),V=(0,tn.useRef)(null),z=(0,tn.useRef)(null),G=(0,tn.useRef)(null),Z=(0,tn.useRef)(null);(0,tn.useEffect)(()=>{d(s)},[s]);let q=xo(e)!=="api",oe=(Array.isArray(e?.models)?e.models:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean),ee=Ta(e),W=q?"":DC(e?.rateLimits),j=q?[]:rr(c?.endpoints,c?.endpointDraft),Ie=q?[]:br(c?.rateLimitRows),ne=JSON.stringify({id:String(c?.id||"").trim(),name:String(c?.name||"").trim(),credentialInput:String(c?.credentialInput||"").trim(),endpoints:j,endpointDraft:String(c?.endpointDraft||"").trim(),rateLimitRows:yy(c?.rateLimitRows)}),Ve=JSON.stringify({id:String(s?.id||"").trim(),name:String(s?.name||"").trim(),credentialInput:String(s?.credentialInput||"").trim(),endpoints:yr(s?.endpoints),endpointDraft:String(s?.endpointDraft||"").trim(),rateLimitRows:yy(s?.rateLimitRows)}),ae=ne!==Ve,Se=!!i||l,ze=new Set((Array.isArray(N.rows)?N.rows:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean)),U=O.failedModelIds.filter(Te=>ze.has(Te)),fe=Se||O.phase==="testing"||O.phase==="saving",ve=q?"":Po(Ie,{knownModelIds:oe,requireAtLeastOne:!0}),ke=i||(String(c?.id||"").trim()?ll.test(String(c?.id||"").trim())?String(c?.name||"").trim()?!q&&j.length===0?"Add at least one endpoint for API Key providers.":!q&&j.some(Te=>!Si(Te))?"All endpoints must start with http:// or https://.":ve:"Provider name is required.":"Provider id must start with a letter and use lowercase letters, digits, or dashes only.":"Provider id is required."),we=q?c:{...c,endpoints:j,endpointDraft:""},Ne=!!N.isDirty,qe=ae||Ne,We=[ae?"provider settings":"",Ne?"model list":""].filter(Boolean),nn=[ae&&ke?`Provider: ${ke}`:"",Ne&&N.issue?`Models: ${N.issue}`:""].filter(Boolean).join(" "),Dn=Se||O.phase==="testing"||O.phase==="saving"||ae&&!!ke||Ne&&(!!N.issue||N.locked)||typeof a!="function";async function cn(){let Te=await r(e.id,we);return Te&&Ue(),Te}async function xt(Te){let et=await o(e.id,Te,{providerDraft:ae?we:null,onModelTestStateChange:ft=>{L({phase:String(ft?.phase||""),modelStates:ft?.modelStates&&typeof ft.modelStates=="object"?ft.modelStates:{},failedModelIds:Array.isArray(ft?.failedModelIds)?ft.failedModelIds:[],message:String(ft?.message||"")})}});return et&&Ue(),et}function ht(){d(s)}let yt=(0,tn.useCallback)(Te=>{C(Te)},[]);function Ue(){b(!1),v(!1),f(!1),g("provider"),x(""),d(s),C({isDirty:!1,issue:"",locked:!1,rows:[]}),L({phase:"",modelStates:{},failedModelIds:[],message:""})}async function It(){let Te=(Array.isArray(N.rows)?N.rows:[]).filter(ft=>!U.includes(String(ft?.id||"").trim()));return Te.length===0&&!ae||await a(e.id,{providerDraft:ae?we:null,modelRows:Ne?Te:null,onModelTestStateChange:ft=>{L({phase:String(ft?.phase||""),modelStates:ft?.modelStates&&typeof ft.modelStates=="object"?ft.modelStates:{},failedModelIds:Array.isArray(ft?.failedModelIds)?ft.failedModelIds:[],message:String(ft?.message||"")})}})?(Ue(),!0):(g("models"),!1)}(0,tn.useEffect)(()=>{L({phase:"",modelStates:{},failedModelIds:[],message:""})},[s]),(0,tn.useEffect)(()=>{U.length>0||!m||v(!1)},[U,m]),(0,tn.useEffect)(()=>{if(!u||h!=="provider"||y!=="endpoint"&&y!=="rate-limit"||typeof window>"u")return;let Te=window.requestAnimationFrame(()=>{let et=y==="endpoint"?V.current:G.current,ft=y==="endpoint"?z.current:Z.current;et?.scrollIntoView?.({block:"nearest"}),ft?.focus?.(),ft?.select?.(),x("")});return()=>window.cancelAnimationFrame(Te)},[u,h,y]);function Wt(Te="provider",et=""){b(!1),v(!1),g(Te),x(et),Te==="models"&&et==="models"&&E(ft=>ft+1),f(!0)}function pn(){if(!fe){if(U.length>0){b(!1),v(!0);return}if(qe){b(!0);return}Ue()}}async function wr(){if(Dn)return;if(!await a(e.id,{providerDraft:ae?we:null,modelRows:Ne?N.rows:null,onModelTestStateChange:et=>{L({phase:String(et?.phase||""),modelStates:et?.modelStates&&typeof et.modelStates=="object"?et.modelStates:{},failedModelIds:Array.isArray(et?.failedModelIds)?et.failedModelIds:[],message:String(et?.message||"")})}})){Ne&&(b(!1),g("models"));return}Ue()}return(0,he.jsxs)(he.Fragment,{children:[(0,he.jsx)(Lt,{children:(0,he.jsxs)(Dt,{className:"space-y-3 p-5",children:[(0,he.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,he.jsx)("div",{className:"min-w-0 flex-1 px-0.5 py-0.5",children:(0,he.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[(0,he.jsx)("span",{className:"text-base font-semibold text-foreground",children:e.name||e.id}),(0,he.jsxs)("span",{className:"text-sm text-muted-foreground",children:["(",e.id,")"]})]})}),(0,he.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,he.jsxs)(H,{type:"button",variant:"outline",size:"sm",className:"gap-1.5 normal-case tracking-normal",onClick:()=>Wt("provider"),disabled:Se,"aria-label":`Edit provider ${e.name||e.id}`,title:"Edit provider",children:[(0,he.jsx)(Ns,{className:"h-4 w-4 shrink-0"}),"Edit"]}),(0,he.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-8 w-8 shrink-0 p-0 text-muted-foreground hover:border-destructive/35 hover:bg-destructive/5 hover:text-destructive",onClick:()=>t(e.id),disabled:l,"aria-label":"Remove provider",title:"Remove provider",children:(0,he.jsx)(lu,{className:"h-4 w-4"})})]})]}),oe.length>0?(0,he.jsx)("div",{className:"flex flex-wrap gap-2 pt-1",children:oe.map(Te=>(0,he.jsx)(EN,{onClick:()=>n?.(Te),title:`Copy model id ${Te}`,className:"max-w-full",children:(0,he.jsx)("span",{className:"truncate",children:Te})},`${e.id}-${Te}`))}):null]})}),(0,he.jsx)(Nn,{open:u,onClose:pn,title:`Edit \xB7 ${e.id}`,description:O.phase==="testing"?O.message||"Testing new models before save.":O.phase==="saving"?O.message||"Saving provider changes.":"Switch between provider settings and model list. Each tab saves independently.",closeDisabled:fe,closeOnBackdrop:!fe,closeOnEscape:!fe,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)] pb-0",children:(0,he.jsxs)(bi,{value:h,onValueChange:g,children:[(0,he.jsxs)(vi,{className:"w-full justify-start",children:[(0,he.jsx)(Gn,{value:"provider",children:"Provider"}),(0,he.jsx)(Gn,{value:"models",children:"Model list"})]}),(0,he.jsxs)(qn,{forceMount:!0,value:"provider",className:Q("space-y-4 pb-4",h!=="provider"?"hidden":null),children:[(0,he.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:(0,he.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,he.jsxs)("div",{children:[(0,he.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,he.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Update provider identity and connection settings here."})]}),(0,he.jsx)(_e,{variant:"outline",children:q?"Subscription":"API Key"})]})}),(0,he.jsxs)("div",{className:Q("grid gap-3",q?"md:grid-cols-2":"md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]"),children:[(0,he.jsx)(He,{label:"Provider name",stacked:!0,children:(0,he.jsx)(it,{value:c.name,onChange:Te=>d(et=>({...et,name:Te.target.value})),disabled:fe})}),(0,he.jsx)(He,{label:"Provider id",hint:"Used in direct routes like provider/model",stacked:!0,children:(0,he.jsx)(it,{value:c.id,onChange:Te=>d(et=>({...et,id:Dr(Te.target.value)})),disabled:fe})})]}),q?null:(0,he.jsxs)("div",{className:"space-y-3",children:[(0,he.jsx)(He,{label:"API key or env",hint:"Use an env var like OPENAI_API_KEY or paste the direct key.",stacked:!0,children:(0,he.jsx)(Hs,{value:c.credentialInput||"",onChange:Te=>d(et=>({...et,credentialInput:Te.target.value})),disabled:fe,placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:vo(c.credentialInput)})}),(0,he.jsx)("div",{ref:V,children:(0,he.jsx)(He,{label:"Endpoints",hint:ee.length>1?"Comma, space, or newline turns into chips. The first endpoint stays active until you re-test this provider.":"Comma, space, or newline turns into chips.",stacked:!0,children:(0,he.jsx)(ku,{values:c.endpoints,onChange:Te=>d(et=>({...et,endpoints:Te})),draftValue:c.endpointDraft,onDraftValueChange:Te=>d(et=>({...et,endpointDraft:Te})),commitOnBlur:!0,disabled:fe,isValueValid:Si,inputRef:z,inputClassName:"placeholder:text-muted-foreground/55",placeholder:"Click here to type new endpoint",helperText:"Paste one or more endpoints"})})}),(0,he.jsx)("div",{ref:G,className:"grid gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1.35fr)_minmax(0,0.8fr)_minmax(0,0.8fr)_minmax(0,1fr)]",children:(0,he.jsx)("div",{className:"md:col-span-2 xl:col-span-4",children:(0,he.jsx)(He,{label:"Rate limit",stacked:!0,headerAction:(0,he.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:()=>d(Te=>({...Te,rateLimitRows:Vm(Te.rateLimitRows)})),disabled:fe,children:"Add rate limit"}),children:(0,he.jsx)(Fm,{rows:c.rateLimitRows,onChange:Te=>d(et=>({...et,rateLimitRows:Te})),availableModelIds:oe,disabled:fe,inputRef:Z})})})})]}),ke?(0,he.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:ke}):null,(0,he.jsxs)("div",{className:"flex min-h-9 items-center justify-end gap-2",children:[!fe&&ae?(0,he.jsx)(H,{type:"button",variant:"ghost",onClick:ht,children:"Reset"}):null,ae&&!ke?(0,he.jsx)(H,{type:"button",onClick:()=>{cn()},disabled:fe,children:O.phase==="saving"||l?"Saving\u2026":"Save provider"}):null]})]}),(0,he.jsx)(qn,{forceMount:!0,value:"models",className:Q(h!=="models"?"hidden":null),children:(0,he.jsx)(PN,{provider:e,disabled:!!i,disabledReason:i,busy:l,framed:!1,focusRequest:A,onStateChange:yt,onApply:xt,testStateByModel:O.modelStates,savePhase:O.phase,saveMessage:O.message})})]})}),(0,he.jsx)(CN,{open:p,onKeepEditing:()=>b(!1),onDiscardAndClose:Ue,onSaveAndClose:wr,saveDisabled:Dn,dirtyLabels:We,details:nn}),(0,he.jsx)(RN,{open:m,failedModelIds:U,onKeepEditing:()=>v(!1),onRemoveFailedAndClose:It,removeDisabled:fe||typeof a!="function"})]})}function gB({providers:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){return e.length?(0,he.jsx)("div",{className:"grid gap-4 xl:grid-cols-2",children:e.map(s=>(0,he.jsx)(pB,{provider:s,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i,busy:l},s.id))}):(0,he.jsx)(Lt,{children:(0,he.jsx)(Dt,{className:"flex flex-col gap-4 p-5 text-sm text-muted-foreground",children:(0,he.jsx)("div",{children:"No enabled providers are configured yet. Use Add provider to create your first provider, model list, and rate limits."})})})}function UN({providers:e,onAddProvider:t,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l="",busy:s=!1}){return(0,he.jsxs)("section",{className:"rounded-2xl border border-border/70 bg-card p-4","aria-label":"Provider models",children:[(0,he.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,he.jsxs)("div",{className:"min-w-0",children:[(0,he.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider & Models"}),(0,he.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Manage providers, direct model routes, endpoints, and rate limits in one place."})]}),(0,he.jsx)(H,{onClick:t,children:"Add provider"})]}),(0,he.jsx)("div",{className:"mt-4",children:(0,he.jsx)(gB,{providers:e,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l,busy:s})})]})}var _u=B(xe(),1);var ie=B(te(),1);function jN({connected:e,snapshot:t,models:n,busy:r,refreshing:o,config:a,onRefresh:i,onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:p,onAutoLoad:b,onSaveSettings:m,onInstall:v,onStartServer:h,onStopServer:g,onSyncRouter:y,embedded:x=!1}){let A=a?.ollama||{},[E,N]=(0,_u.useState)(A.baseUrl||"http://localhost:11434"),[C,O]=(0,_u.useState)(A.autoConnect!==!1),[L,V]=(0,_u.useState)(A.defaultKeepAlive||"5m"),z=t?.installed===!0;return(0,ie.jsxs)("div",{className:"space-y-4",children:[(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-2",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Ollama Connection"}),x?(0,ie.jsx)("span",{className:"text-xs text-muted-foreground",children:"Local Models runtime"}):null,e?(0,ie.jsx)(_e,{variant:"success",children:"Connected"}):(0,ie.jsx)(_e,{variant:"outline",children:"Disconnected"})]}),(0,ie.jsxs)("div",{className:"flex gap-2",children:[!z&&(0,ie.jsx)(H,{size:"sm",onClick:v,disabled:r._install,children:r._install?"Installing\u2026":"Install Ollama"}),z&&!e&&(0,ie.jsx)(H,{size:"sm",onClick:h,disabled:r._startServer,children:r._startServer?"Starting\u2026":"Start Server"}),e&&(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:g,children:"Stop Server"})]})]}),t?.version&&(0,ie.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Version: ",t.version]})]})}),e&&(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Models"}),(0,ie.jsxs)("div",{className:"flex gap-2",children:[(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:y,disabled:r._syncRouter,children:r._syncRouter?"Syncing\u2026":"Sync All to Router"}),(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:i,disabled:o,children:o?"Refreshing\u2026":"Reload Models"})]})]}),n.length===0&&!o&&(0,ie.jsxs)("p",{className:"text-sm text-muted-foreground",children:["No models found. Pull models with ",(0,ie.jsx)("code",{className:"text-xs bg-muted px-1 py-0.5 rounded",children:"ollama pull <model>"})]}),(0,ie.jsx)("div",{className:"space-y-2",children:n.map(G=>(0,ie.jsx)(hB,{model:G,busy:r[G.name]||{},onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:p,onAutoLoad:b},G.name))})]})}),(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Settings"}),(0,ie.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[(0,ie.jsxs)("div",{children:[(0,ie.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Base URL"}),(0,ie.jsx)(it,{value:E,onChange:G=>N(G.target.value),placeholder:"http://localhost:11434"})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Default Keep Alive"}),(0,ie.jsxs)(Xt,{value:L,onValueChange:V,children:[(0,ie.jsx)(Jt,{children:(0,ie.jsx)(Zt,{})}),(0,ie.jsx)(en,{children:fy.map(G=>(0,ie.jsx)(Ct,{value:G.value,children:G.label},G.value))})]})]})]}),(0,ie.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,ie.jsx)("label",{className:"text-sm text-foreground",children:"Auto-connect on startup"}),(0,ie.jsx)(Io,{checked:C,onCheckedChange:O})]}),(0,ie.jsx)(H,{size:"sm",onClick:()=>m({baseUrl:E,autoConnect:C,defaultKeepAlive:L}),children:"Save Settings"})]})})]})}function hB({model:e,busy:t,onLoad:n,onUnload:r,onPin:o,onKeepAlive:a,onContextLength:i,onAddToRouter:l,onRemoveFromRouter:s,onAutoLoad:c}){let[d,u]=(0,_u.useState)(e.contextLength||0);return(0,ie.jsxs)("div",{className:"rounded-lg border border-border p-3 space-y-2",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between gap-2 flex-wrap",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,ie.jsx)("span",{className:"font-mono text-sm font-medium",children:e.name}),(0,ie.jsx)(_e,{variant:"outline",children:e.parameterSize||"?"}),(0,ie.jsx)(_e,{variant:"outline",children:e.quantizationLevel||"?"}),e.loaded?(0,ie.jsxs)(_e,{variant:"success",children:["Loaded",e.sizeVramFormatted?` (${e.sizeVramFormatted})`:""]}):(0,ie.jsx)(_e,{variant:"default",children:"Available"}),e.isPinned&&(0,ie.jsx)(_e,{variant:"warning",children:"Pinned"})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.loaded?(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>r(e.name),disabled:t.unloading,children:t.unloading?"Unloading\u2026":"Unload"}):(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>n(e.name),disabled:t.loading,children:t.loading?"Loading\u2026":"Load"}),(0,ie.jsx)(H,{size:"sm",variant:e.isPinned?"default":"outline",onClick:()=>o(e.name,!e.isPinned),disabled:t.pinning,title:e.isPinned?"Unpin (allow auto-unload)":"Pin in memory (blocks eviction)",children:e.isPinned?"Unpin":"Pin"}),e.inRouter?(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>s(e.name),className:"text-red-600 hover:text-red-700",children:"Remove from Router"}):(0,ie.jsx)(H,{size:"sm",variant:"default",onClick:()=>l(e.name),children:"Add to Router"})]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-4 flex-wrap text-xs",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,ie.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Keep Alive:"}),(0,ie.jsxs)(Xt,{value:e.keepAlive||"5m",onValueChange:f=>a(e.name,f),children:[(0,ie.jsx)(Jt,{className:"h-7 w-[160px] text-xs",children:(0,ie.jsx)(Zt,{})}),(0,ie.jsx)(en,{children:fy.map(f=>(0,ie.jsx)(Ct,{value:f.value,children:f.label},f.value))})]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,ie.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Context:"}),(0,ie.jsx)(it,{type:"number",className:"h-7 w-24 text-xs",value:d,onChange:f=>u(Number(f.target.value)),onBlur:()=>{d!==e.contextLength&&i(e.name,d)},min:0,step:1024}),e.contextLength>0&&(0,ie.jsxs)("span",{className:"text-muted-foreground",children:["max: ",e.contextLength.toLocaleString()]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-2",children:[(0,ie.jsx)(Io,{checked:e.autoLoad,onCheckedChange:f=>c(e.name,f)}),(0,ie.jsx)("label",{className:"text-muted-foreground",children:"Auto-load on start"})]}),e.estimatedVram&&(0,ie.jsxs)("span",{className:"text-muted-foreground",children:["Est. VRAM: ",e.estimatedVram]})]})]})}var XN=B(xe(),1);var Ln=B(xe(),1);function $m(e,t){return Object.values(e||{}).filter(n=>t(n)).length}var Du={balanced:{label:"Balanced",contextWindow:65536},"long-context":{label:"Long Context",contextWindow:2e5},"low-memory":{label:"Low Memory",contextWindow:16384},"fast-response":{label:"Fast Response",contextWindow:8192}},yB={mode:"auto",preset:"balanced",overrides:{},extraArgs:[],lastKnownGood:null,lastFailure:null};function Lu(e){return Array.isArray(e)?e.map(t=>Lu(t)):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,Lu(n)])):e}function bB(e){let t=String(e||"").trim().toLowerCase();return t||"stopped"}function Km(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function Eb(e,t=new Set){let n=String(e||"").trim()||"local/local-model";if(!t.has(n))return n;let r=2;for(;t.has(`${n}-${r}`);)r+=1;return`${n}-${r}`}function VN(e={}){return new Set(Object.values(e||{}).map(t=>String(t?.id||"").trim()).filter(Boolean))}function FN(e){return String(e||"").replace(/\.[^.]+$/u,"")}function vB(e){return String(e||"").trim().replace(/\\/g,"/").split("/").filter(Boolean).pop()||""}function HN(e={},t={}){let n=String(e?.repo||"").trim(),r=String(e?.file||"").trim(),o=VN(t),a=Km(`${n}-${FN(r)}`)||"local-model";return{id:Eb(a,o),displayName:r||n||"Managed GGUF",repo:n,file:r}}function Nb(e="",t={}){let n=String(e||"").trim(),r=vB(n),o=VN(t),a=Km(FN(r))||"local-model";return{id:Eb(a,o),displayName:r||n||"Attached GGUF",filePath:n}}function Gm(e){let t=Number.parseInt(String(e??"").replace(/[^\d]/g,""),10);return Number.isFinite(t)&&t>0?t:void 0}function $N(e,t={}){let n=String(e?.displayName||e?.id||"Local Model").trim()||"Local Model",r="balanced",o=Du[r],a=new Set(Object.values(t||{}).map(s=>String(s?.id||"").trim()).filter(Boolean)),i=`${n} ${o.label}`,l=Eb(`local/${Km(i)}`,a);return{key:Km(l)||`local-${Date.now()}`,baseModelId:e?.id,runtime:"llamacpp",name:i,id:l,preset:r,enabled:!0,preload:!1,contextWindow:o.contextWindow,capabilities:{}}}function KN(e){return{...e,preset:String(e?.preset||"balanced").trim()||"balanced",contextWindow:Number.isFinite(Number(e?.contextWindow))?Number(e.contextWindow):Du.balanced.contextWindow,runtimeProfile:{...yB,...e?.runtimeProfile||{},overrides:e?.runtimeProfile?.overrides&&typeof e.runtimeProfile.overrides=="object"?Lu(e.runtimeProfile.overrides):{},extraArgs:Array.isArray(e?.runtimeProfile?.extraArgs)?[...e.runtimeProfile.extraArgs]:[],lastKnownGood:e?.runtimeProfile?.lastKnownGood&&typeof e.runtimeProfile.lastKnownGood=="object"?Lu(e.runtimeProfile.lastKnownGood):null,lastFailure:e?.runtimeProfile?.lastFailure&&typeof e.runtimeProfile.lastFailure=="object"?Lu(e.runtimeProfile.lastFailure):null},capabilities:e?.capabilities&&typeof e.capabilities=="object"?{...e.capabilities}:{}}}function GN(e,t=new Set){return String(e?.name||"").trim()?String(e?.id||"").trim()?t.has(String(e?.id||"").trim())?"Model id already exists.":Gm(e?.contextWindow)?"":"Context window must be a positive integer.":"Model id is required.":"Variant name is required."}function qN(e={}){let t=e?.runtime||{},n=e?.library||{},r=e?.variants||{};return{enabledVariants:$m(r,o=>o?.enabled===!0),preloadedVariants:$m(r,o=>o?.preload===!0),staleAssets:$m(n,o=>String(o?.availability||"").trim().toLowerCase()==="stale"),runningRuntimes:$m(t,o=>bB(o?.status)==="running")}}var st=B(te(),1);function WN({draft:e,baseModel:t=null,duplicateIds:n=new Set,saveDisabled:r=!1,saveDisabledReason:o="",saving:a=!1,onChange:i,onSave:l,onCancel:s}){return(0,st.jsxs)("form",{className:"space-y-4",onSubmit:c=>{c.preventDefault(),l?.()},children:[t?(0,st.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,st.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Base Model"}),(0,st.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:t?.displayName||t?.id}),(0,st.jsx)("div",{className:"mt-1 break-all text-xs text-muted-foreground",children:t?.path||"Path not recorded"})]}):null,(0,st.jsx)(He,{label:"Variant name",stacked:!0,children:(0,st.jsx)(it,{"aria-label":"Variant name",value:e?.name||"",onChange:c=>i?.({...e,name:c.target.value})})}),(0,st.jsxs)(He,{label:"Model id",stacked:!0,children:[(0,st.jsx)(it,{"aria-label":"Model id",value:e?.id||"",onChange:c=>i?.({...e,id:c.target.value})}),n.has(e?.id)?(0,st.jsx)("div",{className:"text-xs text-red-600",children:"Model id already exists."}):null]}),(0,st.jsx)(He,{label:"Preset",stacked:!0,children:(0,st.jsxs)(Xt,{value:e?.preset||"balanced",onValueChange:c=>i?.({...e,preset:c}),children:[(0,st.jsx)(Jt,{children:(0,st.jsx)(Zt,{})}),(0,st.jsxs)(en,{children:[(0,st.jsx)(Ct,{value:"balanced",children:"Balanced"}),(0,st.jsx)(Ct,{value:"long-context",children:"Long Context"}),(0,st.jsx)(Ct,{value:"low-memory",children:"Low Memory"}),(0,st.jsx)(Ct,{value:"fast-response",children:"Fast Response"})]})]})}),(0,st.jsx)(He,{label:"Context window",stacked:!0,hint:"Router-visible max context length for this variant.",children:(0,st.jsx)(it,{"aria-label":"Context window",inputMode:"numeric",value:e?.contextWindow??"",onChange:c=>i?.({...e,contextWindow:c.target.value})})}),(0,st.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,st.jsx)(He,{label:"Enabled in router",stacked:!0,children:(0,st.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,st.jsx)("span",{className:"text-sm text-foreground",children:"Expose this variant to aliases and route pickers"}),(0,st.jsx)(Io,{checked:e?.enabled===!0,onCheckedChange:c=>i?.({...e,enabled:c})})]})}),(0,st.jsx)(He,{label:"Preload on startup",stacked:!0,children:(0,st.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,st.jsx)("span",{className:"text-sm text-foreground",children:"Load it when the local runtime starts"}),(0,st.jsx)(Io,{checked:e?.preload===!0,onCheckedChange:c=>i?.({...e,preload:c})})]})})]}),(0,st.jsx)(He,{label:"Capability hints",stacked:!0,hint:"Leave unset unless this model needs a routing override.",children:(0,st.jsx)(Hm,{capabilities:e?.capabilities||{},onChange:(c,d)=>{let u={...e?.capabilities||{}};typeof d=="boolean"?u[c]=d:delete u[c],i?.({...e,capabilities:u})}})}),o?(0,st.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:o}):null,(0,st.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,st.jsx)(H,{type:"button",variant:"outline",onClick:()=>s?.(),disabled:a,children:"Cancel"}),(0,st.jsx)(H,{type:"submit",disabled:r||a,children:a?"Saving\u2026":"Save variant"})]})]})}var _=B(te(),1);function xB(e){let t=String(e||"").trim().toLowerCase();return t?t==="running"?{label:"Running",variant:"success"}:t==="stale"?{label:"Stale runtime",variant:"warning"}:t==="invalid"?{label:"Invalid runtime",variant:"warning"}:t==="stopped"?{label:"Stopped",variant:"outline"}:{label:t,variant:"outline"}:{label:"Needs validation",variant:"outline"}}function YN(e){let t=String(e||"").trim().toLowerCase();return!t||t==="available"?{label:"Available",variant:"success"}:t==="stale"?{label:"Stale",variant:"warning"}:t==="missing"?{label:"Missing",variant:"warning"}:t==="invalid"?{label:"Invalid",variant:"warning"}:{label:t,variant:"outline"}}function SB(e){let t=String(e||"").trim().toLowerCase();return!t||t==="safe"?{label:"Safe",variant:"success"}:t==="tight"?{label:"Tight",variant:"warning"}:t==="over-budget"?{label:"Over budget",variant:"danger"}:{label:t,variant:"outline"}}function wB(e){return String(e||"").includes("managed")?"Managed":"Attached"}function Ks(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"";let n=["B","KB","MB","GB","TB"],r=t,o=0;for(;r>=1024&&o<n.length-1;)r/=1024,o+=1;return`${r>=10||o===0?r.toFixed(0):r.toFixed(1)} ${n[o]}`}function Tb(e){return/\.gguf$/i.test(String(e||"").trim())}function AB(e){let t=String(e||"").trim();if(!t)return"";let n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n>0?t.slice(0,n):""}function CB({candidate:e,busy:t=!1,onUseRuntime:n}){return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.label||e?.path}),(0,_.jsx)(_e,{variant:"outline",children:e?.source||"path"}),e?.isTurboQuant?(0,_.jsx)(_e,{variant:"warning",children:"TurboQuant"}):null,e?.current?(0,_.jsx)(_e,{variant:"success",children:"Configured"}):null,(0,_.jsx)(_e,{variant:e?.ok===!1?"warning":"outline",children:e?.ok===!1?"Needs review":"Detected"})]}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:e?.path}),e?.directory?(0,_.jsxs)("div",{className:"font-mono text-xs text-muted-foreground/80",children:["Dir: ",e.directory]}):null,e?.errorMessage?(0,_.jsx)("div",{className:"text-xs text-amber-900",children:e.errorMessage}):null]}),(0,_.jsx)("div",{className:"flex shrink-0 items-center",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>n?.(e?.path),disabled:t||e?.current===!0||e?.ok===!1,children:e?.current===!0?"Selected":t?"Selecting\u2026":"Use runtime"})})]})})}function RB({entry:e,variantCount:t=0,disabledReason:n="",busy:r=!1,onCreateVariant:o,onLocateModel:a,onRemoveModel:i}){let l=YN(e?.availability),s=Ks(e?.metadata?.sizeBytes),c=String(e?.metadata?.repo||"").trim(),d=String(e?.metadata?.file||"").trim(),u=!n&&l.label==="Available",f=l.label!=="Available";return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.displayName||e?.id}),(0,_.jsx)(_e,{variant:"outline",children:wB(e?.source)}),(0,_.jsx)(_e,{variant:l.variant,children:l.label}),s?(0,_.jsx)(_e,{variant:"outline",children:s}):null]}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:e?.path||"Path not recorded"}),c||d?(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:[c||"Managed file",d?` \u2022 ${d}`:""]}):null,(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:[t," variant",t===1?"":"s"," attached to this base model."]})]}),(0,_.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",onClick:()=>o?.(e),disabled:!u||r,children:"Create variant"}),f?(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>a?.(e),disabled:!!n||r,children:"Locate model"}):null,(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>i?.(e),disabled:!!n||r,children:"Remove"})]})]})})}function EB({variant:e,baseModel:t,runtimeStatus:n,onEdit:r}){let o=YN(e?.availability||t?.availability),a=SB(e?.capacityState),i=o.label!=="Available"?o.label:String(n?.label||"").trim()||"Stopped";return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.name||e?.id}),(0,_.jsx)(_e,{variant:e?.enabled===!0?"success":"outline",children:e?.enabled===!0?"Enabled":"Disabled"}),e?.preload===!0?(0,_.jsx)(_e,{variant:"warning",children:"Preload"}):null,(0,_.jsx)(_e,{variant:a.variant,children:a.label}),(0,_.jsx)(_e,{variant:o.variant,children:o.label})]}),(0,_.jsx)("div",{className:"font-mono text-xs text-muted-foreground",children:e?.id||"Missing model id"}),(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Base model: ",t?.displayName||t?.id||e?.baseModelId," \u2022 Context: ",Ho(e?.contextWindow)]}),(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Runtime state: ",i]})]}),(0,_.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>r?.(e),children:"Edit"})})]})})}function NB({result:e,downloading:t=!1,onDownload:n}){return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e.file}),e.quantization?(0,_.jsx)(_e,{variant:"outline",children:e.quantization}):null,(e.badges||[]).map(r=>(0,_.jsx)(_e,{variant:"outline",children:r},`${e.repo}:${e.file}:${r}`))]}),(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:e.repo}),e.sizeBytes?(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:Ks(e.sizeBytes)}):null,e.disabledReason?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:e.disabledReason}):null,e.recommendation?(0,_.jsx)("div",{className:"rounded-xl border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:e.recommendation}):null]}),(0,_.jsx)(H,{size:"sm",onClick:()=>n?.(e),disabled:e.disabled===!0||t,children:t?"Downloading\u2026":"Download"})]})})}function QN({runtime:e={},library:t={},variants:n={},disableEditsReason:r="",onSelectRuntime:o,onStartRuntime:a,onStopRuntime:i,onSaveRuntimeSettings:l,onSaveVariant:s,onRefreshLibrary:c,onAttachModel:d,onLocateModel:u,onRemoveModel:f,onDownloadManagedModel:p}){let b=xB(e?.status),m=(0,Ln.useMemo)(()=>Object.values(t||{}),[t]),v=(0,Ln.useMemo)(()=>Object.values(n||{}),[n]),h=String(e?.selectedCommand||e?.manualCommand||"").trim(),g=String(e?.selectedDirectory||"").trim()||AB(h),y=String(e?.host||"127.0.0.1").trim()||"127.0.0.1",x=Number.isFinite(Number(e?.port))?Number(e.port):39391,A=String(e?.status||"").trim().toLowerCase()==="running",[E,N]=(0,Ln.useState)({open:!1,draft:null,baseModelId:"",title:""}),[C,O]=(0,Ln.useState)(!1),[L,V]=(0,Ln.useState)({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""}),[z,G]=(0,Ln.useState)({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""}),[Z,ue]=(0,Ln.useState)({open:!1,query:"",searching:!1,results:[],error:"",downloadingKey:"",progressLabel:""}),[q,oe]=(0,Ln.useState)(!1),[ee,W]=(0,Ln.useState)(""),[j,Ie]=(0,Ln.useState)({selecting:!1,starting:!1,stopping:!1,savingSettings:!1,error:""}),[ne,Ve]=(0,Ln.useState)(e?.startWithRouter===!0),[ae,Se]=(0,Ln.useState)({loading:!1,error:"",runtime:null});(0,Ln.useEffect)(()=>{Ve(e?.startWithRouter===!0)},[e?.startWithRouter]);let ze=(0,Ln.useMemo)(()=>{let T=String(E?.draft?.id||"").trim(),M=String(E?.draft?.key||"").trim();return new Set(v.filter(F=>String(F?.key||"").trim()!==M).map(F=>String(F?.id||"").trim()).filter(F=>F&&F===T))},[E?.draft?.id,E?.draft?.key,v]),U=E?.baseModelId&&t[E.baseModelId]||null,fe=GN(E?.draft||{},ze),ve=String(L?.draft?.id||"").trim()?String(L?.draft?.filePath||"").trim()?Tb(L?.draft?.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.":"Model id is required.",ke=String(z.filePath||"").trim()?Tb(z.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.";(0,Ln.useEffect)(()=>{!r&&typeof c=="function"&&c({silent:!0})},[]);async function we(){Se(T=>({...T,loading:!0,error:""}));try{let T=await Ny();Se({loading:!1,error:"",runtime:T?.runtime||null})}catch(T){Se({loading:!1,error:T instanceof Error?T.message:String(T),runtime:null})}}(0,Ln.useEffect)(()=>{let T=!1;async function M(){Se(F=>({...F,loading:!0,error:""}));try{let F=await Ny();if(T)return;Se({loading:!1,error:"",runtime:F?.runtime||null})}catch(F){if(T)return;Se({loading:!1,error:F instanceof Error?F.message:String(F),runtime:null})}}return M(),()=>{T=!0}},[h,e?.startWithRouter,e?.status]);async function Ne(T){let M=String(T||"").trim();if(!(!M||!o)){Ie(F=>({...F,selecting:!0,error:""}));try{await o(M)&&await we()}catch(F){Ie(ce=>({...ce,selecting:!1,error:F instanceof Error?F.message:String(F)}));return}Ie(F=>({...F,selecting:!1,error:""}))}}async function qe(){if(!(!a||!h)){Ie(T=>({...T,starting:!0,error:""}));try{await a(),await we(),Ie(T=>({...T,starting:!1,error:""}))}catch(T){Ie(M=>({...M,starting:!1,error:T instanceof Error?T.message:String(T)}))}}}async function We(){if(i){Ie(T=>({...T,stopping:!0,error:""}));try{await i(),await we(),Ie(T=>({...T,stopping:!1,error:""}))}catch(T){Ie(M=>({...M,stopping:!1,error:T instanceof Error?T.message:String(T)}))}}}async function nn(){if(l){Ie(T=>({...T,savingSettings:!0,error:""}));try{await l({startWithRouter:ne}),await we(),Ie(T=>({...T,savingSettings:!1,error:""}))}catch(T){Ie(M=>({...M,savingSettings:!1,error:T instanceof Error?T.message:String(T)}))}}}async function Dn(){Ie(T=>({...T,selecting:!0,error:""}));try{let T=await am("runtime"),M=String(T?.selection?.path||"").trim();if(!M){Ie(ce=>({...ce,selecting:!1,error:""}));return}await o?.(M)&&await we(),Ie(ce=>({...ce,selecting:!1,error:""}))}catch(T){Ie(M=>({...M,selecting:!1,error:T instanceof Error?T.message:String(T)}))}}function cn(T){N({open:!0,title:"Create local variant",baseModelId:T?.id||"",draft:$N(T,n)})}function xt(T){N({open:!0,title:"Edit local variant",baseModelId:T?.baseModelId||"",draft:KN(T)})}function ht(){C||N({open:!1,draft:null,baseModelId:"",title:""})}async function yt(){if(!E?.draft||fe)return;O(!0);let T=!1;try{let M={...E.draft,contextWindow:Gm(E.draft.contextWindow)};T=await s?.(M)}finally{O(!1)}T&&N({open:!1,draft:null,baseModelId:"",title:""})}function Ue(){V({open:!0,saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:"",draft:{id:"",displayName:"",filePath:""}})}function It(){L.saving||V({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}async function Wt(){if(ve)return;V(M=>({...M,saving:!0}));let T=!1;try{T=await d?.(L.draft)}finally{V(M=>({...M,saving:!1}))}T&&V({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}function pn(T){let M=Nb(T,t);V(F=>({...F,draft:{id:M.id,displayName:M.displayName,filePath:M.filePath},error:""}))}async function wr(T){V(M=>({...M,browseBusy:!0,error:""}));try{let M=await am(T),F=String(M?.selection?.path||"").trim(),ce=Array.isArray(M?.matches)?M.matches:[];F&&T==="file"&&ce.length>0?pn(ce[0].filePath||F):V(Je=>({...Je,draft:{...Je.draft,filePath:F||Je.draft.filePath},scanMatches:ce,error:ce.length===0&&T==="directory"&&F?"No GGUF files were found in that folder.":""}))}catch(M){V(F=>({...F,error:M instanceof Error?M.message:String(M)}))}finally{V(M=>({...M,browseBusy:!1}))}}async function Te(){let T=String(L?.draft?.filePath||"").trim();if(T){V(M=>({...M,scanBusy:!0,error:""}));try{let M=await M1(T),F=Array.isArray(M?.matches)?M.matches:[];V(ce=>({...ce,scanMatches:F,error:F.length===0?"No GGUF files were found at that path.":""})),F.length===1&&Tb(F[0]?.filePath)&&pn(F[0].filePath)}catch(M){V(F=>({...F,error:M instanceof Error?M.message:String(M)}))}finally{V(M=>({...M,scanBusy:!1}))}}}function et(T){G({open:!0,baseModelId:T?.id||"",displayName:T?.displayName||T?.id||"",filePath:T?.path||"",saving:!1,browseBusy:!1,error:""})}function ft(){z.saving||G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function lo(){if(!z.baseModelId||!String(z.filePath||"").trim())return;G(M=>({...M,saving:!0}));let T=!1;try{T=await u?.({baseModelId:z.baseModelId,filePath:z.filePath})}finally{G(M=>({...M,saving:!1}))}T&&G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function St(){G(T=>({...T,browseBusy:!0,error:""}));try{let T=await am("file"),M=String(T?.selection?.path||"").trim();M&&G(F=>({...F,filePath:M}))}catch(T){G(M=>({...M,error:T instanceof Error?T.message:String(T)}))}finally{G(T=>({...T,browseBusy:!1}))}}async function Re(T){if(!(!T?.id||!(typeof window>"u"||window.confirm(`Remove local model "${T.displayName||T.id}" and all of its variants?`)))){W(`remove:${T.id}`);try{await f?.(T.id)}finally{W("")}}}async function gn(){oe(!0);try{await c?.({silent:!1})}finally{oe(!1)}}async function k(T=null){let M=T??Z.query;ue(F=>({...F,searching:!0,error:""}));try{let F=await S1({query:M,expectedContextWindow:2e5});ue(ce=>({...ce,query:M,results:F,searching:!1,error:""}))}catch(F){ue(ce=>({...ce,query:M,searching:!1,error:F instanceof Error?F.message:String(F)}))}}function me(){ue(T=>({...T,open:!0,error:"",progressLabel:""})),(Z.results||[]).length===0&&!Z.searching&&k("")}function re(){Z.downloadingKey||ue(T=>({...T,open:!1,error:"",progressLabel:""}))}async function Pe(T){let M=HN(T,t),F=`${T.repo}:${T.file}`;ue(Je=>({...Je,downloadingKey:F,progressLabel:"Preparing download\u2026",error:""}));let ce=!1;try{ce=await p?.({...M,repo:T.repo,file:T.file},{onMessage:Je=>{if(Je?.type==="progress"){let Vt=Number(Je?.event?.receivedBytes||0),Ee=Number(Je?.event?.totalBytes||0),Y=Ee>0?`${Ks(Vt)} / ${Ks(Ee)}`:Vt>0?Ks(Vt):"Downloading\u2026";ue(ge=>({...ge,progressLabel:Y}))}}})}finally{ue(Je=>({...Je,downloadingKey:"",progressLabel:""}))}ce&&ue(Je=>({...Je,open:!1,downloadingKey:"",progressLabel:"",error:""}))}return(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"llama.cpp Runtime"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Native runtime configuration"})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[A?(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:We,disabled:j.stopping,children:j.stopping?"Stopping\u2026":"Stop Runtime"}):(0,_.jsx)(H,{size:"sm",onClick:qe,disabled:!h||j.starting,children:j.starting?"Starting\u2026":"Start Runtime"}),(0,_.jsx)(_e,{variant:b.variant,children:b.label})]})]}),(0,_.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Selected Command"}),(0,_.jsx)("div",{className:"mt-2 break-all font-mono text-sm text-foreground",children:h||"Not configured yet"}),g?(0,_.jsxs)("div",{className:"mt-2 font-mono text-xs text-muted-foreground",children:["Dir: ",g]}):null]}),(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Runtime Address"}),(0,_.jsx)("div",{className:"mt-2 font-mono text-sm text-foreground",children:`${y}:${x}`})]}),(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Start With Router"}),(0,_.jsx)("div",{className:"mt-2 text-sm text-foreground",children:e?.startWithRouter===!0?"Enabled":"Disabled"})]})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Runtime Settings"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Auto-start launches the selected `llama-server` when the router starts."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,_.jsx)("label",{className:"text-sm text-foreground",children:"Auto-start with router"}),(0,_.jsx)(Io,{checked:ne,onCheckedChange:Ve,disabled:!!r||j.savingSettings}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:nn,disabled:!!r||j.savingSettings,children:j.savingSettings?"Saving\u2026":"Save Settings"})]})]}),(0,_.jsxs)("div",{className:"space-y-3",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Detected runtimes"}),(0,_.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Auto-search checks `PATH`, Homebrew, and common source-build locations such as `~/src/llama-cpp-turboquant/build/bin`. TurboQuant builds are labeled explicitly when detected."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Dn,disabled:j.selecting,children:j.selecting?"Selecting\u2026":"Browse runtime"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>{we()},disabled:ae.loading||j.selecting,children:ae.loading?"Refreshing\u2026":"Refresh runtimes"})]})]}),j.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:j.error}):null,ae.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ae.error}):null,(ae.runtime?.candidates||[]).length===0&&!ae.loading?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-4 text-sm text-muted-foreground",children:"No local `llama-server` candidates were detected yet. If TurboQuant is already built outside the common search locations, use Browse runtime and point the router at the binary directly."}):(0,_.jsx)("div",{className:"space-y-3",children:(ae.runtime?.candidates||[]).map(T=>(0,_.jsx)(CB,{candidate:T,busy:j.selecting,onUseRuntime:Ne},T.path||T.id))})]})]})}),(0,_.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]",children:[(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Library"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Tracked GGUF base models"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Create router-facing variants from managed Hugging Face downloads or attached GGUF paths. Missing or stale files stay visible until you repair or remove them."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Ue,disabled:!!r,children:"Attach path"}),(0,_.jsx)(H,{size:"sm",onClick:me,disabled:!!r,children:"Download from Hugging Face"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:gn,disabled:!!r||q,children:q?"Refreshing\u2026":"Refresh status"})]})]}),r?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:r}):null,(0,_.jsx)("div",{className:"space-y-3",children:m.length===0?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"No `llama.cpp` base models are tracked yet. Managed downloads and attached GGUF files will land here."}):m.map(T=>(0,_.jsx)(RB,{entry:T,variantCount:v.filter(M=>M?.baseModelId===T.id).length,disabledReason:r,busy:ee===`remove:${T.id}`,onCreateVariant:cn,onLocateModel:et,onRemoveModel:Re},T.id))})]})}),(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Variants"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Router-visible local models"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Variants behave like standard router models after save, including alias usage, context-window metadata, and capability hints."})]}),(0,_.jsx)("div",{className:"space-y-3",children:v.length===0?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"No local variants yet. Start from a base model on the left, choose a preset, and expose the saved variant to aliases and route pickers."}):v.map(T=>(0,_.jsx)(EB,{variant:T,baseModel:t[T?.baseModelId]||null,runtimeStatus:b,onEdit:xt},T.key||T.id))})]})})]}),(0,_.jsx)(Nn,{open:L.open,onClose:It,title:"Attach local GGUF",description:"Register an existing GGUF file in place. The router stores metadata only and does not copy the file.",contentClassName:"max-w-xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(He,{label:"GGUF file path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(it,{value:L.draft.filePath,onChange:T=>{let M={...L.draft,filePath:T.target.value};if(!String(L.draft.id||"").trim()||!String(L.draft.displayName||"").trim()){let F=Nb(T.target.value,t);String(L.draft.id||"").trim()||(M.id=F.id),String(L.draft.displayName||"").trim()||(M.displayName=F.displayName)}V(F=>({...F,draft:M}))},placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>wr("file"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse file"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>wr("directory"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse folder"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Te,disabled:L.scanBusy||!String(L.draft.filePath||"").trim(),children:L.scanBusy?"Scanning\u2026":"Scan path"})]})]})}),(0,_.jsx)(He,{label:"Model name",stacked:!0,children:(0,_.jsx)(it,{value:L.draft.displayName,onChange:T=>V(M=>({...M,draft:{...M.draft,displayName:T.target.value}}))})}),(0,_.jsx)(He,{label:"Base model id",stacked:!0,hint:"Stable inventory id used for variants and stale-path recovery.",children:(0,_.jsx)(it,{value:L.draft.id,onChange:T=>V(M=>({...M,draft:{...M.draft,id:T.target.value}}))})}),L.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:L.error}):null,(L.scanMatches||[]).length>0?(0,_.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/60 p-3",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Scanned GGUF files"}),(L.scanMatches||[]).map(T=>(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2 rounded-xl border border-border/60 bg-background/80 px-3 py-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-medium text-foreground",children:T.fileName}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:T.filePath}),T.sizeBytes?(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:Ks(T.sizeBytes)}):null]}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>pn(T.filePath),disabled:L.saving,children:"Use file"})]},T.filePath))]}):null,ve?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ve}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(H,{type:"button",variant:"outline",onClick:It,disabled:L.saving,children:"Cancel"}),(0,_.jsx)(H,{type:"button",onClick:Wt,disabled:!!ve||L.saving,children:L.saving?"Attaching\u2026":"Attach model"})]})]})}),(0,_.jsx)(Nn,{open:z.open,onClose:ft,title:"Locate local model",description:`Update the file path for ${z.displayName||"this model"} without changing any attached variants.`,contentClassName:"max-w-xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(He,{label:"Updated GGUF path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(it,{value:z.filePath,onChange:T=>G(M=>({...M,filePath:T.target.value})),placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:St,disabled:z.browseBusy||z.saving,children:z.browseBusy?"Browsing\u2026":"Browse file"})})]})}),z.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:z.error}):null,ke?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ke}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(H,{type:"button",variant:"outline",onClick:ft,disabled:z.saving,children:"Cancel"}),(0,_.jsx)(H,{type:"button",onClick:lo,disabled:!!ke||z.saving,children:z.saving?"Updating\u2026":"Save path"})]})]})}),(0,_.jsx)(Nn,{open:Z.open,onClose:re,title:"Download GGUF from Hugging Face",description:"Public Hugging Face search only for v1. Unsupported or oversized files stay visible with explicit reasons instead of disappearing.",contentClassName:"max-w-4xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,_.jsx)(He,{label:"Search query",stacked:!0,className:"min-w-0 flex-1",children:(0,_.jsx)(it,{value:Z.query,onChange:T=>ue(M=>({...M,query:T.target.value})),placeholder:"qwen q5 gguf"})}),(0,_.jsx)(H,{type:"button",onClick:()=>k(),disabled:Z.searching,children:Z.searching?"Searching\u2026":"Search"})]}),Z.error?(0,_.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-800",children:Z.error}):null,Z.progressLabel?(0,_.jsx)("div",{className:"rounded-xl border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:Z.progressLabel}):null,(0,_.jsx)("div",{className:"space-y-3",children:(Z.results||[]).length===0&&!Z.searching?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"Search for a public GGUF repo or file name to download into the router-managed local model directory."}):(Z.results||[]).map(T=>(0,_.jsx)(NB,{result:T,downloading:Z.downloadingKey===`${T.repo}:${T.file}`,onDownload:Pe},`${T.repo}:${T.file}`))})]})}),(0,_.jsx)(Nn,{open:E.open,onClose:ht,title:E.title,description:"Create a router-visible local model without touching the base GGUF file. Presets seed the context window, while the backend enforces Mac unified-memory activation limits.",contentClassName:"max-w-2xl",children:(0,_.jsx)(WN,{draft:E.draft,baseModel:U,duplicateIds:ze,saveDisabled:!!fe,saveDisabledReason:fe,saving:C,onChange:T=>{let M=String(T?.preset||E?.draft?.preset||"balanced").trim()||"balanced",F=String(E?.draft?.preset||"balanced").trim()||"balanced",ce=Gm(E?.draft?.contextWindow),Je=M!==F&&ce===Du[F]?.contextWindow;N(Vt=>({...Vt,draft:{...T,contextWindow:Je?Du[M]?.contextWindow??T?.contextWindow:T?.contextWindow}}))},onCancel:ht,onSave:yt})})]})}var Qo=B(te(),1);function JN({summary:e,llamacpp:t,ollama:n}){let[r,o]=(0,XN.useState)("ollama");return(0,Qo.jsxs)(bi,{value:r,onValueChange:o,className:"space-y-4",children:[(0,Qo.jsxs)(vi,{children:[(0,Qo.jsx)(Gn,{value:"ollama",children:"Ollama"}),(0,Qo.jsx)(Gn,{value:"llamacpp",children:"llama.cpp"})]}),(0,Qo.jsx)(qn,{value:"ollama",children:(0,Qo.jsx)(jN,{...n,embedded:!0})}),(0,Qo.jsx)(qn,{value:"llamacpp",children:(0,Qo.jsx)(QN,{...t})})]})}var qm=B(xe(),1);var de=B(te(),1);function TB(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function MB(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function ZN(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return TB(e).map((r,o)=>{let a=r.options.map(i=>(0,de.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:MB(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,de.jsxs)(xl,{children:[(0,de.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function OB({className:e=""}){return(0,de.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,de.jsx)("path",{d:"M10 2.75 4.75 5v4.12c0 3.42 2.1 6.58 5.25 7.88 3.15-1.3 5.25-4.46 5.25-7.88V5L10 2.75Z"}),(0,de.jsx)("circle",{cx:"10",cy:"9",r:"1.4"}),(0,de.jsx)("path",{d:"M10 10.4v2.1"})]})}function eT({rows:e,routeOptions:t,webSearchSnapshot:n,ampClientUrl:r,ampClientGlobal:o,routingBusy:a,onToggleGlobalRouting:i,onInboundChange:l,onOutboundChange:s,onCreateEntry:c,onRemoveEntry:d,onOpenWebSearchTab:u,onOpenConfigPath:f,onOpenSecretsPath:p,hasMasterKey:b,disabledReason:m,autosaveState:v}){let[h,g]=(0,qm.useState)(!1),[y,x]=(0,qm.useState)(""),[A,E]=(0,qm.useState)(String(t[0]?.value||"").trim()),N=e.some(W=>String(W?.inbound||"").trim()===String(y||"").trim()&&String(y||"").trim()),C=String(y||"").trim()&&String(A||"").trim()&&!N,O=o?.routedViaRouter===!0,L=String(o?.error||"").trim(),V=!!(b&&r&&!m&&!L),z=Number(n?.configuredProviderCount)||0,G=O&&z===0,Z=m?"warning":v.status==="error"?"danger":v.status==="pending"?"outline":v.status==="saving"?"info":v.savedAt?"success":"outline",ue=m?"Needs review":v.status==="error"?"Save failed":v.status==="pending"?"Unsaved":v.status==="saving"?"saving...":v.savedAt?"Saved":"Ready",q=m||(v.status==="error"?v.message:v.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":v.status==="saving"?"Saving changes...":v.savedAt?`Last saved ${ks(v.savedAt)}.`:"AMP route changes auto-save after valid edits.");async function oe(){!C||await c?.({inbound:y,outbound:A})===!1||(g(!1),x(""),E(String(t[0]?.value||"").trim()))}function ee(){g(!0),x(""),E(String(t[0]?.value||"").trim())}return(0,de.jsx)("div",{className:"grid gap-4",children:(0,de.jsxs)(Lt,{children:[(0,de.jsxs)(Jr,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsx)(Bo,{className:"flex items-center gap-2",children:(0,de.jsx)("span",{children:"Use AMP via LLM Router"})}),(0,de.jsx)(jm,{primaryLabel:"Config file",primaryValue:o?.settingsFilePath||"",onOpenPrimary:f,secondaryLabel:"Secrets file",secondaryValue:o?.secretsFilePath||"",secondaryIcon:(0,de.jsx)(OB,{className:"h-3 w-3"}),onOpenSecondary:p})]}),(0,de.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,de.jsx)(H,{type:"button",size:"sm",variant:O?"outline":void 0,onClick:i,disabled:a!==""||!O&&!V,children:a==="enable"?"Connecting\u2026":a==="disable"?"Disconnecting\u2026":O?"Disconnect":"Connect"})})]}),(0,de.jsxs)(Dt,{className:"space-y-4 p-4",children:[L?(0,de.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:L}):null,!O&&!b?(0,de.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,de.jsx)("code",{children:"masterKey"})," first to connect AMP."]}):null,G?(0,de.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:[(0,de.jsx)("div",{className:"max-w-3xl",children:"AMP is connected, but no alternative web search provider is configured. AMP web search is only available through the shared Web Search tab."}),(0,de.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:u,children:"Open Web Search"})]}):null,m?(0,de.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:m}):(0,de.jsxs)("div",{className:"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,de.jsxs)("div",{children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Route mapping editor"}),(0,de.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Map built-in AMP route keys and wildcard model matches to managed routes."})]}),(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)(_e,{variant:Z,children:ue}),(0,de.jsxs)(_e,{variant:"outline",children:[e.length," routes"]}),(0,de.jsx)(H,{type:"button",size:"sm",onClick:ee,children:"Add custom mapping"})]})]}),(0,de.jsx)("div",{className:"text-xs text-muted-foreground",children:q}),h?(0,de.jsx)("div",{className:"rounded-2xl border border-dashed border-border bg-background/80 p-3",children:(0,de.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Add custom mapping"}),(0,de.jsx)(_e,{variant:"info",children:"Custom"})]}),(0,de.jsxs)("div",{className:"text-xs leading-5 text-muted-foreground",children:["Match a built-in AMP route key like ",(0,de.jsx)("code",{children:"smart"})," or a wildcard such as ",(0,de.jsx)("code",{children:"gpt-*-codex*"}),", then send it to any managed route."]}),(0,de.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,de.jsx)(H,{type:"button",size:"sm",onClick:oe,disabled:!C,children:"Create mapping"}),(0,de.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>g(!1),children:"Close"})]})]}),(0,de.jsx)(He,{label:"Inbound match",hint:"Built-in route key or AMP model pattern",children:(0,de.jsx)(it,{value:y,onChange:W=>x(W.target.value),placeholder:"smart or gpt-*-codex*"})}),(0,de.jsx)(He,{label:"Route target",hint:"Alias or provider/model route in LLM Router",children:(0,de.jsxs)(Xt,{value:A||void 0,onValueChange:E,children:[(0,de.jsx)(Jt,{children:(0,de.jsx)(Zt,{placeholder:"Select local route"})}),(0,de.jsx)(en,{children:ZN(t,{keyPrefix:"amp-route-create",includeHint:!0})})]})})]})}):null,(0,de.jsx)("div",{className:"space-y-2",children:e.map(W=>(0,de.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-3",children:(0,de.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:W.label}),W.isCustom?(0,de.jsx)(_e,{variant:"info",children:"Custom"}):null]}),(0,de.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:W.description}),W.removable?(0,de.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>d(W.id),children:"Remove"}):null]}),(0,de.jsx)(He,{label:"Inbound wildcard",hint:W.defaultMatch?`Default: ${W.defaultMatch}`:"AMP model pattern",children:(0,de.jsx)(zm,{commitOnBlur:!0,value:W.inbound,onValueCommit:j=>l(W.id,j),placeholder:W.defaultMatch||"gpt-*-codex*",onKeyDown:j=>{j.key==="Enter"&&(j.preventDefault(),j.currentTarget.blur())}})}),(0,de.jsx)(He,{label:"Target route",hint:"Alias or provider/model route",children:(0,de.jsxs)(Xt,{value:W.outbound||"__default__",onValueChange:j=>s(W.id,j),children:[(0,de.jsx)(Jt,{children:(0,de.jsx)(Zt,{placeholder:W.removable?"Choose target route":"Use default route"})}),(0,de.jsxs)(en,{children:[W.removable?null:(0,de.jsx)(Ct,{value:"__default__",children:"Use default route"}),ZN(t,{keyPrefix:`amp-route-${W.id}`,includeHint:!0})]})]})})]})},W.id))})]})]})]})})}var La=B(xe(),1);var J=B(te(),1);function kB({className:e=""}){return(0,J.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,J.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,J.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function _B({open:e=!1,onClose:t=()=>{},candidates:n=[],onTestAndAdd:r=async()=>{},disabledReason:o=""}){let[a,i]=(0,La.useState)(""),[l,s]=(0,La.useState)(""),[c,d]=(0,La.useState)(!1),[u,f]=(0,La.useState)(""),p=Array.isArray(n)?n:[],b=p.find(y=>y.providerId===a)||p[0]||null,m=Array.isArray(b?.models)?b.models:[];(0,La.useEffect)(()=>{if(!e){d(!1),f("");return}let y=p[0]?.providerId||"";i(x=>p.some(E=>E.providerId===x)?x:y)},[e,p]),(0,La.useEffect)(()=>{let y=m[0]?.value||"";s(x=>m.some(E=>E.value===x)?x:y)},[m]);let v=wi(a,l),h=e&&!c&&!o&&a&&l;async function g(){if(h){d(!0),f("");try{await r({providerId:a,modelId:l}),t()}catch(y){f(y instanceof Error?y.message:String(y))}finally{d(!1)}}}return(0,J.jsx)(Nn,{open:e,onClose:()=>{c||t()},title:"Add ChatGPT Search Endpoint",description:"Choose a configured OpenAI-compatible GPT route. Test runs a live Responses API request with the native web search tool, then saves the route on success.",contentClassName:"max-h-[92vh] max-w-3xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,J.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,J.jsx)(H,{type:"button",variant:"ghost",onClick:t,disabled:c,children:"Cancel"}),(0,J.jsx)(H,{type:"button",onClick:()=>{g()},disabled:!h,children:c?"Testing\u2026":"Test connection"})]}),children:(0,J.jsxs)("div",{className:"space-y-4",children:[o?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:o}):null,!o&&p.length===0?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:"No configured OpenAI-compatible GPT providers are available yet. Add a provider with a GPT model first."}):null,p.length>0?(0,J.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,J.jsx)(He,{label:"Provider",hint:"Configured provider or ChatGPT subscription",stacked:!0,children:(0,J.jsxs)(Xt,{value:a||void 0,onValueChange:i,disabled:c||!!o,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose provider"})}),(0,J.jsx)(en,{children:p.map(y=>(0,J.jsx)(Ct,{value:y.providerId,children:y.providerLabel},y.providerId))})]})}),(0,J.jsx)(He,{label:"GPT model",hint:"Only GPT models on OpenAI-compatible routes are listed",stacked:!0,children:(0,J.jsxs)(Xt,{value:l||void 0,onValueChange:s,disabled:c||!!o||m.length===0,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose model"})}),(0,J.jsx)(en,{children:m.map(y=>(0,J.jsx)(Ct,{value:y.value,children:y.label},y.routeId))})]})})]}):null,v?(0,J.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,J.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Saved route id"}),(0,J.jsx)("div",{className:"mt-1 text-sm font-medium text-foreground",children:v}),(0,J.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:"This route stores only the provider/model reference. No separate API key or quota is saved here."})]}):null,u?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:u}):null]})})}function tT({webSearchConfig:e,webSearchProviders:t,hostedSearchCandidates:n,onWebSearchStrategyChange:r,onWebSearchProviderChange:o,onWebSearchProviderMove:a,onRemoveWebSearchProvider:i,onAddHostedSearchEndpoint:l,disabledReason:s,autosaveState:c}){let[d,u]=(0,La.useState)(!1),f=String(e?.strategy||"ordered").trim()==="quota-balance"?"quota-balance":"ordered",p=Array.isArray(n)&&n.some(m=>Array.isArray(m?.models)&&m.models.length>0),b=s||(c.status==="error"?c.message:c.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":c.status==="saving"?"Saving changes...":c.savedAt?`Last saved ${ks(c.savedAt)}.`:"");return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(Lt,{children:[(0,J.jsxs)(Jr,{className:"flex flex-col gap-4 p-4 pb-0 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsxs)("div",{className:"space-y-1",children:[(0,J.jsx)(Bo,{children:"Web Search"}),(0,J.jsx)(pi,{className:"text-xs leading-5",children:"Shared web search routing for AMP and other router-managed tools."}),b?(0,J.jsx)("div",{className:"text-xs text-muted-foreground",children:b}):null]}),(0,J.jsxs)("div",{className:"flex w-full shrink-0 flex-wrap items-end justify-end gap-3 xl:w-auto",children:[(0,J.jsxs)("div",{className:"min-w-[12rem] space-y-1",children:[(0,J.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing strategy"}),(0,J.jsxs)(Xt,{value:f,onValueChange:r,disabled:!!s,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose strategy"})}),(0,J.jsx)(en,{children:bC.map(m=>(0,J.jsx)(Ct,{value:m.value,children:m.label},m.value))})]})]}),(0,J.jsxs)(H,{type:"button",variant:"outline",className:"gap-2",onClick:()=>u(!0),disabled:!!s||!p,children:[(0,J.jsx)(kB,{className:"h-3.5 w-3.5"}),(0,J.jsx)("span",{children:"Endpoint"})]})]})]}),(0,J.jsx)(Dt,{className:"space-y-4 p-4",children:(0,J.jsx)("div",{className:"space-y-3",children:(t||[]).map(m=>{if(m.kind==="hosted"){let g=m.runtimeState&&m.runtimeState.ready===!1?"This provider/model route is no longer available or is not OpenAI-compatible.":"";return(0,J.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,J.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,J.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsxs)("div",{className:"min-w-0",children:[(0,J.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,J.jsx)(wb,{active:m.active}),(0,J.jsx)("div",{className:"text-sm font-medium text-foreground",children:m.label}),(0,J.jsx)(_e,{variant:"outline",children:"GPT Search"})]}),(0,J.jsx)("div",{className:"mt-1 text-xs break-all text-muted-foreground",children:m.routeId}),(0,J.jsx)("div",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:"Uses the provider's native OpenAI Responses web search tool. No local API key or quota is stored here."})]}),(0,J.jsxs)("div",{className:"flex items-center gap-2 self-start",children:[(0,J.jsxs)("div",{className:"flex items-center gap-2 rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,J.jsx)(Oa,{disabled:!!s||m.displayIndex<=0,label:`Move ${m.routeId} up`,onClick:()=>a(m.id,"up")}),(0,J.jsx)(Sl,{disabled:!!s||m.displayIndex>=m.displayCount-1,label:`Move ${m.routeId} down`,onClick:()=>a(m.id,"down")})]}),(0,J.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>i(m.id),disabled:!!s,children:"Remove"})]})]}),g?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:g}):null]})},m.key)}let v=m.credentialField,h=String(m?.credentialValue||"").trim();return(0,J.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,J.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,J.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsx)("div",{className:"min-w-0",children:(0,J.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,J.jsx)(wb,{active:m.active}),(0,J.jsx)("div",{className:"text-sm font-medium text-foreground",children:m.label})]})}),(0,J.jsxs)("div",{className:"flex items-center gap-2 self-start rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,J.jsx)(Oa,{disabled:!!s||m.displayIndex<=0,label:`Move ${m.label} up`,onClick:()=>a(m.id,"up")}),(0,J.jsx)(Sl,{disabled:!!s||m.displayIndex>=m.displayCount-1,label:`Move ${m.label} down`,onClick:()=>a(m.id,"down")})]})]}),(0,J.jsxs)("div",{className:"grid gap-3 lg:grid-cols-[minmax(0,0.9fr)_minmax(0,1.35fr)]",children:[(0,J.jsx)(He,{label:m.credentialLabel,hint:m.credentialField==="url"?"Required to enable this backend.":"Required to enable this backend. Stored in router config.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(Hs,{buffered:!0,value:h,placeholder:m.credentialPlaceholder,onValueChange:g=>o(m.id,v,g),disabled:!!s,isEnvVar:m.credentialField==="url"})}),(0,J.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[(0,J.jsx)(He,{label:"Result per call",hint:"Empty keeps the default of 5.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(Pm,{value:m.resultPerCallInput,placeholder:"Default: 5",allowEmptyCommit:!0,onValueChange:g=>o(m.id,"count",g),disabled:!!s})}),(0,J.jsx)(He,{label:"Monthly limit",hint:"0 keeps quotas self-managed.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(Pm,{value:String(m.limit||0),onValueChange:g=>o(m.id,"limit",g),disabled:!!s})}),(0,J.jsx)(He,{label:"Synced remaining",hint:"Adjust after manual upstream sync.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(Pm,{value:String(m.remaining||0),onValueChange:g=>o(m.id,"remaining",g),disabled:!!s})})]})]})]})},m.key)})})})]}),(0,J.jsx)(_B,{open:d,onClose:()=>u(!1),candidates:n,onTestAndAdd:l,disabledReason:s})]})}var Bu=B(xe(),1);var S=B(te(),1);function LB(e=""){let t=String(e||"").trim();if(!t)return{};let n=zf(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function DB(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...LB(o)}));return n}function BB(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function IB(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function zB(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return BB(e).map((r,o)=>{let a=r.options.map(i=>(0,S.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:IB(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,S.jsxs)(xl,{children:[(0,S.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function PB({className:e=""}){return(0,S.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,S.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,S.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,S.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,S.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function rT({bindingValue:e="",thinkingLevel:t="",configFilePath:n="",endpointUrl:r=""}={}){let o=String(e||"").trim(),a=String(t||"").trim(),i=String(n||"").trim(),l=String(r||"").trim(),s=If(o),c=s?"Mode: Inherit Codex model":o?`Mode: Pinned to ${o}`:"Mode: Choose a route",d=s?{variant:"success",title:"Inherit mode keeps Codex-native model picks intact.",body:(0,S.jsxs)(S.Fragment,{children:["Codex CLI still chooses its own model name. Create a same-name alias in the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab so LLM Router can resolve that name to the real upstream target you want."]})}:o?{variant:"info",title:"Pinned mode forces one router target.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router writes ",(0,S.jsxs)("code",{children:["model=",o]})," into Codex CLI config. That is the simplest setup when every Codex session should use one managed route or alias."]})}:{variant:"warning",title:"Choose your model strategy before you connect.",body:(0,S.jsxs)(S.Fragment,{children:["Pick ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," if Codex should keep using its built-in model names, or pick one managed route/alias if you want a single fixed target."]})};return{title:"Codex CLI guide",description:"Quick setup for routing Codex CLI through LLM Router while keeping model routing easy to inspect and change later.",badges:[{label:c,variant:s?"success":o?"info":"outline"},{label:a?`Thinking: ${a}`:"Thinking: Codex default",variant:"outline"},{label:i?"Config file detected":"User config: ~/.codex/config.toml",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Codex CLI at LLM Router",body:l?(0,S.jsxs)(S.Fragment,{children:["When connected, Codex sends requests to ",(0,S.jsx)("code",{children:l}),". LLM Router then handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Codex CLI so it talks to LLM Router instead of a provider directly."]})},{eyebrow:"2. Route",title:"Choose between inherit and pinned mode",body:s?(0,S.jsxs)(S.Fragment,{children:["Keep Codex model names such as ",(0,S.jsx)("code",{children:"gpt-5.4"}),", then create matching aliases in LLM Router, for example ",(0,S.jsx)("code",{children:"gpt-5.4"})," -> ",(0,S.jsx)("code",{children:"demo/gpt-4o-mini"}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Select one managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," when you want every Codex request to land on the same router target."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," writes Codex CLI ",(0,S.jsx)("code",{children:"model_reasoning_effort"})," with the official values ",(0,S.jsx)("code",{children:"minimal"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", ",(0,S.jsx)("code",{children:"high"}),", or ",(0,S.jsx)("code",{children:"xhigh"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch the Codex CLI config file and router base URL."]}),s?(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," on ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"}),", then create aliases that match the Codex model names you actually use."]}):o?(0,S.jsxs)(S.Fragment,{children:["Your current default is pinned to ",(0,S.jsx)("code",{children:o}),". Change it only when you want Codex to use a different managed route or alias."]}):(0,S.jsxs)(S.Fragment,{children:["Choose either ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," or one managed route/alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," before you start using Codex through the router."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"; leave it unset to keep Codex CLI defaults."]})]},{title:"Choose the right model strategy",items:[(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," when you want Codex-native model names and model-specific UI/options to remain visible."]}),(0,S.jsx)(S.Fragment,{children:"Use a fixed route or alias when your team wants one centrally managed target regardless of what Codex would otherwise choose."}),(0,S.jsx)(S.Fragment,{children:"If Codex-specific options disappear after pinning a route, switch back to inherit mode and route those same model names through aliases instead."})]},{title:"Where these settings land",items:[i?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Codex CLI usually stores user settings in ",(0,S.jsx)("code",{children:"~/.codex/config.toml"}),". Trusted projects can also add overrides in ",(0,S.jsx)("code",{children:".codex/config.toml"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings in this panel map to Codex CLI ",(0,S.jsx)("code",{children:"model"})," and ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Codex CLI Config File"})," whenever you want to inspect the exact generated config."]})]},{title:"Quick verify",items:[(0,S.jsx)(S.Fragment,{children:"Open the config file from this page and confirm the values match the mode you intended."}),(0,S.jsx)(S.Fragment,{children:"Start Codex CLI and run a small prompt. If inherit mode is on, make sure the Codex model you selected has a same-name alias in LLM Router."}),(0,S.jsxs)(S.Fragment,{children:["If requests fail after switching models, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first because the alias behind that model name may be missing or pointed at the wrong target."]})]}]}}function oT({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.primaryModel||"").trim(),o=String(e?.defaultOpusModel||"").trim(),a=String(e?.defaultSonnetModel||"").trim(),i=String(e?.defaultHaikuModel||"").trim(),l=String(e?.subagentModel||"").trim(),s=aC(e?.thinkingLevel),c=String(t||"").trim(),d=String(n||"").trim(),u=[r,o,a,i,l,s].filter(Boolean).length,f=r?{variant:"info",title:"Primary model override is active.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router is currently writing ",(0,S.jsxs)("code",{children:["ANTHROPIC_MODEL=",r]}),". Leave that field blank if you want Claude Code to keep choosing its own primary model."]})}:u>0?{variant:"info",title:"Only filled fields are overridden.",body:(0,S.jsx)(S.Fragment,{children:"Claude Code continues to inherit its normal defaults for every blank field. This is useful when you only want to steer alias models, subagents, or effort level through LLM Router."})}:{variant:"success",title:"Blank fields are a valid setup.",body:(0,S.jsx)(S.Fragment,{children:"You do not need to fill every binding. Leave fields empty unless you want LLM Router to override that specific Claude Code setting."})};return{title:"Claude Code guide",description:"Quick setup for routing Claude Code through LLM Router while keeping only the model and effort level overrides you actually want.",badges:[{label:u>0?`${u} override${u===1?"":"s"} active`:"No router overrides",variant:u>0?"info":"outline"},{label:s?`Effort: ${s}`:"Effort: Claude adaptive default",variant:"outline"},{label:c?"Settings file detected":"Settings scope: local/project/user",variant:"outline"}],callout:f,highlights:[{eyebrow:"1. Connect",title:"Point Claude Code at the router",body:d?(0,S.jsxs)(S.Fragment,{children:["When connected, Claude Code sends requests to ",(0,S.jsx)("code",{children:d}),". LLM Router then handles upstream auth, route selection, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code so it uses the router Anthropic endpoint instead of a provider directly."]})},{eyebrow:"2. Override",title:"Set only the bindings you need",body:(0,S.jsxs)(S.Fragment,{children:["Leave fields blank to inherit Claude Code defaults. Fill ",(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),", the Opus/Sonnet/Haiku defaults, or ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"})," only when you want LLM Router to manage those values."]})},{eyebrow:"3. Effort",title:"Set thinking effort level",body:(0,S.jsxs)(S.Fragment,{children:["The ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," dropdown writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile. If the shell profile cannot be updated, ",(0,S.jsx)("code",{children:"effortLevel"})," is set in ",(0,S.jsx)("code",{children:"settings.json"}),' as a fallback (only "high" is supported there).']})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code toward the router and keep provider credentials centralized inside LLM Router."]}),(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Current model override"})," empty unless you explicitly want to replace Claude Code's own main model selection."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Default Opus"}),", ",(0,S.jsx)("span",{className:"font-medium",children:"Default Sonnet"}),", and ",(0,S.jsx)("span",{className:"font-medium",children:"Default Haiku"})," when you want Claude Code's built-in alias names to resolve to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Sub-agent model"})," when background workers or helper agents should run on a different route than the main session."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," to set ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," in your shell profile; leave it unset to keep Claude Code's adaptive default. The ",(0,S.jsx)("code",{children:"effortLevel"})," key in ",(0,S.jsx)("code",{children:"settings.json"}),' (only "high") acts as a fallback when the shell profile cannot be updated.']})]},{title:"What each binding controls",items:[(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),": overrides the main model for the active Claude Code session."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_OPUS_MODEL"}),", ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_SONNET_MODEL"}),", and ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_HAIKU_MODEL"}),": remap Claude Code's built-in alias names to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),": routes subagents and background workers to a specific managed model."]}),s?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": currently set to ",(0,S.jsx)("span",{className:"font-medium",children:s})," in your shell profile."]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": stays unset unless you choose an effort level."]})]},{title:"Settings scope and precedence",items:[(0,S.jsxs)(S.Fragment,{children:["Claude Code settings apply in this order: ",(0,S.jsx)("code",{children:"managed-settings.json"}),", CLI arguments, ",(0,S.jsx)("code",{children:".claude/settings.local.json"}),", ",(0,S.jsx)("code",{children:".claude/settings.json"}),", then ",(0,S.jsx)("code",{children:"~/.claude/settings.json"}),"."]}),c?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:c}),"."]}):(0,S.jsx)(S.Fragment,{children:"Claude Code can read from project-local, project-shared, or user settings files depending on what exists in your environment."}),(0,S.jsx)(S.Fragment,{children:"If a value seems ignored, check whether a higher-precedence file or command-line flag is overriding it."})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"env"})," block contains only the overrides you meant to set."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Claude Code and test both the main session and any subagents if you changed ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["If thinking behavior is not what you expected, remember this UI writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile; clearing the field returns control to Claude Code's own default behavior."]})]}]}}function aT({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.defaultModel||"").trim(),o=String(e?.missionOrchestratorModel||"").trim(),a=String(e?.missionWorkerModel||"").trim(),i=String(e?.missionValidatorModel||"").trim(),l=iC(e?.reasoningEffort),s=String(t||"").trim(),c=String(n||"").trim(),d=r||o||a||i?{variant:"info",title:"Factory defaults are set.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries, sets each managed provider to ",(0,S.jsx)("code",{children:"openai"})," or ",(0,S.jsx)("code",{children:"anthropic"})," based on the routed model format, and writes separate defaults for normal sessions and Missions."]})}:{variant:"success",title:"Factory Droid connected via managed custom models.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries pointing at the gateway. Set normal or Mission defaults below, or use Factory Droid's ",(0,S.jsx)("code",{children:"/model"})," command to pick the routed model at runtime."]})};return{title:"Factory Droid guide",description:"Quick setup for routing Factory Droid through LLM Router via router-managed custom models.",badges:[{label:r?`Normal: ${r}`:"Normal: Factory default",variant:r?"info":"outline"},{label:o?`Orchestrator: ${o}`:"Orchestrator: Factory default",variant:o?"info":"outline"},{label:a?`Worker: ${a}`:"Worker: Factory default",variant:a?"info":"outline"},{label:i?`Validator: ${i}`:"Validator: Factory default",variant:i?"info":"outline"},{label:l?`Reasoning: ${l}`:"Reasoning: Droid default",variant:"outline"},{label:s?"Settings file detected":"User config: ~/.factory/settings.json",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Factory Droid at LLM Router",body:c?(0,S.jsxs)(S.Fragment,{children:["When connected, Factory Droid sends requests to ",(0,S.jsx)("code",{children:c}),". LLM Router handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject router-managed custom models into Factory Droid settings."]})},{eyebrow:"2. Route",title:"Set normal and Mission defaults",body:(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," for regular sessions, then set separate Mission bindings for the orchestrator, worker, and validator roles."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," writes Factory Droid ",(0,S.jsx)("code",{children:"reasoningEffort"}),". Values: ",(0,S.jsx)("code",{children:"off"}),", ",(0,S.jsx)("code",{children:"none"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", or ",(0,S.jsx)("code",{children:"high"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject a managed ",(0,S.jsx)("code",{children:"customModels"})," entry into ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),r?(0,S.jsxs)(S.Fragment,{children:["Your normal-session default is ",(0,S.jsx)("code",{children:r}),". Change it any time from this panel."]}):(0,S.jsxs)(S.Fragment,{children:["Choose a managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," to set the default Factory session route."]}),o?(0,S.jsxs)(S.Fragment,{children:["Your Mission orchestrator default is ",(0,S.jsx)("code",{children:o}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission orchestrator"})," when mission planning should use a specific route."]}),a?(0,S.jsxs)(S.Fragment,{children:["Your Mission worker default is ",(0,S.jsx)("code",{children:a}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission worker"})," when implementation workers should use a specific route."]}),i?(0,S.jsxs)(S.Fragment,{children:["Your Mission validator default is ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission validator"})," when validation workers should use a specific route."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"reasoningEffort"}),"; leave it unset to keep Factory Droid defaults."]})]},{title:"How it works",items:[(0,S.jsxs)(S.Fragment,{children:["LLM Router adds router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries with ",(0,S.jsx)("code",{children:'provider: "openai"'})," or ",(0,S.jsx)("code",{children:'provider: "anthropic"'}),", plus the matching gateway base URL for that request format."]}),(0,S.jsxs)(S.Fragment,{children:["Each injected entry has a ",(0,S.jsx)("code",{children:"_llmRouterManaged"})," marker so it can be cleanly updated or removed without touching your other custom models."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings map to both the legacy root ",(0,S.jsx)("code",{children:"model"})," field and current Factory settings such as ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"}),", ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),", and ",(0,S.jsx)("code",{children:"missionModelSettings"}),"."]}),(0,S.jsx)(S.Fragment,{children:"Disconnecting removes only the router-managed entries and restores any backed-up session, Mission, or reasoning settings."})]},{title:"Where these settings land",items:[s?(0,S.jsxs)(S.Fragment,{children:["This page is managing ",(0,S.jsx)("code",{children:s}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Factory Droid stores user settings in ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The normal-session binding maps to ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"})," and the legacy root ",(0,S.jsx)("code",{children:"model"})," field."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission orchestrator binding maps to ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission worker binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.workerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission validator binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.validationWorkerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Config File"})," to inspect the generated settings."]})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"customModels"})," array contains the LLM Router entry."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Factory Droid and run a small prompt. Use ",(0,S.jsx)("code",{children:"/model"})," to confirm the routed model is available."]}),(0,S.jsxs)(S.Fragment,{children:["If requests fail, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first to ensure the alias behind your model exists."]})]}]}}function UB(e="outline"){switch(e){case"success":return"border-emerald-200 bg-emerald-50";case"warning":return"border-amber-200 bg-amber-50";case"danger":return"border-rose-200 bg-rose-50";case"info":return"border-sky-200 bg-sky-50";default:return"border-border/70 bg-background/70"}}function nT(e="outline"){switch(e){case"success":return"text-emerald-950";case"warning":return"text-amber-950";case"danger":return"text-rose-950";case"info":return"text-sky-950";default:return"text-foreground"}}function jB({guideContent:e}){let[t,n]=(0,Bu.useState)(!1),r=String(e?.title||"").trim()||"Guide",o=String(e?.description||"").trim(),a=Array.isArray(e?.badges)?e.badges.filter(Boolean):[],i=Array.isArray(e?.highlights)?e.highlights.filter(Boolean):[],l=Array.isArray(e?.sections)?e.sections.filter(Boolean):[],s=e?.callout&&e.callout.body?e.callout:null,c=s?.variant||"outline";return i.length===0&&l.length===0&&!s?null:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(H,{type:"button",size:"sm",variant:"outline","aria-label":r,onClick:()=>n(!0),children:"Guide"}),(0,S.jsx)(Nn,{open:t,onClose:()=>n(!1),title:r,description:o,contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,S.jsxs)("div",{className:"space-y-4",children:[a.length>0?(0,S.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:a.map((d,u)=>(0,S.jsx)(_e,{variant:d?.variant||"outline",children:d?.label},`${r}-badge-${u}`))}):null,s?(0,S.jsxs)("div",{className:Q("rounded-2xl border p-4",UB(c)),children:[(0,S.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,S.jsx)(_e,{variant:["success","warning","danger","info"].includes(c)?c:"outline",children:c==="success"?"Current best fit":c==="warning"?"Needs attention":c==="info"?"Current behavior":"Guide note"}),(0,S.jsx)("div",{className:Q("text-sm font-medium",nT(c)),children:s.title})]}),(0,S.jsx)("div",{className:Q("mt-3 text-sm leading-6",nT(c)),children:s.body})]}):null,i.length>0?(0,S.jsx)("div",{className:Q("grid gap-4",i.length>2?"md:grid-cols-3":"md:grid-cols-2"),children:i.map((d,u)=>(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[d?.eyebrow?(0,S.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:d.eyebrow}):null,(0,S.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:d?.title}),(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d?.body})]},`${r}-highlight-${u}`))}):null,l.map((d,u)=>{let f=Array.isArray(d?.items)?d.items.filter(Boolean):[];return(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:d?.title}),d?.description?(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.description}):null,f.length>0?(0,S.jsx)("div",{className:"mt-3 space-y-3",children:f.map((p,b)=>(0,S.jsxs)("div",{className:"flex gap-3 text-sm leading-6 text-foreground",children:[(0,S.jsx)("span",{className:"mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-foreground/50"}),(0,S.jsx)("div",{className:"min-w-0",children:p})]},`${r}-section-${u}-item-${b}`))}):null]},`${r}-section-${u}`)})]})})]})}function VB({field:e,routeOptions:t,disabled:n=!1,onValueChange:r}){let o=String(e?.value||"").trim()||(e?.allowUnset?"__unset__":""),a=(0,Bu.useMemo)(()=>{let i=e?.usesRouteOptions===!1?[]:t,l=Array.isArray(e?.options)?e.options:[],s=Array.isArray(e?.extraOptions)?e.extraOptions:[];return e?.allowUnset?[{value:"__unset__",label:"Inherit tool default",hint:""},...s,...l,...i]:[...s,...l,...i]},[e?.allowUnset,e?.extraOptions,e?.options,e?.usesRouteOptions,t]);return(0,S.jsxs)(Xt,{value:o,onValueChange:r,disabled:n||a.length===0,children:[(0,S.jsx)(Jt,{children:(0,S.jsx)(Zt,{placeholder:e.placeholder||"Select a route"})}),(0,S.jsx)(en,{children:a.length>0?zB(a,{keyPrefix:e.id||"binding-option"}):(0,S.jsx)(Ct,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})}function Wm({toolName:e,toolState:t,endpointUrl:n,routeOptions:r,connectionBusy:o,bindingBusy:a,onToggleRouting:i,onBindingChange:l,hasMasterKey:s,disabledReason:c,onOpenPrimaryPath:d,onOpenSecondaryPath:u,secondaryPathLabel:f="Backup file",secondaryPathIcon:p=(0,S.jsx)(PB,{className:"h-3 w-3"}),bindingFields:b=[],guideContent:m=null}){let v=t?.routedViaRouter===!0,h=String(t?.error||"").trim(),g=!!(s&&n&&!c&&!h),y=(0,Bu.useMemo)(()=>{let A=new Set(["__unset__"]);for(let E of b){for(let N of Array.isArray(E?.extraOptions)?E.extraOptions:[]){let C=String(N?.value||"").trim();C&&A.add(C)}for(let N of Array.isArray(E?.options)?E.options:[]){let C=String(N?.value||"").trim();C&&A.add(C)}}return b.filter(E=>E?.usesRouteOptions!==!1).map(E=>String(E?.value||"").trim()).filter(E=>E&&!A.has(E))},[b]),x=DB(r,y);return(0,S.jsxs)(Lt,{children:[(0,S.jsxs)(Jr,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,S.jsxs)("div",{className:"space-y-2",children:[(0,S.jsx)(Bo,{className:"flex items-center gap-2",children:(0,S.jsx)("span",{children:`Use ${e} via LLM Router`})}),(0,S.jsx)(jm,{primaryLabel:"Config file",primaryValue:t?.configFilePath||t?.settingsFilePath||"",onOpenPrimary:d,secondaryLabel:f,secondaryValue:t?.backupFilePath||"",secondaryIcon:p,onOpenSecondary:u})]}),(0,S.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[m?(0,S.jsx)(jB,{guideContent:m}):null,(0,S.jsx)(H,{type:"button",size:"sm",variant:v?"outline":void 0,onClick:i,disabled:o!==""||!v&&!g,children:o==="enable"?"Connecting\u2026":o==="disable"?"Disconnecting\u2026":v?"Disconnect":"Connect"})]})]}),(0,S.jsxs)(Dt,{className:"space-y-4 p-4",children:[h?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:h}):null,!v&&!s?(0,S.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,S.jsx)("code",{children:"masterKey"})," first to connect ",e,"."]}):null,c?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:c}):null,(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,S.jsx)("div",{children:(0,S.jsxs)("div",{children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Model bindings"}),(0,S.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Prefer LLM Router aliases here so you can retarget models later from the Alias & Fallback tab."})]})}),b.length===0?(0,S.jsx)("div",{className:"mt-4 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"No tool bindings are available yet."}):(0,S.jsx)("div",{className:"mt-4 grid gap-3",children:b.map(A=>(0,S.jsxs)("div",{className:"rounded-xl border border-border/70 bg-background/80 p-3",children:[(0,S.jsxs)("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:A.label}),(0,S.jsx)(_e,{variant:"outline",children:A.envKey})]}),(0,S.jsx)("div",{className:"mb-3 text-xs leading-5 text-muted-foreground",children:A.description}),(0,S.jsx)(VB,{field:A,routeOptions:x,disabled:A.standaloneWhenDisconnected?a:!v||a,onValueChange:E=>l(A.id,E==="__unset__"?"":E)})]},A.id))})]})]})]})}var Ot=B(te(),1);function iT({logs:e,activityLogEnabled:t=!0,activityFilter:n="usage",busyAction:r="",onActivityFilterChange:o,onToggleEnabled:a,onClear:i}){let l=Array.isArray(e)?e:[],s=l.filter(d=>n==="all"?!0:gy(d)===n),c=ou[n]||ou.usage;return(0,Ot.jsxs)(Lt,{children:[(0,Ot.jsx)(Jr,{children:(0,Ot.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,Ot.jsxs)("div",{className:"space-y-1",children:[(0,Ot.jsx)(Bo,{children:"Activity"}),(0,Ot.jsx)(pi,{children:t?"Router actions, request fallbacks, and runtime issues stream here.":"Activity logging is paused. Re-enable it to capture router actions, request fallbacks, and runtime issues."})]}),(0,Ot.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,Ot.jsx)("div",{className:"min-w-[13rem]",children:(0,Ot.jsxs)(Xt,{value:n,onValueChange:o,searchEnabled:!1,children:[(0,Ot.jsx)(Jt,{children:(0,Ot.jsx)(Zt,{placeholder:"Filter category"})}),(0,Ot.jsx)(en,{children:lC.map(d=>(0,Ot.jsx)(Ct,{value:d.value,children:d.label},d.value))})]})}),(0,Ot.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:i,disabled:r!==""||!e?.length,children:r==="clear"?"Clearing\u2026":"Clear log"}),(0,Ot.jsx)(H,{type:"button",size:"sm",variant:t?"outline":"default",onClick:a,disabled:r!=="",children:r==="toggle"?"Updating\u2026":t?"Disable log":"Enable log"})]})]})}),(0,Ot.jsx)(Dt,{children:(0,Ot.jsx)("div",{className:"max-h-[32rem] space-y-3 overflow-auto pr-1",children:s.length?s.map(d=>{let u=gy(d),f=ou[u]||ou.usage;return(0,Ot.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,Ot.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,Ot.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Ot.jsx)("span",{className:Q("inline-flex h-2.5 w-2.5 rounded-full ring-4",cy[d.level]||cy.info)}),(0,Ot.jsx)(_e,{variant:f.badgeVariant,children:f.label}),(0,Ot.jsx)("span",{className:"text-sm font-medium text-foreground",children:d.message})]}),(0,Ot.jsx)("span",{className:"text-xs text-muted-foreground",children:ks(d.time)})]}),d.detail?(0,Ot.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.detail}):null]},d.id)}):l.length?(0,Ot.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No ",c.emptyLabel," activity matches the current filter. Switch the dropdown to inspect the hidden categories."]}):(0,Ot.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"Activity is quiet. Save config changes or start the router to populate this stream."})})})]})}var Bt=B(xe(),1);var Mb=B(xe(),1);var bn=B(te(),1);function lT({rows:e,onChange:t}){let n=Xf(e),r=n.length>0?n:[{name:"",value:""}];function o(l,s,c){s==="name"&&kC(r,c,l)||t(r.map((d,u)=>u===l?{...d,[s]:c}:d))}function a(){t([...r,{name:"",value:""}])}function i(l){let s=r.filter((c,d)=>d!==l);t(s.length>0?s:[{name:"",value:""}])}return(0,bn.jsxs)("div",{className:"space-y-2",children:[r.map((l,s)=>(0,bn.jsxs)("div",{className:"grid gap-2 md:grid-cols-[minmax(0,0.9fr)_minmax(0,1.3fr)_auto]",children:[(0,bn.jsx)(it,{value:l.name,onChange:c=>o(s,"name",c.target.value),placeholder:s===0?"User-Agent":"Header name"}),(0,bn.jsx)(it,{value:l.value,onChange:c=>o(s,"value",c.target.value),placeholder:s===0?no:"Header value"}),(0,bn.jsx)(H,{type:"button",variant:"ghost",onClick:()=>i(s),children:"Remove"})]},`header-row-${s}`)),(0,bn.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs text-muted-foreground",children:[(0,bn.jsx)("span",{children:"User-Agent is included by default. Add more only when a provider needs them."}),(0,bn.jsx)(H,{type:"button",variant:"outline",onClick:a,children:"Add custom header"})]})]})}function sT({providerId:e,values:t,onChange:n}){let r=(t||[]).map(u=>String(u||"").trim()).filter(Boolean),o=$s(r),a=(0,Mb.useRef)(""),i=(0,Mb.useRef)(null);function l(u){n((t||[]).filter(f=>f!==u))}function s(u,f){if(!u||!f||u===f)return;let p=[...t||[]],b=p.indexOf(u),m=p.indexOf(f);if(b===-1||m===-1)return;let[v]=p.splice(b,1);p.splice(m,0,v),n(p)}function c(u){n(Ts(t||[],u,f=>String(f||"").trim()))}function d(){a.current="",Na(i.current,!1),i.current=null}return(0,bn.jsxs)("div",{className:"space-y-2",children:[(0,bn.jsx)("div",{className:"space-y-2 rounded-xl border border-input bg-background/80 px-3 py-3",children:r.length>0?r.map((u,f)=>(0,bn.jsxs)("div",{ref:o(u),"data-reorder-row":"true",onDragOver:p=>{a.current&&a.current!==u&&(p.preventDefault(),p.dataTransfer.dropEffect="move")},onDrop:p=>{p.preventDefault();let b=p.dataTransfer.getData("text/plain")||a.current;d(),s(b,u)},className:Q("grid grid-cols-[auto_auto_minmax(0,1fr)_auto] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3"),children:[(0,bn.jsx)("span",{className:"flex h-8 w-8 cursor-grab items-center justify-center rounded-full text-muted-foreground",draggable:!0,onDragStart:p=>{let b=Ms(p.currentTarget);p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",u),b&&typeof p.dataTransfer?.setDragImage=="function"&&p.dataTransfer.setDragImage(b,20,20),d(),a.current=u,i.current=b,Na(b,!0)},onDragEnd:d,title:"Drag to reorder",children:(0,bn.jsx)(Es,{className:"h-4 w-4"})}),(0,bn.jsx)(Oa,{disabled:f===0,label:f===0?"Already first":`Move ${e}/${u} up`,onClick:()=>c(u)}),(0,bn.jsxs)("span",{className:"truncate text-sm font-medium text-foreground",children:[e,"/",u]}),(0,bn.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground",type:"button",onMouseDown:p=>p.preventDefault(),onClick:()=>l(u),children:"\xD7"})]},u)):(0,bn.jsxs)("span",{className:"block px-1 text-xs text-muted-foreground",children:["Leave it empty for now, or add models to back the fixed ",(0,bn.jsx)("code",{children:"default"})," route. An empty default route returns 500 until you add a working model."]})}),(0,bn.jsx)("div",{className:"text-xs text-muted-foreground",children:"Drag rows to change the preferred order, use the arrow to move a model earlier, or remove any models you do not want in this route."})]})}var P=B(te(),1);function Ob({baseConfig:e,onApplyDraft:t,onValidateDraft:n,onSaveDraft:r,onSaveAndStart:o,seedMode:a="blank",mode:i="add",targetProviderId:l="",defaultProviderUserAgent:s=no,framed:c=!0,showHeader:d=!0}){let[u,f]=(0,Bt.useState)(0),[p,b]=(0,Bt.useState)(""),[m,v]=(0,Bt.useState)(()=>GC(e,{seedMode:a,targetProviderId:l,defaultProviderUserAgent:s})),[h,g]=(0,Bt.useState)(null),[y,x]=(0,Bt.useState)(""),[A,E]=(0,Bt.useState)({}),[N,C]=(0,Bt.useState)(!1),[O,L]=(0,Bt.useState)(null),[V,z]=(0,Bt.useState)(""),[G,Z]=(0,Bt.useState)(!1),[ue,q]=(0,Bt.useState)(""),oe=(0,Bt.useRef)(!0),ee=(0,Bt.useRef)(""),W=(0,Bt.useRef)(Math.random().toString(36).slice(2,10)),j=i==="edit",Ie=!j&&a==="blank"&&tm(e),ne=`llr-qs-endpoint-${W.current}`,Ve=`llr-qs-endpoint-input-${W.current}`,ae=`llr-qs-credential-${W.current}`,Se=`llr-qs-credential-input-${W.current}`,ze=[{title:"Provider",detail:"Choose API Key or OAuth first, then enter the provider details needed for that connection type."},{title:"Models",detail:"Add model ids, then configure one or more rate limits for all models or selected models. API Key providers are tested before continue."},{title:"Default",detail:"Order the models behind the fixed `default` route before you finish."}],U=rr(m.modelIds,m.modelDraft),fe=em(m.aliasModelIds,U),ve=m.connectionType==="api"?rr(m.endpoints,m.endpointDraft):[],ke=(0,Bt.useMemo)(()=>({...m,endpoints:ve,modelIds:U,aliasModelIds:fe,rateLimitRows:br(m.rateLimitRows)}),[m,ve,U,fe]),we=(0,Bt.useMemo)(()=>Jf(m.headerRows||[]),[m.headerRows]),Ne=String(m.apiKeyEnv||"").trim(),qe=(0,Bt.useMemo)(()=>xy(ke),[ke]),We=O?.signature===qe?O.result:null,nn=We?.models?.length>0?We.models:Ay(m.selectedConnection||"custom"),Dn=Dr(m.providerId||m.providerName||"my-provider")||"my-provider",cn=Cy(m),xt=JSON.stringify({connectionType:m.connectionType,selectedConnection:m.selectedConnection,subscriptionProfile:cn}),ht=U.filter(X=>A[X]==="error"),yt=U.filter(X=>A[X]==="success"),Ue=U.some(X=>A[X]==="success"||A[X]==="error"),It=U.length>0&&U.every(X=>A[X]==="success"),Wt=yt.length>0,pn=ht.length>0,wr=U.some(X=>!A[X]||A[X]==="default"),Te=h?.signature===qe?h.result:null,et=m.connectionType!=="api"||Wt,ft=(0,Bt.useMemo)(()=>qC(e,ke,Te,{targetProviderId:l}),[e,ke,Te,l]),lo=(0,Bt.useMemo)(()=>`${JSON.stringify(ft,null,2)}
|
|
52
|
+
`,[ft]),St=Mt,Re=ze[u],gn=WC(u,ke,e,{targetProviderId:l});(0,Bt.useEffect)(()=>{MC()},[]),(0,Bt.useEffect)(()=>{let X=ee.current!==""&&ee.current!==qe;if(ee.current=qe,X&&m.connectionType==="api"&&(E({}),g(null),x(""),oe.current=!0,C(!1)),m.connectionType!=="api"){h!==null&&g(null),y&&x(""),Object.keys(A).length>0&&E({}),O!==null&&L(null),V&&z("");return}O?.signature&&O.signature!==qe&&(L(null),z(""))},[m.connectionType,qe,h,y,A,O,V]);function k(X,$e){v(Ke=>({...Ke,[X]:$e}))}function me(X){v($e=>{let Ke=Dr($e.providerName||""),lt=Dr(X||"")||"my-provider",vn=!$e.providerId||$e.providerId===Ke;return{...$e,providerName:X,providerId:vn?lt:$e.providerId}})}function re(X){x(""),g(null),E({}),L(null),z(""),oe.current=!0,C(!1),T(X,X==="api"?"custom":"oauth-gpt")}function Pe(X){x(""),g(null),E({}),L(null),z(""),oe.current=!0,C(!1);let $e=Lr(X);T($e.category,X)}function T(X,$e){v(Ke=>KC(Ke,{baseConfig:e,nextCategory:X,nextPresetKey:$e,defaultProviderUserAgent:s}))}async function M({force:X=!1,silent:$e=!1}={}){if(m.connectionType!=="api")return!1;if(ve.length===0||!Ne)return $e||z("Add endpoints and an API key or env before checking the model list API."),!1;if(!X&&O?.signature===qe)return!!(O?.result?.models||[]).length;Z(!0),$e||z("");try{let Ke=await Ze("/api/config/discover-provider-models",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:ve,...vo(Ne)?{apiKeyEnv:Ne}:{apiKey:Ne},...Object.keys(we).length>0?{headers:we}:{}})}),lt=(Ke.result?.models||[]).map(un=>String(un||"").trim()).filter(Boolean),vn={};if(lt.length>0){let un=m.selectedConnection;if(un&&uu.set(un,lt),wy(ve)){let Wn=await x1(ve[0]||"",Ne,lt.filter(Yn=>!Yn.includes("embed")&&!Yn.includes("tts")&&!Yn.includes("image")&&!Yn.includes("lyria")&&!Yn.includes("veo")));Wn&&(lt=Wn)}try{let Wn=await xu(lt);vn=v1(Wn)}catch{vn={}}}let zr={...Ke.result&&typeof Ke.result=="object"?Ke.result:{},modelContextWindows:vn};if(L({signature:qe,result:zr}),lt.length>0)return v(un=>{if(xy(un)!==qe||un.connectionType!=="api")return un;let dn=Array.isArray(un.modelIds)?un.modelIds:[],Wn=X&&dn.length>0?Array.from(new Set([...dn,...lt])):dn.length>0?dn:lt,Yn={...un.modelContextWindows&&typeof un.modelContextWindows=="object"?un.modelContextWindows:{},...vn},qs=wy(un.endpoints),Li=qs?HC(qs,Wn):null;return JSON.stringify(Wn)===JSON.stringify(dn)&&JSON.stringify(Yn)===JSON.stringify(un.modelContextWindows||{})&&!Li?un:{...un,modelIds:Wn,modelContextWindows:Yn,...Li?{rateLimitRows:Li}:{}}}),z(""),!0;let so=(Ke.result?.warnings||[]).join(" ")||"Model list API did not return any models. Add model ids manually if needed.";return z(so),!1}catch(Ke){let lt=Ke instanceof Error?Ke.message:String(Ke);return z(lt),!1}finally{Z(!1)}}async function F({onlyModels:X=null}={}){if(m.connectionType!=="api")return!0;let $e=X||U;b("test"),x(""),E(Ke=>{let lt={...Ke};for(let vn of $e)lt[vn]="pending";return lt});try{let Ke=await vu("/api/config/test-provider-stream",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:ve,models:$e,...vo(Ne)?{apiKeyEnv:Ne}:{apiKey:Ne},...Object.keys(we).length>0?{headers:we}:{}})},{onMessage:dn=>{if(dn?.type!=="progress")return;let Wn=dn.event||{};Wn.phase==="model-done"&&E(Yn=>({...Yn,[Wn.model]:Wn.confirmed?"success":"error"}))}}),lt=new Set(Ke?.models||[]),vn=h?.signature===qe?h.result:null,zr=new Set(vn?.models||[]);for(let dn of $e)lt.has(dn)?zr.add(dn):zr.delete(dn);let so={...vn||{},...Ke,models:Array.from(zr),workingFormats:Array.from(new Set([...vn?.workingFormats||[],...Ke?.workingFormats||[]])),ok:U.every(dn=>zr.has(dn))};g({signature:qe,result:so}),E(dn=>{let Wn={...dn};for(let Yn of $e)Wn[Yn]=lt.has(Yn)?"success":"error";return Wn});let un=$e.filter(dn=>!lt.has(dn));return un.length>0?(x((Ke?.warnings||[]).join(" ")||`${un.length} model(s) failed the provider test.`),!1):!0}catch(Ke){return E(lt=>{let vn={...lt};for(let zr of $e)(!vn[zr]||vn[zr]==="pending")&&(vn[zr]="error");return vn}),x(Ke instanceof Error?Ke.message:String(Ke)),!1}finally{b("")}}(0,Bt.useEffect)(()=>{u!==1||m.connectionType!=="api"||U.length>0||!Ne||ve.length===0||G||O?.signature===qe||M({silent:!0})},[u,m.connectionType,U.length,Ne,ve.length,G,O,qe]);async function ce({force:X=!1}={}){if(m.connectionType==="api"||!X&&ue===xt)return!0;let $e=Lr(m.selectedConnection||"oauth-gpt");b("oauth-login"),x("");try{return await Ze("/api/subscription/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({profileId:cn,providerId:Dn,subscriptionType:$e.subscriptionType||"chatgpt-codex"})}),q(xt),!0}catch(Ke){return x(Ke instanceof Error?Ke.message:String(Ke)),!1}finally{b("")}}async function Je(){u===0&&m.connectionType==="subscription"&&!await ce()||(u===1&&C(!0),f(X=>Math.min(X+1,ze.length-1)))}async function Vt(){let X=U.filter(lt=>A[lt]!=="success"),$e=oe.current;oe.current=!1,await F({onlyModels:X.length<U.length?X:null})&&$e&&!N&&(C(!0),f(lt=>Math.min(lt+1,ze.length-1)))}async function Ee(){let X=U.filter($e=>A[$e]==="error");X.length!==0&&await F({onlyModels:X})}function Y(){let X=U.filter($e=>A[$e]==="error");v($e=>({...$e,modelIds:($e.modelIds||[]).filter(Ke=>!X.includes(Ke))})),E($e=>{let Ke={...$e};for(let lt of X)delete Ke[lt];return Ke}),x(""),C(!0),f($e=>Math.min($e+1,ze.length-1))}async function ge(X){if((X==="save"||X==="save-start")&&m.connectionType==="api"&&!et){x("Finish is available after the provider test succeeds.");return}b(X);try{if(X==="apply"){await t(lo);return}if(X==="validate"){await n(lo);return}if(X==="save"){await r(lo);return}X==="save-start"&&await o(lo)}finally{b("")}}let Un=y||gn||(u===0&&m.connectionType==="subscription"&&ue!==xt?"Continue opens the browser sign-in flow for this provider.":u===1&&m.connectionType==="api"&&!Ue?"Test the provider against the entered endpoints and model ids using your API key or env.":u===1&&m.connectionType==="api"&&pn&&!It?`${yt.length} of ${U.length} model(s) confirmed. Fix or skip failed model(s) to continue.`:ze[u].detail),ki=m.selectedConnection==="oauth-claude"?"Examples: claude-opus-4-6 claude-sonnet-4-6 claude-haiku-4-5":m.selectedConnection==="oauth-gpt"?"Examples: gpt-5.3-codex gpt-5.2-codex gpt-5.1-codex-mini":(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)("span",{children:["Examples: gpt-4o-mini gpt-4.1-mini",Object.keys(We?.modelContextWindows||{}).length>0?` \xB7 ${Object.keys(We?.modelContextWindows||{}).length} context size${Object.keys(We?.modelContextWindows||{}).length===1?"":"s"} ready`:""]}),(0,P.jsx)("span",{className:"ml-2 text-amber-700",children:"Auto-discovered model ids may be incomplete or inaccurate if the provider is misconfigured. Verify the list and add or remove model ids yourself."})]}),_i=j?"Edit provider":Ie?"Add provider":"Quick start wizard",zu=j?"Update this provider in place. Change endpoints, model ids, rate limits, alias, or provider id, then save the refreshed config.":Ie?"Add another provider with endpoints, model ids, rate limits, and a stable alias. API Key providers are auto-tested before save.":"",Gs=(0,P.jsx)("div",{className:"flex items-center gap-1",children:ze.map((X,$e)=>{let Ke=$e===u,lt=$e<u;return(0,P.jsxs)(Bt.Fragment,{children:[$e>0?(0,P.jsx)("span",{className:"text-[10px] text-muted-foreground/40 select-none",children:"/"}):null,(0,P.jsxs)("button",{type:"button",disabled:!lt,onClick:()=>{lt&&f($e)},className:Q("inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-colors",Ke?"bg-primary text-primary-foreground":lt?"text-emerald-700 hover:bg-emerald-50":"text-muted-foreground/50"),children:[(0,P.jsx)("span",{className:Q("inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold leading-none",Ke?"bg-primary-foreground/20":lt?"bg-emerald-100 text-emerald-700":"bg-muted"),children:$e+1}),X.title]})]},X.title)})}),Da=(0,P.jsxs)("div",{className:"space-y-5",children:[u===0?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:pC.map(X=>(0,P.jsxs)("button",{type:"button",className:Q("rounded-2xl border px-4 py-3 text-left transition",m.connectionType===X.value?"border-ring bg-background shadow-sm":"border-border/70 bg-background/70 hover:border-border"),onClick:()=>re(X.value),children:[(0,P.jsx)("div",{className:"text-sm font-medium text-foreground",children:X.label}),(0,P.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:X.description})]},X.value))}),(0,P.jsx)(He,{label:"Provider preset",children:(0,P.jsxs)(Xt,{value:m.selectedConnection||(m.connectionType==="api"?"custom":"oauth-gpt"),onValueChange:Pe,children:[(0,P.jsx)(Jt,{children:(0,P.jsx)(Zt,{})}),(0,P.jsx)(en,{children:TC(m.connectionType==="subscription"?"subscription":"api").map(X=>(0,P.jsxs)(Ct,{value:X.key,children:[X.label,(0,P.jsx)("span",{className:"ml-2 text-muted-foreground",children:X.description})]},X.key))})]})}),(0,P.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,P.jsx)(He,{label:"Provider name",children:(0,P.jsx)(it,{value:m.providerName,onChange:X=>me(X.target.value),placeholder:Lr(m.selectedConnection||"custom").providerName})}),(0,P.jsx)(He,{label:"Provider id",hint:"lowercase-hyphenated",children:(0,P.jsx)(it,{value:m.providerId,onChange:X=>k("providerId",X.target.value),onBlur:()=>k("providerId",Dr(m.providerId||m.providerName||"my-provider")||"my-provider"),placeholder:Lr(m.selectedConnection||"custom").providerId})})]}),m.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(He,{label:"Endpoints",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(ku,{values:m.endpoints,onChange:X=>k("endpoints",X),draftValue:m.endpointDraft,onDraftValueChange:X=>k("endpointDraft",X),commitOnBlur:!0,isValueValid:Si,placeholder:"Example: https://api.openai.com/v1",helperText:"Paste one or more endpoints",inputProps:{id:Ve,name:ne,autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,inputMode:"url","data-form-type":"other"}})}),(0,P.jsx)(He,{label:"API key or env",children:(0,P.jsx)(Hs,{value:m.apiKeyEnv,onChange:X=>k("apiKeyEnv",X.target.value),placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:vo(m.apiKeyEnv),maskMode:"obscured-text",inputProps:{id:Se,name:ae,autoComplete:"new-password",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,"data-form-type":"other","data-lpignore":"true","data-1p-ignore":"true"}})}),(0,P.jsx)(He,{label:"Custom headers",hint:"User-Agent included by default",children:(0,P.jsx)(lT,{rows:m.headerRows,onChange:X=>k("headerRows",X)})})]}):(0,P.jsxs)("div",{className:"space-y-3",children:[(0,P.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/45 px-4 py-3 text-sm leading-6 text-muted-foreground",children:m.selectedConnection==="oauth-claude"?"Continue opens the Claude sign-in page in your browser and stores the login for this provider automatically.":"Continue opens the ChatGPT sign-in page in your browser and stores the login for this provider automatically."}),m.selectedConnection==="oauth-claude"?(0,P.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,P.jsx)("span",{className:"font-medium",children:"Heads up:"})," Claude Code OAuth routes through Anthropic's API with your subscription credentials. Usage will count against your Claude Max/Pro plan's extra usage quota, not the included subscription messages. Make sure you have extra usage enabled on your Claude plan to avoid request failures."]}):(0,P.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,P.jsx)("span",{className:"font-medium",children:"Heads up:"})," ChatGPT subscriptions (Plus / Pro / Team) are separate from the OpenAI API and are intended for use within OpenAI's own apps. Routing requests through your subscription here may violate OpenAI's terms of service and could result in account restrictions."]})]})]}):null,u===1?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)(He,{label:"Models",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(ku,{values:m.modelIds,onChange:X=>k("modelIds",X),draftValue:m.modelDraft,onDraftValueChange:X=>k("modelDraft",X),commitOnBlur:!0,disabled:p==="test",valueStates:m.connectionType==="api"?A:{},placeholder:"Paste model ids",helperText:ki,suggestedValues:nn})}),m.connectionType==="api"&&G?(0,P.jsxs)("div",{className:"rounded-2xl border border-sky-200 bg-sky-50 px-4 py-3 text-sm text-sky-900",children:[(0,P.jsxs)("div",{className:"flex items-center gap-2 font-medium",children:[(0,P.jsx)(Br,{}),"Loading provider models"]}),(0,P.jsx)("div",{className:"mt-1 text-xs leading-5 text-sky-800/90",children:"LLM Router is checking the provider model list and matching context sizes for the discovered models."})]}):null,m.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(He,{label:"Rate limit",stacked:!0,headerAction:(0,P.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:()=>k("rateLimitRows",Vm(m.rateLimitRows)),disabled:p==="test",children:"Add rate limit"}),children:(0,P.jsx)(Fm,{rows:m.rateLimitRows,onChange:X=>k("rateLimitRows",X),availableModelIds:U,disabled:p==="test"})}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm leading-6 text-muted-foreground",children:["The first model becomes the primary direct route. Add caps for ",(0,P.jsx)("code",{children:"all"})," models or target individual model ids when you need a narrower quota bucket."]})]}):null,m.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",It&&Ue?"border-emerald-200 bg-emerald-50 text-emerald-900":pn?"border-amber-200 bg-amber-50 text-amber-900":Wt?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-border/70 bg-background/80 text-muted-foreground"),children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,P.jsx)("div",{className:"mt-2",children:It&&Ue?`Confirmed ${yt.length} model(s) across ${(Te?.workingFormats||[]).join(", ")||"detected formats"}.`:pn?`${yt.length} of ${U.length} model(s) confirmed. ${ht.length} failed: ${ht.join(", ")}.`:Wt?`Confirmed ${yt.length} of ${U.length} model(s) across ${(Te?.workingFormats||[]).join(", ")||"detected formats"}.`:"Test the provider before continuing so the wizard can auto-detect the working endpoint format(s)."})]}):null]}):null,u===2?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:Ie||j?(0,P.jsx)(AN,{label:"Use this provider order for the default route",hint:"Updates the fixed `default` alias",checked:m.useAliasAsDefault,onCheckedChange:X=>k("useAliasAsDefault",X)}):(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm text-muted-foreground md:col-span-2",children:["The fixed ",(0,P.jsx)("code",{children:"default"})," route is created automatically. Arrange this provider's models in the order you want clients to try first."]})}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model order"}),(0,P.jsx)("div",{className:"mt-3",children:(0,P.jsx)(sT,{providerId:Dn,values:fe,onChange:X=>k("aliasModelIds",X)})})]}),(0,P.jsxs)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:Dn}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:m.providerName})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Connection"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:FC(m.selectedConnection||"custom")}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:m.connectionType==="api"?`${ve.length} endpoint candidate(s)`:"Browser sign-in flow"})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Models"}),(0,P.jsxs)("div",{className:"mt-2 text-sm font-medium text-foreground",children:[U.length," configured"]}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:U.join(", ")||"No models yet"})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Default route"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground break-all",children:St}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:m.useAliasAsDefault?"Requests to `default` and `smart` use this ordered list.":"This provider keeps its direct routes only until you opt it into the fixed default route."})]})]}),m.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",et?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-amber-200 bg-amber-50 text-amber-900"),children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,P.jsx)("div",{className:"mt-2",children:et?`Using ${(Te?.workingFormats||[]).join(", ")||"detected formats"}. The saved provider keeps the tested endpoint selection and confirmed models.`:"Finish is available after the provider test succeeds."})]}):null]}):null,(0,P.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border/70 pt-4 md:flex-row md:items-start md:justify-between md:gap-4",children:[(0,P.jsx)("div",{className:Q("min-w-0 flex-1 text-sm md:max-w-2xl",gn||y?"text-amber-700":"text-muted-foreground"),children:Un}),(0,P.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2 md:justify-end",children:[u>0?(0,P.jsx)(H,{variant:"ghost",onClick:()=>f(X=>Math.max(X-1,0)),children:"Back"}):null,u<ze.length-1?u===1&&m.connectionType==="api"?N?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(H,{variant:"outline",onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing\u2026"]}):"Test"}),(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!==""||!Wt,children:"Continue"})]}):!Ue||wr?(0,P.jsx)(H,{onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing provider\u2026"]}):"Test"}):It?(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!=="",children:"Continue"}):pn?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(H,{variant:"outline",onClick:()=>{Ee()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Re-testing\u2026"]}):"Test again"}),Wt?(0,P.jsx)(H,{onClick:()=>{Y()},disabled:p!=="",children:"Skip failed model(s) and continue"}):null]}):(0,P.jsx)(H,{onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing provider\u2026"]}):"Test"}):(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!=="",children:p==="oauth-login"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Signing in\u2026"]}):"Continue"}):(0,P.jsx)(H,{onClick:()=>{ge("save-start")},disabled:!!gn||p!==""||m.connectionType==="api"&&!et,children:p==="save-start"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Finishing\u2026"]}):"Finish"})]})]})]});return c?(0,P.jsxs)(Lt,{className:"border-dashed",children:[(0,P.jsxs)(Jr,{children:[(0,P.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[d?(0,P.jsx)(Bo,{children:_i}):null,Gs]}),d?(0,P.jsx)(pi,{children:zu}):null]}),(0,P.jsx)(Dt,{className:"space-y-5",children:Da})]}):(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"-mx-5 -mt-4 flex items-center gap-3 border-b border-border/70 bg-muted/30 px-5 py-2",children:Gs}),(0,P.jsxs)("div",{className:"space-y-5 pt-5",children:[d?(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"text-base font-semibold text-foreground",children:_i}),(0,P.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:zu})]}):null,Da]})]})}var $=B(te(),1);async function Iu(e){let t=String(e||"");if(!t)return;if(typeof navigator<"u"&&navigator.clipboard?.writeText){await navigator.clipboard.writeText(t);return}if(typeof document>"u")throw new Error("Clipboard is not available in this environment.");let n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="absolute",n.style.left="-9999px",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}function FB(e="127.0.0.1"){let t=String(e||"127.0.0.1").trim()||"127.0.0.1";return t.includes(":")&&!t.startsWith("[")?`[${t}]`:t}function HB(e={}){let t=FB(e?.host||"127.0.0.1"),n=Number.isInteger(Number(e?.port))?Number(e.port):8376;return`http://${t}:${n}`}function cT({currentConfigPath:e="",productionConfigPath:t="",routerPort:n=8376,canSyncProductionConfig:r=!1,syncBusy:o=!1,onSyncProductionConfig:a}){return(0,$.jsx)("div",{className:"overflow-hidden rounded-[1.75rem] border border-amber-300/80 bg-[linear-gradient(135deg,rgba(255,247,237,0.98),rgba(255,251,235,0.97),rgba(254,243,199,0.82))] shadow-[0_20px_60px_rgba(180,83,9,0.12)]",children:(0,$.jsxs)("div",{className:"flex flex-col gap-4 px-4 py-4 sm:px-5 lg:flex-row lg:items-center lg:justify-between",children:[(0,$.jsxs)("div",{className:"min-w-0 space-y-3",children:[(0,$.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,$.jsx)(_e,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}),(0,$.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-amber-900/80",children:"Isolated router sandbox"})]}),(0,$.jsxs)("div",{className:"space-y-1",children:[(0,$.jsxs)("div",{className:"text-base font-semibold text-amber-950 sm:text-lg",children:["Dev console runs on router port ",n," and leaves the production startup service alone."]}),(0,$.jsx)("div",{className:"max-w-3xl text-sm leading-6 text-amber-950/75",children:"Use the sync action to clone the current production config into this dev workspace without changing the dev router binding."})]}),(0,$.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs",children:[(0,$.jsxs)("span",{className:"rounded-full border border-amber-300/70 bg-white/75 px-3 py-1.5 font-medium text-amber-950/80",children:["Dev config: ",(0,$.jsx)("span",{className:"font-semibold",children:e||"Not resolved"})]}),(0,$.jsxs)("span",{className:"rounded-full border border-amber-300/60 bg-amber-50/70 px-3 py-1.5 font-medium text-amber-950/75",children:["Production source: ",(0,$.jsx)("span",{className:"font-semibold",children:t||"Not resolved"})]})]})]}),r?(0,$.jsx)("div",{className:"flex shrink-0 items-center",children:(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"border-amber-300 bg-white/85 text-amber-950 hover:bg-amber-100 hover:text-amber-950",onClick:a,disabled:o,"aria-label":o?"Syncing production config":"Sync production config into this dev workspace",title:o?"Syncing production config":"Sync production config into this dev workspace",children:[(0,$.jsx)(Ff,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:o?"Syncing production config\u2026":"Sync production config"})]})}):null]})})}function uT(){let[e,t]=(0,ye.useState)(null),[n,r]=(0,ye.useState)(""),[o,a]=(0,ye.useState)(""),[i,l]=(0,ye.useState)(null),[s,c]=(0,ye.useState)([]),[d,u]=(0,ye.useState)(!0),[f,p]=(0,ye.useState)(!1),[b,m]=(0,ye.useState)(!1),[v,h]=(0,ye.useState)(!1),[g,y]=(0,ye.useState)(""),[x,A]=(0,ye.useState)(""),[E,N]=(0,ye.useState)(!1),[C,O]=(0,ye.useState)("model-alias"),[L,V]=(0,ye.useState)(!1),[z,G]=(0,ye.useState)(!1),[Z,ue]=(0,ye.useState)(0),[q,oe]=(0,ye.useState)(""),[ee,W]=(0,ye.useState)(""),[j,Ie]=(0,ye.useState)(""),[ne,Ve]=(0,ye.useState)(""),[ae,Se]=(0,ye.useState)(!1),[ze,U]=(0,ye.useState)(!1),[fe,ve]=(0,ye.useState)(!1),[ke,we]=(0,ye.useState)(""),[Ne,qe]=(0,ye.useState)("usage"),[We,nn]=(0,ye.useState)(null),[Dn,cn]=(0,ye.useState)({status:"idle",message:"",savedAt:""}),xt=(0,ye.useRef)(""),ht=(0,ye.useRef)(""),yt=(0,ye.useRef)(null),Ue=(0,ye.useRef)(null),It=(0,ye.useRef)(null),Wt=(0,ye.useRef)(0),pn=(0,ye.useRef)(""),wr=(0,ye.useRef)(0);(0,ye.useEffect)(()=>{xt.current=n},[n]),(0,ye.useEffect)(()=>{ht.current=o},[o]),(0,ye.useEffect)(()=>()=>{It.current&&(clearTimeout(It.current),It.current=null)},[]);let Te=n!==o,et=e?.config?.document,ft=i?.summary||e?.config||{},lo=i?.validationMessages||e?.config?.validationMessages||[],St=(0,ye.useMemo)(()=>by(e?.config?.rawText||"{}",e?.config?.document||{}),[e?.config?.rawText,e?.config?.document]),Re=(0,ye.useMemo)(()=>BC(n,St),[n,St]),gn=(0,ye.useMemo)(()=>by(n,St),[n,St]),k=Re.parseError?St:Re.value,me=(0,ye.useMemo)(()=>Array.isArray(k?.providers)?k.providers:[],[k]),re=(0,ye.useMemo)(()=>k?.modelAliases&&typeof k.modelAliases=="object"&&!Array.isArray(k.modelAliases)?k.modelAliases:{},[k]),Pe=(0,ye.useMemo)(()=>Sb(k),[k]),T=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:"",M=k,F=e?.config?.localServer||e?.startup?.defaults||null,ce=(0,ye.useMemo)(()=>HB(F||{}),[F?.host,F?.port]),Je=e?.ampClient?.global||{},Vt=e?.webSearch||e?.ampWebSearch||null,Ee=e?.codingTools?.codexCli||{},Y=e?.codingTools?.claudeCode||{},ge=e?.codingTools?.factoryDroid||{},Un=Je?.routedViaRouter===!0,ki=Ee?.routedViaRouter===!0,_i=Y?.routedViaRouter===!0,zu=ge?.routedViaRouter===!0,Gs=e?.ollama||null,Da=Gs?.connected===!0,[X,$e]=(0,ye.useState)([]),Ke=k?.metadata?.localModels||{},lt=(0,ye.useMemo)(()=>({runtime:{...Ke?.runtime||{},ollama:{...Ke?.runtime?.ollama||{},status:Da?"running":"stopped"}},library:Ke?.library||{},variants:Ke?.variants||{}}),[Ke,Da]),vn=(0,ye.useMemo)(()=>qN(lt),[lt]),[zr,so]=(0,ye.useState)({}),[un,dn]=(0,ye.useState)(!1),Yn=(e?.activityLog||{enabled:!0})?.enabled!==!1,qs=(0,ye.useMemo)(()=>Sb(M),[M]),Li=(0,ye.useMemo)(()=>Ry(M),[M]),Rl=(0,ye.useMemo)(()=>Ai(or(M)),[M]),Ym=(0,ye.useMemo)(()=>a1(M,Vt),[M,Vt]),pT=(0,ye.useMemo)(()=>i1(Ym,Y?.webSearchProvider||""),[Ym,Y?.webSearchProvider]),gT=(0,ye.useMemo)(()=>{let w=new Set((Array.isArray(Rl?.providers)?Rl.providers:[]).map(R=>Cn(R?.id)).filter(Boolean));return o1(M,w)},[M,Rl]),Xo=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:qs.length===0?"Add at least one alias or provider/model route before configuring AMP.":"",co=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:"",Jo=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:Pe.length===0?"Add at least one alias or provider/model route before configuring coding-tool bindings.":"",hT=(0,ye.useMemo)(()=>Ti(Pe,If(Ee?.bindings?.defaultModel)?[]:[Ee?.bindings?.defaultModel]),[Pe,Ee?.bindings?.defaultModel]),yT=(0,ye.useMemo)(()=>Ti(Pe,[Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),[Pe,Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),bT=(0,ye.useMemo)(()=>Ti(Pe,[ge?.bindings?.defaultModel,ge?.bindings?.missionOrchestratorModel,ge?.bindings?.missionWorkerModel,ge?.bindings?.missionValidatorModel]),[Pe,ge?.bindings?.defaultModel,ge?.bindings?.missionOrchestratorModel,ge?.bindings?.missionWorkerModel,ge?.bindings?.missionValidatorModel]),Qm=String(M?.amp?.defaultRoute||M?.defaultModel||gu(M)||"").trim(),Qn=String(M?.masterKey||e?.config?.document?.masterKey||"").trim(),vT=(0,ye.useMemo)(()=>XC(Qn),[Qn]),Xm=me.length>0,xT=Xm&&z,El=e?.router?.running===!0,_b=e?.startup?.installed===!0,Jm=e?.environment?.devMode===!0,Lb=String(e?.config?.path||e?.environment?.configPath||"").trim(),Db=String(e?.environment?.productionConfigPath||"").trim(),Zm=e?.environment?.canSyncProductionConfig===!0,Pu=Number.isInteger(Number(e?.config?.localServer?.port))?Number(e.config.localServer.port):Number.isInteger(Number(e?.router?.port))?Number(e.router.port):8376,ep=g==="start"?"Starting\u2026":g==="stop"?"Stopping\u2026":El?"Stop server":"Start server",tp=x==="enable"?"Enabling OS startup\u2026":x==="disable"?"Disabling OS startup\u2026":_b?"Disable OS startup":"Enable OS startup",Bb=e?.router?.portBusy?e?.router?.portBusyReason||`Port ${Pu} is occupied${e?.router?.listenerPids?.length>0?` by PID${e.router.listenerPids.length===1?"":"s"} ${e.router.listenerPids.join(", ")}`:""}.`:String(e?.router?.lastError||"").trim(),ST=!tm(k),Ib=me.filter(w=>w?.type!=="ollama"),zb=Ib.length>0?"existing":"blank",Pb=Ib[0]?.id||"",Ub=e?.defaults?.providerUserAgent||no;(0,ye.useEffect)(()=>{if(d||f||Re.parseError)return;if(Qn){pn.current="";return}let w=String(e?.config?.rawText||o||"__empty__");pn.current!==w&&(pn.current=w,ET({showSuccessNotice:!1}))},[o,Qn,d,Re.parseError,f,e?.config?.rawText]),(0,ye.useEffect)(()=>{if(It.current&&(clearTimeout(It.current),It.current=null),!We)return;let w=We.immediate===!0?0:450;return It.current=setTimeout(()=>{It.current=null;let R=We.sequence;cn(I=>({...I,status:"saving",message:""})),(async()=>{try{let I=await Ze("/api/amp/apply",{method:"POST",headers:Xe,body:JSON.stringify({rawText:We.rawText,source:"autosave"})});if(R!==Wt.current)return;Ro(I,{preserveDraft:xt.current!==We.rawText}),cn({status:"saved",message:"",savedAt:new Date().toISOString()})}catch(I){if(R!==Wt.current)return;let pe=I instanceof Error?I.message:String(I);cn({status:"error",message:pe,savedAt:""}),D("error",pe)}})()},w),()=>{It.current&&(clearTimeout(It.current),It.current=null)}},[We]);function wT(){G(!0),ue(w=>w+1)}function AT(){wT()}function np(){G(!1)}(0,ye.useEffect)(()=>{!Xm&&z&&G(!1)},[Xm,z]);function D(w,R){wr.current+=1,c(I=>[...I,{id:`notice-${wr.current}`,tone:w,message:R}])}function jb(w){c(R=>R.filter(I=>I.id!==w))}function Ro(w,{preserveDraft:R=!1}={}){t(w);let I=String(w?.config?.rawText||"");if(!R||xt.current===ht.current){r(I),a(I),V(!1),l({rawText:I,summary:w?.config,validationMessages:w?.config?.validationMessages||[]});return}a(I),I!==ht.current&&V(!0)}async function rn({preserveDraft:w=!1}={}){let R=await Ze("/api/state");Ro(R,{preserveDraft:w})}(0,ye.useEffect)(()=>{let w=!1;function R(){yt.current&&(yt.current.close(),yt.current=null)}function I(){Ue.current&&(clearTimeout(Ue.current),Ue.current=null)}function pe(){w||Ue.current||(Ue.current=setTimeout(()=>{Ue.current=null,Oe({isReconnect:!0})},uC))}function Oe({isReconnect:tt=!1}={}){if(w)return;I(),R();let Ge=new EventSource("/api/events");yt.current=Ge,Ge.onopen=()=>{w||yt.current!==Ge||tt&&rn({preserveDraft:xt.current!==ht.current}).catch(()=>{})},Ge.addEventListener("state",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);zt?.snapshot&&Ro(zt.snapshot,{preserveDraft:!0})}catch(zt){D("error",zt instanceof Error?zt.message:String(zt))}}),Ge.addEventListener("log",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);t(Fe=>Fe&&{...Fe,logs:[zt,...Fe.logs||[]].slice(0,150)})}catch{}}),Ge.addEventListener("logs",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);t(Fe=>Fe&&{...Fe,...zt?.activityLog?{activityLog:zt.activityLog}:{},logs:Array.isArray(zt?.logs)?zt.logs:[]})}catch{}}),Ge.onerror=()=>{w||yt.current!==Ge||(R(),pe())}}return(async()=>{try{await rn()}catch(tt){w||D("error",tt instanceof Error?tt.message:String(tt))}finally{w||(u(!1),Oe())}})(),()=>{w=!0,I(),R()}},[]);async function Vb(w,{silent:R=!1}={}){m(!0);try{let I=await Ze("/api/config/validate",{method:"POST",headers:Xe,body:JSON.stringify({rawText:w})});return l({rawText:w,summary:I.summary,validationMessages:I.validationMessages||[]}),R||D(IC(I.summary)==="success"?"success":"warning",I.summary.validationSummary),I}catch(I){throw R||D("error",I instanceof Error?I.message:String(I)),I}finally{m(!1)}}async function rp(w,{successMessage:R="Config saved.",showSuccessNotice:I=!0}={}){p(!0);try{let pe=await Ze("/api/config/save",{method:"POST",headers:Xe,body:JSON.stringify({rawText:w})});return Ro(pe,{preserveDraft:xt.current!==w}),I&&R&&D("success",R),pe}catch(pe){throw D("error",pe instanceof Error?pe.message:String(pe)),pe}finally{p(!1)}}async function Fb(){if(!(!Zm||E)&&!(Te&&typeof window<"u"&&typeof window.confirm=="function"&&!window.confirm("Replace the current dev draft with the production config file? Unsaved edits in this dev session will be lost."))){N(!0);try{let w=await Ze("/api/config/sync-production",{method:"POST",headers:Xe,body:"{}"});Ro(w,{preserveDraft:!1}),D("success",w?.message||"Production config synced into the dev workspace.")}catch(w){D("error",w instanceof Error?w.message:String(w))}finally{N(!1)}}}function Di(w,{immediate:R=!1}={}){let I=Wt.current+1;Wt.current=I,nn({sequence:I,rawText:w,immediate:R===!0}),cn(pe=>({status:"pending",message:"",savedAt:pe.savedAt}))}function Pr(w){r(w),l(null)}async function Zo(w,R,I={}){let pe=`${JSON.stringify(w,null,2)}
|
|
53
|
+
`;Pr(pe),V(!1),await rp(pe,{successMessage:R,...I})}async function Hb({providerId:w,endpoints:R,newModelIds:I,credentialPayload:pe,headers:Oe,onModelTestStateChange:tt}){if(!Array.isArray(I)||I.length===0)return tt?.({phase:"",modelStates:{},failedModelIds:[],message:""}),{ok:!0};let Ge=Object.fromEntries(I.map(Fe=>[Fe,"pending"])),Ut=({phase:Fe="testing",message:jn="",failedModelIds:ct=[]}={})=>{tt?.({phase:Fe,modelStates:{...Ge},failedModelIds:ct,message:jn})},zt=()=>`Testing ${I.filter(jn=>Ge[jn]==="success"||Ge[jn]==="error").length}/${I.length} new model${I.length===1?"":"s"} for ${w}.`;Ut({phase:"testing",message:zt()});try{let Fe=await vu("/api/config/test-provider-stream",{method:"POST",headers:Xe,body:JSON.stringify({endpoints:R,models:I,...pe,...Oe&&typeof Oe=="object"&&!Array.isArray(Oe)?{headers:Oe}:{}})},{onMessage:Ft=>{if(Ft?.type!=="progress")return;let uo=Ft.event||{};if(uo.phase!=="model-done")return;let ea=String(uo.model||"").trim();!ea||!Object.prototype.hasOwnProperty.call(Ge,ea)||(Ge[ea]=uo.confirmed?"success":"error",Ut({phase:"testing",message:zt()}))}}),jn=new Set(Array.isArray(Fe?.models)?Fe.models:[]),ct=I.filter(Ft=>!jn.has(Ft));for(let Ft of I)Ge[Ft]=jn.has(Ft)?"success":"error";if(!Fe?.ok||ct.length>0){let Ft=ct.length>0?`New model test failed for ${w}: ${ct.join(", ")}.`:(Fe?.warnings||[]).join(" ")||`New model test failed for ${w}.`;return Ut({phase:"",failedModelIds:ct,message:Ft}),D("warning",Ft),{ok:!1,failedModelIds:ct,result:Fe}}return Ut({phase:"saving",message:`Saving ${I.length} confirmed new model${I.length===1?"":"s"} for ${w}.`}),{ok:!0,failedModelIds:[],result:Fe}}catch(Fe){for(let Ft of I)Ge[Ft]!=="success"&&(Ge[Ft]="error");let jn=Fe instanceof Error?Fe.message:String(Fe),ct=I.filter(Ft=>Ge[Ft]==="error");return Ut({phase:"",failedModelIds:ct,message:jn}),D("error",jn),{ok:!1,failedModelIds:ct}}}async function CT(w,R,{showSuccessNotice:I=!0}={}){if(T)return D("warning",T),!1;let pe=String(R?.id||"").trim(),Oe=String(R?.name||"").trim(),tt=Array.isArray(R?.endpoints)?yr(R.endpoints):rr([],R?.endpoint||""),Ge=Array.isArray(R?.rateLimitRows)?br(R.rateLimitRows):[],Ut=me.find(Ft=>Ft?.id===w),zt=xo(Ut)==="api",Fe=fu(Ut);if(!pe)return D("warning","Provider id is required."),!1;if(!ll.test(pe))return D("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!Oe)return D("warning","Provider name is required."),!1;if(pe!==w&&me.some(Ft=>Ft?.id===pe))return D("warning",`Provider id "${pe}" already exists.`),!1;if(zt&&tt.length===0)return D("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(zt&&tt.some(Ft=>!Si(Ft)))return D("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let jn=zt?Po(Ge,{knownModelIds:Fe,requireAtLeastOne:!0}):"";if(jn)return D("warning",jn),!1;let ct=ly(Re.value||St,w,{...R,endpoints:tt,rateLimitRows:Ge});try{return await Zo(ct,`Updated provider ${pe}.`,{showSuccessNotice:I}),!0}catch{return!1}}async function RT(w,{providerDraft:R=null,modelRows:I=null,showSuccessNotice:pe=!0,onModelTestStateChange:Oe=null}={}){if(T)return D("warning",T),!1;let tt=me.find(Ur=>Ur?.id===w);if(!tt)return D("error",`Provider '${w}' was not found.`),!1;let Ge=!!(R&&typeof R=="object"),Ut=Array.isArray(I);if(!Ge&&!Ut)return!0;let zt=xo(tt)==="api",Fe=Ge?String(R?.id||"").trim():w,jn=Ge?String(R?.name||"").trim():String(tt?.name||w).trim(),ct=Ge?Array.isArray(R?.endpoints)?yr(R.endpoints):rr([],R?.endpoint||""):Ta(tt),Ft=Ge&&Array.isArray(R?.rateLimitRows)?br(R.rateLimitRows):[],uo=Ut?I.map(Ur=>({...Ur,id:String(Ur?.id||"").trim(),contextWindow:$o(Ur?.contextWindow||"")})).filter(Ur=>Ur.id):[];if(Ge){let Ur=Ut?uo.map(jr=>jr.id):fu(tt);if(!Fe)return D("warning","Provider id is required."),!1;if(!ll.test(Fe))return D("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!jn)return D("warning","Provider name is required."),!1;if(Fe!==w&&me.some(jr=>jr?.id===Fe))return D("warning",`Provider id "${Fe}" already exists.`),!1;if(zt&&ct.length===0)return D("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(zt&&ct.some(jr=>!Si(jr)))return D("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let Ia=zt?Po(Ft,{knownModelIds:Ur,requireAtLeastOne:!0}):"";if(Ia)return D("warning",Ia),!1}if(Ut){if(uo.length===0)return D("warning","Keep at least one model id on the provider."),!1;if(Os(uo.map(fo=>fo.id)))return D("warning","Model ids must be unique for each provider."),!1;if(uo.some(fo=>{let Uu=String(fo?.contextWindow||"").trim();if(!Uu)return!1;let ip=Number.parseInt(Uu,10);return!Number.isFinite(ip)||ip<=0||String(ip)!==Uu}))return D("warning","Context windows must be positive integers when set."),!1;let Ia=fu(tt),jr=uo.map(fo=>fo.id).filter(fo=>!Ia.includes(fo));if(zt&&jr.length>0){if(ct.length===0)return D("warning",`Provider '${Fe}' needs at least one endpoint before testing new models.`),!1;let fo=Sy(R,tt);if(!fo.apiKey&&!fo.apiKeyEnv)return D("warning",`Provider '${Fe}' needs an API key or env before testing new models.`),!1;if(!(await Hb({providerId:Fe,endpoints:ct,newModelIds:jr,credentialPayload:fo,headers:tt?.headers,onModelTestStateChange:Oe})).ok)return!1}}let ea=Re.value||St;Ge&&(ea=ly(ea,w,{...R,endpoints:ct,rateLimitRows:Ft})),Ut&&(ea=iy(ea,Ge?Fe:w,uo));let NM=Ge&&Ut?`Updated provider ${Fe} and saved its model list.`:Ge?`Updated provider ${Fe}.`:(()=>{let Ur=fu(tt),Ia=uo.map(jr=>jr.id).filter(jr=>!Ur.includes(jr));return Ia.length>0?`Tested ${Ia.length} new model${Ia.length===1?"":"s"} and updated ${Fe}.`:`Updated models for ${Fe}.`})();try{return await Zo(ea,NM,{showSuccessNotice:pe}),Oe?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function ET({showSuccessNotice:w=!1}={}){if(Re.parseError||String((Re.value||St||{}).masterKey||"").trim())return!1;let R=jo(Re.value||St||{});R.masterKey=du();try{return await Zo(R,"Gateway key ready.",{showSuccessNotice:w}),!0}catch{return!1}}async function NT(){if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}try{await Iu(Qn),D("success","Gateway key copied to clipboard.")}catch(w){D("error",w instanceof Error?w.message:String(w))}}async function TT(){if(!ce){D("warning","API endpoint is not ready yet.");return}try{await Iu(ce),D("success","API endpoint copied to clipboard.")}catch(w){D("error",w instanceof Error?w.message:String(w))}}async function MT(w){let R=String(w||"").trim();if(!R){D("warning","Alias id is not ready yet.");return}try{await Iu(R),D("success",`Alias id ${R} copied to clipboard.`)}catch(I){D("error",I instanceof Error?I.message:String(I))}}async function Ba(w,R,{ensureMode:I="none",successMessage:pe=""}={}){let Oe=String(w||"").trim();if(!Oe){D("warning",`${R} is not resolved yet.`);return}try{await Ze("/api/file/open",{method:"POST",headers:Xe,body:JSON.stringify({editorId:"default",filePath:Oe,ensureMode:I})}),D("success",pe||`Opened ${R} in the default app.`)}catch(tt){D("error",tt instanceof Error?tt.message:String(tt))}}async function OT(w){let R=String(w||"").trim();if(!R){D("warning","Model id is not ready yet.");return}try{await Iu(R),D("success",`Model id ${R} copied to clipboard.`)}catch(I){D("error",I instanceof Error?I.message:String(I))}}async function kT(){if(!(typeof window>"u"?!0:window.confirm("Rotate the gateway key? Existing clients using the old key will need the new one. Linked tools like AMP, Codex CLI, and Claude Code will auto-update to the new key.")))return;let R=jo(Re.value||St||{});R.masterKey=du();try{await Zo(R,"Rotated gateway key. Linked tools like AMP, Codex CLI, and Claude Code refreshed automatically.")}catch{}}async function _T(w,R,{providerDraft:I=null,onModelTestStateChange:pe=null}={}){if(T)return D("warning",T),!1;let Oe=me.find(ct=>ct?.id===w);if(!Oe)return D("error",`Provider '${w}' was not found.`),!1;let tt=(Array.isArray(R)?R:[]).map(ct=>({...ct,id:String(ct?.id||"").trim()})).filter(ct=>ct.id),Ge=I&&String(I?.id||"").trim()||w,Ut=I?Array.isArray(I?.endpoints)?yr(I.endpoints):rr([],I?.endpoint||""):Ta(Oe),zt=(Array.isArray(Oe?.models)?Oe.models:[]).map(ct=>String(ct?.id||"").trim()).filter(Boolean),Fe=tt.map(ct=>ct.id).filter(ct=>!zt.includes(ct));if(xo(Oe)==="api"&&Fe.length>0){if(Ut.length===0)return D("warning",`Provider '${Ge}' needs at least one endpoint before testing new models.`),!1;let ct=Sy(I,Oe);if(!ct.apiKey&&!ct.apiKeyEnv)return D("warning",`Provider '${Ge}' needs an API key or env before testing new models.`),!1;if(!(await Hb({providerId:Ge,endpoints:Ut,newModelIds:Fe,credentialPayload:ct,headers:Oe?.headers,onModelTestStateChange:pe})).ok)return!1}let jn=iy(Re.value||St,w,tt);try{let ct=Fe.length>0?`Tested ${Fe.length} new model${Fe.length===1?"":"s"} and updated ${w}.`:`Updated models for ${w}.`;return await Zo(jn,ct),pe?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function LT(w,R,I={}){if(T)return D("warning",T),!1;let pe=tC(Re.value||St,w,R),Oe=String(R?.id||w||"").trim()||w;try{return await Zo(pe,I.successMessage||`Updated alias ${Oe}.`,{showSuccessNotice:I.showSuccessNotice!==!1}),!0}catch{return!1}}async function DT(w){if(T){D("warning",T);return}if(!(typeof window>"u"?!0:window.confirm(`Remove alias "${w}" from the config?`)))return;let I=nC(Re.value||St,w);try{await Zo(I,`Removed alias ${w}.`)}catch{}}async function $B(w){try{await Iu(w?.url||""),D("success",`${w?.label||"Endpoint"} copied to clipboard.`)}catch(R){D("error",R instanceof Error?R.message:String(R))}}async function BT(){let R=!(Je?.routedViaRouter===!0);if(R){if(Xo){D("warning",Xo);return}if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}if(!ce){D("warning","API endpoint is not ready yet.");return}}oe(R?"enable":"disable");try{let I=!1,pe;try{pe=await Ze("/api/amp/global-route",{method:"POST",headers:Xe,body:JSON.stringify({enabled:R,rawText:R?n:void 0,endpointUrl:ce})})}catch(tt){if(tt?.statusCode===404&&R)I=!0,pe=await Ze("/api/amp/apply",{method:"POST",headers:Xe,body:JSON.stringify({rawText:n,source:"amp-global-route-compat",patchScope:"global",endpointUrl:ce})});else throw tt?.statusCode===404?new Error("Restart the web console so the AMP routing endpoint is available."):tt}await rn({preserveDraft:!R});let Oe=R?"AMP connected.":"AMP disconnected.";D("success",I?`${Oe} Restart the web console if the AMP status does not refresh.`:Oe)}catch(I){D("error",I instanceof Error?I.message:String(I))}finally{oe("")}}function IT(w,R){if(Xo){D("warning",Xo);return}let I=String(R||"").trim(),pe=Li.find(Ge=>Ge.id!==w&&String(Ge?.inbound||"").trim()===I);if(I&&pe){D("warning",`AMP inbound match "${I}" already exists.`);return}let Oe=Ey(Re.value||St,w,{inbound:R}),tt=`${JSON.stringify(Oe,null,2)}
|
|
54
|
+
`;Pr(tt),Di(tt)}function zT(w,R){if(Xo){D("warning",Xo);return}let I=Ey(Re.value||St,w,{outbound:R==="__default__"?"":R}),pe=`${JSON.stringify(I,null,2)}
|
|
55
|
+
`;Pr(pe),Di(pe)}function PT(w){if(co){D("warning",co);return}let R=l1(Re.value||St,{strategy:w}),I=`${JSON.stringify(R,null,2)}
|
|
56
|
+
`;Pr(I),Di(I)}function UT(w,R,I){if(co){D("warning",co);return}let pe=s1(Re.value||St,w,{[R]:I}),Oe=`${JSON.stringify(pe,null,2)}
|
|
57
|
+
`;Pr(Oe),Di(Oe,{immediate:f1(w,R,I)})}function jT(w,R){if(co){D("warning",co);return}let I=d1(Re.value||St,w,R),pe=`${JSON.stringify(I,null,2)}
|
|
58
|
+
`;Pr(pe),Di(pe)}function VT(w){if(co){D("warning",co);return}let R=u1(Re.value||St,w),I=`${JSON.stringify(R,null,2)}
|
|
59
|
+
`;Pr(I),Di(I,{immediate:!0})}async function FT({providerId:w,modelId:R}){if(co)throw new Error(co);let I=wi(w,R);if(!I)throw new Error("Choose a provider and GPT model before testing.");if(new Set((Array.isArray(Rl?.providers)?Rl.providers:[]).map(Ut=>Cn(Ut?.id)).filter(Boolean)).has(Cn(I)))throw new Error(`Web search route '${I}' is already configured.`);let Oe=await Ze("/api/config/test-web-search-provider",{method:"POST",headers:Xe,body:JSON.stringify({providerId:w,modelId:R,rawText:n})}),tt=c1(Re.value||St,w,R),Ge=`${JSON.stringify(tt,null,2)}
|
|
60
|
+
`;return Pr(Ge),Di(Ge,{immediate:!0}),D("success",`Added ${I} to shared web search routing.`),Oe?.result||null}async function HT({inbound:w,outbound:R}){if(Xo)return D("warning",Xo),!1;let I=String(w||"").trim();if(I&&Li.some(Oe=>String(Oe?.inbound||"").trim()===I))return D("warning",`AMP inbound match "${I}" already exists.`),!1;let pe=e1(Re.value||St,{inbound:w,outbound:R});try{return await Zo(pe,`Added AMP route ${String(w||"").trim()}.`),!0}catch{return!1}}async function $T(w){let R=findAmpEditableRouteEntry(Re.value||St,w);if(!R?.removable)return;let I=R.source==="raw"?R.inbound||R.label:R.routeKey||R.label;if(!(typeof window>"u"?!0:window.confirm(`Remove AMP route mapping "${I}"?`)))return;let Oe=t1(Re.value||St,w);try{await Zo(Oe,`Removed AMP route ${I}.`)}catch{}}function KB(){r(o),l({rawText:o,summary:e?.config,validationMessages:e?.config?.validationMessages||[]}),V(!1),D("success","Editor reset to the latest disk version.")}function $b(w){Pr(w),V(!1),D("success","Quick-start config loaded into the editor.")}async function Kb(w){Pr(w);try{await Vb(w)}catch{}}async function op(w){Pr(w);let R;try{R=await Vb(w,{silent:!0})}catch{return null}let I=R?.summary||{};if(I.parseError)return D("warning",I.validationSummary||"Quick-start config contains invalid JSON."),null;try{let pe=await rp(w,{successMessage:"Quick-start config saved."});return(I.validationErrors||[]).length>0&&D("warning",I.validationSummary),pe}catch{return null}}async function Gb(w){let R=await op(w);return R?(O("activity"),R.router?.running?(D("success","Quick-start config saved. Router is already running."),!0):(D("success","Quick-start config saved. Starting router\u2026"),setTimeout(()=>{ap("start")},0),!0)):!1}async function KT(w){let R=await op(w);return R&&np(),!!R}async function GT(w){let R=await Gb(w);return R&&np(),R}async function qT(){h(!0);try{await Ze("/api/config/open",{method:"POST",headers:Xe,body:JSON.stringify({editorId:"default"})}),D("success","Opened config file in the default app.")}catch(w){D("error",w instanceof Error?w.message:String(w))}finally{h(!1)}}async function WT(){let R=!(Ee?.routedViaRouter===!0);if(R){if(Jo){D("warning",Jo);return}if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}if(!ce){D("warning","API endpoint is not ready yet.");return}}W(R?"enable":"disable");try{await Ze("/api/codex-cli/global-route",{method:"POST",headers:Xe,body:JSON.stringify({enabled:R,rawText:R?n:void 0,endpointUrl:ce,bindings:R?{defaultModel:Ee?.bindings?.defaultModel||Qm,thinkingLevel:Ee?.bindings?.thinkingLevel||""}:void 0})}),await rn({preserveDraft:!R}),D("success",R?"Codex CLI connected.":"Codex CLI disconnected.")}catch(I){D("error",I instanceof Error?I.message:String(I))}finally{W("")}}async function YT(){let R=!(Y?.routedViaRouter===!0);if(R){if(Jo){D("warning",Jo);return}if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}if(!ce){D("warning","API endpoint is not ready yet.");return}}Ie(R?"enable":"disable");try{await Ze("/api/claude-code/global-route",{method:"POST",headers:Xe,body:JSON.stringify({enabled:R,rawText:R?n:void 0,endpointUrl:ce,bindings:R?{primaryModel:Y?.bindings?.primaryModel||"",defaultOpusModel:Y?.bindings?.defaultOpusModel||"",defaultSonnetModel:Y?.bindings?.defaultSonnetModel||"",defaultHaikuModel:Y?.bindings?.defaultHaikuModel||"",subagentModel:Y?.bindings?.subagentModel||"",thinkingLevel:Y?.bindings?.thinkingLevel||""}:void 0})}),await rn({preserveDraft:!R}),D("success",R?"Claude Code connected.":"Claude Code disconnected.")}catch(I){D("error",I instanceof Error?I.message:String(I))}finally{Ie("")}}async function QT(w,R){let I={defaultModel:Ee?.bindings?.defaultModel||Qm,thinkingLevel:Ee?.bindings?.thinkingLevel||""};I[w]=R,Se(!0);try{await Ze("/api/codex-cli/model-bindings",{method:"POST",headers:Xe,body:JSON.stringify({bindings:I})}),await rn({preserveDraft:!0}),D("success","Codex CLI bindings updated.")}catch(pe){D("error",pe instanceof Error?pe.message:String(pe))}finally{Se(!1)}}async function XT(w,R){if(w==="webSearchProvider"){U(!0);try{let Oe=await Ze("/api/claude-code/search-provider",{method:"POST",headers:Xe,body:JSON.stringify({webSearchProvider:R,rawText:n})});Ro(Oe,{preserveDraft:!1}),D("success",R?"Claude Code search capability updated.":"Claude Code search capability cleared.")}catch(Oe){D("error",Oe instanceof Error?Oe.message:String(Oe))}finally{U(!1)}return}let I=Y?.routedViaRouter===!0;if(w==="thinkingLevel"&&!I){U(!0);try{await Ze("/api/claude-code/effort-level",{method:"POST",headers:Xe,body:JSON.stringify({effortLevel:R})}),await rn({preserveDraft:!0}),D("success",R?`Effort level set to ${R}.`:"Effort level cleared.")}catch(Oe){D("error",Oe instanceof Error?Oe.message:String(Oe))}finally{U(!1)}return}let pe={primaryModel:Y?.bindings?.primaryModel||"",defaultOpusModel:Y?.bindings?.defaultOpusModel||"",defaultSonnetModel:Y?.bindings?.defaultSonnetModel||"",defaultHaikuModel:Y?.bindings?.defaultHaikuModel||"",subagentModel:Y?.bindings?.subagentModel||"",thinkingLevel:Y?.bindings?.thinkingLevel||""};pe[w]=R,U(!0);try{await Ze("/api/claude-code/model-bindings",{method:"POST",headers:Xe,body:JSON.stringify({bindings:pe})}),await rn({preserveDraft:!0}),D("success","Claude Code model bindings updated.")}catch(Oe){D("error",Oe instanceof Error?Oe.message:String(Oe))}finally{U(!1)}}async function JT(){let R=!(ge?.routedViaRouter===!0);if(R){if(Jo){D("warning",Jo);return}if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}if(!ce){D("warning","API endpoint is not ready yet.");return}}Ve(R?"enable":"disable");try{await Ze("/api/factory-droid/global-route",{method:"POST",headers:Xe,body:JSON.stringify({enabled:R,rawText:R?n:void 0,endpointUrl:ce,bindings:R?{defaultModel:ge?.bindings?.defaultModel||"",missionOrchestratorModel:ge?.bindings?.missionOrchestratorModel||"",missionWorkerModel:ge?.bindings?.missionWorkerModel||"",missionValidatorModel:ge?.bindings?.missionValidatorModel||"",reasoningEffort:ge?.bindings?.reasoningEffort||""}:void 0})}),await rn({preserveDraft:!R}),D("success",R?"Factory Droid connected.":"Factory Droid disconnected.")}catch(I){D("error",I instanceof Error?I.message:String(I))}finally{Ve("")}}async function ZT(w,R){let I={defaultModel:ge?.bindings?.defaultModel||"",missionOrchestratorModel:ge?.bindings?.missionOrchestratorModel||"",missionWorkerModel:ge?.bindings?.missionWorkerModel||"",missionValidatorModel:ge?.bindings?.missionValidatorModel||"",reasoningEffort:ge?.bindings?.reasoningEffort||""};I[w]=R,ve(!0);try{await Ze("/api/factory-droid/model-bindings",{method:"POST",headers:Xe,body:JSON.stringify({bindings:I})}),await rn({preserveDraft:!0}),D("success","Factory Droid model bindings updated.")}catch(pe){D("error",pe instanceof Error?pe.message:String(pe))}finally{ve(!1)}}async function ap(w){y(w);try{let R=await Ze(`/api/router/${w}`,{method:"POST",headers:Xe,body:"{}"});Ro(R,{preserveDraft:!0}),D("success",R.message||`Router ${w}ed.`)}catch(R){await rn({preserveDraft:!0}).catch(()=>{}),D("error",R instanceof Error?R.message:String(R))}finally{y("")}}async function eM(w){A(w);try{let R=await Ze(`/api/startup/${w}`,{method:"POST",headers:Xe,body:"{}"});Ro(R,{preserveDraft:!0}),D("success",R.message||`Startup ${w}d.`)}catch(R){await rn({preserveDraft:!0}).catch(()=>{}),D("error",R instanceof Error?R.message:String(R))}finally{A("")}}async function tM(){let w=!Yn;we("toggle");try{let R=await Ze("/api/activity-log/settings",{method:"POST",headers:Xe,body:JSON.stringify({enabled:w})});Ro(R,{preserveDraft:!0}),D("success",R.message||`Activity log ${w?"enabled":"disabled"}.`)}catch(R){await rn({preserveDraft:!0}).catch(()=>{}),D("error",R instanceof Error?R.message:String(R))}finally{we("")}}async function nM(){if(typeof window>"u"||window.confirm("Clear the shared activity log file? This also clears the Activity tab for connected web console sessions.")){we("clear");try{let R=await Ze("/api/activity-log/clear",{method:"POST",headers:Xe,body:"{}"});Ro(R,{preserveDraft:!0}),D("success",R.message||"Activity log cleared.")}catch(R){D("error",R instanceof Error?R.message:String(R))}finally{we("")}}}async function rM(w){let R=me.find(tt=>tt.id===w);if(!(typeof window>"u"?!0:window.confirm(`Remove provider "${R?.name||w}" from the config?`)))return;let pe=UC(e?.config?.document||gn||{},w),Oe=`${JSON.stringify(pe,null,2)}
|
|
61
|
+
`;Pr(Oe);try{await rp(Oe,{successMessage:`Removed provider ${R?.name||w}.`})}catch{}}async function oM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await A1(w),await rn({preserveDraft:!1}),D("success",`Saved local variant ${String(w?.name||w?.id||"").trim()||"draft"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function aM({silent:w=!1}={}){if(Re.parseError)return w||D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return w||D("warning","Save or discard the current config draft before changing local models."),!1;try{return await N1(),await rn({preserveDraft:!1}),w||D("success","Local model status refreshed."),!0}catch(R){return w||D("error",R instanceof Error?R.message:String(R)),!1}}async function iM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await C1(w),await rn({preserveDraft:!1}),D("success",`Attached local model ${String(w?.displayName||w?.id||"").trim()||"draft"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function lM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await R1(w),await rn({preserveDraft:!1}),D("success","Updated local model path."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function sM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await E1(w),await rn({preserveDraft:!1}),D("success","Removed local model."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function cM(w,{onMessage:R}={}){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await w1(w,{onMessage:R}),await rn({preserveDraft:!1}),D("success",`Downloaded ${String(w?.displayName||w?.file||"").trim()||"managed GGUF"}.`),!0}catch(I){return D("error",I instanceof Error?I.message:String(I)),!1}}async function uM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await T1(w),await rn({preserveDraft:!1}),D("success",`Selected llama.cpp runtime ${String(w||"").trim()||"binary"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function dM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/settings",{method:"POST",headers:Xe,body:JSON.stringify(w)}),await rn({preserveDraft:!1}),D("success","Updated llama.cpp runtime settings."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function fM(){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/start",{method:"POST",headers:Xe,body:"{}"}),await rn({preserveDraft:!1}),D("success","Started llama.cpp runtime."),!0}catch(w){return D("error",w instanceof Error?w.message:String(w)),!1}}async function mM(){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/stop",{method:"POST",headers:Xe,body:"{}"}),await rn({preserveDraft:!1}),D("success","Stopped llama.cpp runtime."),!0}catch(w){return D("error",w instanceof Error?w.message:String(w)),!1}}async function Eo(){dn(!0);try{let R=await(await fetch("/api/ollama/models",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})).json();R?.models&&$e(R.models)}catch{}finally{dn(!1)}}(0,ye.useEffect)(()=>{C==="local-models"&&Da&&Eo()},[C,Da]);function Nl(w,R,I){so(pe=>({...pe,[w]:{...pe[w]||{},[R]:I}}))}async function pM(w){Nl(w,"loading",!0);try{await fetch("/api/ollama/load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await Eo()}finally{Nl(w,"loading",!1)}}async function gM(w){Nl(w,"unloading",!0);try{await fetch("/api/ollama/unload",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await Eo()}finally{Nl(w,"unloading",!1)}}async function hM(w,R){Nl(w,"pinning",!0);try{await fetch("/api/ollama/pin",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,pinned:R})}),await Eo()}finally{Nl(w,"pinning",!1)}}async function yM(w,R){await fetch("/api/ollama/keep-alive",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,keepAlive:R})}),await Eo()}async function bM(w,R){await fetch("/api/ollama/context-length",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,contextLength:R})}),await Eo()}async function vM(w){await fetch("/api/ollama/add-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await Eo()}async function xM(w){await fetch("/api/ollama/remove-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await Eo()}async function SM(w,R){await fetch("/api/ollama/auto-load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,autoLoad:R})})}async function wM(w){await fetch("/api/ollama/save-settings",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(w)})}async function AM(){so(w=>({...w,_install:!0}));try{await fetch("/api/ollama/install",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{so(w=>({...w,_install:!1}))}}async function CM(){so(w=>({...w,_startServer:!0}));try{await fetch("/api/ollama/start-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{so(w=>({...w,_startServer:!1}))}}async function RM(){await fetch("/api/ollama/stop-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}async function EM(){so(w=>({...w,_syncRouter:!0}));try{await fetch("/api/ollama/sync-router",{method:"POST",headers:{"content-type":"application/json"},body:"{}"}),await Eo()}finally{so(w=>({...w,_syncRouter:!1}))}}return d?(0,$.jsx)("div",{className:"console-shell flex min-h-screen items-center justify-center px-6 py-10",children:(0,$.jsx)(Lt,{className:"w-full max-w-lg",children:(0,$.jsxs)(Dt,{className:"space-y-3 p-6 text-center",children:[(0,$.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.2em] text-muted-foreground",children:"LLM Router"}),(0,$.jsx)("div",{className:"text-xl font-semibold text-foreground",children:"Loading web console\u2026"}),(0,$.jsx)("div",{className:"text-sm text-muted-foreground",children:"Preparing config state, router controls, and live activity."})]})})}):ST?(0,$.jsx)("div",{className:"console-shell min-h-screen px-4 py-6 md:px-6",children:(0,$.jsxs)("div",{className:"mx-auto flex max-w-5xl flex-col gap-4",children:[(0,$.jsx)(Ab,{notices:s,onDismiss:jb}),Jm?(0,$.jsx)(cT,{currentConfigPath:Lb,productionConfigPath:Db,routerPort:Pu,canSyncProductionConfig:Zm,syncBusy:E,onSyncProductionConfig:Fb}):null,(0,$.jsx)("div",{id:"quick-start-wizard",children:(0,$.jsx)(Ob,{baseConfig:gn,seedMode:zb,mode:"onboarding",targetProviderId:Pb,defaultProviderUserAgent:Ub,onApplyDraft:$b,onValidateDraft:Kb,onSaveDraft:op,onSaveAndStart:Gb},`onboarding-wizard-${zb}-${Pb||"new"}`)})]})}):(0,$.jsx)("div",{className:"console-shell min-h-screen px-4 py-4 md:px-6 md:py-6",children:(0,$.jsxs)("div",{className:"mx-auto flex max-w-7xl flex-col gap-4",children:[Jm?(0,$.jsx)(cT,{currentConfigPath:Lb,productionConfigPath:Db,routerPort:Pu,canSyncProductionConfig:Zm,syncBusy:E,onSyncProductionConfig:Fb}):null,(0,$.jsx)(Lt,{className:"overflow-hidden",children:(0,$.jsx)(Dt,{className:"p-5",children:(0,$.jsxs)("div",{className:"space-y-4",children:[(0,$.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,$.jsx)("div",{className:"min-w-0 flex-1",children:(0,$.jsxs)("h1",{className:"inline-flex items-center gap-2 text-2xl font-semibold tracking-tight text-foreground",children:[(0,$.jsx)("span",{children:"LLM Router Web Console"}),(0,$.jsx)(wl,{connected:El,size:"md",srLabel:"Router running"}),Jm?(0,$.jsx)(_e,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}):null]})}),(0,$.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,$.jsxs)("a",{href:cC,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-amber-300 bg-amber-50/90 px-3 text-xs font-medium uppercase tracking-[0.16em] text-amber-900 transition-colors hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Support LLM Router via GitHub Sponsors",title:"Support LLM Router",children:[(0,$.jsx)(SC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Buy me a coffee"})]}),(0,$.jsxs)("a",{href:sC,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-border bg-background/80 px-3 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Open the LLM Router GitHub repository",title:"Open GitHub repository",children:[(0,$.jsx)(xC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Repo"})]})]})]}),(0,$.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,$.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,$.jsxs)(H,{size:"sm",variant:El?"outline":void 0,className:"px-2 sm:px-3",onClick:()=>ap(El?"stop":"start"),disabled:g!=="","aria-label":ep,title:ep,children:[El?(0,$.jsx)(AC,{className:"h-3.5 w-3.5"}):(0,$.jsx)(wC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:ep})]}),(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:qT,disabled:v,"aria-label":v?"Opening config file":"Open config file",title:v?"Opening config file":"Open config file",children:[(0,$.jsx)(CC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:v?"Opening\u2026":"Open config file"})]}),(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:()=>eM(_b?"disable":"enable"),disabled:x!=="","aria-label":tp,title:tp,children:[(0,$.jsx)(RC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:tp})]})]}),(0,$.jsx)(TN,{endpointValue:ce||Jc,endpointDisabled:!ce,gatewayValue:Qn?vT:"Generating\u2026",gatewayPending:!Qn,gatewayDisabled:!Qn||f,rotateDisabled:f,onCopyEndpoint:TT,onCopyGatewayKey:NT,onRotateKey:kT})]}),f||b?(0,$.jsx)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:(0,$.jsx)("span",{className:"rounded-full bg-secondary px-2.5 py-1",children:f?"Saving changes\u2026":"Validating\u2026"})}):null,!El&&e?.router?.portBusy&&!e?.router?.portBusySelf?(0,$.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,$.jsx)(H,{size:"sm",variant:"outline",onClick:()=>ap("reclaim"),disabled:g!=="",children:g==="reclaim"?"Reclaiming\u2026":`Reclaim port ${Pu}`})}):null,Bb?(0,$.jsx)("div",{className:Q("rounded-xl border px-3 py-2 text-sm",e?.router?.portBusy?"border-amber-200 bg-amber-50 text-amber-900":"border-rose-200 bg-rose-50 text-rose-800"),children:Bb}):null]})})}),(0,$.jsx)(Ab,{notices:s,onDismiss:jb}),(0,$.jsx)("div",{className:"space-y-4",children:(0,$.jsx)(UN,{providers:me.filter(w=>w?.type!=="ollama"),onAddProvider:AT,onRemove:rM,onCopyModelId:OT,onApplyProviderDetails:CT,onApplyProviderModels:_T,onSaveAndCloseEditor:RT,disabledReason:T,busy:f})}),(0,$.jsxs)(bi,{value:C,onValueChange:O,className:"space-y-0",children:[(0,$.jsx)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:(0,$.jsxs)(vi,{children:[(0,$.jsx)(Gn,{value:"model-alias",children:"Alias & Fallback"}),(0,$.jsx)(Gn,{value:"amp",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"AMP"}),(0,$.jsx)(wl,{connected:Un,srLabel:"AMP connected"})]})}),(0,$.jsx)(Gn,{value:"codex-cli",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Codex CLI"}),(0,$.jsx)(wl,{connected:ki,srLabel:"Codex CLI connected"})]})}),(0,$.jsx)(Gn,{value:"claude-code",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Claude Code"}),(0,$.jsx)(wl,{connected:_i,srLabel:"Claude Code connected"})]})}),(0,$.jsx)(Gn,{value:"factory-droid",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Factory Droid"}),(0,$.jsx)(wl,{connected:zu,srLabel:"Factory Droid connected"})]})}),(0,$.jsx)(Gn,{value:"local-models",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Local Models"}),(0,$.jsx)(wl,{connected:vn.runningRuntimes>0,srLabel:"Local runtime connected"})]})}),(0,$.jsx)(Gn,{value:"web-search",children:"Web Search"}),(0,$.jsx)(Gn,{value:"activity",children:"Activity"})]})}),(0,$.jsx)(qn,{value:"model-alias",className:"space-y-4",children:(0,$.jsx)(_N,{aliases:re,config:k,aliasIds:Object.keys(re),routeOptions:Pe,defaultModel:String(k?.defaultModel||"").trim(),ampDefaultRoute:Qm,disabledReason:T,busy:f,onApplyAlias:LT,onRemoveAlias:DT,onCopyAliasId:MT})}),(0,$.jsx)(qn,{value:"amp",className:"space-y-4",children:(0,$.jsx)(eT,{rows:Li,routeOptions:qs,webSearchSnapshot:Vt,ampClientUrl:ce,ampClientGlobal:Je,routingBusy:q,onToggleGlobalRouting:BT,onInboundChange:IT,onOutboundChange:zT,onCreateEntry:HT,onRemoveEntry:$T,onOpenWebSearchTab:()=>O("web-search"),onOpenConfigPath:()=>Ba(Je?.settingsFilePath,"AMP config file",{ensureMode:"jsonObject",successMessage:"Opened AMP config file in the default app."}),onOpenSecretsPath:()=>Ba(Je?.secretsFilePath,"AMP secrets file",{ensureMode:"jsonObject",successMessage:"Opened AMP secrets file in the default app."}),hasMasterKey:!!String(M?.masterKey||"").trim(),disabledReason:Xo,autosaveState:Dn})}),(0,$.jsx)(qn,{value:"codex-cli",className:"space-y-4",children:(0,$.jsx)(Wm,{toolName:"Codex CLI",toolState:Ee,endpointUrl:Ee?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`,routeOptions:hT,connectionBusy:ee,bindingBusy:ae,onToggleRouting:WT,onBindingChange:QT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(Ee?.configFilePath,"Codex CLI config file",{ensureMode:"text",successMessage:"Opened Codex CLI config file in the default app."}),onOpenSecondaryPath:()=>Ba(Ee?.backupFilePath,"Codex CLI backup file",{ensureMode:"jsonObject",successMessage:"Opened Codex CLI backup file in the default app."}),guideContent:rT({bindingValue:Ee?.bindings?.defaultModel,thinkingLevel:Ee?.bindings?.thinkingLevel,configFilePath:Ee?.configFilePath,endpointUrl:Ee?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Default model",description:"Choose a managed route/alias to set Codex CLI `model`, or use Inherit Codex CLI model to keep Codex built-in model names and route them through same-name LLM Router aliases.",envKey:"model",value:Ee?.bindings?.defaultModel||"",allowUnset:!1,placeholder:"Select a default route",extraOptions:[{value:sy,label:"Inherit Codex CLI model",hint:"Keep Codex built-in model names; route them via same-name aliases in LLM Router"}]},{id:"thinkingLevel",label:"Thinking level",description:"Maps to Codex CLI `model_reasoning_effort`. Official values are `minimal`, `low`, `medium`, `high`, and `xhigh` (`xhigh` is model-dependent).",envKey:"model_reasoning_effort",value:Ee?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Codex default",options:gC}]})}),(0,$.jsx)(qn,{value:"claude-code",className:"space-y-4",children:(0,$.jsx)(Wm,{toolName:"Claude Code",toolState:Y,endpointUrl:Y?.configuredBaseUrl||`${ce?`${ce}/anthropic`:""}`,routeOptions:yT,connectionBusy:j,bindingBusy:ze,onToggleRouting:YT,onBindingChange:XT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(Y?.settingsFilePath,"Claude Code config file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code config file in the default app."}),onOpenSecondaryPath:()=>Ba(Y?.backupFilePath,"Claude Code backup file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code backup file in the default app."}),guideContent:oT({bindings:Y?.bindings,settingsFilePath:Y?.settingsFilePath,endpointUrl:Y?.configuredBaseUrl||`${ce?`${ce}/anthropic`:""}`}),bindingFields:[{id:"primaryModel",label:"Current model override",description:"Optional. Set `ANTHROPIC_MODEL` only when you want to override Claude Code\u2019s own `model` setting with a managed route or alias.",envKey:"ANTHROPIC_MODEL",value:Y?.bindings?.primaryModel||"",allowUnset:!0,placeholder:"Inherit Claude Code default"},{id:"defaultOpusModel",label:"Default Opus",description:"Maps `ANTHROPIC_DEFAULT_OPUS_MODEL` so Claude Code\u2019s `opus` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",value:Y?.bindings?.defaultOpusModel||"",allowUnset:!0,placeholder:"Select an Opus route"},{id:"defaultSonnetModel",label:"Default Sonnet",description:"Maps `ANTHROPIC_DEFAULT_SONNET_MODEL` so Claude Code\u2019s `sonnet` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",value:Y?.bindings?.defaultSonnetModel||"",allowUnset:!0,placeholder:"Select a Sonnet route"},{id:"defaultHaikuModel",label:"Default Haiku",description:"Maps `ANTHROPIC_DEFAULT_HAIKU_MODEL` so Claude Code\u2019s `haiku` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",value:Y?.bindings?.defaultHaikuModel||"",allowUnset:!0,placeholder:"Select a Haiku route"},{id:"subagentModel",label:"Sub-agent model",description:"Maps `CLAUDE_CODE_SUBAGENT_MODEL` for Claude Code sub-agents and background workers.",envKey:"CLAUDE_CODE_SUBAGENT_MODEL",value:Y?.bindings?.subagentModel||"",allowUnset:!0,placeholder:"Select a sub-agent route"},{id:"webSearchProvider",label:"Search capability",description:"Choose which configured router web-search backend powers Claude Code\u2019s native Anthropic web tools like `web_search_*`. Native `web_fetch_*` page retrieval is intercepted locally by LLM Router and does not use this provider selection.",envKey:"claudeCode.webSearchProvider",value:Y?.webSearchProvider||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Use default router web-search order",options:pT},{id:"thinkingLevel",label:"Effort level",description:'Sets `CLAUDE_CODE_EFFORT_LEVEL` in your shell profile (~/.zshrc or ~/.bashrc). Falls back to `effortLevel` in settings.json (only "high") if shell profile cannot be updated.',envKey:"CLAUDE_CODE_EFFORT_LEVEL",value:Y?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Inherit Claude Code adaptive default",options:hC}]})}),(0,$.jsx)(qn,{value:"factory-droid",className:"space-y-4",children:(0,$.jsx)(Wm,{toolName:"Factory Droid",toolState:ge,endpointUrl:ge?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`,routeOptions:bT,connectionBusy:ne,bindingBusy:fe,onToggleRouting:JT,onBindingChange:ZT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(ge?.settingsFilePath,"Factory Droid config file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid config file in the default app."}),onOpenSecondaryPath:()=>Ba(ge?.backupFilePath,"Factory Droid backup file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid backup file in the default app."}),guideContent:aT({bindings:ge?.bindings,settingsFilePath:ge?.settingsFilePath,endpointUrl:ge?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Normal mode model",description:"Choose a managed route or alias for normal Factory sessions. LLM Router writes both the legacy `model` field and current `sessionDefaultSettings.model` default.",envKey:"sessionDefaultSettings.model",value:ge?.bindings?.defaultModel||"",allowUnset:!0,placeholder:"Select a default route"},{id:"missionOrchestratorModel",label:"Mission orchestrator",description:"Choose the managed route or alias used for Factory mission orchestration.",envKey:"missionOrchestratorModel",value:ge?.bindings?.missionOrchestratorModel||"",allowUnset:!0,placeholder:"Use Factory orchestrator default"},{id:"missionWorkerModel",label:"Mission worker",description:"Choose the managed route or alias used for Factory mission workers.",envKey:"missionModelSettings.workerModel",value:ge?.bindings?.missionWorkerModel||"",allowUnset:!0,placeholder:"Use Factory worker default"},{id:"missionValidatorModel",label:"Mission validator",description:"Choose the managed route or alias used for Factory validation workers.",envKey:"missionModelSettings.validationWorkerModel",value:ge?.bindings?.missionValidatorModel||"",allowUnset:!0,placeholder:"Use Factory validator default"},{id:"reasoningEffort",label:"Reasoning effort",description:"Maps to Factory Droid `reasoningEffort` setting. Controls the depth of extended thinking for supported models.",envKey:"reasoningEffort",value:ge?.bindings?.reasoningEffort||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Factory Droid default",options:yC}]})}),(0,$.jsx)(qn,{value:"local-models",className:"space-y-4",children:(0,$.jsx)(JN,{summary:vn,llamacpp:{runtime:lt.runtime?.llamacpp||{},library:Object.fromEntries(Object.entries(lt.library||{}).filter(([,w])=>String(w?.source||"").startsWith("llamacpp"))),variants:Object.fromEntries(Object.entries(lt.variants||{}).filter(([,w])=>w?.runtime==="llamacpp")),disableEditsReason:Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:xt.current!==ht.current?"Save or discard the current config draft before changing local models.":"",onSaveVariant:oM,onRefreshLibrary:aM,onSelectRuntime:uM,onStartRuntime:fM,onStopRuntime:mM,onSaveRuntimeSettings:dM,onAttachModel:iM,onLocateModel:lM,onRemoveModel:sM,onDownloadManagedModel:cM},ollama:{connected:Da,snapshot:Gs,models:X,busy:zr,refreshing:un,config:k,onRefresh:Eo,onLoad:pM,onUnload:gM,onPin:hM,onKeepAlive:yM,onContextLength:bM,onAddToRouter:vM,onRemoveFromRouter:xM,onAutoLoad:SM,onSaveSettings:wM,onInstall:AM,onStartServer:CM,onStopServer:RM,onSyncRouter:EM}})}),(0,$.jsx)(qn,{value:"web-search",className:"space-y-4",children:(0,$.jsx)(tT,{webSearchConfig:Rl,webSearchProviders:Ym,hostedSearchCandidates:gT,onWebSearchStrategyChange:PT,onWebSearchProviderChange:UT,onWebSearchProviderMove:jT,onRemoveWebSearchProvider:VT,onAddHostedSearchEndpoint:FT,disabledReason:co,autosaveState:Dn})}),(0,$.jsx)(qn,{value:"activity",children:(0,$.jsx)(iT,{logs:e?.logs||[],activityLogEnabled:Yn,activityFilter:Ne,busyAction:ke,onActivityFilterChange:qe,onToggleEnabled:tM,onClear:nM})})]}),(0,$.jsx)(Nn,{open:xT,onClose:np,title:"Add provider",contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",closeOnBackdrop:!1,bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,$.jsx)(Ob,{baseConfig:gn,seedMode:"blank",mode:"add",targetProviderId:"",defaultProviderUserAgent:Ub,onApplyDraft:$b,onValidateDraft:Kb,onSaveDraft:KT,onSaveAndStart:GT,framed:!1,showHeader:!1},`provider-wizard-modal-${Z}`)})]})})}var mT=B(te(),1),dT=document.getElementById("app");dT&&(0,fT.createRoot)(dT).render((0,mT.jsx)(uT,{}));})();
|