@bitkyc08/opencodex 2.6.4-preview.20260629 → 2.6.4
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.
|
@@ -6,4 +6,4 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
6
6
|
`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Ce=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Se(n):``}function Te(e,t){switch(e.tag){case 26:case 27:case 5:return Se(e.type);case 16:return Se(`Lazy`);case 13:return e.child!==t&&t!==null?Se(`Suspense Fallback`):Se(`Suspense`);case 19:return Se(`SuspenseList`);case 0:case 15:return we(e.type,!1);case 11:return we(e.type.render,!1);case 1:return we(e.type,!0);case 31:return Se(`Activity`);default:return``}}function Ee(e){try{var t=``,n=null;do t+=Te(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
|
|
7
7
|
Error generating stack: `+e.message+`
|
|
8
8
|
`+e.stack}}var De=Object.prototype.hasOwnProperty,Oe=t.unstable_scheduleCallback,ke=t.unstable_cancelCallback,Ae=t.unstable_shouldYield,je=t.unstable_requestPaint,Me=t.unstable_now,Ne=t.unstable_getCurrentPriorityLevel,Pe=t.unstable_ImmediatePriority,Fe=t.unstable_UserBlockingPriority,Ie=t.unstable_NormalPriority,Le=t.unstable_LowPriority,Re=t.unstable_IdlePriority,ze=t.log,Be=t.unstable_setDisableYieldValue,Ve=null,He=null;function Ue(e){if(typeof ze==`function`&&Be(e),He&&typeof He.setStrictMode==`function`)try{He.setStrictMode(Ve,e)}catch{}}var We=Math.clz32?Math.clz32:qe,Ge=Math.log,Ke=Math.LN2;function qe(e){return e>>>=0,e===0?32:31-(Ge(e)/Ke|0)|0}var Je=256,Ye=262144,Xe=4194304;function Ze(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 Qe(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Ze(n))):i=Ze(o):i=Ze(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ze(n))):i=Ze(o)):i=Ze(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function $e(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function et(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 tt(){var e=Xe;return Xe<<=1,!(Xe&62914560)&&(Xe=4194304),e}function nt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function rt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function it(e,t,n,r,i,a){var o=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 s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-We(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&at(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function at(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-We(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function ot(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-We(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function st(e,t){var n=t&-t;return n=n&42?1:ct(n),(n&(e.suspendedLanes|t))===0?n:0}function ct(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 lt(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function ut(){var e=k.p;return e===0?(e=window.event,e===void 0?32:mp(e.type)):e}function dt(e,t){var n=k.p;try{return k.p=e,t()}finally{k.p=n}}var ft=Math.random().toString(36).slice(2),pt=`__reactFiber$`+ft,mt=`__reactProps$`+ft,ht=`__reactContainer$`+ft,gt=`__reactEvents$`+ft,_t=`__reactListeners$`+ft,vt=`__reactHandles$`+ft,yt=`__reactResources$`+ft,bt=`__reactMarker$`+ft;function xt(e){delete e[pt],delete e[mt],delete e[gt],delete e[_t],delete e[vt]}function St(e){var t=e[pt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ht]||n[pt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=df(e);e!==null;){if(n=e[pt])return n;e=df(e)}return t}e=n,n=e.parentNode}return null}function Ct(e){if(e=e[pt]||e[ht]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function wt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function Tt(e){var t=e[yt];return t||=e[yt]={hoistableStyles:new Map,hoistableScripts:new Map},t}function M(e){e[bt]=!0}var Et=new Set,Dt={};function Ot(e,t){kt(e,t),kt(e+`Capture`,t)}function kt(e,t){for(Dt[e]=t,e=0;e<t.length;e++)Et.add(t[e])}var At=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]*$`),jt={},Mt={};function Nt(e){return De.call(Mt,e)?!0:De.call(jt,e)?!1:At.test(e)?Mt[e]=!0:(jt[e]=!0,!1)}function Pt(e,t,n){if(Nt(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 Ft(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 It(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 Lt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Rt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function zt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Bt(e){if(!e._valueTracker){var t=Rt(e)?`checked`:`value`;e._valueTracker=zt(e,t,``+e[t])}}function Vt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Rt(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function Ht(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Ut=/[\n"\\]/g;function Wt(e){return e.replace(Ut,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Gt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Lt(t)):e.value!==``+Lt(t)&&(e.value=``+Lt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):qt(e,o,Lt(n)):qt(e,o,Lt(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Lt(s):e.removeAttribute(`name`)}function Kt(e,t,n,r,i,a,o,s){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)){Bt(e);return}n=n==null?``:``+Lt(n),t=t==null?n:``+Lt(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Bt(e)}function qt(e,t,n){t===`number`&&Ht(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Jt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Lt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Yt(e,t,n){if(t!=null&&(t=``+Lt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Lt(n)}function Xt(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(se(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=Lt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Bt(e)}function Zt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Qt=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 $t(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||Qt.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function en(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(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 a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&$t(e,a,r)}else for(var o in t)t.hasOwnProperty(o)&&$t(e,o,t[o])}function tn(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 nn=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`]]),rn=/^[\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 an(e){return rn.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function on(){}var sn=null;function cn(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ln=null,un=null;function dn(e){var t=Ct(e);if(t&&(e=t.stateNode)){var n=e[mt]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Gt(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="`+Wt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[mt]||null;if(!a)throw Error(i(90));Gt(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&Vt(r)}break a;case`textarea`:Yt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Jt(e,!!n.multiple,t,!1)}}}var fn=!1;function pn(e,t,n){if(fn)return e(t,n);fn=!0;try{return e(t)}finally{if(fn=!1,(ln!==null||un!==null)&&(bu(),ln&&(t=ln,e=un,un=ln=null,dn(t),e)))for(t=0;t<e.length;t++)dn(e[t])}}function mn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[mt]||null;if(r===null)return null;n=r[t];a: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 a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var hn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),gn=!1;if(hn)try{var _n={};Object.defineProperty(_n,"passive",{get:function(){gn=!0}}),window.addEventListener(`test`,_n,_n),window.removeEventListener(`test`,_n,_n)}catch{gn=!1}var vn=null,yn=null,bn=null;function xn(){if(bn)return bn;var e,t=yn,n=t.length,r,i=`value`in vn?vn.value:vn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return bn=i.slice(e,1<r?1-r:void 0)}function Sn(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 Cn(){return!0}function wn(){return!1}function Tn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?Cn:wn,this.isPropagationStopped=wn,this}return h(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=Cn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Cn)},persist:function(){},isPersistent:Cn}),t}var En={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Dn=Tn(En),On=h({},En,{view:0,detail:0}),kn=Tn(On),An,jn,Mn,Nn=h({},On,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Wn,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!==Mn&&(Mn&&e.type===`mousemove`?(An=e.screenX-Mn.screenX,jn=e.screenY-Mn.screenY):jn=An=0,Mn=e),An)},movementY:function(e){return`movementY`in e?e.movementY:jn}}),Pn=Tn(Nn),Fn=Tn(h({},Nn,{dataTransfer:0})),In=Tn(h({},On,{relatedTarget:0})),Ln=Tn(h({},En,{animationName:0,elapsedTime:0,pseudoElement:0})),Rn=Tn(h({},En,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),zn=Tn(h({},En,{data:0})),Bn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Vn={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`},Hn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Un(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Hn[e])?!!t[e]:!1}function Wn(){return Un}var Gn=Tn(h({},On,{key:function(e){if(e.key){var t=Bn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=Sn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Vn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Wn,charCode:function(e){return e.type===`keypress`?Sn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?Sn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Kn=Tn(h({},Nn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),qn=Tn(h({},On,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Wn})),Jn=Tn(h({},En,{propertyName:0,elapsedTime:0,pseudoElement:0})),Yn=Tn(h({},Nn,{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})),Xn=Tn(h({},En,{newState:0,oldState:0})),Zn=[9,13,27,32],Qn=hn&&`CompositionEvent`in window,$n=null;hn&&`documentMode`in document&&($n=document.documentMode);var er=hn&&`TextEvent`in window&&!$n,tr=hn&&(!Qn||$n&&8<$n&&11>=$n),nr=` `,rr=!1;function ir(e,t){switch(e){case`keyup`:return Zn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function ar(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var or=!1;function sr(e,t){switch(e){case`compositionend`:return ar(t);case`keypress`:return t.which===32?(rr=!0,nr):null;case`textInput`:return e=t.data,e===nr&&rr?null:e;default:return null}}function cr(e,t){if(or)return e===`compositionend`||!Qn&&ir(e,t)?(e=xn(),bn=yn=vn=null,or=!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 tr&&t.locale!==`ko`?null:t.data;default:return null}}var lr={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 ur(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!lr[e.type]:t===`textarea`}function dr(e,t,n,r){ln?un?un.push(r):un=[r]:ln=r,t=Ed(t,`onChange`),0<t.length&&(n=new Dn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var fr=null,pr=null;function mr(e){yd(e,0)}function hr(e){if(Vt(wt(e)))return e}function gr(e,t){if(e===`change`)return t}var _r=!1;if(hn){var vr;if(hn){var yr=`oninput`in document;if(!yr){var br=document.createElement(`div`);br.setAttribute(`oninput`,`return;`),yr=typeof br.oninput==`function`}vr=yr}else vr=!1;_r=vr&&(!document.documentMode||9<document.documentMode)}function xr(){fr&&(fr.detachEvent(`onpropertychange`,Sr),pr=fr=null)}function Sr(e){if(e.propertyName===`value`&&hr(pr)){var t=[];dr(t,pr,e,cn(e)),pn(mr,t)}}function Cr(e,t,n){e===`focusin`?(xr(),fr=t,pr=n,fr.attachEvent(`onpropertychange`,Sr)):e===`focusout`&&xr()}function wr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return hr(pr)}function Tr(e,t){if(e===`click`)return hr(t)}function Er(e,t){if(e===`input`||e===`change`)return hr(t)}function Dr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Or=typeof Object.is==`function`?Object.is:Dr;function kr(e,t){if(Or(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)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 i=n[r];if(!De.call(t,i)||!Or(e[i],t[i]))return!1}return!0}function Ar(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function jr(e,t){var n=Ar(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}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Ar(n)}}function Mr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Mr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Nr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ht(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=Ht(e.document)}return t}function Pr(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 Fr=hn&&`documentMode`in document&&11>=document.documentMode,Ir=null,Lr=null,Rr=null,zr=!1;function Br(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;zr||Ir==null||Ir!==Ht(r)||(r=Ir,`selectionStart`in r&&Pr(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}),Rr&&kr(Rr,r)||(Rr=r,r=Ed(Lr,`onSelect`),0<r.length&&(t=new Dn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Ir)))}function Vr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Hr={animationend:Vr(`Animation`,`AnimationEnd`),animationiteration:Vr(`Animation`,`AnimationIteration`),animationstart:Vr(`Animation`,`AnimationStart`),transitionrun:Vr(`Transition`,`TransitionRun`),transitionstart:Vr(`Transition`,`TransitionStart`),transitioncancel:Vr(`Transition`,`TransitionCancel`),transitionend:Vr(`Transition`,`TransitionEnd`)},Ur={},Wr={};hn&&(Wr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Hr.animationend.animation,delete Hr.animationiteration.animation,delete Hr.animationstart.animation),`TransitionEvent`in window||delete Hr.transitionend.transition);function Gr(e){if(Ur[e])return Ur[e];if(!Hr[e])return e;var t=Hr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Wr)return Ur[e]=t[n];return e}var Kr=Gr(`animationend`),qr=Gr(`animationiteration`),Jr=Gr(`animationstart`),Yr=Gr(`transitionrun`),Xr=Gr(`transitionstart`),Zr=Gr(`transitioncancel`),Qr=Gr(`transitionend`),$r=new Map,ei=`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(` `);ei.push(`scrollEnd`);function ti(e,t){$r.set(e,t),Ot(t,[e])}var ni=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&&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)},ri=[],ii=0,ai=0;function oi(){for(var e=ii,t=ai=ii=0;t<e;){var n=ri[t];ri[t++]=null;var r=ri[t];ri[t++]=null;var i=ri[t];ri[t++]=null;var a=ri[t];if(ri[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&ui(n,i,a)}}function si(e,t,n,r){ri[ii++]=e,ri[ii++]=t,ri[ii++]=n,ri[ii++]=r,ai|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function ci(e,t,n,r){return si(e,t,n,r),di(e)}function li(e,t){return si(e,null,null,t),di(e)}function ui(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!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||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-We(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function di(e){if(50<du)throw du=0,fu=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var fi={};function pi(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 mi(e,t,n,r){return new pi(e,t,n,r)}function hi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function gi(e,t){var n=e.alternate;return n===null?(n=mi(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 _i(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 vi(e,t,n,r,a,o){var s=0;if(r=e,typeof e==`function`)hi(e)&&(s=1);else if(typeof e==`string`)s=Uf(e,n,fe.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case te:return e=mi(31,n,t,a),e.elementType=te,e.lanes=o,e;case y:return yi(n.children,a,o,t);case b:s=8,a|=24;break;case x:return e=mi(12,n,t,a|2),e.elementType=x,e.lanes=o,e;case T:return e=mi(13,n,t,a),e.elementType=T,e.lanes=o,e;case E:return e=mi(19,n,t,a),e.elementType=E,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case C:s=10;break a;case S:s=9;break a;case w:s=11;break a;case ee:s=14;break a;case D:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=mi(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function yi(e,t,n,r){return e=mi(7,e,r,t),e.lanes=n,e}function bi(e,t,n){return e=mi(6,e,null,t),e.lanes=n,e}function xi(e){var t=mi(18,null,null,0);return t.stateNode=e,t}function Si(e,t,n){return t=mi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Ci=new WeakMap;function wi(e,t){if(typeof e==`object`&&e){var n=Ci.get(e);return n===void 0?(t={value:e,source:t,stack:Ee(t)},Ci.set(e,t),t):n}return{value:e,source:t,stack:Ee(t)}}var Ti=[],Ei=0,Di=null,Oi=0,ki=[],Ai=0,ji=null,Mi=1,Ni=``;function Pi(e,t){Ti[Ei++]=Oi,Ti[Ei++]=Di,Di=e,Oi=t}function Fi(e,t,n){ki[Ai++]=Mi,ki[Ai++]=Ni,ki[Ai++]=ji,ji=e;var r=Mi;e=Ni;var i=32-We(r)-1;r&=~(1<<i),n+=1;var a=32-We(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Mi=1<<32-We(t)+i|n<<i|r,Ni=a+e}else Mi=1<<a|n<<i|r,Ni=e}function Ii(e){e.return!==null&&(Pi(e,1),Fi(e,1,0))}function Li(e){for(;e===Di;)Di=Ti[--Ei],Ti[Ei]=null,Oi=Ti[--Ei],Ti[Ei]=null;for(;e===ji;)ji=ki[--Ai],ki[Ai]=null,Ni=ki[--Ai],ki[Ai]=null,Mi=ki[--Ai],ki[Ai]=null}function Ri(e,t){ki[Ai++]=Mi,ki[Ai++]=Ni,ki[Ai++]=ji,Mi=t.id,Ni=t.overflow,ji=e}var zi=null,N=null,P=!1,Bi=null,Vi=!1,Hi=Error(i(519));function Ui(e){throw Yi(wi(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Hi}function Wi(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[pt]=e,t[mt]=r,n){case`dialog`:Q(`cancel`,t),Q(`close`,t);break;case`iframe`:case`object`:case`embed`:Q(`load`,t);break;case`video`:case`audio`:for(n=0;n<_d.length;n++)Q(_d[n],t);break;case`source`:Q(`error`,t);break;case`img`:case`image`:case`link`:Q(`error`,t),Q(`load`,t);break;case`details`:Q(`toggle`,t);break;case`input`:Q(`invalid`,t),Kt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:Q(`invalid`,t);break;case`textarea`:Q(`invalid`,t),Xt(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||Md(t.textContent,n)?(r.popover!=null&&(Q(`beforetoggle`,t),Q(`toggle`,t)),r.onScroll!=null&&Q(`scroll`,t),r.onScrollEnd!=null&&Q(`scrollend`,t),r.onClick!=null&&(t.onclick=on),t=!0):t=!1,t||Ui(e,!0)}function Gi(e){for(zi=e.return;zi;)switch(zi.tag){case 5:case 31:case 13:Vi=!1;return;case 27:case 3:Vi=!0;return;default:zi=zi.return}}function Ki(e){if(e!==zi)return!1;if(!P)return Gi(e),P=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==`form`&&n!==`button`)||Ud(e.type,e.memoizedProps)),n=!n),n&&N&&Ui(e),Gi(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));N=uf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));N=uf(e)}else t===27?(t=N,Zd(e.type)?(e=lf,lf=null,N=e):N=t):N=zi?cf(e.stateNode.nextSibling):null;return!0}function qi(){N=zi=null,P=!1}function Ji(){var e=Bi;return e!==null&&(Zl===null?Zl=e:Zl.push.apply(Zl,e),Bi=null),e}function Yi(e){Bi===null?Bi=[e]:Bi.push(e)}var Xi=de(null),Zi=null,Qi=null;function $i(e,t,n){j(Xi,t._currentValue),t._currentValue=n}function ea(e){e._currentValue=Xi.current,A(Xi)}function ta(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function na(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),ta(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),ta(s,n,e),s=null}else s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function ra(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;Or(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===he.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[Qf]:e.push(Qf))}a=a.return}e!==null&&na(t,e,n,r),t.flags|=262144}function ia(e){for(e=e.firstContext;e!==null;){if(!Or(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function aa(e){Zi=e,Qi=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function oa(e){return ca(Zi,e)}function sa(e,t){return Zi===null&&aa(e),ca(e,t)}function ca(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Qi===null){if(e===null)throw Error(i(308));Qi=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Qi=Qi.next=t;return n}var la=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ua=t.unstable_scheduleCallback,da=t.unstable_NormalPriority,F={$$typeof:C,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function fa(){return{controller:new la,data:new Map,refCount:0}}function pa(e){e.refCount--,e.refCount===0&&ua(da,function(){e.controller.abort()})}var ma=null,ha=0,ga=0,_a=null;function va(e,t){if(ma===null){var n=ma=[];ha=0,ga=dd(),_a={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return ha++,t.then(ya,ya),t}function ya(){if(--ha===0&&ma!==null){_a!==null&&(_a.status=`fulfilled`);var e=ma;ma=null,ga=0,_a=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function ba(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var xa=O.S;O.S=function(e,t){eu=Me(),typeof t==`object`&&t&&typeof t.then==`function`&&va(e,t),xa!==null&&xa(e,t)};var Sa=de(null);function Ca(){var e=Sa.current;return e===null?K.pooledCache:e}function wa(e,t){t===null?j(Sa,Sa.current):j(Sa,t.pool)}function Ta(){var e=Ca();return e===null?null:{parent:F._currentValue,pool:e}}var Ea=Error(i(460)),Da=Error(i(474)),Oa=Error(i(542)),ka={then:function(){}};function Aa(e){return e=e.status,e===`fulfilled`||e===`rejected`}function ja(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(on,on),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Fa(e),e;default:if(typeof t.status==`string`)t.then(on,on);else{if(e=K,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Fa(e),e}throw Na=t,Ea}}function Ma(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(Na=e,Ea):e}}var Na=null;function Pa(){if(Na===null)throw Error(i(459));var e=Na;return Na=null,e}function Fa(e){if(e===Ea||e===Oa)throw Error(i(483))}var Ia=null,La=0;function Ra(e){var t=La;return La+=1,Ia===null&&(Ia=[]),ja(Ia,e,t)}function za(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Ba(e,t){throw t.$$typeof===g?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Va(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=gi(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=bi(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===y?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===D&&Ma(i)===t.type)?(t=a(t,n.props),za(t,n),t.return=e,t):(t=vi(n.type,n.key,n.props,null,e.mode,r),za(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Si(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=yi(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=bi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case _:return n=vi(t.type,t.key,t.props,null,e.mode,n),za(n,t),n.return=e,n;case v:return t=Si(t,e.mode,n),t.return=e,t;case D:return t=Ma(t),f(e,t,n)}if(se(t)||ie(t))return t=yi(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Ra(t),n);if(t.$$typeof===C)return f(e,sa(e,t),n);Ba(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case _:return n.key===i?l(e,t,n,r):null;case v:return n.key===i?u(e,t,n,r):null;case D:return n=Ma(n),p(e,t,n,r)}if(se(n)||ie(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Ra(n),r);if(n.$$typeof===C)return p(e,t,sa(e,n),r);Ba(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case _:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case v:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case D:return r=Ma(r),m(e,t,n,r,i)}if(se(r)||ie(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,Ra(r),i);if(r.$$typeof===C)return m(e,t,n,sa(t,r),i);Ba(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),P&&Pi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return P&&Pi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),P&&Pi(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),P&&Pi(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return P&&Pi(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),P&&Pi(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===D&&Ma(l)===r.type){n(e,r.sibling),c=a(r,o.props),za(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===y?(c=yi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=vi(o.type,o.key,o.props,null,e.mode,c),za(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=Si(o,e.mode,c),c.return=e,e=c}return s(e);case D:return o=Ma(o),b(e,r,o,c)}if(se(o))return h(e,r,o,c);if(ie(o)){if(l=ie(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Ra(o),c);if(o.$$typeof===C)return b(e,r,sa(e,o),c);Ba(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=bi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{La=0;var i=b(e,t,n,r);return Ia=null,i}catch(t){if(t===Ea||t===Oa)throw t;var a=mi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ha=Va(!0),Ua=Va(!1),Wa=!1;function Ga(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ka(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 qa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ja(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,G&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=di(e),ui(e,null,n),t}return si(e,r,t,n),di(e)}function Ya(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ot(e,n)}}function Xa(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,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 Za=!1;function Qa(){if(Za){var e=_a;if(e!==null)throw e}}function $a(e,t,n,r){Za=!1;var i=e.updateQueue;Wa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(J&f)===f:(r&f)===f){f!==0&&f===ga&&(Za=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:Wa=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Gl|=o,e.lanes=o,e.memoizedState=d}}function eo(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function to(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)eo(n[e],t)}var no=de(null),ro=de(0);function io(e,t){e=Wl,j(ro,e),j(no,t),Wl=e|t.baseLanes}function ao(){j(ro,Wl),j(no,no.current)}function oo(){Wl=ro.current,A(no),A(ro)}var so=de(null),co=null;function lo(e){var t=e.alternate;j(I,I.current&1),j(so,e),co===null&&(t===null||no.current!==null||t.memoizedState!==null)&&(co=e)}function uo(e){j(I,I.current),j(so,e),co===null&&(co=e)}function fo(e){e.tag===22?(j(I,I.current),j(so,e),co===null&&(co=e)):po(e)}function po(){j(I,I.current),j(so,so.current)}function mo(e){A(so),co===e&&(co=null),A(I)}var I=de(0);function ho(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||af(n)||of(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)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 go=0,L=null,R=null,z=null,_o=!1,vo=!1,yo=!1,bo=0,xo=0,So=null,Co=0;function B(){throw Error(i(321))}function wo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Or(e[n],t[n]))return!1;return!0}function To(e,t,n,r,i,a){return go=a,L=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,O.H=e===null||e.memoizedState===null?Vs:Hs,yo=!1,a=n(r,i),yo=!1,vo&&(a=Do(t,n,r,i)),Eo(e),a}function Eo(e){O.H=Bs;var t=R!==null&&R.next!==null;if(go=0,z=R=L=null,_o=!1,xo=0,So=null,t)throw Error(i(300));e===null||H||(e=e.dependencies,e!==null&&ia(e)&&(H=!0))}function Do(e,t,n,r){L=e;var a=0;do{if(vo&&(So=null),xo=0,vo=!1,25<=a)throw Error(i(301));if(a+=1,z=R=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}O.H=Us,o=t(n,r)}while(vo);return o}function Oo(){var e=O.H,t=e.useState()[0];return t=typeof t.then==`function`?Po(t):t,e=e.useState()[0],(R===null?null:R.memoizedState)!==e&&(L.flags|=1024),t}function ko(){var e=bo!==0;return bo=0,e}function Ao(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function jo(e){if(_o){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}_o=!1}go=0,z=R=L=null,vo=!1,xo=bo=0,So=null}function Mo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return z===null?L.memoizedState=z=e:z=z.next=e,z}function V(){if(R===null){var e=L.alternate;e=e===null?null:e.memoizedState}else e=R.next;var t=z===null?L.memoizedState:z.next;if(t!==null)z=t,R=e;else{if(e===null)throw L.alternate===null?Error(i(467)):Error(i(310));R=e,e={memoizedState:R.memoizedState,baseState:R.baseState,baseQueue:R.baseQueue,queue:R.queue,next:null},z===null?L.memoizedState=z=e:z=z.next=e}return z}function No(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Po(e){var t=xo;return xo+=1,So===null&&(So=[]),e=ja(So,e,t),t=L,(z===null?t.memoizedState:z.next)===null&&(t=t.alternate,O.H=t===null||t.memoizedState===null?Vs:Hs),e}function Fo(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Po(e);if(e.$$typeof===C)return oa(e)}throw Error(i(438,String(e)))}function Io(e){var t=null,n=L.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=L.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=No(),L.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]=ne;return t.index++,n}function Lo(e,t){return typeof t==`function`?t(e):t}function Ro(e){return zo(V(),R,e)}function zo(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(go&f)===f:(J&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===ga&&(d=!0);else if((go&p)===p){u=u.next,p===ga&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,L.lanes|=p,Gl|=p;f=u.action,yo&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,L.lanes|=f,Gl|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!Or(o,e.memoizedState)&&(H=!0,d&&(n=_a,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Bo(e){var t=V(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);Or(o,t.memoizedState)||(H=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Vo(e,t,n){var r=L,a=V(),o=P;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!Or((R||a).memoizedState,n);if(s&&(a.memoizedState=n,H=!0),a=a.queue,fs(Wo.bind(null,r,a,e),[e]),a.getSnapshot!==t||s||z!==null&&z.memoizedState.tag&1){if(r.flags|=2048,ss(9,{destroy:void 0},Uo.bind(null,r,a,n,t),null),K===null)throw Error(i(349));o||go&127||Ho(r,t,n)}return n}function Ho(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=L.updateQueue,t===null?(t=No(),L.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Uo(e,t,n,r){t.value=n,t.getSnapshot=r,Go(t)&&Ko(e)}function Wo(e,t,n){return n(function(){Go(t)&&Ko(e)})}function Go(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Or(e,n)}catch{return!0}}function Ko(e){var t=li(e,2);t!==null&&hu(t,e,2)}function qo(e){var t=Mo();if(typeof e==`function`){var n=e;if(e=n(),yo){Ue(!0);try{n()}finally{Ue(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Lo,lastRenderedState:e},t}function Jo(e,t,n,r){return e.baseState=n,zo(e,R,typeof r==`function`?r:Lo)}function Yo(e,t,n,r,a){if(Ls(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};O.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Xo(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Xo(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=O.T,o={};O.T=o;try{var s=n(i,r),c=O.S;c!==null&&c(o,s),Zo(e,t,s)}catch(n){$o(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),O.T=a}}else try{a=n(i,r),Zo(e,t,a)}catch(n){$o(e,t,n)}}function Zo(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Qo(e,t,n)},function(n){return $o(e,t,n)}):Qo(e,t,n)}function Qo(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,Xo(e,n)))}function $o(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 ns(e,t){if(P){var n=K.formState;if(n!==null){a:{var r=L;if(P){if(N){b:{for(var i=N,a=Vi;i.nodeType!==8;){if(!a){i=null;break b}if(i=cf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){N=cf(i.nextSibling),r=i.data===`F!`;break a}}Ui(r)}r=!1}r&&(t=n[0])}}return n=Mo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ts,lastRenderedState:t},n.queue=r,n=Ps.bind(null,L,r),r.dispatch=n,r=qo(!1),a=Is.bind(null,L,!1,r.queue),r=Mo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Yo.bind(null,L,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function rs(e){return is(V(),R,e)}function is(e,t,n){if(t=zo(e,t,ts)[0],e=Ro(Lo)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Po(t)}catch(e){throw e===Ea?Oa:e}else r=t;t=V();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(L.flags|=2048,ss(9,{destroy:void 0},as.bind(null,i,n),null)),[r,a,e]}function as(e,t){e.action=t}function os(e){var t=V(),n=R;if(n!==null)return is(t,n,e);V(),t=t.memoizedState,n=V();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ss(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=L.updateQueue,t===null&&(t=No(),L.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 cs(){return V().memoizedState}function ls(e,t,n,r){var i=Mo();L.flags|=e,i.memoizedState=ss(1|t,{destroy:void 0},n,r===void 0?null:r)}function us(e,t,n,r){var i=V();r=r===void 0?null:r;var a=i.memoizedState.inst;R!==null&&r!==null&&wo(r,R.memoizedState.deps)?i.memoizedState=ss(t,a,n,r):(L.flags|=e,i.memoizedState=ss(1|t,a,n,r))}function ds(e,t){ls(8390656,8,e,t)}function fs(e,t){us(2048,8,e,t)}function ps(e){L.flags|=4;var t=L.updateQueue;if(t===null)t=No(),L.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function ms(e){var t=V().memoizedState;return ps({ref:t,nextImpl:e}),function(){if(G&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function hs(e,t){return us(4,2,e,t)}function gs(e,t){return us(4,4,e,t)}function _s(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 vs(e,t,n){n=n==null?null:n.concat([e]),us(4,4,_s.bind(null,t,e),n)}function ys(){}function bs(e,t){var n=V();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&wo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function xs(e,t){var n=V();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&wo(t,r[1]))return r[0];if(r=e(),yo){Ue(!0);try{e()}finally{Ue(!1)}}return n.memoizedState=[r,t],r}function Ss(e,t,n){return n===void 0||go&1073741824&&!(J&261930)?e.memoizedState=t:(e.memoizedState=n,e=mu(),L.lanes|=e,Gl|=e,n)}function Cs(e,t,n,r){return Or(n,t)?n:no.current===null?!(go&42)||go&1073741824&&!(J&261930)?(H=!0,e.memoizedState=n):(e=mu(),L.lanes|=e,Gl|=e,t):(e=Ss(e,n,r),Or(e,t)||(H=!0),e)}function ws(e,t,n,r,i){var a=k.p;k.p=a!==0&&8>a?a:8;var o=O.T,s={};O.T=s,Is(e,!1,t,n);try{var c=i(),l=O.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Fs(e,t,ba(c,r),pu(e)):Fs(e,t,r,pu(e))}catch(n){Fs(e,t,{then:function(){},status:`rejected`,reason:n},pu())}finally{k.p=a,o!==null&&s.types!==null&&(o.types=s.types),O.T=o}}function Ts(){}function Es(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Ds(e).queue;ws(e,a,t,ce,n===null?Ts:function(){return Os(e),n(r)})}function Ds(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ce,baseState:ce,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Lo,lastRenderedState:ce},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Lo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Os(e){var t=Ds(e);t.next===null&&(t=e.alternate.memoizedState),Fs(e,t.next.queue,{},pu())}function ks(){return oa(Qf)}function As(){return V().memoizedState}function js(){return V().memoizedState}function Ms(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=pu();e=qa(n);var r=Ja(t,e,n);r!==null&&(hu(r,t,n),Ya(r,t,n)),t={cache:fa()},e.payload=t;return}t=t.return}}function Ns(e,t,n){var r=pu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ls(e)?Rs(t,n):(n=ci(e,t,n,r),n!==null&&(hu(n,e,r),zs(n,t,r)))}function Ps(e,t,n){Fs(e,t,n,pu())}function Fs(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ls(e))Rs(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Or(s,o))return si(e,t,i,0),K===null&&oi(),!1}catch{}if(n=ci(e,t,i,r),n!==null)return hu(n,e,r),zs(n,t,r),!0}return!1}function Is(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ls(e)){if(t)throw Error(i(479))}else t=ci(e,n,r,2),t!==null&&hu(t,e,2)}function Ls(e){var t=e.alternate;return e===L||t!==null&&t===L}function Rs(e,t){vo=_o=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ot(e,n)}}var Bs={readContext:oa,use:Fo,useCallback:B,useContext:B,useEffect:B,useImperativeHandle:B,useLayoutEffect:B,useInsertionEffect:B,useMemo:B,useReducer:B,useRef:B,useState:B,useDebugValue:B,useDeferredValue:B,useTransition:B,useSyncExternalStore:B,useId:B,useHostTransitionStatus:B,useFormState:B,useActionState:B,useOptimistic:B,useMemoCache:B,useCacheRefresh:B};Bs.useEffectEvent=B;var Vs={readContext:oa,use:Fo,useCallback:function(e,t){return Mo().memoizedState=[e,t===void 0?null:t],e},useContext:oa,useEffect:ds,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),ls(4194308,4,_s.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ls(4194308,4,e,t)},useInsertionEffect:function(e,t){ls(4,2,e,t)},useMemo:function(e,t){var n=Mo();t=t===void 0?null:t;var r=e();if(yo){Ue(!0);try{e()}finally{Ue(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Mo();if(n!==void 0){var i=n(t);if(yo){Ue(!0);try{n(t)}finally{Ue(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ns.bind(null,L,e),[r.memoizedState,e]},useRef:function(e){var t=Mo();return e={current:e},t.memoizedState=e},useState:function(e){e=qo(e);var t=e.queue,n=Ps.bind(null,L,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ys,useDeferredValue:function(e,t){return Ss(Mo(),e,t)},useTransition:function(){var e=qo(!1);return e=ws.bind(null,L,e.queue,!0,!1),Mo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=L,a=Mo();if(P){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),K===null)throw Error(i(349));J&127||Ho(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ds(Wo.bind(null,r,o,e),[e]),r.flags|=2048,ss(9,{destroy:void 0},Uo.bind(null,r,o,n,t),null),n},useId:function(){var e=Mo(),t=K.identifierPrefix;if(P){var n=Ni,r=Mi;n=(r&~(1<<32-We(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=bo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=Co++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:ks,useFormState:ns,useActionState:ns,useOptimistic:function(e){var t=Mo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Is.bind(null,L,!0,n),n.dispatch=t,[e,t]},useMemoCache:Io,useCacheRefresh:function(){return Mo().memoizedState=Ms.bind(null,L)},useEffectEvent:function(e){var t=Mo(),n={impl:e};return t.memoizedState=n,function(){if(G&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},Hs={readContext:oa,use:Fo,useCallback:bs,useContext:oa,useEffect:fs,useImperativeHandle:vs,useInsertionEffect:hs,useLayoutEffect:gs,useMemo:xs,useReducer:Ro,useRef:cs,useState:function(){return Ro(Lo)},useDebugValue:ys,useDeferredValue:function(e,t){return Cs(V(),R.memoizedState,e,t)},useTransition:function(){var e=Ro(Lo)[0],t=V().memoizedState;return[typeof e==`boolean`?e:Po(e),t]},useSyncExternalStore:Vo,useId:As,useHostTransitionStatus:ks,useFormState:rs,useActionState:rs,useOptimistic:function(e,t){return Jo(V(),R,e,t)},useMemoCache:Io,useCacheRefresh:js};Hs.useEffectEvent=ms;var Us={readContext:oa,use:Fo,useCallback:bs,useContext:oa,useEffect:fs,useImperativeHandle:vs,useInsertionEffect:hs,useLayoutEffect:gs,useMemo:xs,useReducer:Bo,useRef:cs,useState:function(){return Bo(Lo)},useDebugValue:ys,useDeferredValue:function(e,t){var n=V();return R===null?Ss(n,e,t):Cs(n,R.memoizedState,e,t)},useTransition:function(){var e=Bo(Lo)[0],t=V().memoizedState;return[typeof e==`boolean`?e:Po(e),t]},useSyncExternalStore:Vo,useId:As,useHostTransitionStatus:ks,useFormState:os,useActionState:os,useOptimistic:function(e,t){var n=V();return R===null?(n.baseState=e,[e,n.queue.dispatch]):Jo(n,R,e,t)},useMemoCache:Io,useCacheRefresh:js};Us.useEffectEvent=ms;function Ws(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:h({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Gs={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=pu(),i=qa(r);i.payload=t,n!=null&&(i.callback=n),t=Ja(e,i,r),t!==null&&(hu(t,e,r),Ya(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=pu(),i=qa(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Ja(e,i,r),t!==null&&(hu(t,e,r),Ya(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=pu(),r=qa(n);r.tag=2,t!=null&&(r.callback=t),t=Ja(e,r,n),t!==null&&(hu(t,e,n),Ya(t,e,n))}};function Ks(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!kr(n,r)||!kr(i,a):!0}function qs(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&&Gs.enqueueReplaceState(t,t.state,null)}function Js(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=h({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Ys(e){ni(e)}function Xs(e){console.error(e)}function Zs(e){ni(e)}function Qs(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function $s(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function ec(e,t,n){return n=qa(n),n.tag=3,n.payload={element:null},n.callback=function(){Qs(e,t)},n}function tc(e){return e=qa(e),e.tag=3,e}function nc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){$s(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){$s(t,n,r),typeof i!=`function`&&(ru===null?ru=new Set([this]):ru.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function rc(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&ra(t,n,a,!0),n=so.current,n!==null){switch(n.tag){case 31:case 13:return co===null?Du():n.alternate===null&&X===0&&(X=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===ka?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Gu(e,r,a)),!1;case 22:return n.flags|=65536,r===ka?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)),Gu(e,r,a)),!1}throw Error(i(435,n.tag))}return Gu(e,r,a),Du(),!1}if(P)return t=so.current,t===null?(r!==Hi&&(t=Error(i(423),{cause:r}),Yi(wi(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=wi(r,n),a=ec(e.stateNode,r,a),Xa(e,a),X!==4&&(X=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==Hi&&(e=Error(i(422),{cause:r}),Yi(wi(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=wi(o,n),Xl===null?Xl=[o]:Xl.push(o),X!==4&&(X=2),t===null)return!0;r=wi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=ec(n.stateNode,r,e),Xa(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(ru===null||!ru.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=tc(a),nc(a,e,n,r),Xa(n,a),!1}n=n.return}while(n!==null);return!1}var ic=Error(i(461)),H=!1;function ac(e,t,n,r){t.child=e===null?Ua(t,null,n,r):Ha(t,e.child,n,r)}function oc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return aa(t),r=To(e,t,n,o,a,i),s=ko(),e!==null&&!H?(Ao(e,t,i),Ac(e,t,i)):(P&&s&&Ii(t),t.flags|=1,ac(e,t,r,i),t.child)}function sc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!hi(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,cc(e,t,a,r,i)):(e=vi(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!jc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?kr:n,n(o,r)&&e.ref===t.ref)return Ac(e,t,i)}return t.flags|=1,e=gi(a,r),e.ref=t.ref,e.return=t,t.child=e}function cc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(kr(a,r)&&e.ref===t.ref)if(H=!1,t.pendingProps=r=a,jc(e,i))e.flags&131072&&(H=!0);else return t.lanes=e.lanes,Ac(e,t,i)}return gc(e,t,n,r,i)}function lc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return dc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&wa(t,a===null?null:a.cachePool),a===null?ao():io(t,a),fo(t);else return r=t.lanes=536870912,dc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&wa(t,null),ao(),po(t)):(wa(t,a.cachePool),io(t,a),po(t),t.memoizedState=null);return ac(e,t,i,n),t.child}function uc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function dc(e,t,n,r,i){var a=Ca();return a=a===null?null:{parent:F._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&wa(t,null),ao(),fo(t),e!==null&&ra(e,t,r,!0),t.childLanes=i,null}function fc(e,t){return t=Tc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function pc(e,t,n){return Ha(t,e.child,null,n),e=fc(t,t.pendingProps),e.flags|=2,mo(t),t.memoizedState=null,e}function mc(e,t,n){var r=t.pendingProps,a=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(P){if(r.mode===`hidden`)return e=fc(t,r),t.lanes=536870912,uc(null,e);if(uo(t),(e=N)?(e=rf(e,Vi),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ji===null?null:{id:Mi,overflow:Ni},retryLane:536870912,hydrationErrors:null},n=xi(e),n.return=t,t.child=n,zi=t,N=null)):e=null,e===null)throw Ui(t);return t.lanes=536870912,null}return fc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(uo(t),a)if(t.flags&256)t.flags&=-257,t=pc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558));else if(H||ra(e,t,n,!1),a=(n&e.childLanes)!==0,H||a){if(r=K,r!==null&&(s=st(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,li(e,s),hu(r,e,s),ic;Du(),t=pc(e,t,n)}else e=o.treeContext,N=cf(s.nextSibling),zi=t,P=!0,Bi=null,Vi=!1,e!==null&&Ri(t,e),t=fc(t,r),t.flags|=4096;return t}return e=gi(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function hc(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(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function gc(e,t,n,r,i){return aa(t),n=To(e,t,n,r,void 0,i),r=ko(),e!==null&&!H?(Ao(e,t,i),Ac(e,t,i)):(P&&r&&Ii(t),t.flags|=1,ac(e,t,n,i),t.child)}function _c(e,t,n,r,i,a){return aa(t),t.updateQueue=null,n=Do(t,r,n,i),Eo(e),r=ko(),e!==null&&!H?(Ao(e,t,a),Ac(e,t,a)):(P&&r&&Ii(t),t.flags|=1,ac(e,t,n,a),t.child)}function vc(e,t,n,r,i){if(aa(t),t.stateNode===null){var a=fi,o=n.contextType;typeof o==`object`&&o&&(a=oa(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Gs,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Ga(t),o=n.contextType,a.context=typeof o==`object`&&o?oa(o):fi,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Ws(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Gs.enqueueReplaceState(a,a.state,null),$a(t,r,a,i),Qa(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Js(n,s);a.props=c;var l=a.context,u=n.contextType;o=fi,typeof u==`object`&&u&&(o=oa(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&qs(t,a,r,o),Wa=!1;var f=t.memoizedState;a.state=f,$a(t,r,a,i),Qa(),l=t.memoizedState,s||f!==l||Wa?(typeof d==`function`&&(Ws(t,n,d,r),l=t.memoizedState),(c=Wa||Ks(t,n,c,r,f,l,o))?(u||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=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Ka(e,t),o=t.memoizedProps,u=Js(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=fi,typeof l==`object`&&l&&(c=oa(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&qs(t,a,r,c),Wa=!1,f=t.memoizedState,a.state=f,$a(t,r,a,i),Qa();var p=t.memoizedState;o!==d||f!==p||Wa||e!==null&&e.dependencies!==null&&ia(e.dependencies)?(typeof s==`function`&&(Ws(t,n,s,r),p=t.memoizedState),(u=Wa||Ks(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&ia(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,hc(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=Ha(t,e.child,null,i),t.child=Ha(t,null,n,i)):ac(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Ac(e,t,i),e}function yc(e,t,n,r){return qi(),t.flags|=256,ac(e,t,n,r),t.child}var bc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function xc(e){return{baseLanes:e,cachePool:Ta()}}function Sc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Jl),e}function Cc(e,t,n){var r=t.pendingProps,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(I.current&2)!=0),s&&(a=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(P){if(a?lo(t):po(t),(e=N)?(e=rf(e,Vi),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ji===null?null:{id:Mi,overflow:Ni},retryLane:536870912,hydrationErrors:null},n=xi(e),n.return=t,t.child=n,zi=t,N=null)):e=null,e===null)throw Ui(t);return of(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,a?(po(t),a=t.mode,c=Tc({mode:`hidden`,children:c},a),r=yi(r,a,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=xc(n),r.childLanes=Sc(e,s,n),t.memoizedState=bc,uc(null,r)):(lo(t),wc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(lo(t),t.flags&=-257,t=Ec(e,t,n)):t.memoizedState===null?(po(t),c=r.fallback,a=t.mode,r=Tc({mode:`visible`,children:r.children},a),c=yi(c,a,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Ha(t,e.child,null,n),r=t.child,r.memoizedState=xc(n),r.childLanes=Sc(e,s,n),t.memoizedState=bc,t=uc(null,r)):(po(t),t.child=e.child,t.flags|=128,t=null);else if(lo(t),of(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(i(419)),r.stack=``,r.digest=s,Yi({value:r,source:null,stack:null}),t=Ec(e,t,n)}else if(H||ra(e,t,n,!1),s=(n&e.childLanes)!==0,H||s){if(s=K,s!==null&&(r=st(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,li(e,r),hu(s,e,r),ic;af(c)||Du(),t=Ec(e,t,n)}else af(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,N=cf(c.nextSibling),zi=t,P=!0,Bi=null,Vi=!1,e!==null&&Ri(t,e),t=wc(t,r.children),t.flags|=4096);return t}return a?(po(t),c=r.fallback,a=t.mode,l=e.child,u=l.sibling,r=gi(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=yi(c,a,n,null),c.flags|=2):c=gi(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,uc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=xc(n):(a=c.cachePool,a===null?a=Ta():(l=F._currentValue,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),r.memoizedState=c,r.childLanes=Sc(e,s,n),t.memoizedState=bc,uc(e.child,r)):(lo(t),n=e.child,e=n.sibling,n=gi(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function wc(e,t){return t=Tc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function Tc(e,t){return e=mi(22,e,null,t),e.lanes=0,e}function Ec(e,t,n){return Ha(t,e.child,null,n),e=wc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Dc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ta(e.return,t,n)}function Oc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function kc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=I.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,j(I,o),ac(e,t,r,n),r=P?Oi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Dc(e,n,t);else if(e.tag===19)Dc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&ho(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Oc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&ho(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Oc(t,!0,n,null,a,r);break;case`together`:Oc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Ac(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Gl|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ra(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=gi(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=gi(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function jc(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&ia(e))):!0}function Mc(e,t,n){switch(t.tag){case 3:ge(t,t.stateNode.containerInfo),$i(t,F,e.memoizedState.cache),qi();break;case 27:case 5:ve(t);break;case 4:ge(t,t.stateNode.containerInfo);break;case 10:$i(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,uo(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(lo(t),e=Ac(e,t,n),e===null?null:e.sibling):Cc(e,t,n):(lo(t),t.flags|=128,null);lo(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(ra(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return kc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),j(I,I.current),r)break;return null;case 22:return t.lanes=0,lc(e,t,n,t.pendingProps);case 24:$i(t,F,e.memoizedState.cache)}return Ac(e,t,n)}function Nc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)H=!0;else{if(!jc(e,n)&&!(t.flags&128))return H=!1,Mc(e,t,n);H=!!(e.flags&131072)}else H=!1,P&&t.flags&1048576&&Fi(t,Oi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Ma(t.elementType),t.type=e,typeof e==`function`)hi(e)?(r=Js(e,r),t.tag=1,t=vc(null,t,e,r,n)):(t.tag=0,t=gc(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===w){t.tag=11,t=oc(null,t,e,r,n);break a}else if(a===ee){t.tag=14,t=sc(null,t,e,r,n);break a}}throw t=oe(e)||e,Error(i(306,t,``))}}return t;case 0:return gc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=Js(r,t.pendingProps),vc(e,t,r,a,n);case 3:a:{if(ge(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,Ka(e,t),$a(t,r,null,n);var s=t.memoizedState;if(r=s.cache,$i(t,F,r),r!==o.cache&&na(t,[F],n,!0),Qa(),r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=yc(e,t,r,n);break a}else if(r!==a){a=wi(Error(i(424)),t),Yi(a),t=yc(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(N=cf(e.firstChild),zi=t,P=!0,Bi=null,Vi=!0,n=Ua(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(qi(),r===a){t=Ac(e,t,n);break a}ac(e,t,r,n)}t=t.child}return t;case 26:return hc(e,t),e===null?(n=kf(t.type,null,t.pendingProps,null))?t.memoizedState=n:P||(n=t.type,e=t.pendingProps,r=Bd(me.current).createElement(n),r[pt]=t,r[mt]=e,Pd(r,n,e),M(r),t.stateNode=r):t.memoizedState=kf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ve(t),e===null&&P&&(r=t.stateNode=ff(t.type,t.pendingProps,me.current),zi=t,Vi=!0,a=N,Zd(t.type)?(lf=a,N=cf(r.firstChild)):N=a),ac(e,t,t.pendingProps.children,n),hc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&P&&((a=r=N)&&(r=tf(r,t.type,t.pendingProps,Vi),r===null?a=!1:(t.stateNode=r,zi=t,N=cf(r.firstChild),Vi=!1,a=!0)),a||Ui(t)),ve(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,Ud(a,o)?r=null:s!==null&&Ud(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=To(e,t,Oo,null,null,n),Qf._currentValue=a),hc(e,t),ac(e,t,r,n),t.child;case 6:return e===null&&P&&((e=n=N)&&(n=nf(n,t.pendingProps,Vi),n===null?e=!1:(t.stateNode=n,zi=t,N=null,e=!0)),e||Ui(t)),null;case 13:return Cc(e,t,n);case 4:return ge(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ha(t,null,r,n):ac(e,t,r,n),t.child;case 11:return oc(e,t,t.type,t.pendingProps,n);case 7:return ac(e,t,t.pendingProps,n),t.child;case 8:return ac(e,t,t.pendingProps.children,n),t.child;case 12:return ac(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,$i(t,t.type,r.value),ac(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,aa(t),a=oa(a),r=r(a),t.flags|=1,ac(e,t,r,n),t.child;case 14:return sc(e,t,t.type,t.pendingProps,n);case 15:return cc(e,t,t.type,t.pendingProps,n);case 19:return kc(e,t,n);case 31:return mc(e,t,n);case 22:return lc(e,t,n,t.pendingProps);case 24:return aa(t),r=oa(F),e===null?(a=Ca(),a===null&&(a=K,o=fa(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},Ga(t),$i(t,F,a)):((e.lanes&n)!==0&&(Ka(e,t),$a(t,null,null,n),Qa()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,$i(t,F,r),r!==a.cache&&na(t,[F],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),$i(t,F,r))),ac(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function Pc(e){e.flags|=4}function Fc(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(wu())e.flags|=8192;else throw Na=ka,Da}else e.flags&=-16777217}function Ic(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Wf(t))if(wu())e.flags|=8192;else throw Na=ka,Da}function Lc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:tt(),e.lanes|=t,Yl|=t)}function Rc(e,t){if(!P)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 U(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function zc(e,t,n){var r=t.pendingProps;switch(Li(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return U(t),null;case 1:return U(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ea(F),_e(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ki(t)?Pc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ji())),U(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(Pc(t),o===null?(U(t),Fc(t,a,null,r,n)):(U(t),Ic(t,o))):o?o===e.memoizedState?(U(t),t.flags&=-16777217):(Pc(t),U(t),Ic(t,o)):(e=e.memoizedProps,e!==r&&Pc(t),U(t),Fc(t,a,e,r,n)),null;case 27:if(ye(t),n=me.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Pc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return U(t),null}e=fe.current,Ki(t)?Wi(t,e):(e=ff(a,r,n),t.stateNode=e,Pc(t))}return U(t),null;case 5:if(ye(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Pc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return U(t),null}if(o=fe.current,Ki(t))Wi(t,o);else{var s=Bd(me.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[pt]=t,o[mt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Pc(t)}}return U(t),Fc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Pc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=me.current,Ki(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=zi,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[pt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Md(e.nodeValue,n)),e||Ui(t,!0)}else e=Bd(e).createTextNode(r),e[pt]=t,t.stateNode=e}return U(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ki(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[pt]=t}else qi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;U(t),e=!1}else n=Ji(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(mo(t),t):(mo(t),null);if(t.flags&128)throw Error(i(558))}return U(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Ki(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[pt]=t}else qi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;U(t),a=!1}else a=Ji(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(mo(t),t):(mo(t),null)}return mo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Lc(t,t.updateQueue),U(t),null);case 4:return _e(),e===null&&Sd(t.stateNode.containerInfo),U(t),null;case 10:return ea(t.type),U(t),null;case 19:if(A(I),r=t.memoizedState,r===null)return U(t),null;if(a=(t.flags&128)!=0,o=r.rendering,o===null)if(a)Rc(r,!1);else{if(X!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=ho(e),o!==null){for(t.flags|=128,Rc(r,!1),e=o.updateQueue,t.updateQueue=e,Lc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)_i(n,e),n=n.sibling;return j(I,I.current&1|2),P&&Pi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Me()>tu&&(t.flags|=128,a=!0,Rc(r,!1),t.lanes=4194304)}else{if(!a)if(e=ho(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Lc(t,e),Rc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!P)return U(t),null}else 2*Me()-r.renderingStartTime>tu&&n!==536870912&&(t.flags|=128,a=!0,Rc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(U(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Me(),e.sibling=null,n=I.current,j(I,a?n&1|2:n&1),P&&Pi(t,r.treeForkCount),e);case 22:case 23:return mo(t),oo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(U(t),t.subtreeFlags&6&&(t.flags|=8192)):U(t),n=t.updateQueue,n!==null&&Lc(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&&A(Sa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ea(F),U(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Bc(e,t){switch(Li(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ea(F),_e(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ye(t),null;case 31:if(t.memoizedState!==null){if(mo(t),t.alternate===null)throw Error(i(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(mo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return A(I),null;case 4:return _e(),null;case 10:return ea(t.type),null;case 22:case 23:return mo(t),oo(),e!==null&&A(Sa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ea(F),null;case 25:return null;default:return null}}function Vc(e,t){switch(Li(t),t.tag){case 3:ea(F),_e();break;case 26:case 27:case 5:ye(t);break;case 4:_e();break;case 31:t.memoizedState!==null&&mo(t);break;case 13:mo(t);break;case 19:A(I);break;case 10:ea(t.type);break;case 22:case 23:mo(t),oo(),e!==null&&A(Sa);break;case 24:ea(F)}}function Hc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Uc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Wc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{to(t,n)}catch(t){Z(e,e.return,t)}}}function Gc(e,t,n){n.props=Js(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function Kc(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(n){Z(e,t,n)}}function qc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}function Jc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Z(e,e.return,t)}}function Yc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[mt]=t}catch(t){Z(e,e.return,t)}}function Xc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Zc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Xc(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&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Qc(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=on));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Qc(e,t,n),e=e.sibling;e!==null;)Qc(e,t,n),e=e.sibling}function $c(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&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for($c(e,t,n),e=e.sibling;e!==null;)$c(e,t,n),e=e.sibling}function el(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[pt]=e,t[mt]=n}catch(t){Z(e,e.return,t)}}var tl=!1,nl=!1,rl=!1,il=typeof WeakSet==`function`?WeakSet:Set,al=null;function ol(e,t){if(e=e.containerInfo,Rd=sp,e=Nr(e),Pr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,al=t;al!==null;)if(t=al,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,al=e;else for(;al!==null;){switch(t=al,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)a=e[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,a=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=Js(n.type,a);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Z(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)ef(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:ef(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(i(163))}if(e=t.sibling,e!==null){e.return=t.return,al=e;break}al=t.return}}function sl(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:xl(e,n),r&4&&Hc(5,n);break;case 1:if(xl(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Z(n,n.return,e)}else{var i=Js(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Z(n,n.return,e)}}r&64&&Wc(n),r&512&&Kc(n,n.return);break;case 3:if(xl(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{to(e,t)}catch(e){Z(n,n.return,e)}}break;case 27:t===null&&r&4&&el(n);case 26:case 5:xl(e,n),t===null&&r&4&&Jc(n),r&512&&Kc(n,n.return);break;case 12:xl(e,n);break;case 31:xl(e,n),r&4&&fl(e,n);break;case 13:xl(e,n),r&4&&pl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Ju.bind(null,n),sf(e,n))));break;case 22:if(r=n.memoizedState!==null||tl,!r){t=t!==null&&t.memoizedState!==null||nl,i=tl;var a=nl;tl=r,(nl=t)&&!a?Cl(e,n,(n.subtreeFlags&8772)!=0):xl(e,n),tl=i,nl=a}break;case 30:break;default:xl(e,n)}}function cl(e){var t=e.alternate;t!==null&&(e.alternate=null,cl(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&xt(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 W=null,ll=!1;function ul(e,t,n){for(n=n.child;n!==null;)dl(e,t,n),n=n.sibling}function dl(e,t,n){if(He&&typeof He.onCommitFiberUnmount==`function`)try{He.onCommitFiberUnmount(Ve,n)}catch{}switch(n.tag){case 26:nl||qc(n,t),ul(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:nl||qc(n,t);var r=W,i=ll;Zd(n.type)&&(W=n.stateNode,ll=!1),ul(e,t,n),pf(n.stateNode),W=r,ll=i;break;case 5:nl||qc(n,t);case 6:if(r=W,i=ll,W=null,ul(e,t,n),W=r,ll=i,W!==null)if(ll)try{(W.nodeType===9?W.body:W.nodeName===`HTML`?W.ownerDocument.body:W).removeChild(n.stateNode)}catch(e){Z(n,t,e)}else try{W.removeChild(n.stateNode)}catch(e){Z(n,t,e)}break;case 18:W!==null&&(ll?(e=W,Qd(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Np(e)):Qd(W,n.stateNode));break;case 4:r=W,i=ll,W=n.stateNode.containerInfo,ll=!0,ul(e,t,n),W=r,ll=i;break;case 0:case 11:case 14:case 15:Uc(2,n,t),nl||Uc(4,n,t),ul(e,t,n);break;case 1:nl||(qc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Gc(n,t,r)),ul(e,t,n);break;case 21:ul(e,t,n);break;case 22:nl=(r=nl)||n.memoizedState!==null,ul(e,t,n),nl=r;break;default:ul(e,t,n)}}function fl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Np(e)}catch(e){Z(t,t.return,e)}}}function pl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Np(e)}catch(e){Z(t,t.return,e)}}function ml(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new il),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new il),t;default:throw Error(i(435,e.tag))}}function hl(e,t){var n=ml(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Yu.bind(null,e,t);t.then(r,r)}})}function gl(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(Zd(c.type)){W=c.stateNode,ll=!1;break a}break;case 5:W=c.stateNode,ll=!1;break a;case 3:case 4:W=c.stateNode.containerInfo,ll=!0;break a}c=c.return}if(W===null)throw Error(i(160));dl(o,s,a),W=null,ll=!1,o=a.alternate,o!==null&&(o.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)vl(t,e),t=t.sibling}var _l=null;function vl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gl(t,e),yl(e),r&4&&(Uc(3,e,e.return),Hc(3,e),Uc(5,e,e.return));break;case 1:gl(t,e),yl(e),r&512&&(nl||n===null||qc(n,n.return)),r&64&&tl&&(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 a=_l;if(gl(t,e),yl(e),r&512&&(nl||n===null||qc(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,a=a.ownerDocument||a;b:switch(r){case`title`:o=a.getElementsByTagName(`title`)[0],(!o||o[bt]||o[pt]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=a.createElement(r),a.head.insertBefore(o,a.querySelector(`head > title`))),Pd(o,r,n),o[pt]=e,M(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;case`meta`:if(s=Vf(`meta`,`content`,a).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;default:throw Error(i(468,r))}o[pt]=e,M(o),r=o}e.stateNode=r}else Hf(a,e.type,e.stateNode);else e.stateNode=If(a,r,e.memoizedProps);else o===r?r===null&&e.stateNode!==null&&Yc(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Hf(a,e.type,e.stateNode):If(a,r,e.memoizedProps))}break;case 27:gl(t,e),yl(e),r&512&&(nl||n===null||qc(n,n.return)),n!==null&&r&4&&Yc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(gl(t,e),yl(e),r&512&&(nl||n===null||qc(n,n.return)),e.flags&32){a=e.stateNode;try{Zt(a,``)}catch(t){Z(e,e.return,t)}}r&4&&e.stateNode!=null&&(a=e.memoizedProps,Yc(e,a,n===null?a:n.memoizedProps)),r&1024&&(rl=!0);break;case 6:if(gl(t,e),yl(e),r&4){if(e.stateNode===null)throw Error(i(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Z(e,e.return,t)}}break;case 3:if(Bf=null,a=_l,_l=gf(t.containerInfo),gl(t,e),_l=a,yl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Np(t.containerInfo)}catch(t){Z(e,e.return,t)}rl&&(rl=!1,bl(e));break;case 4:r=_l,_l=gf(e.stateNode.containerInfo),gl(t,e),yl(e),_l=r;break;case 12:gl(t,e),yl(e);break;case 31:gl(t,e),yl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,hl(e,r)));break;case 13:gl(t,e),yl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&($l=Me()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,hl(e,r)));break;case 22:a=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=tl,d=nl;if(tl=u||a,nl=d||l,gl(t,e),nl=d,tl=u,yl(e),r&8192)a:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(n===null||l||tl||nl||Sl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,a)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){Z(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=a?``:l.memoizedProps}catch(e){Z(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;a?$d(m,!0):$d(l.stateNode,!1)}catch(e){Z(l,l.return,e)}}}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 a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;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,hl(e,n))));break;case 19:gl(t,e),yl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,hl(e,r)));break;case 30:break;case 21:break;default:gl(t,e),yl(e)}}function yl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Xc(r)){n=r;break}r=r.return}if(n==null)throw Error(i(160));switch(n.tag){case 27:var a=n.stateNode;$c(e,Zc(e),a);break;case 5:var o=n.stateNode;n.flags&32&&(Zt(o,``),n.flags&=-33),$c(e,Zc(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Qc(e,Zc(e),s);break;default:throw Error(i(161))}}catch(t){Z(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function bl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;bl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function xl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)sl(e,t.alternate,t),t=t.sibling}function Sl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Uc(4,t,t.return),Sl(t);break;case 1:qc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Gc(t,t.return,n),Sl(t);break;case 27:pf(t.stateNode);case 26:case 5:qc(t,t.return),Sl(t);break;case 22:t.memoizedState===null&&Sl(t);break;case 30:Sl(t);break;default:Sl(t)}e=e.sibling}}function Cl(e,t,n){for(n&&=(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:Cl(i,a,n),Hc(4,a);break;case 1:if(Cl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Z(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)eo(c[i],s)}catch(e){Z(r,r.return,e)}}n&&o&64&&Wc(a),Kc(a,a.return);break;case 27:el(a);case 26:case 5:Cl(i,a,n),n&&r===null&&o&4&&Jc(a),Kc(a,a.return);break;case 12:Cl(i,a,n);break;case 31:Cl(i,a,n),n&&o&4&&fl(i,a);break;case 13:Cl(i,a,n),n&&o&4&&pl(i,a);break;case 22:a.memoizedState===null&&Cl(i,a,n),Kc(a,a.return);break;case 30:break;default:Cl(i,a,n)}t=t.sibling}}function wl(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&&pa(n))}function Tl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&pa(e))}function El(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Dl(e,t,n,r),t=t.sibling}function Dl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:El(e,t,n,r),i&2048&&Hc(9,t);break;case 1:El(e,t,n,r);break;case 3:El(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&pa(e)));break;case 12:if(i&2048){El(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){Z(t,t.return,e)}}else El(e,t,n,r);break;case 31:El(e,t,n,r);break;case 13:El(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?El(e,t,n,r):(a._visibility|=2,Ol(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?El(e,t,n,r):kl(e,t),i&2048&&wl(o,t);break;case 24:El(e,t,n,r),i&2048&&Tl(t.alternate,t);break;default:El(e,t,n,r)}}function Ol(e,t,n,r,i){for(i&&=(t.subtreeFlags&10256)!=0||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Ol(a,o,s,c,i),Hc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Ol(a,o,s,c,i)):u._visibility&2?Ol(a,o,s,c,i):kl(a,o),i&&l&2048&&wl(o.alternate,o);break;case 24:Ol(a,o,s,c,i),i&&l&2048&&Tl(o.alternate,o);break;default:Ol(a,o,s,c,i)}t=t.sibling}}function kl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:kl(n,r),i&2048&&wl(r.alternate,r);break;case 24:kl(n,r),i&2048&&Tl(r.alternate,r);break;default:kl(n,r)}t=t.sibling}}var Al=8192;function jl(e,t,n){if(e.subtreeFlags&Al)for(e=e.child;e!==null;)Ml(e,t,n),e=e.sibling}function Ml(e,t,n){switch(e.tag){case 26:jl(e,t,n),e.flags&Al&&e.memoizedState!==null&&Gf(n,_l,e.memoizedState,e.memoizedProps);break;case 5:jl(e,t,n);break;case 3:case 4:var r=_l;_l=gf(e.stateNode.containerInfo),jl(e,t,n),_l=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Al,Al=16777216,jl(e,t,n),Al=r):jl(e,t,n));break;default:jl(e,t,n)}}function Nl(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 Pl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];al=r,Ll(r,e)}Nl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Fl(e),e=e.sibling}function Fl(e){switch(e.tag){case 0:case 11:case 15:Pl(e),e.flags&2048&&Uc(9,e,e.return);break;case 3:Pl(e);break;case 12:Pl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Il(e)):Pl(e);break;default:Pl(e)}}function Il(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];al=r,Ll(r,e)}Nl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Uc(8,t,t.return),Il(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Il(t));break;default:Il(t)}e=e.sibling}}function Ll(e,t){for(;al!==null;){var n=al;switch(n.tag){case 0:case 11:case 15:Uc(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:pa(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,al=r;else a:for(n=e;al!==null;){r=al;var i=r.sibling,a=r.return;if(cl(r),r===n){al=null;break a}if(i!==null){i.return=a,al=i;break a}al=a}}}var Rl={getCacheForType:function(e){var t=oa(F),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return oa(F).controller.signal}},zl=typeof WeakMap==`function`?WeakMap:Map,G=0,K=null,q=null,J=0,Y=0,Bl=null,Vl=!1,Hl=!1,Ul=!1,Wl=0,X=0,Gl=0,Kl=0,ql=0,Jl=0,Yl=0,Xl=null,Zl=null,Ql=!1,$l=0,eu=0,tu=1/0,nu=null,ru=null,iu=0,au=null,ou=null,su=0,cu=0,lu=null,uu=null,du=0,fu=null;function pu(){return G&2&&J!==0?J&-J:O.T===null?ut():dd()}function mu(){if(Jl===0)if(!(J&536870912)||P){var e=Ye;Ye<<=1,!(Ye&3932160)&&(Ye=262144),Jl=e}else Jl=536870912;return e=so.current,e!==null&&(e.flags|=32),Jl}function hu(e,t,n){(e===K&&(Y===2||Y===9)||e.cancelPendingCommit!==null)&&(Su(e,0),yu(e,J,Jl,!1)),rt(e,n),(!(G&2)||e!==K)&&(e===K&&(!(G&2)&&(Kl|=n),X===4&&yu(e,J,Jl,!1)),rd(e))}function gu(e,t,n){if(G&6)throw Error(i(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||$e(e,t),a=r?Au(e,t):Ou(e,t,!0),o=r;do{if(a===0){Hl&&!r&&yu(e,t,0,!1);break}else{if(n=e.current.alternate,o&&!vu(n)){a=Ou(e,t,!1),o=!1;continue}if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=Xl;var l=c.current.memoizedState.isDehydrated;if(l&&(Su(c,s).flags|=256),s=Ou(c,s,!1),s!==2){if(Ul&&!l){c.errorRecoveryDisabledLanes|=o,Kl|=o,a=4;break a}o=Zl,Zl=a,o!==null&&(Zl===null?Zl=o:Zl.push.apply(Zl,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){Su(e,0),yu(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t)break;case 6:yu(r,t,Jl,!Vl);break a;case 2:Zl=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=$l+300-Me(),10<a)){if(yu(r,t,Jl,!Vl),Qe(r,0,!0)!==0)break a;su=t,r.timeoutHandle=Kd(_u.bind(null,r,n,Zl,nu,Ql,t,Jl,Kl,Yl,Vl,o,`Throttled`,-0,0),a);break a}_u(r,n,Zl,nu,Ql,t,Jl,Kl,Yl,Vl,o,null,-0,0)}}break}while(1);rd(e)}function _u(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:on},Ml(t,a,d);var m=(a&62914560)===a?$l-Me():(a&4194048)===a?eu-Me():0;if(m=qf(d,m),m!==null){su=a,e.cancelPendingCommit=m(Lu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),yu(e,a,o,!l);return}}Lu(e,t,a,n,r,i,o,s,c)}function vu(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 i=n[r],a=i.getSnapshot;i=i.value;try{if(!Or(a(),i))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 yu(e,t,n,r){t&=~ql,t&=~Kl,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-We(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&at(e,n,t)}function bu(){return G&6?!0:(id(0,!1),!1)}function xu(){if(q!==null){if(Y===0)var e=q.return;else e=q,Qi=Zi=null,jo(e),Ia=null,La=0,e=q;for(;e!==null;)Vc(e.alternate,e),e=e.return;q=null}}function Su(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,qd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),su=0,xu(),K=e,q=n=gi(e.current,null),J=t,Y=0,Bl=null,Vl=!1,Hl=$e(e,t),Ul=!1,Yl=Jl=ql=Kl=Gl=X=0,Zl=Xl=null,Ql=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-We(r),a=1<<i;t|=e[i],r&=~a}return Wl=t,oi(),n}function Cu(e,t){L=null,O.H=Bs,t===Ea||t===Oa?(t=Pa(),Y=3):t===Da?(t=Pa(),Y=4):Y=t===ic?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Bl=t,q===null&&(X=1,Qs(e,wi(t,e.current)))}function wu(){var e=so.current;return e===null?!0:(J&4194048)===J?co===null:(J&62914560)===J||J&536870912?e===co:!1}function Tu(){var e=O.H;return O.H=Bs,e===null?Bs:e}function Eu(){var e=O.A;return O.A=Rl,e}function Du(){X=4,Vl||(J&4194048)!==J&&so.current!==null||(Hl=!0),!(Gl&134217727)&&!(Kl&134217727)||K===null||yu(K,J,Jl,!1)}function Ou(e,t,n){var r=G;G|=2;var i=Tu(),a=Eu();(K!==e||J!==t)&&(nu=null,Su(e,t)),t=!1;var o=X;a:do try{if(Y!==0&&q!==null){var s=q,c=Bl;switch(Y){case 8:xu(),o=6;break a;case 3:case 2:case 9:case 6:so.current===null&&(t=!0);var l=Y;if(Y=0,Bl=null,Pu(e,s,c,l),n&&Hl){o=0;break a}break;default:l=Y,Y=0,Bl=null,Pu(e,s,c,l)}}ku(),o=X;break}catch(t){Cu(e,t)}while(1);return t&&e.shellSuspendCounter++,Qi=Zi=null,G=r,O.H=i,O.A=a,q===null&&(K=null,J=0,oi()),o}function ku(){for(;q!==null;)Mu(q)}function Au(e,t){var n=G;G|=2;var r=Tu(),a=Eu();K!==e||J!==t?(nu=null,tu=Me()+500,Su(e,t)):Hl=$e(e,t);a:do try{if(Y!==0&&q!==null){t=q;var o=Bl;b:switch(Y){case 1:Y=0,Bl=null,Pu(e,t,o,1);break;case 2:case 9:if(Aa(o)){Y=0,Bl=null,Nu(t);break}t=function(){Y!==2&&Y!==9||K!==e||(Y=7),rd(e)},o.then(t,t);break a;case 3:Y=7;break a;case 4:Y=5;break a;case 7:Aa(o)?(Y=0,Bl=null,Nu(t)):(Y=0,Bl=null,Pu(e,t,o,7));break;case 5:var s=null;switch(q.tag){case 26:s=q.memoizedState;case 5:case 27:var c=q;if(s?Wf(s):c.stateNode.complete){Y=0,Bl=null;var l=c.sibling;if(l!==null)q=l;else{var u=c.return;u===null?q=null:(q=u,Fu(u))}break b}}Y=0,Bl=null,Pu(e,t,o,5);break;case 6:Y=0,Bl=null,Pu(e,t,o,6);break;case 8:xu(),X=6;break a;default:throw Error(i(462))}}ju();break}catch(t){Cu(e,t)}while(1);return Qi=Zi=null,O.H=r,O.A=a,G=n,q===null?(K=null,J=0,oi(),X):0}function ju(){for(;q!==null&&!Ae();)Mu(q)}function Mu(e){var t=Nc(e.alternate,e,Wl);e.memoizedProps=e.pendingProps,t===null?Fu(e):q=t}function Nu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=_c(n,t,t.pendingProps,t.type,void 0,J);break;case 11:t=_c(n,t,t.pendingProps,t.type.render,t.ref,J);break;case 5:jo(t);default:Vc(n,t),t=q=_i(t,Wl),t=Nc(n,t,Wl)}e.memoizedProps=e.pendingProps,t===null?Fu(e):q=t}function Pu(e,t,n,r){Qi=Zi=null,jo(t),Ia=null,La=0;var i=t.return;try{if(rc(e,i,t,n,J)){X=1,Qs(e,wi(n,e.current)),q=null;return}}catch(t){if(i!==null)throw q=i,t;X=1,Qs(e,wi(n,e.current)),q=null;return}t.flags&32768?(P||r===1?e=!0:Hl||J&536870912?e=!1:(Vl=e=!0,(r===2||r===9||r===3||r===6)&&(r=so.current,r!==null&&r.tag===13&&(r.flags|=16384))),Iu(t,e)):Fu(t)}function Fu(e){var t=e;do{if(t.flags&32768){Iu(t,Vl);return}e=t.return;var n=zc(t.alternate,t,Wl);if(n!==null){q=n;return}if(t=t.sibling,t!==null){q=t;return}q=t=e}while(t!==null);X===0&&(X=5)}function Iu(e,t){do{var n=Bc(e.alternate,e);if(n!==null){n.flags&=32767,q=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){q=e;return}q=e=n}while(e!==null);X=6,q=null}function Lu(e,t,n,r,a,o,s,c,l){e.cancelPendingCommit=null;do Hu();while(iu!==0);if(G&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));if(o=t.lanes|t.childLanes,o|=ai,it(e,n,o,s,c,l),e===K&&(q=K=null,J=0),ou=t,au=e,su=n,cu=o,lu=a,uu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Xu(Ie,function(){return Uu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=O.T,O.T=null,a=k.p,k.p=2,s=G,G|=4;try{ol(e,t,n)}finally{G=s,k.p=a,O.T=r}}iu=1,Ru(),zu(),Bu()}}function Ru(){if(iu===1){iu=0;var e=au,t=ou,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=O.T,O.T=null;var r=k.p;k.p=2;var i=G;G|=4;try{vl(t,e);var a=zd,o=Nr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&Mr(s.ownerDocument.documentElement,s)){if(c!==null&&Pr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=jr(s,h),v=jr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}sp=!!Rd,zd=Rd=null}finally{G=i,k.p=r,O.T=n}}e.current=t,iu=2}}function zu(){if(iu===2){iu=0;var e=au,t=ou,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=O.T,O.T=null;var r=k.p;k.p=2;var i=G;G|=4;try{sl(e,t.alternate,t)}finally{G=i,k.p=r,O.T=n}}iu=3}}function Bu(){if(iu===4||iu===3){iu=0,je();var e=au,t=ou,n=su,r=uu;t.subtreeFlags&10256||t.flags&10256?iu=5:(iu=0,ou=au=null,Vu(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(ru=null),lt(n),t=t.stateNode,He&&typeof He.onCommitFiberRoot==`function`)try{He.onCommitFiberRoot(Ve,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=O.T,i=k.p,k.p=2,O.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{O.T=t,k.p=i}}su&3&&Hu(),rd(e),i=e.pendingLanes,n&261930&&i&42?e===fu?du++:(du=0,fu=e):du=0,id(0,!1)}}function Vu(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,pa(t)))}function Hu(){return Ru(),zu(),Bu(),Uu()}function Uu(){if(iu!==5)return!1;var e=au,t=cu;cu=0;var n=lt(su),r=O.T,a=k.p;try{k.p=32>n?32:n,O.T=null,n=lu,lu=null;var o=au,s=su;if(iu=0,ou=au=null,su=0,G&6)throw Error(i(331));var c=G;if(G|=4,Fl(o.current),Dl(o,o.current,s,n),G=c,id(0,!1),He&&typeof He.onPostCommitFiberRoot==`function`)try{He.onPostCommitFiberRoot(Ve,o)}catch{}return!0}finally{k.p=a,O.T=r,Vu(e,t)}}function Wu(e,t,n){t=wi(n,t),t=ec(e.stateNode,t,2),e=Ja(e,t,2),e!==null&&(rt(e,2),rd(e))}function Z(e,t,n){if(e.tag===3)Wu(e,e,n);else for(;t!==null;){if(t.tag===3){Wu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(ru===null||!ru.has(r))){e=wi(n,e),n=tc(2),r=Ja(t,n,2),r!==null&&(nc(n,r,t,e),rt(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new zl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Ul=!0,i.add(n),e=Ku.bind(null,e,t,n),t.then(e,e))}function Ku(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,K===e&&(J&n)===n&&(X===4||X===3&&(J&62914560)===J&&300>Me()-$l?!(G&2)&&Su(e,0):ql|=n,Yl===J&&(Yl=0)),rd(e)}function qu(e,t){t===0&&(t=tt()),e=li(e,t),e!==null&&(rt(e,t),rd(e))}function Ju(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qu(e,n)}function Yu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),qu(e,n)}function Xu(e,t){return Oe(e,t)}var Zu=null,Qu=null,$u=!1,ed=!1,td=!1,nd=0;function rd(e){e!==Qu&&e.next===null&&(Qu===null?Zu=Qu=e:Qu=Qu.next=e),ed=!0,$u||($u=!0,ud())}function id(e,t){if(!td&&ed){td=!0;do for(var n=!1,r=Zu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-We(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ld(r,a))}else a=J,a=Qe(r,r===K?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||$e(r,a)||(n=!0,ld(r,a));r=r.next}while(n);td=!1}}function ad(){od()}function od(){ed=$u=!1;var e=0;nd!==0&&Gd()&&(e=nd);for(var t=Me(),n=null,r=Zu;r!==null;){var i=r.next,a=sd(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Qu=n)):(n=r,(e!==0||a&3)&&(ed=!0)),r=i}iu!==0&&iu!==5||id(e,!1),nd!==0&&(nd=0)}function sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-We(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=et(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=K,n=J,n=Qe(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Y===2||Y===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&ke(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||$e(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&ke(r),lt(n)){case 2:case 8:n=Fe;break;case 32:n=Ie;break;case 268435456:n=Re;break;default:n=Ie}return r=cd.bind(null,e),n=Oe(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&ke(r),e.callbackPriority=2,e.callbackNode=null,2}function cd(e,t){if(iu!==0&&iu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Hu()&&e.callbackNode!==n)return null;var r=J;return r=Qe(e,e===K?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(gu(e,r,t),sd(e,Me()),e.callbackNode!=null&&e.callbackNode===n?cd.bind(null,e):null)}function ld(e,t){if(Hu())return null;gu(e,t,!0)}function ud(){Yd(function(){G&6?Oe(Pe,ad):od()})}function dd(){if(nd===0){var e=ga;e===0&&(e=Je,Je<<=1,!(Je&261888)&&(Je=256)),nd=e}return nd}function fd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:an(``+e)}function pd(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 md(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=fd((i[mt]||null).action),o=r.submitter;o&&(t=(t=o[mt]||null)?fd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new Dn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(nd!==0){var e=o?pd(i,o):new FormData(i);Es(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?pd(i,o):new FormData(i),Es(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var hd=0;hd<ei.length;hd++){var gd=ei[hd];ti(gd.toLowerCase(),`on`+(gd[0].toUpperCase()+gd.slice(1)))}ti(Kr,`onAnimationEnd`),ti(qr,`onAnimationIteration`),ti(Jr,`onAnimationStart`),ti(`dblclick`,`onDoubleClick`),ti(`focusin`,`onFocus`),ti(`focusout`,`onBlur`),ti(Yr,`onTransitionRun`),ti(Xr,`onTransitionStart`),ti(Zr,`onTransitionCancel`),ti(Qr,`onTransitionEnd`),kt(`onMouseEnter`,[`mouseout`,`mouseover`]),kt(`onMouseLeave`,[`mouseout`,`mouseover`]),kt(`onPointerEnter`,[`pointerout`,`pointerover`]),kt(`onPointerLeave`,[`pointerout`,`pointerover`]),Ot(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Ot(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),Ot(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Ot(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Ot(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Ot(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var _d=`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(` `),vd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(_d));function yd(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ni(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ni(e)}i.currentTarget=null,a=c}}}}function Q(e,t){var n=t[gt];n===void 0&&(n=t[gt]=new Set);var r=e+`__bubble`;n.has(r)||(Cd(t,e,2,!1),n.add(r))}function bd(e,t,n){var r=0;t&&(r|=4),Cd(n,e,r,t)}var xd=`_reactListening`+Math.random().toString(36).slice(2);function Sd(e){if(!e[xd]){e[xd]=!0,Et.forEach(function(t){t!==`selectionchange`&&(vd.has(t)||bd(t,!1,e),bd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[xd]||(t[xd]=!0,bd(`selectionchange`,!1,t))}}function Cd(e,t,n,r){switch(mp(t)){case 2:var i=cp;break;case 8:i=lp;break;default:i=up}n=i.bind(null,t,n,e),i=void 0,!gn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function wd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=St(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}pn(function(){var r=a,i=cn(n),s=[];a:{var c=$r.get(e);if(c!==void 0){var l=Dn,u=e;switch(e){case`keypress`:if(Sn(n)===0)break a;case`keydown`:case`keyup`:l=Gn;break;case`focusin`:u=`focus`,l=In;break;case`focusout`:u=`blur`,l=In;break;case`beforeblur`:case`afterblur`:l=In;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=Pn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=Fn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=qn;break;case Kr:case qr:case Jr:l=Ln;break;case Qr:l=Jn;break;case`scroll`:case`scrollend`:l=kn;break;case`wheel`:l=Yn;break;case`copy`:case`cut`:case`paste`:l=Rn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Kn;break;case`toggle`:case`beforetoggle`:l=Xn}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=mn(m,p),g!=null&&d.push(Td(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==sn&&(u=n.relatedTarget||n.fromElement)&&(St(u)||u[ht]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?St(u):null,u!==null&&(f=o(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=Pn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Kn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:wt(l),h=u==null?c:wt(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,St(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Dd,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Od(s,c,l,d,!1),u!==null&&f!==null&&Od(s,f,u,d,!0)}}a:{if(c=r?wt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=gr;else if(ur(c))if(_r)v=Er;else{v=wr;var y=Cr}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&tn(r.elementType)&&(v=gr):v=Tr;if(v&&=v(e,r)){dr(s,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&qt(c,`number`,c.value)}switch(y=r?wt(r):window,e){case`focusin`:(ur(y)||y.contentEditable===`true`)&&(Ir=y,Lr=r,Rr=null);break;case`focusout`:Rr=Lr=Ir=null;break;case`mousedown`:zr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:zr=!1,Br(s,n,i);break;case`selectionchange`:if(Fr)break;case`keydown`:case`keyup`:Br(s,n,i)}var b;if(Qn)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else or?ir(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(tr&&n.locale!==`ko`&&(or||x!==`onCompositionStart`?x===`onCompositionEnd`&&or&&(b=xn()):(vn=i,yn=`value`in vn?vn.value:vn.textContent,or=!0)),y=Ed(r,x),0<y.length&&(x=new zn(x,e,null,n,i),s.push({event:x,listeners:y}),b?x.data=b:(b=ar(n),b!==null&&(x.data=b)))),(b=er?sr(e,n):cr(e,n))&&(x=Ed(r,`onBeforeInput`),0<x.length&&(y=new zn(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:y,listeners:x}),y.data=b)),md(s,e,r,n,i)}yd(s,t)})}function Td(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ed(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=mn(e,n),i!=null&&r.unshift(Td(e,i,a)),i=mn(e,t),i!=null&&r.push(Td(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Dd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Od(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=mn(n,a),l!=null&&o.unshift(Td(n,l,c))):i||(l=mn(n,a),l!=null&&o.push(Td(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var kd=/\r\n?/g,Ad=/\u0000|\uFFFD/g;function jd(e){return(typeof e==`string`?e:``+e).replace(kd,`
|
|
9
|
-
`).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function $(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Zt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Zt(e,``+r);break;case`className`:Ft(e,`class`,r);break;case`tabIndex`:Ft(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Ft(e,n,r);break;case`style`:en(e,r,o);break;case`data`:if(t!==`object`){Ft(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=an(``+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 o==`function`&&(n===`formAction`?(t!==`input`&&$(e,t,`name`,a.name,a,null),$(e,t,`formEncType`,a.formEncType,a,null),$(e,t,`formMethod`,a.formMethod,a,null),$(e,t,`formTarget`,a.formTarget,a,null)):($(e,t,`encType`,a.encType,a,null),$(e,t,`method`,a.method,a,null),$(e,t,`target`,a.target,a,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=an(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=on);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(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=an(``+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`:!0===r?e.setAttribute(n,``):!1!==r&&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`:Q(`beforetoggle`,e),Q(`toggle`,e),Pt(e,`popover`,r);break;case`xlinkActuate`:It(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:It(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:It(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:It(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:It(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:It(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:It(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:It(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:It(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Pt(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=nn.get(n)||n,Pt(e,n,r))}}function Nd(e,t,n,r,a,o){switch(n){case`style`:en(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Zt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Zt(e,``+r);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=on);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!Dt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[mt]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Pt(e,n,r)}}}function Pd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Q(`error`,e),Q(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,o,s,n,null)}}a&&$(e,t,`srcSet`,n.srcSet,n,null),r&&$(e,t,`src`,n.src,n,null);return;case`input`:Q(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:$(e,t,r,d,n,null)}}Kt(e,o,c,l,u,s,a,!1);return;case`select`:for(a in Q(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:$(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Jt(e,!!r,n,!0):Jt(e,!!r,t,!1);return;case`textarea`:for(s in Q(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:$(e,t,s,c,n,null)}Xt(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:$(e,t,l,r,n,null)}return;case`dialog`:Q(`beforetoggle`,e),Q(`toggle`,e),Q(`cancel`,e),Q(`close`,e);break;case`iframe`:case`object`:Q(`load`,e);break;case`video`:case`audio`:for(r=0;r<_d.length;r++)Q(_d[r],e);break;case`image`:Q(`error`,e),Q(`load`,e);break;case`details`:Q(`toggle`,e);break;case`embed`:case`source`:case`link`:Q(`error`,e),Q(`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(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,u,r,n,null)}return;default:if(tn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Nd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&$(e,t,c,r,n,null))}function Fd(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 a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||$(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&$(e,t,p,m,r,f)}}Gt(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||$(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&$(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Jt(e,!!n,n?[]:``,!1):Jt(e,!!n,t,!0)):Jt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:$(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&$(e,t,s,a,r,o)}Yt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:$(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:$(e,t,l,p,r,m)}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 g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&$(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:$(e,t,u,p,r,m)}return;default:if(tn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Nd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Nd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&$(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||$(e,t,f,p,r,m)}function Id(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Ld(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Id(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.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 Rd=null,zd=null;function Bd(e){return e.nodeType===9?e:e.ownerDocument}function Vd(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 Hd(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 Ud(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 Wd=null;function Gd(){var e=window.event;return e&&e.type===`popstate`?e===Wd?!1:(Wd=e,!0):(Wd=null,!1)}var Kd=typeof setTimeout==`function`?setTimeout:void 0,qd=typeof clearTimeout==`function`?clearTimeout:void 0,Jd=typeof Promise==`function`?Promise:void 0,Yd=typeof queueMicrotask==`function`?queueMicrotask:Jd===void 0?Kd:function(e){return Jd.resolve(null).then(e).catch(Xd)};function Xd(e){setTimeout(function(){throw e})}function Zd(e){return e===`head`}function Qd(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)pf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,pf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[bt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&pf(e.ownerDocument.body);n=i}while(n);Np(t)}function $d(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 ef(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`:ef(n),xt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function tf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[bt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=cf(e.nextSibling),e===null)break}return null}function nf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=cf(e.nextSibling),e===null))return null;return e}function rf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=cf(e.nextSibling),e===null))return null;return e}function af(e){return e.data===`$?`||e.data===`$~`}function of(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function sf(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 cf(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 lf=null;function uf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return cf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function df(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 ff(e,t,n){switch(t=Bd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function pf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);xt(e)}var mf=new Map,hf=new Set;function gf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var _f=k.d;k.d={f:vf,r:yf,D:Sf,C:Cf,L:wf,m:Tf,X:Df,S:Ef,M:Of};function vf(){var e=_f.f(),t=bu();return e||t}function yf(e){var t=Ct(e);t!==null&&t.tag===5&&t.type===`form`?Os(t):_f.r(e)}var bf=typeof document>`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Wt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),M(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Wt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Wt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Wt(n.imageSizes)+`"]`)):i+=`[href="`+Wt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),M(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Wt(r)+`"][href="`+Wt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),M(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=Tt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);M(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=Tt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),M(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=Tt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),M(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var a=(a=me.current)?gf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=Tt(a).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=Af(n.href);var o=Tt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.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},mf.set(e,n),o||Nf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=Tt(a).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(i(444,e))}}function Af(e){return`href="`+Wt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(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}),Pd(t,`link`,n),M(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Wt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Wt(n.href)+`"]`);if(r)return t.instance=r,M(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),M(r),Pd(r,`style`,a),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Af(n.href);var o=e.querySelector(jf(a));if(o)return t.state.loading|=4,t.instance=o,M(o),o;r=Mf(n),(a=mf.get(a))&&Rf(r,a),o=(e.ownerDocument||e).createElement(`link`),M(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(a=e.querySelector(Ff(o)))?(t.instance=a,M(a),a):(r=n,(a=mf.get(o))&&(r=h({},n),zf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),M(a),Pd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Rf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Bf=null;function Vf(e,t,n){if(Bf===null){var r=new Map,i=Bf=new Map;i.set(n,r)}else i=Bf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[bt]||a[pt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Hf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,M(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),M(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(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)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&Kf===0&&(Kf=62500*Ld());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Jf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Qf={$$typeof:C,Provider:null,Consumer:null,_currentValue:ce,_currentValue2:ce,_threadCount:0};function $f(e,t,n,r,i,a,o,s,c){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=nt(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=nt(0),this.hiddenUpdates=nt(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function ep(e,t,n,r,i,a,o,s,c,l,u,d){return e=new $f(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=mi(3,null,null,t),e.current=a,a.stateNode=e,t=fa(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ga(a),e}function tp(e){return e?(e=fi,e):fi}function np(e,t,n,r,i,a){i=tp(i),r.context===null?r.context=i:r.pendingContext=i,r=qa(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Ja(e,r,t),n!==null&&(hu(n,e,t),Ya(n,e,t))}function rp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ip(e,t){rp(e,t),(e=e.alternate)&&rp(e,t)}function ap(e){if(e.tag===13||e.tag===31){var t=li(e,67108864);t!==null&&hu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=pu();t=ct(t);var n=li(e,t);n!==null&&hu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=O.T;O.T=null;var a=k.p;try{k.p=2,up(e,t,n,r)}finally{k.p=a,O.T=i}}function lp(e,t,n,r){var i=O.T;O.T=null;var a=k.p;try{k.p=8,up(e,t,n,r)}finally{k.p=a,O.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)wd(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=Ct(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Ze(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-We(o);s.entanglements[1]|=c,o&=~c}rd(a),!(G&6)&&(tu=Me()+500,id(0,!1))}}break;case 31:case 13:s=li(a,2),s!==null&&hu(s,a,2),bu(),ip(a,2)}if(a=dp(r),a===null&&wd(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else wd(e,t,r,null,n)}}function dp(e){return e=cn(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=St(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(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 fp=e,null}function mp(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(Ne()){case Pe:return 2;case Fe:return 8;case Ie:case Le:return 32;case Re:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`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 Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Ct(t),t!==null&&ap(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=St(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,dt(e.priority,function(){op(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,dt(e.priority,function(){op(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 Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);sn=r,n.target.dispatchEvent(r),sn=null}else return t=Ct(n),t!==null&&ap(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=Ct(n);a!==null&&(e.splice(t,3),t-=3,Es(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[mt]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[mt]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=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),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;np(n,pu(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;np(e.current,2,null,e,null,null),bu(),t[ht]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=ut();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=n.version;if(Lp!==`19.2.7`)throw Error(i(527,Lp,`19.2.7`));k.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=d(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.7`,rendererPackageName:`react-dom`,currentDispatcherRef:O,reconcilerVersion:`19.2.7`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{Ve=zp.inject(Rp),He=zp}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Ys,s=Xs,c=Zs;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=ep(e,1,!1,null,null,n,r,null,o,s,c,Pp),e[ht]=t.current,Sd(e),new Fp(t)}})),g=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=c(u(),1),v=c(g(),1),y={en:{day:`d`,hour:`h`,minute:`m`,second:`s`},ko:{day:`일`,hour:`시간`,minute:`분`,second:`초`},zh:{day:`天`,hour:`小时`,minute:`分钟`,second:`秒`}};function b(e,t){let n=Math.max(0,Math.floor(e)),r=y[t]??y.en;if(n<300)return`${n}${r.second}`;let i=Math.floor(n/60);if(i<60)return`${i}${r.minute}`;let a=Math.floor(i/60);if(a<24){let e=i%60;return e>0?`${a}${r.hour} ${e}${r.minute}`:`${a}${r.hour}`}let o=Math.floor(a/24),s=a%24;return s>0?`${o}${r.day} ${s}${r.hour}`:`${o}${r.day}`}var x=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),S=o(((e,t)=>{t.exports=x()}))(),C=e=>({viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,...e}),w=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1.5`}),(0,S.jsx)(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`,rx:`1.5`}),(0,S.jsx)(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1.5`}),(0,S.jsx)(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`,rx:`1.5`})]}),T=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`7`,rx:`2`}),(0,S.jsx)(`rect`,{x:`3`,y:`13`,width:`18`,height:`7`,rx:`2`}),(0,S.jsx)(`path`,{d:`M7 7.5h.01M7 16.5h.01`})]}),E=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`path`,{d:`M12 2 4 6v6l8 4 8-4V6l-8-4Z`}),(0,S.jsx)(`path`,{d:`m4 6 8 4 8-4M12 10v8`})]}),ee=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`rect`,{x:`4`,y:`8`,width:`16`,height:`11`,rx:`3`}),(0,S.jsx)(`path`,{d:`M12 8V4M8 2h8`}),(0,S.jsx)(`circle`,{cx:`9`,cy:`13`,r:`1`}),(0,S.jsx)(`circle`,{cx:`15`,cy:`13`,r:`1`})]}),D=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01`})}),te=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M22 12h-4l-3 9L9 3l-3 9H2`})}),ne=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`m20 6-11 11-5-5`})}),re=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M18 6 6 18M6 6l12 12`})}),ie=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M12 5v14M5 12h14`})}),ae=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M21 12a9 9 0 0 1-9 9 9.8 9.8 0 0 1-6.7-2.7L3 16M3 21v-5h5M3 12a9 9 0 0 1 9-9 9.8 9.8 0 0 1 6.7 2.7L21 8M21 3v5h-5`})}),oe=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6`})}),se=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`path`,{d:`M10.3 3.7 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.7a2 2 0 0 0-3.4 0Z`}),(0,S.jsx)(`path`,{d:`M12 9v4M12 17h.01`})]}),O=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7`}),(0,S.jsx)(`path`,{d:`m21 21-4.3-4.3`})]}),k=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M12 19V5M5 12l7-7 7 7`})}),ce=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M12 5v14M19 12l-7 7-7-7`})}),le=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`m9 18 6-6-6-6`})}),ue=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M9 19c-5 1.5-5-2.5-7-3m14 6v-3.9a3.4 3.4 0 0 0-.9-2.6c3-.3 6.2-1.5 6.2-6.7A5.2 5.2 0 0 0 20 4.8 4.9 4.9 0 0 0 19.9 1S18.7.6 16 2.5a13.4 13.4 0 0 0-7 0C6.3.6 5.1 1 5.1 1A4.9 4.9 0 0 0 5 4.8a5.2 5.2 0 0 0-1.4 3.7c0 5.1 3.1 6.4 6.1 6.7a3.4 3.4 0 0 0-.9 2.5V22`})}),de=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`path`,{d:`M18.4 5.6a9 9 0 1 1-12.8 0`}),(0,S.jsx)(`path`,{d:`M12 2v10`})]}),A=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`})}),j=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`circle`,{cx:`7.5`,cy:`15.5`,r:`4.5`}),(0,S.jsx)(`path`,{d:`m10.7 12.3 9.6-9.6M16 7l3 3M14 9l2 2`})]}),fe=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`rect`,{x:`4`,y:`11`,width:`16`,height:`10`,rx:`2`}),(0,S.jsx)(`path`,{d:`M8 11V7a4 4 0 0 1 8 0v4`})]}),pe=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}),(0,S.jsx)(`path`,{d:`M13 5v2`}),(0,S.jsx)(`path`,{d:`M13 17v2`}),(0,S.jsx)(`path`,{d:`M13 11v2`})]}),me=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2M15 7h2a5 5 0 0 1 0 10h-2M8 12h8`})}),he=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,S.jsx)(`path`,{d:`M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4`})]}),ge=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M21 12.8A9 9 0 1 1 11.2 3 7 7 0 0 0 21 12.8Z`})}),_e=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}),(0,S.jsx)(`path`,{d:`M8 21h8M12 17v4`})]}),ve=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,S.jsx)(`path`,{d:`M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18`})]}),ye={"nav.dashboard":`Dashboard`,"nav.providers":`Providers`,"nav.models":`Models`,"nav.subagents":`Subagents`,"nav.logs":`Logs`,"nav.usage":`Usage`,"common.github":`GitHub`,"common.save":`Save`,"common.cancel":`Cancel`,"common.remove":`Remove`,"common.loading":`Loading…`,"theme.label":`Theme`,"theme.light":`Light`,"theme.dark":`Dark`,"theme.system":`System`,"lang.label":`Language`,"dash.subtitle":`Live status of the local opencodex proxy, its providers, and the models routed into Codex.`,"dash.status":`Status`,"dash.online":`Online`,"dash.offline":`Offline`,"dash.version":`Version`,"dash.uptime":`Uptime`,"dash.providers":`Providers`,"dash.tokens30d":`Tokens (30d)`,"dash.coverage":`{pct} coverage`,"dash.activeProviders":`Active providers`,"dash.noProviders":`No providers configured. Run {cmd}.`,"dash.col.name":`Name`,"dash.col.adapter":`Adapter`,"dash.col.baseUrl":`Base URL`,"dash.col.model":`Model`,"dash.availableModels":`Available models`,"dash.noModels":`No models found. Check provider API keys.`,"dash.cannotConnect":`Cannot connect to proxy. Is it running?`,"dash.runStart":`Run {cmd} to start the proxy.`,"dash.stop":`Stop Proxy`,"dash.stopConfirm":`Stop the proxy and restore native Codex?`,"dash.stopping":`Stopping…`,"dash.codexAutoStart":`Start opencodex with Codex`,"dash.codexAutoStartHint":`When enabled, the Codex shim runs ocx ensure before every Codex CLI/App launch. Disable this to leave Codex untouched.`,"dash.searchModel":`Search sidecar model`,"dash.searchModelHint":`Model used for web_search on non-OpenAI routed models. Requires ChatGPT login.`,"dash.searchReasoning":`Search reasoning effort`,"dash.visionModel":`Vision sidecar model`,"dash.visionModelHint":`Model used to describe images for text-only routed models. Requires ChatGPT login.`,"dash.sidecarSaved":`Sidecar settings saved. Applied on the next request.`,"dash.sidecarSaveFailed":`Failed to save sidecar settings.`,"prov.subtitle":`Configure the upstream providers opencodex routes into Codex. Log in with an account, add a provider, or edit the raw config.`,"prov.add":`Add Provider`,"prov.editJson":`Edit JSON`,"prov.accountLogin":`Account login`,"prov.noOauth":`No OAuth providers available.`,"prov.loggedIn":`logged in`,"prov.notLoggedIn":`not logged in`,"prov.logout":`Logout`,"prov.loginWith":`Login with {provider}`,"prov.waitingBrowser":`Waiting for browser…`,"prov.didntOpen":`Didn't open? Click here`,"prov.port":`Port`,"prov.default":`Default`,"prov.loadingConfig":`Loading…`,"prov.saved":`Saved! Restart proxy to apply.`,"prov.loadConfigFail":`Failed to load config`,"prov.invalidJson":`Invalid JSON`,"prov.saveFailed":`Save failed`,"prov.loginFailStart":`{provider} login failed to start`,"prov.loginError":`{provider} login error: {error}`,"prov.loginRequestFail":`{provider} login request failed`,"prov.loginOk":`Logged in to {provider}. Run {cmd} (or it applies live) to list its models.`,"prov.logoutOk":`Logged out of {provider}.`,"prov.removed":`Removed "{name}".`,"prov.removeFail":`Failed to remove "{name}".`,"prov.added":`Added "{name}". Live now — run {cmd} (or restart) to list its models in Codex's picker.`,"prov.removeConfirm":`Remove provider "{name}"? Its models disappear from Codex's picker.`,"prov.hasApiKey":`api key configured`,"prov.hasHeaders":`custom headers configured`,"models.subtitle":`Toggle which routed models Codex sees, grouped by provider (click a header to collapse). Disabled models are hidden from the catalog + model picker. Changes apply on the next Codex turn — opencodex invalidates Codex's 5-min model cache so no restart is needed.`,"models.active":`{active}/{total} active`,"models.allOn":`All on`,"models.allOff":`All off`,"models.applied":`Applied — takes effect on the next Codex turn.`,"models.saveFailed":`Save failed`,"models.networkError":`Network error — is the proxy running?`,"models.loadFail":`Failed to load models — is the proxy running?`,"models.noRouted":`No routed models`,"models.noRoutedHint":`Log into a provider or add one first.`,"models.loading":`Loading…`,"sub.subtitle":`Codex's {cmd} advertises only the first 5 models (by priority) as overrides. Pick up to 5 here — native gpt or routed — and opencodex sets their catalog priority so exactly these lead. Any other model is still callable by its exact name; this only controls what's shown.`,"sub.featured":`Featured`,"sub.noneSelected":`None selected — pick from the list below.`,"sub.models":`Models`,"sub.search":`Search models (native gpt + routed)…`,"sub.noModels":`No models — log into a provider or add one first.`,"sub.saved":`Saved {n} models. Start a new Codex session (or run {cmd}) to see them as spawn_agent overrides.`,"sub.saveFailed":`Save failed`,"sub.networkError":`Network error — is the proxy running?`,"sub.loadFail":`Failed to load models — is the proxy running?`,"sub.loading":`Loading…`,"sub.moveUp":`Move {m} up`,"sub.moveDown":`Move {m} down`,"sub.removeAria":`Remove {m}`,"logs.title":`Request Logs`,"logs.subtitle":`Recent requests routed through the local opencodex proxy, newest first.`,"logs.autoRefresh":`Auto-refresh`,"logs.noRequests":`No requests yet.`,"logs.col.time":`Time`,"logs.col.request":`Request`,"logs.col.model":`Model`,"logs.col.effort":`Effort`,"logs.col.provider":`Provider`,"logs.col.status":`Status`,"logs.col.tokens":`Tokens`,"logs.col.error":`Error`,"logs.col.duration":`Duration`,"logs.tokens.reported":`reported`,"logs.tokens.unreported":`unreported`,"logs.tokens.unsupported":`unsupported`,"logs.tokens.estimated":`estimated`,"usage.title":`Usage`,"usage.subtitle":`Local token accounting from your proxy. Missing usage is never shown as zero.`,"usage.loading":`Loading usage data…`,"usage.empty":`No usage recorded yet. Send a request through the proxy to see activity here.`,"usage.range.all":`All`,"usage.range.30d":`30d`,"usage.range.7d":`7d`,"usage.card.requests":`Requests`,"usage.card.reported":`Reported`,"usage.card.totalTokens":`Total tokens`,"usage.card.coverage":`Coverage`,"usage.card.activeDays":`Active days`,"usage.section.heatmap":`Daily activity`,"usage.section.models":`Models`,"usage.section.providers":`Providers`,"usage.section.coverage":`Coverage breakdown`,"usage.coverage.note":`Reported entries contain provider-supplied token counts. Unreported and unsupported requests are tracked but never inflated to zero tokens.`,"usage.search.models":`Search models…`,"usage.col.requests":`Requests`,"usage.col.reported":`Reported`,"usage.col.tokens":`Tokens`,"usage.col.share":`Share`,"usage.heatmap.less":`Less`,"usage.heatmap.more":`More`,"modal.addNamed":`Add: {label}`,"modal.add":`Add provider`,"modal.search":`Search providers…`,"modal.logInWith":`Log in with {label}`,"modal.waitingBrowser":`Waiting for browser…`,"modal.providerName":`Provider name`,"modal.adapter":`Adapter`,"modal.baseUrl":`Base URL`,"modal.defaultModel":`Default model (optional)`,"modal.nameRequired":`Provider name is required`,"modal.baseUrlRequired":`Base URL is required`,"modal.networkError":`Network error — is the proxy running?`,"modal.loginFailStart":`Login failed to start`,"modal.waitingLogin":`Waiting for browser login…`,"modal.loggingIn":`Logging in…`,"modal.loginTimeout":`Login timed out — try again.`,"nav.codexAuth":`Codex Auth`,"codexAuth.mainAccount":`Main Account`,"codexAuth.appLogin":`App login`,"codexAuth.accountPool":`Account Pool`,"codexAuth.add":`Add`,"codexAuth.refreshQuota":`Refresh quotas`,"codexAuth.refreshingQuota":`Refreshing...`,"codexAuth.quotaRefreshed":`Quotas refreshed`,"codexAuth.quotaRefreshFailed":`Failed to refresh quotas`,"codexAuth.noPool":`No pool accounts added yet.`,"codexAuth.weekly":`Week`,"codexAuth.fiveHour":`5h`,"codexAuth.monthly":`30d`,"codexAuth.resets":`resets`,"codexAuth.today":`Today`,"codexAuth.current":`CURRENT`,"codexAuth.nextSession":`NEXT SESSION`,"codexAuth.switchTitle":`Switch active account?`,"codexAuth.switchDesc":`This applies from the next Codex session. Current session stays on the existing account.`,"codexAuth.cacheWarning":`Prompt cache resets on account switch. New session starts with empty cache.`,"codexAuth.setAsNext":`Set as Next Session`,"codexAuth.cancel":`Cancel`,"codexAuth.switchBack":`Switch back to Main?`,"codexAuth.switchBackDesc":`Next Codex session will use your App login account again.`,"codexAuth.autoSwitch":`Auto-switch at 80%`,"codexAuth.autoSwitchDesc":`New sessions switch when the relevant quota window reaches the threshold; Go/Free use 30d only`,"codexAuth.switched":`{email} will be used from next session`,"codexAuth.removeConfirm":`Remove {id}?`,"codexAuth.addTitle":`Add Codex Account`,"codexAuth.addIdLabel":`Account ID (slug)`,"codexAuth.addJsonLabel":`auth.json content`,"codexAuth.addHelp":`Copy from another machine's ~/.codex/auth.json, or use codex-auth export.`,"codexAuth.importBtn":`Import`,"codexAuth.importInvalidJson":`Invalid JSON`,"codexAuth.importMissingTokens":`Missing access_token or refresh_token in JSON`,"codexAuth.importMissingId":`Account ID is required`,"codexAuth.accountAdded":`Account added to pool`,"codexAuth.addPickDesc":`Login with another ChatGPT account to add it to the pool.`,"codexAuth.oauthLogin":`OAuth Login`,"codexAuth.oauthDesc":`Opens ChatGPT login in browser`,"codexAuth.importAuthJson":`Import auth.json`,"codexAuth.importAuthJsonDesc":`From another Codex install or codex-auth export`,"codexAuth.back":`Back`,"codexAuth.oauthAlreadyInProgress":`Login already in progress. Complete it in your browser.`,"codexAuth.oauthWaiting":`Waiting for ChatGPT login to complete in your browser...`,"codexAuth.copyLoginLink":`Copy login link`,"codexAuth.loginLinkCopied":`Login link copied`,"codexAuth.loginLinkCopyFailed":`Could not copy login link.`,"codexAuth.oauthCancelled":`Login was cancelled.`,"codexAuth.needsReauth":`Re-login`,"codexAuth.tokenExpired":`Token expired — re-add this account to refresh`,"codexAuth.emailCollision":`This account matches your main Codex login. Use a different account.`,"codexAuth.resetCreditsTitle":`Reset Credits`,"codexAuth.resetCreditsAvailable":`You have {count} reset credit(s) available.`,"codexAuth.resetCreditsDesc":`Each credit resets your current hourly and weekly usage limits instantly.`,"codexAuth.noResetCredits":`You don't have any reset credits.`,"codexAuth.earnCreditsHint":`Credits are earned monthly and via the referral program.`,"codexAuth.creditsExpireNote":`Credits expire 30 days after earning.`,"codexAuth.useOneCredit":`Use 1 Credit`,"codexAuth.confirmResetTitle":`Use Reset Credit?`,"codexAuth.confirmResetDesc":`This will instantly reset your current rate limits. You have {count} credit(s) remaining.`,"codexAuth.irreversible":`This action cannot be undone.`,"codexAuth.useCredit":`Use Credit`,"codexAuth.redeeming":`Resetting...`,"codexAuth.resetSuccess":`Rate limits reset! {remaining} credit(s) remaining.`,"codexAuth.resetNothingToReset":`No rate-limit window needs resetting right now.`,"codexAuth.resetNoCredit":`No reset credits available.`,"codexAuth.resetError":`Failed to redeem reset credit. Please try again.`,"codexAuth.fifoNote":`The oldest credit is used first.`,"codexAuth.confirmWhichCredit":`Credit from {date} will be used.`,"codexAuth.creditNext":`Next to use`,"codexAuth.creditLabel":`Credit #{n}`,"codexAuth.creditNextBadge":`NEXT`,"codexAuth.creditGranted":`Granted {date}`,"codexAuth.creditExpires":`Expires {date} ({days}d left)`},be={en:ye,ko:{"nav.dashboard":`대시보드`,"nav.providers":`프로바이더`,"nav.models":`모델`,"nav.subagents":`서브에이전트`,"nav.logs":`로그`,"nav.usage":`사용량`,"common.github":`GitHub`,"common.save":`저장`,"common.cancel":`취소`,"common.remove":`삭제`,"common.loading":`불러오는 중…`,"theme.label":`테마`,"theme.light":`라이트`,"theme.dark":`다크`,"theme.system":`시스템`,"lang.label":`언어`,"dash.subtitle":`로컬 opencodex 프록시와 프로바이더, 그리고 Codex로 라우팅되는 모델의 실시간 상태입니다.`,"dash.status":`상태`,"dash.online":`온라인`,"dash.offline":`오프라인`,"dash.version":`버전`,"dash.uptime":`가동 시간`,"dash.providers":`프로바이더`,"dash.tokens30d":`토큰 (30일)`,"dash.coverage":`커버리지 {pct}`,"dash.activeProviders":`활성 프로바이더`,"dash.noProviders":`설정된 프로바이더가 없습니다. {cmd} 를 실행하세요.`,"dash.col.name":`이름`,"dash.col.adapter":`어댑터`,"dash.col.baseUrl":`Base URL`,"dash.col.model":`모델`,"dash.availableModels":`사용 가능한 모델`,"dash.noModels":`모델을 찾을 수 없습니다. 프로바이더 API 키를 확인하세요.`,"dash.cannotConnect":`프록시에 연결할 수 없습니다. 실행 중인가요?`,"dash.runStart":`{cmd} 를 실행해 프록시를 시작하세요.`,"dash.stop":`프록시 중지`,"dash.stopConfirm":`프록시를 중지하고 Codex 원본 설정을 복원할까요?`,"dash.stopping":`중지 중…`,"dash.codexAutoStart":`Codex 실행 시 opencodex 시작`,"dash.codexAutoStartHint":`켜져 있으면 Codex CLI/App 실행 전 shim이 ocx ensure를 실행합니다. 끄면 Codex를 건드리지 않습니다.`,"dash.searchModel":`서치 사이드카 모델`,"dash.searchModelHint":`비-OpenAI 라우팅 모델의 web_search에 사용되는 모델입니다. ChatGPT 로그인 필요.`,"dash.searchReasoning":`서치 추론 강도`,"dash.visionModel":`비전 사이드카 모델`,"dash.visionModelHint":`텍스트 전용 라우팅 모델에 이미지를 설명하는 데 사용되는 모델입니다. ChatGPT 로그인 필요.`,"dash.sidecarSaved":`사이드카 설정이 저장됐습니다. 다음 요청부터 적용됩니다.`,"dash.sidecarSaveFailed":`사이드카 설정 저장에 실패했습니다.`,"prov.subtitle":`opencodex가 Codex로 라우팅하는 업스트림 프로바이더를 설정합니다. 계정으로 로그인하거나, 프로바이더를 추가하거나, 원본 설정을 편집하세요.`,"prov.add":`프로바이더 추가`,"prov.editJson":`JSON 편집`,"prov.accountLogin":`계정 로그인`,"prov.noOauth":`사용 가능한 OAuth 프로바이더가 없습니다.`,"prov.loggedIn":`로그인됨`,"prov.notLoggedIn":`로그인 안 됨`,"prov.logout":`로그아웃`,"prov.loginWith":`{provider} 로 로그인`,"prov.waitingBrowser":`브라우저 대기 중…`,"prov.didntOpen":`안 열렸나요? 여기를 클릭하세요`,"prov.port":`포트`,"prov.default":`기본값`,"prov.loadingConfig":`불러오는 중…`,"prov.saved":`저장됨! 적용하려면 프록시를 재시작하세요.`,"prov.loadConfigFail":`설정을 불러오지 못했습니다`,"prov.invalidJson":`잘못된 JSON`,"prov.saveFailed":`저장 실패`,"prov.loginFailStart":`{provider} 로그인을 시작하지 못했습니다`,"prov.loginError":`{provider} 로그인 오류: {error}`,"prov.loginRequestFail":`{provider} 로그인 요청 실패`,"prov.loginOk":`{provider} 에 로그인했습니다. 모델을 표시하려면 {cmd} 를 실행하세요(또는 실시간 적용됩니다).`,"prov.logoutOk":`{provider} 에서 로그아웃했습니다.`,"prov.removed":`"{name}" 을(를) 삭제했습니다.`,"prov.removeFail":`"{name}" 삭제에 실패했습니다.`,"prov.added":`"{name}" 을(를) 추가했습니다. 지금 활성화됨 — Codex 모델 선택기에 표시하려면 {cmd} 를 실행하세요(또는 재시작).`,"prov.removeConfirm":`프로바이더 "{name}" 을(를) 삭제할까요? 해당 모델이 Codex 선택기에서 사라집니다.`,"prov.hasApiKey":`API 키 설정됨`,"prov.hasHeaders":`커스텀 헤더 설정됨`,"models.subtitle":`Codex가 보는 라우팅된 모델을 프로바이더별로 묶어 켜고 끕니다(헤더를 클릭하면 접힘). 비활성화된 모델은 카탈로그와 모델 선택기에서 숨겨집니다. 변경 사항은 다음 Codex 턴에 적용됩니다 — opencodex가 Codex의 5분 모델 캐시를 무효화하므로 재시작이 필요 없습니다.`,"models.active":`{active}/{total} 활성`,"models.allOn":`모두 켜기`,"models.allOff":`모두 끄기`,"models.applied":`적용됨 — 다음 Codex 턴부터 반영됩니다.`,"models.saveFailed":`저장 실패`,"models.networkError":`네트워크 오류 — 프록시가 실행 중인가요?`,"models.loadFail":`모델을 불러오지 못했습니다 — 프록시가 실행 중인가요?`,"models.noRouted":`라우팅된 모델 없음`,"models.noRoutedHint":`먼저 프로바이더에 로그인하거나 추가하세요.`,"models.loading":`불러오는 중…`,"sub.subtitle":`Codex의 {cmd} 는 우선순위 상위 5개 모델만 오버라이드로 노출합니다. 여기서 최대 5개를 선택하면 — 네이티브 gpt 또는 라우팅된 모델 — opencodex가 카탈로그 우선순위를 설정해 정확히 이들이 앞에 옵니다. 다른 모델도 정확한 이름으로 호출할 수 있으며, 이 설정은 표시 항목만 제어합니다.`,"sub.featured":`추천`,"sub.noneSelected":`선택된 항목 없음 — 아래 목록에서 선택하세요.`,"sub.models":`모델`,"sub.search":`모델 검색(네이티브 gpt + 라우팅)…`,"sub.noModels":`모델 없음 — 먼저 프로바이더에 로그인하거나 추가하세요.`,"sub.saved":`{n}개 모델을 저장했습니다. spawn_agent 오버라이드로 보려면 새 Codex 세션을 시작하거나 {cmd} 를 실행하세요.`,"sub.saveFailed":`저장 실패`,"sub.networkError":`네트워크 오류 — 프록시가 실행 중인가요?`,"sub.loadFail":`모델을 불러오지 못했습니다 — 프록시가 실행 중인가요?`,"sub.loading":`불러오는 중…`,"sub.moveUp":`{m} 위로 이동`,"sub.moveDown":`{m} 아래로 이동`,"sub.removeAria":`{m} 삭제`,"logs.title":`요청 로그`,"logs.subtitle":`로컬 opencodex 프록시를 거친 최근 요청입니다. 최신순.`,"logs.autoRefresh":`자동 새로고침`,"logs.noRequests":`아직 요청이 없습니다.`,"logs.col.time":`시간`,"logs.col.request":`요청`,"logs.col.model":`모델`,"logs.col.effort":`추론 강도`,"logs.col.provider":`프로바이더`,"logs.col.status":`상태`,"logs.col.tokens":`토큰`,"logs.col.error":`오류`,"logs.col.duration":`소요 시간`,"logs.tokens.reported":`측정됨`,"logs.tokens.unreported":`미보고`,"logs.tokens.unsupported":`미지원`,"logs.tokens.estimated":`추정`,"usage.title":`사용량`,"usage.subtitle":`프록시의 로컬 토큰 집계입니다. 누락된 사용량은 0으로 표시하지 않습니다.`,"usage.loading":`사용량 데이터를 불러오는 중…`,"usage.empty":`아직 기록된 사용량이 없습니다. 프록시로 요청을 보내면 여기에 표시됩니다.`,"usage.range.all":`전체`,"usage.range.30d":`30일`,"usage.range.7d":`7일`,"usage.card.requests":`요청`,"usage.card.reported":`측정됨`,"usage.card.totalTokens":`총 토큰`,"usage.card.coverage":`커버리지`,"usage.card.activeDays":`활동일`,"usage.section.heatmap":`일별 활동`,"usage.section.models":`모델`,"usage.section.providers":`프로바이더`,"usage.section.coverage":`커버리지 상세`,"usage.coverage.note":`측정됨 항목은 제공자가 보고한 토큰 수치를 사용합니다. 미보고/미지원 요청은 추적만 하고 0으로 환산하지 않습니다.`,"usage.search.models":`모델 검색…`,"usage.col.requests":`요청`,"usage.col.reported":`측정됨`,"usage.col.tokens":`토큰`,"usage.col.share":`비율`,"usage.heatmap.less":`적음`,"usage.heatmap.more":`많음`,"modal.addNamed":`추가: {label}`,"modal.add":`프로바이더 추가`,"modal.search":`프로바이더 검색…`,"modal.logInWith":`{label} 로 로그인`,"modal.waitingBrowser":`브라우저 대기 중…`,"modal.providerName":`프로바이더 이름`,"modal.adapter":`어댑터`,"modal.baseUrl":`Base URL`,"modal.defaultModel":`기본 모델(선택)`,"modal.nameRequired":`프로바이더 이름을 입력하세요`,"modal.baseUrlRequired":`Base URL을 입력하세요`,"modal.networkError":`네트워크 오류 — 프록시가 실행 중인가요?`,"modal.loginFailStart":`로그인을 시작하지 못했습니다`,"modal.waitingLogin":`브라우저 로그인 대기 중…`,"modal.loggingIn":`로그인 중…`,"modal.loginTimeout":`로그인 시간 초과 — 다시 시도하세요.`,"nav.codexAuth":`Codex 인증`,"codexAuth.mainAccount":`메인 계정`,"codexAuth.appLogin":`앱 로그인`,"codexAuth.accountPool":`계정 풀`,"codexAuth.add":`추가`,"codexAuth.refreshQuota":`할당량 새로고침`,"codexAuth.refreshingQuota":`새로고침 중...`,"codexAuth.quotaRefreshed":`할당량을 다시 조회했습니다`,"codexAuth.quotaRefreshFailed":`할당량 재조회에 실패했습니다`,"codexAuth.noPool":`풀 계정이 아직 없습니다.`,"codexAuth.weekly":`주간`,"codexAuth.fiveHour":`5h`,"codexAuth.monthly":`30일`,"codexAuth.resets":`리셋`,"codexAuth.today":`오늘`,"codexAuth.current":`현재`,"codexAuth.nextSession":`다음 세션`,"codexAuth.switchTitle":`활성 계정을 변경하시겠습니까?`,"codexAuth.switchDesc":`다음 Codex 세션부터 적용됩니다. 현재 세션은 기존 계정을 유지합니다.`,"codexAuth.cacheWarning":`계정 전환 시 프롬프트 캐시가 초기화됩니다.`,"codexAuth.setAsNext":`다음 세션으로 설정`,"codexAuth.cancel":`취소`,"codexAuth.switchBack":`메인 계정으로 돌아가시겠습니까?`,"codexAuth.switchBackDesc":`다음 Codex 세션에서 앱 로그인 계정을 사용합니다.`,"codexAuth.autoSwitch":`80% 초과 시 자동 전환`,"codexAuth.autoSwitchDesc":`새 세션은 해당 플랜의 기준 창이 임계값에 도달하면 전환합니다. Go/Free는 30일만 봅니다`,"codexAuth.switched":`다음 세션부터 {email}을(를) 사용합니다`,"codexAuth.removeConfirm":`{id}을(를) 삭제하시겠습니까?`,"codexAuth.addTitle":`Codex 계정 추가`,"codexAuth.addIdLabel":`계정 ID (슬러그)`,"codexAuth.addJsonLabel":`auth.json 내용`,"codexAuth.addHelp":`다른 머신의 ~/.codex/auth.json을 복사하거나, codex-auth export를 사용하세요.`,"codexAuth.importBtn":`가져오기`,"codexAuth.importInvalidJson":`유효하지 않은 JSON`,"codexAuth.importMissingTokens":`JSON에 access_token 또는 refresh_token이 없습니다`,"codexAuth.importMissingId":`계정 ID를 입력하세요`,"codexAuth.accountAdded":`풀에 계정이 추가되었습니다`,"codexAuth.addPickDesc":`다른 ChatGPT 계정으로 로그인하여 풀에 추가하세요.`,"codexAuth.oauthLogin":`OAuth 로그인`,"codexAuth.oauthDesc":`브라우저에서 ChatGPT 로그인 열기`,"codexAuth.importAuthJson":`auth.json 가져오기`,"codexAuth.importAuthJsonDesc":`다른 Codex 설치 또는 codex-auth export에서`,"codexAuth.back":`뒤로`,"codexAuth.oauthAlreadyInProgress":`로그인이 이미 진행 중입니다. 브라우저에서 완료하세요.`,"codexAuth.oauthWaiting":`브라우저에서 ChatGPT 로그인 완료를 기다리는 중...`,"codexAuth.copyLoginLink":`로그인 링크 복사`,"codexAuth.loginLinkCopied":`로그인 링크를 복사했습니다`,"codexAuth.loginLinkCopyFailed":`로그인 링크를 복사하지 못했습니다.`,"codexAuth.oauthCancelled":`로그인이 취소되었습니다.`,"codexAuth.needsReauth":`재로그인`,"codexAuth.tokenExpired":`토큰 만료 — 계정을 다시 추가하여 갱신하세요`,"codexAuth.emailCollision":`이 계정은 메인 Codex 로그인과 동일합니다. 다른 계정을 사용하세요.`,"codexAuth.resetCreditsTitle":`리셋 크레딧`,"codexAuth.resetCreditsAvailable":`사용 가능한 리셋 크레딧이 {count}개 있습니다.`,"codexAuth.resetCreditsDesc":`크레딧 1개로 현재 시간/주간 사용량 제한을 즉시 초기화합니다.`,"codexAuth.noResetCredits":`사용 가능한 리셋 크레딧이 없습니다.`,"codexAuth.earnCreditsHint":`크레딧은 매월 자동 지급되며 추천 프로그램으로도 획득할 수 있습니다.`,"codexAuth.creditsExpireNote":`크레딧은 획득 후 30일 뒤 만료됩니다.`,"codexAuth.useOneCredit":`크레딧 1개 사용`,"codexAuth.confirmResetTitle":`리셋 크레딧을 사용하시겠습니까?`,"codexAuth.confirmResetDesc":`현재 사용량 제한이 즉시 초기화됩니다. 남은 크레딧: {count}개.`,"codexAuth.irreversible":`이 작업은 되돌릴 수 없습니다.`,"codexAuth.useCredit":`크레딧 사용`,"codexAuth.redeeming":`초기화 중...`,"codexAuth.resetSuccess":`사용량 제한이 초기화되었습니다! 남은 크레딧: {remaining}개.`,"codexAuth.resetNothingToReset":`현재 초기화할 사용량 윈도우가 없습니다.`,"codexAuth.resetNoCredit":`사용 가능한 리셋 크레딧이 없습니다.`,"codexAuth.resetError":`리셋 크레딧 사용에 실패했습니다. 다시 시도해 주세요.`,"codexAuth.fifoNote":`가장 오래된 크레딧부터 사용됩니다.`,"codexAuth.confirmWhichCredit":`{date}에 획득한 크레딧이 사용됩니다.`,"codexAuth.creditNext":`다음 사용 대상`,"codexAuth.creditLabel":`크레딧 #{n}`,"codexAuth.creditNextBadge":`NEXT`,"codexAuth.creditGranted":`획득 {date}`,"codexAuth.creditExpires":`만료 {date} ({days}일 남음)`},zh:{"nav.dashboard":`仪表盘`,"nav.providers":`提供方`,"nav.models":`模型`,"nav.subagents":`子代理`,"nav.logs":`日志`,"nav.usage":`用量`,"common.github":`GitHub`,"common.save":`保存`,"common.cancel":`取消`,"common.remove":`移除`,"common.loading":`加载中…`,"theme.label":`主题`,"theme.light":`浅色`,"theme.dark":`深色`,"theme.system":`跟随系统`,"lang.label":`语言`,"dash.subtitle":`本地 opencodex 代理、其提供方以及路由到 Codex 的模型的实时状态。`,"dash.status":`状态`,"dash.online":`在线`,"dash.offline":`离线`,"dash.version":`版本`,"dash.uptime":`运行时间`,"dash.providers":`提供方`,"dash.tokens30d":`Token (30 天)`,"dash.coverage":`覆盖率 {pct}`,"dash.activeProviders":`活跃提供方`,"dash.noProviders":`尚未配置提供方。请运行 {cmd}。`,"dash.col.name":`名称`,"dash.col.adapter":`适配器`,"dash.col.baseUrl":`Base URL`,"dash.col.model":`模型`,"dash.availableModels":`可用模型`,"dash.noModels":`未找到模型。请检查提供方 API 密钥。`,"dash.cannotConnect":`无法连接到代理。它在运行吗?`,"dash.runStart":`运行 {cmd} 以启动代理。`,"dash.stop":`停止代理`,"dash.stopConfirm":`停止代理并恢复原生 Codex 配置?`,"dash.stopping":`正在停止…`,"dash.codexAutoStart":`随 Codex 启动 opencodex`,"dash.codexAutoStartHint":`启用后,Codex shim 会在每次 Codex CLI/App 启动前运行 ocx ensure。关闭后不会改动 Codex。`,"dash.searchModel":`搜索附属模型`,"dash.searchModelHint":`用于非 OpenAI 路由模型的 web_search 的模型。需要 ChatGPT 登录。`,"dash.searchReasoning":`搜索推理强度`,"dash.visionModel":`视觉附属模型`,"dash.visionModelHint":`为纯文本路由模型描述图像的模型。需要 ChatGPT 登录。`,"dash.sidecarSaved":`附属设置已保存。将在下一个请求时生效。`,"dash.sidecarSaveFailed":`保存附属设置失败。`,"prov.subtitle":`配置 opencodex 路由到 Codex 的上游提供方。使用账户登录、添加提供方,或编辑原始配置。`,"prov.add":`添加提供方`,"prov.editJson":`编辑 JSON`,"prov.accountLogin":`账户登录`,"prov.noOauth":`没有可用的 OAuth 提供方。`,"prov.loggedIn":`已登录`,"prov.notLoggedIn":`未登录`,"prov.logout":`退出登录`,"prov.loginWith":`使用 {provider} 登录`,"prov.waitingBrowser":`等待浏览器…`,"prov.didntOpen":`没有打开?点击这里`,"prov.port":`端口`,"prov.default":`默认`,"prov.loadingConfig":`加载中…`,"prov.saved":`已保存!重启代理以生效。`,"prov.loadConfigFail":`加载配置失败`,"prov.invalidJson":`无效的 JSON`,"prov.saveFailed":`保存失败`,"prov.loginFailStart":`{provider} 登录启动失败`,"prov.loginError":`{provider} 登录错误:{error}`,"prov.loginRequestFail":`{provider} 登录请求失败`,"prov.loginOk":`已登录到 {provider}。运行 {cmd}(或实时生效)以列出其模型。`,"prov.logoutOk":`已退出 {provider}。`,"prov.removed":`已移除 "{name}"。`,"prov.removeFail":`移除 "{name}" 失败。`,"prov.added":`已添加 "{name}"。现已生效 — 运行 {cmd}(或重启)以在 Codex 选择器中列出其模型。`,"prov.removeConfirm":`移除提供方 "{name}"?其模型将从 Codex 选择器中消失。`,"prov.hasApiKey":`已配置 API 密钥`,"prov.hasHeaders":`已配置自定义请求头`,"models.subtitle":`按提供方分组开关 Codex 可见的已路由模型(点击标题可折叠)。已禁用的模型会从目录和模型选择器中隐藏。更改在下一个 Codex 回合生效 — opencodex 会使 Codex 的 5 分钟模型缓存失效,因此无需重启。`,"models.active":`{active}/{total} 已启用`,"models.allOn":`全部开启`,"models.allOff":`全部关闭`,"models.applied":`已应用 — 将在下一个 Codex 回合生效。`,"models.saveFailed":`保存失败`,"models.networkError":`网络错误 — 代理在运行吗?`,"models.loadFail":`加载模型失败 — 代理在运行吗?`,"models.noRouted":`没有已路由的模型`,"models.noRoutedHint":`请先登录提供方或添加一个。`,"models.loading":`加载中…`,"sub.subtitle":`Codex 的 {cmd} 仅将优先级最高的前 5 个模型作为覆盖项公开。在此最多选择 5 个 — 原生 gpt 或已路由模型 — opencodex 会设置它们的目录优先级,使其正好排在前面。其他模型仍可按确切名称调用;此设置仅控制显示项。`,"sub.featured":`精选`,"sub.noneSelected":`未选择 — 请从下方列表选择。`,"sub.models":`模型`,"sub.search":`搜索模型(原生 gpt + 已路由)…`,"sub.noModels":`没有模型 — 请先登录提供方或添加一个。`,"sub.saved":`已保存 {n} 个模型。启动新的 Codex 会话(或运行 {cmd})以将它们作为 spawn_agent 覆盖项查看。`,"sub.saveFailed":`保存失败`,"sub.networkError":`网络错误 — 代理在运行吗?`,"sub.loadFail":`加载模型失败 — 代理在运行吗?`,"sub.loading":`加载中…`,"sub.moveUp":`上移 {m}`,"sub.moveDown":`下移 {m}`,"sub.removeAria":`移除 {m}`,"logs.title":`请求日志`,"logs.subtitle":`经过本地 opencodex 代理的最近请求,最新在前。`,"logs.autoRefresh":`自动刷新`,"logs.noRequests":`暂无请求。`,"logs.col.time":`时间`,"logs.col.request":`请求`,"logs.col.model":`模型`,"logs.col.effort":`推理强度`,"logs.col.provider":`提供方`,"logs.col.status":`状态`,"logs.col.tokens":`Token 数`,"logs.col.error":`错误`,"logs.col.duration":`耗时`,"logs.tokens.reported":`已上报`,"logs.tokens.unreported":`未上报`,"logs.tokens.unsupported":`不支持`,"logs.tokens.estimated":`估算`,"usage.title":`用量`,"usage.subtitle":`代理本地的 Token 用量统计。缺失的用量不会显示为零。`,"usage.loading":`正在加载用量数据…`,"usage.empty":`尚无用量记录。通过代理发送请求后将在此显示。`,"usage.range.all":`全部`,"usage.range.30d":`30 天`,"usage.range.7d":`7 天`,"usage.card.requests":`请求数`,"usage.card.reported":`已上报`,"usage.card.totalTokens":`Token 总数`,"usage.card.coverage":`覆盖率`,"usage.card.activeDays":`活跃天数`,"usage.section.heatmap":`每日活动`,"usage.section.models":`模型`,"usage.section.providers":`提供方`,"usage.section.coverage":`覆盖率明细`,"usage.coverage.note":`“已上报”使用提供方返回的真实 Token 数。未上报 / 不支持请求仅做计数,不会被算作 0 Token。`,"usage.search.models":`搜索模型…`,"usage.col.requests":`请求数`,"usage.col.reported":`已上报`,"usage.col.tokens":`Token 数`,"usage.col.share":`占比`,"usage.heatmap.less":`少`,"usage.heatmap.more":`多`,"modal.addNamed":`添加:{label}`,"modal.add":`添加提供方`,"modal.search":`搜索提供方…`,"modal.logInWith":`使用 {label} 登录`,"modal.waitingBrowser":`等待浏览器…`,"modal.providerName":`提供方名称`,"modal.adapter":`适配器`,"modal.baseUrl":`Base URL`,"modal.defaultModel":`默认模型(可选)`,"modal.nameRequired":`提供方名称为必填项`,"modal.baseUrlRequired":`Base URL 为必填项`,"modal.networkError":`网络错误 — 代理在运行吗?`,"modal.loginFailStart":`登录启动失败`,"modal.waitingLogin":`等待浏览器登录…`,"modal.loggingIn":`登录中…`,"modal.loginTimeout":`登录超时 — 请重试。`,"nav.codexAuth":`Codex 认证`,"codexAuth.mainAccount":`主账号`,"codexAuth.appLogin":`应用登录`,"codexAuth.accountPool":`账号池`,"codexAuth.add":`添加`,"codexAuth.refreshQuota":`刷新额度`,"codexAuth.refreshingQuota":`刷新中...`,"codexAuth.quotaRefreshed":`额度已刷新`,"codexAuth.quotaRefreshFailed":`额度刷新失败`,"codexAuth.noPool":`尚未添加池账号。`,"codexAuth.weekly":`每周`,"codexAuth.fiveHour":`5h`,"codexAuth.monthly":`30天`,"codexAuth.resets":`重置`,"codexAuth.today":`今天`,"codexAuth.current":`当前`,"codexAuth.nextSession":`下次会话`,"codexAuth.switchTitle":`切换活跃账号?`,"codexAuth.switchDesc":`从下次 Codex 会话开始生效。当前会话保持现有账号。`,"codexAuth.cacheWarning":`切换账号会重置提示缓存。新会话从空缓存开始。`,"codexAuth.setAsNext":`设为下次会话`,"codexAuth.cancel":`取消`,"codexAuth.switchBack":`切换回主账号?`,"codexAuth.switchBackDesc":`下次 Codex 会话将使用应用登录账号。`,"codexAuth.autoSwitch":`超过 80% 时自动切换`,"codexAuth.autoSwitchDesc":`新会话会在相关额度窗口达到阈值时切换;Go/Free 只使用 30天`,"codexAuth.switched":`下次会话将使用 {email}`,"codexAuth.removeConfirm":`删除 {id}?`,"codexAuth.addTitle":`添加 Codex 账号`,"codexAuth.addIdLabel":`账号 ID(标识符)`,"codexAuth.addJsonLabel":`auth.json 内容`,"codexAuth.addHelp":`从另一台机器的 ~/.codex/auth.json 复制,或使用 codex-auth export。`,"codexAuth.importBtn":`导入`,"codexAuth.importInvalidJson":`无效的 JSON`,"codexAuth.importMissingTokens":`JSON 中缺少 access_token 或 refresh_token`,"codexAuth.importMissingId":`请输入账号 ID`,"codexAuth.accountAdded":`账号已添加到池中`,"codexAuth.addPickDesc":`使用另一个 ChatGPT 账号登录以添加到池中。`,"codexAuth.oauthLogin":`OAuth 登录`,"codexAuth.oauthDesc":`在浏览器中打开 ChatGPT 登录`,"codexAuth.importAuthJson":`导入 auth.json`,"codexAuth.importAuthJsonDesc":`从另一个 Codex 安装或 codex-auth 导出`,"codexAuth.back":`返回`,"codexAuth.oauthAlreadyInProgress":`登录已在进行中。请在浏览器中完成。`,"codexAuth.oauthWaiting":`等待浏览器中完成 ChatGPT 登录...`,"codexAuth.copyLoginLink":`复制登录链接`,"codexAuth.loginLinkCopied":`登录链接已复制`,"codexAuth.loginLinkCopyFailed":`无法复制登录链接。`,"codexAuth.oauthCancelled":`登录已取消。`,"codexAuth.needsReauth":`重新登录`,"codexAuth.tokenExpired":`令牌已过期 — 重新添加此账号以刷新`,"codexAuth.emailCollision":`此账号与您的主 Codex 登录相同。请使用其他账号。`,"codexAuth.resetCreditsTitle":`重置额度`,"codexAuth.resetCreditsAvailable":`您有 {count} 个可用重置额度。`,"codexAuth.resetCreditsDesc":`每个额度可立即重置您当前的小时和每周使用限制。`,"codexAuth.noResetCredits":`没有可用的重置额度。`,"codexAuth.earnCreditsHint":`额度每月自动发放,也可通过推荐计划获得。`,"codexAuth.creditsExpireNote":`额度在获得后 30 天过期。`,"codexAuth.useOneCredit":`使用 1 个额度`,"codexAuth.confirmResetTitle":`使用重置额度?`,"codexAuth.confirmResetDesc":`这将立即重置您当前的使用限制。剩余额度:{count} 个。`,"codexAuth.irreversible":`此操作不可撤销。`,"codexAuth.useCredit":`使用额度`,"codexAuth.redeeming":`重置中...`,"codexAuth.resetSuccess":`使用限制已重置!剩余额度:{remaining} 个。`,"codexAuth.resetNothingToReset":`当前没有需要重置的使用窗口。`,"codexAuth.resetNoCredit":`没有可用的重置额度。`,"codexAuth.resetError":`重置额度使用失败,请重试。`,"codexAuth.fifoNote":`最早获得的额度优先使用。`,"codexAuth.confirmWhichCredit":`将使用 {date} 获得的额度。`,"codexAuth.creditNext":`即将使用`,"codexAuth.creditLabel":`额度 #{n}`,"codexAuth.creditNextBadge":`NEXT`,"codexAuth.creditGranted":`获得 {date}`,"codexAuth.creditExpires":`过期 {date}(剩余 {days} 天)`}},xe=[{code:`en`,name:`English`,htmlLang:`en`},{code:`ko`,name:`한국어`,htmlLang:`ko`},{code:`zh`,name:`中文`,htmlLang:`zh-CN`}],Se=`ocx-lang`;function Ce(){try{let e=localStorage.getItem(Se);if(e===`en`||e===`ko`||e===`zh`)return e}catch{}let e=typeof navigator<`u`?navigator.language.toLowerCase():`en`;return e.startsWith(`ko`)?`ko`:e.startsWith(`zh`)?`zh`:`en`}var we=(0,_.createContext)(null);function Te(e,t){if(!t)return e;let n=e;for(let e of Object.keys(t))n=n.split(`{${e}}`).join(String(t[e]));return n}function Ee({children:e}){let[t,n]=(0,_.useState)(Ce);return(0,_.useEffect)(()=>{let e=xe.find(e=>e.code===t)??xe[0];document.documentElement.lang=e.htmlLang;try{localStorage.setItem(Se,t)}catch{}},[t]),(0,S.jsx)(we.Provider,{value:{locale:t,setLocale:n,t:(e,n)=>Te(be[t][e]??ye[e]??e,n)},children:e})}function De(){let e=(0,_.useContext)(we);if(!e)throw Error(`useI18n must be used within LanguageProvider`);return e}function Oe(){return De().t}function ke({k:e,cmd:t,vars:n}){let{t:r}=De(),[i,a=``]=r(e,n).split(`{cmd}`);return(0,S.jsxs)(S.Fragment,{children:[i,(0,S.jsx)(`code`,{className:`chip`,children:t}),a]})}function Ae(e){return e<1e4?String(e):e<1e6?`${(e/1e3).toFixed(1)}K`:`${(e/1e6).toFixed(2)}M`}var je=[`gpt-5.4-mini`,`gpt-5.4`,`gpt-5.5`,`gpt-5.3-codex-spark`],Me=[`low`,`medium`,`high`];function Ne({apiBase:e}){let{locale:t,t:n}=De(),[r,i]=(0,_.useState)(null),[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(null),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)(null),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(!1),[x,C]=(0,_.useState)(!1),[w,T]=(0,_.useState)(!1);(0,_.useEffect)(()=>{let t=async()=>{try{let[t,n,r,a,s]=await Promise.all([fetch(`${e}/healthz`),fetch(`${e}/api/providers`),fetch(`${e}/api/settings`),fetch(`${e}/api/sidecar-settings`),fetch(`${e}/api/usage?range=30d`)]);i(await t.json()),o(await n.json()),u(await r.json()),f(await a.json());try{m(s.ok?await s.json():null)}catch{m(null)}T(!1)}catch{T(!0)}};t();let n=setInterval(t,5e3);return()=>clearInterval(n)},[e]),(0,_.useEffect)(()=>{w||(y(!0),fetch(`${e}/api/models`).then(e=>e.json()).then(e=>{c(e),y(!1)}).catch(()=>y(!1)))},[e,w]);let E=(0,_.useMemo)(()=>{let e={};for(let t of s)(e[t.provider]??=[]).push(t);return Object.entries(e).sort(([e],[t])=>e.localeCompare(t))},[s]);if(w)return(0,S.jsxs)(`div`,{className:`empty`,style:{marginTop:40},children:[(0,S.jsx)(se,{}),(0,S.jsx)(`div`,{className:`title`,style:{color:`var(--red)`},children:n(`dash.cannotConnect`)}),(0,S.jsx)(`div`,{style:{fontSize:13},children:(0,S.jsx)(ke,{k:`dash.runStart`,cmd:`ocx start`})})]});let ee=r?.status===`ok`,D=async t=>{if(!d||h)return;let n={webSearch:{...d.webSearch,...t.webSearch},vision:{...d.vision,...t.vision}};g(!0),f(n);try{let t=await fetch(`${e}/api/sidecar-settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)});if(!t.ok)throw Error(`save failed`);let r=await t.json();f({webSearch:r.webSearch,vision:r.vision})}catch{f(d)}finally{g(!1)}};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`div`,{className:`page-head`,children:(0,S.jsx)(`h2`,{children:n(`nav.dashboard`)})}),(0,S.jsx)(`p`,{className:`page-sub`,children:n(`dash.subtitle`)}),(0,S.jsxs)(`div`,{className:`stat-row`,children:[(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`label`,children:n(`dash.status`)}),(0,S.jsxs)(`div`,{className:`value`,style:{display:`flex`,alignItems:`center`,gap:9,color:ee?`var(--green)`:`var(--red)`},children:[(0,S.jsx)(`span`,{className:`dot ${ee?`dot-green`:`dot-red`}`}),n(ee?`dash.online`:`dash.offline`)]})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`label`,children:n(`dash.version`)}),(0,S.jsx)(`div`,{className:`value mono`,children:r?.version??`—`})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`label`,children:n(`dash.uptime`)}),(0,S.jsx)(`div`,{className:`value mono`,children:r?b(r.uptime,t):`—`})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`label`,children:n(`dash.providers`)}),(0,S.jsx)(`div`,{className:`value`,children:a.length})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`label`,children:n(`dash.tokens30d`)}),(0,S.jsx)(`div`,{className:`value mono`,children:p&&p.summary.requests>0?Ae(p.summary.totalTokens):`—`}),p&&p.summary.requests>0&&(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:12,marginTop:2},children:n(`dash.coverage`).replace(`{pct}`,`${Math.round(p.summary.coverageRatio*100)}%`)})]})]}),(0,S.jsx)(`div`,{className:`panel`,style:{marginBottom:24},children:(0,S.jsxs)(`div`,{className:`spread`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{style:{fontWeight:650},children:n(`dash.codexAutoStart`)}),(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:13,marginTop:3},children:n(`dash.codexAutoStartHint`)})]}),(0,S.jsx)(`button`,{className:`switch ${l?.codexAutoStart??!0?`on`:``}`,onClick:async()=>{if(!l||x)return;let t=!l.codexAutoStart;C(!0),u({...l,codexAutoStart:t});try{let n=await fetch(`${e}/api/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({codexAutoStart:t})});if(!n.ok)throw Error(`save failed`);let r=await n.json();u(e=>e&&{...e,codexAutoStart:r.codexAutoStart})}catch{u(e=>e&&{...e,codexAutoStart:!t}),T(!0)}finally{C(!1)}},disabled:!l||x,"aria-label":n(`dash.codexAutoStart`),"aria-pressed":l?.codexAutoStart??!0,children:(0,S.jsx)(`span`,{className:`knob`})})]})}),(0,S.jsx)(`div`,{className:`panel`,style:{marginBottom:12},children:(0,S.jsxs)(`div`,{className:`spread`,style:{alignItems:`flex-start`},children:[(0,S.jsxs)(`div`,{style:{flex:1},children:[(0,S.jsx)(`div`,{style:{fontWeight:650},children:n(`dash.searchModel`)}),(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:13,marginTop:3},children:n(`dash.searchModelHint`)})]}),(0,S.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,S.jsx)(`select`,{className:`select-sm`,value:d?.webSearch.model??`gpt-5.4-mini`,disabled:!d||h,onChange:e=>D({webSearch:{model:e.target.value,reasoning:d.webSearch.reasoning}}),children:je.map(e=>(0,S.jsx)(`option`,{value:e,children:e},e))}),(0,S.jsx)(`select`,{className:`select-sm`,value:d?.webSearch.reasoning??`low`,disabled:!d||h,onChange:e=>D({webSearch:{model:d.webSearch.model,reasoning:e.target.value}}),children:Me.map(e=>(0,S.jsx)(`option`,{value:e,children:e},e))})]})]})}),(0,S.jsx)(`div`,{className:`panel`,style:{marginBottom:24},children:(0,S.jsxs)(`div`,{className:`spread`,children:[(0,S.jsxs)(`div`,{style:{flex:1},children:[(0,S.jsx)(`div`,{style:{fontWeight:650},children:n(`dash.visionModel`)}),(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:13,marginTop:3},children:n(`dash.visionModelHint`)})]}),(0,S.jsx)(`select`,{className:`select-sm`,value:d?.vision.model??`gpt-5.4-mini`,disabled:!d||h,onChange:e=>D({vision:{model:e.target.value}}),children:je.map(e=>(0,S.jsx)(`option`,{value:e,children:e},e))})]})}),(0,S.jsxs)(`div`,{className:`h-section`,children:[n(`dash.activeProviders`),` `,(0,S.jsx)(`span`,{className:`count`,children:a.length})]}),a.length===0?(0,S.jsx)(`div`,{className:`empty`,children:(0,S.jsx)(ke,{k:`dash.noProviders`,cmd:`ocx init`})}):(0,S.jsx)(`div`,{className:`tbl-wrap`,children:(0,S.jsxs)(`table`,{className:`tbl`,children:[(0,S.jsx)(`thead`,{children:(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`th`,{children:n(`dash.col.name`)}),(0,S.jsx)(`th`,{children:n(`dash.col.adapter`)}),(0,S.jsx)(`th`,{children:n(`dash.col.baseUrl`)}),(0,S.jsx)(`th`,{children:n(`dash.col.model`)})]})}),(0,S.jsx)(`tbody`,{children:a.map(e=>(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`td`,{style:{fontWeight:600},children:e.name}),(0,S.jsx)(`td`,{children:(0,S.jsx)(`span`,{className:`chip`,children:e.adapter})}),(0,S.jsx)(`td`,{className:`muted mono`,style:{fontSize:12},children:e.baseUrl}),(0,S.jsx)(`td`,{className:`muted`,children:e.defaultModel??`—`})]},e.name))})]})}),(0,S.jsxs)(`div`,{className:`h-section`,children:[n(`dash.availableModels`),` `,(0,S.jsx)(`span`,{className:`count`,children:s.length}),v&&(0,S.jsx)(`span`,{className:`spin`,style:{marginLeft:4}})]}),s.length===0&&!v?(0,S.jsx)(`div`,{className:`empty`,children:n(`dash.noModels`)}):(0,S.jsx)(`div`,{className:`stack`,style:{gap:16},children:E.map(([e,t])=>(0,S.jsxs)(`div`,{className:`model-group`,children:[(0,S.jsxs)(`div`,{className:`model-group-head`,children:[e,(0,S.jsx)(`span`,{className:`count`,children:t.length})]}),(0,S.jsx)(`div`,{className:`model-grid`,children:t.map(e=>(0,S.jsx)(`div`,{className:`model-card`,children:(0,S.jsx)(`div`,{className:`id`,children:e.id})},`${e.provider}/${e.id}`))})]},e))})]})}var Pe=[{id:`custom`,label:`Custom provider`,adapter:`openai-chat`,baseUrl:``,auth:`key`}];function Fe({apiBase:e,existingNames:t,onClose:n,onAdded:r}){let[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(!1),[f,p]=(0,_.useState)(``),[m,h]=(0,_.useState)([]),[g,v]=(0,_.useState)(!1),[y,b]=(0,_.useState)(``),[x,C]=(0,_.useState)(Pe),w=(0,_.useRef)(null),T=(0,_.useRef)(!0);(0,_.useEffect)(()=>{w.current?.focus()},[]),(0,_.useEffect)(()=>()=>{T.current=!1},[]),(0,_.useEffect)(()=>{let e=e=>{e.key===`Escape`&&n()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n]),(0,_.useEffect)(()=>{fetch(`${e}/api/oauth/providers`).then(e=>e.json()).then(e=>h(e.providers??[])).catch(()=>{})},[e]),(0,_.useEffect)(()=>{fetch(`${e}/api/provider-presets`).then(e=>e.json()).then(e=>{Array.isArray(e.providers)&&e.providers.length>0&&C(e.providers)}).catch(()=>{})},[e]);let E=(0,_.useMemo)(()=>{let e=i.trim().toLowerCase();return e?x.filter(t=>t.label.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)):x},[i,x]),ee=e=>{s(e),l({name:e.id===`custom`?``:e.id,adapter:e.adapter,baseUrl:e.baseUrl,authMode:e.auth,apiKey:``,defaultModel:e.defaultModel??``}),p(``),b(``)},D=()=>{s(null),l(null),p(``),b(``)},te=async()=>{if(!c)return;let t=c.name.trim();if(!t){p(`Provider name is required`);return}if(!c.baseUrl.trim()){p(`Base URL is required`);return}let n={adapter:c.adapter.trim(),baseUrl:c.baseUrl.trim()};c.authMode===`forward`?n.authMode=`forward`:c.apiKey.trim()&&(n.apiKey=c.apiKey.trim()),c.defaultModel.trim()&&(n.defaultModel=c.defaultModel.trim()),d(!0),p(``);try{let i=await fetch(`${e}/api/providers`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:t,provider:n})});if(!i.ok){p((await i.json().catch(()=>({}))).error||`Failed (${i.status})`);return}r(t)}catch{p(`Network error — is the proxy running?`)}finally{d(!1)}},ne=async t=>{v(!0),b(``);try{let n=await fetch(`${e}/api/oauth/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({provider:t})}),i=await n.json();if(!T.current)return;if(!n.ok){b(i.error===`unknown oauth provider`?`OAuth login for this provider arrives in the next update — use an API key for now.`:i.error||`Login failed to start`);return}i.url?(window.open(i.url,`_blank`),b(`Waiting for browser login…`)):b(i.instructions||`Logging in…`);for(let n=0;n<100;n++){if(await new Promise(e=>setTimeout(e,2e3)),!T.current)return;let n=await fetch(`${e}/api/oauth/status?provider=${t}`).then(e=>e.json()).catch(()=>null);if(!T.current)return;if(n?.loggedIn){r(t);return}if(n?.error){b(`Login error: ${n.error}`);return}}b(`Login timed out — try again.`)}catch{T.current&&b(`Network error — is the proxy running?`)}finally{T.current&&v(!1)}},ie=c?t.includes(c.name.trim())&&c.name.trim()!==``:!1,ae=o?.id===`custom`;return(0,S.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":`Add provider`,className:`modal-overlay`,onClick:n,children:(0,S.jsxs)(`div`,{className:`modal-card`,onClick:e=>e.stopPropagation(),children:[(0,S.jsxs)(`div`,{className:`modal-head`,children:[(0,S.jsx)(`h3`,{children:o?`Add: ${o.label}`:`Add provider`}),(0,S.jsx)(`button`,{className:`btn btn-ghost btn-icon`,"aria-label":`Close`,onClick:n,children:(0,S.jsx)(re,{})})]}),o?c&&(o.auth===`oauth`&&c.authMode===`oauth`?(0,S.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:14},children:[(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:13},children:o.note??`Log in with your account — no API key needed.`}),m.includes(o.oauthProvider??``)?(0,S.jsxs)(`button`,{className:`btn btn-primary`,onClick:()=>ne(o.oauthProvider),disabled:g,style:{width:`100%`,padding:`12px 16px`,fontSize:14},children:[(0,S.jsx)(fe,{}),g?`Waiting for browser…`:`Log in with ${o.label}`]}):(0,S.jsxs)(`div`,{style:{fontSize:13,color:`var(--amber)`,background:`var(--amber-soft)`,border:`1px solid var(--amber)`,borderRadius:`var(--radius-sm)`,padding:`10px 12px`},children:[`OAuth login for `,o.label,` arrives in the next update. Use an API key for now.`]}),y&&(0,S.jsx)(`div`,{style:{fontSize:12,color:/error|update|timed/.test(y)?`var(--amber)`:`var(--accent-hover)`},children:y}),(0,S.jsxs)(`div`,{style:{display:`flex`,gap:8,alignItems:`center`,marginTop:2},children:[(0,S.jsx)(`button`,{className:`link-btn`,onClick:()=>{l({...c,authMode:`key`}),b(``)},children:`Use an API key instead`}),(0,S.jsx)(`div`,{style:{flex:1}}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:D,children:`Back`})]})]}):(0,S.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:10},children:[!ae&&o.note&&(0,S.jsxs)(`details`,{className:`setup-guide`,children:[(0,S.jsx)(`summary`,{children:`Setup guide`}),(0,S.jsxs)(`ol`,{style:{margin:`8px 0 0`,paddingLeft:18,fontSize:12,color:`var(--muted)`,lineHeight:1.7},children:[(0,S.jsxs)(`li`,{children:[`Go to `,(0,S.jsxs)(`a`,{href:o.dashboardUrl,target:`_blank`,rel:`noreferrer`,children:[o.label,` dashboard`]}),` and copy your API key`]}),(0,S.jsx)(`li`,{children:`Paste it in the API key field below`}),(0,S.jsx)(`li`,{children:`Click Add provider — models are auto-discovered`})]}),o.note&&(0,S.jsx)(`div`,{style:{fontSize:12,color:`var(--muted)`,marginTop:6,fontStyle:`italic`},children:o.note})]}),(0,S.jsx)(Ie,{label:`Provider name`,children:(0,S.jsx)(`input`,{className:`input`,value:c.name,onChange:e=>l({...c,name:e.target.value}),placeholder:`e.g. openrouter`})}),ie&&(0,S.jsxs)(`div`,{style:{fontSize:12,color:`var(--amber)`},children:[`Provider "`,c.name.trim(),`" exists and will be overwritten.`]}),(0,S.jsx)(Ie,{label:`Adapter`,children:(0,S.jsx)(`select`,{className:`input`,value:c.adapter,onChange:e=>l({...c,adapter:e.target.value}),children:[`openai-responses`,`openai-chat`,`anthropic`,`google`,`azure-openai`].map(e=>(0,S.jsx)(`option`,{value:e,children:e},e))})}),(0,S.jsx)(Ie,{label:`Base URL`,children:(0,S.jsx)(`input`,{className:`input`,value:c.baseUrl,onChange:e=>l({...c,baseUrl:e.target.value}),placeholder:`https://...`})}),c.authMode===`forward`?(0,S.jsxs)(`div`,{style:{fontSize:12,color:`var(--green)`,background:`var(--green-soft)`,border:`1px solid var(--green)`,borderRadius:`var(--radius-sm)`,padding:`8px 10px`},children:[`No key needed — the proxy forwards your `,(0,S.jsx)(`code`,{className:`chip`,children:`codex login`}),` credentials to this provider.`]}):(0,S.jsxs)(S.Fragment,{children:[o.dashboardUrl&&(0,S.jsxs)(`a`,{href:o.dashboardUrl,target:`_blank`,rel:`noreferrer`,style:{fontSize:12,display:`inline-flex`,alignItems:`center`,gap:5},children:[(0,S.jsx)(j,{style:{width:14,height:14}}),`Get your `,o.label,` API key`,(0,S.jsx)(A,{style:{width:13,height:13}})]}),(0,S.jsx)(Ie,{label:`API key`,children:(0,S.jsx)(`input`,{className:`input`,type:`password`,value:c.apiKey,onChange:e=>l({...c,apiKey:e.target.value}),placeholder:`sk-… (or $ENV_VAR)`})})]}),(0,S.jsx)(Ie,{label:`Default model (optional)`,children:(0,S.jsx)(`input`,{className:`input`,value:c.defaultModel,onChange:e=>l({...c,defaultModel:e.target.value}),placeholder:`e.g. gpt-5.5`})}),f&&(0,S.jsx)(`div`,{role:`alert`,style:{fontSize:13,color:`var(--red)`},children:f}),(0,S.jsxs)(`div`,{style:{display:`flex`,gap:8,marginTop:4,alignItems:`center`},children:[(0,S.jsx)(`button`,{className:`btn btn-primary`,onClick:te,disabled:u,children:u?`Adding…`:`Add provider`}),o.auth===`oauth`&&(0,S.jsx)(`button`,{className:`link-btn`,onClick:()=>{l({...c,authMode:`oauth`}),p(``)},children:`← Use OAuth login`}),(0,S.jsx)(`div`,{style:{flex:1}}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:D,children:`Back`})]})]})):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`input`,{ref:w,className:`input`,value:i,onChange:e=>a(e.target.value),placeholder:`Search providers…`}),(0,S.jsxs)(`div`,{style:{marginTop:12,maxHeight:360,overflowY:`auto`,display:`flex`,flexDirection:`column`,gap:6},children:[E.map(e=>(0,S.jsxs)(`button`,{className:`list-row`,onClick:()=>ee(e),children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{className:`title`,children:e.label}),(0,S.jsxs)(`div`,{className:`sub`,children:[(0,S.jsx)(`code`,{className:`chip`,children:e.adapter}),e.note?` · ${e.note}`:``]})]}),e.auth===`oauth`?(0,S.jsx)(`span`,{className:`badge badge-accent`,children:`OAuth`}):e.auth===`forward`?(0,S.jsx)(`span`,{className:`badge badge-green`,children:`Codex login`}):(0,S.jsx)(`span`,{className:`badge badge-muted`,children:`API key`})]},e.id)),E.length===0&&(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:13,padding:8},children:`No match.`})]})]})]})})}function Ie({label:e,children:t}){return(0,S.jsxs)(`label`,{style:{display:`block`},children:[(0,S.jsx)(`span`,{className:`field-label`,children:e}),t]})}function Le({on:e,onClick:t,disabled:n,label:r}){return(0,S.jsx)(`button`,{type:`button`,className:`switch${e?` on`:``}`,onClick:t,disabled:n,"aria-pressed":e,"aria-label":r??(e?`enabled`:`disabled`),children:(0,S.jsx)(`span`,{className:`knob`})})}function Re({tone:e,children:t}){return(0,S.jsxs)(`div`,{className:`notice ${e===`ok`?`notice-ok`:`notice-err`}`,role:`status`,children:[e===`ok`?(0,S.jsx)(ne,{}):(0,S.jsx)(se,{}),(0,S.jsx)(`span`,{children:t})]})}var ze={xai:`xAI (Grok)`,anthropic:`Anthropic (Claude)`,kimi:`Kimi (Moonshot)`},Be=e=>ze[e]??e;function Ve({apiBase:e}){let t=Oe(),[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(!1),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(``),[f,p]=(0,_.useState)(!1),[m,h]=(0,_.useState)([]),[g,v]=(0,_.useState)({}),[y,b]=(0,_.useState)(null),[x,C]=(0,_.useState)(null),w=(0,_.useRef)(!0),T=(e,t)=>{d(e),p(t)};(0,_.useEffect)(()=>(w.current=!0,()=>{w.current=!1}),[]);let E=async()=>{try{let t=await(await fetch(`${e}/api/config`)).json();r(t),l(JSON.stringify(t,null,2))}catch{T(t(`prov.loadConfigFail`),!1)}},ee=async()=>{try{let t=(await fetch(`${e}/api/oauth/providers`).then(e=>e.json())).providers??[];h(t);let n=await Promise.all(t.map(async t=>[t,await fetch(`${e}/api/oauth/status?provider=${t}`).then(e=>e.json()).catch(()=>({loggedIn:!1}))]));v(Object.fromEntries(n))}catch{}};(0,_.useEffect)(()=>{E(),ee()},[e]);let D=async()=>{try{let n=JSON.parse(c);(await fetch(`${e}/api/config`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})).ok?(T(t(`prov.saved`),!0),a(!1),E()):T(t(`prov.saveFailed`),!1)}catch{T(t(`prov.invalidJson`),!1)}},te=async n=>{b(n),d(``),C(null);try{let r=await fetch(`${e}/api/oauth/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({provider:n})}),i=await r.json();if(!r.ok){T(i.error||t(`prov.loginFailStart`,{provider:Be(n)}),!1);return}(i.url||i.instructions)&&C({provider:n,url:i.url,instructions:i.instructions});for(let r=0;r<150&&w.current;r++){await new Promise(e=>setTimeout(e,2e3));let r=await fetch(`${e}/api/oauth/status?provider=${n}`).then(e=>e.json()).catch(()=>null);if(r){if(r.loggedIn){v(e=>({...e,[n]:r})),T(t(`prov.loginOk`,{provider:Be(n),cmd:`ocx sync`}),!0),C(null),E();break}if(r.error){v(e=>({...e,[n]:r})),T(t(`prov.loginError`,{provider:Be(n),error:r.error}),!1);break}}}}catch{T(t(`prov.loginRequestFail`,{provider:Be(n)}),!1)}finally{w.current&&b(null)}},ne=async n=>{await fetch(`${e}/api/oauth/logout?provider=${n}`,{method:`POST`}).catch(()=>{}),v(e=>({...e,[n]:{loggedIn:!1}})),T(t(`prov.logoutOk`,{provider:Be(n)}),!0),E()},re=async n=>{window.confirm(t(`prov.removeConfirm`,{name:n}))&&((await fetch(`${e}/api/providers?name=${encodeURIComponent(n)}`,{method:`DELETE`})).ok?(T(t(`prov.removed`,{name:n}),!0),E(),ee()):T(t(`prov.removeFail`,{name:n}),!1))};return n?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`page-head`,children:[(0,S.jsx)(`h2`,{children:t(`nav.providers`)}),(0,S.jsx)(`div`,{className:`row`,children:i?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`button`,{className:`btn btn-primary`,onClick:D,children:t(`common.save`)}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:()=>{a(!1),l(JSON.stringify(n,null,2))},children:t(`common.cancel`)})]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`button`,{className:`btn btn-primary`,onClick:()=>s(!0),children:[(0,S.jsx)(ie,{}),t(`prov.add`)]}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:()=>a(!0),children:t(`prov.editJson`)})]})})]}),(0,S.jsx)(`p`,{className:`page-sub`,children:t(`prov.subtitle`)}),u&&(0,S.jsx)(Re,{tone:f?`ok`:`err`,children:u}),(0,S.jsxs)(`div`,{className:`panel panel-accent`,style:{marginBottom:18},children:[(0,S.jsxs)(`div`,{className:`row`,style:{marginBottom:14},children:[(0,S.jsx)(fe,{style:{width:16,height:16,color:`var(--accent)`}}),(0,S.jsx)(`span`,{style:{fontWeight:600},children:t(`prov.accountLogin`)})]}),(0,S.jsxs)(`div`,{className:`stack`,style:{gap:12},children:[m.length===0&&(0,S.jsx)(`span`,{className:`muted`,style:{fontSize:13},children:t(`prov.noOauth`)}),m.map(e=>{let n=g[e]??{loggedIn:!1},r=y===e;return(0,S.jsxs)(`div`,{className:`row`,style:{flexWrap:`wrap`},children:[(0,S.jsxs)(`span`,{style:{fontSize:13,minWidth:170,display:`inline-flex`,alignItems:`center`,gap:8},children:[(0,S.jsx)(`span`,{style:{fontWeight:600},children:Be(e)}),n.loggedIn?(0,S.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:6,color:`var(--green)`},children:[(0,S.jsx)(`span`,{className:`dot dot-green`}),t(`prov.loggedIn`),n.email?` (${n.email})`:``]}):(0,S.jsx)(`span`,{className:`muted`,children:t(`prov.notLoggedIn`)})]}),n.loggedIn?(0,S.jsx)(`button`,{className:`btn btn-ghost btn-sm`,onClick:()=>ne(e),children:t(`prov.logout`)}):(0,S.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:()=>te(e),disabled:r,children:r?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`span`,{className:`spin`}),t(`prov.waitingBrowser`)]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(fe,{}),t(`prov.loginWith`,{provider:Be(e)})]})}),x?.provider===e&&(x.url||x.instructions)&&(0,S.jsxs)(`span`,{className:`muted`,style:{fontSize:12,display:`inline-flex`,alignItems:`center`,gap:8},children:[x.url&&(0,S.jsxs)(`a`,{href:x.url,target:`_blank`,rel:`noreferrer`,className:`link-btn`,style:{display:`inline-flex`,alignItems:`center`,gap:5},children:[(0,S.jsx)(A,{}),t(`prov.didntOpen`)]}),x.instructions&&(0,S.jsx)(`span`,{children:x.instructions})]})]},e)})]})]}),i?(0,S.jsx)(`textarea`,{className:`input`,value:c,onChange:e=>l(e.target.value),style:{height:400}}):(0,S.jsxs)(`div`,{className:`stack`,style:{gap:8},children:[(0,S.jsxs)(`div`,{className:`muted`,style:{fontSize:13,marginBottom:4},children:[t(`prov.port`),`: `,(0,S.jsx)(`code`,{className:`chip`,children:n.port}),` · `,t(`prov.default`),`: `,(0,S.jsx)(`code`,{className:`chip`,children:n.defaultProvider})]}),Object.entries(n.providers).map(([e,n])=>(0,S.jsxs)(`div`,{className:`card prov-card`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:5},children:[(0,S.jsx)(`span`,{style:{fontWeight:600},children:e}),n.authMode===`oauth`&&(0,S.jsx)(`span`,{className:`badge badge-accent`,children:`oauth`}),n.authMode===`forward`&&(0,S.jsx)(`span`,{className:`badge badge-amber`,children:`passthrough`})]}),(0,S.jsxs)(`div`,{className:`muted`,style:{fontSize:13},children:[(0,S.jsx)(`code`,{className:`chip`,children:n.adapter}),` · `,n.baseUrl,n.defaultModel&&(0,S.jsxs)(S.Fragment,{children:[` · `,n.defaultModel]}),n.hasApiKey&&(0,S.jsxs)(S.Fragment,{children:[` · `,t(`prov.hasApiKey`)]}),n.hasHeaders&&(0,S.jsxs)(S.Fragment,{children:[` · `,t(`prov.hasHeaders`)]})]})]}),(0,S.jsxs)(`button`,{className:`btn btn-danger btn-sm`,onClick:()=>re(e),"aria-label":t(`sub.removeAria`,{m:e}),style:{flexShrink:0},children:[(0,S.jsx)(oe,{}),t(`common.remove`)]})]},e))]}),o&&(0,S.jsx)(Fe,{apiBase:e,existingNames:Object.keys(n.providers),onClose:()=>s(!1),onAdded:e=>{s(!1),T(t(`prov.added`,{name:e,cmd:`ocx sync`}),!0),E(),ee()}})]}):(0,S.jsx)(`div`,{className:`muted`,children:t(`prov.loadingConfig`)})}function He({apiBase:e}){let t=Oe(),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(new Set),[o,s]=(0,_.useState)(new Set),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(!1),[f,p]=(0,_.useState)(!0),[m,h]=(0,_.useState)(!1),g=(0,_.useRef)(!1),v=async()=>{try{let t=await fetch(`${e}/api/models`).then(e=>e.json());r(t),a(new Set(t.filter(e=>e.disabled).map(e=>e.namespaced)))}catch{d(!1),l(t(`models.loadFail`))}finally{p(!1)}};(0,_.useEffect)(()=>{v();let e=setInterval(()=>{g.current||v()},1e4);return()=>clearInterval(e)},[e]);let y=(0,_.useMemo)(()=>{let e={};for(let t of n)(e[t.provider]??=[]).push(t);return Object.entries(e).sort(([e],[t])=>e.localeCompare(t))},[n]),b=async n=>{h(!0),g.current=!0,l(``);try{(await fetch(`${e}/api/disabled-models`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:[...n]})})).ok?(a(n),d(!0),l(t(`models.applied`))):(d(!1),l(t(`models.saveFailed`)))}catch{d(!1),l(t(`models.networkError`))}finally{h(!1),g.current=!1}},x=e=>{let t=new Set(i);t.has(e)?t.delete(e):t.add(e),b(t)},C=(e,t)=>{let n=new Set(i);for(let r of e)t?n.delete(r.namespaced):n.add(r.namespaced);b(n)},w=e=>{s(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return f?(0,S.jsxs)(`div`,{className:`row muted`,children:[(0,S.jsx)(`span`,{className:`spin`}),` `,t(`models.loading`)]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`page-head`,children:[(0,S.jsx)(`h2`,{children:t(`nav.models`)}),(0,S.jsx)(`span`,{className:`muted mono`,style:{fontSize:12},children:t(`models.active`,{active:n.length-i.size,total:n.length})})]}),(0,S.jsx)(`p`,{className:`page-sub`,children:t(`models.subtitle`)}),c&&(0,S.jsx)(Re,{tone:u?`ok`:`err`,children:c}),y.map(([e,n])=>{let r=o.has(e),a=n.filter(e=>!i.has(e.namespaced)).length;return(0,S.jsxs)(`div`,{className:`card`,style:{marginBottom:8,overflow:`hidden`},children:[(0,S.jsxs)(`div`,{onClick:()=>w(e),className:`row`,style:{padding:`10px 12px`,background:`var(--raised)`,cursor:`pointer`},children:[(0,S.jsx)(le,{style:{width:14,height:14,color:`var(--muted)`,transform:r?`none`:`rotate(90deg)`,transition:`transform .12s`}}),(0,S.jsx)(`span`,{style:{fontWeight:600,fontSize:14},children:e}),(0,S.jsx)(`span`,{className:`muted mono`,style:{fontSize:12},children:t(`models.active`,{active:a,total:n.length})}),(0,S.jsx)(`div`,{style:{flex:1}}),(0,S.jsx)(`button`,{onClick:e=>{e.stopPropagation(),C(n,!0)},disabled:m,className:`btn btn-ghost btn-sm`,children:t(`models.allOn`)}),(0,S.jsx)(`button`,{onClick:e=>{e.stopPropagation(),C(n,!1)},disabled:m,className:`btn btn-ghost btn-sm`,children:t(`models.allOff`)})]}),!r&&(0,S.jsx)(`div`,{style:{padding:`6px 12px`},children:n.map(e=>{let t=i.has(e.namespaced);return(0,S.jsxs)(`div`,{className:`row`,style:{padding:`5px 0`},children:[(0,S.jsx)(Le,{on:!t,onClick:()=>x(e.namespaced),disabled:m,label:e.id}),(0,S.jsx)(`code`,{className:`mono`,style:{fontSize:13,color:t?`var(--faint)`:`var(--text)`,textDecoration:t?`line-through`:`none`},children:e.id})]},e.namespaced)})})]},e)}),y.length===0&&(0,S.jsxs)(`div`,{className:`empty`,children:[(0,S.jsx)(E,{}),(0,S.jsx)(`div`,{className:`title`,children:t(`models.noRouted`)}),(0,S.jsx)(`div`,{style:{fontSize:13},children:t(`models.noRoutedHint`)})]})]})}function Ue({apiBase:e}){let t=Oe(),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(!1),[f,p]=(0,_.useState)(!0),m=async()=>{try{let t=await fetch(`${e}/api/subagent-models`).then(e=>e.json()),n=t.available??[];r(n),a((t.chosen??[]).filter(e=>n.includes(e)))}catch{d(!1),l(t(`sub.loadFail`))}finally{p(!1)}};(0,_.useEffect)(()=>{m()},[e]);let h=e=>{l(``),a(t=>t.includes(e)?t.filter(t=>t!==e):t.length>=5?t:[...t,e])},g=(e,t)=>{a(n=>{let r=[...n],i=e+t;return i<0||i>=r.length?n:([r[e],r[i]]=[r[i],r[e]],r)})},v=async()=>{l(``);try{let n=await fetch(`${e}/api/subagent-models`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:i})}),r=await n.json();d(n.ok),l(n.ok?t(`sub.saved`,{n:r.applied?.length??0,cmd:`ocx sync`}):r.error||t(`sub.saveFailed`))}catch{d(!1),l(t(`sub.networkError`))}},y=(0,_.useMemo)(()=>{let e=o.trim().toLowerCase();return n.filter(t=>!e||t.toLowerCase().includes(e))},[n,o]);return f?(0,S.jsx)(`div`,{className:`muted`,style:{padding:8},children:t(`sub.loading`)}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`div`,{className:`page-head`,children:(0,S.jsx)(`h2`,{children:t(`nav.subagents`)})}),(0,S.jsx)(`p`,{className:`page-sub`,children:(0,S.jsx)(ke,{k:`sub.subtitle`,cmd:`spawn_agent`})}),c&&(0,S.jsx)(Re,{tone:u?`ok`:`err`,children:c}),(0,S.jsxs)(`div`,{className:`h-section`,children:[t(`sub.featured`),` `,(0,S.jsxs)(`span`,{className:`count`,children:[i.length,`/5`]})]}),i.length===0?(0,S.jsx)(`div`,{className:`empty`,children:t(`sub.noneSelected`)}):(0,S.jsx)(`div`,{className:`stack`,style:{gap:8},children:i.map((e,n)=>(0,S.jsxs)(`div`,{className:`card panel-accent row`,style:{padding:`8px 12px`,gap:10},children:[(0,S.jsx)(`span`,{className:`mono`,style:{width:18,color:`var(--accent)`,fontWeight:700},children:n+1}),(0,S.jsx)(`code`,{className:`mono`,style:{flex:1,color:`var(--text)`},children:e}),(0,S.jsx)(`button`,{className:`btn btn-ghost btn-icon btn-sm`,onClick:()=>g(n,-1),disabled:n===0,"aria-label":t(`sub.moveUp`,{m:e}),children:(0,S.jsx)(k,{})}),(0,S.jsx)(`button`,{className:`btn btn-ghost btn-icon btn-sm`,onClick:()=>g(n,1),disabled:n===i.length-1,"aria-label":t(`sub.moveDown`,{m:e}),children:(0,S.jsx)(ce,{})}),(0,S.jsx)(`button`,{className:`btn btn-ghost btn-icon btn-sm`,onClick:()=>h(e),"aria-label":t(`sub.removeAria`,{m:e}),style:{color:`var(--red)`},children:(0,S.jsx)(re,{})})]},e))}),(0,S.jsx)(`div`,{style:{marginTop:14},children:(0,S.jsx)(`button`,{className:`btn btn-primary`,onClick:v,children:t(`common.save`)})}),(0,S.jsxs)(`div`,{className:`h-section`,children:[t(`sub.models`),` `,(0,S.jsx)(`span`,{className:`count`,children:y.length})]}),(0,S.jsxs)(`div`,{style:{position:`relative`,marginBottom:10},children:[(0,S.jsx)(O,{style:{position:`absolute`,left:11,top:`50%`,transform:`translateY(-50%)`,width:15,height:15,color:`var(--faint)`,pointerEvents:`none`}}),(0,S.jsx)(`input`,{className:`input`,value:o,onChange:e=>s(e.target.value),placeholder:t(`sub.search`),style:{paddingLeft:34}})]}),(0,S.jsxs)(`div`,{className:`stack`,style:{gap:6,maxHeight:360,overflowY:`auto`},children:[y.map(e=>{let t=i.includes(e),n=!t&&i.length>=5;return(0,S.jsxs)(`button`,{className:`card row`,onClick:()=>h(e),disabled:n,"aria-pressed":t,style:{padding:`9px 12px`,gap:10,width:`100%`,textAlign:`left`,cursor:n?`not-allowed`:`pointer`,opacity:n?.45:1,background:t?`var(--accent-soft)`:void 0,borderColor:t?`var(--accent-ring)`:void 0},children:[(0,S.jsx)(`span`,{style:{width:16,height:16,flexShrink:0,color:`var(--accent)`,display:`inline-flex`},children:t&&(0,S.jsx)(ne,{style:{width:16,height:16}})}),(0,S.jsx)(ee,{style:{width:15,height:15,color:`var(--faint)`,flexShrink:0}}),(0,S.jsx)(`code`,{className:`mono`,style:{color:`var(--text)`},children:e})]},e)}),y.length===0&&(0,S.jsx)(`div`,{className:`empty`,children:t(`sub.noModels`)})]})]})}function We(e){return e<1e4?String(e):`${(e/1e3).toFixed(1)}K`}function Ge(e){if(!e.usage)return;let t=[`in=${e.usage.inputTokens}`,`out=${e.usage.outputTokens}`];return typeof e.usage.cachedInputTokens==`number`&&t.push(`cached=${e.usage.cachedInputTokens}`),typeof e.usage.reasoningOutputTokens==`number`&&t.push(`reasoning=${e.usage.reasoningOutputTokens}`),t.join(` · `)}function Ke(e){if(typeof e.totalTokens==`number`)return e.totalTokens;if(e.usage)return e.usage.inputTokens+e.usage.outputTokens}function qe(e){if(e.requestedSpeedLabel)return e.requestedSpeedLabel;if(e.modelSupportsServiceTier&&e.configuredSpeedLabel)return e.configuredSpeedLabel}function Je(e){return[`model=${e.model}`,e.resolvedModel?`resolved=${e.resolvedModel}`:void 0,e.requestedServiceTier?`requestedTier=${e.requestedServiceTier}`:void 0,e.configuredServiceTier?`configuredTier=${e.configuredServiceTier}`:void 0,e.responseServiceTier?`responseTier=${e.responseServiceTier}`:void 0,e.modelSupportsServiceTier===void 0?void 0:`supportsTier=${e.modelSupportsServiceTier}`].filter(Boolean).join(` · `)}function Ye({apiBase:e}){let{t,locale:n}=De(),[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(!0),s=xe.find(e=>e.code===n)?.htmlLang;(0,_.useEffect)(()=>{let t=async()=>{try{i(await(await fetch(`${e}/api/logs`)).json())}catch{}};if(t(),!a)return;let n=setInterval(t,2e3);return()=>clearInterval(n)},[e,a]);let c=e=>e>=200&&e<300?`var(--green)`:e>=400?`var(--red)`:`var(--amber)`;return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`page-head`,children:[(0,S.jsx)(`h2`,{children:t(`logs.title`)}),(0,S.jsxs)(`label`,{className:`muted`,style:{fontSize:13,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,gap:6},children:[(0,S.jsx)(`input`,{type:`checkbox`,checked:a,onChange:e=>o(e.target.checked)}),t(`logs.autoRefresh`)]})]}),(0,S.jsx)(`p`,{className:`page-sub`,children:t(`logs.subtitle`)}),r.length===0?(0,S.jsx)(`div`,{className:`empty`,children:t(`logs.noRequests`)}):(0,S.jsx)(`div`,{className:`tbl-wrap`,children:(0,S.jsxs)(`table`,{className:`tbl`,children:[(0,S.jsx)(`thead`,{children:(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`th`,{children:t(`logs.col.time`)}),(0,S.jsx)(`th`,{children:t(`logs.col.request`)}),(0,S.jsx)(`th`,{children:t(`logs.col.model`)}),(0,S.jsx)(`th`,{children:t(`logs.col.effort`)}),(0,S.jsx)(`th`,{children:t(`logs.col.provider`)}),(0,S.jsx)(`th`,{children:t(`logs.col.status`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`logs.col.tokens`)}),(0,S.jsx)(`th`,{children:t(`logs.col.error`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`logs.col.duration`)})]})}),(0,S.jsx)(`tbody`,{children:[...r].reverse().map((e,n)=>(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`td`,{className:`muted mono`,children:new Date(e.timestamp).toLocaleTimeString(s)}),(0,S.jsx)(`td`,{className:`muted mono`,children:e.requestId??`-`}),(0,S.jsx)(`td`,{className:`mono`,title:Je(e),children:(0,S.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:6,flexWrap:`wrap`},children:[(0,S.jsx)(`span`,{children:e.resolvedModel??e.model}),qe(e)&&(0,S.jsx)(`span`,{className:`badge badge-amber`,children:qe(e)})]})}),(0,S.jsx)(`td`,{className:`mono`,children:e.requestedEffort??`-`}),(0,S.jsx)(`td`,{className:`muted`,children:e.provider}),(0,S.jsx)(`td`,{children:(0,S.jsx)(`span`,{className:`mono`,style:{color:c(e.status),fontWeight:600},children:e.status})}),(0,S.jsx)(`td`,{className:`num mono`,title:Ge(e),children:(()=>{let n=Ke(e);return n===void 0?(0,S.jsx)(`span`,{className:`muted`,children:t(`logs.tokens.${e.usageStatus??`unreported`}`)}):We(n)})()}),(0,S.jsx)(`td`,{className:`muted mono`,children:e.errorCode??`-`}),(0,S.jsxs)(`td`,{className:`num`,children:[e.durationMs,`ms`]})]},e.requestId??`${e.timestamp}-${n}`))})]})})]})}function Xe(e){return e<1e3||e<1e4?String(e):e<1e6?`${(e/1e3).toFixed(1)}K`:`${(e/1e6).toFixed(2)}M`}function Ze(e){return`${Math.round(e*100)}%`}function Qe(e){let t=e.filter(e=>e>0).sort((e,t)=>e-t);if(t.length===0)return[0,0,0,0];let n=e=>t[Math.min(t.length-1,Math.floor(e*t.length))];return[n(.25),n(.5),n(.75),n(.95)]}function $e(e,t){return e<=0?0:e<=t[0]?1:e<=t[1]?2:e<=t[2]?3:4}function et(e){let t=Qe(e.map(e=>e.requests)),n=new Map(e.map(e=>[e.date,e])),r=new Date;r.setHours(0,0,0,0);let i=new Date(r);i.setDate(i.getDate()-364),i.setDate(i.getDate()-i.getDay());let a=[],o=[],s=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],c=-4,l=-1,u=[],d=new Date(i);for(;d<=r;){let e=`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,`0`)}-${String(d.getDate()).padStart(2,`0`)}`,r=d.getMonth();d.getDay()===0&&r!==l&&a.length-c>=4&&(o.push({label:s[r],col:a.length}),c=a.length,l=r);let i=n.get(e);u.push({date:e,requests:i?.requests??0,totalTokens:i?.totalTokens??0,level:i?$e(i.requests,t):0,dayOfWeek:d.getDay()}),d.getDay()===6&&(a.push(u),u=[]),d.setDate(d.getDate()+1)}if(u.length>0){for(;u.length<7;)u.push({date:``,requests:0,totalTokens:0,level:0,dayOfWeek:u.length});a.push(u)}return{weeks:a,months:o,buckets:t}}function tt({apiBase:e}){let{t}=De(),[n,r]=(0,_.useState)(`30d`),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(!0),[c,l]=(0,_.useState)(``);(0,_.useEffect)(()=>{let t=!1;return s(!0),(async()=>{try{let r=await fetch(`${e}/api/usage?range=${n}`);if(!r.ok)throw Error(`fetch failed`);let i=await r.json();t||a(i)}catch{t||a(null)}finally{t||s(!1)}})(),()=>{t=!0}},[e,n]);let u=(0,_.useMemo)(()=>et(i?.days??[]),[i?.days]),d=(0,_.useMemo)(()=>(i?.days??[]).filter(e=>e.requests>0).length,[i?.days]),f=(0,_.useMemo)(()=>{let e=c.trim().toLowerCase(),t=i?.models??[];return e?t.filter(t=>t.model.toLowerCase().includes(e)||t.provider.toLowerCase().includes(e)||(t.resolvedModel??``).toLowerCase().includes(e)).slice(0,100):t.slice(0,100)},[i?.models,c]);return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`page-head`,children:[(0,S.jsx)(`h2`,{children:t(`usage.title`)}),(0,S.jsx)(`div`,{className:`usage-range`,role:`group`,"aria-label":t(`usage.title`),children:[`all`,`30d`,`7d`].map(e=>(0,S.jsx)(`button`,{type:`button`,className:`usage-range-btn${n===e?` active`:``}`,onClick:()=>r(e),children:t(`usage.range.${e}`)},e))})]}),(0,S.jsx)(`p`,{className:`page-sub`,children:t(`usage.subtitle`)}),o&&!i?(0,S.jsx)(`div`,{className:`empty`,children:t(`usage.loading`)}):!i||i.summary.requests===0?(0,S.jsx)(`div`,{className:`empty`,children:t(`usage.empty`)}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`usage-cards`,children:[(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`usage.card.requests`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:i.summary.requests})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`usage.card.reported`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:i.summary.reportedRequests})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`usage.card.totalTokens`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:Xe(i.summary.totalTokens)})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`usage.card.coverage`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:Ze(i.summary.coverageRatio)})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`usage.card.activeDays`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:d})]})]}),(0,S.jsxs)(`section`,{className:`panel`,style:{marginTop:16},children:[(0,S.jsx)(`h3`,{className:`panel-title`,children:t(`usage.section.heatmap`)}),(0,S.jsxs)(`div`,{className:`heatmap`,children:[(0,S.jsxs)(`div`,{className:`heatmap-months`,style:{gridTemplateColumns:`28px repeat(${u.weeks.length}, 1fr)`},children:[(0,S.jsx)(`span`,{className:`heatmap-day-spacer`}),u.months.map((e,t)=>(0,S.jsx)(`span`,{className:`heatmap-month`,style:{gridColumn:e.col+2},children:e.label},t))]}),(0,S.jsxs)(`div`,{className:`heatmap-body`,children:[(0,S.jsxs)(`div`,{className:`heatmap-days`,children:[(0,S.jsx)(`span`,{}),(0,S.jsx)(`span`,{children:`Mon`}),(0,S.jsx)(`span`,{}),(0,S.jsx)(`span`,{children:`Wed`}),(0,S.jsx)(`span`,{}),(0,S.jsx)(`span`,{children:`Fri`}),(0,S.jsx)(`span`,{})]}),(0,S.jsx)(`div`,{className:`heatmap-grid`,style:{gridTemplateColumns:`repeat(${u.weeks.length}, 1fr)`},children:u.weeks.map((e,t)=>(0,S.jsx)(`div`,{className:`heatmap-week`,children:e.map((e,n)=>(0,S.jsx)(`div`,{className:`heatmap-cell heatmap-cell-${e.level}`,title:e.date?`${e.date}: ${e.requests} req · ${Xe(e.totalTokens)} tokens`:``},`${t}-${n}`))},t))})]}),(0,S.jsxs)(`div`,{className:`heatmap-legend muted`,children:[(0,S.jsx)(`span`,{children:t(`usage.heatmap.less`)}),[0,1,2,3,4].map(e=>(0,S.jsx)(`span`,{className:`heatmap-cell heatmap-cell-${e}`},e)),(0,S.jsx)(`span`,{children:t(`usage.heatmap.more`)})]})]})]}),(0,S.jsxs)(`section`,{className:`panel`,style:{marginTop:16},children:[(0,S.jsxs)(`div`,{className:`panel-head`,children:[(0,S.jsx)(`h3`,{className:`panel-title`,children:t(`usage.section.models`)}),(0,S.jsx)(`input`,{className:`input`,placeholder:t(`usage.search.models`),value:c,onChange:e=>l(e.target.value)})]}),(0,S.jsx)(`div`,{className:`tbl-wrap`,children:(0,S.jsxs)(`table`,{className:`tbl`,children:[(0,S.jsx)(`thead`,{children:(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`th`,{children:t(`logs.col.model`)}),(0,S.jsx)(`th`,{children:t(`logs.col.provider`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.requests`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.reported`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.tokens`)}),(0,S.jsx)(`th`,{children:t(`usage.col.share`)})]})}),(0,S.jsx)(`tbody`,{children:f.map(e=>(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`td`,{className:`mono`,children:e.resolvedModel??e.model}),(0,S.jsx)(`td`,{className:`muted`,children:e.provider}),(0,S.jsx)(`td`,{className:`num`,children:e.requests}),(0,S.jsx)(`td`,{className:`num`,children:e.reportedRequests}),(0,S.jsx)(`td`,{className:`num mono`,children:Xe(e.totalTokens)}),(0,S.jsx)(`td`,{children:(0,S.jsx)(`div`,{className:`usage-bar`,children:(0,S.jsx)(`div`,{className:`usage-bar-fill`,style:{width:`${Math.round(e.shareRatio*100)}%`}})})})]},`${e.provider}/${e.model}/${e.resolvedModel??``}`))})]})})]}),(0,S.jsxs)(`section`,{className:`panel`,style:{marginTop:16},children:[(0,S.jsx)(`h3`,{className:`panel-title`,children:t(`usage.section.providers`)}),(0,S.jsx)(`div`,{className:`tbl-wrap`,children:(0,S.jsxs)(`table`,{className:`tbl`,children:[(0,S.jsx)(`thead`,{children:(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`th`,{children:t(`logs.col.provider`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.requests`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.reported`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.tokens`)}),(0,S.jsx)(`th`,{children:t(`usage.col.share`)})]})}),(0,S.jsx)(`tbody`,{children:i.providers.map(e=>(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`td`,{className:`mono`,children:e.provider}),(0,S.jsx)(`td`,{className:`num`,children:e.requests}),(0,S.jsx)(`td`,{className:`num`,children:e.reportedRequests}),(0,S.jsx)(`td`,{className:`num mono`,children:Xe(e.totalTokens)}),(0,S.jsx)(`td`,{children:(0,S.jsx)(`div`,{className:`usage-bar`,children:(0,S.jsx)(`div`,{className:`usage-bar-fill`,style:{width:`${Math.round(e.shareRatio*100)}%`}})})})]},e.provider))})]})})]}),(0,S.jsxs)(`section`,{className:`panel`,style:{marginTop:16},children:[(0,S.jsx)(`h3`,{className:`panel-title`,children:t(`usage.section.coverage`)}),(0,S.jsxs)(`div`,{className:`usage-cards`,style:{gridTemplateColumns:`repeat(3, 1fr)`},children:[(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`logs.tokens.reported`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:i.summary.reportedRequests})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`logs.tokens.unreported`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:i.summary.unreportedRequests})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`logs.tokens.unsupported`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:i.summary.unsupportedRequests})]})]}),(0,S.jsx)(`p`,{className:`muted`,style:{marginTop:12,fontSize:13},children:t(`usage.coverage.note`)})]})]})]})}function nt({apiBase:e,onClose:t,onAdded:n}){let r=Oe(),i=(0,_.useRef)(!0),a=(0,_.useRef)(null),o=(0,_.useRef)(null),s=(0,_.useRef)(null),c=(0,_.useRef)(null);(0,_.useEffect)(()=>()=>{i.current=!1,a.current&&=(clearInterval(a.current),null),o.current&&=(clearTimeout(o.current),null)},[]);let[l,u]=(0,_.useState)(`pick`),[d,f]=(0,_.useState)(``),[p,m]=(0,_.useState)(``),[h,g]=(0,_.useState)(``),[v,y]=(0,_.useState)(!1),b=()=>{a.current&&=(clearInterval(a.current),null),o.current&&=(clearTimeout(o.current),null)},x=async()=>{let t=s.current;s.current=null,c.current=null,g(``),b(),t&&await fetch(`${e}/api/codex-auth/login/cancel`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({flowId:t})}).catch(()=>{})},C=()=>{l===`oauth-waiting`&&x(),t()};return(0,_.useEffect)(()=>{let e=e=>{e.key===`Escape`&&C()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)}),(0,S.jsx)(`div`,{className:`modal-overlay`,onClick:C,children:(0,S.jsxs)(`div`,{className:`modal-card`,onClick:e=>e.stopPropagation(),style:{maxWidth:440},children:[l===`pick`&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`h3`,{style:{marginBottom:4},children:r(`codexAuth.addTitle`)}),(0,S.jsx)(`p`,{className:`modal-desc`,children:r(`codexAuth.addPickDesc`)}),(0,S.jsx)(`label`,{className:`field-label`,children:r(`codexAuth.addIdLabel`)}),(0,S.jsx)(`input`,{className:`input`,placeholder:`codex-work, codex-alt, team...`,value:d,onChange:e=>f(e.target.value),style:{marginBottom:12}}),(0,S.jsx)(`button`,{className:`list-row`,onClick:async()=>{m(``);try{let l=d.trim(),f=await fetch(`${e}/api/codex-auth/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(l?{id:l}:{})}),p=await f.json();if(f.status===409){m(r(`codexAuth.oauthAlreadyInProgress`));return}if(p.url){s.current=p.flowId??null,g(p.url),c.current=window.open(p.url,`_blank`),c.current&&(c.current.opener=null),u(`oauth-waiting`),b();let d=p.flowId??``,f=d?`${e}/api/codex-auth/login-status?flowId=${encodeURIComponent(d)}${l?`&accountId=${encodeURIComponent(l)}`:``}`:`${e}/api/codex-auth/login-status`;a.current=setInterval(async()=>{try{let e=await fetch(f).then(e=>e.json());e.status===`done`?(b(),s.current=null,c.current=null,n(),t()):e.status===`error`||e.status===`expired`?(b(),s.current=null,c.current=null,i.current&&(u(`pick`),m(e.error??`Login failed`))):c.current?.closed&&(await x(),i.current&&(u(`pick`),m(r(`codexAuth.oauthCancelled`))))}catch{}},2e3),o.current=setTimeout(()=>{a.current&&(x(),i.current&&(u(`pick`),m(r(`modal.loginTimeout`))))},3e5)}p.error&&!p.url&&m(p.error)}catch(e){m(String(e))}},style:{marginBottom:8},children:(0,S.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10},children:[(0,S.jsx)(ve,{width:20}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{className:`title`,children:r(`codexAuth.oauthLogin`)}),(0,S.jsx)(`div`,{className:`sub`,children:r(`codexAuth.oauthDesc`)})]})]})}),p&&(0,S.jsx)(`div`,{className:`notice notice-err`,style:{marginTop:8},children:p}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:C,style:{width:`100%`},children:r(`codexAuth.cancel`)})]}),l===`oauth-waiting`&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`h3`,{style:{marginBottom:4},children:r(`codexAuth.oauthLogin`)}),(0,S.jsx)(`p`,{className:`modal-desc`,children:r(`codexAuth.oauthWaiting`)}),(0,S.jsxs)(`button`,{className:`btn btn-ghost`,onClick:async()=>{if(h)try{if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(h);else{let e=document.createElement(`textarea`);e.value=h,e.style.position=`fixed`,e.style.opacity=`0`,document.body.appendChild(e),e.select(),document.execCommand(`copy`),document.body.removeChild(e)}y(!0),setTimeout(()=>{i.current&&y(!1)},2500)}catch{m(r(`codexAuth.loginLinkCopyFailed`))}},disabled:!h,style:{width:`100%`,justifyContent:`center`,marginTop:12},children:[(0,S.jsx)(me,{width:14}),` `,r(v?`codexAuth.loginLinkCopied`:`codexAuth.copyLoginLink`)]}),p&&(0,S.jsx)(`div`,{className:`notice notice-err`,style:{marginTop:12},children:p}),(0,S.jsx)(`div`,{style:{textAlign:`center`,padding:`24px 0`},children:(0,S.jsx)(`span`,{className:`spin`,style:{width:24,height:24}})}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:C,style:{width:`100%`},children:r(`codexAuth.cancel`)})]})]})})}function rt(e){let t=e?.trim().toLowerCase();return t===`go`||t===`free`}function it(e,t){return!e||!rt(t)?e:{...e.monthlyPercent===void 0?{}:{monthlyPercent:e.monthlyPercent},...e.monthlyResetAt===void 0?{}:{monthlyResetAt:e.monthlyResetAt},...e.resetCredits===void 0?{}:{resetCredits:e.resetCredits},updatedAt:e.updatedAt}}function at({apiBase:e}){let t=Oe(),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(80),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(!1),[f,p]=(0,_.useState)(``),[m,h]=(0,_.useState)(!1),[g,v]=(0,_.useState)(null),[y,b]=(0,_.useState)(!1),[x,C]=(0,_.useState)(!1),[w,T]=(0,_.useState)(null),[E,ee]=(0,_.useState)(!1),D=async(t=!1)=>{try{let[n,i]=await Promise.all([fetch(`${e}/api/codex-auth/accounts${t?`?refresh=1`:``}`).then(e=>e.json()),fetch(`${e}/api/codex-auth/active`).then(e=>e.json())]);return r(n.accounts??[]),a(i.activeCodexAccountId??null),s(i.autoSwitchThreshold??80),!0}catch{return!1}};(0,_.useEffect)(()=>{D();let e=setInterval(D,3e4);return()=>clearInterval(e)},[e]);let te=async r=>{await fetch(`${e}/api/codex-auth/active`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({accountId:r})}),a(r),l(null),p(t(`codexAuth.switched`,{email:r&&r!==`__main__`?n.find(e=>e.id===r)?.email??r:`main`})),setTimeout(()=>p(``),5e3)},ne=async n=>{window.confirm(t(`codexAuth.removeConfirm`,{id:n}))&&(await fetch(`${e}/api/codex-auth/accounts?id=${n}`,{method:`DELETE`}),D())},oe=async()=>{let t=o>0?0:80;await fetch(`${e}/api/codex-auth/auto-switch`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({threshold:t})}),s(t)},O=async()=>{h(!0);try{p(t(await D(!0)?`codexAuth.quotaRefreshed`:`codexAuth.quotaRefreshFailed`)),setTimeout(()=>p(``),5e3)}finally{h(!1)}},k=async t=>{v(t),b(!1),T(null),ee(!0);try{let n=await fetch(`${e}/api/codex-auth/reset-credits?accountId=${encodeURIComponent(t.id)}`);n.ok&&T(((await n.json()).credits??[]).sort((e,t)=>new Date(e.granted_at).getTime()-new Date(t.granted_at).getTime()))}catch{}finally{ee(!1)}},ce=async n=>{C(!0);try{let r=await fetch(`${e}/api/codex-auth/reset-credits/consume`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({accountId:n})});if(!r.ok){alert(t(`codexAuth.resetError`));return}let i=await r.json();if(i.code===`reset`||i.code===`already_redeemed`){let e=g?.quota?.resetCredits??1;v(null),b(!1),await D(!0),p(t(`codexAuth.resetSuccess`,{remaining:String(Math.max(0,e-1))})),setTimeout(()=>p(``),5e3)}else i.code===`nothing_to_reset`?alert(t(`codexAuth.resetNothingToReset`)):i.code===`no_credit`?alert(t(`codexAuth.resetNoCredit`)):alert(t(`codexAuth.resetError`))}catch{alert(t(`codexAuth.resetError`))}finally{C(!1)}},le=n.find(e=>e.isMain),ue=n.filter(e=>!e.isMain),de=e=>i===e,A=!i||i===`__main__`;return(0,S.jsxs)(`div`,{children:[(0,S.jsxs)(`div`,{className:`page-head`,children:[(0,S.jsx)(`h2`,{className:`page-title`,children:t(`nav.codexAuth`)}),(0,S.jsxs)(`button`,{className:`btn btn-sm btn-ghost`,onClick:O,disabled:m,children:[(0,S.jsx)(ae,{width:14}),` `,t(m?`codexAuth.refreshingQuota`:`codexAuth.refreshQuota`)]})]}),f&&(0,S.jsx)(Re,{tone:`ok`,children:f}),(0,S.jsxs)(`div`,{className:`card ${A?`card-active`:``}`,onClick:()=>A?void 0:l({id:`__main__`,email:le?.email??`Codex App`,plan:le?.plan,isMain:!0,hasCredential:!0,quota:le?.quota??null}),style:{cursor:A?`default`:`pointer`,marginBottom:12},children:[(0,S.jsxs)(`div`,{className:`card-head`,children:[(0,S.jsx)(`span`,{className:`dot dot-green`}),(0,S.jsx)(`strong`,{children:t(`codexAuth.mainAccount`)}),(0,S.jsxs)(`span`,{className:`card-badges`,children:[le&&(0,S.jsx)(dt,{account:{...le,id:`__main__`},onClick:()=>k({...le,id:`__main__`})}),(0,S.jsx)(`span`,{className:`badge ${A?`badge-primary`:`badge-muted`}`,children:t(A?`codexAuth.nextSession`:`codexAuth.current`)})]}),(0,S.jsxs)(`span`,{className:`card-right`,children:[(0,S.jsx)(fe,{width:14}),` `,t(`codexAuth.appLogin`)]})]}),(0,S.jsxs)(`div`,{className:`card-sub`,children:[le?.email??`Codex App login`,le?.plan?` · ${le.plan}`:``]}),le?.quota&&(0,S.jsx)(ot,{quota:le.quota,plan:le.plan,threshold:o,t})]}),(0,S.jsxs)(`div`,{className:`section-sep`,children:[(0,S.jsx)(`span`,{className:`section-label`,children:t(`codexAuth.accountPool`)}),(0,S.jsx)(`div`,{className:`sep-line`}),(0,S.jsxs)(`button`,{className:`btn btn-sm btn-ghost`,onClick:()=>d(!0),children:[(0,S.jsx)(ie,{width:14}),` `,t(`codexAuth.add`)]})]}),ue.length===0&&(0,S.jsx)(`p`,{className:`empty`,children:t(`codexAuth.noPool`)}),ue.map(e=>(0,S.jsxs)(`div`,{className:`card ${de(e.id)?`card-active`:``}`,onClick:()=>!e.needsReauth&&l(e),style:{cursor:e.needsReauth?`default`:`pointer`,marginBottom:8},children:[(0,S.jsxs)(`div`,{className:`card-head`,children:[(0,S.jsx)(`span`,{className:`dot ${e.needsReauth?`dot-amber`:de(e.id)?`dot-blue`:`dot-muted`}`}),(0,S.jsx)(`strong`,{children:e.email}),(0,S.jsxs)(`span`,{className:`card-badges`,children:[e.plan&&(0,S.jsx)(`span`,{className:`badge badge-green`,children:e.plan}),(0,S.jsx)(dt,{account:e,onClick:()=>k(e)}),e.needsReauth&&(0,S.jsx)(`span`,{className:`badge badge-amber`,children:t(`codexAuth.needsReauth`)}),de(e.id)&&!e.needsReauth&&(0,S.jsx)(`span`,{className:`badge badge-primary`,children:t(`codexAuth.nextSession`)})]}),(0,S.jsx)(`button`,{className:`btn-icon btn-icon-danger card-right`,"aria-label":t(`common.remove`),onClick:t=>{t.stopPropagation(),ne(e.id)},children:(0,S.jsx)(re,{width:14})})]}),e.needsReauth?(0,S.jsx)(`div`,{className:`card-sub faint`,children:t(`codexAuth.tokenExpired`)}):(0,S.jsx)(ot,{quota:e.quota,plan:e.plan,threshold:o,t})]},e.id)),(0,S.jsxs)(`div`,{className:`card card-row`,style:{marginTop:16},children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`strong`,{children:t(`codexAuth.autoSwitch`)}),(0,S.jsx)(`div`,{className:`card-sub`,children:t(`codexAuth.autoSwitchDesc`)})]}),(0,S.jsx)(`button`,{className:`toggle ${o>0?`on`:``}`,onClick:oe,children:(0,S.jsx)(`span`,{className:`toggle-knob`})})]}),c&&(0,S.jsx)(`div`,{className:`modal-overlay`,onClick:()=>l(null),children:(0,S.jsxs)(`div`,{className:`modal-card`,onClick:e=>e.stopPropagation(),children:[(0,S.jsx)(`h3`,{children:c.id===`__main__`?t(`codexAuth.switchBack`):t(`codexAuth.switchTitle`)}),(0,S.jsx)(`p`,{className:`modal-desc`,children:c.id===`__main__`?t(`codexAuth.switchBackDesc`):t(`codexAuth.switchDesc`)}),(0,S.jsxs)(`div`,{className:`card`,style:{margin:`12px 0`},children:[(0,S.jsx)(`strong`,{children:c.id===`__main__`?le?.email:c.email}),c.plan&&(0,S.jsx)(`span`,{className:`badge badge-green`,style:{marginLeft:8},children:c.plan})]}),c.id!==`__main__`&&(0,S.jsxs)(`div`,{className:`notice-warn`,children:[(0,S.jsx)(se,{width:14}),` `,t(`codexAuth.cacheWarning`)]}),(0,S.jsxs)(`div`,{className:`modal-actions`,children:[(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:()=>l(null),children:t(`codexAuth.cancel`)}),(0,S.jsx)(`button`,{className:`btn btn-primary`,onClick:()=>te(c.id===`__main__`?`__main__`:c.id),children:t(`codexAuth.setAsNext`)})]})]})}),g&&(0,S.jsx)(`div`,{className:`modal-overlay`,onClick:()=>{v(null),b(!1),T(null)},children:(0,S.jsx)(`div`,{className:`modal-card`,onClick:e=>e.stopPropagation(),children:y?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{style:{textAlign:`center`,padding:`12px 0`},children:[(0,S.jsx)(`div`,{className:`confirm-icon`,children:(0,S.jsx)(se,{width:22})}),(0,S.jsx)(`h3`,{children:t(`codexAuth.confirmResetTitle`)}),(0,S.jsx)(`p`,{className:`modal-desc`,children:t(`codexAuth.confirmResetDesc`,{count:String(g.quota?.resetCredits??0)})}),w&&w[0]&&(0,S.jsx)(`p`,{className:`faint`,style:{fontSize:12},children:t(`codexAuth.confirmWhichCredit`,{date:ct(w[0].granted_at)})}),(0,S.jsx)(`p`,{className:`faint`,style:{fontSize:12},children:t(`codexAuth.irreversible`)})]}),(0,S.jsxs)(`div`,{className:`modal-actions`,children:[(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:()=>b(!1),children:t(`codexAuth.cancel`)}),(0,S.jsx)(`button`,{className:`btn btn-primary`,onClick:()=>ce(g.id),disabled:x,children:t(x?`codexAuth.redeeming`:`codexAuth.useCredit`)})]})]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`h3`,{children:[(0,S.jsx)(pe,{width:16}),` `,t(`codexAuth.resetCreditsTitle`)]}),(0,S.jsxs)(`div`,{className:`card-sub`,children:[g.email,g.plan?` · ${g.plan}`:``]}),(0,S.jsx)(`div`,{style:{margin:`16px 0`},children:(g.quota?.resetCredits??0)>0?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`p`,{style:{marginBottom:12},children:t(`codexAuth.resetCreditsAvailable`,{count:String(g.quota?.resetCredits??0)})}),E&&(0,S.jsx)(`p`,{className:`faint`,style:{fontSize:12},children:`Loading...`}),w&&w.length>0&&(0,S.jsx)(`div`,{className:`credit-list`,children:w.map((e,n)=>(0,S.jsx)(ut,{index:n,grantedAt:e.granted_at,expiresAt:e.expires_at,isNext:n===0,t},n))}),(0,S.jsx)(`button`,{className:`btn btn-primary`,style:{marginTop:12,width:`100%`},onClick:()=>b(!0),disabled:x,children:t(`codexAuth.useOneCredit`)}),(0,S.jsx)(`p`,{className:`card-sub`,style:{fontSize:11,marginTop:8,textAlign:`center`},children:t(`codexAuth.fifoNote`)})]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`p`,{className:`faint`,children:t(`codexAuth.noResetCredits`)}),(0,S.jsx)(`p`,{className:`modal-desc`,children:t(`codexAuth.earnCreditsHint`)})]})})]})})}),u&&(0,S.jsx)(nt,{apiBase:e,onClose:()=>d(!1),onAdded:()=>{D(),p(t(`codexAuth.accountAdded`)),setTimeout(()=>p(``),5e3)}})]})}function ot({quota:e,plan:t,threshold:n,t:r}){let i=it(e,t);if(!i)return null;let a=typeof i.fiveHourPercent==`number`,o=typeof i.weeklyPercent==`number`,s=typeof i.monthlyPercent==`number`;return!a&&!o&&!s?null:(0,S.jsxs)(`div`,{className:`quota-compact`,children:[a&&(0,S.jsx)(st,{label:r(`codexAuth.fiveHour`),percent:i.fiveHourPercent,resetAt:i.fiveHourResetAt,threshold:n,t:r}),o&&(0,S.jsx)(st,{label:r(`codexAuth.weekly`),percent:i.weeklyPercent,resetAt:i.weeklyResetAt,threshold:n,t:r}),s&&(0,S.jsx)(st,{label:r(`codexAuth.monthly`),percent:i.monthlyPercent,resetAt:i.monthlyResetAt,threshold:n,t:r})]})}function st({label:e,percent:t,resetAt:n,threshold:r,t:i}){let a=r>0&&t>=r?`bar-amber`:`bar-green`,o=pt(n,i);return(0,S.jsxs)(`div`,{className:`quota-row`,children:[(0,S.jsx)(`span`,{className:`quota-label`,children:e}),(0,S.jsx)(`span`,{className:`quota-reset-label`,children:i(`codexAuth.resets`)}),(0,S.jsx)(`span`,{className:`quota-reset-day`,children:o.day}),(0,S.jsx)(`span`,{className:`quota-reset-time`,children:o.time}),(0,S.jsx)(`div`,{className:`bar`,children:(0,S.jsx)(`div`,{className:`bar-fill ${a}`,style:{width:`${ft(t)}%`}})}),(0,S.jsxs)(`span`,{className:`quota-val`,children:[Math.round(t),`%`]})]})}function ct(e){let t=new Date(e);return new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`,year:`numeric`}).format(t)}function lt(e){return Math.max(0,Math.ceil((new Date(e).getTime()-Date.now())/864e5))}function ut({index:e,grantedAt:t,expiresAt:n,isNext:r,t:i}){let a=lt(n),o=a<=7;return(0,S.jsxs)(`div`,{className:`credit-item${r?` credit-next`:``}`,children:[(0,S.jsxs)(`div`,{className:`credit-item-head`,children:[(0,S.jsx)(pe,{width:13}),(0,S.jsx)(`span`,{className:`credit-item-label`,children:r?i(`codexAuth.creditNext`):i(`codexAuth.creditLabel`,{n:String(e+1)})}),r&&(0,S.jsx)(`span`,{className:`badge badge-amber`,style:{fontSize:10,padding:`1px 6px`},children:i(`codexAuth.creditNextBadge`)})]}),(0,S.jsxs)(`div`,{className:`credit-item-dates`,children:[(0,S.jsx)(`span`,{children:i(`codexAuth.creditGranted`,{date:ct(t)})}),(0,S.jsx)(`span`,{className:o?`credit-urgent`:``,children:i(`codexAuth.creditExpires`,{date:ct(n),days:String(a)})})]})]})}function dt({account:e,onClick:t}){let n=e.quota?.resetCredits;return n===void 0?null:(0,S.jsxs)(`button`,{type:`button`,className:`badge ${typeof n==`number`&&n>0?`badge-amber`:`badge-muted`} badge-clickable`,onClick:e=>{e.stopPropagation(),t()},"aria-label":`${n} reset credit(s)`,children:[(0,S.jsx)(pe,{width:12}),n]})}function ft(e){return Math.max(0,Math.min(100,Math.round(e)))}function pt(e,t){if(typeof e!=`number`||!Number.isFinite(e))return{day:``,time:``};let n=e<1e10?e*1e3:e,r=new Date(n),i=new Date,a=new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`,hour12:!1}).format(r);return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()&&r.getDate()===i.getDate()?{day:t(`codexAuth.today`),time:a}:{day:new Intl.DateTimeFormat(void 0,{month:`numeric`,day:`numeric`}).format(r),time:a}}var mt=`opencodex-api-token`,ht=!1,gt=null;function _t(e){try{let t=e instanceof Request?e.url:String(e);return new URL(t,window.location.href).pathname}catch{return null}}function vt(e){let t=_t(e);return!!t&&(t.startsWith(`/api/`)||t.startsWith(`/v1/`))}function yt(){try{return sessionStorage.getItem(mt)?.trim()||null}catch{return null}}function bt(e){try{sessionStorage.setItem(mt,e)}catch{}}function xt(){try{sessionStorage.removeItem(mt)}catch{}}function St(e,t,n){let r=new Headers(t?.headers??(e instanceof Request?e.headers:void 0));return r.set(`X-OpenCodex-API-Key`,n),e instanceof Request?[new Request(e,{headers:r}),t?{...t,headers:r}:void 0]:[e,{...t,headers:r}]}async function Ct(){return gt||(gt=Promise.resolve().then(()=>window.prompt(`OpenCodex API token`)?.trim()||null).finally(()=>{gt=null}),gt)}function wt(){if(ht)return;ht=!0;let e=window.fetch.bind(window);window.fetch=async(t,n)=>{if(!vt(t))return e(t,n);let r=yt(),[i,a]=r?St(t,n,r):[t,n],o=await e(i,a);if(o.status!==401)return o;r&&xt();let s=await Ct();if(!s)return o;bt(s);let[c,l]=St(t,n,s),u=await e(c,l);return u.status===401&&xt(),u}}wt();var Tt=new Set([`dashboard`,`providers`,`models`,`subagents`,`logs`,`usage`,`codex-auth`]);function M(){let e=location.hash.replace(/^#\/?/,``);return Tt.has(e)?e:`dashboard`}var Et=``,Dt=`ocx-theme`,Ot=[{id:`dashboard`,tkey:`nav.dashboard`,Icon:w},{id:`providers`,tkey:`nav.providers`,Icon:T},{id:`models`,tkey:`nav.models`,Icon:E},{id:`subagents`,tkey:`nav.subagents`,Icon:ee},{id:`logs`,tkey:`nav.logs`,Icon:D},{id:`usage`,tkey:`nav.usage`,Icon:te},{id:`codex-auth`,tkey:`nav.codexAuth`,Icon:j}],kt={light:he,dark:ge,system:_e},At={light:`theme.light`,dark:`theme.dark`,system:`theme.system`};function jt(e){if(!e||typeof e!=`object`||!(`version`in e))return null;let t=e.version;return typeof t==`string`&&t.length>0?t:null}function Mt(){let e=localStorage.getItem(Dt);return e===`light`||e===`dark`?e:`system`}function Nt(){let[e,t]=(0,_.useState)(M),n=e=>{location.hash=e,t(e)},[r,i]=(0,_.useState)(Mt),[a,o]=(0,_.useState)(null),{locale:s,setLocale:c}=De(),l=Oe();(0,_.useEffect)(()=>{let e=()=>t(M());return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)},[]),(0,_.useEffect)(()=>{let e=document.documentElement;r===`system`?(e.removeAttribute(`data-theme`),localStorage.removeItem(Dt)):(e.setAttribute(`data-theme`,r),localStorage.setItem(Dt,r))},[r]),(0,_.useEffect)(()=>{let e=!1,t=async()=>{try{let t=await fetch(`${Et}/healthz`);if(!t.ok)return;let n=jt(await t.json());!e&&n&&o(n)}catch{}};t();let n=setInterval(t,3e4);return()=>{e=!0,clearInterval(n)}},[]);let u=()=>i(e=>e===`light`?`dark`:e===`dark`?`system`:`light`),d=kt[r],f=a??`2.6.4-preview.20260629`,p=xe.find(e=>e.code===s)?.name??`English`,m=()=>{let e=xe.map(e=>e.code);c(e[(e.indexOf(s)+1)%e.length])},[h,g]=(0,_.useState)(!1);return(0,S.jsxs)(`div`,{className:`app`,children:[(0,S.jsxs)(`aside`,{className:`sidebar`,children:[(0,S.jsxs)(`div`,{className:`brand`,children:[(0,S.jsx)(`span`,{className:`brand-logo`,role:`img`,"aria-label":`opencodex logo`}),(0,S.jsx)(`span`,{className:`name`,children:`opencodex`}),(0,S.jsxs)(`span`,{className:`ver`,children:[`v`,f]})]}),(0,S.jsx)(`nav`,{children:Ot.map(({id:t,tkey:r,Icon:i})=>(0,S.jsxs)(`button`,{className:`nav-item${e===t?` active`:``}`,"data-page":t,onClick:()=>n(t),"aria-current":e===t?`page`:void 0,children:[(0,S.jsx)(i,{}),` `,l(r)]},t))}),(0,S.jsxs)(`div`,{className:`sidebar-foot`,children:[(0,S.jsxs)(`button`,{type:`button`,className:`theme-toggle`,onClick:m,"aria-label":`${l(`lang.label`)}: ${p}`,title:`${l(`lang.label`)}: ${p}`,children:[(0,S.jsx)(ve,{}),` `,(0,S.jsx)(`span`,{className:`mode`,children:p})]}),(0,S.jsxs)(`button`,{type:`button`,className:`theme-toggle`,onClick:u,"aria-label":`${l(`theme.label`)}: ${l(At[r])}`,title:`${l(`theme.label`)}: ${l(At[r])}`,children:[(0,S.jsx)(d,{}),` `,(0,S.jsx)(`span`,{className:`mode`,children:l(At[r])})]}),(0,S.jsxs)(`button`,{type:`button`,className:`theme-toggle stop-toggle`,onClick:async()=>{if(confirm(l(`dash.stopConfirm`))){g(!0);try{await fetch(`${Et}/api/stop`,{method:`POST`})}catch{}}},disabled:h,"aria-label":l(`dash.stop`),title:l(`dash.stop`),children:[(0,S.jsx)(de,{}),` `,(0,S.jsx)(`span`,{className:`mode`,children:l(h?`dash.stopping`:`dash.stop`)})]}),(0,S.jsxs)(`a`,{className:`sidebar-link`,href:`https://github.com/lidge-jun/opencodex`,target:`_blank`,rel:`noreferrer`,children:[(0,S.jsx)(ue,{}),` `,l(`common.github`)]})]})]}),(0,S.jsx)(`main`,{className:`main`,children:(0,S.jsxs)(`div`,{className:`main-inner`,children:[e===`dashboard`&&(0,S.jsx)(Ne,{apiBase:Et}),e===`providers`&&(0,S.jsx)(Ve,{apiBase:Et}),e===`models`&&(0,S.jsx)(He,{apiBase:Et}),e===`subagents`&&(0,S.jsx)(Ue,{apiBase:Et}),e===`logs`&&(0,S.jsx)(Ye,{apiBase:Et}),e===`usage`&&(0,S.jsx)(tt,{apiBase:Et}),e===`codex-auth`&&(0,S.jsx)(at,{apiBase:Et})]})})]})}v.createRoot(document.getElementById(`root`)).render((0,S.jsx)(_.StrictMode,{children:(0,S.jsx)(Ee,{children:(0,S.jsx)(Nt,{})})}));
|
|
9
|
+
`).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function $(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Zt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Zt(e,``+r);break;case`className`:Ft(e,`class`,r);break;case`tabIndex`:Ft(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Ft(e,n,r);break;case`style`:en(e,r,o);break;case`data`:if(t!==`object`){Ft(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=an(``+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 o==`function`&&(n===`formAction`?(t!==`input`&&$(e,t,`name`,a.name,a,null),$(e,t,`formEncType`,a.formEncType,a,null),$(e,t,`formMethod`,a.formMethod,a,null),$(e,t,`formTarget`,a.formTarget,a,null)):($(e,t,`encType`,a.encType,a,null),$(e,t,`method`,a.method,a,null),$(e,t,`target`,a.target,a,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=an(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=on);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(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=an(``+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`:!0===r?e.setAttribute(n,``):!1!==r&&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`:Q(`beforetoggle`,e),Q(`toggle`,e),Pt(e,`popover`,r);break;case`xlinkActuate`:It(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:It(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:It(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:It(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:It(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:It(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:It(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:It(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:It(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Pt(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=nn.get(n)||n,Pt(e,n,r))}}function Nd(e,t,n,r,a,o){switch(n){case`style`:en(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Zt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Zt(e,``+r);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=on);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!Dt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[mt]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Pt(e,n,r)}}}function Pd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Q(`error`,e),Q(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,o,s,n,null)}}a&&$(e,t,`srcSet`,n.srcSet,n,null),r&&$(e,t,`src`,n.src,n,null);return;case`input`:Q(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:$(e,t,r,d,n,null)}}Kt(e,o,c,l,u,s,a,!1);return;case`select`:for(a in Q(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:$(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Jt(e,!!r,n,!0):Jt(e,!!r,t,!1);return;case`textarea`:for(s in Q(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:$(e,t,s,c,n,null)}Xt(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:$(e,t,l,r,n,null)}return;case`dialog`:Q(`beforetoggle`,e),Q(`toggle`,e),Q(`cancel`,e),Q(`close`,e);break;case`iframe`:case`object`:Q(`load`,e);break;case`video`:case`audio`:for(r=0;r<_d.length;r++)Q(_d[r],e);break;case`image`:Q(`error`,e),Q(`load`,e);break;case`details`:Q(`toggle`,e);break;case`embed`:case`source`:case`link`:Q(`error`,e),Q(`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(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,u,r,n,null)}return;default:if(tn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Nd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&$(e,t,c,r,n,null))}function Fd(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 a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||$(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&$(e,t,p,m,r,f)}}Gt(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||$(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&$(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Jt(e,!!n,n?[]:``,!1):Jt(e,!!n,t,!0)):Jt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:$(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&$(e,t,s,a,r,o)}Yt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:$(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:$(e,t,l,p,r,m)}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 g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&$(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:$(e,t,u,p,r,m)}return;default:if(tn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Nd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Nd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&$(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||$(e,t,f,p,r,m)}function Id(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Ld(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Id(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.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 Rd=null,zd=null;function Bd(e){return e.nodeType===9?e:e.ownerDocument}function Vd(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 Hd(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 Ud(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 Wd=null;function Gd(){var e=window.event;return e&&e.type===`popstate`?e===Wd?!1:(Wd=e,!0):(Wd=null,!1)}var Kd=typeof setTimeout==`function`?setTimeout:void 0,qd=typeof clearTimeout==`function`?clearTimeout:void 0,Jd=typeof Promise==`function`?Promise:void 0,Yd=typeof queueMicrotask==`function`?queueMicrotask:Jd===void 0?Kd:function(e){return Jd.resolve(null).then(e).catch(Xd)};function Xd(e){setTimeout(function(){throw e})}function Zd(e){return e===`head`}function Qd(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)pf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,pf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[bt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&pf(e.ownerDocument.body);n=i}while(n);Np(t)}function $d(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 ef(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`:ef(n),xt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function tf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[bt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=cf(e.nextSibling),e===null)break}return null}function nf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=cf(e.nextSibling),e===null))return null;return e}function rf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=cf(e.nextSibling),e===null))return null;return e}function af(e){return e.data===`$?`||e.data===`$~`}function of(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function sf(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 cf(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 lf=null;function uf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return cf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function df(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 ff(e,t,n){switch(t=Bd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function pf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);xt(e)}var mf=new Map,hf=new Set;function gf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var _f=k.d;k.d={f:vf,r:yf,D:Sf,C:Cf,L:wf,m:Tf,X:Df,S:Ef,M:Of};function vf(){var e=_f.f(),t=bu();return e||t}function yf(e){var t=Ct(e);t!==null&&t.tag===5&&t.type===`form`?Os(t):_f.r(e)}var bf=typeof document>`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Wt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),M(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Wt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Wt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Wt(n.imageSizes)+`"]`)):i+=`[href="`+Wt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),M(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Wt(r)+`"][href="`+Wt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),M(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=Tt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);M(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=Tt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),M(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=Tt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),M(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var a=(a=me.current)?gf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=Tt(a).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=Af(n.href);var o=Tt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.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},mf.set(e,n),o||Nf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=Tt(a).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(i(444,e))}}function Af(e){return`href="`+Wt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(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}),Pd(t,`link`,n),M(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Wt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Wt(n.href)+`"]`);if(r)return t.instance=r,M(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),M(r),Pd(r,`style`,a),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Af(n.href);var o=e.querySelector(jf(a));if(o)return t.state.loading|=4,t.instance=o,M(o),o;r=Mf(n),(a=mf.get(a))&&Rf(r,a),o=(e.ownerDocument||e).createElement(`link`),M(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(a=e.querySelector(Ff(o)))?(t.instance=a,M(a),a):(r=n,(a=mf.get(o))&&(r=h({},n),zf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),M(a),Pd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Rf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Bf=null;function Vf(e,t,n){if(Bf===null){var r=new Map,i=Bf=new Map;i.set(n,r)}else i=Bf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[bt]||a[pt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Hf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,M(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),M(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(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)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&Kf===0&&(Kf=62500*Ld());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Jf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Qf={$$typeof:C,Provider:null,Consumer:null,_currentValue:ce,_currentValue2:ce,_threadCount:0};function $f(e,t,n,r,i,a,o,s,c){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=nt(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=nt(0),this.hiddenUpdates=nt(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function ep(e,t,n,r,i,a,o,s,c,l,u,d){return e=new $f(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=mi(3,null,null,t),e.current=a,a.stateNode=e,t=fa(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ga(a),e}function tp(e){return e?(e=fi,e):fi}function np(e,t,n,r,i,a){i=tp(i),r.context===null?r.context=i:r.pendingContext=i,r=qa(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Ja(e,r,t),n!==null&&(hu(n,e,t),Ya(n,e,t))}function rp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ip(e,t){rp(e,t),(e=e.alternate)&&rp(e,t)}function ap(e){if(e.tag===13||e.tag===31){var t=li(e,67108864);t!==null&&hu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=pu();t=ct(t);var n=li(e,t);n!==null&&hu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=O.T;O.T=null;var a=k.p;try{k.p=2,up(e,t,n,r)}finally{k.p=a,O.T=i}}function lp(e,t,n,r){var i=O.T;O.T=null;var a=k.p;try{k.p=8,up(e,t,n,r)}finally{k.p=a,O.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)wd(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=Ct(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Ze(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-We(o);s.entanglements[1]|=c,o&=~c}rd(a),!(G&6)&&(tu=Me()+500,id(0,!1))}}break;case 31:case 13:s=li(a,2),s!==null&&hu(s,a,2),bu(),ip(a,2)}if(a=dp(r),a===null&&wd(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else wd(e,t,r,null,n)}}function dp(e){return e=cn(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=St(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(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 fp=e,null}function mp(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(Ne()){case Pe:return 2;case Fe:return 8;case Ie:case Le:return 32;case Re:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`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 Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Ct(t),t!==null&&ap(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=St(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,dt(e.priority,function(){op(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,dt(e.priority,function(){op(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 Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);sn=r,n.target.dispatchEvent(r),sn=null}else return t=Ct(n),t!==null&&ap(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=Ct(n);a!==null&&(e.splice(t,3),t-=3,Es(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[mt]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[mt]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=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),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;np(n,pu(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;np(e.current,2,null,e,null,null),bu(),t[ht]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=ut();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=n.version;if(Lp!==`19.2.7`)throw Error(i(527,Lp,`19.2.7`));k.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=d(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.7`,rendererPackageName:`react-dom`,currentDispatcherRef:O,reconcilerVersion:`19.2.7`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{Ve=zp.inject(Rp),He=zp}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Ys,s=Xs,c=Zs;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=ep(e,1,!1,null,null,n,r,null,o,s,c,Pp),e[ht]=t.current,Sd(e),new Fp(t)}})),g=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=c(u(),1),v=c(g(),1),y={en:{day:`d`,hour:`h`,minute:`m`,second:`s`},ko:{day:`일`,hour:`시간`,minute:`분`,second:`초`},zh:{day:`天`,hour:`小时`,minute:`分钟`,second:`秒`}};function b(e,t){let n=Math.max(0,Math.floor(e)),r=y[t]??y.en;if(n<300)return`${n}${r.second}`;let i=Math.floor(n/60);if(i<60)return`${i}${r.minute}`;let a=Math.floor(i/60);if(a<24){let e=i%60;return e>0?`${a}${r.hour} ${e}${r.minute}`:`${a}${r.hour}`}let o=Math.floor(a/24),s=a%24;return s>0?`${o}${r.day} ${s}${r.hour}`:`${o}${r.day}`}var x=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),S=o(((e,t)=>{t.exports=x()}))(),C=e=>({viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,...e}),w=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1.5`}),(0,S.jsx)(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`,rx:`1.5`}),(0,S.jsx)(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1.5`}),(0,S.jsx)(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`,rx:`1.5`})]}),T=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`7`,rx:`2`}),(0,S.jsx)(`rect`,{x:`3`,y:`13`,width:`18`,height:`7`,rx:`2`}),(0,S.jsx)(`path`,{d:`M7 7.5h.01M7 16.5h.01`})]}),E=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`path`,{d:`M12 2 4 6v6l8 4 8-4V6l-8-4Z`}),(0,S.jsx)(`path`,{d:`m4 6 8 4 8-4M12 10v8`})]}),ee=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`rect`,{x:`4`,y:`8`,width:`16`,height:`11`,rx:`3`}),(0,S.jsx)(`path`,{d:`M12 8V4M8 2h8`}),(0,S.jsx)(`circle`,{cx:`9`,cy:`13`,r:`1`}),(0,S.jsx)(`circle`,{cx:`15`,cy:`13`,r:`1`})]}),D=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01`})}),te=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M22 12h-4l-3 9L9 3l-3 9H2`})}),ne=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`m20 6-11 11-5-5`})}),re=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M18 6 6 18M6 6l12 12`})}),ie=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M12 5v14M5 12h14`})}),ae=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M21 12a9 9 0 0 1-9 9 9.8 9.8 0 0 1-6.7-2.7L3 16M3 21v-5h5M3 12a9 9 0 0 1 9-9 9.8 9.8 0 0 1 6.7 2.7L21 8M21 3v5h-5`})}),oe=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6`})}),se=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`path`,{d:`M10.3 3.7 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.7a2 2 0 0 0-3.4 0Z`}),(0,S.jsx)(`path`,{d:`M12 9v4M12 17h.01`})]}),O=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7`}),(0,S.jsx)(`path`,{d:`m21 21-4.3-4.3`})]}),k=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M12 19V5M5 12l7-7 7 7`})}),ce=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M12 5v14M19 12l-7 7-7-7`})}),le=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`m9 18 6-6-6-6`})}),ue=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M9 19c-5 1.5-5-2.5-7-3m14 6v-3.9a3.4 3.4 0 0 0-.9-2.6c3-.3 6.2-1.5 6.2-6.7A5.2 5.2 0 0 0 20 4.8 4.9 4.9 0 0 0 19.9 1S18.7.6 16 2.5a13.4 13.4 0 0 0-7 0C6.3.6 5.1 1 5.1 1A4.9 4.9 0 0 0 5 4.8a5.2 5.2 0 0 0-1.4 3.7c0 5.1 3.1 6.4 6.1 6.7a3.4 3.4 0 0 0-.9 2.5V22`})}),de=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`path`,{d:`M18.4 5.6a9 9 0 1 1-12.8 0`}),(0,S.jsx)(`path`,{d:`M12 2v10`})]}),A=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`})}),j=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`circle`,{cx:`7.5`,cy:`15.5`,r:`4.5`}),(0,S.jsx)(`path`,{d:`m10.7 12.3 9.6-9.6M16 7l3 3M14 9l2 2`})]}),fe=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`rect`,{x:`4`,y:`11`,width:`16`,height:`10`,rx:`2`}),(0,S.jsx)(`path`,{d:`M8 11V7a4 4 0 0 1 8 0v4`})]}),pe=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}),(0,S.jsx)(`path`,{d:`M13 5v2`}),(0,S.jsx)(`path`,{d:`M13 17v2`}),(0,S.jsx)(`path`,{d:`M13 11v2`})]}),me=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2M15 7h2a5 5 0 0 1 0 10h-2M8 12h8`})}),he=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,S.jsx)(`path`,{d:`M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4`})]}),ge=e=>(0,S.jsx)(`svg`,{...C(e),children:(0,S.jsx)(`path`,{d:`M21 12.8A9 9 0 1 1 11.2 3 7 7 0 0 0 21 12.8Z`})}),_e=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`rect`,{x:`2`,y:`3`,width:`20`,height:`14`,rx:`2`}),(0,S.jsx)(`path`,{d:`M8 21h8M12 17v4`})]}),ve=e=>(0,S.jsxs)(`svg`,{...C(e),children:[(0,S.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,S.jsx)(`path`,{d:`M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18`})]}),ye={"nav.dashboard":`Dashboard`,"nav.providers":`Providers`,"nav.models":`Models`,"nav.subagents":`Subagents`,"nav.logs":`Logs`,"nav.usage":`Usage`,"common.github":`GitHub`,"common.save":`Save`,"common.cancel":`Cancel`,"common.remove":`Remove`,"common.loading":`Loading…`,"theme.label":`Theme`,"theme.light":`Light`,"theme.dark":`Dark`,"theme.system":`System`,"lang.label":`Language`,"dash.subtitle":`Live status of the local opencodex proxy, its providers, and the models routed into Codex.`,"dash.status":`Status`,"dash.online":`Online`,"dash.offline":`Offline`,"dash.version":`Version`,"dash.uptime":`Uptime`,"dash.providers":`Providers`,"dash.tokens30d":`Tokens (30d)`,"dash.coverage":`{pct} coverage`,"dash.activeProviders":`Active providers`,"dash.noProviders":`No providers configured. Run {cmd}.`,"dash.col.name":`Name`,"dash.col.adapter":`Adapter`,"dash.col.baseUrl":`Base URL`,"dash.col.model":`Model`,"dash.availableModels":`Available models`,"dash.noModels":`No models found. Check provider API keys.`,"dash.cannotConnect":`Cannot connect to proxy. Is it running?`,"dash.runStart":`Run {cmd} to start the proxy.`,"dash.stop":`Stop Proxy`,"dash.stopConfirm":`Stop the proxy and restore native Codex?`,"dash.stopping":`Stopping…`,"dash.codexAutoStart":`Start opencodex with Codex`,"dash.codexAutoStartHint":`When enabled, the Codex shim runs ocx ensure before every Codex CLI/App launch. Disable this to leave Codex untouched.`,"dash.searchModel":`Search sidecar model`,"dash.searchModelHint":`Model used for web_search on non-OpenAI routed models. Requires ChatGPT login.`,"dash.searchReasoning":`Search reasoning effort`,"dash.visionModel":`Vision sidecar model`,"dash.visionModelHint":`Model used to describe images for text-only routed models. Requires ChatGPT login.`,"dash.sidecarSaved":`Sidecar settings saved. Applied on the next request.`,"dash.sidecarSaveFailed":`Failed to save sidecar settings.`,"prov.subtitle":`Configure the upstream providers opencodex routes into Codex. Log in with an account, add a provider, or edit the raw config.`,"prov.add":`Add Provider`,"prov.editJson":`Edit JSON`,"prov.accountLogin":`Account login`,"prov.noOauth":`No OAuth providers available.`,"prov.loggedIn":`logged in`,"prov.notLoggedIn":`not logged in`,"prov.logout":`Logout`,"prov.loginWith":`Login with {provider}`,"prov.waitingBrowser":`Waiting for browser…`,"prov.didntOpen":`Didn't open? Click here`,"prov.port":`Port`,"prov.default":`Default`,"prov.loadingConfig":`Loading…`,"prov.saved":`Saved! Restart proxy to apply.`,"prov.loadConfigFail":`Failed to load config`,"prov.invalidJson":`Invalid JSON`,"prov.saveFailed":`Save failed`,"prov.loginFailStart":`{provider} login failed to start`,"prov.loginError":`{provider} login error: {error}`,"prov.loginRequestFail":`{provider} login request failed`,"prov.loginOk":`Logged in to {provider}. Run {cmd} (or it applies live) to list its models.`,"prov.logoutOk":`Logged out of {provider}.`,"prov.removed":`Removed "{name}".`,"prov.removeFail":`Failed to remove "{name}".`,"prov.added":`Added "{name}". Live now — run {cmd} (or restart) to list its models in Codex's picker.`,"prov.removeConfirm":`Remove provider "{name}"? Its models disappear from Codex's picker.`,"prov.hasApiKey":`api key configured`,"prov.hasHeaders":`custom headers configured`,"models.subtitle":`Toggle which routed models Codex sees, grouped by provider (click a header to collapse). Disabled models are hidden from the catalog + model picker. Changes apply on the next Codex turn — opencodex invalidates Codex's 5-min model cache so no restart is needed.`,"models.active":`{active}/{total} active`,"models.allOn":`All on`,"models.allOff":`All off`,"models.applied":`Applied — takes effect on the next Codex turn.`,"models.saveFailed":`Save failed`,"models.networkError":`Network error — is the proxy running?`,"models.loadFail":`Failed to load models — is the proxy running?`,"models.noRouted":`No routed models`,"models.noRoutedHint":`Log into a provider or add one first.`,"models.loading":`Loading…`,"sub.subtitle":`Codex's {cmd} advertises only the first 5 models (by priority) as overrides. Pick up to 5 here — native gpt or routed — and opencodex sets their catalog priority so exactly these lead. Any other model is still callable by its exact name; this only controls what's shown.`,"sub.featured":`Featured`,"sub.noneSelected":`None selected — pick from the list below.`,"sub.models":`Models`,"sub.search":`Search models (native gpt + routed)…`,"sub.noModels":`No models — log into a provider or add one first.`,"sub.saved":`Saved {n} models. Start a new Codex session (or run {cmd}) to see them as spawn_agent overrides.`,"sub.saveFailed":`Save failed`,"sub.networkError":`Network error — is the proxy running?`,"sub.loadFail":`Failed to load models — is the proxy running?`,"sub.loading":`Loading…`,"sub.moveUp":`Move {m} up`,"sub.moveDown":`Move {m} down`,"sub.removeAria":`Remove {m}`,"logs.title":`Request Logs`,"logs.subtitle":`Recent requests routed through the local opencodex proxy, newest first.`,"logs.autoRefresh":`Auto-refresh`,"logs.noRequests":`No requests yet.`,"logs.col.time":`Time`,"logs.col.request":`Request`,"logs.col.model":`Model`,"logs.col.effort":`Effort`,"logs.col.provider":`Provider`,"logs.col.status":`Status`,"logs.col.tokens":`Tokens`,"logs.col.error":`Error`,"logs.col.duration":`Duration`,"logs.tokens.reported":`reported`,"logs.tokens.unreported":`unreported`,"logs.tokens.unsupported":`unsupported`,"logs.tokens.estimated":`estimated`,"usage.title":`Usage`,"usage.subtitle":`Local token accounting from your proxy. Missing usage is never shown as zero.`,"usage.loading":`Loading usage data…`,"usage.empty":`No usage recorded yet. Send a request through the proxy to see activity here.`,"usage.range.all":`All`,"usage.range.30d":`30d`,"usage.range.7d":`7d`,"usage.card.requests":`Requests`,"usage.card.reported":`Reported`,"usage.card.totalTokens":`Total tokens`,"usage.card.coverage":`Coverage`,"usage.card.activeDays":`Active days`,"usage.section.heatmap":`Daily activity`,"usage.section.models":`Models`,"usage.section.providers":`Providers`,"usage.section.coverage":`Coverage breakdown`,"usage.coverage.note":`Reported entries contain provider-supplied token counts. Unreported and unsupported requests are tracked but never inflated to zero tokens.`,"usage.search.models":`Search models…`,"usage.col.requests":`Requests`,"usage.col.reported":`Reported`,"usage.col.tokens":`Tokens`,"usage.col.share":`Share`,"usage.heatmap.less":`Less`,"usage.heatmap.more":`More`,"modal.addNamed":`Add: {label}`,"modal.add":`Add provider`,"modal.search":`Search providers…`,"modal.logInWith":`Log in with {label}`,"modal.waitingBrowser":`Waiting for browser…`,"modal.providerName":`Provider name`,"modal.adapter":`Adapter`,"modal.baseUrl":`Base URL`,"modal.defaultModel":`Default model (optional)`,"modal.nameRequired":`Provider name is required`,"modal.baseUrlRequired":`Base URL is required`,"modal.networkError":`Network error — is the proxy running?`,"modal.loginFailStart":`Login failed to start`,"modal.waitingLogin":`Waiting for browser login…`,"modal.loggingIn":`Logging in…`,"modal.loginTimeout":`Login timed out — try again.`,"nav.codexAuth":`Codex Auth`,"codexAuth.mainAccount":`Main Account`,"codexAuth.appLogin":`App login`,"codexAuth.accountPool":`Account Pool`,"codexAuth.add":`Add`,"codexAuth.refreshQuota":`Refresh quotas`,"codexAuth.refreshingQuota":`Refreshing...`,"codexAuth.quotaRefreshed":`Quotas refreshed`,"codexAuth.quotaRefreshFailed":`Failed to refresh quotas`,"codexAuth.noPool":`No pool accounts added yet.`,"codexAuth.weekly":`Week`,"codexAuth.fiveHour":`5h`,"codexAuth.monthly":`30d`,"codexAuth.resets":`resets`,"codexAuth.today":`Today`,"codexAuth.current":`CURRENT`,"codexAuth.nextSession":`NEXT SESSION`,"codexAuth.switchTitle":`Switch active account?`,"codexAuth.switchDesc":`This applies from the next Codex session. Current session stays on the existing account.`,"codexAuth.cacheWarning":`Prompt cache resets on account switch. New session starts with empty cache.`,"codexAuth.setAsNext":`Set as Next Session`,"codexAuth.cancel":`Cancel`,"codexAuth.switchBack":`Switch back to Main?`,"codexAuth.switchBackDesc":`Next Codex session will use your App login account again.`,"codexAuth.autoSwitch":`Auto-switch at 80%`,"codexAuth.autoSwitchDesc":`New sessions switch when the relevant quota window reaches the threshold; Go/Free use 30d only`,"codexAuth.switched":`{email} will be used from next session`,"codexAuth.removeConfirm":`Remove {id}?`,"codexAuth.addTitle":`Add Codex Account`,"codexAuth.addIdLabel":`Account ID (slug)`,"codexAuth.addJsonLabel":`auth.json content`,"codexAuth.addHelp":`Copy from another machine's ~/.codex/auth.json, or use codex-auth export.`,"codexAuth.importBtn":`Import`,"codexAuth.importInvalidJson":`Invalid JSON`,"codexAuth.importMissingTokens":`Missing access_token or refresh_token in JSON`,"codexAuth.importMissingId":`Account ID is required`,"codexAuth.accountAdded":`Account added to pool`,"codexAuth.addPickDesc":`Login with another ChatGPT account to add it to the pool.`,"codexAuth.oauthLogin":`OAuth Login`,"codexAuth.oauthDesc":`Opens ChatGPT login in browser`,"codexAuth.importAuthJson":`Import auth.json`,"codexAuth.importAuthJsonDesc":`From another Codex install or codex-auth export`,"codexAuth.back":`Back`,"codexAuth.oauthAlreadyInProgress":`Login already in progress. Complete it in your browser.`,"codexAuth.oauthWaiting":`Waiting for ChatGPT login to complete in your browser...`,"codexAuth.copyLoginLink":`Copy login link`,"codexAuth.loginLinkCopied":`Login link copied`,"codexAuth.loginLinkCopyFailed":`Could not copy login link.`,"codexAuth.oauthCancelled":`Login was cancelled.`,"codexAuth.needsReauth":`Re-login`,"codexAuth.tokenExpired":`Token expired — re-add this account to refresh`,"codexAuth.emailCollision":`This account matches your main Codex login. Use a different account.`,"codexAuth.resetCreditsTitle":`Reset Credits`,"codexAuth.resetCreditsAvailable":`You have {count} reset credit(s) available.`,"codexAuth.resetCreditsDesc":`Each credit resets your current hourly and weekly usage limits instantly.`,"codexAuth.noResetCredits":`You don't have any reset credits.`,"codexAuth.earnCreditsHint":`Credits are earned monthly and via the referral program.`,"codexAuth.creditsExpireNote":`Credits expire 30 days after earning.`,"codexAuth.useOneCredit":`Use 1 Credit`,"codexAuth.confirmResetTitle":`Use Reset Credit?`,"codexAuth.confirmResetDesc":`This will instantly reset your current rate limits. You have {count} credit(s) remaining.`,"codexAuth.irreversible":`This action cannot be undone.`,"codexAuth.useCredit":`Use Credit`,"codexAuth.redeeming":`Resetting...`,"codexAuth.resetSuccess":`Rate limits reset! {remaining} credit(s) remaining.`,"codexAuth.resetNothingToReset":`No rate-limit window needs resetting right now.`,"codexAuth.resetNoCredit":`No reset credits available.`,"codexAuth.resetError":`Failed to redeem reset credit. Please try again.`,"codexAuth.fifoNote":`The oldest credit is used first.`,"codexAuth.confirmWhichCredit":`Credit from {date} will be used.`,"codexAuth.creditNext":`Next to use`,"codexAuth.creditLabel":`Credit #{n}`,"codexAuth.creditNextBadge":`NEXT`,"codexAuth.creditGranted":`Granted {date}`,"codexAuth.creditExpires":`Expires {date} ({days}d left)`},be={en:ye,ko:{"nav.dashboard":`대시보드`,"nav.providers":`프로바이더`,"nav.models":`모델`,"nav.subagents":`서브에이전트`,"nav.logs":`로그`,"nav.usage":`사용량`,"common.github":`GitHub`,"common.save":`저장`,"common.cancel":`취소`,"common.remove":`삭제`,"common.loading":`불러오는 중…`,"theme.label":`테마`,"theme.light":`라이트`,"theme.dark":`다크`,"theme.system":`시스템`,"lang.label":`언어`,"dash.subtitle":`로컬 opencodex 프록시와 프로바이더, 그리고 Codex로 라우팅되는 모델의 실시간 상태입니다.`,"dash.status":`상태`,"dash.online":`온라인`,"dash.offline":`오프라인`,"dash.version":`버전`,"dash.uptime":`가동 시간`,"dash.providers":`프로바이더`,"dash.tokens30d":`토큰 (30일)`,"dash.coverage":`커버리지 {pct}`,"dash.activeProviders":`활성 프로바이더`,"dash.noProviders":`설정된 프로바이더가 없습니다. {cmd} 를 실행하세요.`,"dash.col.name":`이름`,"dash.col.adapter":`어댑터`,"dash.col.baseUrl":`Base URL`,"dash.col.model":`모델`,"dash.availableModels":`사용 가능한 모델`,"dash.noModels":`모델을 찾을 수 없습니다. 프로바이더 API 키를 확인하세요.`,"dash.cannotConnect":`프록시에 연결할 수 없습니다. 실행 중인가요?`,"dash.runStart":`{cmd} 를 실행해 프록시를 시작하세요.`,"dash.stop":`프록시 중지`,"dash.stopConfirm":`프록시를 중지하고 Codex 원본 설정을 복원할까요?`,"dash.stopping":`중지 중…`,"dash.codexAutoStart":`Codex 실행 시 opencodex 시작`,"dash.codexAutoStartHint":`켜져 있으면 Codex CLI/App 실행 전 shim이 ocx ensure를 실행합니다. 끄면 Codex를 건드리지 않습니다.`,"dash.searchModel":`서치 사이드카 모델`,"dash.searchModelHint":`비-OpenAI 라우팅 모델의 web_search에 사용되는 모델입니다. ChatGPT 로그인 필요.`,"dash.searchReasoning":`서치 추론 강도`,"dash.visionModel":`비전 사이드카 모델`,"dash.visionModelHint":`텍스트 전용 라우팅 모델에 이미지를 설명하는 데 사용되는 모델입니다. ChatGPT 로그인 필요.`,"dash.sidecarSaved":`사이드카 설정이 저장됐습니다. 다음 요청부터 적용됩니다.`,"dash.sidecarSaveFailed":`사이드카 설정 저장에 실패했습니다.`,"prov.subtitle":`opencodex가 Codex로 라우팅하는 업스트림 프로바이더를 설정합니다. 계정으로 로그인하거나, 프로바이더를 추가하거나, 원본 설정을 편집하세요.`,"prov.add":`프로바이더 추가`,"prov.editJson":`JSON 편집`,"prov.accountLogin":`계정 로그인`,"prov.noOauth":`사용 가능한 OAuth 프로바이더가 없습니다.`,"prov.loggedIn":`로그인됨`,"prov.notLoggedIn":`로그인 안 됨`,"prov.logout":`로그아웃`,"prov.loginWith":`{provider} 로 로그인`,"prov.waitingBrowser":`브라우저 대기 중…`,"prov.didntOpen":`안 열렸나요? 여기를 클릭하세요`,"prov.port":`포트`,"prov.default":`기본값`,"prov.loadingConfig":`불러오는 중…`,"prov.saved":`저장됨! 적용하려면 프록시를 재시작하세요.`,"prov.loadConfigFail":`설정을 불러오지 못했습니다`,"prov.invalidJson":`잘못된 JSON`,"prov.saveFailed":`저장 실패`,"prov.loginFailStart":`{provider} 로그인을 시작하지 못했습니다`,"prov.loginError":`{provider} 로그인 오류: {error}`,"prov.loginRequestFail":`{provider} 로그인 요청 실패`,"prov.loginOk":`{provider} 에 로그인했습니다. 모델을 표시하려면 {cmd} 를 실행하세요(또는 실시간 적용됩니다).`,"prov.logoutOk":`{provider} 에서 로그아웃했습니다.`,"prov.removed":`"{name}" 을(를) 삭제했습니다.`,"prov.removeFail":`"{name}" 삭제에 실패했습니다.`,"prov.added":`"{name}" 을(를) 추가했습니다. 지금 활성화됨 — Codex 모델 선택기에 표시하려면 {cmd} 를 실행하세요(또는 재시작).`,"prov.removeConfirm":`프로바이더 "{name}" 을(를) 삭제할까요? 해당 모델이 Codex 선택기에서 사라집니다.`,"prov.hasApiKey":`API 키 설정됨`,"prov.hasHeaders":`커스텀 헤더 설정됨`,"models.subtitle":`Codex가 보는 라우팅된 모델을 프로바이더별로 묶어 켜고 끕니다(헤더를 클릭하면 접힘). 비활성화된 모델은 카탈로그와 모델 선택기에서 숨겨집니다. 변경 사항은 다음 Codex 턴에 적용됩니다 — opencodex가 Codex의 5분 모델 캐시를 무효화하므로 재시작이 필요 없습니다.`,"models.active":`{active}/{total} 활성`,"models.allOn":`모두 켜기`,"models.allOff":`모두 끄기`,"models.applied":`적용됨 — 다음 Codex 턴부터 반영됩니다.`,"models.saveFailed":`저장 실패`,"models.networkError":`네트워크 오류 — 프록시가 실행 중인가요?`,"models.loadFail":`모델을 불러오지 못했습니다 — 프록시가 실행 중인가요?`,"models.noRouted":`라우팅된 모델 없음`,"models.noRoutedHint":`먼저 프로바이더에 로그인하거나 추가하세요.`,"models.loading":`불러오는 중…`,"sub.subtitle":`Codex의 {cmd} 는 우선순위 상위 5개 모델만 오버라이드로 노출합니다. 여기서 최대 5개를 선택하면 — 네이티브 gpt 또는 라우팅된 모델 — opencodex가 카탈로그 우선순위를 설정해 정확히 이들이 앞에 옵니다. 다른 모델도 정확한 이름으로 호출할 수 있으며, 이 설정은 표시 항목만 제어합니다.`,"sub.featured":`추천`,"sub.noneSelected":`선택된 항목 없음 — 아래 목록에서 선택하세요.`,"sub.models":`모델`,"sub.search":`모델 검색(네이티브 gpt + 라우팅)…`,"sub.noModels":`모델 없음 — 먼저 프로바이더에 로그인하거나 추가하세요.`,"sub.saved":`{n}개 모델을 저장했습니다. spawn_agent 오버라이드로 보려면 새 Codex 세션을 시작하거나 {cmd} 를 실행하세요.`,"sub.saveFailed":`저장 실패`,"sub.networkError":`네트워크 오류 — 프록시가 실행 중인가요?`,"sub.loadFail":`모델을 불러오지 못했습니다 — 프록시가 실행 중인가요?`,"sub.loading":`불러오는 중…`,"sub.moveUp":`{m} 위로 이동`,"sub.moveDown":`{m} 아래로 이동`,"sub.removeAria":`{m} 삭제`,"logs.title":`요청 로그`,"logs.subtitle":`로컬 opencodex 프록시를 거친 최근 요청입니다. 최신순.`,"logs.autoRefresh":`자동 새로고침`,"logs.noRequests":`아직 요청이 없습니다.`,"logs.col.time":`시간`,"logs.col.request":`요청`,"logs.col.model":`모델`,"logs.col.effort":`추론 강도`,"logs.col.provider":`프로바이더`,"logs.col.status":`상태`,"logs.col.tokens":`토큰`,"logs.col.error":`오류`,"logs.col.duration":`소요 시간`,"logs.tokens.reported":`측정됨`,"logs.tokens.unreported":`미보고`,"logs.tokens.unsupported":`미지원`,"logs.tokens.estimated":`추정`,"usage.title":`사용량`,"usage.subtitle":`프록시의 로컬 토큰 집계입니다. 누락된 사용량은 0으로 표시하지 않습니다.`,"usage.loading":`사용량 데이터를 불러오는 중…`,"usage.empty":`아직 기록된 사용량이 없습니다. 프록시로 요청을 보내면 여기에 표시됩니다.`,"usage.range.all":`전체`,"usage.range.30d":`30일`,"usage.range.7d":`7일`,"usage.card.requests":`요청`,"usage.card.reported":`측정됨`,"usage.card.totalTokens":`총 토큰`,"usage.card.coverage":`커버리지`,"usage.card.activeDays":`활동일`,"usage.section.heatmap":`일별 활동`,"usage.section.models":`모델`,"usage.section.providers":`프로바이더`,"usage.section.coverage":`커버리지 상세`,"usage.coverage.note":`측정됨 항목은 제공자가 보고한 토큰 수치를 사용합니다. 미보고/미지원 요청은 추적만 하고 0으로 환산하지 않습니다.`,"usage.search.models":`모델 검색…`,"usage.col.requests":`요청`,"usage.col.reported":`측정됨`,"usage.col.tokens":`토큰`,"usage.col.share":`비율`,"usage.heatmap.less":`적음`,"usage.heatmap.more":`많음`,"modal.addNamed":`추가: {label}`,"modal.add":`프로바이더 추가`,"modal.search":`프로바이더 검색…`,"modal.logInWith":`{label} 로 로그인`,"modal.waitingBrowser":`브라우저 대기 중…`,"modal.providerName":`프로바이더 이름`,"modal.adapter":`어댑터`,"modal.baseUrl":`Base URL`,"modal.defaultModel":`기본 모델(선택)`,"modal.nameRequired":`프로바이더 이름을 입력하세요`,"modal.baseUrlRequired":`Base URL을 입력하세요`,"modal.networkError":`네트워크 오류 — 프록시가 실행 중인가요?`,"modal.loginFailStart":`로그인을 시작하지 못했습니다`,"modal.waitingLogin":`브라우저 로그인 대기 중…`,"modal.loggingIn":`로그인 중…`,"modal.loginTimeout":`로그인 시간 초과 — 다시 시도하세요.`,"nav.codexAuth":`Codex 인증`,"codexAuth.mainAccount":`메인 계정`,"codexAuth.appLogin":`앱 로그인`,"codexAuth.accountPool":`계정 풀`,"codexAuth.add":`추가`,"codexAuth.refreshQuota":`할당량 새로고침`,"codexAuth.refreshingQuota":`새로고침 중...`,"codexAuth.quotaRefreshed":`할당량을 다시 조회했습니다`,"codexAuth.quotaRefreshFailed":`할당량 재조회에 실패했습니다`,"codexAuth.noPool":`풀 계정이 아직 없습니다.`,"codexAuth.weekly":`주간`,"codexAuth.fiveHour":`5h`,"codexAuth.monthly":`30일`,"codexAuth.resets":`리셋`,"codexAuth.today":`오늘`,"codexAuth.current":`현재`,"codexAuth.nextSession":`다음 세션`,"codexAuth.switchTitle":`활성 계정을 변경하시겠습니까?`,"codexAuth.switchDesc":`다음 Codex 세션부터 적용됩니다. 현재 세션은 기존 계정을 유지합니다.`,"codexAuth.cacheWarning":`계정 전환 시 프롬프트 캐시가 초기화됩니다.`,"codexAuth.setAsNext":`다음 세션으로 설정`,"codexAuth.cancel":`취소`,"codexAuth.switchBack":`메인 계정으로 돌아가시겠습니까?`,"codexAuth.switchBackDesc":`다음 Codex 세션에서 앱 로그인 계정을 사용합니다.`,"codexAuth.autoSwitch":`80% 초과 시 자동 전환`,"codexAuth.autoSwitchDesc":`새 세션은 해당 플랜의 기준 창이 임계값에 도달하면 전환합니다. Go/Free는 30일만 봅니다`,"codexAuth.switched":`다음 세션부터 {email}을(를) 사용합니다`,"codexAuth.removeConfirm":`{id}을(를) 삭제하시겠습니까?`,"codexAuth.addTitle":`Codex 계정 추가`,"codexAuth.addIdLabel":`계정 ID (슬러그)`,"codexAuth.addJsonLabel":`auth.json 내용`,"codexAuth.addHelp":`다른 머신의 ~/.codex/auth.json을 복사하거나, codex-auth export를 사용하세요.`,"codexAuth.importBtn":`가져오기`,"codexAuth.importInvalidJson":`유효하지 않은 JSON`,"codexAuth.importMissingTokens":`JSON에 access_token 또는 refresh_token이 없습니다`,"codexAuth.importMissingId":`계정 ID를 입력하세요`,"codexAuth.accountAdded":`풀에 계정이 추가되었습니다`,"codexAuth.addPickDesc":`다른 ChatGPT 계정으로 로그인하여 풀에 추가하세요.`,"codexAuth.oauthLogin":`OAuth 로그인`,"codexAuth.oauthDesc":`브라우저에서 ChatGPT 로그인 열기`,"codexAuth.importAuthJson":`auth.json 가져오기`,"codexAuth.importAuthJsonDesc":`다른 Codex 설치 또는 codex-auth export에서`,"codexAuth.back":`뒤로`,"codexAuth.oauthAlreadyInProgress":`로그인이 이미 진행 중입니다. 브라우저에서 완료하세요.`,"codexAuth.oauthWaiting":`브라우저에서 ChatGPT 로그인 완료를 기다리는 중...`,"codexAuth.copyLoginLink":`로그인 링크 복사`,"codexAuth.loginLinkCopied":`로그인 링크를 복사했습니다`,"codexAuth.loginLinkCopyFailed":`로그인 링크를 복사하지 못했습니다.`,"codexAuth.oauthCancelled":`로그인이 취소되었습니다.`,"codexAuth.needsReauth":`재로그인`,"codexAuth.tokenExpired":`토큰 만료 — 계정을 다시 추가하여 갱신하세요`,"codexAuth.emailCollision":`이 계정은 메인 Codex 로그인과 동일합니다. 다른 계정을 사용하세요.`,"codexAuth.resetCreditsTitle":`리셋 크레딧`,"codexAuth.resetCreditsAvailable":`사용 가능한 리셋 크레딧이 {count}개 있습니다.`,"codexAuth.resetCreditsDesc":`크레딧 1개로 현재 시간/주간 사용량 제한을 즉시 초기화합니다.`,"codexAuth.noResetCredits":`사용 가능한 리셋 크레딧이 없습니다.`,"codexAuth.earnCreditsHint":`크레딧은 매월 자동 지급되며 추천 프로그램으로도 획득할 수 있습니다.`,"codexAuth.creditsExpireNote":`크레딧은 획득 후 30일 뒤 만료됩니다.`,"codexAuth.useOneCredit":`크레딧 1개 사용`,"codexAuth.confirmResetTitle":`리셋 크레딧을 사용하시겠습니까?`,"codexAuth.confirmResetDesc":`현재 사용량 제한이 즉시 초기화됩니다. 남은 크레딧: {count}개.`,"codexAuth.irreversible":`이 작업은 되돌릴 수 없습니다.`,"codexAuth.useCredit":`크레딧 사용`,"codexAuth.redeeming":`초기화 중...`,"codexAuth.resetSuccess":`사용량 제한이 초기화되었습니다! 남은 크레딧: {remaining}개.`,"codexAuth.resetNothingToReset":`현재 초기화할 사용량 윈도우가 없습니다.`,"codexAuth.resetNoCredit":`사용 가능한 리셋 크레딧이 없습니다.`,"codexAuth.resetError":`리셋 크레딧 사용에 실패했습니다. 다시 시도해 주세요.`,"codexAuth.fifoNote":`가장 오래된 크레딧부터 사용됩니다.`,"codexAuth.confirmWhichCredit":`{date}에 획득한 크레딧이 사용됩니다.`,"codexAuth.creditNext":`다음 사용 대상`,"codexAuth.creditLabel":`크레딧 #{n}`,"codexAuth.creditNextBadge":`NEXT`,"codexAuth.creditGranted":`획득 {date}`,"codexAuth.creditExpires":`만료 {date} ({days}일 남음)`},zh:{"nav.dashboard":`仪表盘`,"nav.providers":`提供方`,"nav.models":`模型`,"nav.subagents":`子代理`,"nav.logs":`日志`,"nav.usage":`用量`,"common.github":`GitHub`,"common.save":`保存`,"common.cancel":`取消`,"common.remove":`移除`,"common.loading":`加载中…`,"theme.label":`主题`,"theme.light":`浅色`,"theme.dark":`深色`,"theme.system":`跟随系统`,"lang.label":`语言`,"dash.subtitle":`本地 opencodex 代理、其提供方以及路由到 Codex 的模型的实时状态。`,"dash.status":`状态`,"dash.online":`在线`,"dash.offline":`离线`,"dash.version":`版本`,"dash.uptime":`运行时间`,"dash.providers":`提供方`,"dash.tokens30d":`Token (30 天)`,"dash.coverage":`覆盖率 {pct}`,"dash.activeProviders":`活跃提供方`,"dash.noProviders":`尚未配置提供方。请运行 {cmd}。`,"dash.col.name":`名称`,"dash.col.adapter":`适配器`,"dash.col.baseUrl":`Base URL`,"dash.col.model":`模型`,"dash.availableModels":`可用模型`,"dash.noModels":`未找到模型。请检查提供方 API 密钥。`,"dash.cannotConnect":`无法连接到代理。它在运行吗?`,"dash.runStart":`运行 {cmd} 以启动代理。`,"dash.stop":`停止代理`,"dash.stopConfirm":`停止代理并恢复原生 Codex 配置?`,"dash.stopping":`正在停止…`,"dash.codexAutoStart":`随 Codex 启动 opencodex`,"dash.codexAutoStartHint":`启用后,Codex shim 会在每次 Codex CLI/App 启动前运行 ocx ensure。关闭后不会改动 Codex。`,"dash.searchModel":`搜索附属模型`,"dash.searchModelHint":`用于非 OpenAI 路由模型的 web_search 的模型。需要 ChatGPT 登录。`,"dash.searchReasoning":`搜索推理强度`,"dash.visionModel":`视觉附属模型`,"dash.visionModelHint":`为纯文本路由模型描述图像的模型。需要 ChatGPT 登录。`,"dash.sidecarSaved":`附属设置已保存。将在下一个请求时生效。`,"dash.sidecarSaveFailed":`保存附属设置失败。`,"prov.subtitle":`配置 opencodex 路由到 Codex 的上游提供方。使用账户登录、添加提供方,或编辑原始配置。`,"prov.add":`添加提供方`,"prov.editJson":`编辑 JSON`,"prov.accountLogin":`账户登录`,"prov.noOauth":`没有可用的 OAuth 提供方。`,"prov.loggedIn":`已登录`,"prov.notLoggedIn":`未登录`,"prov.logout":`退出登录`,"prov.loginWith":`使用 {provider} 登录`,"prov.waitingBrowser":`等待浏览器…`,"prov.didntOpen":`没有打开?点击这里`,"prov.port":`端口`,"prov.default":`默认`,"prov.loadingConfig":`加载中…`,"prov.saved":`已保存!重启代理以生效。`,"prov.loadConfigFail":`加载配置失败`,"prov.invalidJson":`无效的 JSON`,"prov.saveFailed":`保存失败`,"prov.loginFailStart":`{provider} 登录启动失败`,"prov.loginError":`{provider} 登录错误:{error}`,"prov.loginRequestFail":`{provider} 登录请求失败`,"prov.loginOk":`已登录到 {provider}。运行 {cmd}(或实时生效)以列出其模型。`,"prov.logoutOk":`已退出 {provider}。`,"prov.removed":`已移除 "{name}"。`,"prov.removeFail":`移除 "{name}" 失败。`,"prov.added":`已添加 "{name}"。现已生效 — 运行 {cmd}(或重启)以在 Codex 选择器中列出其模型。`,"prov.removeConfirm":`移除提供方 "{name}"?其模型将从 Codex 选择器中消失。`,"prov.hasApiKey":`已配置 API 密钥`,"prov.hasHeaders":`已配置自定义请求头`,"models.subtitle":`按提供方分组开关 Codex 可见的已路由模型(点击标题可折叠)。已禁用的模型会从目录和模型选择器中隐藏。更改在下一个 Codex 回合生效 — opencodex 会使 Codex 的 5 分钟模型缓存失效,因此无需重启。`,"models.active":`{active}/{total} 已启用`,"models.allOn":`全部开启`,"models.allOff":`全部关闭`,"models.applied":`已应用 — 将在下一个 Codex 回合生效。`,"models.saveFailed":`保存失败`,"models.networkError":`网络错误 — 代理在运行吗?`,"models.loadFail":`加载模型失败 — 代理在运行吗?`,"models.noRouted":`没有已路由的模型`,"models.noRoutedHint":`请先登录提供方或添加一个。`,"models.loading":`加载中…`,"sub.subtitle":`Codex 的 {cmd} 仅将优先级最高的前 5 个模型作为覆盖项公开。在此最多选择 5 个 — 原生 gpt 或已路由模型 — opencodex 会设置它们的目录优先级,使其正好排在前面。其他模型仍可按确切名称调用;此设置仅控制显示项。`,"sub.featured":`精选`,"sub.noneSelected":`未选择 — 请从下方列表选择。`,"sub.models":`模型`,"sub.search":`搜索模型(原生 gpt + 已路由)…`,"sub.noModels":`没有模型 — 请先登录提供方或添加一个。`,"sub.saved":`已保存 {n} 个模型。启动新的 Codex 会话(或运行 {cmd})以将它们作为 spawn_agent 覆盖项查看。`,"sub.saveFailed":`保存失败`,"sub.networkError":`网络错误 — 代理在运行吗?`,"sub.loadFail":`加载模型失败 — 代理在运行吗?`,"sub.loading":`加载中…`,"sub.moveUp":`上移 {m}`,"sub.moveDown":`下移 {m}`,"sub.removeAria":`移除 {m}`,"logs.title":`请求日志`,"logs.subtitle":`经过本地 opencodex 代理的最近请求,最新在前。`,"logs.autoRefresh":`自动刷新`,"logs.noRequests":`暂无请求。`,"logs.col.time":`时间`,"logs.col.request":`请求`,"logs.col.model":`模型`,"logs.col.effort":`推理强度`,"logs.col.provider":`提供方`,"logs.col.status":`状态`,"logs.col.tokens":`Token 数`,"logs.col.error":`错误`,"logs.col.duration":`耗时`,"logs.tokens.reported":`已上报`,"logs.tokens.unreported":`未上报`,"logs.tokens.unsupported":`不支持`,"logs.tokens.estimated":`估算`,"usage.title":`用量`,"usage.subtitle":`代理本地的 Token 用量统计。缺失的用量不会显示为零。`,"usage.loading":`正在加载用量数据…`,"usage.empty":`尚无用量记录。通过代理发送请求后将在此显示。`,"usage.range.all":`全部`,"usage.range.30d":`30 天`,"usage.range.7d":`7 天`,"usage.card.requests":`请求数`,"usage.card.reported":`已上报`,"usage.card.totalTokens":`Token 总数`,"usage.card.coverage":`覆盖率`,"usage.card.activeDays":`活跃天数`,"usage.section.heatmap":`每日活动`,"usage.section.models":`模型`,"usage.section.providers":`提供方`,"usage.section.coverage":`覆盖率明细`,"usage.coverage.note":`“已上报”使用提供方返回的真实 Token 数。未上报 / 不支持请求仅做计数,不会被算作 0 Token。`,"usage.search.models":`搜索模型…`,"usage.col.requests":`请求数`,"usage.col.reported":`已上报`,"usage.col.tokens":`Token 数`,"usage.col.share":`占比`,"usage.heatmap.less":`少`,"usage.heatmap.more":`多`,"modal.addNamed":`添加:{label}`,"modal.add":`添加提供方`,"modal.search":`搜索提供方…`,"modal.logInWith":`使用 {label} 登录`,"modal.waitingBrowser":`等待浏览器…`,"modal.providerName":`提供方名称`,"modal.adapter":`适配器`,"modal.baseUrl":`Base URL`,"modal.defaultModel":`默认模型(可选)`,"modal.nameRequired":`提供方名称为必填项`,"modal.baseUrlRequired":`Base URL 为必填项`,"modal.networkError":`网络错误 — 代理在运行吗?`,"modal.loginFailStart":`登录启动失败`,"modal.waitingLogin":`等待浏览器登录…`,"modal.loggingIn":`登录中…`,"modal.loginTimeout":`登录超时 — 请重试。`,"nav.codexAuth":`Codex 认证`,"codexAuth.mainAccount":`主账号`,"codexAuth.appLogin":`应用登录`,"codexAuth.accountPool":`账号池`,"codexAuth.add":`添加`,"codexAuth.refreshQuota":`刷新额度`,"codexAuth.refreshingQuota":`刷新中...`,"codexAuth.quotaRefreshed":`额度已刷新`,"codexAuth.quotaRefreshFailed":`额度刷新失败`,"codexAuth.noPool":`尚未添加池账号。`,"codexAuth.weekly":`每周`,"codexAuth.fiveHour":`5h`,"codexAuth.monthly":`30天`,"codexAuth.resets":`重置`,"codexAuth.today":`今天`,"codexAuth.current":`当前`,"codexAuth.nextSession":`下次会话`,"codexAuth.switchTitle":`切换活跃账号?`,"codexAuth.switchDesc":`从下次 Codex 会话开始生效。当前会话保持现有账号。`,"codexAuth.cacheWarning":`切换账号会重置提示缓存。新会话从空缓存开始。`,"codexAuth.setAsNext":`设为下次会话`,"codexAuth.cancel":`取消`,"codexAuth.switchBack":`切换回主账号?`,"codexAuth.switchBackDesc":`下次 Codex 会话将使用应用登录账号。`,"codexAuth.autoSwitch":`超过 80% 时自动切换`,"codexAuth.autoSwitchDesc":`新会话会在相关额度窗口达到阈值时切换;Go/Free 只使用 30天`,"codexAuth.switched":`下次会话将使用 {email}`,"codexAuth.removeConfirm":`删除 {id}?`,"codexAuth.addTitle":`添加 Codex 账号`,"codexAuth.addIdLabel":`账号 ID(标识符)`,"codexAuth.addJsonLabel":`auth.json 内容`,"codexAuth.addHelp":`从另一台机器的 ~/.codex/auth.json 复制,或使用 codex-auth export。`,"codexAuth.importBtn":`导入`,"codexAuth.importInvalidJson":`无效的 JSON`,"codexAuth.importMissingTokens":`JSON 中缺少 access_token 或 refresh_token`,"codexAuth.importMissingId":`请输入账号 ID`,"codexAuth.accountAdded":`账号已添加到池中`,"codexAuth.addPickDesc":`使用另一个 ChatGPT 账号登录以添加到池中。`,"codexAuth.oauthLogin":`OAuth 登录`,"codexAuth.oauthDesc":`在浏览器中打开 ChatGPT 登录`,"codexAuth.importAuthJson":`导入 auth.json`,"codexAuth.importAuthJsonDesc":`从另一个 Codex 安装或 codex-auth 导出`,"codexAuth.back":`返回`,"codexAuth.oauthAlreadyInProgress":`登录已在进行中。请在浏览器中完成。`,"codexAuth.oauthWaiting":`等待浏览器中完成 ChatGPT 登录...`,"codexAuth.copyLoginLink":`复制登录链接`,"codexAuth.loginLinkCopied":`登录链接已复制`,"codexAuth.loginLinkCopyFailed":`无法复制登录链接。`,"codexAuth.oauthCancelled":`登录已取消。`,"codexAuth.needsReauth":`重新登录`,"codexAuth.tokenExpired":`令牌已过期 — 重新添加此账号以刷新`,"codexAuth.emailCollision":`此账号与您的主 Codex 登录相同。请使用其他账号。`,"codexAuth.resetCreditsTitle":`重置额度`,"codexAuth.resetCreditsAvailable":`您有 {count} 个可用重置额度。`,"codexAuth.resetCreditsDesc":`每个额度可立即重置您当前的小时和每周使用限制。`,"codexAuth.noResetCredits":`没有可用的重置额度。`,"codexAuth.earnCreditsHint":`额度每月自动发放,也可通过推荐计划获得。`,"codexAuth.creditsExpireNote":`额度在获得后 30 天过期。`,"codexAuth.useOneCredit":`使用 1 个额度`,"codexAuth.confirmResetTitle":`使用重置额度?`,"codexAuth.confirmResetDesc":`这将立即重置您当前的使用限制。剩余额度:{count} 个。`,"codexAuth.irreversible":`此操作不可撤销。`,"codexAuth.useCredit":`使用额度`,"codexAuth.redeeming":`重置中...`,"codexAuth.resetSuccess":`使用限制已重置!剩余额度:{remaining} 个。`,"codexAuth.resetNothingToReset":`当前没有需要重置的使用窗口。`,"codexAuth.resetNoCredit":`没有可用的重置额度。`,"codexAuth.resetError":`重置额度使用失败,请重试。`,"codexAuth.fifoNote":`最早获得的额度优先使用。`,"codexAuth.confirmWhichCredit":`将使用 {date} 获得的额度。`,"codexAuth.creditNext":`即将使用`,"codexAuth.creditLabel":`额度 #{n}`,"codexAuth.creditNextBadge":`NEXT`,"codexAuth.creditGranted":`获得 {date}`,"codexAuth.creditExpires":`过期 {date}(剩余 {days} 天)`}},xe=[{code:`en`,name:`English`,htmlLang:`en`},{code:`ko`,name:`한국어`,htmlLang:`ko`},{code:`zh`,name:`中文`,htmlLang:`zh-CN`}],Se=`ocx-lang`;function Ce(){try{let e=localStorage.getItem(Se);if(e===`en`||e===`ko`||e===`zh`)return e}catch{}let e=typeof navigator<`u`?navigator.language.toLowerCase():`en`;return e.startsWith(`ko`)?`ko`:e.startsWith(`zh`)?`zh`:`en`}var we=(0,_.createContext)(null);function Te(e,t){if(!t)return e;let n=e;for(let e of Object.keys(t))n=n.split(`{${e}}`).join(String(t[e]));return n}function Ee({children:e}){let[t,n]=(0,_.useState)(Ce);return(0,_.useEffect)(()=>{let e=xe.find(e=>e.code===t)??xe[0];document.documentElement.lang=e.htmlLang;try{localStorage.setItem(Se,t)}catch{}},[t]),(0,S.jsx)(we.Provider,{value:{locale:t,setLocale:n,t:(e,n)=>Te(be[t][e]??ye[e]??e,n)},children:e})}function De(){let e=(0,_.useContext)(we);if(!e)throw Error(`useI18n must be used within LanguageProvider`);return e}function Oe(){return De().t}function ke({k:e,cmd:t,vars:n}){let{t:r}=De(),[i,a=``]=r(e,n).split(`{cmd}`);return(0,S.jsxs)(S.Fragment,{children:[i,(0,S.jsx)(`code`,{className:`chip`,children:t}),a]})}function Ae(e){return e<1e4?String(e):e<1e6?`${(e/1e3).toFixed(1)}K`:`${(e/1e6).toFixed(2)}M`}var je=[`gpt-5.4-mini`,`gpt-5.4`,`gpt-5.5`,`gpt-5.3-codex-spark`],Me=[`low`,`medium`,`high`];function Ne({apiBase:e}){let{locale:t,t:n}=De(),[r,i]=(0,_.useState)(null),[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(null),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)(null),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(!1),[x,C]=(0,_.useState)(!1),[w,T]=(0,_.useState)(!1);(0,_.useEffect)(()=>{let t=async()=>{try{let[t,n,r,a,s]=await Promise.all([fetch(`${e}/healthz`),fetch(`${e}/api/providers`),fetch(`${e}/api/settings`),fetch(`${e}/api/sidecar-settings`),fetch(`${e}/api/usage?range=30d`)]);i(await t.json()),o(await n.json()),u(await r.json()),f(await a.json());try{m(s.ok?await s.json():null)}catch{m(null)}T(!1)}catch{T(!0)}};t();let n=setInterval(t,5e3);return()=>clearInterval(n)},[e]),(0,_.useEffect)(()=>{w||(y(!0),fetch(`${e}/api/models`).then(e=>e.json()).then(e=>{c(e),y(!1)}).catch(()=>y(!1)))},[e,w]);let E=(0,_.useMemo)(()=>{let e={};for(let t of s)(e[t.provider]??=[]).push(t);return Object.entries(e).sort(([e],[t])=>e.localeCompare(t))},[s]);if(w)return(0,S.jsxs)(`div`,{className:`empty`,style:{marginTop:40},children:[(0,S.jsx)(se,{}),(0,S.jsx)(`div`,{className:`title`,style:{color:`var(--red)`},children:n(`dash.cannotConnect`)}),(0,S.jsx)(`div`,{style:{fontSize:13},children:(0,S.jsx)(ke,{k:`dash.runStart`,cmd:`ocx start`})})]});let ee=r?.status===`ok`,D=async t=>{if(!d||h)return;let n={webSearch:{...d.webSearch,...t.webSearch},vision:{...d.vision,...t.vision}};g(!0),f(n);try{let t=await fetch(`${e}/api/sidecar-settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)});if(!t.ok)throw Error(`save failed`);let r=await t.json();f({webSearch:r.webSearch,vision:r.vision})}catch{f(d)}finally{g(!1)}};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`div`,{className:`page-head`,children:(0,S.jsx)(`h2`,{children:n(`nav.dashboard`)})}),(0,S.jsx)(`p`,{className:`page-sub`,children:n(`dash.subtitle`)}),(0,S.jsxs)(`div`,{className:`stat-row`,children:[(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`label`,children:n(`dash.status`)}),(0,S.jsxs)(`div`,{className:`value`,style:{display:`flex`,alignItems:`center`,gap:9,color:ee?`var(--green)`:`var(--red)`},children:[(0,S.jsx)(`span`,{className:`dot ${ee?`dot-green`:`dot-red`}`}),n(ee?`dash.online`:`dash.offline`)]})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`label`,children:n(`dash.version`)}),(0,S.jsx)(`div`,{className:`value mono`,children:r?.version??`—`})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`label`,children:n(`dash.uptime`)}),(0,S.jsx)(`div`,{className:`value mono`,children:r?b(r.uptime,t):`—`})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`label`,children:n(`dash.providers`)}),(0,S.jsx)(`div`,{className:`value`,children:a.length})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`label`,children:n(`dash.tokens30d`)}),(0,S.jsx)(`div`,{className:`value mono`,children:p&&p.summary.requests>0?Ae(p.summary.totalTokens):`—`}),p&&p.summary.requests>0&&(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:12,marginTop:2},children:n(`dash.coverage`).replace(`{pct}`,`${Math.round(p.summary.coverageRatio*100)}%`)})]})]}),(0,S.jsx)(`div`,{className:`panel`,style:{marginBottom:24},children:(0,S.jsxs)(`div`,{className:`spread`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{style:{fontWeight:650},children:n(`dash.codexAutoStart`)}),(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:13,marginTop:3},children:n(`dash.codexAutoStartHint`)})]}),(0,S.jsx)(`button`,{className:`switch ${l?.codexAutoStart??!0?`on`:``}`,onClick:async()=>{if(!l||x)return;let t=!l.codexAutoStart;C(!0),u({...l,codexAutoStart:t});try{let n=await fetch(`${e}/api/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({codexAutoStart:t})});if(!n.ok)throw Error(`save failed`);let r=await n.json();u(e=>e&&{...e,codexAutoStart:r.codexAutoStart})}catch{u(e=>e&&{...e,codexAutoStart:!t}),T(!0)}finally{C(!1)}},disabled:!l||x,"aria-label":n(`dash.codexAutoStart`),"aria-pressed":l?.codexAutoStart??!0,children:(0,S.jsx)(`span`,{className:`knob`})})]})}),(0,S.jsx)(`div`,{className:`panel`,style:{marginBottom:12},children:(0,S.jsxs)(`div`,{className:`spread`,style:{alignItems:`flex-start`},children:[(0,S.jsxs)(`div`,{style:{flex:1},children:[(0,S.jsx)(`div`,{style:{fontWeight:650},children:n(`dash.searchModel`)}),(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:13,marginTop:3},children:n(`dash.searchModelHint`)})]}),(0,S.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,S.jsx)(`select`,{className:`select-sm`,value:d?.webSearch.model??`gpt-5.4-mini`,disabled:!d||h,onChange:e=>D({webSearch:{model:e.target.value,reasoning:d.webSearch.reasoning}}),children:je.map(e=>(0,S.jsx)(`option`,{value:e,children:e},e))}),(0,S.jsx)(`select`,{className:`select-sm`,value:d?.webSearch.reasoning??`low`,disabled:!d||h,onChange:e=>D({webSearch:{model:d.webSearch.model,reasoning:e.target.value}}),children:Me.map(e=>(0,S.jsx)(`option`,{value:e,children:e},e))})]})]})}),(0,S.jsx)(`div`,{className:`panel`,style:{marginBottom:24},children:(0,S.jsxs)(`div`,{className:`spread`,children:[(0,S.jsxs)(`div`,{style:{flex:1},children:[(0,S.jsx)(`div`,{style:{fontWeight:650},children:n(`dash.visionModel`)}),(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:13,marginTop:3},children:n(`dash.visionModelHint`)})]}),(0,S.jsx)(`select`,{className:`select-sm`,value:d?.vision.model??`gpt-5.4-mini`,disabled:!d||h,onChange:e=>D({vision:{model:e.target.value}}),children:je.map(e=>(0,S.jsx)(`option`,{value:e,children:e},e))})]})}),(0,S.jsxs)(`div`,{className:`h-section`,children:[n(`dash.activeProviders`),` `,(0,S.jsx)(`span`,{className:`count`,children:a.length})]}),a.length===0?(0,S.jsx)(`div`,{className:`empty`,children:(0,S.jsx)(ke,{k:`dash.noProviders`,cmd:`ocx init`})}):(0,S.jsx)(`div`,{className:`tbl-wrap`,children:(0,S.jsxs)(`table`,{className:`tbl`,children:[(0,S.jsx)(`thead`,{children:(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`th`,{children:n(`dash.col.name`)}),(0,S.jsx)(`th`,{children:n(`dash.col.adapter`)}),(0,S.jsx)(`th`,{children:n(`dash.col.baseUrl`)}),(0,S.jsx)(`th`,{children:n(`dash.col.model`)})]})}),(0,S.jsx)(`tbody`,{children:a.map(e=>(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`td`,{style:{fontWeight:600},children:e.name}),(0,S.jsx)(`td`,{children:(0,S.jsx)(`span`,{className:`chip`,children:e.adapter})}),(0,S.jsx)(`td`,{className:`muted mono`,style:{fontSize:12},children:e.baseUrl}),(0,S.jsx)(`td`,{className:`muted`,children:e.defaultModel??`—`})]},e.name))})]})}),(0,S.jsxs)(`div`,{className:`h-section`,children:[n(`dash.availableModels`),` `,(0,S.jsx)(`span`,{className:`count`,children:s.length}),v&&(0,S.jsx)(`span`,{className:`spin`,style:{marginLeft:4}})]}),s.length===0&&!v?(0,S.jsx)(`div`,{className:`empty`,children:n(`dash.noModels`)}):(0,S.jsx)(`div`,{className:`stack`,style:{gap:16},children:E.map(([e,t])=>(0,S.jsxs)(`div`,{className:`model-group`,children:[(0,S.jsxs)(`div`,{className:`model-group-head`,children:[e,(0,S.jsx)(`span`,{className:`count`,children:t.length})]}),(0,S.jsx)(`div`,{className:`model-grid`,children:t.map(e=>(0,S.jsx)(`div`,{className:`model-card`,children:(0,S.jsx)(`div`,{className:`id`,children:e.id})},`${e.provider}/${e.id}`))})]},e))})]})}var Pe=[{id:`custom`,label:`Custom provider`,adapter:`openai-chat`,baseUrl:``,auth:`key`}];function Fe({apiBase:e,existingNames:t,onClose:n,onAdded:r}){let[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(!1),[f,p]=(0,_.useState)(``),[m,h]=(0,_.useState)([]),[g,v]=(0,_.useState)(!1),[y,b]=(0,_.useState)(``),[x,C]=(0,_.useState)(Pe),w=(0,_.useRef)(null),T=(0,_.useRef)(!0);(0,_.useEffect)(()=>{w.current?.focus()},[]),(0,_.useEffect)(()=>()=>{T.current=!1},[]),(0,_.useEffect)(()=>{let e=e=>{e.key===`Escape`&&n()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n]),(0,_.useEffect)(()=>{fetch(`${e}/api/oauth/providers`).then(e=>e.json()).then(e=>h(e.providers??[])).catch(()=>{})},[e]),(0,_.useEffect)(()=>{fetch(`${e}/api/provider-presets`).then(e=>e.json()).then(e=>{Array.isArray(e.providers)&&e.providers.length>0&&C(e.providers)}).catch(()=>{})},[e]);let E=(0,_.useMemo)(()=>{let e=i.trim().toLowerCase();return e?x.filter(t=>t.label.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)):x},[i,x]),ee=e=>{s(e),l({name:e.id===`custom`?``:e.id,adapter:e.adapter,baseUrl:e.baseUrl,authMode:e.auth,apiKey:``,defaultModel:e.defaultModel??``}),p(``),b(``)},D=()=>{s(null),l(null),p(``),b(``)},te=async()=>{if(!c)return;let t=c.name.trim();if(!t){p(`Provider name is required`);return}if(!c.baseUrl.trim()){p(`Base URL is required`);return}let n={adapter:c.adapter.trim(),baseUrl:c.baseUrl.trim()};c.authMode===`forward`?n.authMode=`forward`:c.apiKey.trim()&&(n.apiKey=c.apiKey.trim()),c.defaultModel.trim()&&(n.defaultModel=c.defaultModel.trim()),d(!0),p(``);try{let i=await fetch(`${e}/api/providers`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:t,provider:n})});if(!i.ok){p((await i.json().catch(()=>({}))).error||`Failed (${i.status})`);return}r(t)}catch{p(`Network error — is the proxy running?`)}finally{d(!1)}},ne=async t=>{v(!0),b(``);try{let n=await fetch(`${e}/api/oauth/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({provider:t})}),i=await n.json();if(!T.current)return;if(!n.ok){b(i.error===`unknown oauth provider`?`OAuth login for this provider arrives in the next update — use an API key for now.`:i.error||`Login failed to start`);return}i.url?(window.open(i.url,`_blank`),b(`Waiting for browser login…`)):b(i.instructions||`Logging in…`);for(let n=0;n<100;n++){if(await new Promise(e=>setTimeout(e,2e3)),!T.current)return;let n=await fetch(`${e}/api/oauth/status?provider=${t}`).then(e=>e.json()).catch(()=>null);if(!T.current)return;if(n?.loggedIn){r(t);return}if(n?.error){b(`Login error: ${n.error}`);return}}b(`Login timed out — try again.`)}catch{T.current&&b(`Network error — is the proxy running?`)}finally{T.current&&v(!1)}},ie=c?t.includes(c.name.trim())&&c.name.trim()!==``:!1,ae=o?.id===`custom`;return(0,S.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":`Add provider`,className:`modal-overlay`,onClick:n,children:(0,S.jsxs)(`div`,{className:`modal-card`,onClick:e=>e.stopPropagation(),children:[(0,S.jsxs)(`div`,{className:`modal-head`,children:[(0,S.jsx)(`h3`,{children:o?`Add: ${o.label}`:`Add provider`}),(0,S.jsx)(`button`,{className:`btn btn-ghost btn-icon`,"aria-label":`Close`,onClick:n,children:(0,S.jsx)(re,{})})]}),o?c&&(o.auth===`oauth`&&c.authMode===`oauth`?(0,S.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:14},children:[(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:13},children:o.note??`Log in with your account — no API key needed.`}),m.includes(o.oauthProvider??``)?(0,S.jsxs)(`button`,{className:`btn btn-primary`,onClick:()=>ne(o.oauthProvider),disabled:g,style:{width:`100%`,padding:`12px 16px`,fontSize:14},children:[(0,S.jsx)(fe,{}),g?`Waiting for browser…`:`Log in with ${o.label}`]}):(0,S.jsxs)(`div`,{style:{fontSize:13,color:`var(--amber)`,background:`var(--amber-soft)`,border:`1px solid var(--amber)`,borderRadius:`var(--radius-sm)`,padding:`10px 12px`},children:[`OAuth login for `,o.label,` arrives in the next update. Use an API key for now.`]}),y&&(0,S.jsx)(`div`,{style:{fontSize:12,color:/error|update|timed/.test(y)?`var(--amber)`:`var(--accent-hover)`},children:y}),(0,S.jsxs)(`div`,{style:{display:`flex`,gap:8,alignItems:`center`,marginTop:2},children:[(0,S.jsx)(`button`,{className:`link-btn`,onClick:()=>{l({...c,authMode:`key`}),b(``)},children:`Use an API key instead`}),(0,S.jsx)(`div`,{style:{flex:1}}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:D,children:`Back`})]})]}):(0,S.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:10},children:[!ae&&o.note&&(0,S.jsxs)(`details`,{className:`setup-guide`,children:[(0,S.jsx)(`summary`,{children:`Setup guide`}),(0,S.jsxs)(`ol`,{style:{margin:`8px 0 0`,paddingLeft:18,fontSize:12,color:`var(--muted)`,lineHeight:1.7},children:[(0,S.jsxs)(`li`,{children:[`Go to `,(0,S.jsxs)(`a`,{href:o.dashboardUrl,target:`_blank`,rel:`noreferrer`,children:[o.label,` dashboard`]}),` and copy your API key`]}),(0,S.jsx)(`li`,{children:`Paste it in the API key field below`}),(0,S.jsx)(`li`,{children:`Click Add provider — models are auto-discovered`})]}),o.note&&(0,S.jsx)(`div`,{style:{fontSize:12,color:`var(--muted)`,marginTop:6,fontStyle:`italic`},children:o.note})]}),(0,S.jsx)(Ie,{label:`Provider name`,children:(0,S.jsx)(`input`,{className:`input`,value:c.name,onChange:e=>l({...c,name:e.target.value}),placeholder:`e.g. openrouter`})}),ie&&(0,S.jsxs)(`div`,{style:{fontSize:12,color:`var(--amber)`},children:[`Provider "`,c.name.trim(),`" exists and will be overwritten.`]}),(0,S.jsx)(Ie,{label:`Adapter`,children:(0,S.jsx)(`select`,{className:`input`,value:c.adapter,onChange:e=>l({...c,adapter:e.target.value}),children:[`openai-responses`,`openai-chat`,`anthropic`,`google`,`azure-openai`].map(e=>(0,S.jsx)(`option`,{value:e,children:e},e))})}),(0,S.jsx)(Ie,{label:`Base URL`,children:(0,S.jsx)(`input`,{className:`input`,value:c.baseUrl,onChange:e=>l({...c,baseUrl:e.target.value}),placeholder:`https://...`})}),c.authMode===`forward`?(0,S.jsxs)(`div`,{style:{fontSize:12,color:`var(--green)`,background:`var(--green-soft)`,border:`1px solid var(--green)`,borderRadius:`var(--radius-sm)`,padding:`8px 10px`},children:[`No key needed — the proxy forwards your `,(0,S.jsx)(`code`,{className:`chip`,children:`codex login`}),` credentials to this provider.`]}):(0,S.jsxs)(S.Fragment,{children:[o.dashboardUrl&&(0,S.jsxs)(`a`,{href:o.dashboardUrl,target:`_blank`,rel:`noreferrer`,style:{fontSize:12,display:`inline-flex`,alignItems:`center`,gap:5},children:[(0,S.jsx)(j,{style:{width:14,height:14}}),`Get your `,o.label,` API key`,(0,S.jsx)(A,{style:{width:13,height:13}})]}),(0,S.jsx)(Ie,{label:`API key`,children:(0,S.jsx)(`input`,{className:`input`,type:`password`,value:c.apiKey,onChange:e=>l({...c,apiKey:e.target.value}),placeholder:`sk-… (or $ENV_VAR)`})})]}),(0,S.jsx)(Ie,{label:`Default model (optional)`,children:(0,S.jsx)(`input`,{className:`input`,value:c.defaultModel,onChange:e=>l({...c,defaultModel:e.target.value}),placeholder:`e.g. gpt-5.5`})}),f&&(0,S.jsx)(`div`,{role:`alert`,style:{fontSize:13,color:`var(--red)`},children:f}),(0,S.jsxs)(`div`,{style:{display:`flex`,gap:8,marginTop:4,alignItems:`center`},children:[(0,S.jsx)(`button`,{className:`btn btn-primary`,onClick:te,disabled:u,children:u?`Adding…`:`Add provider`}),o.auth===`oauth`&&(0,S.jsx)(`button`,{className:`link-btn`,onClick:()=>{l({...c,authMode:`oauth`}),p(``)},children:`← Use OAuth login`}),(0,S.jsx)(`div`,{style:{flex:1}}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:D,children:`Back`})]})]})):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`input`,{ref:w,className:`input`,value:i,onChange:e=>a(e.target.value),placeholder:`Search providers…`}),(0,S.jsxs)(`div`,{style:{marginTop:12,maxHeight:360,overflowY:`auto`,display:`flex`,flexDirection:`column`,gap:6},children:[E.map(e=>(0,S.jsxs)(`button`,{className:`list-row`,onClick:()=>ee(e),children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{className:`title`,children:e.label}),(0,S.jsxs)(`div`,{className:`sub`,children:[(0,S.jsx)(`code`,{className:`chip`,children:e.adapter}),e.note?` · ${e.note}`:``]})]}),e.auth===`oauth`?(0,S.jsx)(`span`,{className:`badge badge-accent`,children:`OAuth`}):e.auth===`forward`?(0,S.jsx)(`span`,{className:`badge badge-green`,children:`Codex login`}):(0,S.jsx)(`span`,{className:`badge badge-muted`,children:`API key`})]},e.id)),E.length===0&&(0,S.jsx)(`div`,{className:`muted`,style:{fontSize:13,padding:8},children:`No match.`})]})]})]})})}function Ie({label:e,children:t}){return(0,S.jsxs)(`label`,{style:{display:`block`},children:[(0,S.jsx)(`span`,{className:`field-label`,children:e}),t]})}function Le({on:e,onClick:t,disabled:n,label:r}){return(0,S.jsx)(`button`,{type:`button`,className:`switch${e?` on`:``}`,onClick:t,disabled:n,"aria-pressed":e,"aria-label":r??(e?`enabled`:`disabled`),children:(0,S.jsx)(`span`,{className:`knob`})})}function Re({tone:e,children:t}){return(0,S.jsxs)(`div`,{className:`notice ${e===`ok`?`notice-ok`:`notice-err`}`,role:`status`,children:[e===`ok`?(0,S.jsx)(ne,{}):(0,S.jsx)(se,{}),(0,S.jsx)(`span`,{children:t})]})}var ze={xai:`xAI (Grok)`,anthropic:`Anthropic (Claude)`,kimi:`Kimi (Moonshot)`},Be=e=>ze[e]??e;function Ve({apiBase:e}){let t=Oe(),[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(!1),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(``),[f,p]=(0,_.useState)(!1),[m,h]=(0,_.useState)([]),[g,v]=(0,_.useState)({}),[y,b]=(0,_.useState)(null),[x,C]=(0,_.useState)(null),w=(0,_.useRef)(!0),T=(e,t)=>{d(e),p(t)};(0,_.useEffect)(()=>(w.current=!0,()=>{w.current=!1}),[]);let E=async()=>{try{let t=await(await fetch(`${e}/api/config`)).json();r(t),l(JSON.stringify(t,null,2))}catch{T(t(`prov.loadConfigFail`),!1)}},ee=async()=>{try{let t=(await fetch(`${e}/api/oauth/providers`).then(e=>e.json())).providers??[];h(t);let n=await Promise.all(t.map(async t=>[t,await fetch(`${e}/api/oauth/status?provider=${t}`).then(e=>e.json()).catch(()=>({loggedIn:!1}))]));v(Object.fromEntries(n))}catch{}};(0,_.useEffect)(()=>{E(),ee()},[e]);let D=async()=>{try{let n=JSON.parse(c);(await fetch(`${e}/api/config`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})).ok?(T(t(`prov.saved`),!0),a(!1),E()):T(t(`prov.saveFailed`),!1)}catch{T(t(`prov.invalidJson`),!1)}},te=async n=>{b(n),d(``),C(null);try{let r=await fetch(`${e}/api/oauth/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({provider:n})}),i=await r.json();if(!r.ok){T(i.error||t(`prov.loginFailStart`,{provider:Be(n)}),!1);return}(i.url||i.instructions)&&C({provider:n,url:i.url,instructions:i.instructions});for(let r=0;r<150&&w.current;r++){await new Promise(e=>setTimeout(e,2e3));let r=await fetch(`${e}/api/oauth/status?provider=${n}`).then(e=>e.json()).catch(()=>null);if(r){if(r.loggedIn){v(e=>({...e,[n]:r})),T(t(`prov.loginOk`,{provider:Be(n),cmd:`ocx sync`}),!0),C(null),E();break}if(r.error){v(e=>({...e,[n]:r})),T(t(`prov.loginError`,{provider:Be(n),error:r.error}),!1);break}}}}catch{T(t(`prov.loginRequestFail`,{provider:Be(n)}),!1)}finally{w.current&&b(null)}},ne=async n=>{await fetch(`${e}/api/oauth/logout?provider=${n}`,{method:`POST`}).catch(()=>{}),v(e=>({...e,[n]:{loggedIn:!1}})),T(t(`prov.logoutOk`,{provider:Be(n)}),!0),E()},re=async n=>{window.confirm(t(`prov.removeConfirm`,{name:n}))&&((await fetch(`${e}/api/providers?name=${encodeURIComponent(n)}`,{method:`DELETE`})).ok?(T(t(`prov.removed`,{name:n}),!0),E(),ee()):T(t(`prov.removeFail`,{name:n}),!1))};return n?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`page-head`,children:[(0,S.jsx)(`h2`,{children:t(`nav.providers`)}),(0,S.jsx)(`div`,{className:`row`,children:i?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`button`,{className:`btn btn-primary`,onClick:D,children:t(`common.save`)}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:()=>{a(!1),l(JSON.stringify(n,null,2))},children:t(`common.cancel`)})]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`button`,{className:`btn btn-primary`,onClick:()=>s(!0),children:[(0,S.jsx)(ie,{}),t(`prov.add`)]}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:()=>a(!0),children:t(`prov.editJson`)})]})})]}),(0,S.jsx)(`p`,{className:`page-sub`,children:t(`prov.subtitle`)}),u&&(0,S.jsx)(Re,{tone:f?`ok`:`err`,children:u}),(0,S.jsxs)(`div`,{className:`panel panel-accent`,style:{marginBottom:18},children:[(0,S.jsxs)(`div`,{className:`row`,style:{marginBottom:14},children:[(0,S.jsx)(fe,{style:{width:16,height:16,color:`var(--accent)`}}),(0,S.jsx)(`span`,{style:{fontWeight:600},children:t(`prov.accountLogin`)})]}),(0,S.jsxs)(`div`,{className:`stack`,style:{gap:12},children:[m.length===0&&(0,S.jsx)(`span`,{className:`muted`,style:{fontSize:13},children:t(`prov.noOauth`)}),m.map(e=>{let n=g[e]??{loggedIn:!1},r=y===e;return(0,S.jsxs)(`div`,{className:`row`,style:{flexWrap:`wrap`},children:[(0,S.jsxs)(`span`,{style:{fontSize:13,minWidth:170,display:`inline-flex`,alignItems:`center`,gap:8},children:[(0,S.jsx)(`span`,{style:{fontWeight:600},children:Be(e)}),n.loggedIn?(0,S.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:6,color:`var(--green)`},children:[(0,S.jsx)(`span`,{className:`dot dot-green`}),t(`prov.loggedIn`),n.email?` (${n.email})`:``]}):(0,S.jsx)(`span`,{className:`muted`,children:t(`prov.notLoggedIn`)})]}),n.loggedIn?(0,S.jsx)(`button`,{className:`btn btn-ghost btn-sm`,onClick:()=>ne(e),children:t(`prov.logout`)}):(0,S.jsx)(`button`,{className:`btn btn-primary btn-sm`,onClick:()=>te(e),disabled:r,children:r?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`span`,{className:`spin`}),t(`prov.waitingBrowser`)]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(fe,{}),t(`prov.loginWith`,{provider:Be(e)})]})}),x?.provider===e&&(x.url||x.instructions)&&(0,S.jsxs)(`span`,{className:`muted`,style:{fontSize:12,display:`inline-flex`,alignItems:`center`,gap:8},children:[x.url&&(0,S.jsxs)(`a`,{href:x.url,target:`_blank`,rel:`noreferrer`,className:`link-btn`,style:{display:`inline-flex`,alignItems:`center`,gap:5},children:[(0,S.jsx)(A,{}),t(`prov.didntOpen`)]}),x.instructions&&(0,S.jsx)(`span`,{children:x.instructions})]})]},e)})]})]}),i?(0,S.jsx)(`textarea`,{className:`input`,value:c,onChange:e=>l(e.target.value),style:{height:400}}):(0,S.jsxs)(`div`,{className:`stack`,style:{gap:8},children:[(0,S.jsxs)(`div`,{className:`muted`,style:{fontSize:13,marginBottom:4},children:[t(`prov.port`),`: `,(0,S.jsx)(`code`,{className:`chip`,children:n.port}),` · `,t(`prov.default`),`: `,(0,S.jsx)(`code`,{className:`chip`,children:n.defaultProvider})]}),Object.entries(n.providers).map(([e,n])=>(0,S.jsxs)(`div`,{className:`card prov-card`,children:[(0,S.jsxs)(`div`,{children:[(0,S.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:5},children:[(0,S.jsx)(`span`,{style:{fontWeight:600},children:e}),n.authMode===`oauth`&&(0,S.jsx)(`span`,{className:`badge badge-accent`,children:`oauth`}),n.authMode===`forward`&&(0,S.jsx)(`span`,{className:`badge badge-amber`,children:`passthrough`})]}),(0,S.jsxs)(`div`,{className:`muted`,style:{fontSize:13},children:[(0,S.jsx)(`code`,{className:`chip`,children:n.adapter}),` · `,n.baseUrl,n.defaultModel&&(0,S.jsxs)(S.Fragment,{children:[` · `,n.defaultModel]}),n.hasApiKey&&(0,S.jsxs)(S.Fragment,{children:[` · `,t(`prov.hasApiKey`)]}),n.hasHeaders&&(0,S.jsxs)(S.Fragment,{children:[` · `,t(`prov.hasHeaders`)]})]})]}),(0,S.jsxs)(`button`,{className:`btn btn-danger btn-sm`,onClick:()=>re(e),"aria-label":t(`sub.removeAria`,{m:e}),style:{flexShrink:0},children:[(0,S.jsx)(oe,{}),t(`common.remove`)]})]},e))]}),o&&(0,S.jsx)(Fe,{apiBase:e,existingNames:Object.keys(n.providers),onClose:()=>s(!1),onAdded:e=>{s(!1),T(t(`prov.added`,{name:e,cmd:`ocx sync`}),!0),E(),ee()}})]}):(0,S.jsx)(`div`,{className:`muted`,children:t(`prov.loadingConfig`)})}function He({apiBase:e}){let t=Oe(),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(new Set),[o,s]=(0,_.useState)(new Set),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(!1),[f,p]=(0,_.useState)(!0),[m,h]=(0,_.useState)(!1),g=(0,_.useRef)(!1),v=async()=>{try{let t=await fetch(`${e}/api/models`).then(e=>e.json());r(t),a(new Set(t.filter(e=>e.disabled).map(e=>e.namespaced)))}catch{d(!1),l(t(`models.loadFail`))}finally{p(!1)}};(0,_.useEffect)(()=>{v();let e=setInterval(()=>{g.current||v()},1e4);return()=>clearInterval(e)},[e]);let y=(0,_.useMemo)(()=>{let e={};for(let t of n)(e[t.provider]??=[]).push(t);return Object.entries(e).sort(([e],[t])=>e.localeCompare(t))},[n]),b=async n=>{h(!0),g.current=!0,l(``);try{(await fetch(`${e}/api/disabled-models`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:[...n]})})).ok?(a(n),d(!0),l(t(`models.applied`))):(d(!1),l(t(`models.saveFailed`)))}catch{d(!1),l(t(`models.networkError`))}finally{h(!1),g.current=!1}},x=e=>{let t=new Set(i);t.has(e)?t.delete(e):t.add(e),b(t)},C=(e,t)=>{let n=new Set(i);for(let r of e)t?n.delete(r.namespaced):n.add(r.namespaced);b(n)},w=e=>{s(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return f?(0,S.jsxs)(`div`,{className:`row muted`,children:[(0,S.jsx)(`span`,{className:`spin`}),` `,t(`models.loading`)]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`page-head`,children:[(0,S.jsx)(`h2`,{children:t(`nav.models`)}),(0,S.jsx)(`span`,{className:`muted mono`,style:{fontSize:12},children:t(`models.active`,{active:n.length-i.size,total:n.length})})]}),(0,S.jsx)(`p`,{className:`page-sub`,children:t(`models.subtitle`)}),c&&(0,S.jsx)(Re,{tone:u?`ok`:`err`,children:c}),y.map(([e,n])=>{let r=o.has(e),a=n.filter(e=>!i.has(e.namespaced)).length;return(0,S.jsxs)(`div`,{className:`card`,style:{marginBottom:8,overflow:`hidden`},children:[(0,S.jsxs)(`div`,{onClick:()=>w(e),className:`row`,style:{padding:`10px 12px`,background:`var(--raised)`,cursor:`pointer`},children:[(0,S.jsx)(le,{style:{width:14,height:14,color:`var(--muted)`,transform:r?`none`:`rotate(90deg)`,transition:`transform .12s`}}),(0,S.jsx)(`span`,{style:{fontWeight:600,fontSize:14},children:e}),(0,S.jsx)(`span`,{className:`muted mono`,style:{fontSize:12},children:t(`models.active`,{active:a,total:n.length})}),(0,S.jsx)(`div`,{style:{flex:1}}),(0,S.jsx)(`button`,{onClick:e=>{e.stopPropagation(),C(n,!0)},disabled:m,className:`btn btn-ghost btn-sm`,children:t(`models.allOn`)}),(0,S.jsx)(`button`,{onClick:e=>{e.stopPropagation(),C(n,!1)},disabled:m,className:`btn btn-ghost btn-sm`,children:t(`models.allOff`)})]}),!r&&(0,S.jsx)(`div`,{style:{padding:`6px 12px`},children:n.map(e=>{let t=i.has(e.namespaced);return(0,S.jsxs)(`div`,{className:`row`,style:{padding:`5px 0`},children:[(0,S.jsx)(Le,{on:!t,onClick:()=>x(e.namespaced),disabled:m,label:e.id}),(0,S.jsx)(`code`,{className:`mono`,style:{fontSize:13,color:t?`var(--faint)`:`var(--text)`,textDecoration:t?`line-through`:`none`},children:e.id})]},e.namespaced)})})]},e)}),y.length===0&&(0,S.jsxs)(`div`,{className:`empty`,children:[(0,S.jsx)(E,{}),(0,S.jsx)(`div`,{className:`title`,children:t(`models.noRouted`)}),(0,S.jsx)(`div`,{style:{fontSize:13},children:t(`models.noRoutedHint`)})]})]})}function Ue({apiBase:e}){let t=Oe(),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(!1),[f,p]=(0,_.useState)(!0),m=async()=>{try{let t=await fetch(`${e}/api/subagent-models`).then(e=>e.json()),n=t.available??[];r(n),a((t.chosen??[]).filter(e=>n.includes(e)))}catch{d(!1),l(t(`sub.loadFail`))}finally{p(!1)}};(0,_.useEffect)(()=>{m()},[e]);let h=e=>{l(``),a(t=>t.includes(e)?t.filter(t=>t!==e):t.length>=5?t:[...t,e])},g=(e,t)=>{a(n=>{let r=[...n],i=e+t;return i<0||i>=r.length?n:([r[e],r[i]]=[r[i],r[e]],r)})},v=async()=>{l(``);try{let n=await fetch(`${e}/api/subagent-models`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:i})}),r=await n.json();d(n.ok),l(n.ok?t(`sub.saved`,{n:r.applied?.length??0,cmd:`ocx sync`}):r.error||t(`sub.saveFailed`))}catch{d(!1),l(t(`sub.networkError`))}},y=(0,_.useMemo)(()=>{let e=o.trim().toLowerCase();return n.filter(t=>!e||t.toLowerCase().includes(e))},[n,o]);return f?(0,S.jsx)(`div`,{className:`muted`,style:{padding:8},children:t(`sub.loading`)}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`div`,{className:`page-head`,children:(0,S.jsx)(`h2`,{children:t(`nav.subagents`)})}),(0,S.jsx)(`p`,{className:`page-sub`,children:(0,S.jsx)(ke,{k:`sub.subtitle`,cmd:`spawn_agent`})}),c&&(0,S.jsx)(Re,{tone:u?`ok`:`err`,children:c}),(0,S.jsxs)(`div`,{className:`h-section`,children:[t(`sub.featured`),` `,(0,S.jsxs)(`span`,{className:`count`,children:[i.length,`/5`]})]}),i.length===0?(0,S.jsx)(`div`,{className:`empty`,children:t(`sub.noneSelected`)}):(0,S.jsx)(`div`,{className:`stack`,style:{gap:8},children:i.map((e,n)=>(0,S.jsxs)(`div`,{className:`card panel-accent row`,style:{padding:`8px 12px`,gap:10},children:[(0,S.jsx)(`span`,{className:`mono`,style:{width:18,color:`var(--accent)`,fontWeight:700},children:n+1}),(0,S.jsx)(`code`,{className:`mono`,style:{flex:1,color:`var(--text)`},children:e}),(0,S.jsx)(`button`,{className:`btn btn-ghost btn-icon btn-sm`,onClick:()=>g(n,-1),disabled:n===0,"aria-label":t(`sub.moveUp`,{m:e}),children:(0,S.jsx)(k,{})}),(0,S.jsx)(`button`,{className:`btn btn-ghost btn-icon btn-sm`,onClick:()=>g(n,1),disabled:n===i.length-1,"aria-label":t(`sub.moveDown`,{m:e}),children:(0,S.jsx)(ce,{})}),(0,S.jsx)(`button`,{className:`btn btn-ghost btn-icon btn-sm`,onClick:()=>h(e),"aria-label":t(`sub.removeAria`,{m:e}),style:{color:`var(--red)`},children:(0,S.jsx)(re,{})})]},e))}),(0,S.jsx)(`div`,{style:{marginTop:14},children:(0,S.jsx)(`button`,{className:`btn btn-primary`,onClick:v,children:t(`common.save`)})}),(0,S.jsxs)(`div`,{className:`h-section`,children:[t(`sub.models`),` `,(0,S.jsx)(`span`,{className:`count`,children:y.length})]}),(0,S.jsxs)(`div`,{style:{position:`relative`,marginBottom:10},children:[(0,S.jsx)(O,{style:{position:`absolute`,left:11,top:`50%`,transform:`translateY(-50%)`,width:15,height:15,color:`var(--faint)`,pointerEvents:`none`}}),(0,S.jsx)(`input`,{className:`input`,value:o,onChange:e=>s(e.target.value),placeholder:t(`sub.search`),style:{paddingLeft:34}})]}),(0,S.jsxs)(`div`,{className:`stack`,style:{gap:6,maxHeight:360,overflowY:`auto`},children:[y.map(e=>{let t=i.includes(e),n=!t&&i.length>=5;return(0,S.jsxs)(`button`,{className:`card row`,onClick:()=>h(e),disabled:n,"aria-pressed":t,style:{padding:`9px 12px`,gap:10,width:`100%`,textAlign:`left`,cursor:n?`not-allowed`:`pointer`,opacity:n?.45:1,background:t?`var(--accent-soft)`:void 0,borderColor:t?`var(--accent-ring)`:void 0},children:[(0,S.jsx)(`span`,{style:{width:16,height:16,flexShrink:0,color:`var(--accent)`,display:`inline-flex`},children:t&&(0,S.jsx)(ne,{style:{width:16,height:16}})}),(0,S.jsx)(ee,{style:{width:15,height:15,color:`var(--faint)`,flexShrink:0}}),(0,S.jsx)(`code`,{className:`mono`,style:{color:`var(--text)`},children:e})]},e)}),y.length===0&&(0,S.jsx)(`div`,{className:`empty`,children:t(`sub.noModels`)})]})]})}function We(e){return e<1e4?String(e):`${(e/1e3).toFixed(1)}K`}function Ge(e){if(!e.usage)return;let t=[`in=${e.usage.inputTokens}`,`out=${e.usage.outputTokens}`];return typeof e.usage.cachedInputTokens==`number`&&t.push(`cached=${e.usage.cachedInputTokens}`),typeof e.usage.reasoningOutputTokens==`number`&&t.push(`reasoning=${e.usage.reasoningOutputTokens}`),t.join(` · `)}function Ke(e){if(typeof e.totalTokens==`number`)return e.totalTokens;if(e.usage)return e.usage.inputTokens+e.usage.outputTokens}function qe(e){if(e.requestedSpeedLabel)return e.requestedSpeedLabel;if(e.modelSupportsServiceTier&&e.configuredSpeedLabel)return e.configuredSpeedLabel}function Je(e){return[`model=${e.model}`,e.resolvedModel?`resolved=${e.resolvedModel}`:void 0,e.requestedServiceTier?`requestedTier=${e.requestedServiceTier}`:void 0,e.configuredServiceTier?`configuredTier=${e.configuredServiceTier}`:void 0,e.responseServiceTier?`responseTier=${e.responseServiceTier}`:void 0,e.modelSupportsServiceTier===void 0?void 0:`supportsTier=${e.modelSupportsServiceTier}`].filter(Boolean).join(` · `)}function Ye({apiBase:e}){let{t,locale:n}=De(),[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(!0),s=xe.find(e=>e.code===n)?.htmlLang;(0,_.useEffect)(()=>{let t=async()=>{try{i(await(await fetch(`${e}/api/logs`)).json())}catch{}};if(t(),!a)return;let n=setInterval(t,2e3);return()=>clearInterval(n)},[e,a]);let c=e=>e>=200&&e<300?`var(--green)`:e>=400?`var(--red)`:`var(--amber)`;return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`page-head`,children:[(0,S.jsx)(`h2`,{children:t(`logs.title`)}),(0,S.jsxs)(`label`,{className:`muted`,style:{fontSize:13,cursor:`pointer`,display:`inline-flex`,alignItems:`center`,gap:6},children:[(0,S.jsx)(`input`,{type:`checkbox`,checked:a,onChange:e=>o(e.target.checked)}),t(`logs.autoRefresh`)]})]}),(0,S.jsx)(`p`,{className:`page-sub`,children:t(`logs.subtitle`)}),r.length===0?(0,S.jsx)(`div`,{className:`empty`,children:t(`logs.noRequests`)}):(0,S.jsx)(`div`,{className:`tbl-wrap`,children:(0,S.jsxs)(`table`,{className:`tbl`,children:[(0,S.jsx)(`thead`,{children:(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`th`,{children:t(`logs.col.time`)}),(0,S.jsx)(`th`,{children:t(`logs.col.request`)}),(0,S.jsx)(`th`,{children:t(`logs.col.model`)}),(0,S.jsx)(`th`,{children:t(`logs.col.effort`)}),(0,S.jsx)(`th`,{children:t(`logs.col.provider`)}),(0,S.jsx)(`th`,{children:t(`logs.col.status`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`logs.col.tokens`)}),(0,S.jsx)(`th`,{children:t(`logs.col.error`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`logs.col.duration`)})]})}),(0,S.jsx)(`tbody`,{children:[...r].reverse().map((e,n)=>(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`td`,{className:`muted mono`,children:new Date(e.timestamp).toLocaleTimeString(s)}),(0,S.jsx)(`td`,{className:`muted mono`,children:e.requestId??`-`}),(0,S.jsx)(`td`,{className:`mono`,title:Je(e),children:(0,S.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:6,flexWrap:`wrap`},children:[(0,S.jsx)(`span`,{children:e.resolvedModel??e.model}),qe(e)&&(0,S.jsx)(`span`,{className:`badge badge-amber`,children:qe(e)})]})}),(0,S.jsx)(`td`,{className:`mono`,children:e.requestedEffort??`-`}),(0,S.jsx)(`td`,{className:`muted`,children:e.provider}),(0,S.jsx)(`td`,{children:(0,S.jsx)(`span`,{className:`mono`,style:{color:c(e.status),fontWeight:600},children:e.status})}),(0,S.jsx)(`td`,{className:`num mono`,title:Ge(e),children:(()=>{let n=Ke(e);return n===void 0?(0,S.jsx)(`span`,{className:`muted`,children:t(`logs.tokens.${e.usageStatus??`unreported`}`)}):We(n)})()}),(0,S.jsx)(`td`,{className:`muted mono`,children:e.errorCode??`-`}),(0,S.jsxs)(`td`,{className:`num`,children:[e.durationMs,`ms`]})]},e.requestId??`${e.timestamp}-${n}`))})]})})]})}function Xe(e){return e<1e3||e<1e4?String(e):e<1e6?`${(e/1e3).toFixed(1)}K`:`${(e/1e6).toFixed(2)}M`}function Ze(e){return`${Math.round(e*100)}%`}function Qe(e){let t=e.filter(e=>e>0).sort((e,t)=>e-t);if(t.length===0)return[0,0,0,0];let n=e=>t[Math.min(t.length-1,Math.floor(e*t.length))];return[n(.25),n(.5),n(.75),n(.95)]}function $e(e,t){return e<=0?0:e<=t[0]?1:e<=t[1]?2:e<=t[2]?3:4}function et(e){let t=Qe(e.map(e=>e.requests)),n=new Map(e.map(e=>[e.date,e])),r=new Date;r.setHours(0,0,0,0);let i=new Date(r);i.setDate(i.getDate()-364),i.setDate(i.getDate()-i.getDay());let a=[],o=[],s=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],c=-4,l=-1,u=[],d=new Date(i);for(;d<=r;){let e=`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,`0`)}-${String(d.getDate()).padStart(2,`0`)}`,r=d.getMonth();d.getDay()===0&&r!==l&&a.length-c>=4&&(o.push({label:s[r],col:a.length}),c=a.length,l=r);let i=n.get(e);u.push({date:e,requests:i?.requests??0,totalTokens:i?.totalTokens??0,level:i?$e(i.requests,t):0,dayOfWeek:d.getDay()}),d.getDay()===6&&(a.push(u),u=[]),d.setDate(d.getDate()+1)}if(u.length>0){for(;u.length<7;)u.push({date:``,requests:0,totalTokens:0,level:0,dayOfWeek:u.length});a.push(u)}return{weeks:a,months:o,buckets:t}}function tt({apiBase:e}){let{t}=De(),[n,r]=(0,_.useState)(`30d`),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(!0),[c,l]=(0,_.useState)(``);(0,_.useEffect)(()=>{let t=!1;return s(!0),(async()=>{try{let r=await fetch(`${e}/api/usage?range=${n}`);if(!r.ok)throw Error(`fetch failed`);let i=await r.json();t||a(i)}catch{t||a(null)}finally{t||s(!1)}})(),()=>{t=!0}},[e,n]);let u=(0,_.useMemo)(()=>et(i?.days??[]),[i?.days]),d=(0,_.useMemo)(()=>(i?.days??[]).filter(e=>e.requests>0).length,[i?.days]),f=(0,_.useMemo)(()=>{let e=c.trim().toLowerCase(),t=i?.models??[];return e?t.filter(t=>t.model.toLowerCase().includes(e)||t.provider.toLowerCase().includes(e)||(t.resolvedModel??``).toLowerCase().includes(e)).slice(0,100):t.slice(0,100)},[i?.models,c]);return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`page-head`,children:[(0,S.jsx)(`h2`,{children:t(`usage.title`)}),(0,S.jsx)(`div`,{className:`usage-range`,role:`group`,"aria-label":t(`usage.title`),children:[`all`,`30d`,`7d`].map(e=>(0,S.jsx)(`button`,{type:`button`,className:`usage-range-btn${n===e?` active`:``}`,onClick:()=>r(e),children:t(`usage.range.${e}`)},e))})]}),(0,S.jsx)(`p`,{className:`page-sub`,children:t(`usage.subtitle`)}),o&&!i?(0,S.jsx)(`div`,{className:`empty`,children:t(`usage.loading`)}):!i||i.summary.requests===0?(0,S.jsx)(`div`,{className:`empty`,children:t(`usage.empty`)}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{className:`usage-cards`,children:[(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`usage.card.requests`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:i.summary.requests})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`usage.card.reported`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:i.summary.reportedRequests})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`usage.card.totalTokens`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:Xe(i.summary.totalTokens)})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`usage.card.coverage`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:Ze(i.summary.coverageRatio)})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`usage.card.activeDays`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:d})]})]}),(0,S.jsxs)(`section`,{className:`panel`,style:{marginTop:16},children:[(0,S.jsx)(`h3`,{className:`panel-title`,children:t(`usage.section.heatmap`)}),(0,S.jsxs)(`div`,{className:`heatmap`,children:[(0,S.jsxs)(`div`,{className:`heatmap-months`,style:{gridTemplateColumns:`28px repeat(${u.weeks.length}, 1fr)`},children:[(0,S.jsx)(`span`,{className:`heatmap-day-spacer`}),u.months.map((e,t)=>(0,S.jsx)(`span`,{className:`heatmap-month`,style:{gridColumn:e.col+2},children:e.label},t))]}),(0,S.jsxs)(`div`,{className:`heatmap-body`,children:[(0,S.jsxs)(`div`,{className:`heatmap-days`,children:[(0,S.jsx)(`span`,{}),(0,S.jsx)(`span`,{children:`Mon`}),(0,S.jsx)(`span`,{}),(0,S.jsx)(`span`,{children:`Wed`}),(0,S.jsx)(`span`,{}),(0,S.jsx)(`span`,{children:`Fri`}),(0,S.jsx)(`span`,{})]}),(0,S.jsx)(`div`,{className:`heatmap-grid`,style:{gridTemplateColumns:`repeat(${u.weeks.length}, 1fr)`},children:u.weeks.map((e,t)=>(0,S.jsx)(`div`,{className:`heatmap-week`,children:e.map((e,n)=>(0,S.jsx)(`div`,{className:`heatmap-cell heatmap-cell-${e.level}`,title:e.date?`${e.date}: ${e.requests} req · ${Xe(e.totalTokens)} tokens`:``},`${t}-${n}`))},t))})]}),(0,S.jsxs)(`div`,{className:`heatmap-legend muted`,children:[(0,S.jsx)(`span`,{children:t(`usage.heatmap.less`)}),[0,1,2,3,4].map(e=>(0,S.jsx)(`span`,{className:`heatmap-cell heatmap-cell-${e}`},e)),(0,S.jsx)(`span`,{children:t(`usage.heatmap.more`)})]})]})]}),(0,S.jsxs)(`section`,{className:`panel`,style:{marginTop:16},children:[(0,S.jsxs)(`div`,{className:`panel-head`,children:[(0,S.jsx)(`h3`,{className:`panel-title`,children:t(`usage.section.models`)}),(0,S.jsx)(`input`,{className:`input`,placeholder:t(`usage.search.models`),value:c,onChange:e=>l(e.target.value)})]}),(0,S.jsx)(`div`,{className:`tbl-wrap`,children:(0,S.jsxs)(`table`,{className:`tbl`,children:[(0,S.jsx)(`thead`,{children:(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`th`,{children:t(`logs.col.model`)}),(0,S.jsx)(`th`,{children:t(`logs.col.provider`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.requests`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.reported`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.tokens`)}),(0,S.jsx)(`th`,{children:t(`usage.col.share`)})]})}),(0,S.jsx)(`tbody`,{children:f.map(e=>(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`td`,{className:`mono`,children:e.resolvedModel??e.model}),(0,S.jsx)(`td`,{className:`muted`,children:e.provider}),(0,S.jsx)(`td`,{className:`num`,children:e.requests}),(0,S.jsx)(`td`,{className:`num`,children:e.reportedRequests}),(0,S.jsx)(`td`,{className:`num mono`,children:Xe(e.totalTokens)}),(0,S.jsx)(`td`,{children:(0,S.jsx)(`div`,{className:`usage-bar`,children:(0,S.jsx)(`div`,{className:`usage-bar-fill`,style:{width:`${Math.round(e.shareRatio*100)}%`}})})})]},`${e.provider}/${e.model}/${e.resolvedModel??``}`))})]})})]}),(0,S.jsxs)(`section`,{className:`panel`,style:{marginTop:16},children:[(0,S.jsx)(`h3`,{className:`panel-title`,children:t(`usage.section.providers`)}),(0,S.jsx)(`div`,{className:`tbl-wrap`,children:(0,S.jsxs)(`table`,{className:`tbl`,children:[(0,S.jsx)(`thead`,{children:(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`th`,{children:t(`logs.col.provider`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.requests`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.reported`)}),(0,S.jsx)(`th`,{className:`num`,children:t(`usage.col.tokens`)}),(0,S.jsx)(`th`,{children:t(`usage.col.share`)})]})}),(0,S.jsx)(`tbody`,{children:i.providers.map(e=>(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`td`,{className:`mono`,children:e.provider}),(0,S.jsx)(`td`,{className:`num`,children:e.requests}),(0,S.jsx)(`td`,{className:`num`,children:e.reportedRequests}),(0,S.jsx)(`td`,{className:`num mono`,children:Xe(e.totalTokens)}),(0,S.jsx)(`td`,{children:(0,S.jsx)(`div`,{className:`usage-bar`,children:(0,S.jsx)(`div`,{className:`usage-bar-fill`,style:{width:`${Math.round(e.shareRatio*100)}%`}})})})]},e.provider))})]})})]}),(0,S.jsxs)(`section`,{className:`panel`,style:{marginTop:16},children:[(0,S.jsx)(`h3`,{className:`panel-title`,children:t(`usage.section.coverage`)}),(0,S.jsxs)(`div`,{className:`usage-cards`,style:{gridTemplateColumns:`repeat(3, 1fr)`},children:[(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`logs.tokens.reported`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:i.summary.reportedRequests})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`logs.tokens.unreported`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:i.summary.unreportedRequests})]}),(0,S.jsxs)(`div`,{className:`stat`,children:[(0,S.jsx)(`div`,{className:`muted`,children:t(`logs.tokens.unsupported`)}),(0,S.jsx)(`div`,{className:`stat-value`,children:i.summary.unsupportedRequests})]})]}),(0,S.jsx)(`p`,{className:`muted`,style:{marginTop:12,fontSize:13},children:t(`usage.coverage.note`)})]})]})]})}function nt({apiBase:e,onClose:t,onAdded:n}){let r=Oe(),i=(0,_.useRef)(!0),a=(0,_.useRef)(null),o=(0,_.useRef)(null),s=(0,_.useRef)(null),c=(0,_.useRef)(null);(0,_.useEffect)(()=>()=>{i.current=!1,a.current&&=(clearInterval(a.current),null),o.current&&=(clearTimeout(o.current),null)},[]);let[l,u]=(0,_.useState)(`pick`),[d,f]=(0,_.useState)(``),[p,m]=(0,_.useState)(``),[h,g]=(0,_.useState)(``),[v,y]=(0,_.useState)(!1),b=()=>{a.current&&=(clearInterval(a.current),null),o.current&&=(clearTimeout(o.current),null)},x=async()=>{let t=s.current;s.current=null,c.current=null,g(``),b(),t&&await fetch(`${e}/api/codex-auth/login/cancel`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({flowId:t})}).catch(()=>{})},C=()=>{l===`oauth-waiting`&&x(),t()};return(0,_.useEffect)(()=>{let e=e=>{e.key===`Escape`&&C()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)}),(0,S.jsx)(`div`,{className:`modal-overlay`,onClick:C,children:(0,S.jsxs)(`div`,{className:`modal-card`,onClick:e=>e.stopPropagation(),style:{maxWidth:440},children:[l===`pick`&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`h3`,{style:{marginBottom:4},children:r(`codexAuth.addTitle`)}),(0,S.jsx)(`p`,{className:`modal-desc`,children:r(`codexAuth.addPickDesc`)}),(0,S.jsx)(`label`,{className:`field-label`,children:r(`codexAuth.addIdLabel`)}),(0,S.jsx)(`input`,{className:`input`,placeholder:`codex-work, codex-alt, team...`,value:d,onChange:e=>f(e.target.value),style:{marginBottom:12}}),(0,S.jsx)(`button`,{className:`list-row`,onClick:async()=>{m(``);try{let l=d.trim(),f=await fetch(`${e}/api/codex-auth/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(l?{id:l}:{})}),p=await f.json();if(f.status===409){m(r(`codexAuth.oauthAlreadyInProgress`));return}if(p.url){s.current=p.flowId??null,g(p.url),c.current=window.open(p.url,`_blank`),c.current&&(c.current.opener=null),u(`oauth-waiting`),b();let d=p.flowId??``,f=d?`${e}/api/codex-auth/login-status?flowId=${encodeURIComponent(d)}${l?`&accountId=${encodeURIComponent(l)}`:``}`:`${e}/api/codex-auth/login-status`;a.current=setInterval(async()=>{try{let e=await fetch(f).then(e=>e.json());e.status===`done`?(b(),s.current=null,c.current=null,n(),t()):e.status===`error`||e.status===`expired`?(b(),s.current=null,c.current=null,i.current&&(u(`pick`),m(e.error??`Login failed`))):c.current?.closed&&(await x(),i.current&&(u(`pick`),m(r(`codexAuth.oauthCancelled`))))}catch{}},2e3),o.current=setTimeout(()=>{a.current&&(x(),i.current&&(u(`pick`),m(r(`modal.loginTimeout`))))},3e5)}p.error&&!p.url&&m(p.error)}catch(e){m(String(e))}},style:{marginBottom:8},children:(0,S.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10},children:[(0,S.jsx)(ve,{width:20}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`div`,{className:`title`,children:r(`codexAuth.oauthLogin`)}),(0,S.jsx)(`div`,{className:`sub`,children:r(`codexAuth.oauthDesc`)})]})]})}),p&&(0,S.jsx)(`div`,{className:`notice notice-err`,style:{marginTop:8},children:p}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:C,style:{width:`100%`},children:r(`codexAuth.cancel`)})]}),l===`oauth-waiting`&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`h3`,{style:{marginBottom:4},children:r(`codexAuth.oauthLogin`)}),(0,S.jsx)(`p`,{className:`modal-desc`,children:r(`codexAuth.oauthWaiting`)}),(0,S.jsxs)(`button`,{className:`btn btn-ghost`,onClick:async()=>{if(h)try{if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(h);else{let e=document.createElement(`textarea`);e.value=h,e.style.position=`fixed`,e.style.opacity=`0`,document.body.appendChild(e),e.select(),document.execCommand(`copy`),document.body.removeChild(e)}y(!0),setTimeout(()=>{i.current&&y(!1)},2500)}catch{m(r(`codexAuth.loginLinkCopyFailed`))}},disabled:!h,style:{width:`100%`,justifyContent:`center`,marginTop:12},children:[(0,S.jsx)(me,{width:14}),` `,r(v?`codexAuth.loginLinkCopied`:`codexAuth.copyLoginLink`)]}),p&&(0,S.jsx)(`div`,{className:`notice notice-err`,style:{marginTop:12},children:p}),(0,S.jsx)(`div`,{style:{textAlign:`center`,padding:`24px 0`},children:(0,S.jsx)(`span`,{className:`spin`,style:{width:24,height:24}})}),(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:C,style:{width:`100%`},children:r(`codexAuth.cancel`)})]})]})})}function rt(e){let t=e?.trim().toLowerCase();return t===`go`||t===`free`}function it(e,t){return!e||!rt(t)?e:{...e.monthlyPercent===void 0?{}:{monthlyPercent:e.monthlyPercent},...e.monthlyResetAt===void 0?{}:{monthlyResetAt:e.monthlyResetAt},...e.resetCredits===void 0?{}:{resetCredits:e.resetCredits},updatedAt:e.updatedAt}}function at({apiBase:e}){let t=Oe(),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(80),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(!1),[f,p]=(0,_.useState)(``),[m,h]=(0,_.useState)(!1),[g,v]=(0,_.useState)(null),[y,b]=(0,_.useState)(!1),[x,C]=(0,_.useState)(!1),[w,T]=(0,_.useState)(null),[E,ee]=(0,_.useState)(!1),D=async(t=!1)=>{try{let[n,i]=await Promise.all([fetch(`${e}/api/codex-auth/accounts${t?`?refresh=1`:``}`).then(e=>e.json()),fetch(`${e}/api/codex-auth/active`).then(e=>e.json())]);return r(n.accounts??[]),a(i.activeCodexAccountId??null),s(i.autoSwitchThreshold??80),!0}catch{return!1}};(0,_.useEffect)(()=>{D();let e=setInterval(D,3e4);return()=>clearInterval(e)},[e]);let te=async r=>{await fetch(`${e}/api/codex-auth/active`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({accountId:r})}),a(r),l(null),p(t(`codexAuth.switched`,{email:r&&r!==`__main__`?n.find(e=>e.id===r)?.email??r:`main`})),setTimeout(()=>p(``),5e3)},ne=async n=>{window.confirm(t(`codexAuth.removeConfirm`,{id:n}))&&(await fetch(`${e}/api/codex-auth/accounts?id=${n}`,{method:`DELETE`}),D())},oe=async()=>{let t=o>0?0:80;await fetch(`${e}/api/codex-auth/auto-switch`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({threshold:t})}),s(t)},O=async()=>{h(!0);try{p(t(await D(!0)?`codexAuth.quotaRefreshed`:`codexAuth.quotaRefreshFailed`)),setTimeout(()=>p(``),5e3)}finally{h(!1)}},k=async t=>{v(t),b(!1),T(null),ee(!0);try{let n=await fetch(`${e}/api/codex-auth/reset-credits?accountId=${encodeURIComponent(t.id)}`);n.ok&&T(((await n.json()).credits??[]).sort((e,t)=>new Date(e.granted_at).getTime()-new Date(t.granted_at).getTime()))}catch{}finally{ee(!1)}},ce=async n=>{C(!0);try{let r=await fetch(`${e}/api/codex-auth/reset-credits/consume`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({accountId:n})});if(!r.ok){alert(t(`codexAuth.resetError`));return}let i=await r.json();if(i.code===`reset`||i.code===`already_redeemed`){let e=g?.quota?.resetCredits??1;v(null),b(!1),await D(!0),p(t(`codexAuth.resetSuccess`,{remaining:String(Math.max(0,e-1))})),setTimeout(()=>p(``),5e3)}else i.code===`nothing_to_reset`?alert(t(`codexAuth.resetNothingToReset`)):i.code===`no_credit`?alert(t(`codexAuth.resetNoCredit`)):alert(t(`codexAuth.resetError`))}catch{alert(t(`codexAuth.resetError`))}finally{C(!1)}},le=n.find(e=>e.isMain),ue=n.filter(e=>!e.isMain),de=e=>i===e,A=!i||i===`__main__`;return(0,S.jsxs)(`div`,{children:[(0,S.jsxs)(`div`,{className:`page-head`,children:[(0,S.jsx)(`h2`,{className:`page-title`,children:t(`nav.codexAuth`)}),(0,S.jsxs)(`button`,{className:`btn btn-sm btn-ghost`,onClick:O,disabled:m,children:[(0,S.jsx)(ae,{width:14}),` `,t(m?`codexAuth.refreshingQuota`:`codexAuth.refreshQuota`)]})]}),f&&(0,S.jsx)(Re,{tone:`ok`,children:f}),(0,S.jsxs)(`div`,{className:`card ${A?`card-active`:``}`,onClick:()=>A?void 0:l({id:`__main__`,email:le?.email??`Codex App`,plan:le?.plan,isMain:!0,hasCredential:!0,quota:le?.quota??null}),style:{cursor:A?`default`:`pointer`,marginBottom:12},children:[(0,S.jsxs)(`div`,{className:`card-head`,children:[(0,S.jsx)(`span`,{className:`dot dot-green`}),(0,S.jsx)(`strong`,{children:t(`codexAuth.mainAccount`)}),(0,S.jsxs)(`span`,{className:`card-badges`,children:[le&&(0,S.jsx)(dt,{account:{...le,id:`__main__`},onClick:()=>k({...le,id:`__main__`})}),(0,S.jsx)(`span`,{className:`badge ${A?`badge-primary`:`badge-muted`}`,children:t(A?`codexAuth.nextSession`:`codexAuth.current`)})]}),(0,S.jsxs)(`span`,{className:`card-right`,children:[(0,S.jsx)(fe,{width:14}),` `,t(`codexAuth.appLogin`)]})]}),(0,S.jsxs)(`div`,{className:`card-sub`,children:[le?.email??`Codex App login`,le?.plan?` · ${le.plan}`:``]}),le?.quota&&(0,S.jsx)(ot,{quota:le.quota,plan:le.plan,threshold:o,t})]}),(0,S.jsxs)(`div`,{className:`section-sep`,children:[(0,S.jsx)(`span`,{className:`section-label`,children:t(`codexAuth.accountPool`)}),(0,S.jsx)(`div`,{className:`sep-line`}),(0,S.jsxs)(`button`,{className:`btn btn-sm btn-ghost`,onClick:()=>d(!0),children:[(0,S.jsx)(ie,{width:14}),` `,t(`codexAuth.add`)]})]}),ue.length===0&&(0,S.jsx)(`p`,{className:`empty`,children:t(`codexAuth.noPool`)}),ue.map(e=>(0,S.jsxs)(`div`,{className:`card ${de(e.id)?`card-active`:``}`,onClick:()=>!e.needsReauth&&l(e),style:{cursor:e.needsReauth?`default`:`pointer`,marginBottom:8},children:[(0,S.jsxs)(`div`,{className:`card-head`,children:[(0,S.jsx)(`span`,{className:`dot ${e.needsReauth?`dot-amber`:de(e.id)?`dot-blue`:`dot-muted`}`}),(0,S.jsx)(`strong`,{children:e.email}),(0,S.jsxs)(`span`,{className:`card-badges`,children:[e.plan&&(0,S.jsx)(`span`,{className:`badge badge-green`,children:e.plan}),(0,S.jsx)(dt,{account:e,onClick:()=>k(e)}),e.needsReauth&&(0,S.jsx)(`span`,{className:`badge badge-amber`,children:t(`codexAuth.needsReauth`)}),de(e.id)&&!e.needsReauth&&(0,S.jsx)(`span`,{className:`badge badge-primary`,children:t(`codexAuth.nextSession`)})]}),(0,S.jsx)(`button`,{className:`btn-icon btn-icon-danger card-right`,"aria-label":t(`common.remove`),onClick:t=>{t.stopPropagation(),ne(e.id)},children:(0,S.jsx)(re,{width:14})})]}),e.needsReauth?(0,S.jsx)(`div`,{className:`card-sub faint`,children:t(`codexAuth.tokenExpired`)}):(0,S.jsx)(ot,{quota:e.quota,plan:e.plan,threshold:o,t})]},e.id)),(0,S.jsxs)(`div`,{className:`card card-row`,style:{marginTop:16},children:[(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`strong`,{children:t(`codexAuth.autoSwitch`)}),(0,S.jsx)(`div`,{className:`card-sub`,children:t(`codexAuth.autoSwitchDesc`)})]}),(0,S.jsx)(`button`,{className:`toggle ${o>0?`on`:``}`,onClick:oe,children:(0,S.jsx)(`span`,{className:`toggle-knob`})})]}),c&&(0,S.jsx)(`div`,{className:`modal-overlay`,onClick:()=>l(null),children:(0,S.jsxs)(`div`,{className:`modal-card`,onClick:e=>e.stopPropagation(),children:[(0,S.jsx)(`h3`,{children:c.id===`__main__`?t(`codexAuth.switchBack`):t(`codexAuth.switchTitle`)}),(0,S.jsx)(`p`,{className:`modal-desc`,children:c.id===`__main__`?t(`codexAuth.switchBackDesc`):t(`codexAuth.switchDesc`)}),(0,S.jsxs)(`div`,{className:`card`,style:{margin:`12px 0`},children:[(0,S.jsx)(`strong`,{children:c.id===`__main__`?le?.email:c.email}),c.plan&&(0,S.jsx)(`span`,{className:`badge badge-green`,style:{marginLeft:8},children:c.plan})]}),c.id!==`__main__`&&(0,S.jsxs)(`div`,{className:`notice-warn`,children:[(0,S.jsx)(se,{width:14}),` `,t(`codexAuth.cacheWarning`)]}),(0,S.jsxs)(`div`,{className:`modal-actions`,children:[(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:()=>l(null),children:t(`codexAuth.cancel`)}),(0,S.jsx)(`button`,{className:`btn btn-primary`,onClick:()=>te(c.id===`__main__`?`__main__`:c.id),children:t(`codexAuth.setAsNext`)})]})]})}),g&&(0,S.jsx)(`div`,{className:`modal-overlay`,onClick:()=>{v(null),b(!1),T(null)},children:(0,S.jsx)(`div`,{className:`modal-card`,onClick:e=>e.stopPropagation(),children:y?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{style:{textAlign:`center`,padding:`12px 0`},children:[(0,S.jsx)(`div`,{className:`confirm-icon`,children:(0,S.jsx)(se,{width:22})}),(0,S.jsx)(`h3`,{children:t(`codexAuth.confirmResetTitle`)}),(0,S.jsx)(`p`,{className:`modal-desc`,children:t(`codexAuth.confirmResetDesc`,{count:String(g.quota?.resetCredits??0)})}),w&&w[0]&&(0,S.jsx)(`p`,{className:`faint`,style:{fontSize:12},children:t(`codexAuth.confirmWhichCredit`,{date:ct(w[0].granted_at)})}),(0,S.jsx)(`p`,{className:`faint`,style:{fontSize:12},children:t(`codexAuth.irreversible`)})]}),(0,S.jsxs)(`div`,{className:`modal-actions`,children:[(0,S.jsx)(`button`,{className:`btn btn-ghost`,onClick:()=>b(!1),children:t(`codexAuth.cancel`)}),(0,S.jsx)(`button`,{className:`btn btn-primary`,onClick:()=>ce(g.id),disabled:x,children:t(x?`codexAuth.redeeming`:`codexAuth.useCredit`)})]})]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`h3`,{children:[(0,S.jsx)(pe,{width:16}),` `,t(`codexAuth.resetCreditsTitle`)]}),(0,S.jsxs)(`div`,{className:`card-sub`,children:[g.email,g.plan?` · ${g.plan}`:``]}),(0,S.jsx)(`div`,{style:{margin:`16px 0`},children:(g.quota?.resetCredits??0)>0?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`p`,{style:{marginBottom:12},children:t(`codexAuth.resetCreditsAvailable`,{count:String(g.quota?.resetCredits??0)})}),E&&(0,S.jsx)(`p`,{className:`faint`,style:{fontSize:12},children:`Loading...`}),w&&w.length>0&&(0,S.jsx)(`div`,{className:`credit-list`,children:w.map((e,n)=>(0,S.jsx)(ut,{index:n,grantedAt:e.granted_at,expiresAt:e.expires_at,isNext:n===0,t},n))}),(0,S.jsx)(`button`,{className:`btn btn-primary`,style:{marginTop:12,width:`100%`},onClick:()=>b(!0),disabled:x,children:t(`codexAuth.useOneCredit`)}),(0,S.jsx)(`p`,{className:`card-sub`,style:{fontSize:11,marginTop:8,textAlign:`center`},children:t(`codexAuth.fifoNote`)})]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`p`,{className:`faint`,children:t(`codexAuth.noResetCredits`)}),(0,S.jsx)(`p`,{className:`modal-desc`,children:t(`codexAuth.earnCreditsHint`)})]})})]})})}),u&&(0,S.jsx)(nt,{apiBase:e,onClose:()=>d(!1),onAdded:()=>{D(),p(t(`codexAuth.accountAdded`)),setTimeout(()=>p(``),5e3)}})]})}function ot({quota:e,plan:t,threshold:n,t:r}){let i=it(e,t);if(!i)return null;let a=typeof i.fiveHourPercent==`number`,o=typeof i.weeklyPercent==`number`,s=typeof i.monthlyPercent==`number`;return!a&&!o&&!s?null:(0,S.jsxs)(`div`,{className:`quota-compact`,children:[a&&(0,S.jsx)(st,{label:r(`codexAuth.fiveHour`),percent:i.fiveHourPercent,resetAt:i.fiveHourResetAt,threshold:n,t:r}),o&&(0,S.jsx)(st,{label:r(`codexAuth.weekly`),percent:i.weeklyPercent,resetAt:i.weeklyResetAt,threshold:n,t:r}),s&&(0,S.jsx)(st,{label:r(`codexAuth.monthly`),percent:i.monthlyPercent,resetAt:i.monthlyResetAt,threshold:n,t:r})]})}function st({label:e,percent:t,resetAt:n,threshold:r,t:i}){let a=r>0&&t>=r?`bar-amber`:`bar-green`,o=pt(n,i);return(0,S.jsxs)(`div`,{className:`quota-row`,children:[(0,S.jsx)(`span`,{className:`quota-label`,children:e}),(0,S.jsx)(`span`,{className:`quota-reset-label`,children:i(`codexAuth.resets`)}),(0,S.jsx)(`span`,{className:`quota-reset-day`,children:o.day}),(0,S.jsx)(`span`,{className:`quota-reset-time`,children:o.time}),(0,S.jsx)(`div`,{className:`bar`,children:(0,S.jsx)(`div`,{className:`bar-fill ${a}`,style:{width:`${ft(t)}%`}})}),(0,S.jsxs)(`span`,{className:`quota-val`,children:[Math.round(t),`%`]})]})}function ct(e){let t=new Date(e);return new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`,year:`numeric`}).format(t)}function lt(e){return Math.max(0,Math.ceil((new Date(e).getTime()-Date.now())/864e5))}function ut({index:e,grantedAt:t,expiresAt:n,isNext:r,t:i}){let a=lt(n),o=a<=7;return(0,S.jsxs)(`div`,{className:`credit-item${r?` credit-next`:``}`,children:[(0,S.jsxs)(`div`,{className:`credit-item-head`,children:[(0,S.jsx)(pe,{width:13}),(0,S.jsx)(`span`,{className:`credit-item-label`,children:r?i(`codexAuth.creditNext`):i(`codexAuth.creditLabel`,{n:String(e+1)})}),r&&(0,S.jsx)(`span`,{className:`badge badge-amber`,style:{fontSize:10,padding:`1px 6px`},children:i(`codexAuth.creditNextBadge`)})]}),(0,S.jsxs)(`div`,{className:`credit-item-dates`,children:[(0,S.jsx)(`span`,{children:i(`codexAuth.creditGranted`,{date:ct(t)})}),(0,S.jsx)(`span`,{className:o?`credit-urgent`:``,children:i(`codexAuth.creditExpires`,{date:ct(n),days:String(a)})})]})]})}function dt({account:e,onClick:t}){let n=e.quota?.resetCredits;return n===void 0?null:(0,S.jsxs)(`button`,{type:`button`,className:`badge ${typeof n==`number`&&n>0?`badge-amber`:`badge-muted`} badge-clickable`,onClick:e=>{e.stopPropagation(),t()},"aria-label":`${n} reset credit(s)`,children:[(0,S.jsx)(pe,{width:12}),n]})}function ft(e){return Math.max(0,Math.min(100,Math.round(e)))}function pt(e,t){if(typeof e!=`number`||!Number.isFinite(e))return{day:``,time:``};let n=e<1e10?e*1e3:e,r=new Date(n),i=new Date,a=new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`,hour12:!1}).format(r);return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()&&r.getDate()===i.getDate()?{day:t(`codexAuth.today`),time:a}:{day:new Intl.DateTimeFormat(void 0,{month:`numeric`,day:`numeric`}).format(r),time:a}}var mt=`opencodex-api-token`,ht=!1,gt=null;function _t(e){try{let t=e instanceof Request?e.url:String(e);return new URL(t,window.location.href).pathname}catch{return null}}function vt(e){let t=_t(e);return!!t&&(t.startsWith(`/api/`)||t.startsWith(`/v1/`))}function yt(){try{return sessionStorage.getItem(mt)?.trim()||null}catch{return null}}function bt(e){try{sessionStorage.setItem(mt,e)}catch{}}function xt(){try{sessionStorage.removeItem(mt)}catch{}}function St(e,t,n){let r=new Headers(t?.headers??(e instanceof Request?e.headers:void 0));return r.set(`X-OpenCodex-API-Key`,n),e instanceof Request?[new Request(e,{headers:r}),t?{...t,headers:r}:void 0]:[e,{...t,headers:r}]}async function Ct(){return gt||(gt=Promise.resolve().then(()=>window.prompt(`OpenCodex API token`)?.trim()||null).finally(()=>{gt=null}),gt)}function wt(){if(ht)return;ht=!0;let e=window.fetch.bind(window);window.fetch=async(t,n)=>{if(!vt(t))return e(t,n);let r=yt(),[i,a]=r?St(t,n,r):[t,n],o=await e(i,a);if(o.status!==401)return o;r&&xt();let s=await Ct();if(!s)return o;bt(s);let[c,l]=St(t,n,s),u=await e(c,l);return u.status===401&&xt(),u}}wt();var Tt=new Set([`dashboard`,`providers`,`models`,`subagents`,`logs`,`usage`,`codex-auth`]);function M(){let e=location.hash.replace(/^#\/?/,``);return Tt.has(e)?e:`dashboard`}var Et=``,Dt=`ocx-theme`,Ot=[{id:`dashboard`,tkey:`nav.dashboard`,Icon:w},{id:`providers`,tkey:`nav.providers`,Icon:T},{id:`models`,tkey:`nav.models`,Icon:E},{id:`subagents`,tkey:`nav.subagents`,Icon:ee},{id:`logs`,tkey:`nav.logs`,Icon:D},{id:`usage`,tkey:`nav.usage`,Icon:te},{id:`codex-auth`,tkey:`nav.codexAuth`,Icon:j}],kt={light:he,dark:ge,system:_e},At={light:`theme.light`,dark:`theme.dark`,system:`theme.system`};function jt(e){if(!e||typeof e!=`object`||!(`version`in e))return null;let t=e.version;return typeof t==`string`&&t.length>0?t:null}function Mt(){let e=localStorage.getItem(Dt);return e===`light`||e===`dark`?e:`system`}function Nt(){let[e,t]=(0,_.useState)(M),n=e=>{location.hash=e,t(e)},[r,i]=(0,_.useState)(Mt),[a,o]=(0,_.useState)(null),{locale:s,setLocale:c}=De(),l=Oe();(0,_.useEffect)(()=>{let e=()=>t(M());return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)},[]),(0,_.useEffect)(()=>{let e=document.documentElement;r===`system`?(e.removeAttribute(`data-theme`),localStorage.removeItem(Dt)):(e.setAttribute(`data-theme`,r),localStorage.setItem(Dt,r))},[r]),(0,_.useEffect)(()=>{let e=!1,t=async()=>{try{let t=await fetch(`${Et}/healthz`);if(!t.ok)return;let n=jt(await t.json());!e&&n&&o(n)}catch{}};t();let n=setInterval(t,3e4);return()=>{e=!0,clearInterval(n)}},[]);let u=()=>i(e=>e===`light`?`dark`:e===`dark`?`system`:`light`),d=kt[r],f=a??`2.6.4`,p=xe.find(e=>e.code===s)?.name??`English`,m=()=>{let e=xe.map(e=>e.code);c(e[(e.indexOf(s)+1)%e.length])},[h,g]=(0,_.useState)(!1);return(0,S.jsxs)(`div`,{className:`app`,children:[(0,S.jsxs)(`aside`,{className:`sidebar`,children:[(0,S.jsxs)(`div`,{className:`brand`,children:[(0,S.jsx)(`span`,{className:`brand-logo`,role:`img`,"aria-label":`opencodex logo`}),(0,S.jsx)(`span`,{className:`name`,children:`opencodex`}),(0,S.jsxs)(`span`,{className:`ver`,children:[`v`,f]})]}),(0,S.jsx)(`nav`,{children:Ot.map(({id:t,tkey:r,Icon:i})=>(0,S.jsxs)(`button`,{className:`nav-item${e===t?` active`:``}`,"data-page":t,onClick:()=>n(t),"aria-current":e===t?`page`:void 0,children:[(0,S.jsx)(i,{}),` `,l(r)]},t))}),(0,S.jsxs)(`div`,{className:`sidebar-foot`,children:[(0,S.jsxs)(`button`,{type:`button`,className:`theme-toggle`,onClick:m,"aria-label":`${l(`lang.label`)}: ${p}`,title:`${l(`lang.label`)}: ${p}`,children:[(0,S.jsx)(ve,{}),` `,(0,S.jsx)(`span`,{className:`mode`,children:p})]}),(0,S.jsxs)(`button`,{type:`button`,className:`theme-toggle`,onClick:u,"aria-label":`${l(`theme.label`)}: ${l(At[r])}`,title:`${l(`theme.label`)}: ${l(At[r])}`,children:[(0,S.jsx)(d,{}),` `,(0,S.jsx)(`span`,{className:`mode`,children:l(At[r])})]}),(0,S.jsxs)(`button`,{type:`button`,className:`theme-toggle stop-toggle`,onClick:async()=>{if(confirm(l(`dash.stopConfirm`))){g(!0);try{await fetch(`${Et}/api/stop`,{method:`POST`})}catch{}}},disabled:h,"aria-label":l(`dash.stop`),title:l(`dash.stop`),children:[(0,S.jsx)(de,{}),` `,(0,S.jsx)(`span`,{className:`mode`,children:l(h?`dash.stopping`:`dash.stop`)})]}),(0,S.jsxs)(`a`,{className:`sidebar-link`,href:`https://github.com/lidge-jun/opencodex`,target:`_blank`,rel:`noreferrer`,children:[(0,S.jsx)(ue,{}),` `,l(`common.github`)]})]})]}),(0,S.jsx)(`main`,{className:`main`,children:(0,S.jsxs)(`div`,{className:`main-inner`,children:[e===`dashboard`&&(0,S.jsx)(Ne,{apiBase:Et}),e===`providers`&&(0,S.jsx)(Ve,{apiBase:Et}),e===`models`&&(0,S.jsx)(He,{apiBase:Et}),e===`subagents`&&(0,S.jsx)(Ue,{apiBase:Et}),e===`logs`&&(0,S.jsx)(Ye,{apiBase:Et}),e===`usage`&&(0,S.jsx)(tt,{apiBase:Et}),e===`codex-auth`&&(0,S.jsx)(at,{apiBase:Et})]})})]})}v.createRoot(document.getElementById(`root`)).render((0,S.jsx)(_.StrictMode,{children:(0,S.jsx)(Ee,{children:(0,S.jsx)(Nt,{})})}));
|
package/gui/dist/index.html
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
} catch (e) {}
|
|
17
17
|
})();
|
|
18
18
|
</script>
|
|
19
|
-
<script type="module" crossorigin src="/assets/index-
|
|
19
|
+
<script type="module" crossorigin src="/assets/index-MnDRzA4G.js"></script>
|
|
20
20
|
<link rel="stylesheet" crossorigin href="/assets/index-BwvDb198.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
package/package.json
CHANGED
|
@@ -17,8 +17,10 @@ function parseDataUrlImage(imageUrl: string): KiroImage | undefined {
|
|
|
17
17
|
const bytes = imageUrl.slice(comma + 1);
|
|
18
18
|
if (!bytes) return undefined;
|
|
19
19
|
const mediaType = header.split(";")[0] || "image/jpeg";
|
|
20
|
-
const
|
|
21
|
-
|
|
20
|
+
const subtype = (mediaType.includes("/") ? mediaType.split("/")[1] : mediaType) || "jpeg";
|
|
21
|
+
// CodeWhisperer/Bedrock expects "jpeg", not the "jpg" alias.
|
|
22
|
+
const format = subtype.toLowerCase() === "jpg" ? "jpeg" : subtype.toLowerCase();
|
|
23
|
+
return { format, source: { bytes } };
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
export function extractKiroImages(content: string | OcxContentPart[]): KiroImage[] {
|
|
@@ -20,32 +20,59 @@ function ensureRootObjectType(schema: unknown): Record<string, unknown> {
|
|
|
20
20
|
? schema as Record<string, unknown>
|
|
21
21
|
: {};
|
|
22
22
|
// Bedrock rejects oneOf/allOf/anyOf at the root ("input_schema does not support oneOf, allOf, or
|
|
23
|
-
// anyOf at the top level")
|
|
24
|
-
//
|
|
25
|
-
// (AND
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
// anyOf at the top level") and requires the root type to be "object". Flatten every root
|
|
24
|
+
// composition into the object schema while preserving the root's own properties/required and any
|
|
25
|
+
// other sibling keys. allOf merges required (AND); anyOf/oneOf drop required so a single valid
|
|
26
|
+
// branch still passes. Nested (non-root) composition is left intact — only the root is illegal.
|
|
27
|
+
const COMPOSITION_KEYS = ["oneOf", "anyOf", "allOf"] as const;
|
|
28
|
+
const hasComposition = COMPOSITION_KEYS.some(k => Array.isArray(obj[k]));
|
|
29
|
+
const t = obj.type;
|
|
30
|
+
const rootObjectType = t === "object" || (Array.isArray(t) && t.includes("object"));
|
|
31
|
+
if (!hasComposition) {
|
|
32
|
+
if (rootObjectType && t === "object") return obj;
|
|
33
|
+
return { ...obj, type: "object" };
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const props: Record<string, unknown> = {};
|
|
37
|
+
const required = new Set<string>();
|
|
38
|
+
// Seed with the root's own properties/required so a schema like
|
|
39
|
+
// { type:"object", properties:{path}, required:["path"], oneOf:[...] } keeps them.
|
|
40
|
+
if (obj.properties && typeof obj.properties === "object") {
|
|
41
|
+
Object.assign(props, sanitizeKiroSchema(obj.properties) as Record<string, unknown>);
|
|
42
|
+
}
|
|
43
|
+
if (Array.isArray(obj.required)) {
|
|
44
|
+
for (const r of obj.required) if (typeof r === "string") required.add(r);
|
|
45
|
+
}
|
|
46
|
+
for (const key of COMPOSITION_KEYS) {
|
|
47
|
+
const variants = obj[key];
|
|
48
|
+
if (!Array.isArray(variants)) continue;
|
|
49
|
+
// allOf is conjunction: its required fields always apply. oneOf/anyOf are disjunction, so
|
|
50
|
+
// promoting their required would over-constrain a valid single-branch call.
|
|
51
|
+
const mergeRequired = key === "allOf";
|
|
52
|
+
for (const variant of variants) {
|
|
32
53
|
if (!variant || typeof variant !== "object" || Array.isArray(variant)) continue;
|
|
33
54
|
const v = variant as Record<string, unknown>;
|
|
34
55
|
if (v.properties && typeof v.properties === "object") {
|
|
35
56
|
Object.assign(props, sanitizeKiroSchema(v.properties) as Record<string, unknown>);
|
|
36
57
|
}
|
|
37
|
-
if (
|
|
58
|
+
if (mergeRequired && Array.isArray(v.required)) {
|
|
38
59
|
for (const r of v.required) if (typeof r === "string") required.add(r);
|
|
39
60
|
}
|
|
40
61
|
}
|
|
41
|
-
if (Object.keys(props).length > 0) merged.properties = props;
|
|
42
|
-
if (required.size > 0) merged.required = [...required];
|
|
43
|
-
return merged;
|
|
44
62
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
63
|
+
|
|
64
|
+
// Keep all non-composition sibling keys (description, $defs, definitions, etc.); replace
|
|
65
|
+
// type/properties/required with the flattened object form.
|
|
66
|
+
const merged: Record<string, unknown> = {};
|
|
67
|
+
for (const [key, child] of Object.entries(obj)) {
|
|
68
|
+
if (key === "oneOf" || key === "anyOf" || key === "allOf") continue;
|
|
69
|
+
if (key === "type" || key === "properties" || key === "required") continue;
|
|
70
|
+
merged[key] = child;
|
|
71
|
+
}
|
|
72
|
+
merged.type = "object";
|
|
73
|
+
if (Object.keys(props).length > 0) merged.properties = props;
|
|
74
|
+
if (required.size > 0) merged.required = [...required];
|
|
75
|
+
return merged;
|
|
49
76
|
}
|
|
50
77
|
|
|
51
78
|
export function convertKiroToolContext(parsed: OcxParsedRequest): { tools: unknown[]; systemAdditions: string[] } {
|