cctally 1.21.3 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/bin/_cctally_alerts.py +26 -1
- package/bin/_cctally_config.py +135 -0
- package/bin/_cctally_core.py +120 -0
- package/bin/_cctally_dashboard.py +155 -23
- package/bin/_cctally_db.py +3 -0
- package/bin/_cctally_record.py +148 -0
- package/bin/_lib_alerts_payload.py +50 -0
- package/bin/_lib_budget.py +133 -0
- package/bin/_lib_doctor.py +74 -0
- package/bin/_lib_pricing.py +32 -5
- package/bin/_lib_pricing_check.py +201 -0
- package/bin/cctally +1141 -10
- package/bin/cctally-budget +4 -0
- package/dashboard/static/assets/index-BxmaYT1y.css +1 -0
- package/dashboard/static/assets/index-CLcd-Tnm.js +18 -0
- package/dashboard/static/dashboard.html +2 -2
- package/package.json +4 -1
- package/dashboard/static/assets/index-BJ16SzRL.js +0 -18
- package/dashboard/static/assets/index-C1xH9GBW.css +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.provider`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.iterator;function p(e){return typeof e!=`object`||!e?null:(e=f&&e[f]||e[`@@iterator`],typeof e==`function`?e:null)}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function _(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}_.prototype.isReactComponent={},_.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`setState(...): takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function v(){}v.prototype=_.prototype;function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}var b=y.prototype=new v;b.constructor=y,h(b,_.prototype),b.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,C={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function T(e,n,r){var i,a={},o=null,s=null;if(n!=null)for(i in n.ref!==void 0&&(s=n.ref),n.key!==void 0&&(o=``+n.key),n)S.call(n,i)&&!w.hasOwnProperty(i)&&(a[i]=n[i]);var c=arguments.length-2;if(c===1)a.children=r;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps,c)a[i]===void 0&&(a[i]=c[i]);return{$$typeof:t,type:e,key:o,ref:s,props:a,_owner:C.current}}function ee(e,n){return{$$typeof:t,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function te(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function E(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var D=/\/+/g;function O(e,t){return typeof e==`object`&&e&&e.key!=null?E(``+e.key):t.toString(36)}function ne(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0}}if(c)return c=e,o=o(c),e=a===``?`.`+O(c,0):a,x(o)?(i=``,e!=null&&(i=e.replace(D,`$&/`)+`/`),ne(o,r,i,``,function(e){return e})):o!=null&&(te(o)&&(o=ee(o,i+(!o.key||c&&c.key===o.key?``:(``+o.key).replace(D,`$&/`)+`/`)+e)),r.push(o)),1;if(c=0,a=a===``?`.`:a+`:`,x(e))for(var l=0;l<e.length;l++){s=e[l];var u=a+O(s,l);c+=ne(s,r,i,u,o)}else if(u=p(e),typeof u==`function`)for(e=u.call(e),l=0;!(s=e.next()).done;)s=s.value,u=a+O(s,l++),c+=ne(s,r,i,u,o);else if(s===`object`)throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`);return c}function re(e,t,n){if(e==null)return e;var r=[],i=0;return ne(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function ie(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var k={current:null},ae={transition:null},oe={ReactCurrentDispatcher:k,ReactCurrentBatchConfig:ae,ReactCurrentOwner:C};function se(){throw Error(`act(...) is not supported in production builds of React.`)}e.Children={map:re,forEach:function(e,t,n){re(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return re(e,function(){t++}),t},toArray:function(e){return re(e,function(e){return e})||[]},only:function(e){if(!te(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}},e.Component=_,e.Fragment=r,e.Profiler=a,e.PureComponent=y,e.StrictMode=i,e.Suspense=l,e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=oe,e.act=se,e.cloneElement=function(e,n,r){if(e==null)throw Error(`React.cloneElement(...): The argument must be a React element, but you passed `+e+`.`);var i=h({},e.props),a=e.key,o=e.ref,s=e._owner;if(n!=null){if(n.ref!==void 0&&(o=n.ref,s=C.current),n.key!==void 0&&(a=``+n.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in n)S.call(n,l)&&!w.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&c!==void 0?c[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=r;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}return{$$typeof:t,type:e.type,key:a,ref:o,props:i,_owner:s}},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:o,_context:e},e.Consumer=e},e.createElement=T,e.createFactory=function(e){var t=T.bind(null,e);return t.type=e,t},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=te,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:ie}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=ae.transition;ae.transition={};try{e()}finally{ae.transition=t}},e.unstable_act=se,e.useCallback=function(e,t){return k.current.useCallback(e,t)},e.useContext=function(e){return k.current.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e){return k.current.useDeferredValue(e)},e.useEffect=function(e,t){return k.current.useEffect(e,t)},e.useId=function(){return k.current.useId()},e.useImperativeHandle=function(e,t,n){return k.current.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return k.current.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return k.current.useLayoutEffect(e,t)},e.useMemo=function(e,t){return k.current.useMemo(e,t)},e.useReducer=function(e,t,n){return k.current.useReducer(e,t,n)},e.useRef=function(e){return k.current.useRef(e)},e.useState=function(e){return k.current.useState(e)},e.useSyncExternalStore=function(e,t,n){return k.current.useSyncExternalStore(e,t,n)},e.useTransition=function(){return k.current.useTransition()},e.version=`18.3.1`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=typeof setTimeout==`function`?setTimeout:null,_=typeof clearTimeout==`function`?clearTimeout:null,v=typeof setImmediate<`u`?setImmediate:null;typeof navigator<`u`&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function b(e){if(h=!1,y(e),!m)if(n(c)!==null)m=!0,re(x);else{var t=n(l);t!==null&&ie(b,t.startTime-e)}}function x(t,i){m=!1,h&&(h=!1,_(w),w=-1),p=!0;var a=f;try{for(y(i),d=n(c);d!==null&&(!(d.expirationTime>i)||t&&!te());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=i);i=e.unstable_now(),typeof s==`function`?d.callback=s:d===n(c)&&r(c),y(i)}else r(c);d=n(c)}if(d!==null)var u=!0;else{var g=n(l);g!==null&&ie(b,g.startTime-i),u=!1}return u}finally{d=null,f=a,p=!1}}var S=!1,C=null,w=-1,T=5,ee=-1;function te(){return!(e.unstable_now()-ee<T)}function E(){if(C!==null){var t=e.unstable_now();ee=t;var n=!0;try{n=C(!0,t)}finally{n?D():(S=!1,C=null)}}else S=!1}var D;if(typeof v==`function`)D=function(){v(E)};else if(typeof MessageChannel<`u`){var O=new MessageChannel,ne=O.port2;O.port1.onmessage=E,D=function(){ne.postMessage(null)}}else D=function(){g(E,0)};function re(e){C=e,S||(S=!0,D())}function ie(t,n){w=g(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,re(x))},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):T=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(_(w),w=-1):h=!0,ie(b,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,re(x))),r},e.unstable_shouldYield=te,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u(),n=f();function r(e){for(var t=`https://reactjs.org/docs/error-decoder.html?invariant=`+e,n=1;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n]);return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}var i=new Set,a={};function o(e,t){s(e,t),s(e+`Capture`,t)}function s(e,t){for(a[e]=t,e=0;e<t.length;e++)i.add(t[e])}var c=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),l=Object.prototype.hasOwnProperty,d=/^[: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]*$/,p={},m={};function h(e){return l.call(m,e)?!0:l.call(p,e)?!1:d.test(e)?m[e]=!0:(p[e]=!0,!1)}function g(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case`function`:case`symbol`:return!0;case`boolean`:return r?!1:n===null?(e=e.toLowerCase().slice(0,5),e!==`data-`&&e!==`aria-`):!n.acceptsBooleans;default:return!1}}function _(e,t,n,r){if(t==null||g(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function v(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var y={};`children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style`.split(` `).forEach(function(e){y[e]=new v(e,0,!1,e,null,!1,!1)}),[[`acceptCharset`,`accept-charset`],[`className`,`class`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`]].forEach(function(e){var t=e[0];y[t]=new v(t,1,!1,e[1],null,!1,!1)}),[`contentEditable`,`draggable`,`spellCheck`,`value`].forEach(function(e){y[e]=new v(e,2,!1,e.toLowerCase(),null,!1,!1)}),[`autoReverse`,`externalResourcesRequired`,`focusable`,`preserveAlpha`].forEach(function(e){y[e]=new v(e,2,!1,e,null,!1,!1)}),`allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope`.split(` `).forEach(function(e){y[e]=new v(e,3,!1,e.toLowerCase(),null,!1,!1)}),[`checked`,`multiple`,`muted`,`selected`].forEach(function(e){y[e]=new v(e,3,!0,e,null,!1,!1)}),[`capture`,`download`].forEach(function(e){y[e]=new v(e,4,!1,e,null,!1,!1)}),[`cols`,`rows`,`size`,`span`].forEach(function(e){y[e]=new v(e,6,!1,e,null,!1,!1)}),[`rowSpan`,`start`].forEach(function(e){y[e]=new v(e,5,!1,e.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function x(e){return e[1].toUpperCase()}`accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,null,!1,!1)}),`xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type`.split(` `).forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/1999/xlink`,!1,!1)}),[`xml:base`,`xml:lang`,`xml:space`].forEach(function(e){var t=e.replace(b,x);y[t]=new v(t,1,!1,e,`http://www.w3.org/XML/1998/namespace`,!1,!1)}),[`tabIndex`,`crossOrigin`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!1,!1)}),y.xlinkHref=new v(`xlinkHref`,1,!1,`xlink:href`,`http://www.w3.org/1999/xlink`,!0,!1),[`src`,`href`,`action`,`formAction`].forEach(function(e){y[e]=new v(e,1,!1,e.toLowerCase(),null,!0,!0)});function S(e,t,n,r){var i=y.hasOwnProperty(t)?y[t]:null;(i===null?r||!(2<t.length)||t[0]!==`o`&&t[0]!==`O`||t[1]!==`n`&&t[1]!==`N`:i.type!==0)&&(_(t,n,i,r)&&(n=null),r||i===null?h(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,``+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type===3?!1:``:n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&!0===n?``:``+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var C=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for(`react.element`),T=Symbol.for(`react.portal`),ee=Symbol.for(`react.fragment`),te=Symbol.for(`react.strict_mode`),E=Symbol.for(`react.profiler`),D=Symbol.for(`react.provider`),O=Symbol.for(`react.context`),ne=Symbol.for(`react.forward_ref`),re=Symbol.for(`react.suspense`),ie=Symbol.for(`react.suspense_list`),k=Symbol.for(`react.memo`),ae=Symbol.for(`react.lazy`),oe=Symbol.for(`react.offscreen`),se=Symbol.iterator;function ce(e){return typeof e!=`object`||!e?null:(e=se&&e[se]||e[`@@iterator`],typeof e==`function`?e:null)}var A=Object.assign,le;function ue(e){if(le===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);le=t&&t[1]||``}return`
|
|
2
|
+
`+le+e}var de=!1;function fe(e,t){if(!e||de)return``;de=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&typeof t.stack==`string`){for(var i=t.stack.split(`
|
|
3
|
+
`),a=r.stack.split(`
|
|
4
|
+
`),o=i.length-1,s=a.length-1;1<=o&&0<=s&&i[o]!==a[s];)s--;for(;1<=o&&0<=s;o--,s--)if(i[o]!==a[s]){if(o!==1||s!==1)do if(o--,s--,0>s||i[o]!==a[s]){var c=`
|
|
5
|
+
`+i[o].replace(` at new `,` at `);return e.displayName&&c.includes(`<anonymous>`)&&(c=c.replace(`<anonymous>`,e.displayName)),c}while(1<=o&&0<=s);break}}}finally{de=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:``)?ue(e):``}function pe(e){switch(e.tag){case 5:return ue(e.type);case 16:return ue(`Lazy`);case 13:return ue(`Suspense`);case 19:return ue(`SuspenseList`);case 0:case 2:case 15:return e=fe(e.type,!1),e;case 11:return e=fe(e.type.render,!1),e;case 1:return e=fe(e.type,!0),e;default:return``}}function j(e){if(e==null)return null;if(typeof e==`function`)return e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case ee:return`Fragment`;case T:return`Portal`;case E:return`Profiler`;case te:return`StrictMode`;case re:return`Suspense`;case ie:return`SuspenseList`}if(typeof e==`object`)switch(e.$$typeof){case O:return(e.displayName||`Context`)+`.Consumer`;case D:return(e._context.displayName||`Context`)+`.Provider`;case ne:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case k:return t=e.displayName||null,t===null?j(e.type)||`Memo`:t;case ae:t=e._payload,e=e._init;try{return j(e(t))}catch{}}return null}function me(e){var t=e.type;switch(e.tag){case 24:return`Cache`;case 9:return(t.displayName||`Context`)+`.Consumer`;case 10:return(t._context.displayName||`Context`)+`.Provider`;case 18:return`DehydratedFragment`;case 11:return e=t.render,e=e.displayName||e.name||``,t.displayName||(e===``?`ForwardRef`:`ForwardRef(`+e+`)`);case 7:return`Fragment`;case 5:return t;case 4:return`Portal`;case 3:return`Root`;case 6:return`Text`;case 16:return j(t);case 8:return t===te?`StrictMode`:`Mode`;case 22:return`Offscreen`;case 12:return`Profiler`;case 21:return`Scope`;case 13:return`Suspense`;case 19:return`SuspenseList`;case 25:return`TracingMarker`;case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==`function`)return t.displayName||t.name||null;if(typeof t==`string`)return t}return null}function he(e){switch(typeof e){case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function ge(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function M(e){var t=ge(e)?`checked`:`value`,n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=``+e[t];if(!e.hasOwnProperty(t)&&n!==void 0&&typeof n.get==`function`&&typeof n.set==`function`){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function _e(e){e._valueTracker||=M(e)}function ve(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=ge(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function ye(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function be(e,t){var n=t.checked;return A({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function xe(e,t){var n=t.defaultValue==null?``:t.defaultValue,r=t.checked==null?t.defaultChecked:t.checked;n=he(t.value==null?n:t.value),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===`checkbox`||t.type===`radio`?t.checked!=null:t.value!=null}}function Se(e,t){t=t.checked,t!=null&&S(e,`checked`,t,!1)}function Ce(e,t){Se(e,t);var n=he(t.value),r=t.type;if(n!=null)r===`number`?(n===0&&e.value===``||e.value!=n)&&(e.value=``+n):e.value!==``+n&&(e.value=``+n);else if(r===`submit`||r===`reset`){e.removeAttribute(`value`);return}t.hasOwnProperty(`value`)?Te(e,t.type,n):t.hasOwnProperty(`defaultValue`)&&Te(e,t.type,he(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function we(e,t,n){if(t.hasOwnProperty(`value`)||t.hasOwnProperty(`defaultValue`)){var r=t.type;if(!(r!==`submit`&&r!==`reset`||t.value!==void 0&&t.value!==null))return;t=``+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==``&&(e.name=``),e.defaultChecked=!!e._wrapperState.initialChecked,n!==``&&(e.name=n)}function Te(e,t,n){(t!==`number`||ye(e.ownerDocument)!==e)&&(n==null?e.defaultValue=``+e._wrapperState.initialValue:e.defaultValue!==``+n&&(e.defaultValue=``+n))}var Ee=Array.isArray;function N(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=``+he(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 De(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(r(91));return A({},t,{value:void 0,defaultValue:void 0,children:``+e._wrapperState.initialValue})}function Oe(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(r(92));if(Ee(n)){if(1<n.length)throw Error(r(93));n=n[0]}t=n}t??=``,n=t}e._wrapperState={initialValue:he(n)}}function ke(e,t){var n=he(t.value),r=he(t.defaultValue);n!=null&&(n=``+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=``+r)}function Ae(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==``&&t!==null&&(e.value=t)}function je(e){switch(e){case`svg`:return`http://www.w3.org/2000/svg`;case`math`:return`http://www.w3.org/1998/Math/MathML`;default:return`http://www.w3.org/1999/xhtml`}}function Me(e,t){return e==null||e===`http://www.w3.org/1999/xhtml`?je(t):e===`http://www.w3.org/2000/svg`&&t===`foreignObject`?`http://www.w3.org/1999/xhtml`:e}var Ne,P=function(e){return typeof MSApp<`u`&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e}(function(e,t){if(e.namespaceURI!==`http://www.w3.org/2000/svg`||`innerHTML`in e)e.innerHTML=t;else{for(Ne||=document.createElement(`div`),Ne.innerHTML=`<svg>`+t.valueOf().toString()+`</svg>`,t=Ne.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ie=[`Webkit`,`ms`,`Moz`,`O`];Object.keys(Fe).forEach(function(e){Ie.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Fe[t]=Fe[e]})});function F(e,t,n){return t==null||typeof t==`boolean`||t===``?``:n||typeof t!=`number`||t===0||Fe.hasOwnProperty(e)&&Fe[e]?(``+t).trim():t+`px`}function I(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=n.indexOf(`--`)===0,i=F(n,t[n],r);n===`float`&&(n=`cssFloat`),r?e.setProperty(n,i):e[n]=i}}var Le=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Re(e,t){if(t){if(Le[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(r(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(r(60));if(typeof t.dangerouslySetInnerHTML!=`object`||!(`__html`in t.dangerouslySetInnerHTML))throw Error(r(61))}if(t.style!=null&&typeof t.style!=`object`)throw Error(r(62))}}function ze(e,t){if(e.indexOf(`-`)===-1)return typeof t.is==`string`;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 Be=null;function L(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ve=null,R=null,He=null;function Ue(e){if(e=Ri(e)){if(typeof Ve!=`function`)throw Error(r(280));var t=e.stateNode;t&&(t=Bi(t),Ve(e.stateNode,e.type,t))}}function We(e){R?He?He.push(e):He=[e]:R=e}function Ge(){if(R){var e=R,t=He;if(He=R=null,Ue(e),t)for(e=0;e<t.length;e++)Ue(t[e])}}function Ke(e,t){return e(t)}function z(){}var qe=!1;function Je(e,t,n){if(qe)return e(t,n);qe=!0;try{return Ke(e,t,n)}finally{qe=!1,(R!==null||He!==null)&&(z(),Ge())}}function Ye(e,t){var n=e.stateNode;if(n===null)return null;var i=Bi(n);if(i===null)return null;n=i[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`:(i=!i.disabled)||(e=e.type,i=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!i;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(r(231,t,typeof n));return n}var Xe=!1;if(c)try{var Ze={};Object.defineProperty(Ze,`passive`,{get:function(){Xe=!0}}),window.addEventListener(`test`,Ze,Ze),window.removeEventListener(`test`,Ze,Ze)}catch{Xe=!1}function Qe(e,t,n,r,i,a,o,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}var $e=!1,et=null,tt=!1,nt=null,rt={onError:function(e){$e=!0,et=e}};function it(e,t,n,r,i,a,o,s,c){$e=!1,et=null,Qe.apply(rt,arguments)}function at(e,t,n,i,a,o,s,c,l){if(it.apply(this,arguments),$e){if($e){var u=et;$e=!1,et=null}else throw Error(r(198));tt||(tt=!0,nt=u)}}function ot(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function st(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function ct(e){if(ot(e)!==e)throw Error(r(188))}function lt(e){var t=e.alternate;if(!t){if(t=ot(e),t===null)throw Error(r(188));return t===e?e:null}for(var n=e,i=t;;){var a=n.return;if(a===null)break;var o=a.alternate;if(o===null){if(i=a.return,i!==null){n=i;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return ct(a),e;if(o===i)return ct(a),t;o=o.sibling}throw Error(r(188))}if(n.return!==i.return)n=a,i=o;else{for(var s=!1,c=a.child;c;){if(c===n){s=!0,n=a,i=o;break}if(c===i){s=!0,i=a,n=o;break}c=c.sibling}if(!s){for(c=o.child;c;){if(c===n){s=!0,n=o,i=a;break}if(c===i){s=!0,i=o,n=a;break}c=c.sibling}if(!s)throw Error(r(189))}}if(n.alternate!==i)throw Error(r(190))}if(n.tag!==3)throw Error(r(188));return n.stateNode.current===n?e:t}function ut(e){return e=lt(e),e===null?null:dt(e)}function dt(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=dt(e);if(t!==null)return t;e=e.sibling}return null}var ft=n.unstable_scheduleCallback,pt=n.unstable_cancelCallback,mt=n.unstable_shouldYield,ht=n.unstable_requestPaint,B=n.unstable_now,gt=n.unstable_getCurrentPriorityLevel,_t=n.unstable_ImmediatePriority,vt=n.unstable_UserBlockingPriority,yt=n.unstable_NormalPriority,bt=n.unstable_LowPriority,xt=n.unstable_IdlePriority,St=null,Ct=null;function wt(e){if(Ct&&typeof Ct.onCommitFiberRoot==`function`)try{Ct.onCommitFiberRoot(St,e,void 0,(e.current.flags&128)==128)}catch{}}var Tt=Math.clz32?Math.clz32:Ot,Et=Math.log,Dt=Math.LN2;function Ot(e){return e>>>=0,e===0?32:31-(Et(e)/Dt|0)|0}var kt=64,At=4194304;function jt(e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mt(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s===0?(a&=o,a!==0&&(r=jt(a))):r=jt(s)}else o=n&~i,o===0?a!==0&&(r=jt(a)):r=jt(o);if(r===0)return 0;if(t!==0&&t!==r&&(t&i)===0&&(i=r&-r,a=t&-t,i>=a||i===16&&a&4194240))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-Tt(t),i=1<<n,r|=e[n],t&=~i;return r}function Nt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Pt(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-Tt(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=Nt(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}}function Ft(e){return e=e.pendingLanes&-1073741825,e===0?e&1073741824?1073741824:0:e}function It(){var e=kt;return kt<<=1,!(kt&4194240)&&(kt=64),e}function Lt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Rt(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Tt(t),e[t]=n}function zt(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-Tt(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}function Bt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Tt(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var V=0;function Vt(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Ht,Ut,Wt,Gt,Kt,qt=!1,Jt=[],Yt=null,Xt=null,Zt=null,Qt=new Map,$t=new Map,en=[],tn=`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 submit`.split(` `);function nn(e,t){switch(e){case`focusin`:case`focusout`:Yt=null;break;case`dragenter`:case`dragleave`:Xt=null;break;case`mouseover`:case`mouseout`:Zt=null;break;case`pointerover`:case`pointerout`:Qt.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:$t.delete(t.pointerId)}}function rn(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=Ri(t),t!==null&&Ut(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function an(e,t,n,r,i){switch(t){case`focusin`:return Yt=rn(Yt,e,t,n,r,i),!0;case`dragenter`:return Xt=rn(Xt,e,t,n,r,i),!0;case`mouseover`:return Zt=rn(Zt,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Qt.set(a,rn(Qt.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,$t.set(a,rn($t.get(a)||null,e,t,n,r,i)),!0}return!1}function on(e){var t=Li(e.target);if(t!==null){var n=ot(t);if(n!==null){if(t=n.tag,t===13){if(t=st(n),t!==null){e.blockedOn=t,Kt(e.priority,function(){Wt(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 sn(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=vn(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Be=r,n.target.dispatchEvent(r),Be=null}else return t=Ri(n),t!==null&&Ut(t),e.blockedOn=n,!1;t.shift()}return!0}function cn(e,t,n){sn(e)&&n.delete(t)}function ln(){qt=!1,Yt!==null&&sn(Yt)&&(Yt=null),Xt!==null&&sn(Xt)&&(Xt=null),Zt!==null&&sn(Zt)&&(Zt=null),Qt.forEach(cn),$t.forEach(cn)}function un(e,t){e.blockedOn===t&&(e.blockedOn=null,qt||(qt=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,ln)))}function dn(e){function t(t){return un(t,e)}if(0<Jt.length){un(Jt[0],e);for(var n=1;n<Jt.length;n++){var r=Jt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(Yt!==null&&un(Yt,e),Xt!==null&&un(Xt,e),Zt!==null&&un(Zt,e),Qt.forEach(t),$t.forEach(t),n=0;n<en.length;n++)r=en[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<en.length&&(n=en[0],n.blockedOn===null);)on(n),n.blockedOn===null&&en.shift()}var fn=C.ReactCurrentBatchConfig,pn=!0;function mn(e,t,n,r){var i=V,a=fn.transition;fn.transition=null;try{V=1,gn(e,t,n,r)}finally{V=i,fn.transition=a}}function hn(e,t,n,r){var i=V,a=fn.transition;fn.transition=null;try{V=4,gn(e,t,n,r)}finally{V=i,fn.transition=a}}function gn(e,t,n,r){if(pn){var i=vn(e,t,n,r);if(i===null)ui(e,t,r,_n,n),nn(e,r);else if(an(i,e,t,n,r))r.stopPropagation();else if(nn(e,r),t&4&&-1<tn.indexOf(e)){for(;i!==null;){var a=Ri(i);if(a!==null&&Ht(a),a=vn(e,t,n,r),a===null&&ui(e,t,r,_n,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else ui(e,t,r,null,n)}}var _n=null;function vn(e,t,n,r){if(_n=null,e=L(r),e=Li(e),e!==null)if(t=ot(e),t===null)e=null;else if(n=t.tag,n===13){if(e=st(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 _n=e,null}function yn(e){switch(e){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`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 1;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`toggle`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 4;case`message`:switch(gt()){case _t:return 1;case vt:return 4;case yt:case bt:return 16;case xt:return 536870912;default:return 16}default:return 16}}var bn=null,xn=null,Sn=null;function Cn(){if(Sn)return Sn;var e,t=xn,n=t.length,r,i=`value`in bn?bn.value:bn.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 Sn=i.slice(e,1<r?1-r:void 0)}function wn(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 Tn(){return!0}function En(){return!1}function Dn(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)?Tn:En,this.isPropagationStopped=En,this}return A(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=Tn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Tn)},persist:function(){},isPersistent:Tn}),t}var On={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},kn=Dn(On),An=A({},On,{view:0,detail:0}),jn=Dn(An),Mn,Nn,Pn,Fn=A({},An,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Kn,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!==Pn&&(Pn&&e.type===`mousemove`?(Mn=e.screenX-Pn.screenX,Nn=e.screenY-Pn.screenY):Nn=Mn=0,Pn=e),Mn)},movementY:function(e){return`movementY`in e?e.movementY:Nn}}),In=Dn(Fn),Ln=Dn(A({},Fn,{dataTransfer:0})),Rn=Dn(A({},An,{relatedTarget:0})),zn=Dn(A({},On,{animationName:0,elapsedTime:0,pseudoElement:0})),Bn=Dn(A({},On,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Vn=Dn(A({},On,{data:0})),Hn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Un={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`},Wn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Gn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Wn[e])?!!t[e]:!1}function Kn(){return Gn}var qn=Dn(A({},An,{key:function(e){if(e.key){var t=Hn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=wn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Un[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Kn,charCode:function(e){return e.type===`keypress`?wn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?wn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Jn=Dn(A({},Fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Yn=Dn(A({},An,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Kn})),Xn=Dn(A({},On,{propertyName:0,elapsedTime:0,pseudoElement:0})),Zn=Dn(A({},Fn,{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})),Qn=[9,13,27,32],$n=c&&`CompositionEvent`in window,er=null;c&&`documentMode`in document&&(er=document.documentMode);var tr=c&&`TextEvent`in window&&!er,nr=c&&(!$n||er&&8<er&&11>=er),rr=` `,ir=!1;function ar(e,t){switch(e){case`keyup`:return Qn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function or(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var sr=!1;function cr(e,t){switch(e){case`compositionend`:return or(t);case`keypress`:return t.which===32?(ir=!0,rr):null;case`textInput`:return e=t.data,e===rr&&ir?null:e;default:return null}}function lr(e,t){if(sr)return e===`compositionend`||!$n&&ar(e,t)?(e=Cn(),Sn=xn=bn=null,sr=!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 nr&&t.locale!==`ko`?null:t.data;default:return null}}var ur={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 dr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!ur[e.type]:t===`textarea`}function fr(e,t,n,r){We(r),t=fi(t,`onChange`),0<t.length&&(n=new kn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var pr=null,mr=null;function hr(e){ai(e,0)}function gr(e){if(ve(zi(e)))return e}function _r(e,t){if(e===`change`)return t}var vr=!1;if(c){var yr;if(c){var br=`oninput`in document;if(!br){var xr=document.createElement(`div`);xr.setAttribute(`oninput`,`return;`),br=typeof xr.oninput==`function`}yr=br}else yr=!1;vr=yr&&(!document.documentMode||9<document.documentMode)}function Sr(){pr&&(pr.detachEvent(`onpropertychange`,Cr),mr=pr=null)}function Cr(e){if(e.propertyName===`value`&&gr(mr)){var t=[];fr(t,mr,e,L(e)),Je(hr,t)}}function wr(e,t,n){e===`focusin`?(Sr(),pr=t,mr=n,pr.attachEvent(`onpropertychange`,Cr)):e===`focusout`&&Sr()}function Tr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return gr(mr)}function Er(e,t){if(e===`click`)return gr(t)}function Dr(e,t){if(e===`input`||e===`change`)return gr(t)}function Or(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var kr=typeof Object.is==`function`?Object.is:Or;function Ar(e,t){if(kr(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(!l.call(t,i)||!kr(e[i],t[i]))return!1}return!0}function jr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Mr(e,t){var n=jr(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=jr(n)}}function Nr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Nr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Pr(){for(var e=window,t=ye();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=ye(e.document)}return t}function Fr(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`)}function Ir(e){var t=Pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Nr(n.ownerDocument.documentElement,n)){if(r!==null&&Fr(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),`selectionStart`in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=Mr(n,a);var o=Mr(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus==`function`&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Lr=c&&`documentMode`in document&&11>=document.documentMode,Rr=null,zr=null,H=null,Br=!1;function Vr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Br||Rr==null||Rr!==ye(r)||(r=Rr,`selectionStart`in r&&Fr(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}),H&&Ar(H,r)||(H=r,r=fi(zr,`onSelect`),0<r.length&&(t=new kn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Rr)))}function Hr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Ur={animationend:Hr(`Animation`,`AnimationEnd`),animationiteration:Hr(`Animation`,`AnimationIteration`),animationstart:Hr(`Animation`,`AnimationStart`),transitionend:Hr(`Transition`,`TransitionEnd`)},Wr={},Gr={};c&&(Gr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Ur.animationend.animation,delete Ur.animationiteration.animation,delete Ur.animationstart.animation),`TransitionEvent`in window||delete Ur.transitionend.transition);function Kr(e){if(Wr[e])return Wr[e];if(!Ur[e])return e;var t=Ur[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Gr)return Wr[e]=t[n];return e}var qr=Kr(`animationend`),Jr=Kr(`animationiteration`),Yr=Kr(`animationstart`),Xr=Kr(`transitionend`),Zr=new Map,Qr=`abort auxClick 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(` `);function $r(e,t){Zr.set(e,t),o(t,[e])}for(var ei=0;ei<Qr.length;ei++){var ti=Qr[ei];$r(ti.toLowerCase(),`on`+(ti[0].toUpperCase()+ti.slice(1)))}$r(qr,`onAnimationEnd`),$r(Jr,`onAnimationIteration`),$r(Yr,`onAnimationStart`),$r(`dblclick`,`onDoubleClick`),$r(`focusin`,`onFocus`),$r(`focusout`,`onBlur`),$r(Xr,`onTransitionEnd`),s(`onMouseEnter`,[`mouseout`,`mouseover`]),s(`onMouseLeave`,[`mouseout`,`mouseover`]),s(`onPointerEnter`,[`pointerout`,`pointerover`]),s(`onPointerLeave`,[`pointerout`,`pointerover`]),o(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),o(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),o(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),o(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),o(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),o(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var ni=`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(` `),ri=new Set(`cancel close invalid load scroll toggle`.split(` `).concat(ni));function ii(e,t,n){var r=e.type||`unknown-event`;e.currentTarget=n,at(r,t,void 0,e),e.currentTarget=null}function ai(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;ii(i,s,l),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;ii(i,s,l),a=c}}}if(tt)throw e=nt,tt=!1,nt=null,e}function U(e,t){var n=t[W];n===void 0&&(n=t[W]=new Set);var r=e+`__bubble`;n.has(r)||(li(t,e,2,!1),n.add(r))}function oi(e,t,n){var r=0;t&&(r|=4),li(n,e,r,t)}var si=`_reactListening`+Math.random().toString(36).slice(2);function ci(e){if(!e[si]){e[si]=!0,i.forEach(function(t){t!==`selectionchange`&&(ri.has(t)||oi(t,!1,e),oi(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[si]||(t[si]=!0,oi(`selectionchange`,!1,t))}}function li(e,t,n,r){switch(yn(t)){case 1:var i=mn;break;case 4:i=hn;break;default:i=gn}n=i.bind(null,t,n,e),i=void 0,!Xe||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 ui(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i||s.nodeType===8&&s.parentNode===i)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===i||c.nodeType===8&&c.parentNode===i))return;o=o.return}for(;s!==null;){if(o=Li(s),o===null)return;if(c=o.tag,c===5||c===6){r=a=o;continue a}s=s.parentNode}}r=r.return}Je(function(){var r=a,i=L(n),o=[];a:{var s=Zr.get(e);if(s!==void 0){var c=kn,l=e;switch(e){case`keypress`:if(wn(n)===0)break a;case`keydown`:case`keyup`:c=qn;break;case`focusin`:l=`focus`,c=Rn;break;case`focusout`:l=`blur`,c=Rn;break;case`beforeblur`:case`afterblur`:c=Rn;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`:c=In;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:c=Ln;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:c=Yn;break;case qr:case Jr:case Yr:c=zn;break;case Xr:c=Xn;break;case`scroll`:c=jn;break;case`wheel`:c=Zn;break;case`copy`:case`cut`:case`paste`:c=Bn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:c=Jn}var u=(t&4)!=0,d=!u&&e===`scroll`,f=u?s===null?null:s+`Capture`:s;u=[];for(var p=r,m;p!==null;){m=p;var h=m.stateNode;if(m.tag===5&&h!==null&&(m=h,f!==null&&(h=Ye(p,f),h!=null&&u.push(di(p,h,m)))),d)break;p=p.return}0<u.length&&(s=new c(s,l,null,n,i),o.push({event:s,listeners:u}))}}if(!(t&7)){a:{if(s=e===`mouseover`||e===`pointerover`,c=e===`mouseout`||e===`pointerout`,s&&n!==Be&&(l=n.relatedTarget||n.fromElement)&&(Li(l)||l[Pi]))break a;if((c||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,c?(l=n.relatedTarget||n.toElement,c=r,l=l?Li(l):null,l!==null&&(d=ot(l),l!==d||l.tag!==5&&l.tag!==6)&&(l=null)):(c=null,l=r),c!==l)){if(u=In,h=`onMouseLeave`,f=`onMouseEnter`,p=`mouse`,(e===`pointerout`||e===`pointerover`)&&(u=Jn,h=`onPointerLeave`,f=`onPointerEnter`,p=`pointer`),d=c==null?s:zi(c),m=l==null?s:zi(l),s=new u(h,p+`leave`,c,n,i),s.target=d,s.relatedTarget=m,h=null,Li(i)===r&&(u=new u(f,p+`enter`,l,n,i),u.target=m,u.relatedTarget=d,h=u),d=h,c&&l)b:{for(u=c,f=l,p=0,m=u;m;m=pi(m))p++;for(m=0,h=f;h;h=pi(h))m++;for(;0<p-m;)u=pi(u),p--;for(;0<m-p;)f=pi(f),m--;for(;p--;){if(u===f||f!==null&&u===f.alternate)break b;u=pi(u),f=pi(f)}u=null}else u=null;c!==null&&mi(o,s,c,u,!1),l!==null&&d!==null&&mi(o,d,l,u,!0)}}a:{if(s=r?zi(r):window,c=s.nodeName&&s.nodeName.toLowerCase(),c===`select`||c===`input`&&s.type===`file`)var g=_r;else if(dr(s))if(vr)g=Dr;else{g=Tr;var _=wr}else (c=s.nodeName)&&c.toLowerCase()===`input`&&(s.type===`checkbox`||s.type===`radio`)&&(g=Er);if(g&&=g(e,r)){fr(o,g,n,i);break a}_&&_(e,s,r),e===`focusout`&&(_=s._wrapperState)&&_.controlled&&s.type===`number`&&Te(s,`number`,s.value)}switch(_=r?zi(r):window,e){case`focusin`:(dr(_)||_.contentEditable===`true`)&&(Rr=_,zr=r,H=null);break;case`focusout`:H=zr=Rr=null;break;case`mousedown`:Br=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Br=!1,Vr(o,n,i);break;case`selectionchange`:if(Lr)break;case`keydown`:case`keyup`:Vr(o,n,i)}var v;if($n)b:{switch(e){case`compositionstart`:var y=`onCompositionStart`;break b;case`compositionend`:y=`onCompositionEnd`;break b;case`compositionupdate`:y=`onCompositionUpdate`;break b}y=void 0}else sr?ar(e,n)&&(y=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(y=`onCompositionStart`);y&&(nr&&n.locale!==`ko`&&(sr||y!==`onCompositionStart`?y===`onCompositionEnd`&&sr&&(v=Cn()):(bn=i,xn=`value`in bn?bn.value:bn.textContent,sr=!0)),_=fi(r,y),0<_.length&&(y=new Vn(y,e,null,n,i),o.push({event:y,listeners:_}),v?y.data=v:(v=or(n),v!==null&&(y.data=v)))),(v=tr?cr(e,n):lr(e,n))&&(r=fi(r,`onBeforeInput`),0<r.length&&(i=new Vn(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:i,listeners:r}),i.data=v))}ai(o,t)})}function di(e,t,n){return{instance:e,listener:t,currentTarget:n}}function fi(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;i.tag===5&&a!==null&&(i=a,a=Ye(e,n),a!=null&&r.unshift(di(e,a,i)),a=Ye(e,t),a!=null&&r.push(di(e,a,i))),e=e.return}return r}function pi(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function mi(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(c!==null&&c===r)break;s.tag===5&&l!==null&&(s=l,i?(c=Ye(n,a),c!=null&&o.unshift(di(n,c,s))):i||(c=Ye(n,a),c!=null&&o.push(di(n,c,s)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var hi=/\r\n?/g,gi=/\u0000|\uFFFD/g;function _i(e){return(typeof e==`string`?e:``+e).replace(hi,`
|
|
6
|
+
`).replace(gi,``)}function vi(e,t,n){if(t=_i(t),_i(e)!==t&&n)throw Error(r(425))}function yi(){}var bi=null,xi=null;function Si(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Ci=typeof setTimeout==`function`?setTimeout:void 0,wi=typeof clearTimeout==`function`?clearTimeout:void 0,Ti=typeof Promise==`function`?Promise:void 0,Ei=typeof queueMicrotask==`function`?queueMicrotask:Ti===void 0?Ci:function(e){return Ti.resolve(null).then(e).catch(Di)};function Di(e){setTimeout(function(){throw e})}function Oi(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===`/$`){if(r===0){e.removeChild(i),dn(t);return}r--}else n!==`$`&&n!==`$?`&&n!==`$!`||r++;n=i}while(n);dn(t)}function ki(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===`$?`)break;if(t===`/$`)return null}}return e}function Ai(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`){if(t===0)return e;t--}else n===`/$`&&t++}e=e.previousSibling}return null}var ji=Math.random().toString(36).slice(2),Mi=`__reactFiber$`+ji,Ni=`__reactProps$`+ji,Pi=`__reactContainer$`+ji,W=`__reactEvents$`+ji,Fi=`__reactListeners$`+ji,Ii=`__reactHandles$`+ji;function Li(e){var t=e[Mi];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Pi]||n[Mi]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Ai(e);e!==null;){if(n=e[Mi])return n;e=Ai(e)}return t}e=n,n=e.parentNode}return null}function Ri(e){return e=e[Mi]||e[Pi],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function zi(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(r(33))}function Bi(e){return e[Ni]||null}var Vi=[],Hi=-1;function Ui(e){return{current:e}}function G(e){0>Hi||(e.current=Vi[Hi],Vi[Hi]=null,Hi--)}function K(e,t){Hi++,Vi[Hi]=e.current,e.current=t}var Wi={},Gi=Ui(Wi),Ki=Ui(!1),qi=Wi;function Ji(e,t){var n=e.type.contextTypes;if(!n)return Wi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Yi(e){return e=e.childContextTypes,e!=null}function Xi(){G(Ki),G(Gi)}function Zi(e,t,n){if(Gi.current!==Wi)throw Error(r(168));K(Gi,t),K(Ki,n)}function Qi(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=`function`)return n;for(var a in i=i.getChildContext(),i)if(!(a in t))throw Error(r(108,me(e)||`Unknown`,a));return A({},n,i)}function $i(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Wi,qi=Gi.current,K(Gi,e),K(Ki,Ki.current),!0}function ea(e,t,n){var i=e.stateNode;if(!i)throw Error(r(169));n?(e=Qi(e,t,qi),i.__reactInternalMemoizedMergedChildContext=e,G(Ki),G(Gi),K(Gi,e)):G(Ki),K(Ki,n)}var ta=null,na=!1,ra=!1;function ia(e){ta===null?ta=[e]:ta.push(e)}function aa(e){na=!0,ia(e)}function oa(){if(!ra&&ta!==null){ra=!0;var e=0,t=V;try{var n=ta;for(V=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}ta=null,na=!1}catch(t){throw ta!==null&&(ta=ta.slice(e+1)),ft(_t,oa),t}finally{V=t,ra=!1}}return null}var sa=[],ca=0,la=null,ua=0,da=[],fa=0,pa=null,ma=1,ha=``;function ga(e,t){sa[ca++]=ua,sa[ca++]=la,la=e,ua=t}function _a(e,t,n){da[fa++]=ma,da[fa++]=ha,da[fa++]=pa,pa=e;var r=ma;e=ha;var i=32-Tt(r)-1;r&=~(1<<i),n+=1;var a=32-Tt(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,ma=1<<32-Tt(t)+i|n<<i|r,ha=a+e}else ma=1<<a|n<<i|r,ha=e}function va(e){e.return!==null&&(ga(e,1),_a(e,1,0))}function ya(e){for(;e===la;)la=sa[--ca],sa[ca]=null,ua=sa[--ca],sa[ca]=null;for(;e===pa;)pa=da[--fa],da[fa]=null,ha=da[--fa],da[fa]=null,ma=da[--fa],da[fa]=null}var ba=null,xa=null,q=!1,Sa=null;function Ca(e,t){var n=Kl(5,null,null,0);n.elementType=`DELETED`,n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function wa(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t===null?!1:(e.stateNode=t,ba=e,xa=ki(t.firstChild),!0);case 6:return t=e.pendingProps===``||t.nodeType!==3?null:t,t===null?!1:(e.stateNode=t,ba=e,xa=null,!0);case 13:return t=t.nodeType===8?t:null,t===null?!1:(n=pa===null?null:{id:ma,overflow:ha},e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Kl(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,ba=e,xa=null,!0);default:return!1}}function Ta(e){return(e.mode&1)!=0&&(e.flags&128)==0}function Ea(e){if(q){var t=xa;if(t){var n=t;if(!wa(e,t)){if(Ta(e))throw Error(r(418));t=ki(n.nextSibling);var i=ba;t&&wa(e,t)?Ca(i,n):(e.flags=e.flags&-4097|2,q=!1,ba=e)}}else{if(Ta(e))throw Error(r(418));e.flags=e.flags&-4097|2,q=!1,ba=e}}}function Da(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ba=e}function Oa(e){if(e!==ba)return!1;if(!q)return Da(e),q=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!==`head`&&t!==`body`&&!Si(e.type,e.memoizedProps)),t&&=xa){if(Ta(e))throw ka(),Error(r(418));for(;t;)Ca(e,t),t=ki(t.nextSibling)}if(Da(e),e.tag===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(r(317));a:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`){if(t===0){xa=ki(e.nextSibling);break a}t--}else n!==`$`&&n!==`$!`&&n!==`$?`||t++}e=e.nextSibling}xa=null}}else xa=ba?ki(e.stateNode.nextSibling):null;return!0}function ka(){for(var e=xa;e;)e=ki(e.nextSibling)}function Aa(){xa=ba=null,q=!1}function ja(e){Sa===null?Sa=[e]:Sa.push(e)}var Ma=C.ReactCurrentBatchConfig;function Na(e,t,n){if(e=n.ref,e!==null&&typeof e!=`function`&&typeof e!=`object`){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(r(309));var i=n.stateNode}if(!i)throw Error(r(147,e));var a=i,o=``+e;return t!==null&&t.ref!==null&&typeof t.ref==`function`&&t.ref._stringRef===o?t.ref:(t=function(e){var t=a.refs;e===null?delete t[o]:t[o]=e},t._stringRef=o,t)}if(typeof e!=`string`)throw Error(r(284));if(!n._owner)throw Error(r(290,e))}return e}function Pa(e,t){throw e=Object.prototype.toString.call(t),Error(r(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e))}function Fa(e){var t=e._init;return t(e._payload)}function Ia(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 i(e,t){for(e=new Map;t!==null;)t.key===null?e.set(t.index,t):e.set(t.key,t),t=t.sibling;return e}function a(e,t){return e=Yl(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|=2,n):(r=r.index,r<n?(t.flags|=2,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=2),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=$l(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===ee?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===ae&&Fa(i)===t.type)?(r=a(t,n.props),r.ref=Na(e,t,n),r.return=e,r):(r=Xl(n.type,n.key,n.props,null,e.mode,r),r.ref=Na(e,t,n),r.return=e,r)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=eu(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=Zl(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`)return t=$l(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case w:return n=Xl(t.type,t.key,t.props,null,e.mode,n),n.ref=Na(e,null,t),n.return=e,n;case T:return t=eu(t,e.mode,n),t.return=e,t;case ae:var r=t._init;return f(e,r(t._payload),n)}if(Ee(t)||ce(t))return t=Zl(t,e.mode,n,null),t.return=e,t;Pa(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`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case w:return n.key===i?l(e,t,n,r):null;case T:return n.key===i?u(e,t,n,r):null;case ae:return i=n._init,p(e,t,i(n._payload),r)}if(Ee(n)||ce(n))return i===null?d(e,t,n,r,null):null;Pa(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case w:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case T:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case ae:var a=r._init;return m(e,t,n,a(r._payload),i)}if(Ee(r)||ce(r))return e=e.get(n)||null,d(t,e,r,i,null);Pa(t,r)}return null}function h(r,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(r,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(r,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(r,d),q&&ga(r,h),l;if(d===null){for(;h<s.length;h++)d=f(r,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return q&&ga(r,h),l}for(d=i(r,d);h<s.length;h++)g=m(d,r,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(r,e)}),q&&ga(r,h),l}function g(a,s,c,l){var u=ce(c);if(typeof u!=`function`)throw Error(r(150));if(c=u.call(c),c==null)throw Error(r(151));for(var d=u=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),q&&ga(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 q&&ga(a,g),u}for(h=i(a,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)}),q&&ga(a,g),u}function _(e,r,i,o){if(typeof i==`object`&&i&&i.type===ee&&i.key===null&&(i=i.props.children),typeof i==`object`&&i){switch(i.$$typeof){case w:a:{for(var c=i.key,l=r;l!==null;){if(l.key===c){if(c=i.type,c===ee){if(l.tag===7){n(e,l.sibling),r=a(l,i.props.children),r.return=e,e=r;break a}}else if(l.elementType===c||typeof c==`object`&&c&&c.$$typeof===ae&&Fa(c)===l.type){n(e,l.sibling),r=a(l,i.props),r.ref=Na(e,l,i),r.return=e,e=r;break a}n(e,l);break}else t(e,l);l=l.sibling}i.type===ee?(r=Zl(i.props.children,e.mode,o,i.key),r.return=e,e=r):(o=Xl(i.type,i.key,i.props,null,e.mode,o),o.ref=Na(e,r,i),o.return=e,e=o)}return s(e);case T:a:{for(l=i.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),r=a(r,i.children||[]),r.return=e,e=r;break a}else{n(e,r);break}else t(e,r);r=r.sibling}r=eu(i,e.mode,o),r.return=e,e=r}return s(e);case ae:return l=i._init,_(e,r,l(i._payload),o)}if(Ee(i))return h(e,r,i,o);if(ce(i))return g(e,r,i,o);Pa(e,i)}return typeof i==`string`&&i!==``||typeof i==`number`?(i=``+i,r!==null&&r.tag===6?(n(e,r.sibling),r=a(r,i),r.return=e,e=r):(n(e,r),r=$l(i,e.mode,o),r.return=e,e=r),s(e)):n(e,r)}return _}var La=Ia(!0),Ra=Ia(!1),za=Ui(null),Ba=null,Va=null,Ha=null;function Ua(){Ha=Va=Ba=null}function Wa(e){var t=za.current;G(za),e._currentValue=t}function Ga(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 Ka(e,t){Ba=e,Ha=Va=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ps=!0),e.firstContext=null)}function qa(e){var t=e._currentValue;if(Ha!==e)if(e={context:e,memoizedValue:t,next:null},Va===null){if(Ba===null)throw Error(r(308));Va=e,Ba.dependencies={lanes:0,firstContext:e}}else Va=Va.next=e;return t}var Ja=null;function Ya(e){Ja===null?Ja=[e]:Ja.push(e)}function Xa(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Ya(t)):(n.next=i.next,i.next=n),t.interleaved=n,Za(e,r)}function Za(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Qa=!1;function $a(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function eo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function to(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function no(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Q&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Za(e,n)}return i=r.interleaved,i===null?(t.next=t,Ya(r)):(t.next=i.next,i.next=t),r.interleaved=t,Za(e,n)}function ro(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194240)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Bt(e,n)}}function io(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={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,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,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function ao(e,t,n,r){var i=e.updateQueue;Qa=!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,p=s.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});a:{var m=e,h=s;switch(f=t,p=n,h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(p,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(p,d,f):m,f==null)break a;d=A({},d,f);break a;case 2:Qa=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,f=i.effects,f===null?i.effects=[s]:f.push(s))}else p={eventTime: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;f=s,s=f.next,f.next=null,i.lastBaseUpdate=f,i.shared.pending=null}}while(1);if(u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);Yc|=o,e.lanes=o,e.memoizedState=d}}function oo(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var i=e[t],a=i.callback;if(a!==null){if(i.callback=null,i=n,typeof a!=`function`)throw Error(r(191,a));a.call(i)}}}var so={},co=Ui(so),lo=Ui(so),uo=Ui(so);function fo(e){if(e===so)throw Error(r(174));return e}function po(e,t){switch(K(uo,t),K(lo,e),K(co,so),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Me(null,``);break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Me(t,e)}G(co),K(co,t)}function mo(){G(co),G(lo),G(uo)}function ho(e){fo(uo.current);var t=fo(co.current),n=Me(t,e.type);t!==n&&(K(lo,e),K(co,n))}function go(e){lo.current===e&&(G(co),G(lo))}var J=Ui(0);function _o(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data===`$?`||n.data===`$!`))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){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 vo=[];function yo(){for(var e=0;e<vo.length;e++)vo[e]._workInProgressVersionPrimary=null;vo.length=0}var bo=C.ReactCurrentDispatcher,xo=C.ReactCurrentBatchConfig,So=0,Y=null,Co=null,wo=null,To=!1,Eo=!1,Do=0,Oo=0;function ko(){throw Error(r(321))}function Ao(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!kr(e[n],t[n]))return!1;return!0}function jo(e,t,n,i,a,o){if(So=o,Y=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,bo.current=e===null||e.memoizedState===null?ms:hs,e=n(i,a),Eo){o=0;do{if(Eo=!1,Do=0,25<=o)throw Error(r(301));o+=1,wo=Co=null,t.updateQueue=null,bo.current=gs,e=n(i,a)}while(Eo)}if(bo.current=ps,t=Co!==null&&Co.next!==null,So=0,wo=Co=Y=null,To=!1,t)throw Error(r(300));return e}function Mo(){var e=Do!==0;return Do=0,e}function No(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return wo===null?Y.memoizedState=wo=e:wo=wo.next=e,wo}function Po(){if(Co===null){var e=Y.alternate;e=e===null?null:e.memoizedState}else e=Co.next;var t=wo===null?Y.memoizedState:wo.next;if(t!==null)wo=t,Co=e;else{if(e===null)throw Error(r(310));Co=e,e={memoizedState:Co.memoizedState,baseState:Co.baseState,baseQueue:Co.baseQueue,queue:Co.queue,next:null},wo===null?Y.memoizedState=wo=e:wo=wo.next=e}return wo}function Fo(e,t){return typeof t==`function`?t(e):t}function Io(e){var t=Po(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var i=Co,a=i.baseQueue,o=n.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}i.baseQueue=a=o,n.pending=null}if(a!==null){o=a.next,i=i.baseState;var c=s=null,l=null,u=o;do{var d=u.lane;if((So&d)===d)l!==null&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),i=u.hasEagerState?u.eagerState:e(i,u.action);else{var f={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};l===null?(c=l=f,s=i):l=l.next=f,Y.lanes|=d,Yc|=d}u=u.next}while(u!==null&&u!==o);l===null?s=i:l.next=c,kr(i,t.memoizedState)||(Ps=!0),t.memoizedState=i,t.baseState=s,t.baseQueue=l,n.lastRenderedState=i}if(e=n.interleaved,e!==null){a=e;do o=a.lane,Y.lanes|=o,Yc|=o,a=a.next;while(a!==e)}else a===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Lo(e){var t=Po(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var i=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);kr(o,t.memoizedState)||(Ps=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,i]}function Ro(){}function zo(e,t){var n=Y,i=Po(),a=t(),o=!kr(i.memoizedState,a);if(o&&(i.memoizedState=a,Ps=!0),i=i.queue,Zo(Ho.bind(null,n,i,e),[e]),i.getSnapshot!==t||o||wo!==null&&wo.memoizedState.tag&1){if(n.flags|=2048,Ko(9,Vo.bind(null,n,i,a,t),void 0,null),Hc===null)throw Error(r(349));So&30||Bo(n,t,a)}return a}function Bo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Y.updateQueue,t===null?(t={lastEffect:null,stores:null},Y.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Vo(e,t,n,r){t.value=n,t.getSnapshot=r,Uo(t)&&Wo(e)}function Ho(e,t,n){return n(function(){Uo(t)&&Wo(e)})}function Uo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!kr(e,n)}catch{return!0}}function Wo(e){var t=Za(e,1);t!==null&&$(t,e,1,-1)}function Go(e){var t=No();return typeof e==`function`&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Fo,lastRenderedState:e},t.queue=e,e=e.dispatch=ls.bind(null,Y,e),[t.memoizedState,e]}function Ko(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Y.updateQueue,t===null?(t={lastEffect:null,stores:null},Y.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function qo(){return Po().memoizedState}function Jo(e,t,n,r){var i=No();Y.flags|=e,i.memoizedState=Ko(1|t,n,void 0,r===void 0?null:r)}function Yo(e,t,n,r){var i=Po();r=r===void 0?null:r;var a=void 0;if(Co!==null){var o=Co.memoizedState;if(a=o.destroy,r!==null&&Ao(r,o.deps)){i.memoizedState=Ko(t,n,a,r);return}}Y.flags|=e,i.memoizedState=Ko(1|t,n,a,r)}function Xo(e,t){return Jo(8390656,8,e,t)}function Zo(e,t){return Yo(2048,8,e,t)}function Qo(e,t){return Yo(4,2,e,t)}function $o(e,t){return Yo(4,4,e,t)}function es(e,t){if(typeof t==`function`)return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function ts(e,t,n){return n=n==null?null:n.concat([e]),Yo(4,4,es.bind(null,t,e),n)}function ns(){}function rs(e,t){var n=Po();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Ao(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function is(e,t){var n=Po();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Ao(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function as(e,t,n){return So&21?(kr(n,t)||(n=It(),Y.lanes|=n,Yc|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Ps=!0),e.memoizedState=n)}function os(e,t){var n=V;V=n!==0&&4>n?n:4,e(!0);var r=xo.transition;xo.transition={};try{e(!1),t()}finally{V=n,xo.transition=r}}function ss(){return Po().memoizedState}function cs(e,t,n){var r=ml(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},us(e))ds(t,n);else if(n=Xa(e,t,n,r),n!==null){var i=pl();$(n,e,r,i),fs(n,t,r)}}function ls(e,t,n){var r=ml(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(us(e))ds(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,kr(s,o)){var c=t.interleaved;c===null?(i.next=i,Ya(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}n=Xa(e,t,i,r),n!==null&&(i=pl(),$(n,e,r,i),fs(n,t,r))}}function us(e){var t=e.alternate;return e===Y||t!==null&&t===Y}function ds(e,t){Eo=To=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function fs(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Bt(e,n)}}var ps={readContext:qa,useCallback:ko,useContext:ko,useEffect:ko,useImperativeHandle:ko,useInsertionEffect:ko,useLayoutEffect:ko,useMemo:ko,useReducer:ko,useRef:ko,useState:ko,useDebugValue:ko,useDeferredValue:ko,useTransition:ko,useMutableSource:ko,useSyncExternalStore:ko,useId:ko,unstable_isNewReconciler:!1},ms={readContext:qa,useCallback:function(e,t){return No().memoizedState=[e,t===void 0?null:t],e},useContext:qa,useEffect:Xo,useImperativeHandle:function(e,t,n){return n=n==null?null:n.concat([e]),Jo(4194308,4,es.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Jo(4194308,4,e,t)},useInsertionEffect:function(e,t){return Jo(4,2,e,t)},useMemo:function(e,t){var n=No();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=No();return t=n===void 0?t:n(t),r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=cs.bind(null,Y,e),[r.memoizedState,e]},useRef:function(e){var t=No();return e={current:e},t.memoizedState=e},useState:Go,useDebugValue:ns,useDeferredValue:function(e){return No().memoizedState=e},useTransition:function(){var e=Go(!1),t=e[0];return e=os.bind(null,e[1]),No().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=Y,a=No();if(q){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),Hc===null)throw Error(r(349));So&30||Bo(i,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Xo(Ho.bind(null,i,o,e),[e]),i.flags|=2048,Ko(9,Vo.bind(null,i,o,n,t),void 0,null),n},useId:function(){var e=No(),t=Hc.identifierPrefix;if(q){var n=ha,r=ma;n=(r&~(1<<32-Tt(r)-1)).toString(32)+n,t=`:`+t+`R`+n,n=Do++,0<n&&(t+=`H`+n.toString(32)),t+=`:`}else n=Oo++,t=`:`+t+`r`+n.toString(32)+`:`;return e.memoizedState=t},unstable_isNewReconciler:!1},hs={readContext:qa,useCallback:rs,useContext:qa,useEffect:Zo,useImperativeHandle:ts,useInsertionEffect:Qo,useLayoutEffect:$o,useMemo:is,useReducer:Io,useRef:qo,useState:function(){return Io(Fo)},useDebugValue:ns,useDeferredValue:function(e){return as(Po(),Co.memoizedState,e)},useTransition:function(){return[Io(Fo)[0],Po().memoizedState]},useMutableSource:Ro,useSyncExternalStore:zo,useId:ss,unstable_isNewReconciler:!1},gs={readContext:qa,useCallback:rs,useContext:qa,useEffect:Zo,useImperativeHandle:ts,useInsertionEffect:Qo,useLayoutEffect:$o,useMemo:is,useReducer:Lo,useRef:qo,useState:function(){return Lo(Fo)},useDebugValue:ns,useDeferredValue:function(e){var t=Po();return Co===null?t.memoizedState=e:as(t,Co.memoizedState,e)},useTransition:function(){return[Lo(Fo)[0],Po().memoizedState]},useMutableSource:Ro,useSyncExternalStore:zo,useId:ss,unstable_isNewReconciler:!1};function _s(e,t){if(e&&e.defaultProps){for(var n in t=A({},t),e=e.defaultProps,e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function vs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:A({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var ys={isMounted:function(e){return(e=e._reactInternals)?ot(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=pl(),i=ml(e),a=to(r,i);a.payload=t,n!=null&&(a.callback=n),t=no(e,a,i),t!==null&&($(t,e,i,r),ro(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=pl(),i=ml(e),a=to(r,i);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=no(e,a,i),t!==null&&($(t,e,i,r),ro(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=pl(),r=ml(e),i=to(n,r);i.tag=2,t!=null&&(i.callback=t),t=no(e,i,r),t!==null&&($(t,e,r,n),ro(t,e,r))}};function bs(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?!Ar(n,r)||!Ar(i,a):!0}function xs(e,t,n){var r=!1,i=Wi,a=t.contextType;return typeof a==`object`&&a?a=qa(a):(i=Yi(t)?qi:Gi.current,r=t.contextTypes,a=(r=r!=null)?Ji(e,i):Wi),t=new t(n,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=ys,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function Ss(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&&ys.enqueueReplaceState(t,t.state,null)}function Cs(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},$a(e);var a=t.contextType;typeof a==`object`&&a?i.context=qa(a):(a=Yi(t)?qi:Gi.current,i.context=Ji(e,a)),i.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a==`function`&&(vs(e,t,a,n),i.state=e.memoizedState),typeof t.getDerivedStateFromProps==`function`||typeof i.getSnapshotBeforeUpdate==`function`||typeof i.UNSAFE_componentWillMount!=`function`&&typeof i.componentWillMount!=`function`||(t=i.state,typeof i.componentWillMount==`function`&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount==`function`&&i.UNSAFE_componentWillMount(),t!==i.state&&ys.enqueueReplaceState(i,i.state,null),ao(e,n,i,r),i.state=e.memoizedState),typeof i.componentDidMount==`function`&&(e.flags|=4194308)}function ws(e,t){try{var n=``,r=t;do n+=pe(r),r=r.return;while(r);var i=n}catch(e){i=`
|
|
7
|
+
Error generating stack: `+e.message+`
|
|
8
|
+
`+e.stack}return{value:e,source:t,stack:i,digest:null}}function Ts(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Es(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var Ds=typeof WeakMap==`function`?WeakMap:Map;function Os(e,t,n){n=to(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){rl||(rl=!0,il=r),Es(e,t)},n}function ks(e,t,n){n=to(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r==`function`){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){Es(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch==`function`&&(n.callback=function(){Es(e,t),typeof r!=`function`&&(al===null?al=new Set([this]):al.add(this));var n=t.stack;this.componentDidCatch(t.value,{componentStack:n===null?``:n})}),n}function As(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Ds;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)||(i.add(n),e=zl.bind(null,e,t,n),t.then(e,e))}function js(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t===null?!0:t.dehydrated!==null),t)return e;e=e.return}while(e!==null);return null}function Ms(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=to(-1,1),t.tag=2,no(n,t,1))),n.lanes|=1),e)}var Ns=C.ReactCurrentOwner,Ps=!1;function Fs(e,t,n,r){t.child=e===null?Ra(t,null,n,r):La(t,e.child,n,r)}function Is(e,t,n,r,i){n=n.render;var a=t.ref;return Ka(t,i),r=jo(e,t,n,r,a,i),n=Mo(),e!==null&&!Ps?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,nc(e,t,i)):(q&&n&&va(t),t.flags|=1,Fs(e,t,r,i),t.child)}function Ls(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!ql(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,Rs(e,t,a,r,i)):(e=Xl(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,(e.lanes&i)===0){var o=a.memoizedProps;if(n=n.compare,n=n===null?Ar:n,n(o,r)&&e.ref===t.ref)return nc(e,t,i)}return t.flags|=1,e=Yl(a,r),e.ref=t.ref,e.return=t,t.child=e}function Rs(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Ar(a,r)&&e.ref===t.ref)if(Ps=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(Ps=!0);else return t.lanes=e.lanes,nc(e,t,i)}return Vs(e,t,n,r,i)}function zs(e,t,n){var r=t.pendingProps,i=r.children,a=e===null?null:e.memoizedState;if(r.mode===`hidden`)if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},K(Kc,Gc),Gc|=n;else{if(!(n&1073741824))return e=a===null?n:a.baseLanes|n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,K(Kc,Gc),Gc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a===null?n:a.baseLanes,K(Kc,Gc),Gc|=r}else a===null?r=n:(r=a.baseLanes|n,t.memoizedState=null),K(Kc,Gc),Gc|=r;return Fs(e,t,i,n),t.child}function Bs(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Vs(e,t,n,r,i){var a=Yi(n)?qi:Gi.current;return a=Ji(t,a),Ka(t,i),n=jo(e,t,n,r,a,i),r=Mo(),e!==null&&!Ps?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,nc(e,t,i)):(q&&r&&va(t),t.flags|=1,Fs(e,t,n,i),t.child)}function Hs(e,t,n,r,i){if(Yi(n)){var a=!0;$i(t)}else a=!1;if(Ka(t,i),t.stateNode===null)tc(e,t),xs(t,n,r),Cs(t,n,r,i),r=!0;else if(e===null){var o=t.stateNode,s=t.memoizedProps;o.props=s;var c=o.context,l=n.contextType;typeof l==`object`&&l?l=qa(l):(l=Yi(n)?qi:Gi.current,l=Ji(t,l));var u=n.getDerivedStateFromProps,d=typeof u==`function`||typeof o.getSnapshotBeforeUpdate==`function`;d||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==r||c!==l)&&Ss(t,o,r,l),Qa=!1;var f=t.memoizedState;o.state=f,ao(t,r,o,i),c=t.memoizedState,s!==r||f!==c||Ki.current||Qa?(typeof u==`function`&&(vs(t,n,u,r),c=t.memoizedState),(s=Qa||bs(t,n,s,r,f,c,l))?(d||typeof o.UNSAFE_componentWillMount!=`function`&&typeof o.componentWillMount!=`function`||(typeof o.componentWillMount==`function`&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount==`function`&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount==`function`&&(t.flags|=4194308)):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),o.props=r,o.state=c,o.context=l,r=s):(typeof o.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,eo(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:_s(t.type,s),o.props=l,d=t.pendingProps,f=o.context,c=n.contextType,typeof c==`object`&&c?c=qa(c):(c=Yi(n)?qi:Gi.current,c=Ji(t,c));var p=n.getDerivedStateFromProps;(u=typeof p==`function`||typeof o.getSnapshotBeforeUpdate==`function`)||typeof o.UNSAFE_componentWillReceiveProps!=`function`&&typeof o.componentWillReceiveProps!=`function`||(s!==d||f!==c)&&Ss(t,o,r,c),Qa=!1,f=t.memoizedState,o.state=f,ao(t,r,o,i);var m=t.memoizedState;s!==d||f!==m||Ki.current||Qa?(typeof p==`function`&&(vs(t,n,p,r),m=t.memoizedState),(l=Qa||bs(t,n,l,r,f,m,c)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!=`function`&&typeof o.componentWillUpdate!=`function`||(typeof o.componentWillUpdate==`function`&&o.componentWillUpdate(r,m,c),typeof o.UNSAFE_componentWillUpdate==`function`&&o.UNSAFE_componentWillUpdate(r,m,c)),typeof o.componentDidUpdate==`function`&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=c,r=l):(typeof o.componentDidUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!=`function`||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Us(e,t,n,r,a,i)}function Us(e,t,n,r,i,a){Bs(e,t);var o=(t.flags&128)!=0;if(!r&&!o)return i&&ea(t,n,!1),nc(e,t,a);r=t.stateNode,Ns.current=t;var s=o&&typeof n.getDerivedStateFromError!=`function`?null:r.render();return t.flags|=1,e!==null&&o?(t.child=La(t,e.child,null,a),t.child=La(t,null,s,a)):Fs(e,t,s,a),t.memoizedState=r.state,i&&ea(t,n,!0),t.child}function Ws(e){var t=e.stateNode;t.pendingContext?Zi(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Zi(e,t.context,!1),po(e,t.containerInfo)}function Gs(e,t,n,r,i){return Aa(),ja(i),t.flags|=256,Fs(e,t,n,r),t.child}var Ks={dehydrated:null,treeContext:null,retryLane:0};function qs(e){return{baseLanes:e,cachePool:null,transitions:null}}function Js(e,t,n){var r=t.pendingProps,i=J.current,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(i&2)!=0),s?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),K(J,i&1),e===null)return Ea(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data===`$!`?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,a?(r=t.mode,a=t.child,o={mode:`hidden`,children:o},!(r&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=Ql(o,r,0,null),e=Zl(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=qs(n),t.memoizedState=Ks,e):Ys(t,o));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return Zs(e,t,o,r,s,i,n);if(a){a=r.fallback,o=t.mode,i=e.child,s=i.sibling;var c={mode:`hidden`,children:r.children};return!(o&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=c,t.deletions=null):(r=Yl(i,c),r.subtreeFlags=i.subtreeFlags&14680064),s===null?(a=Zl(a,o,n,null),a.flags|=2):a=Yl(s,a),a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,o=e.child.memoizedState,o=o===null?qs(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=Ks,r}return a=e.child,e=a.sibling,r=Yl(a,{mode:`visible`,children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Ys(e,t){return t=Ql({mode:`visible`,children:t},e.mode,0,null),t.return=e,e.child=t}function Xs(e,t,n,r){return r!==null&&ja(r),La(t,e.child,null,n),e=Ys(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Zs(e,t,n,i,a,o,s){if(n)return t.flags&256?(t.flags&=-257,i=Ts(Error(r(422))),Xs(e,t,s,i)):t.memoizedState===null?(o=i.fallback,a=t.mode,i=Ql({mode:`visible`,children:i.children},a,0,null),o=Zl(o,a,s,null),o.flags|=2,i.return=t,o.return=t,i.sibling=o,t.child=i,t.mode&1&&La(t,e.child,null,s),t.child.memoizedState=qs(s),t.memoizedState=Ks,o):(t.child=e.child,t.flags|=128,null);if(!(t.mode&1))return Xs(e,t,s,null);if(a.data===`$!`){if(i=a.nextSibling&&a.nextSibling.dataset,i)var c=i.dgst;return i=c,o=Error(r(419)),i=Ts(o,i,void 0),Xs(e,t,s,i)}if(c=(s&e.childLanes)!==0,Ps||c){if(i=Hc,i!==null){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}a=(a&(i.suspendedLanes|s))===0?a:0,a!==0&&a!==o.retryLane&&(o.retryLane=a,Za(e,a),$(i,e,a,-1))}return Ol(),i=Ts(Error(r(421))),Xs(e,t,s,i)}return a.data===`$?`?(t.flags|=128,t.child=e.child,t=Vl.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,xa=ki(a.nextSibling),ba=t,q=!0,Sa=null,e!==null&&(da[fa++]=ma,da[fa++]=ha,da[fa++]=pa,ma=e.id,ha=e.overflow,pa=t),t=Ys(t,i.children),t.flags|=4096,t)}function Qs(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ga(e.return,t,n)}function $s(e,t,n,r,i){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function ec(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Fs(e,t,r.children,n),r=J.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Qs(e,n,t);else if(e.tag===19)Qs(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}r&=1}if(K(J,r),!(t.mode&1))t.memoizedState=null;else switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&_o(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),$s(t,!1,i,n,a);break;case`backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&_o(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}$s(t,!0,n,null,a);break;case`together`:$s(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function tc(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function nc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Yc|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,n=Yl(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Yl(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function rc(e,t,n){switch(t.tag){case 3:Ws(t),Aa();break;case 5:ho(t);break;case 1:Yi(t.type)&&$i(t);break;case 4:po(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;K(za,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(K(J,J.current&1),e=nc(e,t,n),e===null?null:e.sibling):Js(e,t,n):(K(J,J.current&1),t.flags|=128,null);K(J,J.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return ec(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),K(J,J.current),r)break;return null;case 22:case 23:return t.lanes=0,zs(e,t,n)}return nc(e,t,n)}var ic=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},ac=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,fo(co.current);var o=null;switch(n){case`input`:i=be(e,i),r=be(e,r),o=[];break;case`select`:i=A({},i,{value:void 0}),r=A({},r,{value:void 0}),o=[];break;case`textarea`:i=De(e,i),r=De(e,r),o=[];break;default:typeof i.onClick!=`function`&&typeof r.onClick==`function`&&(e.onclick=yi)}Re(n,r);var s;for(u in n=null,i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&i[u]!=null)if(u===`style`){var c=i[u];for(s in c)c.hasOwnProperty(s)&&(n||={},n[s]=``)}else u!==`dangerouslySetInnerHTML`&&u!==`children`&&u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&u!==`autoFocus`&&(a.hasOwnProperty(u)?o||=[]:(o||=[]).push(u,null));for(u in r){var l=r[u];if(c=i?.[u],r.hasOwnProperty(u)&&l!==c&&(l!=null||c!=null))if(u===`style`)if(c){for(s in c)!c.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||={},n[s]=``);for(s in l)l.hasOwnProperty(s)&&c[s]!==l[s]&&(n||={},n[s]=l[s])}else n||(o||=[],o.push(u,n)),n=l;else u===`dangerouslySetInnerHTML`?(l=l?l.__html:void 0,c=c?c.__html:void 0,l!=null&&c!==l&&(o||=[]).push(u,l)):u===`children`?typeof l!=`string`&&typeof l!=`number`||(o||=[]).push(u,``+l):u!==`suppressContentEditableWarning`&&u!==`suppressHydrationWarning`&&(a.hasOwnProperty(u)?(l!=null&&u===`onScroll`&&U(`scroll`,e),o||c===l||(o=[])):(o||=[]).push(u,l))}n&&(o||=[]).push(`style`,n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},oc=function(e,t,n,r){n!==r&&(t.flags|=4)};function sc(e,t){if(!q)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 cc(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&14680064,r|=i.flags&14680064,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 lc(e,t,n){var i=t.pendingProps;switch(ya(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return cc(t),null;case 1:return Yi(t.type)&&Xi(),cc(t),null;case 3:return i=t.stateNode,mo(),G(Ki),G(Gi),yo(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Oa(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Sa!==null&&(vl(Sa),Sa=null))),cc(t),null;case 5:go(t);var o=fo(uo.current);if(n=t.type,e!==null&&t.stateNode!=null)ac(e,t,n,i,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(r(166));return cc(t),null}if(e=fo(co.current),Oa(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[Mi]=t,i[Ni]=s,e=(t.mode&1)!=0,n){case`dialog`:U(`cancel`,i),U(`close`,i);break;case`iframe`:case`object`:case`embed`:U(`load`,i);break;case`video`:case`audio`:for(o=0;o<ni.length;o++)U(ni[o],i);break;case`source`:U(`error`,i);break;case`img`:case`image`:case`link`:U(`error`,i),U(`load`,i);break;case`details`:U(`toggle`,i);break;case`input`:xe(i,s),U(`invalid`,i);break;case`select`:i._wrapperState={wasMultiple:!!s.multiple},U(`invalid`,i);break;case`textarea`:Oe(i,s),U(`invalid`,i)}for(var c in Re(n,s),o=null,s)if(s.hasOwnProperty(c)){var l=s[c];c===`children`?typeof l==`string`?i.textContent!==l&&(!0!==s.suppressHydrationWarning&&vi(i.textContent,l,e),o=[`children`,l]):typeof l==`number`&&i.textContent!==``+l&&(!0!==s.suppressHydrationWarning&&vi(i.textContent,l,e),o=[`children`,``+l]):a.hasOwnProperty(c)&&l!=null&&c===`onScroll`&&U(`scroll`,i)}switch(n){case`input`:_e(i),we(i,s,!0);break;case`textarea`:_e(i),Ae(i);break;case`select`:case`option`:break;default:typeof s.onClick==`function`&&(i.onclick=yi)}i=o,t.updateQueue=i,i!==null&&(t.flags|=4)}else{c=o.nodeType===9?o:o.ownerDocument,e===`http://www.w3.org/1999/xhtml`&&(e=je(n)),e===`http://www.w3.org/1999/xhtml`?n===`script`?(e=c.createElement(`div`),e.innerHTML=`<script><\/script>`,e=e.removeChild(e.firstChild)):typeof i.is==`string`?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),n===`select`&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[Mi]=t,e[Ni]=i,ic(e,t,!1,!1),t.stateNode=e;a:{switch(c=ze(n,i),n){case`dialog`:U(`cancel`,e),U(`close`,e),o=i;break;case`iframe`:case`object`:case`embed`:U(`load`,e),o=i;break;case`video`:case`audio`:for(o=0;o<ni.length;o++)U(ni[o],e);o=i;break;case`source`:U(`error`,e),o=i;break;case`img`:case`image`:case`link`:U(`error`,e),U(`load`,e),o=i;break;case`details`:U(`toggle`,e),o=i;break;case`input`:xe(e,i),o=be(e,i),U(`invalid`,e);break;case`option`:o=i;break;case`select`:e._wrapperState={wasMultiple:!!i.multiple},o=A({},i,{value:void 0}),U(`invalid`,e);break;case`textarea`:Oe(e,i),o=De(e,i),U(`invalid`,e);break;default:o=i}for(s in Re(n,o),l=o,l)if(l.hasOwnProperty(s)){var u=l[s];s===`style`?I(e,u):s===`dangerouslySetInnerHTML`?(u=u?u.__html:void 0,u!=null&&P(e,u)):s===`children`?typeof u==`string`?(n!==`textarea`||u!==``)&&Pe(e,u):typeof u==`number`&&Pe(e,``+u):s!==`suppressContentEditableWarning`&&s!==`suppressHydrationWarning`&&s!==`autoFocus`&&(a.hasOwnProperty(s)?u!=null&&s===`onScroll`&&U(`scroll`,e):u!=null&&S(e,s,u,c))}switch(n){case`input`:_e(e),we(e,i,!1);break;case`textarea`:_e(e),Ae(e);break;case`option`:i.value!=null&&e.setAttribute(`value`,``+he(i.value));break;case`select`:e.multiple=!!i.multiple,s=i.value,s==null?i.defaultValue!=null&&N(e,!!i.multiple,i.defaultValue,!0):N(e,!!i.multiple,s,!1);break;default:typeof o.onClick==`function`&&(e.onclick=yi)}switch(n){case`button`:case`input`:case`select`:case`textarea`:i=!!i.autoFocus;break a;case`img`:i=!0;break a;default:i=!1}}i&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return cc(t),null;case 6:if(e&&t.stateNode!=null)oc(e,t,e.memoizedProps,i);else{if(typeof i!=`string`&&t.stateNode===null)throw Error(r(166));if(n=fo(uo.current),fo(co.current),Oa(t)){if(i=t.stateNode,n=t.memoizedProps,i[Mi]=t,(s=i.nodeValue!==n)&&(e=ba,e!==null))switch(e.tag){case 3:vi(i.nodeValue,n,(e.mode&1)!=0);break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&vi(i.nodeValue,n,(e.mode&1)!=0)}s&&(t.flags|=4)}else i=(n.nodeType===9?n:n.ownerDocument).createTextNode(i),i[Mi]=t,t.stateNode=i}return cc(t),null;case 13:if(G(J),i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(q&&xa!==null&&t.mode&1&&!(t.flags&128))ka(),Aa(),t.flags|=98560,s=!1;else if(s=Oa(t),i!==null&&i.dehydrated!==null){if(e===null){if(!s)throw Error(r(318));if(s=t.memoizedState,s=s===null?null:s.dehydrated,!s)throw Error(r(317));s[Mi]=t}else Aa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;cc(t),s=!1}else Sa!==null&&(vl(Sa),Sa=null),s=!0;if(!s)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(i=i!==null,i!==(e!==null&&e.memoizedState!==null)&&i&&(t.child.flags|=8192,t.mode&1&&(e===null||J.current&1?qc===0&&(qc=3):Ol())),t.updateQueue!==null&&(t.flags|=4),cc(t),null);case 4:return mo(),e===null&&ci(t.stateNode.containerInfo),cc(t),null;case 10:return Wa(t.type._context),cc(t),null;case 17:return Yi(t.type)&&Xi(),cc(t),null;case 19:if(G(J),s=t.memoizedState,s===null)return cc(t),null;if(i=(t.flags&128)!=0,c=s.rendering,c===null)if(i)sc(s,!1);else{if(qc!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(c=_o(e),c!==null){for(t.flags|=128,sc(s,!1),i=c.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),t.subtreeFlags=0,i=n,n=t.child;n!==null;)s=n,e=i,s.flags&=14680066,c=s.alternate,c===null?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=c.childLanes,s.lanes=c.lanes,s.child=c.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=c.memoizedProps,s.memoizedState=c.memoizedState,s.updateQueue=c.updateQueue,s.type=c.type,e=c.dependencies,s.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return K(J,J.current&1|2),t.child}e=e.sibling}s.tail!==null&&B()>tl&&(t.flags|=128,i=!0,sc(s,!1),t.lanes=4194304)}else{if(!i)if(e=_o(c),e!==null){if(t.flags|=128,i=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),sc(s,!0),s.tail===null&&s.tailMode===`hidden`&&!c.alternate&&!q)return cc(t),null}else 2*B()-s.renderingStartTime>tl&&n!==1073741824&&(t.flags|=128,i=!0,sc(s,!1),t.lanes=4194304);s.isBackwards?(c.sibling=t.child,t.child=c):(n=s.last,n===null?t.child=c:n.sibling=c,s.last=c)}return s.tail===null?(cc(t),null):(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=B(),t.sibling=null,n=J.current,K(J,i?n&1|2:n&1),t);case 22:case 23:return wl(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?Gc&1073741824&&(cc(t),t.subtreeFlags&6&&(t.flags|=8192)):cc(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function uc(e,t){switch(ya(t),t.tag){case 1:return Yi(t.type)&&Xi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return mo(),G(Ki),G(Gi),yo(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return go(t),null;case 13:if(G(J),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));Aa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return G(J),null;case 4:return mo(),null;case 10:return Wa(t.type._context),null;case 22:case 23:return wl(),null;case 24:return null;default:return null}}var X=!1,dc=!1,fc=typeof WeakSet==`function`?WeakSet:Set,Z=null;function pc(e,t){var n=e.ref;if(n!==null)if(typeof n==`function`)try{n(null)}catch(n){Rl(e,t,n)}else n.current=null}function mc(e,t,n){try{n()}catch(n){Rl(e,t,n)}}var hc=!1;function gc(e,t){if(bi=pn,e=Pr(),Fr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.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||i!==0&&f.nodeType!==3||(l=s+i),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===i&&(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(xi={focusedElem:e,selectionRange:n},pn=!1,Z=t;Z!==null;)if(t=Z,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Z=e;else for(;Z!==null;){t=Z;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var g=h.memoizedProps,_=h.memoizedState,v=t.stateNode;v.__reactInternalSnapshotBeforeUpdate=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:_s(t.type,g),_)}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent=``:y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(e){Rl(t,t.return,e)}if(e=t.sibling,e!==null){e.return=t.return,Z=e;break}Z=t.return}return h=hc,hc=!1,h}function _c(e,t,n){var r=t.updateQueue;if(r=r===null?null:r.lastEffect,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&mc(t,n,a)}i=i.next}while(i!==r)}}function vc(e,t){if(t=t.updateQueue,t=t===null?null:t.lastEffect,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function yc(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t==`function`?t(e):t.current=e}}function bc(e){var t=e.alternate;t!==null&&(e.alternate=null,bc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Mi],delete t[Ni],delete t[W],delete t[Fi],delete t[Ii])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function xc(e){return e.tag===5||e.tag===3||e.tag===4}function Sc(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.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 Cc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=yi));else if(r!==4&&(e=e.child,e!==null))for(Cc(e,t,n),e=e.sibling;e!==null;)Cc(e,t,n),e=e.sibling}function wc(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&&(e=e.child,e!==null))for(wc(e,t,n),e=e.sibling;e!==null;)wc(e,t,n),e=e.sibling}var Tc=null,Ec=!1;function Dc(e,t,n){for(n=n.child;n!==null;)Oc(e,t,n),n=n.sibling}function Oc(e,t,n){if(Ct&&typeof Ct.onCommitFiberUnmount==`function`)try{Ct.onCommitFiberUnmount(St,n)}catch{}switch(n.tag){case 5:dc||pc(n,t);case 6:var r=Tc,i=Ec;Tc=null,Dc(e,t,n),Tc=r,Ec=i,Tc!==null&&(Ec?(e=Tc,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Tc.removeChild(n.stateNode));break;case 18:Tc!==null&&(Ec?(e=Tc,n=n.stateNode,e.nodeType===8?Oi(e.parentNode,n):e.nodeType===1&&Oi(e,n),dn(e)):Oi(Tc,n.stateNode));break;case 4:r=Tc,i=Ec,Tc=n.stateNode.containerInfo,Ec=!0,Dc(e,t,n),Tc=r,Ec=i;break;case 0:case 11:case 14:case 15:if(!dc&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&mc(n,t,o),i=i.next}while(i!==r)}Dc(e,t,n);break;case 1:if(!dc&&(pc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){Rl(n,t,e)}Dc(e,t,n);break;case 21:Dc(e,t,n);break;case 22:n.mode&1?(dc=(r=dc)||n.memoizedState!==null,Dc(e,t,n),dc=r):Dc(e,t,n);break;default:Dc(e,t,n)}}function kc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new fc),t.forEach(function(t){var r=Hl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function Ac(e,t){var n=t.deletions;if(n!==null)for(var i=0;i<n.length;i++){var a=n[i];try{var o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 5:Tc=c.stateNode,Ec=!1;break a;case 3:Tc=c.stateNode.containerInfo,Ec=!0;break a;case 4:Tc=c.stateNode.containerInfo,Ec=!0;break a}c=c.return}if(Tc===null)throw Error(r(160));Oc(o,s,a),Tc=null,Ec=!1;var l=a.alternate;l!==null&&(l.return=null),a.return=null}catch(e){Rl(a,t,e)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)jc(t,e),t=t.sibling}function jc(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Ac(t,e),Mc(e),i&4){try{_c(3,e,e.return),vc(3,e)}catch(t){Rl(e,e.return,t)}try{_c(5,e,e.return)}catch(t){Rl(e,e.return,t)}}break;case 1:Ac(t,e),Mc(e),i&512&&n!==null&&pc(n,n.return);break;case 5:if(Ac(t,e),Mc(e),i&512&&n!==null&&pc(n,n.return),e.flags&32){var a=e.stateNode;try{Pe(a,``)}catch(t){Rl(e,e.return,t)}}if(i&4&&(a=e.stateNode,a!=null)){var o=e.memoizedProps,s=n===null?o:n.memoizedProps,c=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{c===`input`&&o.type===`radio`&&o.name!=null&&Se(a,o),ze(c,s);var u=ze(c,o);for(s=0;s<l.length;s+=2){var d=l[s],f=l[s+1];d===`style`?I(a,f):d===`dangerouslySetInnerHTML`?P(a,f):d===`children`?Pe(a,f):S(a,d,f,u)}switch(c){case`input`:Ce(a,o);break;case`textarea`:ke(a,o);break;case`select`:var p=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!o.multiple;var m=o.value;m==null?p!==!!o.multiple&&(o.defaultValue==null?N(a,!!o.multiple,o.multiple?[]:``,!1):N(a,!!o.multiple,o.defaultValue,!0)):N(a,!!o.multiple,m,!1)}a[Ni]=o}catch(t){Rl(e,e.return,t)}}break;case 6:if(Ac(t,e),Mc(e),i&4){if(e.stateNode===null)throw Error(r(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(t){Rl(e,e.return,t)}}break;case 3:if(Ac(t,e),Mc(e),i&4&&n!==null&&n.memoizedState.isDehydrated)try{dn(t.containerInfo)}catch(t){Rl(e,e.return,t)}break;case 4:Ac(t,e),Mc(e);break;case 13:Ac(t,e),Mc(e),a=e.child,a.flags&8192&&(o=a.memoizedState!==null,a.stateNode.isHidden=o,!o||a.alternate!==null&&a.alternate.memoizedState!==null||(el=B())),i&4&&kc(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(dc=(u=dc)||d,Ac(t,e),dc=u):Ac(t,e),Mc(e),i&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(Z=e,d=e.child;d!==null;){for(f=Z=d;Z!==null;){switch(p=Z,m=p.child,p.tag){case 0:case 11:case 14:case 15:_c(4,p,p.return);break;case 1:pc(p,p.return);var h=p.stateNode;if(typeof h.componentWillUnmount==`function`){i=p,n=p.return;try{t=i,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(e){Rl(i,n,e)}}break;case 5:pc(p,p.return);break;case 22:if(p.memoizedState!==null){Ic(f);continue}}m===null?Ic(f):(m.return=p,Z=m)}d=d.sibling}a:for(d=null,f=e;;){if(f.tag===5){if(d===null){d=f;try{a=f.stateNode,u?(o=a.style,typeof o.setProperty==`function`?o.setProperty(`display`,`none`,`important`):o.display=`none`):(c=f.stateNode,l=f.memoizedProps.style,s=l!=null&&l.hasOwnProperty(`display`)?l.display:null,c.style.display=F(`display`,s))}catch(t){Rl(e,e.return,t)}}}else if(f.tag===6){if(d===null)try{f.stateNode.nodeValue=u?``:f.memoizedProps}catch(t){Rl(e,e.return,t)}}else if((f.tag!==22&&f.tag!==23||f.memoizedState===null||f===e)&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===e)break a;for(;f.sibling===null;){if(f.return===null||f.return===e)break a;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:Ac(t,e),Mc(e),i&4&&kc(e);break;case 21:break;default:Ac(t,e),Mc(e)}}function Mc(e){var t=e.flags;if(t&2){try{a:{for(var n=e.return;n!==null;){if(xc(n)){var i=n;break a}n=n.return}throw Error(r(160))}switch(i.tag){case 5:var a=i.stateNode;i.flags&32&&(Pe(a,``),i.flags&=-33),wc(e,Sc(e),a);break;case 3:case 4:var o=i.stateNode.containerInfo;Cc(e,Sc(e),o);break;default:throw Error(r(161))}}catch(t){Rl(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Nc(e,t,n){Z=e,Pc(e,t,n)}function Pc(e,t,n){for(var r=(e.mode&1)!=0;Z!==null;){var i=Z,a=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||X;if(!o){var s=i.alternate,c=s!==null&&s.memoizedState!==null||dc;s=X;var l=dc;if(X=o,(dc=c)&&!l)for(Z=i;Z!==null;)o=Z,c=o.child,o.tag===22&&o.memoizedState!==null||c===null?Lc(i):(c.return=o,Z=c);for(;a!==null;)Z=a,Pc(a,t,n),a=a.sibling;Z=i,X=s,dc=l}Fc(e,t,n)}else i.subtreeFlags&8772&&a!==null?(a.return=i,Z=a):Fc(e,t,n)}}function Fc(e){for(;Z!==null;){var t=Z;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:dc||vc(5,t);break;case 1:var i=t.stateNode;if(t.flags&4&&!dc)if(n===null)i.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:_s(t.type,n.memoizedProps);i.componentDidUpdate(a,n.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;o!==null&&oo(t,o,i);break;case 3:var s=t.updateQueue;if(s!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}oo(t,s,n)}break;case 5:var c=t.stateNode;if(n===null&&t.flags&4){n=c;var l=t.memoizedProps;switch(t.type){case`button`:case`input`:case`select`:case`textarea`:l.autoFocus&&n.focus();break;case`img`:l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var d=u.memoizedState;if(d!==null){var f=d.dehydrated;f!==null&&dn(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}dc||t.flags&512&&yc(t)}catch(e){Rl(t,t.return,e)}}if(t===e){Z=null;break}if(n=t.sibling,n!==null){n.return=t.return,Z=n;break}Z=t.return}}function Ic(e){for(;Z!==null;){var t=Z;if(t===e){Z=null;break}var n=t.sibling;if(n!==null){n.return=t.return,Z=n;break}Z=t.return}}function Lc(e){for(;Z!==null;){var t=Z;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{vc(4,t)}catch(e){Rl(t,n,e)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount==`function`){var i=t.return;try{r.componentDidMount()}catch(e){Rl(t,i,e)}}var a=t.return;try{yc(t)}catch(e){Rl(t,a,e)}break;case 5:var o=t.return;try{yc(t)}catch(e){Rl(t,o,e)}}}catch(e){Rl(t,t.return,e)}if(t===e){Z=null;break}var s=t.sibling;if(s!==null){s.return=t.return,Z=s;break}Z=t.return}}var Rc=Math.ceil,zc=C.ReactCurrentDispatcher,Bc=C.ReactCurrentOwner,Vc=C.ReactCurrentBatchConfig,Q=0,Hc=null,Uc=null,Wc=0,Gc=0,Kc=Ui(0),qc=0,Jc=null,Yc=0,Xc=0,Zc=0,Qc=null,$c=null,el=0,tl=1/0,nl=null,rl=!1,il=null,al=null,ol=!1,sl=null,cl=0,ll=0,ul=null,dl=-1,fl=0;function pl(){return Q&6?B():dl===-1?dl=B():dl}function ml(e){return e.mode&1?Q&2&&Wc!==0?Wc&-Wc:Ma.transition===null?(e=V,e===0?(e=window.event,e=e===void 0?16:yn(e.type),e):e):(fl===0&&(fl=It()),fl):1}function $(e,t,n,i){if(50<ll)throw ll=0,ul=null,Error(r(185));Rt(e,n,i),(!(Q&2)||e!==Hc)&&(e===Hc&&(!(Q&2)&&(Xc|=n),qc===4&&bl(e,Wc)),hl(e,i),n===1&&Q===0&&!(t.mode&1)&&(tl=B()+500,na&&oa()))}function hl(e,t){var n=e.callbackNode;Pt(e,t);var r=Mt(e,e===Hc?Wc:0);if(r===0)n!==null&&pt(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&pt(n),t===1)e.tag===0?aa(xl.bind(null,e)):ia(xl.bind(null,e)),Ei(function(){!(Q&6)&&oa()}),n=null;else{switch(Vt(r)){case 1:n=_t;break;case 4:n=vt;break;case 16:n=yt;break;case 536870912:n=xt;break;default:n=yt}n=Wl(n,gl.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function gl(e,t){if(dl=-1,fl=0,Q&6)throw Error(r(327));var n=e.callbackNode;if(Il()&&e.callbackNode!==n)return null;var i=Mt(e,e===Hc?Wc:0);if(i===0)return null;if(i&30||(i&e.expiredLanes)!==0||t)t=kl(e,i);else{t=i;var a=Q;Q|=2;var o=Dl();(Hc!==e||Wc!==t)&&(nl=null,tl=B()+500,Tl(e,t));do try{jl();break}catch(t){El(e,t)}while(1);Ua(),zc.current=o,Q=a,Uc===null?(Hc=null,Wc=0,t=qc):t=0}if(t!==0){if(t===2&&(a=Ft(e),a!==0&&(i=a,t=_l(e,a))),t===1)throw n=Jc,Tl(e,0),bl(e,i),hl(e,B()),n;if(t===6)bl(e,i);else{if(a=e.current.alternate,!(i&30)&&!yl(a)&&(t=kl(e,i),t===2&&(o=Ft(e),o!==0&&(i=o,t=_l(e,o))),t===1))throw n=Jc,Tl(e,0),bl(e,i),hl(e,B()),n;switch(e.finishedWork=a,e.finishedLanes=i,t){case 0:case 1:throw Error(r(345));case 2:Pl(e,$c,nl);break;case 3:if(bl(e,i),(i&130023424)===i&&(t=el+500-B(),10<t)){if(Mt(e,0)!==0)break;if(a=e.suspendedLanes,(a&i)!==i){pl(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Ci(Pl.bind(null,e,$c,nl),t);break}Pl(e,$c,nl);break;case 4:if(bl(e,i),(i&4194240)===i)break;for(t=e.eventTimes,a=-1;0<i;){var s=31-Tt(i);o=1<<s,s=t[s],s>a&&(a=s),i&=~o}if(i=a,i=B()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Rc(i/1960))-i,10<i){e.timeoutHandle=Ci(Pl.bind(null,e,$c,nl),i);break}Pl(e,$c,nl);break;case 5:Pl(e,$c,nl);break;default:throw Error(r(329))}}}return hl(e,B()),e.callbackNode===n?gl.bind(null,e):null}function _l(e,t){var n=Qc;return e.current.memoizedState.isDehydrated&&(Tl(e,t).flags|=256),e=kl(e,t),e!==2&&(t=$c,$c=n,t!==null&&vl(t)),e}function vl(e){$c===null?$c=e:$c.push.apply($c,e)}function yl(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(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(!kr(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 bl(e,t){for(t&=~Zc,t&=~Xc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Tt(t),r=1<<n;e[n]=-1,t&=~r}}function xl(e){if(Q&6)throw Error(r(327));Il();var t=Mt(e,0);if(!(t&1))return hl(e,B()),null;var n=kl(e,t);if(e.tag!==0&&n===2){var i=Ft(e);i!==0&&(t=i,n=_l(e,i))}if(n===1)throw n=Jc,Tl(e,0),bl(e,t),hl(e,B()),n;if(n===6)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Pl(e,$c,nl),hl(e,B()),null}function Sl(e,t){var n=Q;Q|=1;try{return e(t)}finally{Q=n,Q===0&&(tl=B()+500,na&&oa())}}function Cl(e){sl!==null&&sl.tag===0&&!(Q&6)&&Il();var t=Q;Q|=1;var n=Vc.transition,r=V;try{if(Vc.transition=null,V=1,e)return e()}finally{V=r,Vc.transition=n,Q=t,!(Q&6)&&oa()}}function wl(){Gc=Kc.current,G(Kc)}function Tl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,wi(n)),Uc!==null)for(n=Uc.return;n!==null;){var r=n;switch(ya(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Xi();break;case 3:mo(),G(Ki),G(Gi),yo();break;case 5:go(r);break;case 4:mo();break;case 13:G(J);break;case 19:G(J);break;case 10:Wa(r.type._context);break;case 22:case 23:wl()}n=n.return}if(Hc=e,Uc=e=Yl(e.current,null),Wc=Gc=t,qc=0,Jc=null,Zc=Xc=Yc=0,$c=Qc=null,Ja!==null){for(t=0;t<Ja.length;t++)if(n=Ja[t],r=n.interleaved,r!==null){n.interleaved=null;var i=r.next,a=n.pending;if(a!==null){var o=a.next;a.next=i,r.next=o}n.pending=r}Ja=null}return e}function El(e,t){do{var n=Uc;try{if(Ua(),bo.current=ps,To){for(var i=Y.memoizedState;i!==null;){var a=i.queue;a!==null&&(a.pending=null),i=i.next}To=!1}if(So=0,wo=Co=Y=null,Eo=!1,Do=0,Bc.current=null,n===null||n.return===null){qc=1,Jc=t,Uc=null;break}a:{var o=e,s=n.return,c=n,l=t;if(t=Wc,c.flags|=32768,typeof l==`object`&&l&&typeof l.then==`function`){var u=l,d=c,f=d.tag;if(!(d.mode&1)&&(f===0||f===11||f===15)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=js(s);if(m!==null){m.flags&=-257,Ms(m,s,c,o,t),m.mode&1&&As(o,u,t),t=m,l=u;var h=t.updateQueue;if(h===null){var g=new Set;g.add(l),t.updateQueue=g}else h.add(l);break a}else{if(!(t&1)){As(o,u,t),Ol();break a}l=Error(r(426))}}else if(q&&c.mode&1){var _=js(s);if(_!==null){!(_.flags&65536)&&(_.flags|=256),Ms(_,s,c,o,t),ja(ws(l,c));break a}}o=l=ws(l,c),qc!==4&&(qc=2),Qc===null?Qc=[o]:Qc.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t;var v=Os(o,l,t);io(o,v);break a;case 1:c=l;var y=o.type,b=o.stateNode;if(!(o.flags&128)&&(typeof y.getDerivedStateFromError==`function`||b!==null&&typeof b.componentDidCatch==`function`&&(al===null||!al.has(b)))){o.flags|=65536,t&=-t,o.lanes|=t;var x=ks(o,c,t);io(o,x);break a}}o=o.return}while(o!==null)}Nl(n)}catch(e){t=e,Uc===n&&n!==null&&(Uc=n=n.return);continue}break}while(1)}function Dl(){var e=zc.current;return zc.current=ps,e===null?ps:e}function Ol(){(qc===0||qc===3||qc===2)&&(qc=4),Hc===null||!(Yc&268435455)&&!(Xc&268435455)||bl(Hc,Wc)}function kl(e,t){var n=Q;Q|=2;var i=Dl();(Hc!==e||Wc!==t)&&(nl=null,Tl(e,t));do try{Al();break}catch(t){El(e,t)}while(1);if(Ua(),Q=n,zc.current=i,Uc!==null)throw Error(r(261));return Hc=null,Wc=0,qc}function Al(){for(;Uc!==null;)Ml(Uc)}function jl(){for(;Uc!==null&&!mt();)Ml(Uc)}function Ml(e){var t=Ul(e.alternate,e,Gc);e.memoizedProps=e.pendingProps,t===null?Nl(e):Uc=t,Bc.current=null}function Nl(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=uc(n,t),n!==null){n.flags&=32767,Uc=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{qc=6,Uc=null;return}}else if(n=lc(n,t,Gc),n!==null){Uc=n;return}if(t=t.sibling,t!==null){Uc=t;return}Uc=t=e}while(t!==null);qc===0&&(qc=5)}function Pl(e,t,n){var r=V,i=Vc.transition;try{Vc.transition=null,V=1,Fl(e,t,n,r)}finally{Vc.transition=i,V=r}return null}function Fl(e,t,n,i){do Il();while(sl!==null);if(Q&6)throw Error(r(327));n=e.finishedWork;var a=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(zt(e,o),e===Hc&&(Uc=Hc=null,Wc=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||ol||(ol=!0,Wl(yt,function(){return Il(),null})),o=(n.flags&15990)!=0,n.subtreeFlags&15990||o){o=Vc.transition,Vc.transition=null;var s=V;V=1;var c=Q;Q|=4,Bc.current=null,gc(e,n),jc(n,e),Ir(xi),pn=!!bi,xi=bi=null,e.current=n,Nc(n,e,a),ht(),Q=c,V=s,Vc.transition=o}else e.current=n;if(ol&&(ol=!1,sl=e,cl=a),o=e.pendingLanes,o===0&&(al=null),wt(n.stateNode,i),hl(e,B()),t!==null)for(i=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],i(a.value,{componentStack:a.stack,digest:a.digest});if(rl)throw rl=!1,e=il,il=null,e;return cl&1&&e.tag!==0&&Il(),o=e.pendingLanes,o&1?e===ul?ll++:(ll=0,ul=e):ll=0,oa(),null}function Il(){if(sl!==null){var e=Vt(cl),t=Vc.transition,n=V;try{if(Vc.transition=null,V=16>e?16:e,sl===null)var i=!1;else{if(e=sl,sl=null,cl=0,Q&6)throw Error(r(331));var a=Q;for(Q|=4,Z=e.current;Z!==null;){var o=Z,s=o.child;if(Z.flags&16){var c=o.deletions;if(c!==null){for(var l=0;l<c.length;l++){var u=c[l];for(Z=u;Z!==null;){var d=Z;switch(d.tag){case 0:case 11:case 15:_c(8,d,o)}var f=d.child;if(f!==null)f.return=d,Z=f;else for(;Z!==null;){d=Z;var p=d.sibling,m=d.return;if(bc(d),d===u){Z=null;break}if(p!==null){p.return=m,Z=p;break}Z=m}}}var h=o.alternate;if(h!==null){var g=h.child;if(g!==null){h.child=null;do{var _=g.sibling;g.sibling=null,g=_}while(g!==null)}}Z=o}}if(o.subtreeFlags&2064&&s!==null)s.return=o,Z=s;else b:for(;Z!==null;){if(o=Z,o.flags&2048)switch(o.tag){case 0:case 11:case 15:_c(9,o,o.return)}var v=o.sibling;if(v!==null){v.return=o.return,Z=v;break b}Z=o.return}}var y=e.current;for(Z=y;Z!==null;){s=Z;var b=s.child;if(s.subtreeFlags&2064&&b!==null)b.return=s,Z=b;else b:for(s=y;Z!==null;){if(c=Z,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:vc(9,c)}}catch(e){Rl(c,c.return,e)}if(c===s){Z=null;break b}var x=c.sibling;if(x!==null){x.return=c.return,Z=x;break b}Z=c.return}}if(Q=a,oa(),Ct&&typeof Ct.onPostCommitFiberRoot==`function`)try{Ct.onPostCommitFiberRoot(St,e)}catch{}i=!0}return i}finally{V=n,Vc.transition=t}}return!1}function Ll(e,t,n){t=ws(n,t),t=Os(e,t,1),e=no(e,t,1),t=pl(),e!==null&&(Rt(e,1,t),hl(e,t))}function Rl(e,t,n){if(e.tag===3)Ll(e,e,n);else for(;t!==null;){if(t.tag===3){Ll(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(al===null||!al.has(r))){e=ws(n,e),e=ks(t,e,1),t=no(t,e,1),e=pl(),t!==null&&(Rt(t,1,e),hl(t,e));break}}t=t.return}}function zl(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=pl(),e.pingedLanes|=e.suspendedLanes&n,Hc===e&&(Wc&n)===n&&(qc===4||qc===3&&(Wc&130023424)===Wc&&500>B()-el?Tl(e,0):Zc|=n),hl(e,t)}function Bl(e,t){t===0&&(e.mode&1?(t=At,At<<=1,!(At&130023424)&&(At=4194304)):t=1);var n=pl();e=Za(e,t),e!==null&&(Rt(e,t,n),hl(e,n))}function Vl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Bl(e,n)}function Hl(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(r(314))}i!==null&&i.delete(t),Bl(e,n)}var Ul=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ki.current)Ps=!0;else{if((e.lanes&n)===0&&!(t.flags&128))return Ps=!1,rc(e,t,n);Ps=!!(e.flags&131072)}else Ps=!1,q&&t.flags&1048576&&_a(t,ua,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;tc(e,t),e=t.pendingProps;var a=Ji(t,Gi.current);Ka(t,n),a=jo(null,t,i,e,a,n);var o=Mo();return t.flags|=1,typeof a==`object`&&a&&typeof a.render==`function`&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Yi(i)?(o=!0,$i(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,$a(t),a.updater=ys,t.stateNode=a,a._reactInternals=t,Cs(t,i,e,n),t=Us(null,t,i,!0,o,n)):(t.tag=0,q&&o&&va(t),Fs(null,t,a,n),t=t.child),t;case 16:i=t.elementType;a:{switch(tc(e,t),e=t.pendingProps,a=i._init,i=a(i._payload),t.type=i,a=t.tag=Jl(i),e=_s(i,e),a){case 0:t=Vs(null,t,i,e,n);break a;case 1:t=Hs(null,t,i,e,n);break a;case 11:t=Is(null,t,i,e,n);break a;case 14:t=Ls(null,t,i,_s(i.type,e),n);break a}throw Error(r(306,i,``))}return t;case 0:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:_s(i,a),Vs(e,t,i,a,n);case 1:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:_s(i,a),Hs(e,t,i,a,n);case 3:a:{if(Ws(t),e===null)throw Error(r(387));i=t.pendingProps,o=t.memoizedState,a=o.element,eo(e,t),ao(t,i,null,n);var s=t.memoizedState;if(i=s.element,o.isDehydrated)if(o={element:i,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=ws(Error(r(423)),t),t=Gs(e,t,i,n,a);break a}else if(i!==a){a=ws(Error(r(424)),t),t=Gs(e,t,i,n,a);break a}else for(xa=ki(t.stateNode.containerInfo.firstChild),ba=t,q=!0,Sa=null,n=Ra(t,null,i,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Aa(),i===a){t=nc(e,t,n);break a}Fs(e,t,i,n)}t=t.child}return t;case 5:return ho(t),e===null&&Ea(t),i=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,s=a.children,Si(i,a)?s=null:o!==null&&Si(i,o)&&(t.flags|=32),Bs(e,t),Fs(e,t,s,n),t.child;case 6:return e===null&&Ea(t),null;case 13:return Js(e,t,n);case 4:return po(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=La(t,null,i,n):Fs(e,t,i,n),t.child;case 11:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:_s(i,a),Is(e,t,i,a,n);case 7:return Fs(e,t,t.pendingProps,n),t.child;case 8:return Fs(e,t,t.pendingProps.children,n),t.child;case 12:return Fs(e,t,t.pendingProps.children,n),t.child;case 10:a:{if(i=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,K(za,i._currentValue),i._currentValue=s,o!==null)if(kr(o.value,s)){if(o.children===a.children&&!Ki.current){t=nc(e,t,n);break a}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var c=o.dependencies;if(c!==null){s=o.child;for(var l=c.firstContext;l!==null;){if(l.context===i){if(o.tag===1){l=to(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ga(o.return,n,t),c.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(r(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Ga(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Fs(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,i=t.pendingProps.children,Ka(t,n),a=qa(a),i=i(a),t.flags|=1,Fs(e,t,i,n),t.child;case 14:return i=t.type,a=_s(i,t.pendingProps),a=_s(i.type,a),Ls(e,t,i,a,n);case 15:return Rs(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,a=t.pendingProps,a=t.elementType===i?a:_s(i,a),tc(e,t),t.tag=1,Yi(i)?(e=!0,$i(t)):e=!1,Ka(t,n),xs(t,i,a),Cs(t,i,a,n),Us(null,t,i,!0,e,n);case 19:return ec(e,t,n);case 22:return zs(e,t,n)}throw Error(r(156,t.tag))};function Wl(e,t){return ft(e,t)}function Gl(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.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 Kl(e,t,n,r){return new Gl(e,t,n,r)}function ql(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Jl(e){if(typeof e==`function`)return+!!ql(e);if(e!=null){if(e=e.$$typeof,e===ne)return 11;if(e===k)return 14}return 2}function Yl(e,t){var n=e.alternate;return n===null?(n=Kl(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&14680064,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}function Xl(e,t,n,i,a,o){var s=2;if(i=e,typeof e==`function`)ql(e)&&(s=1);else if(typeof e==`string`)s=5;else a:switch(e){case ee:return Zl(n.children,a,o,t);case te:s=8,a|=8;break;case E:return e=Kl(12,n,t,a|2),e.elementType=E,e.lanes=o,e;case re:return e=Kl(13,n,t,a),e.elementType=re,e.lanes=o,e;case ie:return e=Kl(19,n,t,a),e.elementType=ie,e.lanes=o,e;case oe:return Ql(n,a,o,t);default:if(typeof e==`object`&&e)switch(e.$$typeof){case D:s=10;break a;case O:s=9;break a;case ne:s=11;break a;case k:s=14;break a;case ae:s=16,i=null;break a}throw Error(r(130,e==null?e:typeof e,``))}return t=Kl(s,n,t,a),t.elementType=e,t.type=i,t.lanes=o,t}function Zl(e,t,n,r){return e=Kl(7,e,r,t),e.lanes=n,e}function Ql(e,t,n,r){return e=Kl(22,e,r,t),e.elementType=oe,e.lanes=n,e.stateNode={isHidden:!1},e}function $l(e,t,n){return e=Kl(6,e,null,t),e.lanes=n,e}function eu(e,t,n){return t=Kl(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function tu(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Lt(0),this.expirationTimes=Lt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Lt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function nu(e,t,n,r,i,a,o,s,c){return e=new tu(e,t,n,s,c),t===1?(t=1,!0===a&&(t|=8)):t=0,a=Kl(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},$a(a),e}function ru(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:T,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}function iu(e){if(!e)return Wi;e=e._reactInternals;a:{if(ot(e)!==e||e.tag!==1)throw Error(r(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break a;case 1:if(Yi(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break a}}t=t.return}while(t!==null);throw Error(r(171))}if(e.tag===1){var n=e.type;if(Yi(n))return Qi(e,n,t)}return t}function au(e,t,n,r,i,a,o,s,c){return e=nu(n,r,!0,e,i,a,o,s,c),e.context=iu(null),n=e.current,r=pl(),i=ml(n),a=to(r,i),a.callback=t??null,no(n,a,i),e.current.lanes=i,Rt(e,i,r),hl(e,r),e}function ou(e,t,n,r){var i=t.current,a=pl(),o=ml(i);return n=iu(n),t.context===null?t.context=n:t.pendingContext=n,t=to(a,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=no(i,t,o),e!==null&&($(e,i,o,a),ro(e,i,o)),o}function su(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function cu(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function lu(e,t){cu(e,t),(e=e.alternate)&&cu(e,t)}function uu(){return null}var du=typeof reportError==`function`?reportError:function(e){console.error(e)};function fu(e){this._internalRoot=e}pu.prototype.render=fu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));ou(e,t,null,null)},pu.prototype.unmount=fu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Cl(function(){ou(null,e,null,null)}),t[Pi]=null}};function pu(e){this._internalRoot=e}pu.prototype.unstable_scheduleHydration=function(e){if(e){var t=Gt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<en.length&&t!==0&&t<en[n].priority;n++);en.splice(n,0,e),n===0&&on(e)}};function mu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function hu(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==` react-mount-point-unstable `))}function gu(){}function _u(e,t,n,r,i){if(i){if(typeof r==`function`){var a=r;r=function(){var e=su(o);a.call(e)}}var o=au(t,r,e,0,null,!1,!1,``,gu);return e._reactRootContainer=o,e[Pi]=o.current,ci(e.nodeType===8?e.parentNode:e),Cl(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof r==`function`){var s=r;r=function(){var e=su(c);s.call(e)}}var c=nu(e,0,!1,null,null,!1,!1,``,gu);return e._reactRootContainer=c,e[Pi]=c.current,ci(e.nodeType===8?e.parentNode:e),Cl(function(){ou(t,c,n,r)}),c}function vu(e,t,n,r,i){var a=n._reactRootContainer;if(a){var o=a;if(typeof i==`function`){var s=i;i=function(){var e=su(o);s.call(e)}}ou(t,o,e,i)}else o=_u(n,t,e,i,r);return su(o)}Ht=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=jt(t.pendingLanes);n!==0&&(Bt(t,n|1),hl(t,B()),!(Q&6)&&(tl=B()+500,oa()))}break;case 13:Cl(function(){var t=Za(e,1);t!==null&&$(t,e,1,pl())}),lu(e,1)}},Ut=function(e){if(e.tag===13){var t=Za(e,134217728);t!==null&&$(t,e,134217728,pl()),lu(e,134217728)}},Wt=function(e){if(e.tag===13){var t=ml(e),n=Za(e,t);n!==null&&$(n,e,t,pl()),lu(e,t)}},Gt=function(){return V},Kt=function(e,t){var n=V;try{return V=e,t()}finally{V=n}},Ve=function(e,t,n){switch(t){case`input`:if(Ce(e,n),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name=`+JSON.stringify(``+t)+`][type="radio"]`),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var a=Bi(i);if(!a)throw Error(r(90));ve(i),Ce(i,a)}}}break;case`textarea`:ke(e,n);break;case`select`:t=n.value,t!=null&&N(e,!!n.multiple,t,!1)}},Ke=Sl,z=Cl;var yu={usingClientEntryPoint:!1,Events:[Ri,zi,Bi,We,Ge,Sl]},bu={findFiberByHostInstance:Li,bundleType:0,version:`18.3.1`,rendererPackageName:`react-dom`},xu={bundleType:bu.bundleType,version:bu.version,rendererPackageName:bu.rendererPackageName,rendererConfig:bu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:C.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=ut(e),e===null?null:e.stateNode},findFiberByHostInstance:bu.findFiberByHostInstance||uu,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:`18.3.1-next-f1338f8080-20240426`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Su=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Su.isDisabled&&Su.supportsFiber)try{St=Su.inject(xu),Ct=Su}catch{}}e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=yu,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!mu(t))throw Error(r(200));return ru(e,t,null,n)},e.createRoot=function(e,t){if(!mu(e))throw Error(r(299));var n=!1,i=``,a=du;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(i=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=nu(e,1,!1,null,null,n,!1,i,a),e[Pi]=t.current,ci(e.nodeType===8?e.parentNode:e),new fu(t)},e.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(r(188)):(e=Object.keys(e).join(`,`),Error(r(268,e)));return e=ut(t),e=e===null?null:e.stateNode,e},e.flushSync=function(e){return Cl(e)},e.hydrate=function(e,t,n){if(!hu(t))throw Error(r(200));return vu(null,e,t,!0,n)},e.hydrateRoot=function(e,t,n){if(!mu(e))throw Error(r(405));var i=n!=null&&n.hydratedSources||null,a=!1,o=``,s=du;if(n!=null&&(!0===n.unstable_strictMode&&(a=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(s=n.onRecoverableError)),t=au(t,null,e,1,n??null,a,!1,o,s),e[Pi]=t.current,ci(e),i)for(e=0;e<i.length;e++)n=i[e],a=n._getVersion,a=a(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new pu(t)},e.render=function(e,t,n){if(!hu(t))throw Error(r(200));return vu(null,e,t,!1,n)},e.unmountComponentAtNode=function(e){if(!hu(e))throw Error(r(40));return e._reactRootContainer?(Cl(function(){vu(null,null,e,!1,function(){e._reactRootContainer=null,e[Pi]=null})}),!0):!1},e.unstable_batchedUpdates=Sl,e.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!hu(n))throw Error(r(200));if(e==null||e._reactInternals===void 0)throw Error(r(38));return vu(e,t,n,!1,i)},e.version=`18.3.1-next-f1338f8080-20240426`})),m=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=p()})),h=o((e=>{var t=m();e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot})),g=c(u(),1),_=h(),v=e=>String(e).padStart(2,`0`);function y(e){if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t}function b(e,t,n){let r=new Intl.DateTimeFormat(`en-US`,{...n,timeZone:t}),i={};for(let t of r.formatToParts(e))i[t.type]=t.value;return i}function x(e,t){let n=b(e,t,{timeZoneName:`short`}).timeZoneName??``;if(n===`GMT`)return`UTC`;let r=n.replace(/^GMT/,``);return r===``?n:r.replace(/^([+-])(\d)$/,`$10$2`)}function S(e,t){let n=y(e);if(!n)return`—`;let r=b(n,t.tz,{month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1});return`${r.month} ${r.day} ${r.hour}:${r.minute} ${x(n,t.tz)}`}function C(e,t){let n=y(e);if(!n)return`—`;let r=b(n,t.tz,{month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZoneName:`shortOffset`}),i=(r.timeZoneName??``).replace(/^GMT/,``).replace(/^([+-])(\d)$/,`$10$2`);return`${r.month} ${r.day} ${r.hour}:${r.minute}${i||``}`}function w(e,t){let n=y(e);if(!n)return null;let r=b(n,t.tz,{month:`short`,day:`2-digit`});return`${r.month} ${r.day}`}function T(e){if(!e)return null;let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return null;let n=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],r=t[2]-1;return r<0||r>11?null:`${n[r]} ${t[3]}`}function ee(e,t,n={}){let r=y(e);if(!r)return`—`;let i=b(r,t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1}),a=`${i.year}-${i.month}-${i.day} ${i.hour}:${i.minute}`;return n.noSuffix?a:`${a} ${x(r,t.tz)}`}function te(e,t,n=Date.now()){let r=y(e);if(!r)return`—`;let i=n-r.getTime();if(i<6e4)return`just now`;if(i<36e5)return`${Math.floor(i/6e4)}m ago`;if(i<864e5)return`${Math.floor(i/36e5)}h ago`;let a=b(new Date(n),t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`}),o=b(r,t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`}),s=`${a.year}-${a.month}-${a.day}`,c=`${o.year}-${o.month}-${o.day}`;if(s!==c&&i<1728e5){let e=b(new Date(n-864e5),t.tz,{year:`numeric`,month:`2-digit`,day:`2-digit`});if(c===`${e.year}-${e.month}-${e.day}`)return`Yesterday`}return w(e,t)??`—`}function E(e,t,n={}){let r=y(e);if(!r)return`—`;let i=b(r,t.tz,{hour:`2-digit`,minute:`2-digit`,hour12:!1}),a=`${i.hour}:${i.minute}`;return n.noSuffix?a:`${a} ${x(r,t.tz)}`}var D={pct0(e){return e==null?`—`:`${Math.round(e)}%`},pct1(e){return e==null?`—`:`${(+e).toFixed(1)}%`},usd2(e){return e==null?`—`:`$${(+e).toFixed(2)}`},usdSigned(e){return e==null?`—`:`${e>=0?`+`:`−`}$${Math.abs(+e).toFixed(2)}`},pctFloor(e){return Math.floor(e+1e-9)},usd3(e){return e==null?`—`:`$${(+e).toFixed(3)}`},usd2PerDay(e){return e==null?`—`:`$${(+e).toFixed(2)} / day`},hours1(e){return e==null?`—`:`${(+e).toFixed(1)} h`},ratePctPerHour(e){return e==null?`—`:`from ${(+e).toFixed(4)} %/h`},agoSec(e){return e==null?`—`:`${Math.max(0,e|0)}s ago`},hhmm(e){return e==null?`—`:`${e/3600|0}h ${v(e%3600/60|0)}m`},ddhh(e){return e==null?`—`:`${e/86400|0}d ${e%86400/3600|0}h`},elapsedHm(e){return e==null?`—`:e<=0?`just now`:`${e/3600|0}h ${e%3600/60|0}m`},datetimeShort:S,datetimeShortZ:C,dateShort:w,startedShort:ee,timeHHmm:E,weekStart:(e,t)=>T(e),timeOnly:E,relativeOrAbsolute:te,delta(e){if(e==null)return`—`;let t=e>0?`↑`:e<0?`↓`:`·`;return`${e>0?`+`:``}${e.toFixed(2)} ${t}`},pp(e){return e==null?`—`:Math.abs(e)<.05?`±0.0pp`:`${e>0?`+`:`−`}${Math.abs(e).toFixed(1)}pp`},deltaPct(e){if(e==null)return`—`;let t=Math.round(e*100);return t===0?`0%`:t>0?`+${t}%`:`−${Math.abs(t)}%`},compact(e,t={}){if(e==null)return`—`;let n=Math.abs(e),r;if(n>=1e9)r=(e/1e9).toFixed(1)+`B`;else if(n>=1e6){let t=e/1e6;r=(t>=100?t.toFixed(0):t.toFixed(1))+`M`}else if(n>=1e3){let t=e/1e3;r=(t>=100?t.toFixed(0):t.toFixed(1))+`k`}else return String(e|0);return r=r.replace(/\.0(?=[kMB]$)/,``),t.upper&&(r=r.replace(/k$/,`K`)),r},deltaCls(e,t){return e==null||t?``:e>0?`delta-pos`:e<0?`delta-neg`:``}},O={tz:`Etc/UTC`,offsetLabel:`UTC`};function ne(e){return e?.display?{tz:e.display.resolved_tz,offsetLabel:e.display.offset_label}:O}function re(e){let t=e=>(t,n)=>(e(n)??0)-(e(t)??0),n=e=>(t,n)=>{let r=(e(t)||``).toString(),i=(e(n)||``).toString();return r<i?-1:+(r>i)};switch(e){case`cost desc`:return t(e=>e.cost_usd??0);case`duration desc`:return t(e=>e.duration_min);case`model asc`:return n(e=>e.model);case`project asc`:return n(e=>e.project);default:return t(e=>e.started_utc?Date.parse(e.started_utc):0)}}function ie(e,t){let n=(t||``).toLowerCase();return n?e.filter(e=>(e.project||``).toLowerCase().includes(n)||(e.project_key||``).toLowerCase().includes(n)||(e.model||``).toLowerCase().includes(n)):e}function k(e,t=O){let n=e.started_utc?D.startedShort(e.started_utc,t,{noSuffix:!0}):``,r=e.duration_min==null?``:`${e.duration_min}m`,i=e.cost_usd==null?``:`$${e.cost_usd.toFixed(2)}`;return[n===`—`?``:n,r,e.model||``,e.project||``,e.project_key||``,i].join(` `).toLowerCase()}function ae(e,t,n=O){let r=(t||``).toLowerCase();if(!r)return[];let i=[];for(let t=0;t<e.length;t++)k(e[t],n).includes(r)&&i.push(t);return i}function oe(e){let t=e?.trend;return t?(t.spark_heights&&t.spark_heights.length!==t.weeks.length&&console.warn(`cctally dashboard: spark_heights length ${t.spark_heights.length} != weeks ${t.weeks.length}`),t.weeks.map((e,n)=>({label:e.label,used_pct:e.used_pct,dollar_per_pct:e.dollar_per_pct,delta:e.delta,is_current:e.is_current,spark_height:t.spark_heights?.[n]}))):[]}function se(e){let t=e?.trend;return t?t.history.map(e=>({label:e.label,used_pct:e.used_pct,dollar_per_pct:e.dollar_per_pct,delta:e.delta,is_current:e.is_current})):[]}var ce=[`current-week`,`forecast`,`trend`,`sessions`,`projects`,`weekly`,`monthly`,`blocks`,`daily`,`alerts`,`cache-report`],A=new Set([`current-week`,`forecast`,`trend`,`sessions`,`projects`,`weekly`,`monthly`,`blocks`,`daily`]),le=4;function ue(e,t){if(t>=2)return{panels:e??[],newVersion:t};if(!e||e.length===0)return{panels:[],newVersion:2};if(e.includes(`projects`))return{panels:e,newVersion:2};let n=[...e],r=Math.min(le,n.length);return n.splice(r,0,`projects`),{panels:n,newVersion:2}}function de(e,t){if(!e||!Array.isArray(e)||e.length===0)return[...t];let n=new Set(t),r=new Set,i=[];for(let t of e)n.has(t)&&(r.has(t)||(r.add(t),i.push(t)));for(let e of t)r.has(e)||i.push(e);return i}function fe(e,t,n){if(!n)return e;let r=t.find(e=>e.id===n.column);if(!r)return e;let i=n.direction===`desc`?-1:1,a=r.nullKey;return e.slice().sort((e,t)=>{if(a){let n=a(e)==null,r=a(t)==null;if(n&&r)return 0;if(n)return 1;if(r)return-1}return i*r.compare(e,t)})}function pe(e,t){return!e||e.column!==t.id?{column:t.id,direction:t.defaultDirection}:e.direction===t.defaultDirection?{column:t.id,direction:e.direction===`asc`?`desc`:`asc`}:null}function j(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;return typeof t.column!=`string`||t.direction!==`asc`&&t.direction!==`desc`?null:{column:t.column,direction:t.direction}}var me=[{id:`started`,label:`Started`,defaultDirection:`desc`,compare:(e,t)=>(Date.parse(e.started_utc??``)||0)-(Date.parse(t.started_utc??``)||0)},{id:`duration`,label:`Dur`,defaultDirection:`desc`,compare:(e,t)=>(e.duration_min??0)-(t.duration_min??0)},{id:`model`,label:`Model`,defaultDirection:`asc`,compare:(e,t)=>(e.model||``).localeCompare(t.model||``)},{id:`project`,label:`Project`,defaultDirection:`asc`,compare:(e,t)=>(e.project||``).localeCompare(t.project||``)},{id:`cost`,label:`Cost`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.cost_usd??0)-(t.cost_usd??0)}],he={shareModal:null,composerModal:null};function ge(e,t){switch(t.type){case`OPEN_SHARE`:{let n=t.params===void 0?{panel:t.panel,triggerId:t.triggerId}:{panel:t.panel,triggerId:t.triggerId,params:t.params};return{...e,shareModal:n}}case`CLOSE_SHARE`:return{...e,shareModal:null};case`OPEN_COMPOSER`:return{...e,composerModal:{open:!0}};case`CLOSE_COMPOSER`:return{...e,composerModal:null};default:return e}}function M(e,t,n){return n===void 0?{type:`OPEN_SHARE`,panel:e,triggerId:t}:{type:`OPEN_SHARE`,panel:e,triggerId:t,params:n}}function _e(){return{type:`CLOSE_SHARE`}}function ve(){return{type:`OPEN_COMPOSER`}}function ye(){return{type:`CLOSE_COMPOSER`}}var be=`cctally:share:basket`;function xe(e,t){switch(t.type){case`BASKET_ADD`:return e.items.length>=20?{...e,rejectedReason:`capacity`}:{items:[...e.items,t.item],rejectedReason:null};case`BASKET_REMOVE`:return{...e,items:e.items.filter(e=>e.id!==t.id)};case`BASKET_REORDER`:{if(t.fromIdx===t.toIdx||t.fromIdx<0||t.toIdx<0||t.fromIdx>=e.items.length||t.toIdx>=e.items.length)return e;let n=e.items.slice(),[r]=n.splice(t.fromIdx,1);return n.splice(t.toIdx,0,r),{...e,items:n}}case`BASKET_CLEAR`:return{items:[],rejectedReason:null};case`BASKET_CLEAR_REJECTED`:return e.rejectedReason==null?e:{...e,rejectedReason:null};case`BASKET_HYDRATE`:return{items:t.items,rejectedReason:null};default:return e}}function Se(e){return{id:e.id??Ee(),panel:e.panel,template_id:e.template_id,options:e.options,added_at:e.added_at,data_digest_at_add:e.data_digest_at_add,kernel_version:e.kernel_version,label_hint:e.label_hint}}function Ce(){try{let e=localStorage.getItem(be);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(Te):[]}catch{return[]}}function we(e){try{localStorage.setItem(be,JSON.stringify(e))}catch{}}function Te(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.id==`string`&&typeof t.panel==`string`&&typeof t.template_id==`string`&&typeof t.added_at==`string`&&typeof t.data_digest_at_add==`string`&&typeof t.kernel_version==`number`&&typeof t.label_hint==`string`&&typeof t.options==`object`&&t.options!==null}function Ee(){let e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``).slice(0,26)}var N=`ccusage.dashboard.prefs`,De=`ccusage.dashboard.filter`,Oe=`ccusage.dashboard.sort`;function ke(){return{state:null,suppress:{skipped_versions:[],remind_after:null},modalOpen:!1,runId:null,status:`idle`,stream:[],errorMessage:null,startedAt:null}}var Ae=[{key:`started desc`,label:`Started (newest first)`},{key:`cost desc`,label:`Cost (highest first)`},{key:`duration desc`,label:`Duration (longest first)`},{key:`model asc`,label:`Model (A→Z)`},{key:`project asc`,label:`Project (A→Z)`}];function je(){return{sortDefault:`started desc`,sessionsPerPage:100,sessionsCollapsed:!0,blocksCollapsed:!0,dailyCollapsed:!0,alertsCollapsed:!1,panelOrder:[...ce],onboardingToastSeen:!1,mobileOnboardingToastSeen:!1,trendSortOverride:null,sessionsSortOverride:null,projectsWindowWeeks:4,projectsTrendYMode:`absolute`,projectsSortOverride:null,panelOrderSchemaVersion:1}}function Me(){return{enabled:!1,weekly_thresholds:[90,95],five_hour_thresholds:[90,95],budget_thresholds:[90,100],budget_enabled:!1}}function Ne(){let e=je(),t=localStorage.getItem(N),n=localStorage.getItem(Oe);if(t){try{let n=JSON.parse(t);e={...je(),...n};let r=typeof n.panelOrderSchemaVersion==`number`?n.panelOrderSchemaVersion:1,i=ue(n.panelOrder??null,r);e.panelOrderSchemaVersion=i.newVersion,e.panelOrder=de(i.panels,ce),e.trendSortOverride=j(e.trendSortOverride??null),e.sessionsSortOverride=j(e.sessionsSortOverride??null),e.projectsSortOverride=j(e.projectsSortOverride??null),r!==i.newVersion&&localStorage.setItem(N,JSON.stringify(e))}catch{e=je(),e.panelOrderSchemaVersion=2}n!=null&&localStorage.removeItem(Oe)}else n?(e={...je(),sortDefault:n,panelOrderSchemaVersion:2},localStorage.setItem(N,JSON.stringify(e)),localStorage.removeItem(Oe)):e.panelOrderSchemaVersion=2;return{snapshot:null,openModal:null,openSessionId:null,openBlockStartAt:null,openDailyDate:null,openProjectKey:null,sessionsSort:e.sortDefault,filterText:localStorage.getItem(De)??``,searchText:``,searchMatches:[],searchIndex:-1,inputMode:null,prefs:e,syncErrorFloorUntil:0,syncBusy:!1,syncSuccessFlashUntil:0,toast:null,alerts:[],seenAlertIds:new Set,alertsConfig:Me(),alertToastQueue:[],dragPreviewOrder:null,update:ke(),...he,basket:{items:Ce(),rejectedReason:null},doctor:null,doctorModalOpen:!1}}var P=Ne(),Pe=new Set,Fe=``;function Ie(){Pe.forEach(e=>{try{e()}catch(e){console.error(`subscriber error:`,e)}})}function F(){return P}function I(e){return Pe.add(e),()=>{Pe.delete(e)}}function Le(e=P){let t=ie(e.snapshot?.sessions?.rows??[],e.filterText),n=e.prefs.sessionsSortOverride;return(n?fe(t,me,n):t.slice().sort(re(e.sessionsSort))).slice(0,e.prefs.sessionsPerPage)}function Re(e){if(!e.searchText)return{searchMatches:[],searchIndex:-1};let t=ae(Le(e),e.searchText,ne(e.snapshot));return t.length===0?{searchMatches:[],searchIndex:-1}:{searchMatches:t,searchIndex:e.searchIndex<0||e.searchIndex>=t.length?0:e.searchIndex}}function ze(e){let t=e?.generated_at??``;if(t&&Fe&&t<Fe)return!1;t&&(Fe=t);let n={...P,snapshot:e};return P={...n,...Re(n)},Ie(),!0}function Be(){Fe=``}function L(e){switch(e.type){case`OPEN_MODAL`:P={...P,openModal:e.kind,openSessionId:e.sessionId??null,openBlockStartAt:e.blockStartAt??null,openDailyDate:e.dailyDate??null,openProjectKey:e.projectKey??null};break;case`CLOSE_MODAL`:P={...P,openModal:null,openSessionId:null,openBlockStartAt:null,openDailyDate:null,openProjectKey:null};break;case`SET_FILTER`:{e.text?localStorage.setItem(De,e.text):localStorage.removeItem(De);let t={...P,filterText:e.text};P={...t,...Re(t)};break}case`SET_SEARCH`:{let t={...P,searchText:e.text,searchIndex:0};P={...t,...Re(t)};break}case`SET_SEARCH_MATCHES`:P={...P,searchMatches:e.matches,searchIndex:e.index};break;case`SET_SORT`:{let t={...P,sessionsSort:e.key};P={...t,...Re(t)};break}case`SET_INPUT_MODE`:P={...P,inputMode:e.mode};break;case`SAVE_PREFS`:{let t={...P.prefs,...e.patch};localStorage.setItem(N,JSON.stringify(t));let n={...P,prefs:t};P={...n,...Re(n)};break}case`RESET_PREFS`:{let e=P.prefs.onboardingToastSeen,t=P.prefs.mobileOnboardingToastSeen;localStorage.removeItem(N),localStorage.removeItem(De);let n=je();n.onboardingToastSeen=e,n.mobileOnboardingToastSeen=t,localStorage.setItem(N,JSON.stringify(n)),P={...P,prefs:n,filterText:``,searchText:``,searchMatches:[],searchIndex:-1,sessionsSort:n.sortDefault};break}case`RESET_PANEL_ORDER`:{let e={...P.prefs,panelOrder:[...ce],panelOrderSchemaVersion:2};localStorage.setItem(N,JSON.stringify(e)),P={...P,prefs:e};break}case`REORDER_PANELS`:{let{from:t,to:n}=e,r=P.prefs.panelOrder;if(t===n||t<0||t>=r.length||n<0||n>=r.length)break;let i=r.slice(),[a]=i.splice(t,1);i.splice(n,0,a);let o={...P.prefs,panelOrder:i};localStorage.setItem(N,JSON.stringify(o)),P={...P,prefs:o};break}case`SET_DRAG_PREVIEW`:P={...P,dragPreviewOrder:e.order};break;case`COMMIT_DRAG_PREVIEW`:{let e=P.dragPreviewOrder;if(!e)break;let t={...P.prefs,panelOrder:e};localStorage.setItem(N,JSON.stringify(t)),P={...P,prefs:t,dragPreviewOrder:null};break}case`CLEAR_DRAG_PREVIEW`:if(P.dragPreviewOrder==null)break;P={...P,dragPreviewOrder:null};break;case`SWAP_PANELS`:{let{index:t,direction:n}=e,r=P.prefs.panelOrder,i=t+n;if(i<0||i>=r.length||t<0||t>=r.length)break;let a=r.slice();[a[t],a[i]]=[a[i],a[t]];let o={...P.prefs,panelOrder:a};localStorage.setItem(N,JSON.stringify(o)),P={...P,prefs:o};break}case`MARK_ONBOARDING_TOAST_SEEN`:{if(P.prefs.onboardingToastSeen)break;let e={...P.prefs,onboardingToastSeen:!0};localStorage.setItem(N,JSON.stringify(e)),P={...P,prefs:e};break}case`MARK_MOBILE_ONBOARDING_TOAST_SEEN`:{if(P.prefs.mobileOnboardingToastSeen)break;let e={...P.prefs,mobileOnboardingToastSeen:!0};localStorage.setItem(N,JSON.stringify(e)),P={...P,prefs:e};break}case`SET_SYNC_ERROR_FLOOR`:P={...P,syncErrorFloorUntil:e.untilMs};break;case`SET_SYNC_BUSY`:P={...P,syncBusy:e.busy};break;case`SET_SYNC_SUCCESS_FLASH`:P={...P,syncSuccessFlashUntil:e.untilMs};break;case`SHOW_STATUS_TOAST`:P={...P,toast:{kind:`status`,text:e.text}};break;case`SHOW_ALERT_TOAST`:P={...P,toast:{kind:`alert`,payload:e.alert}};break;case`HIDE_TOAST`:if(P.toast?.kind===`alert`&&P.alertToastQueue.length>0){let[e,...t]=P.alertToastQueue;P={...P,toast:{kind:`alert`,payload:e},alertToastQueue:t}}else P={...P,toast:null};break;case`INGEST_SNAPSHOT_ALERTS`:{let t=new Set(P.seenAlertIds);if(e.isFirstTick){for(let n of e.alerts)t.add(n.id);P={...P,alerts:e.alerts,seenAlertIds:t,alertsConfig:e.alertsSettings,alertToastQueue:[]};break}let n=e.alerts.filter(e=>!t.has(e.id));for(let e of n)t.add(e.id);let r=P.toast,i=P.alertToastQueue;n.length>0&&(!r||r.kind!==`alert`?(r={kind:`alert`,payload:n[0]},i=[...i,...n.slice(1)]):i=[...i,...n]),P={...P,alerts:e.alerts,seenAlertIds:t,alertsConfig:e.alertsSettings,alertToastQueue:i,toast:r};break}case`SET_TABLE_SORT`:{let t=e.table===`trend`?`trendSortOverride`:e.table===`projects`?`projectsSortOverride`:`sessionsSortOverride`,n={...P.prefs,[t]:e.override};localStorage.setItem(N,JSON.stringify(n));let r={...P,prefs:n};P={...r,...Re(r)};break}case`CLEAR_TABLE_SORTS`:{let e={...P.prefs,trendSortOverride:null,sessionsSortOverride:null,projectsSortOverride:null};localStorage.setItem(N,JSON.stringify(e));let t={...P,prefs:e};P={...t,...Re(t)};break}case`OPEN_UPDATE_MODAL`:P={...P,update:{...P.update,modalOpen:!0}};break;case`CLOSE_UPDATE_MODAL`:P={...P,update:{...P.update,modalOpen:!1}};break;case`SET_UPDATE_STATE`:P={...P,update:{...P.update,state:e.state,suppress:e.suppress}};break;case`SET_UPDATE_STATUS`:P={...P,update:{...P.update,status:e.status,errorMessage:e.errorMessage===void 0?P.update.errorMessage:e.errorMessage}};break;case`SET_UPDATE_RUN_ID`:P={...P,update:{...P.update,runId:e.runId,startedAt:e.startedAt===void 0?P.update.startedAt:e.startedAt}};break;case`APPEND_UPDATE_STREAM`:P={...P,update:{...P.update,stream:[...P.update.stream,e.event]}};break;case`RESET_UPDATE_RUN`:P={...P,update:{...P.update,status:`idle`,runId:null,stream:[],errorMessage:null,startedAt:null}};break;case`OPEN_SHARE`:case`CLOSE_SHARE`:case`OPEN_COMPOSER`:case`CLOSE_COMPOSER`:{let t=ge({shareModal:P.shareModal,composerModal:P.composerModal},e);P={...P,...t};break}case`BASKET_ADD`:case`BASKET_REMOVE`:case`BASKET_REORDER`:case`BASKET_CLEAR`:case`BASKET_CLEAR_REJECTED`:case`BASKET_HYDRATE`:{let t=xe(P.basket,e);if(t===P.basket)break;let n=t.items!==P.basket.items;P={...P,basket:t},n&&we(t.items),e.type===`BASKET_ADD`&&t.rejectedReason===`capacity`&&(P={...P,toast:{kind:`status`,text:`Basket is full (20 sections). Remove one to add another.`}});break}case`SET_DOCTOR_AGGREGATE`:P={...P,doctor:e.doctor};break;case`OPEN_DOCTOR_MODAL`:P={...P,doctorModalOpen:!0};break;case`CLOSE_DOCTOR_MODAL`:P={...P,doctorModalOpen:!1};break}Ie()}var Ve=o((e=>{var t=u(),n=Symbol.for(`react.element`),r=Symbol.for(`react.fragment`),i=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var s,c={},l=null,u=null;for(s in r!==void 0&&(l=``+r),t.key!==void 0&&(l=``+t.key),t.ref!==void 0&&(u=t.ref),t)i.call(t,s)&&!o.hasOwnProperty(s)&&(c[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)c[s]===void 0&&(c[s]=t[s]);return{$$typeof:n,type:e,key:l,ref:u,props:c,_owner:a.current}}e.Fragment=r,e.jsx=s,e.jsxs=s})),R=o(((e,t)=>{t.exports=Ve()}))(),He=320;function Ue(){return F().basket}function We(){let e=(0,g.useSyncExternalStore)(I,Ue).items.length,[t,n]=(0,g.useState)(!1),r=(0,g.useRef)(e);if((0,g.useEffect)(()=>{if(e>r.current){n(!0);let t=setTimeout(()=>n(!1),He);return r.current=e,()=>clearTimeout(t)}r.current=e},[e]),e===0)return null;let i=e===1?`section`:`sections`;return(0,R.jsxs)(`button`,{type:`button`,className:`basket-chip${t?` basket-chip-pulse`:``}`,"aria-label":`Open basket (${e} ${i}). Click to compose.`,title:`Basket — ${e} ${i}. Click to compose.`,onClick:()=>L(ve()),children:[(0,R.jsxs)(`svg`,{className:`basket-chip-icon`,width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,focusable:`false`,children:[(0,R.jsx)(`rect`,{x:`2.75`,y:`2`,width:`8.5`,height:`10.5`,rx:`1`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`}),(0,R.jsx)(`rect`,{x:`4.5`,y:`0.75`,width:`5`,height:`2.5`,rx:`0.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`})]}),(0,R.jsx)(`span`,{className:`basket-chip-count`,children:e})]})}var Ge={ok:`OK`,warn:`WARN`,fail:`FAIL`};function Ke(){let e=(0,g.useSyncExternalStore)(I,()=>F().doctor);if(!e)return null;let{severity:t,counts:n,generated_at:r}=e,i=`Doctor`;n.fail>0?i=`Doctor · ${n.fail} fail`:t===`warn`&&n.warn>0&&(i=`Doctor · ${n.warn} warn`);let a=`Doctor diagnostic: ${Ge[t]} — ${n.ok} OK, ${n.warn} warn, ${n.fail} fail`,o=`Doctor · ${Ge[t]} (click for report)`;try{let e=new Date(r).toLocaleTimeString();o=`Doctor · ${Ge[t]} · checked ${e} (click for report)`}catch{}return(0,R.jsxs)(`button`,{type:`button`,className:`doctor-chip doctor-chip--${t}`,title:o,"aria-label":a,onClick:()=>L({type:`OPEN_DOCTOR_MODAL`}),children:[(0,R.jsx)(`span`,{className:`doctor-chip__dot`,"aria-hidden":`true`,children:`●`}),(0,R.jsx)(`span`,{className:`doctor-chip__label`,children:i})]})}function z(){return(0,g.useSyncExternalStore)(I,()=>F().snapshot)}var qe=`/api/update/status`,Je=`/api/update`,Ye=`/api/update/dismiss`;function Xe(e,t=null){return e===`brew`?`brew update --quiet && brew upgrade cctally`:e===`npm`?`npm install -g cctally@${t??`latest`}`:null}function Ze(e){return!e||!e.includes(`-`)?null:`You're on prerelease ${e}; this banner suggests stable.\nTo track prereleases, manage manually: npm install -g cctally@next`}function Qe(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(typeof n._error==`string`)return{current_version:null,latest_version:null,available:!1,method:`unknown`,update_command:null,release_notes_url:null,check_status:`unavailable`,checked_at_utc:null,prerelease_note:null};let r=typeof n.current_version==`string`?n.current_version:null,i=typeof n.latest_version==`string`?n.latest_version:null,a=n.install,o=a&&typeof a==`object`?a:{},s=typeof o.method==`string`?o.method:`unknown`,c=s===`brew`||s===`npm`?s:`unknown`,l=typeof n.check_status==`string`?n.check_status:null,u=l&&[`ok`,`rate_limited`,`fetch_failed`,`parse_failed`,`unavailable`].includes(l)?l:null,d=typeof n.checked_at_utc==`string`?n.checked_at_utc:null,f=typeof n.latest_version_url==`string`?n.latest_version_url:null;return{current_version:r,latest_version:i,available:et(r,i,t),method:c,update_command:Xe(c,null),release_notes_url:f,check_status:u,checked_at_utc:d,prerelease_note:Ze(r)}}function $e(e){if(!e||typeof e!=`object`)return{skipped_versions:[],remind_after:null};let t=e,n=Array.isArray(t.skipped_versions)?t.skipped_versions.filter(e=>typeof e==`string`):[],r=null;if(t.remind_after&&typeof t.remind_after==`object`){let e=t.remind_after;typeof e.version==`string`&&typeof e.until_utc==`string`&&(r={version:e.version,until_utc:e.until_utc})}return{skipped_versions:n,remind_after:r}}function et(e,t,n){if(!e||!t||!tt(t,e)||n.skipped_versions.includes(t))return!1;let r=n.remind_after;if(r&&r.version&&r.until_utc)try{if(!tt(t,r.version)){let e=Date.parse(r.until_utc);if(Number.isFinite(e)&&Date.now()<e)return!1}}catch{}return!0}function tt(e,t){let n=e=>{let[t,n=``]=e.split(`-`,2),r=t.split(`.`).map(e=>parseInt(e,10));for(;r.length<3;)r.push(0);return[r[0]||0,r[1]||0,r[2]||0,n]},[r,i,a,o]=n(e),[s,c,l,u]=n(t);return r===s?i===c?a===l?!o&&u?!0:o&&!u?!1:o>u:a>l:i>c:r>s}async function nt(){try{let e=await fetch(qe);if(!e.ok)return;let t=await e.json(),n=$e(t?.suppress),r=Qe(t?.state,n);L({type:`SET_UPDATE_STATE`,state:r,suppress:n}),F().update.status===`success`&&r?.current_version&&r.current_version===r.latest_version&&(L({type:`CLOSE_UPDATE_MODAL`}),L({type:`RESET_UPDATE_RUN`}))}catch{}}async function rt(e){L({type:`RESET_UPDATE_RUN`}),L({type:`SET_UPDATE_STATUS`,status:`running`,errorMessage:null}),L({type:`SET_UPDATE_RUN_ID`,runId:null,startedAt:Date.now()});try{let t=e?JSON.stringify({version:e}):`{}`,n=await fetch(Je,{method:`POST`,headers:{"Content-Type":`application/json`},body:t}),r=await n.json().catch(()=>({}));if(n.status===202&&typeof r.run_id==`string`){L({type:`SET_UPDATE_RUN_ID`,runId:r.run_id});return}if(n.status===409&&typeof r.run_id_in_progress==`string`){L({type:`SET_UPDATE_RUN_ID`,runId:r.run_id_in_progress});return}L({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:typeof r.error==`string`?r.error:`failed to start update (HTTP ${n.status})`})}catch(e){L({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:`network error: `+e.message})}}async function it(e){if(e){try{if((await fetch(Ye,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`skip`,version:e})})).ok){let t=F().update;t.state&&L({type:`SET_UPDATE_STATE`,state:{...t.state,available:!1},suppress:{...t.suppress,skipped_versions:t.suppress.skipped_versions.includes(e)?t.suppress.skipped_versions:[...t.suppress.skipped_versions,e]}}),L({type:`CLOSE_UPDATE_MODAL`})}}catch{}await nt()}}async function at(e){try{if((await fetch(Ye,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`remind`,days:e})})).ok){let e=F().update;e.state&&L({type:`SET_UPDATE_STATE`,state:{...e.state,available:!1},suppress:e.suppress}),L({type:`CLOSE_UPDATE_MODAL`})}}catch{}await nt()}var ot={refreshState:nt,start:rt,skip:it,remind:at,open:()=>L({type:`OPEN_UPDATE_MODAL`}),close:()=>L({type:`CLOSE_UPDATE_MODAL`})},st=null,ct=!1,lt=new Set,ut=!0;function dt(){return ct}function ft(e){return lt.add(e),()=>{lt.delete(e)}}function pt(){lt.forEach(e=>{try{e()}catch(e){console.error(`status subscriber error:`,e)}})}function mt(e={}){st&&=(st.close(),null),ct=!1,ut=!0,pt(),Be(),(async()=>{try{let t=await(await fetch(`/api/data`)).json();ze(t)&&(B(t),gt(t),_t(t)),e.onConnect?.()}catch(e){console.error(`initial snapshot failed:`,e)}})(),st=new EventSource(`/api/events`),st.addEventListener(`update`,t=>{try{let n=JSON.parse(t.data);ze(n)&&(B(n),gt(n),_t(n)),ct&&(ct=!1,pt(),e.onConnect?.())}catch(e){console.error(`SSE parse failed:`,e)}}),st.onerror=()=>{ct||(ct=!0,ut=!0,pt(),e.onDisconnect?.())}}var ht={enabled:!1,weekly_thresholds:[90,95],five_hour_thresholds:[90,95],budget_thresholds:[],budget_enabled:!1};function B(e){L({type:`INGEST_SNAPSHOT_ALERTS`,alerts:e.alerts??[],alertsSettings:e.alerts_settings??ht,isFirstTick:ut}),ut=!1}function gt(e){if(!e.update)return;let t=$e(e.update.suppress);L({type:`SET_UPDATE_STATE`,state:Qe(e.update.state,t),suppress:t})}function _t(e){e.doctor&&L({type:`SET_DOCTOR_AGGREGATE`,doctor:e.doctor})}function vt(){return{disconnected:(0,g.useSyncExternalStore)(ft,()=>dt())}}function yt(){let e=z(),{disconnected:t}=vt(),n=(0,g.useSyncExternalStore)(I,()=>F().syncErrorFloorUntil),r=(0,g.useSyncExternalStore)(I,()=>F().syncBusy),i=(0,g.useSyncExternalStore)(I,()=>F().syncSuccessFlashUntil),[a,o]=(0,g.useState)(`sync paused`),[s,c]=(0,g.useState)(``),l=(0,g.useRef)(0),[,u]=(0,g.useState)(0),[,d]=(0,g.useState)(0),f=Date.now(),p=f<n,m=f<i;return(0,g.useEffect)(()=>{if(!(p||m)){if(t){o(`disconnected`),c(`var(--accent-red)`);return}if(e){if(e.last_sync_error){o(`⚠ sync error`),c(`var(--accent-red)`);return}if(e.sync_age_s==null){o(`sync paused`),c(``),l.current=0;return}c(``),l.current=e.sync_age_s|0,o(`synced ${l.current}s ago`)}}},[e,t,p,m]),(0,g.useEffect)(()=>{let n=window.setInterval(()=>{t||Date.now()<F().syncErrorFloorUntil||!e||e.sync_age_s==null||e.last_sync_error||(l.current+=1,o(`synced ${l.current}s ago`))},1e3);return()=>window.clearInterval(n)},[e,t]),(0,g.useEffect)(()=>{if(!p)return;let e=n-Date.now();if(e<=0)return;let t=window.setTimeout(()=>u(e=>e+1),e);return()=>window.clearTimeout(t)},[n,p]),(0,g.useEffect)(()=>{if(!m)return;let e=i-Date.now();if(e<=0)return;let t=window.setTimeout(()=>d(e=>e+1),e);return()=>window.clearTimeout(t)},[i,m]),r?(0,R.jsx)(`span`,{className:`sync-chip mute syncing`,id:`sync-chip`,"aria-busy":`true`,"aria-live":`polite`,children:`syncing…`}):p?(0,R.jsx)(`span`,{className:`sync-chip mute sync-error`,id:`sync-chip`,"aria-live":`polite`,style:{color:`var(--accent-red)`},children:`⚠ sync failed`}):m?(0,R.jsx)(`span`,{className:`sync-chip mute sync-success`,id:`sync-chip`,"aria-live":`polite`,children:`✓ updated`}):(0,R.jsx)(`span`,{className:`sync-chip mute`,id:`sync-chip`,"aria-live":`polite`,style:{color:s},children:a})}function bt(){let e=(0,g.useSyncExternalStore)(I,()=>F().update).state;if(!e||!e.available||!e.latest_version)return null;let t=e.current_version??`?`,n=e.latest_version;return(0,R.jsxs)(`button`,{type:`button`,className:`badge-update`,title:`Update available · ${t} → ${n} · click to view`,"aria-label":`Update available, current version ${t}, latest ${n}`,onClick:()=>ot.open(),children:[(0,R.jsx)(`span`,{className:`badge-update-arrow`,"aria-hidden":`true`,children:`↑`}),(0,R.jsxs)(`span`,{className:`badge-update-version`,children:[`v`,n]})]})}var xt={capped:{label:`OVER`,cls:`over`,warn:!0,accent:`accent-red`,glyph:`⛔`},cap:{label:`WARN`,cls:`warn`,warn:!0,accent:`accent-amber`,glyph:`⚠`},ok:{label:`OK`,cls:`good`,warn:!1,accent:`accent-green`,glyph:`✓`}};function St(e){return e==null?null:xt[e]??null}var Ct=3e3,wt=1200,Tt=300;async function Et(){if(F().syncBusy)return;let e=Date.now();L({type:`SET_SYNC_BUSY`,busy:!0});let t=!1;try{let e=await fetch(`/api/sync`,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`});if(e.status===503)return;if(e.ok){if(e.status===200){let t=await e.json().catch(()=>({})),n=(Array.isArray(t.warnings)?t.warnings:[]).filter(e=>e?.code&&e.code!==`rate_limited`);if(n.length>0){console.error(`/api/sync warnings:`,n.map(e=>e.code).join(`, `)),L({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+Ct});return}}t=!0;return}console.error(`/api/sync failed: ${e.status}`),L({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+Ct})}catch(e){console.error(`/api/sync failed:`,e),L({type:`SET_SYNC_ERROR_FLOOR`,untilMs:Date.now()+Ct})}finally{let n=Date.now()-e;n<Tt&&await new Promise(e=>setTimeout(e,Tt-n)),t&&L({type:`SET_SYNC_SUCCESS_FLASH`,untilMs:Date.now()+wt}),L({type:`SET_SYNC_BUSY`,busy:!1})}}function Dt(e){document.dispatchEvent(new KeyboardEvent(`keydown`,{key:e}))}function Ot(){let e=z()?.header,t=St(e?.forecast_verdict??null),n=t?.warn??!1,r=(0,g.useSyncExternalStore)(I,()=>F().update).state?.current_version??null;return(0,R.jsxs)(`div`,{className:`topbar`,children:[(0,R.jsxs)(`div`,{className:`stat topbar-brand`,"data-mobile-keep":`primary`,"data-stat":`brand`,children:[(0,R.jsx)(`span`,{className:`brand-name`,children:`cctally`}),r?(0,R.jsxs)(`span`,{className:`brand-version`,children:[`v`,r]}):null,(0,R.jsx)(bt,{})]}),(0,R.jsxs)(`div`,{className:`stat`,"data-mobile-keep":`primary`,"data-stat":`week`,children:[(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#calendar`})}),(0,R.jsx)(`span`,{className:`k`,children:`Week`}),(0,R.jsx)(`span`,{className:`v`,children:e?.week_label??`—`})]}),(0,R.jsxs)(`div`,{className:`stat`,"data-mobile-keep":`primary`,"data-stat":`used`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Used`}),(0,R.jsx)(`span`,{className:`hi-green`,children:D.pct1(e?.used_pct)}),(0,R.jsxs)(`span`,{className:`mute`,"data-mobile-keep":`secondary`,"data-stat":`five-hour`,children:[`(5h `,(0,R.jsx)(`span`,{children:D.pct0(e?.five_hour_pct)}),`)`]})]}),(0,R.jsxs)(`div`,{className:`stat`,"data-mobile-keep":`primary`,"data-stat":`dollar-per-pct`,children:[(0,R.jsx)(`span`,{className:`k`,children:`$/1%`}),(0,R.jsx)(`span`,{className:`hi-cyan`,children:D.usd2(e?.dollar_per_pct)})]}),(0,R.jsxs)(`div`,{className:`stat`,"data-mobile-keep":`primary`,"data-stat":`forecast`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Fcst`}),(0,R.jsx)(`span`,{className:`hi-amber`,children:D.pct0(e?.forecast_pct)}),n?(0,R.jsx)(`span`,{className:`pill-warn`,children:t?.label??`WARN`}):null]}),(0,R.jsxs)(`div`,{className:`stat`,"data-mobile-keep":`secondary`,"data-stat":`vs-last-week`,children:[(0,R.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-green)`},children:(0,R.jsx)(`use`,{href:`/static/icons.svg#trending-up`})}),(0,R.jsx)(`span`,{className:`mute`,children:`vs last week`})]}),(0,R.jsxs)(`div`,{className:`topbar-actions`,children:[(0,R.jsx)(Ke,{}),(0,R.jsx)(We,{}),(0,R.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-settings`,"aria-label":`Open settings`,onClick:()=>Dt(`s`),children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#settings`})})}),(0,R.jsx)(`button`,{type:`button`,className:`topbar-icon-btn topbar-help`,"aria-label":`Open help`,onClick:()=>Dt(`?`),children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#help-circle`})})}),(0,R.jsxs)(`button`,{type:`button`,className:`topbar-sync`,onClick:()=>Et(),title:`Sync now (r)`,"aria-label":`Sync now`,children:[(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#refresh`})}),(0,R.jsx)(yt,{})]})]})]})}function kt(){let e=(F().snapshot?.sessions?.rows??[])[0]?.session_id;e&&L({type:`OPEN_MODAL`,kind:`session`,sessionId:e})}function At(){let e=F().snapshot?.blocks?.rows??[];e.length!==0&&L({type:`OPEN_MODAL`,kind:`block`,blockStartAt:(e.find(e=>e.is_active)??e[0]).start_at})}function jt(e){let{searchMatches:t,searchIndex:n}=F();if(t.length===0)return;let r=t.length;L({type:`SET_SEARCH_MATCHES`,matches:t,index:((n<0?0:n)+e+r)%r})}var Mt=`Can't close this tab — use your browser to close it.`;function Nt(){try{window.close()}catch{}window.setTimeout(()=>{window.closed||L({type:`SHOW_STATUS_TOAST`,text:Mt})},100)}function Pt(){return(0,R.jsxs)(`div`,{className:`footer`,children:[(0,R.jsxs)(`span`,{className:`kb`,children:[(0,R.jsx)(`kbd`,{children:`↑/↓`}),` scroll`]}),(0,R.jsxs)(`span`,{className:`kb`,children:[(0,R.jsx)(`kbd`,{className:`accent-green`,children:`tab`}),` next panel`]}),(0,R.jsxs)(`button`,{className:`kb-btn`,id:`footer-r`,type:`button`,onClick:()=>Et(),children:[(0,R.jsx)(`kbd`,{className:`accent-purple`,children:`r`}),` refresh`]}),(0,R.jsxs)(`button`,{className:`kb-btn`,id:`footer-s`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`s`})),children:[(0,R.jsx)(`kbd`,{children:`s`}),` settings`]}),(0,R.jsxs)(`button`,{className:`kb-btn`,id:`footer-help`,type:`button`,onClick:()=>document.dispatchEvent(new KeyboardEvent(`keydown`,{key:`?`})),children:[(0,R.jsx)(`kbd`,{className:`accent-amber`,children:`?`}),` help`]}),(0,R.jsxs)(`button`,{className:`kb-btn`,id:`footer-q`,type:`button`,onClick:()=>Nt(),children:[(0,R.jsx)(`kbd`,{children:`q`}),` quit`]})]})}var Ft=new Set,It=null,Lt={overlay:0,modal:1,sessions:2,global:3};function Rt(e){if(!e||!(e instanceof Element))return!1;let t=e.tagName;if(t===`INPUT`||t===`TEXTAREA`)return!0;if(e instanceof HTMLElement){if(e.isContentEditable)return!0;let t=e.getAttribute(`contenteditable`);if(t===``||t===`true`||t===`plaintext-only`)return!0}return!1}function zt(e){return e.forEach(e=>Ft.add(e)),()=>e.forEach(e=>Ft.delete(e))}function Bt(){It||(It=e=>{if(e.ctrlKey||e.metaKey||e.altKey||Rt(e.target)&&e.key.length===1)return;let t=[...Ft].sort((e,t)=>Lt[e.scope]-Lt[t.scope]);for(let n of t)if(n.key===e.key&&!(n.when&&!n.when())){n.action(),e.preventDefault();return}},document.addEventListener(`keydown`,It))}function V(e){(0,g.useEffect)(()=>zt(e),[e])}var Vt={tz:`local`,resolvedTz:`Etc/UTC`,offsetLabel:`UTC`,offsetSeconds:0,pinned:!1};function Ht(){let e=z();return e?.display?{tz:e.display.tz,resolvedTz:e.display.resolved_tz,offsetLabel:e.display.offset_label,offsetSeconds:e.display.offset_seconds,pinned:e.display.pinned??!1}:Vt}function Ut({percent:e,cells:t=30}){let n=Math.max(0,Math.min(t,Math.round((e??0)/100*t)));return(0,R.jsx)(`div`,{id:`cw-progress`,className:`progress`,children:Array.from({length:t},(e,t)=>(0,R.jsx)(`div`,{className:`cell`+(t<n?` on`:``)},t))})}function Wt(){return(0,R.jsx)(`span`,{className:`panel-grip`,"aria-hidden":`true`,children:`⋮⋮`})}function Gt({panel:e,panelLabel:t,onClick:n,triggerId:r,dataTestId:i}){return(0,R.jsx)(`button`,{type:`button`,className:`share-icon`,"data-share-panel":e,"aria-label":`Share ${t} report`,onClick:e=>{e.stopPropagation(),n()},title:`Share (S)`,...r?{id:r}:{},...i?{"data-testid":i}:{},children:(0,R.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,"aria-hidden":`true`,children:[(0,R.jsx)(`path`,{d:`M3 7h6m0 0L6.5 4.5M9 7L6.5 9.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,R.jsx)(`rect`,{x:`0.75`,y:`0.75`,width:`12.5`,height:`12.5`,rx:`1.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1`})]})})}function Kt(e){if(!e)return null;let t=new Date(e);if(isNaN(t.getTime()))return null;let n=e=>String(e).padStart(2,`0`);return`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}function qt(e){if(e==null)return`text-dim`;let t=Math.abs(e);return t<=1?`delta-low`:t<=3?`delta-moderate`:t<=5?`delta-elevated`:`delta-high`}function Jt(e,t){if(!e||!t)return null;let n=new Date(e),r=new Date(t);return isNaN(n.getTime())||isNaN(r.getTime())?null:Math.floor((n.getTime()-r.getTime())/1e3)}function Yt(){let e=z(),t=Ht(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel},r=e?.current_week??null,i=r?.freshness??null,a=r?.five_hour_block??null,o=i!==null&&i.label!==`fresh`;return(0,R.jsxs)(`section`,{className:`panel accent-green`,id:`panel-current-week`,tabIndex:0,role:`region`,"aria-label":`Current Week panel`,"data-panel-kind":`current-week`,onClick:()=>L({type:`OPEN_MODAL`,kind:`current-week`}),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),L({type:`OPEN_MODAL`,kind:`current-week`}))},children:[(0,R.jsxs)(`div`,{className:`panel-header`,children:[(0,R.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-green)`},children:(0,R.jsx)(`use`,{href:`/static/icons.svg#trending-up`})}),(0,R.jsx)(`h3`,{style:{color:`var(--accent-green)`},children:`Current Week`}),o&&i&&(0,R.jsxs)(`span`,{className:i.label===`aging`?`chip chip-aging`:`chip chip-stale`,"data-freshness":i.label,title:`Captured ${i.captured_at}`,children:[`as of `,Kt(i.captured_at)??i.captured_at,` · `,i.age_seconds,`s ago`]}),(0,R.jsx)(Gt,{panel:`current-week`,panelLabel:`Current week`,triggerId:`current-week-panel`,onClick:()=>L(M(`current-week`,`current-week-panel`))}),(0,R.jsx)(Wt,{})]}),(0,R.jsx)(`div`,{className:`panel-body`,children:(0,R.jsxs)(`div`,{className:`cw-body`,children:[(0,R.jsx)(`div`,{className:`cw-left`,children:(0,R.jsxs)(`div`,{className:`cw-big`,children:[(0,R.jsx)(`div`,{className:`label`,children:`Used (7d)`}),(0,R.jsx)(`div`,{className:`num`,children:D.pct1(r?.used_pct)}),(0,R.jsx)(Ut,{percent:r?.used_pct,cells:30}),(0,R.jsxs)(`div`,{className:`progress-scale`,children:[(0,R.jsx)(`span`,{children:`0%`}),(0,R.jsx)(`span`,{children:`50%`}),(0,R.jsx)(`span`,{children:`100%`})]})]})}),(0,R.jsxs)(`div`,{className:`cw-right`,children:[(0,R.jsxs)(`div`,{className:`cw-kv kv-spent`,children:[(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#dollar`})}),(0,R.jsxs)(`div`,{className:`body`,children:[(0,R.jsxs)(`div`,{className:`row1`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Spent`}),(0,R.jsx)(`span`,{className:`v magenta`,children:D.usd2(r?.spent_usd)})]}),(0,R.jsxs)(`div`,{className:`sub`,children:[(0,R.jsx)(`span`,{className:`mute`,children:`$/1%:`}),` `,(0,R.jsx)(`span`,{className:`magenta`,children:D.usd2(r?.dollar_per_pct)})]})]})]}),(0,R.jsxs)(`div`,{className:`cw-kv kv-reset`,children:[(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#refresh`})}),(0,R.jsxs)(`div`,{className:`body`,children:[(0,R.jsxs)(`div`,{className:`row1`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Reset`}),(0,R.jsx)(`span`,{className:`v amber`,children:D.datetimeShort(r?.reset_at_utc,n)})]}),(0,R.jsxs)(`div`,{className:`sub`,children:[`in `,(0,R.jsx)(`span`,{children:D.ddhh(r?.reset_in_sec)})]})]})]}),(0,R.jsxs)(`div`,{className:`cw-kv kv-five-hour`,children:[(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#activity`})}),(0,R.jsxs)(`div`,{className:`body`,children:[(0,R.jsxs)(`div`,{className:`row1`,children:[(0,R.jsx)(`span`,{className:`k`,children:`5-hour`}),(0,R.jsx)(`span`,{className:`v cyan`,children:D.pct1(r?.five_hour_pct)}),a&&Array.isArray(a.credits)&&a.credits.length>0&&(0,R.jsxs)(`span`,{className:`sub credit-chip`,"data-credit-count":a.credits.length,children:[` `,`⚡ credited`,` `,a.credits.map((e,t)=>(0,R.jsxs)(`span`,{children:[t>0?`, `:``,e.delta_pp>0?`+`:``,e.delta_pp.toFixed(0),`pp`]},t))]})]}),a?(0,R.jsxs)(`div`,{className:`sub cw-delta-row ${qt(a.seven_day_pct_delta_pp)}`,children:[a.crossed_seven_day_reset?`⚡ `:``,`Δ `,D.pp(a.seven_day_pct_delta_pp),` this block`]}):(0,R.jsxs)(`div`,{className:`sub`,children:[`resets in `,(0,R.jsx)(`span`,{children:D.hhmm(r?.five_hour_resets_in_sec)})]})]})]}),a&&(0,R.jsxs)(`div`,{className:`cw-kv kv-block`,children:[(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,R.jsxs)(`div`,{className:`body`,children:[(0,R.jsxs)(`div`,{className:`row1`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Block`}),(0,R.jsx)(`span`,{className:`v`,children:Kt(a.block_start_at)??a.block_start_at})]}),(0,R.jsx)(`div`,{className:`sub`,children:(()=>{let t=Jt(e?.generated_at,a.block_start_at);return t==null?(0,R.jsxs)(R.Fragment,{children:[`started `,(0,R.jsx)(`span`,{children:`—`})]}):t<=0?(0,R.jsxs)(R.Fragment,{children:[`started `,(0,R.jsx)(`span`,{children:`just now`})]}):(0,R.jsxs)(R.Fragment,{children:[`started `,(0,R.jsx)(`span`,{children:D.elapsedHm(t)}),` ago`]})})()})]})]})]})]})}),(0,R.jsxs)(`div`,{className:`panel-foot cw-foot`,children:[(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#clock`})}),`Last snapshot: `,(0,R.jsx)(`span`,{children:D.agoSec(r?.last_snapshot_age_sec)})]})]})}function Xt({n:e}){let t=Math.max(0,Math.min(7,(e??0)|0));return(0,R.jsx)(`div`,{className:`dots`,id:`fc-dots`,children:Array.from({length:7},(e,n)=>(0,R.jsx)(`span`,{className:`d`+(n<t?` on`:``)},n))})}function Zt(){let e=z()?.forecast??null,t=St(e?.verdict??null);return(0,R.jsxs)(`section`,{className:`panel accent-purple`,id:`panel-forecast`,tabIndex:0,role:`region`,"aria-label":`Forecast panel`,"data-panel-kind":`forecast`,onClick:()=>L({type:`OPEN_MODAL`,kind:`forecast`}),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),L({type:`OPEN_MODAL`,kind:`forecast`}))},children:[(0,R.jsxs)(`div`,{className:`panel-header`,children:[(0,R.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-pink)`},children:(0,R.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,R.jsx)(`h3`,{style:{color:`var(--accent-pink)`},children:`Forecast`}),(0,R.jsx)(Gt,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-panel`,onClick:()=>L(M(`forecast`,`forecast-panel`))}),(0,R.jsx)(Wt,{})]}),(0,R.jsxs)(`div`,{className:`panel-body`,children:[(0,R.jsxs)(`div`,{id:`fc-banner`,className:`warn-banner`+(t?` `+t.cls:``),style:{display:t?``:`none`},children:[(0,R.jsx)(`svg`,{width:`20`,height:`20`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#warn-triangle`})}),(0,R.jsx)(`span`,{id:`fc-verdict-label`,children:t?.label??`—`})]}),(0,R.jsxs)(`div`,{className:`fc-row fc-wkavg`,children:[(0,R.jsxs)(`div`,{className:`left`,children:[(0,R.jsx)(`div`,{className:`icon-box`,children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#trending-up`})})}),(0,R.jsx)(`span`,{children:`Week-avg projection`})]}),(0,R.jsxs)(`div`,{className:`right`,children:[(0,R.jsx)(`span`,{className:`num`,children:D.pct0(e?.week_avg_projection_pct)}),(0,R.jsx)(`span`,{className:`at`,children:`@ reset`})]})]}),(0,R.jsxs)(`div`,{className:`fc-row fc-24h`,children:[(0,R.jsxs)(`div`,{className:`left`,children:[(0,R.jsx)(`div`,{className:`icon-box`,children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#flame`})})}),(0,R.jsx)(`span`,{children:`Recent-24h projection`})]}),(0,R.jsxs)(`div`,{className:`right`,children:[(0,R.jsx)(`span`,{className:`num`,children:D.pct0(e?.recent_24h_projection_pct)}),(0,R.jsx)(`span`,{className:`at`,children:`@ reset`})]})]}),(0,R.jsx)(`div`,{className:`fc-divider`}),(0,R.jsxs)(`div`,{className:`fc-row fc-budget-100`,children:[(0,R.jsxs)(`div`,{className:`left`,children:[(0,R.jsx)(`div`,{className:`icon-box`,children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#dollar`})})}),(0,R.jsx)(`span`,{children:`Budget to stay ≤100%`})]}),(0,R.jsxs)(`div`,{className:`right`,children:[(0,R.jsx)(`span`,{className:`num`,children:D.usd2(e?.budget_100_per_day_usd)}),(0,R.jsx)(`span`,{className:`per`,children:`/day`})]})]}),(0,R.jsxs)(`div`,{className:`fc-row fc-budget-90`,children:[(0,R.jsxs)(`div`,{className:`left`,children:[(0,R.jsx)(`div`,{className:`icon-box`,children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#dollar`})})}),(0,R.jsx)(`span`,{children:`Budget to stay ≤90%`})]}),(0,R.jsxs)(`div`,{className:`right`,children:[(0,R.jsx)(`span`,{className:`num`,children:D.usd2(e?.budget_90_per_day_usd)}),(0,R.jsx)(`span`,{className:`per`,children:`/day`})]})]})]}),(0,R.jsxs)(`div`,{className:`panel-foot fc-conf`,children:[(0,R.jsxs)(`div`,{className:`lbl`,children:[(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#clock`})}),`Confidence:`,(0,R.jsx)(`span`,{className:`val`,children:e?.confidence??`—`})]}),(0,R.jsx)(Xt,{n:e?.confidence_score})]})]})}function Qt({data:e}){let t=e.map(e=>e.spark_height??0),n=Math.max(1,...t);return(0,R.jsx)(R.Fragment,{children:t.map((r,i)=>{let a=i===t.length-1,o={height:`${Math.max(6,r/n*100)}%`};return a&&(o.background=`color-mix(in srgb, var(--accent-purple) 70%, white 30%)`),(0,R.jsx)(`div`,{className:`bar`,style:o},e[i].label+`|`+i)})})}function $t(e,t){return!e||!t?``:t===`asc`?`▲`:`▼`}function en(e,t){return!e||!t?`none`:t===`asc`?`ascending`:`descending`}function tn({columns:e,override:t,onChange:n,accentVar:r}){let i=e=>n(pe(t,e)),a=e=>t=>{t.stopPropagation(),i(e)},o=e=>t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),i(e))};return(0,R.jsx)(`thead`,{children:(0,R.jsx)(`tr`,{children:e.map(e=>{let n=t?.column===e.id,i=n?t.direction:null,s=[`th-sortable`,e.className??``,e.numeric?`num`:``,n?`is-sorted`:``].filter(Boolean).join(` `),c=r&&n?{"--th-accent":`var(${r})`}:void 0;return(0,R.jsx)(`th`,{className:s,role:`columnheader`,"aria-sort":en(n,i),tabIndex:0,"data-col":e.id,style:c,onClick:a(e),onKeyDown:o(e),children:(0,R.jsxs)(`button`,{type:`button`,className:`th-sort-btn`,tabIndex:-1,children:[(0,R.jsx)(`span`,{className:`th-label`,children:e.label}),(0,R.jsx)(`span`,{className:`th-caret`,"aria-hidden":`true`,children:$t(n,i)})]})},e.id)})})})}var nn=[{id:`week`,label:`Week`,defaultDirection:`desc`,compare:(e,t)=>e._chronoIdx-t._chronoIdx,className:`c-week`},{id:`used_pct`,label:`Used%`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.used_pct??0)-(t.used_pct??0),className:`c-used`},{id:`dollar_per_pct`,label:`$/1%`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.dollar_per_pct??0)-(t.dollar_per_pct??0),className:`c-dollar`},{id:`delta`,label:`Δ (vs prior)`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>(e.delta??0)-(t.delta??0),className:`c-delta`}];function rn(){let e=oe(z()),t=(0,g.useSyncExternalStore)(I,()=>F().prefs.trendSortOverride),n=e.map((e,t)=>({...e,_chronoIdx:t})),r=t?fe(n,nn,t):n;return(0,R.jsxs)(`section`,{className:`panel accent-amber`,id:`panel-trend`,tabIndex:0,role:`region`,"aria-label":`$/1% Trend panel`,"data-panel-kind":`trend`,onClick:()=>L({type:`OPEN_MODAL`,kind:`trend`}),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),L({type:`OPEN_MODAL`,kind:`trend`}))},children:[(0,R.jsxs)(`div`,{className:`panel-header`,children:[(0,R.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-amber)`},children:(0,R.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,R.jsxs)(`h3`,{style:{color:`var(--accent-amber)`},children:[`$/1% Trend `,(0,R.jsx)(`span`,{className:`sub`,children:`(8 weeks)`})]}),(0,R.jsx)(Gt,{panel:`trend`,panelLabel:`Trend`,triggerId:`trend-panel`,onClick:()=>L(M(`trend`,`trend-panel`))}),(0,R.jsx)(Wt,{})]}),(0,R.jsxs)(`div`,{className:`panel-body`,children:[(0,R.jsxs)(`table`,{className:`trend-table`,children:[(0,R.jsx)(tn,{columns:nn,override:t,onChange:e=>L({type:`SET_TABLE_SORT`,table:`trend`,override:e}),accentVar:`--accent-amber`}),(0,R.jsx)(`tbody`,{id:`trend-rows`,children:r.map(e=>(0,R.jsxs)(`tr`,{className:e.is_current?`current`:void 0,children:[(0,R.jsx)(`td`,{children:e.label}),(0,R.jsx)(`td`,{className:`num`,children:D.pct0(e.used_pct)}),(0,R.jsx)(`td`,{className:`num`+(e.is_current?``:` dollar`),children:D.usd2(e.dollar_per_pct)}),(0,R.jsx)(`td`,{className:`num `+D.deltaCls(e.delta,e.is_current),children:D.delta(e.delta)})]},e.label))})]}),(0,R.jsx)(`div`,{className:`trend-spark-title`,children:`$/1% trend:`}),(0,R.jsx)(`div`,{className:`trend-spark`,id:`trend-spark`,children:(0,R.jsx)(Qt,{data:e})}),(0,R.jsxs)(`div`,{className:`trend-spark-legend`,children:[(0,R.jsx)(`span`,{children:`older`}),(0,R.jsx)(`span`,{className:`line`}),(0,R.jsx)(`span`,{children:`▶ newer`})]})]})]})}var an=`(max-width: 640px)`;function on(){let[e,t]=(0,g.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(an).matches);return(0,g.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(an),n=e=>{t(e.matches)};return e.addEventListener(`change`,n),t(e.matches),()=>{e.removeEventListener(`change`,n)}},[]),e}function sn(e){let t=Ae.findIndex(t=>t.key===e);return Ae[(t===-1?0:t+1)%Ae.length].key}function cn(){let e=(0,g.useSyncExternalStore)(I,()=>F().filterText),t=(0,g.useSyncExternalStore)(I,()=>F().searchText),n=(0,g.useSyncExternalStore)(I,()=>F().searchMatches),r=(0,g.useSyncExternalStore)(I,()=>F().searchIndex),i=(0,g.useSyncExternalStore)(I,()=>F().sessionsSort),a=(0,g.useSyncExternalStore)(I,()=>F().prefs.sessionsSortOverride),o=on(),[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(!1),d=(0,g.useRef)(null),f=(0,g.useRef)(null),p=l||o,m=l||t.length>0,h=()=>c(!0),_=e=>{e?.clear&&L({type:`SET_FILTER`,text:``}),c(!1),L({type:`SET_INPUT_MODE`,mode:null})},v=()=>u(!0),y=e=>{e?.clear&&L({type:`SET_SEARCH`,text:``}),u(!1),L({type:`SET_INPUT_MODE`,mode:null})};(0,g.useEffect)(()=>{s&&(d.current?.focus(),d.current?.select(),L({type:`SET_INPUT_MODE`,mode:`filter`}))},[s]),(0,g.useEffect)(()=>{l&&(f.current?.focus(),f.current?.select(),L({type:`SET_INPUT_MODE`,mode:`search`}))},[l]),V([{key:`f`,scope:`sessions`,action:h,when:()=>!F().openModal&&!s},{key:`/`,scope:`sessions`,action:v,when:()=>!F().openModal&&!l}]);let b=n.length,x=b>0?`${r+1} / ${b}`:`0 / 0`,S=e=>{b!==0&&L({type:`SET_SEARCH_MATCHES`,matches:n,index:((r+e)%b+b)%b})};return(0,R.jsxs)(`div`,{className:`sessions-ctrls`,id:`sessions-ctrls`,children:[s?(0,R.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`filter-input`,placeholder:`filter project|model…`,ref:d,value:e,onChange:e=>L({type:`SET_FILTER`,text:e.target.value}),onKeyDown:e=>{e.key===`Enter`?_():e.key===`Escape`&&_({clear:!0})},onBlur:()=>_()}):e?(0,R.jsxs)(`button`,{className:`ctrl-btn as-chip`,id:`filter-btn`,type:`button`,"aria-label":`Filter: ${e}. Press Esc to clear.`,onClick:e=>{if(e.target.classList.contains(`chip-x`)){L({type:`SET_FILTER`,text:``});return}h()},children:[(0,R.jsxs)(`span`,{className:`chip`,children:[`filter: `,e]}),(0,R.jsx)(`span`,{className:`chip-x`,title:`Clear`,children:`×`})]}):(0,R.jsx)(`button`,{className:`ctrl-btn`,id:`filter-btn`,type:`button`,title:`Filter (f)`,onClick:h,children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#funnel`})})}),p?(0,R.jsxs)(`div`,{className:`search-container`,id:`search-container`,children:[(0,R.jsx)(`input`,{type:`search`,className:`ctrl-input`,id:`search-input`,placeholder:`search…`,ref:f,value:t,onChange:e=>L({type:`SET_SEARCH`,text:e.target.value}),onFocus:()=>{l||u(!0)},onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),S(1)):e.key===`Escape`&&y({clear:!0})},onBlur:()=>y()}),m&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`match-count`,id:`search-count`,children:x}),(0,R.jsx)(`button`,{className:`ctrl-btn`,id:`search-prev`,type:`button`,title:`Prev (N)`,onMouseDown:e=>e.preventDefault(),onClick:()=>S(-1),children:`↑`}),(0,R.jsx)(`button`,{className:`ctrl-btn`,id:`search-next`,type:`button`,title:`Next (n)`,onMouseDown:e=>e.preventDefault(),onClick:()=>S(1),children:`↓`})]})]}):(0,R.jsx)(`button`,{className:`ctrl-btn`,id:`search-btn`,type:`button`,title:`Search (/)`,onClick:v,children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#magnifier`})})}),(0,R.jsxs)(`button`,{className:`ctrl-btn`,id:`sort-pill`,type:`button`,title:`Cycle sort`,onClick:()=>{F().prefs.sessionsSortOverride&&L({type:`SET_TABLE_SORT`,table:`sessions`,override:null}),L({type:`SET_SORT`,key:sn(i)})},children:[(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#sort-updown`})}),(0,R.jsxs)(`span`,{className:`label`,children:[`sort: `,a?`${a.column} ${a.direction}`:i]})]})]})}function ln(e){return e?e.includes(`opus`)?`opus`:e.includes(`haiku`)?`haiku`:`sonnet`:`sonnet`}function un(e){return e==null?`cost-low`:e<.25?`cost-xs`:e<1?`cost-low`:e<3?`cost-mid`:`cost-high`}function dn(){let e=z(),t=Ht(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel},r=(0,g.useMemo)(()=>me.map(e=>e.id===`started`?{...e,label:`Started (${t.offsetLabel})`}:e),[t.offsetLabel]);(0,g.useSyncExternalStore)(I,()=>F().filterText),(0,g.useSyncExternalStore)(I,()=>F().sessionsSort),(0,g.useSyncExternalStore)(I,()=>F().prefs.sessionsPerPage);let i=(0,g.useSyncExternalStore)(I,()=>F().searchMatches),a=(0,g.useSyncExternalStore)(I,()=>F().searchIndex),o=(0,g.useSyncExternalStore)(I,()=>F().prefs.sessionsCollapsed),s=(0,g.useSyncExternalStore)(I,()=>F().prefs.sessionsSortOverride),c=on(),l=e?.sessions?.total??0,u=Le(),d=new Set(i.map(e=>u[e]?.session_id).filter(e=>!!e));return(0,g.useEffect)(()=>{if(a<0)return;let e=u[i[a]]?.session_id;e&&document.querySelector(`[data-session-id="${CSS.escape(e)}"]`)?.scrollIntoView({block:`nearest`})},[a,i,u]),(0,R.jsxs)(`section`,{className:`panel accent-orange`+(o?` sessions-collapsed`:``),id:`panel-sessions`,tabIndex:0,role:`region`,"aria-label":`Recent Sessions panel`,"data-panel-kind":`sessions`,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),L({type:`OPEN_MODAL`,kind:`session`}))},children:[(0,R.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,R.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-orange)`},children:(0,R.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,R.jsxs)(`h3`,{style:{color:`var(--accent-orange)`},children:[`Recent Sessions `,(0,R.jsxs)(`span`,{className:`sub`,children:[`(`,l,` total)`]})]})]}),(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[!c&&(0,R.jsx)(cn,{}),(0,R.jsx)(Gt,{panel:`sessions`,panelLabel:`Sessions`,triggerId:`sessions-panel`,onClick:()=>L(M(`sessions`,`sessions-panel`))}),(0,R.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!o,"aria-controls":`panel-sessions-body`,"aria-label":o?`Expand Recent Sessions`:`Collapse Recent Sessions`,title:o?`Expand (c)`:`Collapse (c)`,onClick:e=>{e.stopPropagation(),L({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!o}})},children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#${o?`chevron-down`:`chevron-up`}`})})}),(0,R.jsx)(Wt,{})]})]}),c&&(0,R.jsx)(cn,{}),(0,R.jsx)(`div`,{className:`panel-body`,id:`panel-sessions-body`,children:(0,R.jsxs)(`table`,{className:`sess-table`,children:[(0,R.jsx)(tn,{columns:r,override:s,onChange:e=>L({type:`SET_TABLE_SORT`,table:`sessions`,override:e})}),(0,R.jsx)(`tbody`,{id:`sess-rows`,children:u.map(e=>{let t=e.session_id?d.has(e.session_id):!1,r=ln(e.model),i=un(e.cost_usd??null),a=e.model?`Filter by ${e.model}`:`Filter by model`;return(0,R.jsxs)(`tr`,{className:`session-row`+(t?` search-match`:``),"data-session-id":e.session_id,onClick:()=>e.session_id&&L({type:`OPEN_MODAL`,kind:`session`,sessionId:e.session_id}),children:[(0,R.jsx)(`td`,{className:`started`,children:D.startedShort(e.started_utc,n,{noSuffix:!0})}),(0,R.jsxs)(`td`,{children:[e.duration_min,`m`]}),(0,R.jsx)(`td`,{onClick:e=>e.stopPropagation(),children:(0,R.jsx)(`span`,{className:`chip model-chip ${r}`,role:`button`,tabIndex:-1,"aria-label":a,onClick:()=>L({type:`SET_FILTER`,text:e.model}),children:e.model})}),(0,R.jsx)(`td`,{className:`project`,children:e.project_key&&e.project_key!==`(unknown)`?(0,R.jsx)(`button`,{type:`button`,className:`project-cell-link`,"aria-label":`Open Projects modal for ${e.project_key}`,onClick:t=>{t.stopPropagation(),L({type:`OPEN_MODAL`,kind:`projects`,projectKey:e.project_key??void 0})},children:e.project}):(0,R.jsx)(`span`,{title:`Project still resolving`,children:e.project})}),(0,R.jsx)(`td`,{className:`num ${i}`,children:D.usd2(e.cost_usd)})]},e.session_id||`${e.started_utc}-${e.model}`)})})]})})]})}var fn=5;function pn(){let e=z(),t=e?.projects?.current_week?.rows??[],n=e?.projects==null,r=(0,R.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,R.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-magenta)`},children:(0,R.jsx)(`use`,{href:`/static/icons.svg#folder`})}),(0,R.jsxs)(`h3`,{style:{color:`var(--accent-magenta)`},children:[`Projects`,` `,(0,R.jsx)(`span`,{className:`sub`,children:n?`(unavailable)`:`(${t.length} this week)`})]})]}),(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,R.jsx)(Gt,{panel:`projects`,panelLabel:`Projects`,triggerId:`projects-panel`,onClick:()=>L(M(`projects`,`projects-panel`))}),(0,R.jsx)(Wt,{})]})]});if(n)return(0,R.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,role:`region`,"aria-label":`Projects panel`,tabIndex:0,children:[r,(0,R.jsx)(`div`,{className:`panel-body projects-body`,children:(0,R.jsx)(`div`,{className:`panel-empty`,children:`Projects data unavailable — restart the dashboard.`})})]});let i=t.slice(0,fn),a=t.slice(fn),o=a.reduce((e,t)=>e+t.cost_usd,0),s=a.reduce((e,t)=>e+(t.attributed_pct??0),0),c=i[0]?.cost_usd||1,l=()=>L({type:`OPEN_MODAL`,kind:`projects`}),u=e=>t=>{t.stopPropagation(),L({type:`OPEN_MODAL`,kind:`projects`,projectKey:e})};return(0,R.jsxs)(`section`,{className:`panel accent-magenta`,id:`panel-projects`,"data-panel-kind":`projects`,role:`region`,"aria-label":`Projects panel`,tabIndex:0,onClick:l,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l())},children:[r,(0,R.jsx)(`div`,{className:`panel-body projects-body`,children:t.length===0?(0,R.jsx)(`div`,{className:`panel-empty`,children:`No project activity yet this week.`}):(0,R.jsxs)(R.Fragment,{children:[i.map(e=>{let t={"--w":`${e.cost_usd/c*100}%`};return(0,R.jsxs)(`div`,{className:`projects-row`,role:`button`,tabIndex:0,"aria-label":`Open Projects modal for ${e.key}`,onClick:u(e.key),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),L({type:`OPEN_MODAL`,kind:`projects`,projectKey:e.key}))},title:e.key,children:[(0,R.jsx)(`span`,{className:`name`,children:e.key}),(0,R.jsx)(`div`,{className:`lb-bar`,style:t}),(0,R.jsx)(`span`,{className:`cost`,children:D.usd2(e.cost_usd)}),(0,R.jsx)(`span`,{className:`pct`,children:e.attributed_pct==null?`—`:D.pct0(e.attributed_pct)})]},e.key)}),a.length>0&&(0,R.jsxs)(`div`,{className:`projects-row tail`,"aria-label":`${a.length} more projects`,children:[(0,R.jsxs)(`span`,{className:`name muted`,children:[`+`,a.length,` more`]}),(0,R.jsx)(`div`,{className:`lb-bar muted`,style:{"--w":`${o/c*100}%`}}),(0,R.jsx)(`span`,{className:`cost muted`,children:D.usd2(o)}),(0,R.jsx)(`span`,{className:`pct muted`,children:s===0?`—`:D.pct0(s)})]})]})})]})}var mn=8;function hn({r:e,isFirstMount:t}){let n=e.delta_cost_pct==null?`flat`:e.delta_cost_pct>0?`up`:e.delta_cost_pct<0?`down`:`flat`;return(0,R.jsxs)(`div`,{className:`period`,children:[(0,R.jsxs)(`div`,{className:`meta`,children:[(0,R.jsxs)(`span`,{className:`label`,children:[e.label,e.is_current&&(0,R.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,R.jsxs)(`span`,{className:`right`,children:[(0,R.jsx)(`span`,{className:`cost`,children:D.usd2(e.cost_usd)}),(0,R.jsx)(`span`,{className:`delta ${n}`,children:D.deltaPct(e.delta_cost_pct)})]})]}),(0,R.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,R.jsx)(`span`,{className:e.chip,style:{width:t?`0%`:`${e.cost_pct}%`},title:`${e.display} ${D.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))})]})}function gn(){let e=z(),t=(e?.weekly?.rows??[]).slice(0,mn),n=e?.weekly?.total_cost_usd??0,r=(0,g.useRef)(new Set),[,i]=(0,g.useState)(0);return(0,g.useLayoutEffect)(()=>{let e=t.filter(e=>!r.current.has(e.label));if(e.length===0)return;e.forEach(e=>r.current.add(e.label));let n=requestAnimationFrame(()=>i(e=>e+1));return()=>cancelAnimationFrame(n)},[t]),(0,R.jsxs)(`section`,{className:`panel accent-cyan`,id:`panel-weekly`,tabIndex:0,role:`region`,"aria-label":`Weekly usage panel`,"data-panel-kind":`weekly`,onClick:()=>L({type:`OPEN_MODAL`,kind:`weekly`}),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),L({type:`OPEN_MODAL`,kind:`weekly`}))},children:[(0,R.jsxs)(`div`,{className:`panel-header`,children:[(0,R.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-cyan)`},children:(0,R.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),(0,R.jsxs)(`h3`,{style:{color:`var(--accent-cyan)`},children:[`Weekly `,(0,R.jsx)(`span`,{className:`sub`,children:`(model split · 8 weeks)`})]}),(0,R.jsx)(Gt,{panel:`weekly`,panelLabel:`Weekly`,triggerId:`weekly-panel`,onClick:()=>L(M(`weekly`,`weekly-panel`))}),(0,R.jsx)(Wt,{})]}),(0,R.jsx)(`div`,{className:`panel-body`,children:t.length===0?(0,R.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):t.map(e=>(0,R.jsx)(hn,{r:e,isFirstMount:!r.current.has(e.label)},e.label))}),t.length>0&&(0,R.jsx)(`div`,{className:`panel-foot period-foot`,children:(0,R.jsxs)(`span`,{children:[t.length,`w total`,(0,R.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,R.jsx)(`span`,{className:`total`,children:D.usd2(n)})]})})]})}var _n=6;function vn({r:e,isFirstMount:t}){let n=e.delta_cost_pct==null?`flat`:e.delta_cost_pct>0?`up`:e.delta_cost_pct<0?`down`:`flat`;return(0,R.jsxs)(`div`,{className:`period`,children:[(0,R.jsxs)(`div`,{className:`meta`,children:[(0,R.jsxs)(`span`,{className:`label`,children:[e.label,e.is_current&&(0,R.jsx)(`span`,{className:`pill-current`,children:`Now`})]}),(0,R.jsxs)(`span`,{className:`right`,children:[(0,R.jsx)(`span`,{className:`cost`,children:D.usd2(e.cost_usd)}),(0,R.jsx)(`span`,{className:`delta ${n}`,children:D.deltaPct(e.delta_cost_pct)})]})]}),(0,R.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,R.jsx)(`span`,{className:e.chip,style:{width:t?`0%`:`${e.cost_pct}%`},title:`${e.display} ${D.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))})]})}function yn(){let e=z(),t=(e?.monthly?.rows??[]).slice(0,_n),n=e?.monthly?.total_cost_usd??0,r=(0,g.useRef)(new Set),[,i]=(0,g.useState)(0);return(0,g.useLayoutEffect)(()=>{let e=t.filter(e=>!r.current.has(e.label));if(e.length===0)return;e.forEach(e=>r.current.add(e.label));let n=requestAnimationFrame(()=>i(e=>e+1));return()=>cancelAnimationFrame(n)},[t]),(0,R.jsxs)(`section`,{className:`panel accent-pink`,id:`panel-monthly`,tabIndex:0,role:`region`,"aria-label":`Monthly usage panel`,"data-panel-kind":`monthly`,onClick:()=>L({type:`OPEN_MODAL`,kind:`monthly`}),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),L({type:`OPEN_MODAL`,kind:`monthly`}))},children:[(0,R.jsxs)(`div`,{className:`panel-header`,children:[(0,R.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-pink)`},children:(0,R.jsx)(`use`,{href:`/static/icons.svg#calendar`})}),(0,R.jsxs)(`h3`,{style:{color:`var(--accent-pink)`},children:[`Monthly `,(0,R.jsx)(`span`,{className:`sub`,children:`(model split · 6 months)`})]}),(0,R.jsx)(Gt,{panel:`monthly`,panelLabel:`Monthly`,triggerId:`monthly-panel`,onClick:()=>L(M(`monthly`,`monthly-panel`))}),(0,R.jsx)(Wt,{})]}),(0,R.jsx)(`div`,{className:`panel-body`,children:t.length===0?(0,R.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):t.map(e=>(0,R.jsx)(vn,{r:e,isFirstMount:!r.current.has(e.label)},e.label))}),t.length>0&&(0,R.jsx)(`div`,{className:`panel-foot period-foot`,children:(0,R.jsxs)(`span`,{children:[t.length,`mo total`,(0,R.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,R.jsx)(`span`,{className:`total`,children:D.usd2(n)})]})})]})}function bn({r:e,maxCost:t,isFirstMount:n}){let r=t>0?e.cost_usd/t*100:0,i=()=>L({type:`OPEN_MODAL`,kind:`block`,blockStartAt:e.start_at});return(0,R.jsxs)(`div`,{className:`blocks-row`,role:`button`,tabIndex:0,"aria-label":`Open detail for block starting ${e.label}`,onClick:i,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i())},children:[(0,R.jsxs)(`div`,{className:`meta`,children:[(0,R.jsxs)(`span`,{className:`label`,children:[e.anchor===`heuristic`&&(0,R.jsx)(`span`,{className:`anchor-marker`,"aria-label":`approximate start`,children:`~`}),e.label,e.is_active&&(0,R.jsx)(`span`,{className:`pill-active`,children:`Active`})]}),(0,R.jsx)(`span`,{className:`cost`,children:D.usd2(e.cost_usd)})]}),(0,R.jsx)(`div`,{className:`gauge-track`,children:(0,R.jsx)(`div`,{className:`gauge-fill`,style:{width:n?`0%`:`${r}%`},children:e.models.map(e=>(0,R.jsx)(`span`,{className:`seg-${e.chip}`,style:{width:`${e.cost_pct}%`},title:`${e.display} ${D.usd2(e.cost_usd)} (${e.cost_pct.toFixed(0)}%)`},e.model))})})]})}function xn(){let e=z(),t=(0,g.useSyncExternalStore)(I,()=>F().prefs.blocksCollapsed),n=e?.blocks?.rows??[],r=n.length>0?Math.max(...n.map(e=>e.cost_usd),0):0,i=e?.blocks?.total_cost_usd??0,a=n.some(e=>e.anchor===`heuristic`),o=(0,g.useRef)(new Set),[,s]=(0,g.useState)(0);return(0,g.useLayoutEffect)(()=>{let e=n.filter(e=>!o.current.has(e.start_at));if(e.length===0)return;e.forEach(e=>o.current.add(e.start_at));let t=requestAnimationFrame(()=>s(e=>e+1));return()=>cancelAnimationFrame(t)},[n]),(0,R.jsxs)(`section`,{className:`panel accent-blue`+(t?` blocks-collapsed`:``),id:`panel-blocks`,tabIndex:0,role:`region`,"aria-label":`Blocks panel`,"data-panel-kind":`blocks`,children:[(0,R.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,R.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-blue)`},children:(0,R.jsx)(`use`,{href:`/static/icons.svg#layers`})}),(0,R.jsxs)(`h3`,{style:{color:`var(--accent-blue)`},children:[`Blocks `,(0,R.jsx)(`span`,{className:`sub`,children:`(5h · current week)`})]})]}),(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,R.jsx)(Gt,{panel:`blocks`,panelLabel:`5-hour blocks`,triggerId:`blocks-panel`,onClick:()=>L(M(`blocks`,`blocks-panel`))}),(0,R.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!t,"aria-controls":`panel-blocks-body`,"aria-label":t?`Expand Blocks`:`Collapse Blocks`,title:t?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),L({type:`SAVE_PREFS`,patch:{blocksCollapsed:!t}})},children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#${t?`chevron-down`:`chevron-up`}`})})}),(0,R.jsx)(Wt,{})]})]}),(0,R.jsx)(`div`,{className:`panel-body`,id:`panel-blocks-body`,children:n.length===0?(0,R.jsx)(`div`,{className:`panel-empty`,children:`No activity blocks this week yet.`}):n.map(e=>(0,R.jsx)(bn,{r:e,maxCost:r,isFirstMount:!o.current.has(e.start_at)},e.start_at))}),n.length>0&&(0,R.jsx)(`div`,{className:`panel-foot`,children:(0,R.jsxs)(`span`,{children:[n.length,` blocks`,(0,R.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,R.jsx)(`span`,{className:`total`,children:D.usd2(i)}),a&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:` · `}),(0,R.jsx)(`span`,{className:`legend-anchor`,children:`~ = approximate start`})]})]})})]})}var Sn=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Cn(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function wn(e){let t=e.split(`-`).map(Number);return`${Sn[t[1]-1]} ${t[2]}`}function Tn(e,t){let n=e.split(`-`).map(Number),r=t.split(`-`).map(Number),i=n[1],a=n[2],o=r[1],s=r[2];return i===o?`${Sn[i-1]} ${a} - ${s}`:`${Sn[i-1]} ${a} - ${Sn[o-1]} ${s}`}function En({r:e,staggerIndex:t,isMobile:n}){let r=e.date.slice(8,10),i=e.cost_usd>0?n?`${Math.ceil(e.cost_usd)}`:D.usd2(e.cost_usd):`—`,a=[`${e.label} · ${e.cost_usd>0?D.usd2(e.cost_usd):`—`}`,...e.models.map(e=>`${e.display} ${e.cost_pct.toFixed(0)}%`)].join(` · `);return(0,R.jsxs)(`button`,{type:`button`,"data-cell-date":e.date,className:`daily-cell h${e.intensity_bucket}${e.is_today?` is-today`:``} first-mount`,title:a,style:{"--daily-stagger":`${t*30}ms`},onClick:()=>L({type:`OPEN_MODAL`,kind:`daily`,dailyDate:e.date}),children:[(0,R.jsx)(`span`,{className:`d`,children:r}),(0,R.jsx)(`span`,{className:`c`,children:i})]})}function Dn(){let e=z(),t=on(),n=(0,g.useSyncExternalStore)(I,()=>F().prefs.dailyCollapsed),r=e?.daily?.rows??[],i=Cn([...r].reverse(),7),a=e?.daily?.total_cost_usd??0,o=e?.daily?.peak??null;return(0,R.jsxs)(`section`,{className:`panel accent-indigo`+(n?` daily-collapsed`:``),id:`panel-daily`,tabIndex:0,role:`region`,"aria-label":`Daily heatmap panel`,"data-panel-kind":`daily`,children:[(0,R.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,R.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-indigo)`},children:(0,R.jsx)(`use`,{href:`/static/icons.svg#grid`})}),(0,R.jsxs)(`h3`,{style:{color:`var(--accent-indigo)`},children:[`Daily `,(0,R.jsx)(`span`,{className:`sub`,children:`heatmap · 30 days`})]})]}),(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,R.jsx)(Gt,{panel:`daily`,panelLabel:`Daily`,triggerId:`daily-panel`,onClick:()=>L(M(`daily`,`daily-panel`))}),(0,R.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!n,"aria-controls":`panel-daily-body`,"aria-label":n?`Expand Daily`:`Collapse Daily`,title:n?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),L({type:`SAVE_PREFS`,patch:{dailyCollapsed:!n}})},children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#${n?`chevron-down`:`chevron-up`}`})})}),(0,R.jsx)(Wt,{})]})]}),(0,R.jsx)(`div`,{className:`panel-body`,id:`panel-daily-body`,children:r.length===0?(0,R.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`daily-legend`,"aria-label":`Color intensity legend`,children:[(0,R.jsx)(`span`,{children:`Less`}),(0,R.jsxs)(`span`,{className:`scale`,children:[(0,R.jsx)(`span`,{className:`h0`}),(0,R.jsx)(`span`,{className:`h1`}),(0,R.jsx)(`span`,{className:`h2`}),(0,R.jsx)(`span`,{className:`h3`}),(0,R.jsx)(`span`,{className:`h4`}),(0,R.jsx)(`span`,{className:`h5`})]}),(0,R.jsx)(`span`,{children:`More`})]}),(0,R.jsx)(`div`,{className:`daily-cal-grid`,children:i.map((e,n)=>(0,R.jsxs)(g.Fragment,{children:[(0,R.jsxs)(`div`,{className:`daily-week-label`,children:[(0,R.jsxs)(`span`,{className:`wk`,children:[`W`,n+1]}),(0,R.jsx)(`span`,{className:`rng`,children:Tn(e[0].date,e[e.length-1].date)})]}),e.map((e,r)=>(0,R.jsx)(En,{r:e,staggerIndex:n*7+r,isMobile:t},e.date)),e.length<7&&(0,R.jsx)(`div`,{className:`daily-month-continues`,style:{gridColumn:`span ${7-e.length}`},"aria-hidden":`true`,children:`Month continues`})]},n))}),(0,R.jsxs)(`div`,{className:`daily-foot`,children:[(0,R.jsxs)(`div`,{className:`daily-foot-col`,"data-total-cell":!0,children:[(0,R.jsx)(`svg`,{className:`daily-foot-icon icon-total`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#pie-chart`})}),(0,R.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,R.jsxs)(`span`,{className:`lbl`,children:[`Total (`,r.length,` days)`]}),(0,R.jsx)(`span`,{className:`val`,children:D.usd2(a)})]})]}),o&&(0,R.jsxs)(`button`,{type:`button`,className:`daily-foot-col daily-foot-peak`,"data-peak-trigger":!0,title:`Click to open Daily modal at peak day`,onClick:()=>L({type:`OPEN_MODAL`,kind:`daily`,dailyDate:o.date}),children:[(0,R.jsx)(`svg`,{className:`daily-foot-icon icon-peak`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#trending-up`})}),(0,R.jsxs)(`div`,{className:`daily-foot-text`,children:[(0,R.jsx)(`span`,{className:`lbl`,children:`Peak day`}),(0,R.jsxs)(`span`,{className:`val`,children:[(0,R.jsx)(`span`,{className:`d`,children:wn(o.date)}),(0,R.jsx)(`span`,{className:`a`,children:D.usd2(o.cost_usd)})]})]})]})]})]})})]})}var On={weekly:`WEEKLY`,five_hour:`5H-BLOCK`,budget:`BUDGET`},kn={weekly:`Weekly`,five_hour:`5h-block`,budget:`Budget`};function An(){let e=(0,g.useSyncExternalStore)(I,()=>F().alerts),t=(0,g.useSyncExternalStore)(I,()=>F().prefs.alertsCollapsed),n=Ht(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel},i=e.slice(0,10),a=e.length,o=()=>{Bn.alerts.openAction()};return(0,R.jsxs)(`section`,{className:`panel accent-amber`+(t?` alerts-collapsed`:``),id:`panel-alerts`,tabIndex:0,role:`region`,"aria-label":`Recent alerts panel`,"data-panel-kind":`alerts`,onClick:o,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},children:[(0,R.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`10px`},children:[(0,R.jsx)(`svg`,{className:`icon`,style:{color:`var(--accent-amber)`},children:(0,R.jsx)(`use`,{href:`/static/icons.svg#bell`})}),(0,R.jsxs)(`h3`,{style:{color:`var(--accent-amber)`},children:[`Recent alerts `,(0,R.jsx)(`span`,{className:`sub`,children:`(last 10)`})]})]}),(0,R.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`4px`},children:[(0,R.jsx)(`button`,{type:`button`,className:`panel-collapse-toggle`,"aria-expanded":!t,"aria-controls":`panel-alerts-body`,"aria-label":t?`Expand Recent alerts`:`Collapse Recent alerts`,title:t?`Expand`:`Collapse`,onClick:e=>{e.stopPropagation(),L({type:`SAVE_PREFS`,patch:{alertsCollapsed:!t}})},children:(0,R.jsx)(`svg`,{className:`icon`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#${t?`chevron-down`:`chevron-up`}`})})}),(0,R.jsx)(Wt,{})]})]}),(0,R.jsx)(`div`,{className:`panel-body`,id:`panel-alerts-body`,children:i.length===0?(0,R.jsx)(`div`,{className:`alerts-empty panel-empty`,children:`No alerts yet. Alerts appear when usage crosses 90% or 95%.`}):(0,R.jsx)(`ul`,{className:`alerts-list`,children:i.map(e=>{let t=e.threshold>=95?`red`:`amber`;return(0,R.jsxs)(`li`,{className:`alert-row`,children:[(0,R.jsxs)(`span`,{className:`alert-threshold severity-${t} ${t}`,children:[e.threshold,`%`]}),(0,R.jsx)(`span`,{className:`chip chip--${e.axis}`,children:On[e.axis]}),(0,R.jsx)(`span`,{className:`alert-when`,children:D.relativeOrAbsolute(e.alerted_at,r)})]},e.id)})})}),a>0&&(0,R.jsxs)(`div`,{className:`panel-foot alerts-foot`,children:[i.length,` of `,a,` shown`]})]})}var jn={mini:{width:272,height:32,padTop:4,padBot:4},large:{width:800,height:90,padTop:6,padBot:6}},Mn=[0,25,50,75,100];function Nn({days:e,baseline_median_percent:t,today_marker_color:n,size:r}){let i=jn[r],a=r===`large`,o=[...e].reverse(),s=a?{width:`100%`}:{width:`100%`,height:i.height,preserveAspectRatio:`none`};if(o.length===0){let e=(0,R.jsx)(`svg`,{className:`cr-spark`,...s,viewBox:`0 0 ${i.width} ${i.height}`,"aria-label":`no data`});return a?(0,R.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,R.jsx)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:`100%`}),e,(0,R.jsx)(`span`,{className:`cr-spark-axis cr-spark-axis-bot`,children:`0%`})]}):e}let c=e=>{let t=Math.max(0,Math.min(100,e))/100;return i.padTop+(1-t)*(i.height-i.padTop-i.padBot)},l=e=>o.length===1?i.width/2:e/(o.length-1)*i.width,u=o.map((e,t)=>`${l(t).toFixed(1)},${c(e.cache_hit_percent).toFixed(1)}`).join(` `),d=o.length-1,f=l(d),p=c(o[d].cache_hit_percent),m=(0,R.jsxs)(`svg`,{className:`cr-spark`,...s,viewBox:`0 0 ${i.width} ${i.height}`,"aria-label":`Cache hit % timeline, ${o.length} days`,children:[a&&Mn.map(e=>{let t=e===0||e===100;return(0,R.jsx)(`line`,{x1:0,x2:i.width,y1:c(e),y2:c(e),stroke:t?`rgba(255,255,255,0.45)`:`rgba(255,255,255,0.18)`,strokeWidth:t?1:.5,strokeDasharray:t?void 0:`4,3`,opacity:1,"data-testid":`cr-spark-gridline-${e}`},`grid-${e}`)}),t!==null&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`rect`,{x:0,y:c(t+5),width:i.width,height:c(t-5)-c(t+5),fill:`var(--accent-cyan)`,opacity:.1}),(0,R.jsx)(`line`,{x1:0,x2:i.width,y1:c(t),y2:c(t),stroke:`var(--accent-cyan)`,strokeWidth:.5,strokeDasharray:`3,3`,opacity:.6})]}),(0,R.jsx)(`polyline`,{points:u,fill:`none`,stroke:`var(--accent-cyan)`,strokeWidth:a?2:1.5}),(0,R.jsx)(`circle`,{cx:f,cy:p,r:a?5:3.5,fill:n,"data-testid":`cr-spark-today-marker`})]});return a?(0,R.jsxs)(`div`,{className:`cr-spark-wrap`,children:[(0,R.jsx)(`span`,{className:`cr-spark-axis cr-spark-axis-top`,children:`100%`}),m,(0,R.jsx)(`span`,{className:`cr-spark-axis cr-spark-axis-bot`,children:`0%`})]}):m}var Pn={mini:{width:272,height:28,padX:0,padTop:2,padBot:2,barGap:1},large:{width:800,height:110,padX:28,padTop:28,padBot:28,barGap:4}};function Fn({days:e,size:t}){let n=Pn[t],r=t===`large`,i=[...e].reverse();if(i.length===0)return r?(0,R.jsxs)(`div`,{className:`crm-section`,children:[(0,R.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[`Net $ per day`,(0,R.jsx)(`span`,{className:`meta`,children:`no data`})]}),(0,R.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,R.jsx)(`div`,{style:{color:`var(--text-dim)`,fontSize:11,padding:`8px 4px`},children:`No daily activity to render.`})})]}):(0,R.jsx)(`svg`,{className:`cr-netbars-mini`,width:`100%`,height:`100%`,viewBox:`0 0 ${n.width} ${n.height}`,preserveAspectRatio:`none`,"aria-label":`no data`});if(r){let e=Math.max(1e-9,...i.map(e=>Math.max(e.saved_usd+e.wasted_usd,Math.abs(e.net_usd)))),t=(n.height-n.padTop-n.padBot)/2/e,r=n.padTop+(n.height-n.padTop-n.padBot)/2,a=(n.width-n.padX*2)/i.length-n.barGap;return(0,R.jsxs)(`div`,{className:`crm-section`,children:[(0,R.jsxs)(`div`,{className:`crm-section-head crm-sh-net`,children:[`Net $ per day · saved (green) − wasted (red)`,(0,R.jsx)(`span`,{className:`meta`,children:`positive bars = caching helped`})]}),(0,R.jsx)(`div`,{className:`crm-chart-frame netbars`,children:(0,R.jsxs)(`svg`,{viewBox:`0 0 ${n.width} ${n.height}`,width:`100%`,height:n.height,"aria-label":`Per-day net dollar chart, ${i.length} days`,children:[(0,R.jsx)(`line`,{x1:n.padX,x2:n.width-n.padX,y1:r,y2:r,stroke:`var(--border-soft)`,strokeWidth:1}),i.map((e,i)=>{let o=n.padX+i*(a+n.barGap);if(e.net_usd>=0){let n=e.saved_usd*t,i=e.wasted_usd*t;return(0,R.jsxs)(`g`,{"data-testid":`crm-netbar`,"data-date":e.date,"data-sign":`pos`,children:[(0,R.jsx)(`rect`,{x:o,y:r-n,width:a,height:n,fill:`var(--accent-green)`,rx:2}),i>0&&(0,R.jsx)(`rect`,{x:o,y:r-n-i,width:a,height:i,fill:`var(--accent-red)`,opacity:.75,rx:2})]},e.date)}let s=Math.abs(e.net_usd)*t;return(0,R.jsx)(`rect`,{"data-testid":`crm-netbar`,"data-date":e.date,"data-sign":`neg`,x:o,y:r,width:a,height:s,fill:`var(--accent-amber)`,rx:2},e.date)}),i.map((e,t)=>{let r=n.padX+t*(a+n.barGap)+a/2,o=t===i.length-1?`Today`:e.date.slice(5);return(0,R.jsx)(`text`,{x:r,y:n.height-6,fill:`var(--text-dim)`,fontSize:9,textAnchor:`middle`,children:o},`l-${e.date}`)})]})})]})}let a=n.height-n.padTop-n.padBot,o=Math.max(1e-9,...i.map(e=>Math.abs(e.net_usd))),s=(n.width-n.padX*2)/i.length-n.barGap;return(0,R.jsx)(`svg`,{className:`cr-netbars-mini`,width:`100%`,height:`100%`,viewBox:`0 0 ${n.width} ${n.height}`,preserveAspectRatio:`none`,"aria-label":`14-day net dollar bars, ${i.length} days`,children:i.map((e,t)=>{let r=n.padX+t*(s+n.barGap),i=Math.max(1,Math.abs(e.net_usd)/o*a),c=n.height-n.padBot-i,l=e.net_usd>=0?`var(--accent-green)`:`var(--accent-amber)`;return(0,R.jsx)(`rect`,{"data-testid":`crm-netbar-mini`,"data-date":e.date,"data-sign":e.net_usd>=0?`pos`:`neg`,x:r,y:c,width:s,height:i,fill:l,rx:1},e.date)})})}var In=`var(--accent-teal)`,Ln=`var(--accent-amber)`,Rn=`var(--accent-green)`;function zn(){let e=z()?.cache_report,t=on()?` cache-report-collapsed`:``,n=()=>L({type:`OPEN_MODAL`,kind:`cache-report`}),r=e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())};if(!e)return(0,R.jsx)(`section`,{className:`panel accent-teal${t}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,role:`region`,"aria-label":`Cache Report`,tabIndex:0,onClick:n,onKeyDown:r,style:{cursor:`pointer`},children:(0,R.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,R.jsx)(`div`,{className:`cr-panel-header-inner`,children:(0,R.jsxs)(`h3`,{style:{color:In},children:[`Cache Report `,(0,R.jsx)(`span`,{className:`sub`,children:`(loading)`})]})}),(0,R.jsx)(Wt,{})]})});if(e.is_empty)return(0,R.jsxs)(`section`,{className:`panel accent-teal${t}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,role:`region`,"aria-label":`Cache Report`,tabIndex:0,onClick:n,onKeyDown:r,style:{cursor:`pointer`},children:[(0,R.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,R.jsx)(`div`,{className:`cr-panel-header-inner`,children:(0,R.jsx)(`h3`,{style:{color:In},children:`Cache Report`})}),(0,R.jsx)(Wt,{})]}),(0,R.jsxs)(`div`,{className:`cr-status-row`,children:[(0,R.jsx)(`span`,{className:`cr-glyph thin`,children:`−`}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`cr-headline`,children:`No Claude activity yet`}),(0,R.jsx)(`div`,{className:`cr-subline`,children:`Run a session to start tracking`})]})]})]});let i=e.today.anomaly_triggered,a=e.today.baseline_daily_row_count<5,o=i&&!a,s=o?`accent-amber`:`accent-teal`,c=o?Ln:In,l=o?Ln:Rn,u,d,f=null;if(a){u={icon:`~`,cls:`thin`};let t=e.today.baseline_daily_row_count;d=(0,R.jsxs)(R.Fragment,{children:[`Building baseline · `,t,`/`,5,` days`]}),f=(0,R.jsxs)(R.Fragment,{children:[`Today: cache hit `,D.pctFloor(e.today.cache_hit_percent),`% · net`,` `,D.usdSigned(e.today.net_usd)]})}else i?(u={icon:`⚠`,cls:`warn`},d=e.today.anomaly_reasons.includes(`cache_drop`)&&e.today.delta_pp!==null?(0,R.jsxs)(R.Fragment,{children:[`Today: cache hit `,(0,R.jsxs)(`span`,{className:`delta-bad`,children:[`↓ `,D.pctFloor(Math.abs(e.today.delta_pp)),`pp`]})]}):(0,R.jsxs)(R.Fragment,{children:[`Today: net`,` `,(0,R.jsx)(`span`,{className:`delta-bad`,children:D.usdSigned(e.today.net_usd)})]}),f=(0,R.jsxs)(R.Fragment,{children:[`vs 14d median`,` `,e.today.baseline_median_percent===null?`—`:D.pctFloor(e.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,R.jsx)(`span`,{className:`warn`,children:D.usdSigned(e.today.net_usd)})]})):(u={icon:`✓`,cls:`ok`},d=(0,R.jsxs)(R.Fragment,{children:[`Today: cache hit`,` `,(0,R.jsxs)(`span`,{className:`delta-good`,children:[D.pctFloor(e.today.cache_hit_percent),`%`]})]}),f=(0,R.jsxs)(R.Fragment,{children:[`vs 14d median`,` `,e.today.baseline_median_percent===null?`—`:D.pctFloor(e.today.baseline_median_percent)+`%`,` `,`· net`,` `,(0,R.jsx)(`span`,{className:`ok`,children:D.usdSigned(e.today.net_usd)})]}));let p=e.days.reduce((e,t)=>e+t.net_usd,0),m=a?(0,R.jsxs)(R.Fragment,{children:[`Watchdog activates at `,5,` days of history`]}):(0,R.jsxs)(R.Fragment,{children:[`14d net:`,` `,(0,R.jsx)(`span`,{className:p>=0?`ok`:`warn`,children:D.usdSigned(p)})]});return(0,R.jsxs)(`section`,{className:`panel ${s}${t}`,id:`panel-cache-report`,"data-panel-kind":`cache-report`,role:`region`,"aria-label":`Cache Report`,tabIndex:0,onClick:n,onKeyDown:r,style:{cursor:`pointer`},children:[(0,R.jsxs)(`div`,{className:`panel-header`,style:{justifyContent:`space-between`},children:[(0,R.jsx)(`div`,{className:`cr-panel-header-inner`,children:(0,R.jsxs)(`h3`,{style:{color:c},children:[`Cache Report`,o&&(0,R.jsx)(`span`,{className:`sub`,children:`⚠ Today`})]})}),(0,R.jsx)(Wt,{})]}),(0,R.jsxs)(`div`,{className:`cr-status-row`,children:[(0,R.jsx)(`span`,{className:`cr-glyph ${u.cls}`,children:u.icon}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`cr-headline`,children:d}),(0,R.jsx)(`div`,{className:`cr-subline`,children:f})]})]}),!a&&e.days.length>0&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Nn,{days:e.days,baseline_median_percent:e.today.baseline_median_percent,today_marker_color:l,size:`mini`}),(0,R.jsx)(`div`,{className:`cr-netbars-mini-wrap`,children:(0,R.jsx)(Fn,{days:e.days,size:`mini`})})]}),(0,R.jsx)(`div`,{className:`cr-subline second`,children:m})]})}var Bn={"current-week":{id:`current-week`,label:`Current Week`,Component:Yt,openAction:()=>L({type:`OPEN_MODAL`,kind:`current-week`})},forecast:{id:`forecast`,label:`Forecast`,Component:Zt,openAction:()=>L({type:`OPEN_MODAL`,kind:`forecast`})},trend:{id:`trend`,label:`Trend`,Component:rn,openAction:()=>L({type:`OPEN_MODAL`,kind:`trend`})},sessions:{id:`sessions`,label:`Sessions`,Component:dn,openAction:kt},projects:{id:`projects`,label:`Projects`,Component:pn,openAction:()=>L({type:`OPEN_MODAL`,kind:`projects`})},weekly:{id:`weekly`,label:`Weekly`,Component:gn,openAction:()=>L({type:`OPEN_MODAL`,kind:`weekly`})},monthly:{id:`monthly`,label:`Monthly`,Component:yn,openAction:()=>L({type:`OPEN_MODAL`,kind:`monthly`})},blocks:{id:`blocks`,label:`Blocks`,Component:xn,openAction:At},daily:{id:`daily`,label:`Daily`,Component:Dn,openAction:()=>L({type:`OPEN_MODAL`,kind:`daily`})},alerts:{id:`alerts`,label:`Recent alerts`,Component:An,openAction:()=>L({type:`OPEN_MODAL`,kind:`alerts`})},"cache-report":{id:`cache-report`,label:`Cache Report`,Component:zn,openAction:()=>L({type:`OPEN_MODAL`,kind:`cache-report`})}};function Vn({panelOrder:e}){return(0,R.jsx)(`table`,{children:(0,R.jsxs)(`tbody`,{children:[e.map((e,t)=>(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`td`,{children:t<9?(0,R.jsx)(`kbd`,{children:String(t+1)}):t===9?(0,R.jsx)(`kbd`,{children:`0`}):(0,R.jsx)(`span`,{"aria-hidden":`true`,children:`—`})}),(0,R.jsxs)(`td`,{children:[`Open `,Bn[e]?.label??e,` modal`]})]},e)),(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`td`,{children:(0,R.jsx)(`kbd`,{children:`r`})}),(0,R.jsx)(`td`,{children:`force refresh`})]}),(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`td`,{children:(0,R.jsx)(`kbd`,{children:`s`})}),(0,R.jsx)(`td`,{children:`open Settings`})]}),(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`td`,{children:`Hold + drag a card`}),(0,R.jsx)(`td`,{children:`rearrange the dashboard`})]}),(0,R.jsxs)(`tr`,{children:[(0,R.jsxs)(`td`,{children:[(0,R.jsx)(`kbd`,{children:`Shift`}),`+`,(0,R.jsx)(`kbd`,{children:`↑`}),`/`,(0,R.jsx)(`kbd`,{children:`↓`})]}),(0,R.jsx)(`td`,{children:`swap focused card with neighbor`})]}),(0,R.jsxs)(`tr`,{children:[(0,R.jsxs)(`td`,{children:[(0,R.jsx)(`kbd`,{children:`↑`}),`/`,(0,R.jsx)(`kbd`,{children:`↓`})]}),(0,R.jsx)(`td`,{children:`Select period (Weekly/Monthly/Daily modal)`})]}),(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`td`,{children:(0,R.jsx)(`kbd`,{children:`?`})}),(0,R.jsx)(`td`,{children:`toggle this help`})]}),(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`td`,{children:(0,R.jsx)(`kbd`,{children:`Esc`})}),(0,R.jsx)(`td`,{children:`close`})]})]})})}function Hn(){return(0,R.jsxs)(`ul`,{className:`help-gesture-list`,children:[(0,R.jsxs)(`li`,{children:[(0,R.jsx)(`strong`,{children:`Tap the chevron`}),` — expand or collapse a panel`]}),(0,R.jsxs)(`li`,{children:[(0,R.jsx)(`strong`,{children:`Long-press a panel`}),` — drag to rearrange the dashboard`]}),(0,R.jsxs)(`li`,{children:[(0,R.jsx)(`strong`,{children:`Tap ✕ or the dim backdrop`}),` — close a sheet (or `,(0,R.jsx)(`kbd`,{children:`Esc`}),` on tablets)`]}),(0,R.jsxs)(`li`,{children:[(0,R.jsx)(`strong`,{children:`Tap a model chip`}),` — filter Sessions by that model`]}),(0,R.jsxs)(`li`,{children:[(0,R.jsx)(`strong`,{children:`Tap the sync chip`}),` — force a fresh refresh`]})]})}function Un(){let[e,t]=(0,g.useState)(!1),n=on(),r=(0,g.useSyncExternalStore)(I,()=>F().prefs.panelOrder);return V([{key:`?`,scope:`global`,action:()=>t(e=>!e)},{key:`Escape`,scope:`global`,action:()=>t(!1),when:()=>e}]),e?(0,R.jsx)(`div`,{id:`help-overlay`,onClick:()=>t(!1),children:(0,R.jsxs)(`div`,{className:`help-card`,onClick:e=>e.stopPropagation(),children:[(0,R.jsxs)(`div`,{className:`help-header`,children:[(0,R.jsx)(`h2`,{children:n?`Help`:`Keybindings`}),(0,R.jsx)(`button`,{className:`modal-close`,type:`button`,"aria-label":`Close`,onClick:()=>t(!1),children:`×`})]}),n?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Hn,{}),(0,R.jsxs)(`details`,{className:`help-keyboard-disclosure`,children:[(0,R.jsx)(`summary`,{children:`Keyboard shortcuts ▾`}),(0,R.jsx)(Vn,{panelOrder:r})]})]}):(0,R.jsx)(Vn,{panelOrder:r}),(0,R.jsxs)(`p`,{className:`meta`,children:[`cctally · `,(0,R.jsx)(`span`,{id:`help-server-url`,children:window.location.origin})]})]})}):null}function Wn(e){if(!e)return!1;try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e}).format(new Date),!0}catch{return!1}}function Gn(e){try{return`${e} (${new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value??``})`}catch{return e}}function Kn(e){return e===`local`?`local`:e===`utc`?`utc`:`custom`}function qn(){let[e,t]=(0,g.useState)(!1),n=(0,g.useSyncExternalStore)(I,()=>F().prefs),[r,i]=(0,g.useState)(n.sortDefault),[a,o]=(0,g.useState)(n.sessionsPerPage),s=(0,g.useSyncExternalStore)(I,()=>F().filterText),[c,l]=(0,g.useState)(s),u=Ht(),[d,f]=(0,g.useState)(Kn(u.tz)),[p,m]=(0,g.useState)(Kn(u.tz)===`custom`?u.tz:``),[h,_]=(0,g.useState)(!1),[v,y]=(0,g.useState)(null),b=(0,g.useSyncExternalStore)(I,()=>F().alertsConfig),[x,S]=(0,g.useState)(b.enabled),[C,w]=(0,g.useState)(!1),[T,ee]=(0,g.useState)(null),[te,E]=(0,g.useState)(`weekly`);if((0,g.useEffect)(()=>{f(Kn(u.tz)),m(Kn(u.tz)===`custom`?u.tz:``)},[u.tz]),(0,g.useEffect)(()=>{S(b.enabled)},[b.enabled]),V([{key:`s`,scope:`global`,action:()=>t(!0),when:()=>!F().openModal},{key:`Escape`,scope:`global`,action:()=>t(!1),when:()=>e},{key:`1`,scope:`modal`,action:()=>{},when:()=>e},{key:`2`,scope:`modal`,action:()=>{},when:()=>e},{key:`3`,scope:`modal`,action:()=>{},when:()=>e},{key:`4`,scope:`modal`,action:()=>{},when:()=>e},{key:`5`,scope:`modal`,action:()=>{},when:()=>e},{key:`6`,scope:`modal`,action:()=>{},when:()=>e},{key:`7`,scope:`modal`,action:()=>{},when:()=>e},{key:`8`,scope:`modal`,action:()=>{},when:()=>e},{key:`9`,scope:`modal`,action:()=>{},when:()=>e}]),(0,g.useEffect)(()=>{e&&(i(n.sortDefault),o(n.sessionsPerPage),l(s),S(b.enabled),ee(null),E(`weekly`))},[e,n.sortDefault,n.sessionsPerPage,s,b.enabled]),!e)return null;let D=d===`local`?`local`:d===`utc`?`utc`:p.trim(),O=d!==`custom`||Wn(p.trim()),ne=D!==u.tz,re=x!==b.enabled,ie=h||ne&&d===`custom`&&!O,k=()=>t(!1);return(0,R.jsxs)(`div`,{id:`settings-root`,children:[(0,R.jsx)(`div`,{className:`modal-backdrop`,onClick:k}),(0,R.jsxs)(`div`,{className:`modal-card accent-orange`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`settings-title`,children:[(0,R.jsxs)(`header`,{className:`modal-header`,children:[(0,R.jsx)(`h2`,{id:`settings-title`,children:`Settings`}),(0,R.jsx)(`button`,{className:`modal-close`,type:`button`,"aria-label":`Close`,onClick:k,children:`×`})]}),(0,R.jsxs)(`div`,{className:`modal-body`,children:[(0,R.jsxs)(`fieldset`,{className:`settings-fs`,children:[(0,R.jsx)(`legend`,{children:`Display timezone`}),u.pinned&&(0,R.jsx)(`small`,{children:`Pinned by --tz flag — restart the server without --tz to change here.`}),(0,R.jsxs)(`label`,{children:[(0,R.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`local`,checked:d===`local`,onChange:()=>f(`local`),disabled:u.pinned}),` `,`Local (`,u.resolvedTz,`)`]}),(0,R.jsxs)(`label`,{children:[(0,R.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`utc`,checked:d===`utc`,onChange:()=>f(`utc`),disabled:u.pinned}),` `,`UTC`]}),(0,R.jsxs)(`label`,{children:[(0,R.jsx)(`input`,{type:`radio`,name:`tz-mode`,value:`custom`,checked:d===`custom`,onChange:()=>f(`custom`),disabled:u.pinned}),` `,`Custom:`,` `,(0,R.jsx)(`input`,{type:`text`,value:p,onChange:e=>m(e.target.value),disabled:d!==`custom`||u.pinned,placeholder:`America/New_York`,"aria-invalid":d===`custom`&&!O})]}),d===`custom`&&p.trim()&&(O?(0,R.jsxs)(`small`,{children:[`resolves to: `,Gn(p.trim())]}):(0,R.jsx)(`div`,{className:`modal-error`,children:`Invalid IANA zone`})),v&&(0,R.jsxs)(`div`,{className:`modal-error`,children:[`Failed: `,v]})]}),(0,R.jsxs)(`fieldset`,{className:`settings-fs alerts-fs`,children:[(0,R.jsx)(`legend`,{children:`Alerts`}),(0,R.jsxs)(`label`,{children:[(0,R.jsx)(`input`,{type:`checkbox`,name:`alerts-enabled`,checked:x,onChange:e=>S(e.target.checked)}),` `,`Enable threshold alerts`]}),(0,R.jsxs)(`p`,{className:`alerts-summary settings-hint`,children:[`Weekly: `,b.weekly_thresholds.map(e=>`${e}%`).join(`, `),` · `,`5h-block: `,b.five_hour_thresholds.map(e=>`${e}%`).join(`, `),` · `,`Budget: `,(b.budget_thresholds??[]).map(e=>`${e}%`).join(`, `)||`—`]}),(0,R.jsxs)(`div`,{className:`alerts-test-row`,children:[(0,R.jsxs)(`label`,{children:[`Axis`,` `,(0,R.jsx)(`select`,{className:`settings-btn settings-select`,value:te,disabled:C,"aria-label":`Test alert axis`,onChange:e=>E(e.target.value),children:Object.keys(kn).map(e=>(0,R.jsx)(`option`,{value:e,children:kn[e]},e))})]}),` `,(0,R.jsx)(`button`,{className:`settings-btn`,type:`button`,disabled:C,onClick:async()=>{w(!0),ee(null);try{let e=await fetch(`/api/alerts/test`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({axis:te,threshold:90})}),t=await e.json().catch(()=>({}));t.alert&&L({type:`SHOW_ALERT_TOAST`,alert:t.alert}),t.dispatch!==`queued`&&ee(t.dispatch??t.reason??`HTTP ${e.status}`)}catch(e){ee(e instanceof Error?e.message:`unknown error`)}w(!1)},children:C?`Sending…`:`Send test alert`}),(0,R.jsx)(`p`,{className:`settings-hint`,children:`Sends a synthetic alert through the dispatch pipeline so you can verify the toast and log path. Does not write to the database or update the Recent alerts panel. Independent of the Enabled toggle — fire-and-test before flipping production alerts on.`}),T&&(0,R.jsxs)(`div`,{className:`modal-error`,children:[`Test failed: `,T]})]})]}),(0,R.jsxs)(`fieldset`,{className:`settings-fs`,children:[(0,R.jsx)(`legend`,{children:`Sort default`}),Ae.map(({key:e,label:t})=>(0,R.jsxs)(`label`,{children:[(0,R.jsx)(`input`,{type:`radio`,name:`sort-default`,value:e,checked:r===e,onChange:()=>i(e)}),` `,t]},e))]}),(0,R.jsxs)(`fieldset`,{className:`settings-fs`,children:[(0,R.jsx)(`legend`,{children:`Remembered filter term`}),(0,R.jsx)(`input`,{type:`text`,placeholder:`(none)`,value:c,onChange:e=>l(e.target.value)})]}),(0,R.jsxs)(`fieldset`,{className:`settings-fs`,children:[(0,R.jsx)(`legend`,{children:`Sessions per page`}),(0,R.jsx)(`input`,{type:`number`,min:10,max:1e3,value:a,onChange:e=>o(Number(e.target.value))})]}),(0,R.jsxs)(`fieldset`,{className:`settings-fs sorting-fs`,children:[(0,R.jsx)(`legend`,{children:`Table sorting`}),(0,R.jsx)(`button`,{className:`settings-btn`,type:`button`,disabled:!n.trendSortOverride&&!n.sessionsSortOverride,onClick:()=>{L({type:`CLEAR_TABLE_SORTS`}),k()},children:`Reset table sorting`}),(0,R.jsx)(`p`,{className:`settings-hint`,children:`Clears column-click sorting on the $/1% Trend and Recent Sessions tables.`})]}),(0,R.jsxs)(`fieldset`,{className:`settings-fs layout-fs`,children:[(0,R.jsx)(`legend`,{children:`Layout`}),(0,R.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:()=>{L({type:`RESET_PANEL_ORDER`}),k()},children:`Reset card order`})]}),(0,R.jsxs)(`div`,{className:`settings-actions`,children:[(0,R.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:async()=>{let e={};if(ne&&!u.pinned){if(!O){y(`Invalid IANA zone`);return}e.display={tz:D}}if(re&&(e.alerts={enabled:x}),Object.keys(e).length>0){_(!0),y(null);try{let t=await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`HTTP ${t.status}`)}}catch(e){y(e instanceof Error?e.message:`unknown error`),_(!1);return}_(!1)}L({type:`SAVE_PREFS`,patch:{sortDefault:r,sessionsPerPage:Number.isFinite(a)&&a>0?Math.min(1e3,Math.max(10,Math.round(a))):n.sessionsPerPage}}),L({type:`SET_SORT`,key:r}),L({type:`SET_FILTER`,text:c}),L({type:`SET_TABLE_SORT`,table:`sessions`,override:null}),k()},disabled:ie,children:h?`Saving…`:`Save`}),(0,R.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:()=>{L({type:`RESET_PREFS`}),L({type:`SET_FILTER`,text:``}),k()},children:`Reset to defaults`}),(0,R.jsx)(`button`,{className:`settings-btn`,type:`button`,onClick:k,children:`Cancel`})]})]})]})]})}var Jn=8e3,Yn=`New: hold any card to rearrange the dashboard.`,Xn=`Tap to drill in · long-press to rearrange · ⟳ to refresh`;function Zn(){let e=on(),t=(0,g.useSyncExternalStore)(I,()=>F().prefs.onboardingToastSeen),n=(0,g.useSyncExternalStore)(I,()=>F().prefs.mobileOnboardingToastSeen),r=e?n:t,i=e?`MARK_MOBILE_ONBOARDING_TOAST_SEEN`:`MARK_ONBOARDING_TOAST_SEEN`,a=e?Xn:Yn;return(0,g.useEffect)(()=>{if(r)return;let e=setTimeout(()=>L({type:i}),Jn);return()=>clearTimeout(e)},[r,i]),r?null:(0,R.jsxs)(`div`,{className:`onboarding-toast`,role:`status`,"aria-live":`polite`,children:[(0,R.jsx)(`span`,{className:`onboarding-toast-msg`,children:a}),(0,R.jsx)(`button`,{className:`onboarding-toast-dismiss`,type:`button`,"aria-label":`Dismiss`,onClick:()=>L({type:i}),children:`×`})]})}var Qn=2500,$n=8e3;function er(){let e=(0,g.useSyncExternalStore)(I,()=>F().toast),t=Ht(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel};return(0,g.useEffect)(()=>{if(e==null)return;let t=e.kind===`alert`?$n:Qn,n=window.setTimeout(()=>L({type:`HIDE_TOAST`}),t);return()=>window.clearTimeout(n)},[e]),(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Zn,{}),e?.kind===`status`&&(0,R.jsx)(`div`,{className:`toast`,role:`status`,"aria-live":`polite`,children:e.text}),e?.kind===`alert`&&(0,R.jsxs)(`div`,{className:`toast toast--alert toast--severity-${e.payload.threshold>=95?`red`:`amber`}`,role:`alert`,onClick:()=>L({type:`HIDE_TOAST`}),children:[(0,R.jsxs)(`div`,{className:`toast--alert-head`,children:[(0,R.jsx)(`span`,{className:`chip chip--${e.payload.axis}`,children:On[e.payload.axis]}),(0,R.jsxs)(`span`,{className:`toast--alert-threshold num`,children:[e.payload.threshold,`%`]}),(0,R.jsx)(`span`,{className:`toast--alert-dismiss-hint`,children:`click to dismiss`})]}),(0,R.jsxs)(`div`,{className:`toast--alert-title`,children:[kn[e.payload.axis],` usage`,` `,e.payload.threshold,`% reached`]}),e.payload.context.week_start_date&&(0,R.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Week starting`,` `,D.weekStart(e.payload.context.week_start_date,n)??`—`]}),e.payload.context.block_start_at&&(0,R.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Block started `,D.timeOnly(e.payload.context.block_start_at,n)]}),e.payload.axis===`budget`&&e.payload.context.week_start_at&&(0,R.jsxs)(`div`,{className:`toast--alert-sub`,children:[`Week starting`,` `,D.weekStart(e.payload.context.week_start_at.slice(0,10),n)??`—`]}),(0,R.jsxs)(`div`,{className:`toast--alert-body`,children:[e.payload.context.cumulative_cost_usd!=null&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.cumulative_cost_usd.toFixed(2)]}),` `,`spent`,e.payload.context.dollars_per_percent!=null&&(0,R.jsxs)(R.Fragment,{children:[` `,`·`,` `,(0,R.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.dollars_per_percent.toFixed(2)]}),` `,`per 1%`]})]}),e.payload.context.block_cost_usd!=null&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.block_cost_usd.toFixed(2)]}),` `,`in this block`,e.payload.context.primary_model&&(0,R.jsxs)(R.Fragment,{children:[` · model: `,e.payload.context.primary_model]})]}),e.payload.axis===`budget`&&e.payload.context.spent_usd!=null&&e.payload.context.budget_usd!=null&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.spent_usd.toFixed(2)]}),` `,`of`,` `,(0,R.jsxs)(`span`,{className:`num`,children:[`$`,e.payload.context.budget_usd.toFixed(2)]}),` `,`budget`]})]})]})]})}var tr=m();function nr(){var e=[...arguments];return(0,g.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var rr=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function ir(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function ar(e){return`nodeType`in e}function or(e){return e?ir(e)?e:ar(e)?e.ownerDocument?.defaultView??window:window:window}function sr(e){let{Document:t}=or(e);return e instanceof t}function cr(e){return ir(e)?!1:e instanceof or(e).HTMLElement}function lr(e){return e instanceof or(e).SVGElement}function ur(e){return e?ir(e)?e.document:ar(e)?sr(e)?e:cr(e)||lr(e)?e.ownerDocument:document:document:document}var dr=rr?g.useLayoutEffect:g.useEffect;function fr(e){let t=(0,g.useRef)(e);return dr(()=>{t.current=e}),(0,g.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function pr(){let e=(0,g.useRef)(null);return[(0,g.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,g.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function mr(e,t){t===void 0&&(t=[e]);let n=(0,g.useRef)(e);return dr(()=>{n.current!==e&&(n.current=e)},t),n}function hr(e,t){let n=(0,g.useRef)();return(0,g.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function gr(e){let t=fr(e),n=(0,g.useRef)(null);return[n,(0,g.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function _r(e){let t=(0,g.useRef)();return(0,g.useEffect)(()=>{t.current=e},[e]),t.current}var vr={};function yr(e,t){return(0,g.useMemo)(()=>{if(t)return t;let n=vr[e]==null?0:vr[e]+1;return vr[e]=n,e+`-`+n},[e,t])}function br(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var xr=br(1),Sr=br(-1);function Cr(e){return`clientX`in e&&`clientY`in e}function wr(e){if(!e)return!1;let{KeyboardEvent:t}=or(e.target);return t&&e instanceof t}function Tr(e){if(!e)return!1;let{TouchEvent:t}=or(e.target);return t&&e instanceof t}function Er(e){if(Tr(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Cr(e)?{x:e.clientX,y:e.clientY}:null}var Dr=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[Dr.Translate.toString(e),Dr.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),Or=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function kr(e){return e.matches(Or)?e:e.querySelector(Or)}var Ar={display:`none`};function jr(e){let{id:t,value:n}=e;return g.createElement(`div`,{id:t,style:Ar},n)}function Mr(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return g.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function Nr(){let[e,t]=(0,g.useState)(``);return{announce:(0,g.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Pr=(0,g.createContext)(null);function Fr(e){let t=(0,g.useContext)(Pr);(0,g.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function Ir(){let[e]=(0,g.useState)(()=>new Set),t=(0,g.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,g.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Lr={draggable:`
|
|
9
|
+
To pick up a draggable item, press the space bar.
|
|
10
|
+
While dragging, use the arrow keys to move the item.
|
|
11
|
+
Press space again to drop the item in its new position, or press escape to cancel.
|
|
12
|
+
`},Rr={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function zr(e){let{announcements:t=Rr,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=Lr}=e,{announce:a,announcement:o}=Nr(),s=yr(`DndLiveRegion`),[c,l]=(0,g.useState)(!1);if((0,g.useEffect)(()=>{l(!0)},[]),Fr((0,g.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=g.createElement(g.Fragment,null,g.createElement(jr,{id:r,value:i.draggable}),g.createElement(Mr,{id:s,announcement:o}));return n?(0,tr.createPortal)(u,n):u}var H;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(H||={});function Br(){}function Vr(e,t){return(0,g.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function Hr(){var e=[...arguments];return(0,g.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var Ur=Object.freeze({x:0,y:0});function Wr(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function Gr(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function Kr(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function qr(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function Jr(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}function Yr(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}var Xr=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Yr(t,t.left,t.top),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=Wr(Yr(r),i);a.push({id:t,data:{droppableContainer:e,value:n}})}}return a.sort(Gr)},Zr=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=qr(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=qr(r),o=i.reduce((e,t,r)=>e+Wr(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(Gr)};function Qr(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var $r=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Qr(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(Kr)};function ei(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function ti(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ur}function ni(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var ri=ni(1);function ii(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function ai(e,t,n){let r=ii(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var U={ignoreTransform:!1};function oi(e,t){t===void 0&&(t=U);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=or(e).getComputedStyle(e);t&&(n=ai(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function si(e){return oi(e,{ignoreTransform:!0})}function ci(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function li(e,t){return t===void 0&&(t=or(e).getComputedStyle(e)),t.position===`fixed`}function ui(e,t){t===void 0&&(t=or(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})}function di(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(sr(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!cr(i)||lr(i)||n.includes(i))return n;let a=or(e).getComputedStyle(i);return i!==e&&ui(i,a)&&n.push(i),li(i,a)?n:r(i.parentNode)}return e?r(e):n}function fi(e){let[t]=di(e,1);return t??null}function pi(e){return!rr||!e?null:ir(e)?e:ar(e)?sr(e)||e===ur(e).scrollingElement?window:cr(e)?e:null:null}function mi(e){return ir(e)?e.scrollX:e.scrollLeft}function hi(e){return ir(e)?e.scrollY:e.scrollTop}function gi(e){return{x:mi(e),y:hi(e)}}var _i;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(_i||={});function vi(e){return!rr||!e?!1:e===document.scrollingElement}function yi(e){let t={x:0,y:0},n=vi(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var bi={x:.2,y:.2};function xi(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=bi);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=yi(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=_i.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=_i.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=_i.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=_i.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function Si(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Ci(e){return e.reduce((e,t)=>xr(e,gi(t)),Ur)}function wi(e){return e.reduce((e,t)=>e+mi(t),0)}function Ti(e){return e.reduce((e,t)=>e+hi(t),0)}function Ei(e,t){if(t===void 0&&(t=oi),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);fi(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var Di=[[`x`,[`left`,`right`],wi],[`y`,[`top`,`bottom`],Ti]],Oi=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=di(t),r=Ci(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of Di)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,`rect`,{enumerable:!1})}},ki=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function Ai(e){let{EventTarget:t}=or(e);return e instanceof t?e:ur(e)}function ji(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var Mi;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(Mi||={});function Ni(e){e.preventDefault()}function Pi(e){e.stopPropagation()}var W;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(W||={});var Fi={start:[W.Space,W.Enter],cancel:[W.Esc],end:[W.Space,W.Enter,W.Tab]},Ii=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case W.Right:return{...n,x:n.x+25};case W.Left:return{...n,x:n.x-25};case W.Down:return{...n,y:n.y+25};case W.Up:return{...n,y:n.y-25}}},Li=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new ki(ur(t)),this.windowListeners=new ki(or(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Mi.Resize,this.handleCancel),this.windowListeners.add(Mi.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Mi.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Ei(n),t(Ur)}handleKeyDown(e){if(wr(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=Fi,coordinateGetter:a=Ii,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:Ur;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=Sr(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=yi(n),p=Si(n),m={x:Math.min(i===W.Right?p.right-p.width/2:p.right,Math.max(i===W.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===W.Down?p.bottom-p.height/2:p.bottom,Math.max(i===W.Down?p.top:p.top+p.height/2,u.y))},h=i===W.Right&&!s||i===W.Left&&!c,g=i===W.Down&&!l||i===W.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===W.Right&&e<=d.x||i===W.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===W.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===W.Down&&e<=d.y||i===W.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===W.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,xr(Sr(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};Li.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=Fi,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function Ri(e){return!!(e&&`distance`in e)}function zi(e){return!!(e&&`delay`in e)}var Bi=class{constructor(e,t,n){n===void 0&&(n=Ai(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=ur(i),this.documentListeners=new ki(this.document),this.listeners=new ki(n),this.windowListeners=new ki(or(i)),this.initialCoordinates=Er(r)??Ur,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Mi.Resize,this.handleCancel),this.windowListeners.add(Mi.DragStart,Ni),this.windowListeners.add(Mi.VisibilityChange,this.handleCancel),this.windowListeners.add(Mi.ContextMenu,Ni),this.documentListeners.add(Mi.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(zi(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(Ri(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Mi.Click,Pi,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Mi.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=Er(e)??Ur,s=Sr(n,o);if(!t&&a){if(Ri(a)){if(a.tolerance!=null&&ji(s,a.tolerance))return this.handleCancel();if(ji(s,a.distance))return this.handleStart()}if(zi(a)&&ji(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===W.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},Vi={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},Hi=class extends Bi{constructor(e){let{event:t}=e,n=ur(t.target);super(e,Vi,n)}};Hi.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var Ui={move:{name:`mousemove`},end:{name:`mouseup`}},G;(function(e){e[e.RightClick=2]=`RightClick`})(G||={});var K=class extends Bi{constructor(e){super(e,Ui,ur(e.event.target))}};K.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===G.RightClick?!1:(r?.({event:n}),!0)}}];var Wi={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},Gi=class extends Bi{constructor(e){super(e,Wi)}static setup(){return window.addEventListener(Wi.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Wi.move.name,e)};function e(){}}};Gi.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Ki;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(Ki||={});var qi;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(qi||={});function Ji(e){let{acceleration:t,activator:n=Ki.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=qi.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=Xi({delta:d,disabled:!a}),[m,h]=pr(),_=(0,g.useRef)({x:0,y:0}),v=(0,g.useRef)({x:0,y:0}),y=(0,g.useMemo)(()=>{switch(n){case Ki.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case Ki.DraggableRect:return i}},[n,i,c]),b=(0,g.useRef)(null),x=(0,g.useCallback)(()=>{let e=b.current;if(!e)return;let t=_.current.x*v.current.x,n=_.current.y*v.current.y;e.scrollBy(t,n)},[]),S=(0,g.useMemo)(()=>s===qi.TreeOrder?[...l].reverse():l,[s,l]);(0,g.useEffect)(()=>{if(!a||!l.length||!y){h();return}for(let e of S){if(r?.(e)===!1)continue;let n=u[l.indexOf(e)];if(!n)continue;let{direction:i,speed:a}=xi(e,n,y,t,f);for(let e of[`x`,`y`])p[e][i[e]]||(a[e]=0,i[e]=0);if(a.x>0||a.y>0){h(),b.current=e,m(x,o),_.current=a,v.current=i;return}}_.current={x:0,y:0},v.current={x:0,y:0},h()},[t,x,r,h,a,o,JSON.stringify(y),JSON.stringify(p),m,l,S,u,JSON.stringify(f)])}var Yi={x:{[_i.Backward]:!1,[_i.Forward]:!1},y:{[_i.Backward]:!1,[_i.Forward]:!1}};function Xi(e){let{delta:t,disabled:n}=e,r=_r(t);return hr(e=>{if(n||!r||!e)return Yi;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[_i.Backward]:e.x[_i.Backward]||i.x===-1,[_i.Forward]:e.x[_i.Forward]||i.x===1},y:{[_i.Backward]:e.y[_i.Backward]||i.y===-1,[_i.Forward]:e.y[_i.Forward]||i.y===1}}},[n,t,r])}function Zi(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return hr(e=>t==null?null:r??e??null,[r,t])}function Qi(e,t){return(0,g.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var $i;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})($i||={});var ea;(function(e){e.Optimized=`optimized`})(ea||={});var ta=new Map;function na(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,g.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,g.useRef)(e),d=_(),f=mr(d),p=(0,g.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,g.useRef)(null),h=hr(t=>{if(d&&!n)return ta;if(!t||t===ta||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new Oi(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,g.useEffect)(()=>{u.current=e},[e]),(0,g.useEffect)(()=>{d||p()},[n,d]),(0,g.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,g.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function _(){switch(l){case $i.Always:return!1;case $i.BeforeDragging:return n;default:return!n}}}function ra(e,t){return hr(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function ia(e,t){return ra(e,t)}function aa(e){let{callback:t,disabled:n}=e,r=fr(t),i=(0,g.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,g.useEffect)(()=>()=>i?.disconnect(),[i]),i}function oa(e){let{callback:t,disabled:n}=e,r=fr(t),i=(0,g.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,g.useEffect)(()=>()=>i?.disconnect(),[i]),i}function sa(e){return new Oi(oi(e),e)}function ca(e,t,n){t===void 0&&(t=sa);let[r,i]=(0,g.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=aa({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=oa({callback:a});return dr(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function la(e){return ti(e,ra(e))}var ua=[];function da(e){let t=(0,g.useRef)(e),n=hr(n=>e?n&&n!==ua&&e&&t.current&&e.parentNode===t.current.parentNode?n:di(e):ua,[e]);return(0,g.useEffect)(()=>{t.current=e},[e]),n}function fa(e){let[t,n]=(0,g.useState)(null),r=(0,g.useRef)(e),i=(0,g.useCallback)(e=>{let t=pi(e.target);t&&n(e=>e?(e.set(t,gi(t)),new Map(e)):null)},[]);return(0,g.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=pi(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,gi(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{pi(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,g.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>xr(e,t),Ur):Ci(e):Ur,[e,t])}function pa(e,t){t===void 0&&(t=[]);let n=(0,g.useRef)(null);return(0,g.useEffect)(()=>{n.current=null},t),(0,g.useEffect)(()=>{let t=e!==Ur;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?Sr(e,n.current):Ur}function ma(e){(0,g.useEffect)(()=>{if(!rr)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function ha(e,t){return(0,g.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function ga(e){return(0,g.useMemo)(()=>e?ci(e):null,[e])}var _a=[];function va(e,t){t===void 0&&(t=oi);let[n]=e,r=ga(n?or(n):null),[i,a]=(0,g.useState)(_a);function o(){a(()=>e.length?e.map(e=>vi(e)?r:new Oi(t(e),e)):_a)}let s=oa({callback:o});return dr(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function ya(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return cr(t)?t:e}function ba(e){let{measure:t}=e,[n,r]=(0,g.useState)(null),i=oa({callback:(0,g.useCallback)(e=>{for(let{target:n}of e)if(cr(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=gr((0,g.useCallback)(e=>{let n=ya(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,g.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var xa=[{sensor:Hi,options:{}},{sensor:Li,options:{}}],q={current:{}},Sa={draggable:{measure:si},droppable:{measure:si,strategy:$i.WhileDragging,frequency:ea.Optimized},dragOverlay:{measure:oi}},Ca=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},wa={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Ca,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Br},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Sa,measureDroppableContainers:Br,windowRect:null,measuringScheduled:!1},Ta={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:Br,draggableNodes:new Map,over:null,measureDroppableContainers:Br},Ea=(0,g.createContext)(Ta),Da=(0,g.createContext)(wa);function Oa(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Ca}}}function ka(e,t){switch(t.type){case H.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case H.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case H.DragEnd:case H.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case H.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new Ca(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case H.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new Ca(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case H.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new Ca(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function Aa(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,g.useContext)(Ea),a=_r(r),o=_r(n?.id);return(0,g.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!wr(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=kr(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function ja(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function Ma(e){return(0,g.useMemo)(()=>({draggable:{...Sa.draggable,...e?.draggable},droppable:{...Sa.droppable,...e?.droppable},dragOverlay:{...Sa.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function Na(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,g.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;dr(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=ti(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=fi(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var Pa=(0,g.createContext)({...Ur,scaleX:1,scaleY:1}),Fa;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(Fa||={});var Ia=(0,g.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=xa,collisionDetection:o=$r,measuring:s,modifiers:c,...l}=e,[u,d]=(0,g.useReducer)(ka,void 0,Oa),[f,p]=Ir(),[m,h]=(0,g.useState)(Fa.Uninitialized),_=m===Fa.Initialized,{draggable:{active:v,nodes:y,translate:b},droppable:{containers:x}}=u,S=v==null?null:y.get(v),C=(0,g.useRef)({initial:null,translated:null}),w=(0,g.useMemo)(()=>v==null?null:{id:v,data:S?.data??q,rect:C},[v,S]),T=(0,g.useRef)(null),[ee,te]=(0,g.useState)(null),[E,D]=(0,g.useState)(null),O=mr(l,Object.values(l)),ne=yr(`DndDescribedBy`,t),re=(0,g.useMemo)(()=>x.getEnabled(),[x]),ie=Ma(s),{droppableRects:k,measureDroppableContainers:ae,measuringScheduled:oe}=na(re,{dragging:_,dependencies:[b.x,b.y],config:ie.droppable}),se=Zi(y,v),ce=(0,g.useMemo)(()=>E?Er(E):null,[E]),A=Fe(),le=ia(se,ie.draggable.measure);Na({activeNode:v==null?null:y.get(v),config:A.layoutShiftCompensation,initialRect:le,measure:ie.draggable.measure});let ue=ca(se,ie.draggable.measure,le),de=ca(se?se.parentElement:null),fe=(0,g.useRef)({activatorEvent:null,active:null,activeNode:se,collisionRect:null,collisions:null,droppableRects:k,draggableNodes:y,draggingNode:null,draggingNodeRect:null,droppableContainers:x,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),pe=x.getNodeFor(fe.current.over?.id),j=ba({measure:ie.dragOverlay.measure}),me=j.nodeRef.current??se,he=_?j.rect??ue:null,ge=!!(j.nodeRef.current&&j.rect),M=la(ge?null:ue),_e=ga(me?or(me):null),ve=da(_?pe??se:null),ye=va(ve),be=ja(c,{transform:{x:b.x-M.x,y:b.y-M.y,scaleX:1,scaleY:1},activatorEvent:E,active:w,activeNodeRect:ue,containerNodeRect:de,draggingNodeRect:he,over:fe.current.over,overlayNodeRect:j.rect,scrollableAncestors:ve,scrollableAncestorRects:ye,windowRect:_e}),xe=ce?xr(ce,b):null,Se=fa(ve),Ce=pa(Se),we=pa(Se,[ue]),Te=xr(be,Ce),Ee=he?ri(he,be):null,N=w&&Ee?o({active:w,collisionRect:Ee,droppableRects:k,droppableContainers:re,pointerCoordinates:xe}):null,De=Jr(N,`id`),[Oe,ke]=(0,g.useState)(null),Ae=ei(ge?be:xr(be,we),Oe?.rect??null,ue),je=(0,g.useRef)(null),Me=(0,g.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(T.current==null)return;let i=y.get(T.current);if(!i)return;let a=e.nativeEvent;je.current=new n({active:T.current,activeNode:i,event:a,options:r,context:fe,onAbort(e){if(!y.get(e))return;let{onDragAbort:t}=O.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!y.get(e))return;let{onDragPending:i}=O.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=T.current;if(t==null)return;let n=y.get(t);if(!n)return;let{onDragStart:r}=O.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:C}};(0,tr.unstable_batchedUpdates)(()=>{r?.(i),h(Fa.Initializing),d({type:H.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),te(je.current),D(a)})},onMove(e){d({type:H.DragMove,coordinates:e})},onEnd:o(H.DragEnd),onCancel:o(H.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=fe.current,o=null;if(t&&i){let{cancelDrop:s}=O.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===H.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=H.DragCancel)}T.current=null,(0,tr.unstable_batchedUpdates)(()=>{d({type:e}),h(Fa.Uninitialized),ke(null),te(null),D(null),je.current=null;let t=e===H.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=O.current[t];e?.(o),f({type:t,event:o})}})}}},[y]),Ne=Qi(a,(0,g.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=y.get(r);if(T.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},T.current=r,Me(n,t))},[y,Me]));ma(a),dr(()=>{ue&&m===Fa.Initializing&&h(Fa.Initialized)},[ue,m]),(0,g.useEffect)(()=>{let{onDragMove:e}=O.current,{active:t,activatorEvent:n,collisions:r,over:i}=fe.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:Te.x,y:Te.y},over:i};(0,tr.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[Te.x,Te.y]),(0,g.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=fe.current;if(!e||T.current==null||!t||!i)return;let{onDragOver:a}=O.current,o=r.get(De),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,tr.unstable_batchedUpdates)(()=>{ke(s),a?.(c),f({type:`onDragOver`,event:c})})},[De]),dr(()=>{fe.current={activatorEvent:E,active:w,activeNode:se,collisionRect:Ee,collisions:N,droppableRects:k,draggableNodes:y,draggingNode:me,draggingNodeRect:he,droppableContainers:x,over:Oe,scrollableAncestors:ve,scrollAdjustedTranslate:Te},C.current={initial:he,translated:Ee}},[w,se,N,Ee,y,me,he,k,x,Oe,ve,Te]),Ji({...A,delta:b,draggingRect:Ee,pointerCoordinates:xe,scrollableAncestors:ve,scrollableAncestorRects:ye});let P=(0,g.useMemo)(()=>({active:w,activeNode:se,activeNodeRect:ue,activatorEvent:E,collisions:N,containerNodeRect:de,dragOverlay:j,draggableNodes:y,droppableContainers:x,droppableRects:k,over:Oe,measureDroppableContainers:ae,scrollableAncestors:ve,scrollableAncestorRects:ye,measuringConfiguration:ie,measuringScheduled:oe,windowRect:_e}),[w,se,ue,E,N,de,j,y,x,k,Oe,ae,ve,ye,ie,oe,_e]),Pe=(0,g.useMemo)(()=>({activatorEvent:E,activators:Ne,active:w,activeNodeRect:ue,ariaDescribedById:{draggable:ne},dispatch:d,draggableNodes:y,over:Oe,measureDroppableContainers:ae}),[E,Ne,w,ue,d,ne,y,Oe,ae]);return g.createElement(Pr.Provider,{value:p},g.createElement(Ea.Provider,{value:Pe},g.createElement(Da.Provider,{value:P},g.createElement(Pa.Provider,{value:Ae},i)),g.createElement(Aa,{disabled:n?.restoreFocus===!1})),g.createElement(zr,{...n,hiddenTextDescribedById:ne}));function Fe(){let e=ee?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=_&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),La=(0,g.createContext)(null),Ra=`button`,za=`Draggable`;function Ba(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=yr(za),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,g.useContext)(Ea),{role:p=Ra,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},_=c?.id===t,v=(0,g.useContext)(_?Pa:La),[y,b]=gr(),[x,S]=gr(),C=ha(o,t),w=mr(n);return dr(()=>(d.set(t,{id:t,key:a,node:y,activatorNode:x,data:w}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,g.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":_&&p===Ra?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,_,m,u.draggable]),isDragging:_,listeners:r?void 0:C,node:y,over:f,setNodeRef:b,setActivatorNodeRef:S,transform:v}}function Va(){return(0,g.useContext)(Da)}var Ha=`Droppable`,Ua={timeout:25};function Wa(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=yr(Ha),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,g.useContext)(Ea),u=(0,g.useRef)({disabled:n}),d=(0,g.useRef)(!1),f=(0,g.useRef)(null),p=(0,g.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:_}={...Ua,...i},v=mr(h??r),y=oa({callback:(0,g.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(v.current)?v.current:[v.current]),p.current=null},_)},[_]),disabled:m||!o}),[b,x]=gr((0,g.useCallback)((e,t)=>{y&&(t&&(y.unobserve(t),d.current=!1),e&&y.observe(e))},[y])),S=mr(t);return(0,g.useEffect)(()=>{!y||!b.current||(y.disconnect(),d.current=!1,y.observe(b.current))},[b,y]),(0,g.useEffect)(()=>(s({type:H.RegisterDroppable,element:{id:r,key:a,disabled:n,node:b,rect:f,data:S}}),()=>s({type:H.UnregisterDroppable,key:a,id:r})),[r]),(0,g.useEffect)(()=>{n!==u.current.disabled&&(s({type:H.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:b,over:c,setNodeRef:x}}function Ga(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Ka(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function qa(e){return e!==null&&e>=0}function Ja(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Ya(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Xa=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Ga(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},Za=`Sortable`,Qa=g.createContext({activeIndex:-1,containerId:Za,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Xa,disabled:{draggable:!1,droppable:!1}});function $a(e){let{children:t,id:n,items:r,strategy:i=Xa,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=Va(),d=yr(Za,n),f=s.rect!==null,p=(0,g.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,_=l?p.indexOf(l.id):-1,v=(0,g.useRef)(p),y=!Ja(p,v.current),b=_!==-1&&h===-1||y,x=Ya(a);dr(()=>{y&&m&&u(p)},[y,p,m,u]),(0,g.useEffect)(()=>{v.current=p},[p]);let S=(0,g.useMemo)(()=>({activeIndex:h,containerId:d,disabled:x,disableTransforms:b,items:p,overIndex:_,useDragOverlay:f,sortedRects:Ka(p,c),strategy:i}),[h,d,x.draggable,x.droppable,b,p,_,c,f,i]);return g.createElement(Qa.Provider,{value:S},t)}var eo=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Ga(n,r,i).indexOf(t)},to=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},no={duration:200,easing:`ease`},ro=`transform`,io=Dr.Transition.toString({property:ro,duration:0,easing:`linear`}),ao={roleDescription:`sortable`};function oo(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,g.useState)(null),s=(0,g.useRef)(n);return dr(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=oi(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,g.useEffect)(()=>{a&&o(null)},[a]),a}function so(e){let{animateLayoutChanges:t=to,attributes:n,disabled:r,data:i,getNewIndex:a=eo,id:o,strategy:s,resizeObserverConfig:c,transition:l=no}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:_,useDragOverlay:v,strategy:y}=(0,g.useContext)(Qa),b=co(r,p),x=u.indexOf(o),S=(0,g.useMemo)(()=>({sortable:{containerId:d,index:x,items:u},...i}),[d,i,x,u]),C=(0,g.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:w,node:T,isOver:ee,setNodeRef:te}=Wa({id:o,data:S,disabled:b.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...c}}),{active:E,activatorEvent:D,activeNodeRect:O,attributes:ne,setNodeRef:re,listeners:ie,isDragging:k,over:ae,setActivatorNodeRef:oe,transform:se}=Ba({id:o,data:S,attributes:{...ao,...n},disabled:b.draggable}),ce=nr(te,re),A=!!E,le=A&&!m&&qa(f)&&qa(_),ue=!v&&k,de=le?(ue&&le?se:null)??(s??y)({rects:h,activeNodeRect:O,activeIndex:f,overIndex:_,index:x}):null,fe=qa(f)&&qa(_)?a({id:o,items:u,activeIndex:f,overIndex:_}):x,pe=E?.id,j=(0,g.useRef)({activeId:pe,items:u,newIndex:fe,containerId:d}),me=u!==j.current.items,he=t({active:E,containerId:d,isDragging:k,isSorting:A,id:o,index:x,items:u,newIndex:j.current.newIndex,previousItems:j.current.items,previousContainerId:j.current.containerId,transition:l,wasDragging:j.current.activeId!=null}),ge=oo({disabled:!he,index:x,node:T,rect:w});return(0,g.useEffect)(()=>{A&&j.current.newIndex!==fe&&(j.current.newIndex=fe),d!==j.current.containerId&&(j.current.containerId=d),u!==j.current.items&&(j.current.items=u)},[A,fe,d,u]),(0,g.useEffect)(()=>{if(pe===j.current.activeId)return;if(pe!=null&&j.current.activeId==null){j.current.activeId=pe;return}let e=setTimeout(()=>{j.current.activeId=pe},50);return()=>clearTimeout(e)},[pe]),{active:E,activeIndex:f,attributes:ne,data:S,rect:w,index:x,newIndex:fe,items:u,isOver:ee,isSorting:A,isDragging:k,listeners:ie,node:T,overIndex:_,over:ae,setNodeRef:ce,setActivatorNodeRef:oe,setDroppableNodeRef:te,setDraggableNodeRef:re,transform:ge??de,transition:M()};function M(){if(ge||me&&j.current.newIndex===x)return io;if(!(ue&&!wr(D)||!l)&&(A||he))return Dr.Transition.toString({...l,property:ro})}}function co(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}function lo(e){if(!e)return!1;let t=e.data.current;return!!(t&&`sortable`in t&&typeof t.sortable==`object`&&`containerId`in t.sortable&&`items`in t.sortable&&`index`in t.sortable)}var uo=[W.Down,W.Right,W.Up,W.Left],fo=(e,t)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:o,scrollableAncestors:s}}=t;if(uo.includes(e.code)){if(e.preventDefault(),!n||!r)return;let t=[];a.getEnabled().forEach(n=>{if(!n||n!=null&&n.disabled)return;let a=i.get(n.id);if(a)switch(e.code){case W.Down:r.top<a.top&&t.push(n);break;case W.Up:r.top>a.top&&t.push(n);break;case W.Left:r.left>a.left&&t.push(n);break;case W.Right:r.left<a.left&&t.push(n);break}});let c=Zr({active:n,collisionRect:r,droppableRects:i,droppableContainers:t,pointerCoordinates:null}),l=Jr(c,`id`);if(l===o?.id&&c.length>1&&(l=c[1].id),l!=null){let e=a.get(n.id),t=a.get(l),o=t?i.get(t.id):null,c=t?.node.current;if(c&&o&&e&&t){let n=di(c).some((e,t)=>s[t]!==e),i=po(e,t),a=mo(e,t),l=n||!i?{x:0,y:0}:{x:a?r.width-o.width:0,y:a?r.height-o.height:0},u={x:o.left,y:o.top};return l.x&&l.y?u:Sr(u,l)}}}};function po(e,t){return!lo(e)||!lo(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function mo(e,t){return!lo(e)||!lo(t)||!po(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}var ho=!1;function go(){return ho}function J(){ho=!0,setTimeout(()=>{ho=!1},0)}var _o=`(prefers-reduced-motion: reduce)`;function vo(){return(0,g.useSyncExternalStore)(e=>{if(typeof window>`u`||!window.matchMedia)return()=>{};let t=window.matchMedia(_o);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)},()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(_o).matches,()=>!1)}function yo({id:e,index:t}){let n=Bn[e],r=(0,g.useSyncExternalStore)(I,()=>F().openModal!=null),i=vo(),{listeners:a,setNodeRef:o,transform:s,transition:c,isDragging:l}=so({id:e,disabled:r});if(!n)return null;let{Component:u,label:d}=n;return(0,R.jsxs)(`div`,{ref:o,style:{transform:Dr.Transform.toString(s),transition:i?void 0:c},className:`panel-host${l?` is-dragging`:``}`,"data-panel-host":e,"data-panel-index":t,"aria-label":`Reorder ${d}`,onKeyDown:e=>{if(!e.shiftKey)return;let n=e.target;if(typeof n.matches==`function`&&n.matches(`input, textarea, select, [contenteditable="true"]`))return;let r=0;e.key===`ArrowDown`||e.key===`ArrowRight`?r=1:(e.key===`ArrowUp`||e.key===`ArrowLeft`)&&(r=-1),r!==0&&(typeof e.preventDefault==`function`&&e.preventDefault(),L({type:`SWAP_PANELS`,index:t,direction:r}))},onClickCapture:e=>{go()&&e.stopPropagation()},...a,children:[(0,R.jsx)(`span`,{className:`panel-grip-hint`,"aria-hidden":`true`,children:`hold to rearrange`}),(0,R.jsx)(u,{})]})}var bo=250,xo=5;function So(){J()}function Y(e,t){if(J(),!t||e===t)return;let n=F().prefs.panelOrder,r=n.indexOf(e),i=n.indexOf(t);r<0||i<0||r===i||L({type:`REORDER_PANELS`,from:r,to:i})}function Co(){J()}function wo({items:e,children:t}){return(0,R.jsx)(Ia,{sensors:Hr(Vr(Hi,{activationConstraint:{delay:bo,tolerance:xo}})),onDragStart:()=>So(),onDragEnd:e=>{let t=e.active.id;Y(t,e.over?e.over.id:null)},onDragCancel:()=>Co(),children:(0,R.jsx)($a,{items:(0,g.useMemo)(()=>e.slice(),[e]),strategy:Xa,children:t})})}function To(){let[e,t]=(0,g.useState)(null),[n,r]=(0,g.useState)(!1),[i,a]=(0,g.useState)(null);return{report:e,loading:n,error:i,refresh:(0,g.useCallback)(async()=>{r(!0),a(null);try{let e=await fetch(`/api/doctor`);if(!e.ok)throw Error(`HTTP ${e.status}`);t(await e.json())}catch(e){a(e instanceof Error?e.message:String(e))}finally{r(!1)}},[])}}var Eo={ok:`✓`,warn:`⚠`,fail:`✗`};function Do(){let e=(0,g.useSyncExternalStore)(I,()=>F().doctorModalOpen),{report:t,loading:n,error:r,refresh:i}=To(),a=()=>{L({type:`CLOSE_DOCTOR_MODAL`})};return V((0,g.useMemo)(()=>[{key:`Escape`,scope:`modal`,action:a,when:()=>F().doctorModalOpen}],[])),(0,g.useEffect)(()=>{e&&i()},[e,i]),e?(0,R.jsxs)(`div`,{className:`update-modal-root`,onClick:a,children:[(0,R.jsx)(`div`,{className:`modal-backdrop`}),(0,R.jsxs)(`div`,{className:`modal-card doctor-modal-card`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`doctor-modal-title`,onClick:e=>e.stopPropagation(),children:[(0,R.jsxs)(`header`,{className:`modal-header`,children:[(0,R.jsx)(`h2`,{id:`doctor-modal-title`,children:`Doctor`}),(0,R.jsxs)(`div`,{className:`doctor-modal__header-actions`,children:[(0,R.jsx)(`button`,{type:`button`,className:`doctor-modal__refresh`,onClick:()=>{i()},disabled:n,"aria-label":`Refresh doctor report`,children:n?`refreshing…`:`↻ refresh`}),(0,R.jsx)(`button`,{type:`button`,className:`modal-close`,"aria-label":`Close`,onClick:a,children:`×`})]})]}),(0,R.jsxs)(`div`,{className:`modal-body`,children:[n&&!t&&(0,R.jsx)(`p`,{children:`Loading…`}),r&&(0,R.jsxs)(`p`,{className:`doctor-modal__error`,children:[`Error loading report: `,r]}),t&&(0,R.jsx)(Oo,{report:t})]})]})]}):null}function Oo({report:e}){let{counts:t}=e.overall;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`p`,{className:`doctor-modal__summary`,children:[t.ok,` OK · `,t.warn,` WARN · `,t.fail,` FAIL`]}),e.categories.map(e=>(0,R.jsx)(ko,{cat:e,defaultOpen:e.severity!==`ok`},e.id))]})}function ko({cat:e,defaultOpen:t}){let[n,r]=(0,g.useState)(t);return(0,R.jsxs)(`section`,{className:`doctor-modal__category doctor-modal__category--${e.severity}`,children:[(0,R.jsxs)(`button`,{type:`button`,className:`doctor-modal__category-header`,onClick:()=>r(e=>!e),"aria-expanded":n,children:[(0,R.jsx)(`span`,{className:`doctor-modal__glyph`,"aria-hidden":`true`,children:Eo[e.severity]}),(0,R.jsx)(`span`,{children:e.title})]}),n&&e.checks.map(e=>(0,R.jsx)(Ao,{c:e},e.id))]})}function Ao({c:e}){let[t,n]=(0,g.useState)(!1),r=e.details&&Object.keys(e.details).length>0;return(0,R.jsxs)(`div`,{className:`doctor-modal__check doctor-modal__check--${e.severity}`,children:[(0,R.jsxs)(`p`,{children:[(0,R.jsx)(`span`,{className:`doctor-modal__glyph`,"aria-label":e.severity,children:Eo[e.severity]}),` `,(0,R.jsx)(`strong`,{children:e.title}),`: `,e.summary]}),e.remediation&&(0,R.jsxs)(`p`,{className:`doctor-modal__remediation`,children:[`→ `,e.remediation]}),r&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`button`,{type:`button`,className:`doctor-modal__details-toggle`,onClick:()=>n(e=>!e),"aria-expanded":t,children:[t?`▼`:`▶`,` details`]}),t&&(0,R.jsx)(`pre`,{className:`doctor-modal__details`,children:JSON.stringify(e.details,null,2)})]})]})}var jo={brew:`Homebrew`,npm:`npm`,unknown:`unknown`};function Mo(){let e=(0,g.useSyncExternalStore)(I,()=>F().update).state;if(!e)return null;let t=e.method,n=jo[t]??t,r=e.update_command??``,i=t===`unknown`||!r;return(0,R.jsxs)(`div`,{className:`update-modal-body`,children:[(0,R.jsxs)(`div`,{className:`update-kv`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Current`}),(0,R.jsx)(`span`,{className:`v`,children:e.current_version??`—`}),(0,R.jsx)(`span`,{className:`k`,children:`Latest`}),(0,R.jsx)(`span`,{className:`v`,children:e.latest_version??`—`}),(0,R.jsx)(`span`,{className:`k`,children:`Method`}),(0,R.jsxs)(`span`,{className:`v`,children:[n,(0,R.jsx)(`span`,{className:`muted`,children:` (auto-detected)`})]})]}),i?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`update-row-label`,children:`Update manually`}),(0,R.jsxs)(`p`,{className:`update-manual-note`,children:[`Couldn't auto-detect this install's package manager. See `,(0,R.jsx)(`a`,{href:`https://github.com/omrikais/cctally#updating`,target:`_blank`,rel:`noopener noreferrer`,children:`Updating`}),` for the manual recipe.`]})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`update-row-label`,children:`Will run`}),(0,R.jsx)(`code`,{className:`update-cmd`,children:r})]}),e.release_notes_url?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`div`,{className:`update-row-label`,children:`Release notes`}),(0,R.jsx)(`div`,{className:`update-link`,children:(0,R.jsxs)(`a`,{href:e.release_notes_url,target:`_blank`,rel:`noopener noreferrer`,children:[`↗ `,e.release_notes_url.replace(/^https?:\/\//,``)]})})]}):null,e.prerelease_note?(0,R.jsx)(`div`,{className:`update-prerelease-note`,role:`note`,"aria-label":`Prerelease note`,children:e.prerelease_note}):null,(0,R.jsxs)(`div`,{className:`update-actions`,children:[(0,R.jsx)(`button`,{type:`button`,className:`update-btn update-btn-primary`,disabled:i,onClick:()=>ot.start(),children:`Update now`}),(0,R.jsx)(`button`,{type:`button`,className:`update-btn`,disabled:!e.latest_version,onClick:()=>ot.skip(e.latest_version),children:`Skip this version`}),(0,R.jsx)(`button`,{type:`button`,className:`update-btn`,onClick:()=>ot.remind(7),children:`Remind in 7 days`})]})]})}function No({events:e,maxLines:t=500}){let n=(0,g.useRef)(null),r=(0,g.useRef)(!0),i=e.filter(e=>e.type===`stdout`||e.type===`stderr`||e.type===`step`||e.type===`exit`),a=i.slice(-t),o=i.length-a.length;(0,g.useEffect)(()=>{let e=n.current;e&&r.current&&(e.scrollTop=e.scrollHeight)},[e.length]);function s(e){let t=e.currentTarget;r.current=t.scrollHeight-t.scrollTop-t.clientHeight<8}return a.length===0?(0,R.jsx)(`pre`,{className:`update-stream`,ref:n,onScroll:s,"aria-live":`polite`,"aria-label":`Update output`,children:(0,R.jsx)(`span`,{className:`update-stream-empty`,children:`Waiting for output…`})}):(0,R.jsxs)(`pre`,{className:`update-stream`,ref:n,onScroll:s,"aria-live":`polite`,"aria-label":`Update output`,children:[o>0?(0,R.jsxs)(`span`,{className:`update-stream-trunc`,children:[`(… `,o,` earlier line`,o===1?``:`s`,` truncated)`,`
|
|
13
|
+
`]}):null,a.map((e,t)=>e.type===`step`?(0,R.jsxs)(`span`,{className:`update-stream-step`,children:[`==> `,e.name??e.step??e.data??``,`
|
|
14
|
+
`]},t):e.type===`stderr`?(0,R.jsxs)(`span`,{className:`update-stream-line err`,children:[e.data??``,`
|
|
15
|
+
`]},t):e.type===`exit`?(0,R.jsxs)(`span`,{className:`update-stream-exit`,children:[`(exited rc=${e.rc??`?`})`,`
|
|
16
|
+
`]},t):(0,R.jsxs)(`span`,{className:`update-stream-line`,children:[e.data??``,`
|
|
17
|
+
`]},t))]})}var Po=3e3,Fo=1e3;function Io(e){if(e==null)return`0s`;let t=Math.max(0,Math.round((Date.now()-e)/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function Lo(){let e=(0,g.useSyncExternalStore)(I,()=>F().update),t=e.runId,n=e.startedAt,r=e.state?.update_command??``,i=e.state?.latest_version??``,[,a]=(0,g.useState)(0);(0,g.useEffect)(()=>{let e=window.setInterval(()=>a(e=>e+1),1e3);return()=>window.clearInterval(e)},[]);let o=(0,g.useRef)(!1);return(0,g.useEffect)(()=>{if(!t)return;let e=null,n=null,r=null,i=!1;o.current=!0;function a(){r!=null&&(window.clearTimeout(r),r=null),o.current=!1}function s(t,n){a();let r={};try{t instanceof MessageEvent&&typeof t.data==`string`&&(r=JSON.parse(t.data))}catch{}if(L({type:`APPEND_UPDATE_STREAM`,event:{type:n,data:typeof r.data==`string`?r.data:void 0,name:typeof r.name==`string`?r.name:void 0,rc:typeof r.rc==`number`?r.rc:void 0,step:typeof r.step==`string`?r.step:void 0,message:typeof r.message==`string`?r.message:void 0,ts:typeof r.ts==`number`?r.ts:void 0}}),n===`exit`){let e=typeof r.rc==`number`?r.rc:-1;e!==0&&L({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:`subprocess exited with rc=${e}`})}else n===`execvp`?L({type:`SET_UPDATE_STATUS`,status:`success`}):n===`error_event`?L({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:typeof r.message==`string`?r.message:`update worker error`}):n===`done`&&(e&&=(e.close(),null))}function c(){n??=window.setInterval(async()=>{if(!i)try{let e=await fetch(`/api/update/status`);if(!e.ok)return;let t=await e.json(),r=t?.current_run_id??null,i=t?.state??{};if(r===null){let e=i?.current_version,t=i?.latest_version,r=F().update;typeof e==`string`&&typeof t==`string`&&e===t?L({type:`SET_UPDATE_STATUS`,status:`success`}):r.status===`running`&&L({type:`SET_UPDATE_STATUS`,status:`failed`,errorMessage:`update worker exited (stream unavailable)`}),r.stream.length===0&&L({type:`APPEND_UPDATE_STREAM`,event:{type:`stdout`,data:`(SSE stream unavailable; install completed in background — see ~/.local/share/cctally/update.log for full output)`}}),n!=null&&(window.clearInterval(n),n=null)}}catch{}},Fo)}r=window.setTimeout(()=>{i||o.current&&(o.current=!1,e&&=(e.close(),null),c())},Po);try{e=new EventSource(`/api/update/stream/${encodeURIComponent(t)}`),e.addEventListener(`message`,e=>s(e,`stdout`)),[`stdout`,`stderr`,`step`,`exit`,`execvp`,`error_event`,`done`,`heartbeat`].forEach(t=>{e.addEventListener(t,e=>s(e,t))}),e.onerror=()=>{o.current&&(a(),e&&=(e.close(),null),c())}}catch{a(),c()}return()=>{i=!0,r!=null&&(window.clearTimeout(r),r=null),n!=null&&(window.clearInterval(n),n=null),e&&=(e.close(),null),o.current=!1,nt()}},[t]),(0,R.jsxs)(`div`,{className:`update-modal-body`,children:[(0,R.jsxs)(`div`,{className:`update-running-row`,children:[(0,R.jsx)(`span`,{className:`update-spinner`,"aria-hidden":`true`,children:`⟳`}),(0,R.jsx)(`code`,{className:`update-cmd update-cmd-inline`,children:r||`updating cctally`}),(0,R.jsxs)(`span`,{className:`update-elapsed`,children:[Io(n),` elapsed`]})]}),(0,R.jsx)(No,{events:e.stream}),(0,R.jsxs)(`p`,{className:`update-stream-cap`,children:[`Output streams over SSE · press Esc to hide (install continues to `,i||`latest`,`)`]})]})}var Ro=1500;function zo(e){if(e==null)return`—`;let t=Math.max(0,Math.round((Date.now()-e)/1e3));return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function Bo(){let e=(0,g.useSyncExternalStore)(I,()=>F().update),t=e.startedAt,n=e.state?.update_command??``,r=e.state?.latest_version??``;return(0,g.useEffect)(()=>{let e=window.setInterval(()=>{nt()},Ro);return()=>window.clearInterval(e)},[]),(0,R.jsxs)(`div`,{className:`update-modal-body`,children:[(0,R.jsxs)(`div`,{className:`update-running-row update-running-row-success`,children:[(0,R.jsx)(`span`,{className:`update-check`,"aria-hidden":`true`,children:`✓`}),(0,R.jsx)(`code`,{className:`update-cmd update-cmd-inline`,children:n||`cctally`}),(0,R.jsxs)(`span`,{className:`update-elapsed`,children:[`finished in `,zo(t)]})]}),(0,R.jsxs)(`div`,{className:`update-row-label`,children:[`Restarting dashboard on the new code`,r?` (${r})`:``,`…`]}),(0,R.jsxs)(`div`,{className:`update-running-row`,children:[(0,R.jsx)(`span`,{className:`update-spinner`,"aria-hidden":`true`,children:`⟳`}),(0,R.jsx)(`span`,{className:`update-success-reconnect`,children:`reconnecting (this page will refresh in a moment)`})]})]})}var Vo=12;function Ho(e,t){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`exit`&&typeof n.rc==`number`)return`exited rc=${n.rc}`;if(n.type===`error_event`)return n.message??`worker error`}return t??`unknown failure`}function Uo(){let e=(0,g.useSyncExternalStore)(I,()=>F().update),[t,n]=(0,g.useState)(`idle`),r=e.state?.update_command??``,i=e.stream.filter(e=>e.type===`stderr`&&e.data).map(e=>e.data).slice(-Vo),a=Ho(e.stream,e.errorMessage);function o(){L({type:`RESET_UPDATE_RUN`}),rt()}async function s(){if(r)try{await navigator.clipboard.writeText(r),n(`ok`),window.setTimeout(()=>n(`idle`),1500)}catch{n(`err`),window.setTimeout(()=>n(`idle`),1500)}}return(0,R.jsxs)(`div`,{className:`update-modal-body`,children:[(0,R.jsxs)(`div`,{className:`update-running-row update-running-row-failed`,children:[(0,R.jsx)(`span`,{className:`update-x`,"aria-hidden":`true`,children:`✗`}),(0,R.jsx)(`code`,{className:`update-cmd update-cmd-inline`,children:r||`cctally update`}),(0,R.jsx)(`span`,{className:`update-elapsed`,children:a})]}),i.length>0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`update-row-label`,children:[`stderr (last `,i.length,` line`,i.length===1?``:`s`,`)`]}),(0,R.jsx)(`pre`,{className:`update-stream update-stream-fail`,children:i.map((e,t)=>(0,R.jsxs)(`span`,{className:`update-stream-line err`,children:[e,`
|
|
18
|
+
`]},t))})]}):(0,R.jsx)(`p`,{className:`update-manual-note`,children:e.errorMessage??`See ~/.local/share/cctally/update.log for the full failure log.`}),(0,R.jsxs)(`p`,{className:`update-stream-cap`,children:[`Full log: `,(0,R.jsx)(`code`,{children:`~/.local/share/cctally/update.log`})]}),(0,R.jsxs)(`div`,{className:`update-actions`,children:[(0,R.jsx)(`button`,{type:`button`,className:`update-btn update-btn-primary`,onClick:o,children:`Retry`}),(0,R.jsx)(`button`,{type:`button`,className:`update-btn`,onClick:s,disabled:!r,children:t===`ok`?`Copied!`:t===`err`?`Copy failed`:`Copy command`}),(0,R.jsx)(`button`,{type:`button`,className:`update-btn`,onClick:()=>ot.close(),children:`Close`})]})]})}var Wo={idle:`Update available`,running:`Updating cctally`,success:`Update complete`,failed:`Update failed`},Go={idle:`accent-amber`,running:`accent-amber`,success:`accent-green`,failed:`accent-red`};function Ko(){let e=(0,g.useSyncExternalStore)(I,()=>F().update),t=()=>L({type:`CLOSE_UPDATE_MODAL`});if(V((0,g.useMemo)(()=>[{key:`Escape`,scope:`modal`,action:t,when:()=>F().update.modalOpen}],[])),!e.modalOpen||!e.state)return null;let n=e.status,r=Go[n]??`accent-amber`,i=Wo[n]??`Update`;n===`running`&&e.state.latest_version?i=`Updating cctally → ${e.state.latest_version}`:n===`success`&&e.state.latest_version&&(i=`Update complete → ${e.state.latest_version}`);let a;switch(n){case`running`:a=(0,R.jsx)(Lo,{});break;case`success`:a=(0,R.jsx)(Bo,{});break;case`failed`:a=(0,R.jsx)(Uo,{});break;default:a=(0,R.jsx)(Mo,{});break}return(0,R.jsxs)(`div`,{id:`update-modal-root`,className:`update-modal-root`,children:[(0,R.jsx)(`div`,{className:`modal-backdrop`,onClick:t}),(0,R.jsxs)(`div`,{className:`modal-card update-modal-card ${r}`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`update-modal-title`,children:[(0,R.jsx)(`div`,{className:`modal-handle`,"aria-hidden":`true`}),(0,R.jsxs)(`header`,{className:`modal-header`,children:[(0,R.jsx)(`h2`,{id:`update-modal-title`,children:i}),(0,R.jsx)(`button`,{className:`modal-close`,"aria-label":`Close`,onClick:t,children:`×`})]}),(0,R.jsx)(`div`,{className:`modal-body`,children:a})]})]})}function qo({title:e,accentClass:t,children:n,headerExtras:r}){let i=()=>L({type:`CLOSE_MODAL`});return V((0,g.useMemo)(()=>[{key:`Escape`,scope:`modal`,action:i}],[])),(0,R.jsxs)(`div`,{id:`modal-root`,children:[(0,R.jsx)(`div`,{className:`modal-backdrop`,onClick:i}),(0,R.jsxs)(`div`,{className:`modal-card ${t}`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`modal-title`,children:[(0,R.jsx)(`div`,{className:`modal-handle`,"aria-hidden":`true`}),(0,R.jsxs)(`header`,{className:`modal-header`,children:[(0,R.jsx)(`h2`,{id:`modal-title`,children:e}),r,(0,R.jsx)(`button`,{className:`modal-close`,"aria-label":`Close`,onClick:i,children:`×`})]}),(0,R.jsx)(`div`,{id:`modal-body`,className:`modal-body`,children:n})]})]})}function Jo(e){return e==null||!isFinite(e)?0:Math.max(0,Math.min(100,e))}function Yo(e,t,n){let r=D.dateShort(t,n);return e&&r?`${e} → ${r}`:e||(r?`→ ${r}`:`—`)}function Xo(e){if(e==null||!isFinite(e))return[`—`,``];let t=(+e).toFixed(1),n=t.indexOf(`.`);return n===-1?[t,`.0%`]:[t.slice(0,n),t.slice(n)+`%`]}function Zo(e){let t=[],n=[...e].sort((e,t)=>(e.percent??0)-(t.percent??0));for(let e of n)e.percent!=null&&(t.length&&e.percent-(t[t.length-1].percent??0)<3||t.push(e));return t}function Qo(e){if(!Array.isArray(e)||e.length<2)return null;let t=e.map(e=>e.marginal_usd).filter(e=>e!=null&&isFinite(e)),n=t.length?t.reduce((e,t)=>e+t,0)/t.length:null,r=e[e.length-1].percent,i=[];return n!=null&&i.push(`avg marginal $`+n.toFixed(2)),r!=null&&i.push(`latest at `+r+`%`),i.length?i.join(` · `):null}function $o(e,t){let n=[];for(let t of e)n.push({kind:`milestone`,ts:t.captured_at_utc,data:t});for(let e of t)n.push({kind:`credit`,ts:e.effective_reset_at_utc,data:e});return n.sort((e,t)=>e.ts.localeCompare(t.ts)),n}function es(){let e=z(),t=Ht(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel},r=e?.current_week??null,i=e?.header??null,a=Array.isArray(r?.milestones)?r.milestones:[],o=Array.isArray(r?.five_hour_milestones)?r.five_hour_milestones:[],s=$o(o,Array.isArray(r?.five_hour_block?.credits)?r.five_hour_block.credits:[]),c=Jo(r?.used_pct),[l,u]=Xo(r?.used_pct),d=r?Yo(i?.week_label,r.reset_at_utc,n):`—`,f=Zo(a),p=Qo(a);return(0,R.jsx)(qo,{title:`Current Week — per-percent milestones`,accentClass:`accent-green`,headerExtras:(0,R.jsx)(Gt,{panel:`current-week`,panelLabel:`Current week`,triggerId:`current-week-modal`,onClick:()=>L(M(`current-week`,`current-week-modal`))}),children:(0,R.jsxs)(`section`,{className:`modal-current-week`,children:[(0,R.jsx)(`div`,{className:`m-chipstrip`,id:`mcw-badges`,children:(0,R.jsx)(`span`,{className:`m-pill accent-green`,id:`mcw-week-pill`,children:d})}),(0,R.jsxs)(`div`,{className:`mcw-herobar`,children:[(0,R.jsxs)(`div`,{className:`mcw-bignum`,id:`mcw-bignum`,children:[(0,R.jsx)(`span`,{className:`int`,children:l}),(0,R.jsx)(`span`,{className:`unit`,children:u})]}),(0,R.jsxs)(`div`,{className:`mcw-pbar-wrap`,children:[(0,R.jsxs)(`div`,{className:`mcw-pbar`,children:[(0,R.jsx)(`div`,{className:`fill`,id:`mcw-fill`,style:{width:c+`%`}}),(0,R.jsx)(`div`,{className:`ticks`,id:`mcw-ticks`,children:f.map(e=>(0,R.jsx)(`div`,{className:`tick`,"data-p":String(e.percent),style:{left:Jo(e.percent)+`%`}},e.percent))}),(0,R.jsx)(`div`,{className:`marker`,id:`mcw-marker`,style:{left:c+`%`}})]}),(0,R.jsxs)(`div`,{className:`mcw-pscale`,children:[(0,R.jsx)(`span`,{children:`0%`}),(0,R.jsx)(`span`,{children:`25%`}),(0,R.jsx)(`span`,{children:`50%`}),(0,R.jsx)(`span`,{children:`75%`}),(0,R.jsx)(`span`,{children:`100%`})]})]}),(0,R.jsxs)(`div`,{className:`mcw-mini`,id:`mcw-mini`,children:[(0,R.jsxs)(`div`,{className:`s`,children:[(0,R.jsx)(`span`,{className:`k`,children:`spent`}),(0,R.jsx)(`span`,{className:`v v-magenta`,id:`mcw-spent`,children:D.usd2(r?.spent_usd)})]}),(0,R.jsxs)(`div`,{className:`s`,children:[(0,R.jsx)(`span`,{className:`k`,children:`$ / 1%`}),(0,R.jsx)(`span`,{className:`v v-cyan`,id:`mcw-dpp`,children:D.usd3(r?.dollar_per_pct)})]}),(0,R.jsxs)(`div`,{className:`s`,children:[(0,R.jsx)(`span`,{className:`k`,children:`reset`}),(0,R.jsx)(`span`,{className:`v`,id:`mcw-reset`,children:D.datetimeShortZ(r?.reset_at_utc,n)})]})]})]}),(0,R.jsxs)(`h3`,{className:`m-sec sec-ms`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#hash`})}),`Milestones`]}),(0,R.jsxs)(`div`,{className:`mcw-mshead`,children:[(0,R.jsxs)(`span`,{className:`m-pill accent-purple`,id:`mcw-ms-count`,children:[a.length,` crossed`]}),(0,R.jsx)(`span`,{className:`mcw-ms-sub`,id:`mcw-ms-sub`,hidden:!p,children:p??``})]}),a.length===0?(0,R.jsx)(`p`,{className:`empty-state`,id:`mcw-empty`,children:`No milestones yet — earliest crosses at 1\xA0%.`}):(0,R.jsxs)(`table`,{className:`m-histable`,id:`mcw-table`,children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`th`,{children:`%`}),(0,R.jsxs)(`th`,{children:[`Crossed (`,t.offsetLabel,`)`]}),(0,R.jsx)(`th`,{className:`num`,children:`Cumulative $`}),(0,R.jsx)(`th`,{className:`num`,children:`Marginal $`}),(0,R.jsx)(`th`,{className:`num`,children:`5h %`})]})}),(0,R.jsx)(`tbody`,{id:`mcw-rows`,children:a.map(e=>(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`td`,{children:(0,R.jsx)(`span`,{className:`m-pill accent-purple pct-cell`,children:e.percent??`—`})}),(0,R.jsx)(`td`,{className:`d`,children:D.startedShort(e.crossed_at_utc,n,{noSuffix:!0})}),(0,R.jsx)(`td`,{className:`num`,children:e.cumulative_usd==null?`—`:`$`+e.cumulative_usd.toFixed(2)}),(0,R.jsx)(`td`,{className:`num`,children:(0,R.jsx)(`span`,{className:`m-marginal`,children:e.marginal_usd==null?`—`:`$`+e.marginal_usd.toFixed(2)})}),(0,R.jsx)(`td`,{className:`num`,children:(0,R.jsx)(`span`,{className:`m-fh`,children:e.five_hour_pct_at_cross==null?`—`:Math.round(e.five_hour_pct_at_cross)+`%`})})]},e.percent))})]}),s.length>0&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`h3`,{className:`m-sec sec-ms sec-5h`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#activity`})}),`5h milestones`]}),(0,R.jsx)(`div`,{className:`mcw-mshead`,children:(0,R.jsxs)(`span`,{className:`m-pill accent-purple`,id:`mcw-5h-count`,children:[o.length,` crossed`]})}),(0,R.jsxs)(`table`,{className:`m-histable mcw-5h-table`,id:`mcw-5h-table`,children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`th`,{children:`%`}),(0,R.jsxs)(`th`,{children:[`When (`,t.offsetLabel,`)`]}),(0,R.jsx)(`th`,{className:`num`,children:`Block $`}),(0,R.jsx)(`th`,{className:`num`,children:`Marginal $`}),(0,R.jsx)(`th`,{className:`num`,children:`7d %`})]})}),(0,R.jsx)(`tbody`,{children:s.map((e,t)=>{if(e.kind===`credit`)return(0,R.jsx)(`tr`,{className:`mcw-5h-credit-row`,children:(0,R.jsxs)(`td`,{colSpan:5,className:`mcw-5h-credit-cell`,children:[`⚡ CREDIT\xA0`,` `,e.data.delta_pp>0?`+`:``,e.data.delta_pp.toFixed(0),`pp\xA0@`,` `,D.startedShort(e.ts,n,{noSuffix:!0})]})},`credit-${t}-${e.ts}`);let r=e.data;return(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`td`,{children:(0,R.jsx)(`span`,{className:`m-pill accent-purple pct-cell`,children:r.percent_threshold})}),(0,R.jsx)(`td`,{className:`d`,children:D.startedShort(r.captured_at_utc,n,{noSuffix:!0})}),(0,R.jsx)(`td`,{className:`num`,children:`$`+r.block_cost_usd.toFixed(2)}),(0,R.jsx)(`td`,{className:`num`,children:(0,R.jsx)(`span`,{className:`m-marginal`,children:r.marginal_cost_usd==null?`—`:`$`+r.marginal_cost_usd.toFixed(2)})}),(0,R.jsx)(`td`,{className:`num`,children:(0,R.jsx)(`span`,{className:`m-fh`,children:r.seven_day_pct_at_crossing==null?`—`:Math.round(r.seven_day_pct_at_crossing)+`%`})})]},`fhms-${r.percent_threshold}-${r.reset_event_id}`)})})]})]})]})})}function ts(e){if(!e)return`—`;let t=e.elapsed_hours,n=e.remaining_hours;if(t==null||n==null)return`—`;let r=t+n;if(r<=0)return`—`;let i=t/r*100;return Math.min(100,i).toFixed(1)+`%`}function ns(e){return e==null||!isFinite(e)?null:e<0?0:e>110?110:e}function rs(e){return e==null||!isFinite(e)?`—`:e<0?`~`+(+e).toFixed(1)+`%`:(+e).toFixed(1)+`%`}function is(e,t){for(let t of e)t.trueXPct=t.pos/110*100;if(e.length<2||t<=0){for(let t of e)t.resolvedXPct=t.trueXPct;return}let n=e.slice().sort((e,t)=>e.trueXPct-t.trueXPct),r=n[0],i=n[1],a=r.pillWidthPx/2/t*100,o=i.pillWidthPx/2/t*100,s=8/t*100,c=a+o+s,l=2*c;if(i.trueXPct-r.trueXPct<c){let e=(r.trueXPct+i.trueXPct)/2;r.resolvedXPct=e-l/2,i.resolvedXPct=e+l/2;let t=a,n=100-o;r.resolvedXPct<t&&(r.resolvedXPct=t,i.resolvedXPct-r.resolvedXPct<l&&(i.resolvedXPct=Math.min(n,r.resolvedXPct+l))),i.resolvedXPct>n&&(i.resolvedXPct=n,i.resolvedXPct-r.resolvedXPct<l&&(r.resolvedXPct=Math.max(t,i.resolvedXPct-l)))}else r.resolvedXPct=r.trueXPct,i.resolvedXPct=i.trueXPct}function as(e,t,n){(0,g.useEffect)(()=>{let r=e.current,i=t.current;if(!r||!i||!n)return;let a=r.querySelector(`.mfc-pills`),o=r.querySelector(`.mfc-leaders`),s=i.querySelector(`.mfc-rangeband`);if(!a||!o)return;let c=n.week_avg_projection_pct,l=n.recent_24h_projection_pct,u=ns(c),d=ns(l),f=[];u!=null&&c!=null&&f.push({kind:`wa`,pos:u,raw:c}),d!=null&&l!=null&&f.push({kind:`r24`,pos:d,raw:l});let p=new Set(f.map(e=>e.kind));i.querySelectorAll(`.mfc-chev`).forEach(e=>{let t=e.dataset.kind;(!t||!p.has(t))&&e.remove()}),a.querySelectorAll(`.mfc-pill`).forEach(e=>{let t=e.dataset.kind;(!t||!p.has(t))&&e.remove()});let m=f.map(e=>({...e,trueXPct:0,resolvedXPct:0,pillWidthPx:0}));for(let e of m){let t=e.pos/110*100,n=i.querySelector(`.mfc-chev[data-kind="${e.kind}"]`);n||(n=document.createElement(`div`),n.className=`mfc-chev `+e.kind,n.dataset.kind=e.kind,i.appendChild(n)),n.style.left=t+`%`;let r=a.querySelector(`.mfc-pill[data-kind="${e.kind}"]`),o=rs(e.raw);r?r.textContent!==o&&(r.textContent=o):(r=document.createElement(`div`),r.className=`mfc-pill `+e.kind,r.dataset.kind=e.kind,r.textContent=o,a.appendChild(r)),e.pillEl=r}if(s){let e=!1;if(m.length===2){let t=m[0].pos/110*100,n=m[1].pos/110*100,r=Math.min(t,n),i=Math.max(t,n)-r;i>=.5&&(s.style.left=r+`%`,s.style.width=i+`%`,e=!0)}s.hidden=!e}let h=()=>{for(let e of m)if(!e.pillEl||!e.pillEl.isConnected)return;let e=r.clientWidth;if(e<=0){requestAnimationFrame(h);return}for(let e of m)e.pillWidthPx=e.pillEl.getBoundingClientRect().width;is(m,e);for(let e of m)e.pillEl.style.left=e.resolvedXPct+`%`;for(;o.firstChild;)o.removeChild(o.firstChild);for(let e of m){let t=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);t.setAttribute(`class`,e.kind),t.setAttribute(`vector-effect`,`non-scaling-stroke`),t.setAttribute(`d`,`M ${e.resolvedXPct} 0 C ${e.resolvedXPct} 10, ${e.trueXPct} 8, ${e.trueXPct} 18`),o.appendChild(t)}};h()},[e,t,n])}function os(){let e=z()?.forecast??null,t=e?.explain??null,n=(0,g.useRef)(null),r=(0,g.useRef)(null);as(n,r,e);let i=(0,R.jsx)(Gt,{panel:`forecast`,panelLabel:`Forecast`,triggerId:`forecast-modal`,onClick:()=>L(M(`forecast`,`forecast-modal`))});if(!e)return(0,R.jsx)(qo,{title:`Forecast — explain`,accentClass:`accent-purple`,headerExtras:i,children:(0,R.jsx)(`section`,{className:`modal-forecast`,children:(0,R.jsx)(`p`,{className:`empty-state`,id:`mfc-empty`,children:`No forecast data yet.`})})});let a=St(e.verdict),o=a?`m-pill ${a.accent}`:`m-pill`,s=a?`${a.glyph} ${a.label}`:`—`,c=`m-pill`,l=`—`,u=!0;e.confidence===`high`?(c=`m-pill accent-blue`,l=`high confidence`,u=!1):e.confidence===`low`&&(c=`m-pill accent-red`,l=`low confidence`,u=!1);let d=t?.rates,f=t?.week;return(0,R.jsx)(qo,{title:`Forecast — explain`,accentClass:`accent-purple`,headerExtras:i,children:(0,R.jsxs)(`section`,{className:`modal-forecast`,children:[(0,R.jsxs)(`div`,{className:`m-chipstrip`,id:`mfc-chips`,children:[(0,R.jsx)(`span`,{className:o,id:`mfc-verdict`,children:s}),(0,R.jsx)(`span`,{className:c,id:`mfc-confidence`,hidden:u,children:l})]}),(0,R.jsxs)(`div`,{className:`m-hero cols-2`,children:[(0,R.jsxs)(`div`,{className:`m-kv kv-wa`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#gauge`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,id:`mfc-wa-pct`,children:D.pct1(e.week_avg_projection_pct)}),(0,R.jsx)(`div`,{className:`lbl`,children:`Week-avg projection`}),(0,R.jsx)(`div`,{className:`sub`,id:`mfc-wa-sub`,children:D.ratePctPerHour(d?.week_average_pct_per_hour)})]})]}),(0,R.jsxs)(`div`,{className:`m-kv kv-r24`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#zap`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,id:`mfc-r24-pct`,children:D.pct1(e.recent_24h_projection_pct)}),(0,R.jsx)(`div`,{className:`lbl`,children:`Recent-24h projection`}),(0,R.jsx)(`div`,{className:`sub`,id:`mfc-r24-sub`,children:D.ratePctPerHour(d?.recent_24h_pct_per_hour)})]})]})]}),(0,R.jsxs)(`h3`,{className:`m-sec sec-range`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#bar-chart`})}),`Range vs. caps`]}),(0,R.jsxs)(`div`,{className:`mfc-rangewrap`,id:`mfc-rangewrap`,ref:n,children:[(0,R.jsx)(`div`,{className:`mfc-pills`,id:`mfc-pills`}),(0,R.jsx)(`svg`,{className:`mfc-leaders`,id:`mfc-leaders`,viewBox:`0 0 100 18`,preserveAspectRatio:`none`,"aria-hidden":`true`}),(0,R.jsxs)(`div`,{className:`mfc-rangetrack`,id:`mfc-rangetrack`,ref:r,children:[(0,R.jsx)(`div`,{className:`mfc-zone safe`}),(0,R.jsx)(`div`,{className:`mfc-zone warn`}),(0,R.jsx)(`div`,{className:`mfc-zone over`}),(0,R.jsx)(`div`,{className:`mfc-rangeband`,id:`mfc-rangeband`,hidden:!0}),(0,R.jsx)(`div`,{className:`mfc-bound b90`,children:(0,R.jsx)(`div`,{className:`lbl`,children:`90%`})}),(0,R.jsx)(`div`,{className:`mfc-bound b100`,children:(0,R.jsx)(`div`,{className:`lbl`,children:`100%`})})]})]}),(0,R.jsxs)(`h3`,{className:`m-sec sec-rates`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#activity`})}),`Rates`]}),(0,R.jsxs)(`div`,{className:`mfc-kvgrid`,children:[(0,R.jsxs)(`div`,{className:`mfc-krow`,children:[(0,R.jsx)(`span`,{className:`l`,children:`$ / 1%`}),(0,R.jsx)(`span`,{className:`v v-cyan`,id:`mfc-dpp`,children:D.usd3(d?.dollars_per_percent)})]}),(0,R.jsxs)(`div`,{className:`mfc-krow`,children:[(0,R.jsx)(`span`,{className:`l`,children:`week done`}),(0,R.jsx)(`span`,{className:`v v-green`,id:`mfc-wkdone`,children:ts(f)})]}),(0,R.jsxs)(`div`,{className:`mfc-krow`,children:[(0,R.jsx)(`span`,{className:`l`,children:`elapsed`}),(0,R.jsx)(`span`,{className:`v v-green`,id:`mfc-elapsed`,children:D.hours1(f?.elapsed_hours)})]}),(0,R.jsxs)(`div`,{className:`mfc-krow`,children:[(0,R.jsx)(`span`,{className:`l`,children:`remaining`}),(0,R.jsx)(`span`,{className:`v`,id:`mfc-remain`,children:D.hours1(f?.remaining_hours)})]})]}),(0,R.jsxs)(`h3`,{className:`m-sec sec-bud`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#dollar`})}),`Daily budgets to stay under`]}),(0,R.jsxs)(`div`,{className:`mfc-kvgrid mfc-kvgrid-single`,children:[(0,R.jsxs)(`div`,{className:`mfc-krow`,children:[(0,R.jsx)(`span`,{className:`l`,children:`@ 100% cap`}),(0,R.jsx)(`span`,{className:`v v-magenta`,id:`mfc-bud100`,children:D.usd2PerDay(e.budget_100_per_day_usd)})]}),(0,R.jsxs)(`div`,{className:`mfc-krow`,children:[(0,R.jsx)(`span`,{className:`l`,children:`@ 90% cap`}),(0,R.jsx)(`span`,{className:`v v-amber`,id:`mfc-bud90`,children:D.usd2PerDay(e.budget_90_per_day_usd)})]})]})]})})}function ss(e){let t=Math.max(1,Math.round(e/4));return`${e} week${e===1?``:`s`} · ${t} month${t===1?``:`s`}`}function cs(e){let t=e.findIndex(e=>e&&e.is_current);return t>=0?t:e.length-1}function ls(e,t){let n=e.filter((e,n)=>n!==t).map(e=>e.dollar_per_pct).filter(e=>e!=null&&isFinite(e));if(n.length<4)return null;let r=n.slice(-4).sort((e,t)=>e-t);return(r[1]+r[2])/2}function us(e){if(!e.length)return null;let t=[...e].sort((e,t)=>e-t),n=Math.floor(t.length/2);return t.length%2?t[n]:(t[n-1]+t[n])/2}function ds(e,t){let n=[];if(!e.length)return n;let r={left:44,right:14,top:12,bottom:22},i=600-r.left-r.right,a=140-r.top-r.bottom,o=e.length,s=e=>r.left+(o===1?i:e/(o-1)*i),c=e.map(e=>e.dollar_per_pct).filter(e=>e!=null&&isFinite(e)),l=c.length?Math.min(...c)*.96:0,u=c.length?Math.max(...c)*1.04:1;u-l<1e-6&&(l-=.01,u+=.01);let d=e=>r.top+a*(1-(e-l)/(u-l)),f=e.map(e=>e.used_pct).filter(e=>e!=null&&isFinite(e)),p=f.length?Math.min(...f)*.96:0,m=f.length?Math.max(...f)*1.04:100;m-p<1e-6&&(--p,m+=1);let h=e=>r.top+a*(1-(e-p)/(m-p));if(n.push({el:`line`,attrs:{class:`mtr-axis`,x1:r.left,y1:r.top+a,x2:600-r.right,y2:r.top+a},key:`axis`}),c.length){let e=us(c);e!=null&&(n.push({el:`line`,attrs:{class:`mtr-hl`,x1:r.left,y1:d(e),x2:600-r.right,y2:d(e)},key:`med-line`}),n.push({el:`text`,attrs:{class:`mtr-medlabel`,x:r.left+2,y:d(e)-3},text:`median $`+e.toFixed(2),key:`med-label`}))}{let t=[];e.forEach((e,n)=>{e.used_pct!=null&&isFinite(e.used_pct)&&t.push(`${s(n)},${h(e.used_pct)}`)}),t.length>=2&&n.push({el:`polyline`,attrs:{class:`mtr-trendline-dim`,points:t.join(` `)},key:`poly-used`})}{let t=[];e.forEach((e,n)=>{e.dollar_per_pct!=null&&isFinite(e.dollar_per_pct)&&t.push(`${s(n)},${d(e.dollar_per_pct)}`)}),t.length>=2&&n.push({el:`polyline`,attrs:{class:`mtr-trendline`,points:t.join(` `)},key:`poly-dpp`})}e.forEach((e,r)=>{if(e.dollar_per_pct==null||!isFinite(e.dollar_per_pct))return;let i=r===t;n.push({el:`circle`,attrs:{class:`mtr-trenddot`+(i?` cur`:``),cx:s(r),cy:d(e.dollar_per_pct),r:i?5:3},key:`dot-${r}`})}),c.length&&(n.push({el:`text`,attrs:{class:`mtr-ylabel`,x:3,y:r.top+8},text:`$`+(u/1.04).toFixed(2),key:`ymax`}),n.push({el:`text`,attrs:{class:`mtr-ylabel`,x:3,y:r.top+a},text:`$`+(l/.96).toFixed(2),key:`ymin`}));let g=e[t];return g&&g.dollar_per_pct!=null&&isFinite(g.dollar_per_pct)&&n.push({el:`text`,attrs:{class:`mtr-curlabel`,x:Math.max(r.left+4,s(t)-22),y:Math.min(138,d(g.dollar_per_pct)+16)},text:`$`+g.dollar_per_pct.toFixed(2),key:`curlabel`}),n}function fs(e,t){return t===0?`Now`+(e.label?` · `+e.label:``):`W−`+t+(e.label?` · `+e.label:``)}function ps(e){return e==null||!isFinite(e)?{cls:`flat`,text:`—`}:e>5e-4?{cls:`up`,text:`+`+e.toFixed(2)}:e<-5e-4?{cls:`down`,text:e.toFixed(2)}:{cls:`flat`,text:`0.00`}}function ms(e){return e==null||!isFinite(e)?{cls:`delta-flat`,iconHref:`/static/icons.svg#minus`,text:`—`}:e<-5e-4?{cls:`delta-down`,iconHref:`/static/icons.svg#trending-down`,text:`−$`+Math.abs(e).toFixed(3)}:e>5e-4?{cls:`delta-up`,iconHref:`/static/icons.svg#trending-up`,text:`+$`+e.toFixed(3)}:{cls:`delta-flat`,iconHref:`/static/icons.svg#minus`,text:`$0.000`}}function hs(){let e=z(),t=se(e),n=(0,R.jsx)(Gt,{panel:`trend`,panelLabel:`Trend`,triggerId:`trend-modal`,onClick:()=>L(M(`trend`,`trend-modal`))});if(!t.length)return(0,R.jsx)(qo,{title:`Trend — 12-week history`,accentClass:`accent-amber`,headerExtras:n,children:(0,R.jsx)(`section`,{className:`modal-trend`,children:(0,R.jsx)(`p`,{className:`empty-state`,id:`mtr-empty`,children:`No history data yet.`})})});let r=cs(t),i=t[r],a=e?.trend?.history_median_dpp,o=a!=null&&isFinite(a)?a:ls(t,r),s=ms(i&&i.dollar_per_pct!=null&&o!=null?i.dollar_per_pct-o:null),c=ds(t,r),l=t.some(e=>e.used_pct!=null&&isFinite(e.used_pct)),u=t.length;return(0,R.jsx)(qo,{title:`Trend — 12-week history`,accentClass:`accent-amber`,headerExtras:n,children:(0,R.jsxs)(`section`,{className:`modal-trend`,children:[(0,R.jsx)(`div`,{className:`m-chipstrip`,children:(0,R.jsx)(`span`,{className:`m-pill accent-amber`,id:`mtr-weeks-pill`,children:ss(u)})}),(0,R.jsxs)(`div`,{className:`m-hero cols-3`,children:[(0,R.jsxs)(`div`,{className:`m-kv kv-cur`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#dollar`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,id:`mtr-cur`,children:i&&i.dollar_per_pct!=null?`$`+i.dollar_per_pct.toFixed(3):`—`}),(0,R.jsx)(`div`,{className:`lbl`,children:`Current $ / 1%`})]})]}),(0,R.jsxs)(`div`,{className:`m-kv kv-med`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#minus`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,id:`mtr-med`,children:o==null?`—`:`$`+o.toFixed(3)}),(0,R.jsx)(`div`,{className:`lbl`,children:`4-week median`})]})]}),(0,R.jsxs)(`div`,{className:`m-kv kv-delta ${s.cls}`,id:`mtr-delta-kv`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:s.iconHref})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,id:`mtr-delta`,children:s.text}),(0,R.jsx)(`div`,{className:`lbl`,children:`vs median`})]})]})]}),(0,R.jsxs)(`h3`,{className:`m-sec sec-spark`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#trending-down`})}),`12-week history · $/1%`,(0,R.jsxs)(`span`,{className:`mtr-legend`+(l?``:` legend-no-used`),"aria-hidden":`true`,children:[(0,R.jsx)(`span`,{className:`sw sw-dpp`}),(0,R.jsx)(`span`,{className:`sw-lbl`,children:`$/1%`}),(0,R.jsx)(`span`,{className:`sw sw-used`}),(0,R.jsx)(`span`,{className:`sw-lbl`,children:`used %`})]})]}),(0,R.jsxs)(`div`,{className:`mtr-sparkhero`,children:[(0,R.jsx)(`svg`,{id:`mtr-svg`,viewBox:`0 0 600 140`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:c.map(e=>{let{el:t,attrs:n,text:r,key:i}=e,a={};for(let e in n)a[e===`class`?`className`:e]=n[e];return t===`line`?(0,R.jsx)(`line`,{...a},i):t===`polyline`?(0,R.jsx)(`polyline`,{...a},i):t===`circle`?(0,R.jsx)(`circle`,{...a},i):(0,R.jsx)(`text`,{...a,children:r},i)})}),(0,R.jsx)(`div`,{className:`mtr-sparkaxis`,id:`mtr-sparkaxis`,children:u>0?(0,R.jsxs)(g.Fragment,{children:[(0,R.jsxs)(`span`,{children:[`W−`,u-1]}),(0,R.jsxs)(`span`,{children:[`W−`,Math.floor((u-1)/2)]}),(0,R.jsx)(`span`,{children:`Now`})]}):null})]}),(0,R.jsxs)(`h3`,{className:`m-sec sec-tbl`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#hash`})}),`Weekly detail`]}),(0,R.jsxs)(`div`,{className:`mtr-tbl-head`,children:[(0,R.jsxs)(`span`,{className:`m-pill accent-purple`,id:`mtr-tbl-count`,children:[u,` weeks`]}),(0,R.jsx)(`span`,{className:`mtr-tbl-sub`,children:`current row highlighted · negative Δ = $/1% down vs prior week`})]}),(0,R.jsxs)(`table`,{className:`m-histable`,id:`mtr-table`,children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`th`,{children:`Week`}),(0,R.jsx)(`th`,{className:`num`,children:`Used %`}),(0,R.jsx)(`th`,{className:`num`,children:`$ / 1%`}),(0,R.jsx)(`th`,{className:`num`,children:`Δ $/1%`})]})}),(0,R.jsx)(`tbody`,{id:`mtr-rows`,children:t.map((e,t)=>{let n=fs(e,u-1-t),r=e.used_pct==null?`—`:Math.round(e.used_pct)+`%`,i=e.dollar_per_pct==null?`—`:`$`+e.dollar_per_pct.toFixed(2),a=ps(e.delta);return(0,R.jsxs)(`tr`,{className:e.is_current?`cur`:void 0,children:[(0,R.jsx)(`td`,{children:(0,R.jsx)(`span`,{className:`wlab`,children:n})}),(0,R.jsx)(`td`,{className:`num usedpct`,children:r}),(0,R.jsx)(`td`,{className:`num dpp`,children:i}),(0,R.jsx)(`td`,{className:`num delta ${a.cls}`,children:a.text})]},e.label+`|`+t)})})]})]})})}var gs=/(^|\/)(subagents\/|agent-)/;function _s(){return(0,g.useSyncExternalStore)(I,()=>F().snapshot?.generated_at??``)}function vs(){let e=(0,g.useSyncExternalStore)(I,()=>F().openSessionId),t=_s(),[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(!0),[o,s]=(0,g.useState)(null),c=(0,g.useRef)(null),l=(0,g.useRef)(!1),u=(0,g.useRef)(null);return(0,g.useEffect)(()=>{u.current=e??F().snapshot?.sessions?.rows?.[0]?.session_id??null,l.current=!1},[e]),(0,g.useEffect)(()=>{let e=u.current;if(!e){a(!1),s(`No session available.`),r(null),c.current=null;return}let t=c.current!==e||n==null;c.current=e,t&&(a(!0),s(null),r(null));let i=new AbortController;return fetch(`/api/session/${encodeURIComponent(e)}`,{signal:i.signal}).then(async e=>{if(e.status===404){(t||l.current)&&(a(!1),s(`Session not found (the cache may have rolled forward).`),r(null)),l.current=!0;return}if(!e.ok)throw Error(`HTTP `+e.status);let n=await e.json();l.current=!1,r(n),s(null),a(!1)}).catch(e=>{e.name!==`AbortError`&&(l.current=!1,t&&(s(`Failed to load: `+e.message),a(!1)))}),()=>i.abort()},[e,t]),(0,R.jsx)(qo,{title:`Session detail`,accentClass:`accent-orange`,headerExtras:(0,R.jsx)(Gt,{panel:`sessions`,panelLabel:`Session`,triggerId:`session-modal`,onClick:()=>L(M(`sessions`,`session-modal`))}),children:(0,R.jsxs)(`section`,{className:`modal-sessions`,children:[i?(0,R.jsx)(`div`,{className:`modal-loading`,id:`msess-loading`,children:`Loading session detail…`}):null,o?(0,R.jsx)(`div`,{className:`modal-error`,id:`msess-error`,children:o}):null,!i&&!o&&n?(0,R.jsx)(ys,{detail:n}):null]})})}function ys({detail:e}){let t=Array.isArray(e.source_paths)?e.source_paths:[],n=[],r=[];t.forEach(e=>{gs.test(e)?r.push(e):n.push(e)});let i=e.cost_total_usd??0,a=[[`Input`,e.input_tokens,null],[`Output`,e.output_tokens,null],[`Cache creation`,e.cache_creation_tokens,null],[`Cache read`,e.cache_read_tokens,null],[`Cache hit %`,e.cache_hit_pct,`cache-hit`]].filter(e=>e[1]!=null),o=!e.models||e.models.length===0,s=!e.cost_per_model||e.cost_per_model.length===0;return(0,R.jsxs)(`div`,{className:`modal-content`,id:`msess-content`,children:[(0,R.jsx)(`div`,{className:`m-chipstrip`,children:(0,R.jsx)(`span`,{className:`msess-badge`,id:`msess-id`,"aria-label":`Session ID`,children:e.session_id??`—`})}),(0,R.jsxs)(`div`,{className:`m-hero cols-3`,children:[(0,R.jsxs)(`div`,{className:`m-kv kv-cost`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#dollar`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,id:`msess-cost`,children:e.cost_total_usd==null?`—`:`$`+e.cost_total_usd.toFixed(2)}),(0,R.jsx)(`div`,{className:`lbl`,children:`Total cost`})]})]}),(0,R.jsxs)(`div`,{className:`m-kv kv-dur`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,id:`msess-dur`,children:e.duration_min==null?`—`:e.duration_min+` min`}),(0,R.jsx)(`div`,{className:`lbl`,children:`Duration`})]})]}),(0,R.jsxs)(`div`,{className:`m-kv kv-proj`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#folder`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,id:`msess-project`,title:e.project_path??``,"aria-label":`Project`,children:e.project_label??e.project_path??`—`}),(0,R.jsx)(`div`,{className:`lbl`,children:`Project`})]})]})]}),(0,R.jsxs)(`div`,{className:`msess-ts`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#calendar`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{className:`k`,children:`started`}),(0,R.jsx)(`span`,{className:`v`,id:`msess-started`,children:e.started_utc??`—`})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{className:`k`,children:`last activity`}),(0,R.jsx)(`span`,{className:`v`,id:`msess-last`,children:e.last_activity_utc??`—`})]})]}),(0,R.jsxs)(`h3`,{className:`m-sec sec-tok`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#hash`})}),`Tokens`]}),(0,R.jsx)(`div`,{className:`msess-tok-grid`,id:`msess-tokens`,children:a.map(([e,t,n])=>(0,R.jsxs)(`div`,{className:`msess-tok-tile`+(n?` `+n:``),children:[(0,R.jsx)(`div`,{className:`lbl`,children:e}),(0,R.jsx)(`div`,{className:`n`,children:n===`cache-hit`?t.toFixed(1)+`%`:t.toLocaleString(`en-US`)}),n===`cache-hit`?(0,R.jsx)(`div`,{className:`bar`,children:(0,R.jsx)(`div`,{className:`fill`,style:{width:Math.max(0,Math.min(t,100))+`%`}})}):null]},e))}),o?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`h3`,{className:`m-sec sec-mod`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#sparkles`})}),`Models`]}),(0,R.jsx)(`div`,{className:`m-chipstrip`,id:`msess-models`,children:(e.models||[]).map(e=>(0,R.jsx)(`span`,{className:`chip `+ln(e.name),children:e.name},e.name))})]}),s?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`h3`,{className:`m-sec sec-costm`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#pie-chart`})}),`Cost by model`]}),(0,R.jsxs)(`div`,{className:`msess-costm`,children:[(0,R.jsx)(`div`,{className:`bar`,id:`msess-cost-bar`,children:(e.cost_per_model||[]).map(e=>{let t=i>0&&e.cost_usd!=null?e.cost_usd/i*100:0;return(0,R.jsx)(`div`,{className:`seg `+ln(e.model),style:{width:t+`%`}},e.model)})}),(0,R.jsx)(`div`,{className:`legend`,id:`msess-cost-legend`,children:(e.cost_per_model||[]).map(e=>{let t=i>0&&e.cost_usd!=null?e.cost_usd/i*100:0;return(0,R.jsxs)(`div`,{className:`lg`,children:[(0,R.jsx)(`span`,{className:`sw `+ln(e.model)}),(0,R.jsx)(`span`,{className:`name`,children:e.model}),(0,R.jsx)(`span`,{className:`v`,children:e.cost_usd==null?`—`:`$`+e.cost_usd.toFixed(3)}),(0,R.jsxs)(`span`,{className:`pct`,children:[Math.round(t),`%`]})]},e.model)})})]})]}),t.length>0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`h3`,{className:`m-sec sec-src`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#file-text`})}),`Source files`]}),(0,R.jsxs)(`div`,{className:`msess-src`,id:`msess-src`,children:[(0,R.jsxs)(`div`,{className:`src-head`,children:[(0,R.jsxs)(`span`,{className:`count-pill`,children:[t.length,` file`,t.length===1?``:`s`]}),(0,R.jsxs)(`span`,{className:`sub`,children:[n.length,` primary`,r.length>0?(0,R.jsxs)(R.Fragment,{children:[` `,(0,R.jsx)(`span`,{className:`dot`,children:`·`}),` `,(0,R.jsxs)(`span`,{className:`subcount`,children:[r.length,` subagent`,r.length===1?``:`s`]})]}):null]})]}),n.length>0?n.map(e=>(0,R.jsx)(`div`,{className:`primary-path`,children:e},e)):r.length>0?(0,R.jsxs)(`div`,{className:`src-empty-primary`,children:[`No primary path resolved · `,r.length,` subagent path`,r.length===1?``:`s`,` below`]}):null,r.length>0?(0,R.jsxs)(`details`,{className:`subagents`,open:n.length===0,children:[(0,R.jsxs)(`summary`,{children:[`Show `,r.length,` subagent path`,r.length===1?``:`s`]}),(0,R.jsx)(`ul`,{className:`paths`,children:r.map(e=>(0,R.jsx)(`li`,{children:e},e))})]}):null]})]}):null]})}function bs({row:e,variant:t,accentClass:n}){let r=Ht(),i={tz:r.resolvedTz,offsetLabel:r.offsetLabel},a=(e,t)=>`${D.datetimeShort(e,i)} → ${D.datetimeShort(t,i)}`,o=e.delta_cost_pct==null?`flat`:e.delta_cost_pct>0?`up`:e.delta_cost_pct<0?`down`:`flat`,s=t===`weekly`?`week`:t===`monthly`?`month`:`day`,c=t===`daily`?`Today`:`Now`;return(0,R.jsxs)(`div`,{className:`detail-card ${n}`,children:[(0,R.jsxs)(`div`,{className:`head`,children:[(0,R.jsxs)(`div`,{className:`big`,children:[e.label,e.is_current&&(0,R.jsx)(`span`,{className:`pill-current`,children:c})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`span`,{className:`cost`,style:{color:`var(--text)`,fontWeight:700},children:D.usd2(e.cost_usd)}),` `,e.delta_cost_pct==null?(0,R.jsx)(`span`,{className:`delta flat`,children:`—`}):(0,R.jsxs)(`span`,{className:`delta ${o}`,children:[D.deltaPct(e.delta_cost_pct),` vs prior `,s]})]})]}),t===`weekly`&&e.week_start_at&&e.week_end_at&&(0,R.jsxs)(`div`,{className:`window`,children:[`Subscription window: `,a(e.week_start_at,e.week_end_at)]}),(0,R.jsx)(`div`,{className:`model-stack`,role:`presentation`,children:e.models.map(e=>(0,R.jsx)(`span`,{className:e.chip,style:{width:`${e.cost_pct}%`}},e.model))}),(0,R.jsx)(`div`,{className:`chips`,children:e.models.map(e=>(0,R.jsxs)(`span`,{className:`chip ${e.chip}`,children:[e.display,` `,Math.round(e.cost_pct),`% · `,D.usd2(e.cost_usd)]},e.model))}),(0,R.jsxs)(`div`,{className:`tokens-row`,children:[(0,R.jsxs)(`div`,{className:`t`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Input`}),(0,R.jsx)(`span`,{className:`v`,children:D.compact(e.input_tokens)})]}),(0,R.jsxs)(`div`,{className:`t`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Output`}),(0,R.jsx)(`span`,{className:`v`,children:D.compact(e.output_tokens)})]}),(0,R.jsxs)(`div`,{className:`t`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Cache+`}),(0,R.jsx)(`span`,{className:`v`,children:D.compact(e.cache_creation_tokens)})]}),(0,R.jsxs)(`div`,{className:`t`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Cache-read`}),(0,R.jsx)(`span`,{className:`v`,children:D.compact(e.cache_read_tokens)})]}),(0,R.jsxs)(`div`,{className:`t`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Total`}),(0,R.jsx)(`span`,{className:`v`,children:D.compact(e.total_tokens)})]}),e.cache_hit_pct!=null&&(0,R.jsxs)(`div`,{className:`t cache`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Cache hit`}),(0,R.jsxs)(`span`,{className:`v`,children:[e.cache_hit_pct.toFixed(1),`%`]}),(0,R.jsx)(`div`,{className:`bar`,children:(0,R.jsx)(`div`,{className:`fill`,style:{width:`${Math.min(100,Math.max(0,e.cache_hit_pct))}%`}})})]})]}),t===`weekly`&&(0,R.jsxs)(`div`,{className:`stats2`,children:[(0,R.jsxs)(`div`,{className:`s`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Used %`}),(0,R.jsx)(`span`,{className:`v`,children:D.pct0(e.used_pct)})]}),(0,R.jsxs)(`div`,{className:`s`,children:[(0,R.jsx)(`span`,{className:`k`,children:`$/1%`}),(0,R.jsx)(`span`,{className:`v`,children:D.usd2(e.dollar_per_pct)})]})]})]})}function xs(e){return e==null||e===0?`num`:e>0?`num delta-up`:`num delta-down`}function Ss(e){let t=new Set,n=[];for(let r of e.models)t.has(r.chip)||(t.add(r.chip),n.push(r.chip));return n}function Cs({row:e}){let t=Ss(e),n=t.slice(0,3),r=t.length>3?t.length-3:0;return(0,R.jsxs)(`span`,{className:`models-chips`,children:[n.map(e=>(0,R.jsx)(`span`,{className:`chip ${e}`,children:e},e)),r>0&&(0,R.jsxs)(`span`,{className:`models-chips-more`,children:[`…+`,r]})]})}function ws({rows:e,variant:t,accentClass:n,selectedIndex:r,onSelect:i}){return(0,R.jsxs)(`table`,{className:`history-table history-table--${t} ${n}`,role:`grid`,"aria-rowcount":e.length,children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`th`,{children:t===`weekly`?`Week`:`Month`}),(0,R.jsx)(`th`,{children:`Models`}),(0,R.jsx)(`th`,{className:`num`,children:`Cost (USD)`}),t===`weekly`&&(0,R.jsx)(`th`,{className:`num`,children:`Used %`}),t===`weekly`&&(0,R.jsx)(`th`,{className:`num`,children:`$/1%`}),(0,R.jsx)(`th`,{className:`num`,children:`Δ`})]})}),(0,R.jsx)(`tbody`,{children:e.map((e,n)=>(0,R.jsxs)(`tr`,{className:n===r?`selected`:void 0,"aria-rowindex":n+1,"aria-selected":n===r,onClick:()=>i(n),children:[(0,R.jsxs)(`td`,{children:[e.label,n===r?` ▶`:``]}),(0,R.jsx)(`td`,{children:(0,R.jsx)(Cs,{row:e})}),(0,R.jsx)(`td`,{className:`num`,children:D.usd2(e.cost_usd)}),t===`weekly`&&(0,R.jsx)(`td`,{className:`num`,children:D.pct0(e.used_pct)}),t===`weekly`&&(0,R.jsx)(`td`,{className:`num`,children:D.usd2(e.dollar_per_pct)}),(0,R.jsx)(`td`,{className:xs(e.delta_cost_pct),children:D.deltaPct(e.delta_cost_pct)})]},e.label))})]})}function Ts(){let e=z()?.weekly?.rows??[],[t,n]=(0,g.useState)(0),r=e.length;(0,g.useEffect)(()=>zt([{key:`ArrowDown`,scope:`modal`,when:()=>F().openModal===`weekly`,action:()=>n(e=>Math.min(e+1,Math.max(0,r-1)))},{key:`ArrowUp`,scope:`modal`,when:()=>F().openModal===`weekly`,action:()=>n(e=>Math.max(e-1,0))}]),[r]);let i=(0,R.jsx)(Gt,{panel:`weekly`,panelLabel:`Weekly`,triggerId:`weekly-modal`,onClick:()=>L(M(`weekly`,`weekly-modal`))});if(r===0)return(0,R.jsx)(qo,{title:`Weekly history · last 12`,accentClass:`accent-cyan`,headerExtras:i,children:(0,R.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`})});let a=e[Math.min(t,r-1)];return(0,R.jsxs)(qo,{title:`Weekly history · last 12`,accentClass:`accent-cyan`,headerExtras:i,children:[(0,R.jsx)(bs,{row:a,variant:`weekly`,accentClass:`accent-cyan`}),(0,R.jsx)(ws,{rows:e,variant:`weekly`,accentClass:`accent-cyan`,selectedIndex:t,onSelect:n})]})}function Es(){let e=z()?.monthly?.rows??[],[t,n]=(0,g.useState)(0),r=e.length;(0,g.useEffect)(()=>zt([{key:`ArrowDown`,scope:`modal`,when:()=>F().openModal===`monthly`,action:()=>n(e=>Math.min(e+1,Math.max(0,r-1)))},{key:`ArrowUp`,scope:`modal`,when:()=>F().openModal===`monthly`,action:()=>n(e=>Math.max(e-1,0))}]),[r]);let i=(0,R.jsx)(Gt,{panel:`monthly`,panelLabel:`Monthly`,triggerId:`monthly-modal`,onClick:()=>L(M(`monthly`,`monthly-modal`))});if(r===0)return(0,R.jsx)(qo,{title:`Monthly history · last 12`,accentClass:`accent-pink`,headerExtras:i,children:(0,R.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`})});let a=e[Math.min(t,r-1)];return(0,R.jsxs)(qo,{title:`Monthly history · last 12`,accentClass:`accent-pink`,headerExtras:i,children:[(0,R.jsx)(bs,{row:a,variant:`monthly`,accentClass:`accent-pink`}),(0,R.jsx)(ws,{rows:e,variant:`monthly`,accentClass:`accent-pink`,selectedIndex:t,onSelect:n})]})}var Ds=720,Os=180,ks={left:46,right:20,top:18,bottom:20};function As(e){return e===0?`$0`:e<10?`$`+e.toFixed(2):`$`+Math.round(e).toString()}function js(){return(0,g.useSyncExternalStore)(I,()=>F().snapshot?.generated_at??``)}function Ms({detail:e}){let t=js(),n=Ht(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel},i=Date.parse(e.start_at),a=Date.parse(e.end_at)-i||1,o=e=>ks.left+(Date.parse(e)-i)/a*(Ds-ks.left-ks.right),s=Math.max(e.cost_usd,e.projection?.total_cost_usd??0),c=e=>{let t=ks.top,n=Os-ks.bottom;return s<=0?n:n-e/s*(n-t)},l=[];for(let e=0;e<=5;e++)l.push(new Date(i+e*36e5).toISOString());let u=e.samples.length>0?e.samples[e.samples.length-1].cum:0,d=e.is_active?t||new Date().toISOString():null,f=[];if(e.samples.length>0){f.push([o(e.start_at),c(0)]);for(let t of e.samples)f.push([o(t.t),c(t.cum)]);d&&f.push([o(d),c(u)])}let p=f.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),m=f.length>0?`M ${p.replace(/ /g,` L `)} L ${f[f.length-1][0].toFixed(1)},${c(0).toFixed(1)} Z`:``,h=s<=0?[0]:[0,s/2,s];return(0,R.jsx)(`div`,{className:`mblock-timeline`,children:(0,R.jsxs)(`svg`,{viewBox:`0 0 ${Ds} ${Os}`,style:{width:`100%`,height:`auto`},role:`img`,"aria-label":`Cumulative cost over the 5-hour block window`,children:[h.map(e=>(0,R.jsx)(`text`,{x:8,y:c(e)+4,fill:`var(--text-dim)`,fontSize:10,children:As(e)},e)),(0,R.jsx)(`line`,{x1:ks.left,y1:ks.top,x2:ks.left,y2:Os-ks.bottom,stroke:`var(--border-soft)`,strokeWidth:.8}),(0,R.jsx)(`line`,{x1:ks.left,y1:Os-ks.bottom,x2:Ds-ks.right,y2:Os-ks.bottom,stroke:`var(--border-soft)`,strokeWidth:.8}),l.slice(1,-1).map(e=>(0,R.jsx)(`line`,{x1:o(e),y1:ks.top,x2:o(e),y2:Os-ks.bottom,stroke:`var(--border-soft)`,strokeDasharray:`2 3`,strokeWidth:.5},e)),l.map(e=>(0,R.jsx)(`text`,{x:o(e)-14,y:Os-5,fill:`var(--text-dim)`,fontSize:9,children:D.timeHHmm(e,r,{noSuffix:!0})},e)),f.length>0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:m,fill:`var(--accent-green)`,opacity:.12}),(0,R.jsx)(`polyline`,{points:p,fill:`none`,stroke:`var(--accent-green)`,strokeWidth:2}),(0,R.jsx)(`circle`,{cx:f[f.length-1][0],cy:f[f.length-1][1],r:3,fill:`var(--accent-green)`})]}):(0,R.jsx)(`text`,{x:Ds/2,y:Os/2,fill:`var(--text-faint)`,fontSize:11,textAnchor:`middle`,children:`No spend recorded yet in this block.`}),e.is_active&&e.projection&&d&&f.length>0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`polyline`,{points:`${o(d).toFixed(1)},${c(u).toFixed(1)} ${o(e.end_at).toFixed(1)},${c(e.projection.total_cost_usd).toFixed(1)}`,fill:`none`,stroke:`var(--accent-amber)`,strokeWidth:1.5,strokeDasharray:`5 4`,opacity:.85}),(0,R.jsx)(`circle`,{cx:o(e.end_at),cy:c(e.projection.total_cost_usd),r:3,fill:`var(--accent-amber)`,opacity:.85}),(0,R.jsxs)(`text`,{x:o(e.end_at)-50,y:c(e.projection.total_cost_usd)-6,fill:`var(--accent-amber)`,fontSize:9,children:[`proj $`,e.projection.total_cost_usd.toFixed(2)]}),(0,R.jsx)(`line`,{x1:o(d),y1:ks.top,x2:o(d),y2:Os-ks.bottom,stroke:`var(--accent-amber)`,strokeWidth:1.2}),(0,R.jsx)(`text`,{x:o(d)+4,y:ks.top+10,fill:`var(--accent-amber)`,fontSize:9,children:`now`})]}):null]})})}function Ns(){return(0,g.useSyncExternalStore)(I,()=>F().snapshot?.generated_at??``)}function Ps(e,t){let n=Date.parse(e.start_at),r=e.is_active?Date.parse(t)||Date.now():e.actual_end_at?Date.parse(e.actual_end_at):Date.parse(e.end_at),i=Math.max(0,Math.floor((r-n)/6e4)),a=Math.floor(i/60),o=i%60;return`${a}h ${String(o).padStart(2,`0`)}m`}function Fs(e,t,n){return`${D.timeHHmm(e,n)} → ${D.timeHHmm(t,n)}`}function Is(){let e=(0,g.useSyncExternalStore)(I,()=>F().openBlockStartAt),t=Ns(),n=Ht(),r={tz:n.resolvedTz,offsetLabel:n.offsetLabel},[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(!0),[c,l]=(0,g.useState)(null),u=(0,g.useRef)(null),d=(0,g.useRef)(!1),f=(0,g.useRef)(null);return(0,g.useEffect)(()=>{f.current=e??null,d.current=!1},[e]),(0,g.useEffect)(()=>{let e=f.current;if(!e){s(!1),l(`No block bound.`),a(null),u.current=null;return}let t=u.current!==e||i==null;u.current=e,t&&(s(!0),l(null),a(null));let n=new AbortController;return fetch(`/api/block/${encodeURIComponent(e)}`,{signal:n.signal}).then(async e=>{if(e.status===404){(t||d.current)&&(s(!1),l(`Block not found (the cache may have rolled forward).`),a(null)),d.current=!0;return}if(!e.ok)throw Error(`HTTP `+e.status);let n=await e.json();d.current=!1,a(n),l(null),s(!1)}).catch(e=>{e.name!==`AbortError`&&(d.current=!1,t&&(l(`Failed to load: `+e.message),s(!1)))}),()=>n.abort()},[e,t]),(0,R.jsx)(qo,{title:i?`${i.anchor===`heuristic`?`~ `:``}Block · ${i.label}`:`Block`,accentClass:`accent-blue`,headerExtras:(0,R.jsx)(Gt,{panel:`blocks`,panelLabel:`5-hour block`,triggerId:`block-modal`,onClick:()=>L(M(`blocks`,`block-modal`))}),children:(0,R.jsxs)(`section`,{className:`modal-block`,children:[o?(0,R.jsx)(`div`,{className:`modal-loading`,children:`Loading block detail…`}):null,c?(0,R.jsx)(`div`,{className:`modal-error`,children:c}):null,!o&&!c&&i?(0,R.jsx)(Ls,{detail:i,generatedAt:t,ctx:r}):null]})})}function Ls({detail:e,generatedAt:t,ctx:n}){let r=e.cost_usd??0;return(0,R.jsxs)(`div`,{className:`modal-content`,children:[(0,R.jsxs)(`div`,{className:`m-chipstrip`,children:[e.is_active?(0,R.jsx)(`span`,{className:`m-pill accent-green`,children:`● Active`}):null,e.anchor===`heuristic`?(0,R.jsx)(`span`,{className:`m-pill accent-amber`,children:`~ heuristic anchor`}):null,(0,R.jsx)(`span`,{className:`m-pill accent-blue`,children:Fs(e.start_at,e.end_at,n)}),(0,R.jsxs)(`span`,{className:`m-pill`,children:[e.entries_count.toLocaleString(`en-US`),` `,e.entries_count===1?`entry`:`entries`]})]}),(0,R.jsxs)(`div`,{className:`m-hero `+(e.is_active?`cols-4`:`cols-3`),children:[(0,R.jsxs)(`div`,{className:`m-kv kv-cost`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#dollar`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,children:D.usd2(e.cost_usd)}),(0,R.jsx)(`div`,{className:`lbl`,children:`Total cost`})]})]}),(0,R.jsxs)(`div`,{className:`m-kv kv-dur`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#clock`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,children:Ps(e,t)}),(0,R.jsx)(`div`,{className:`lbl`,children:`Elapsed`})]})]}),(0,R.jsxs)(`div`,{className:`m-kv`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#hash`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,children:e.total_tokens.toLocaleString(`en-US`)}),(0,R.jsx)(`div`,{className:`lbl`,children:`Total tokens`})]})]}),e.is_active?(0,R.jsxs)(`div`,{className:`m-kv kv-proj`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`v`,children:e.projection?D.usd2(e.projection.total_cost_usd):`—`}),(0,R.jsxs)(`div`,{className:`lbl`,children:[`Projected`,e.projection?` · ${e.projection.remaining_minutes}m left`:``]})]})]}):null]}),(0,R.jsx)(Ms,{detail:e}),(0,R.jsxs)(`h3`,{className:`m-sec sec-tok`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#hash`})}),`Tokens`]}),(0,R.jsxs)(`div`,{className:`msess-tok-grid mblock-tok-grid`,children:[(0,R.jsxs)(`div`,{className:`msess-tok-tile`,children:[(0,R.jsx)(`div`,{className:`lbl`,children:`Input`}),(0,R.jsx)(`div`,{className:`n`,children:e.input_tokens.toLocaleString(`en-US`)})]}),(0,R.jsxs)(`div`,{className:`msess-tok-tile`,children:[(0,R.jsx)(`div`,{className:`lbl`,children:`Output`}),(0,R.jsx)(`div`,{className:`n`,children:e.output_tokens.toLocaleString(`en-US`)})]}),(0,R.jsxs)(`div`,{className:`msess-tok-tile`,children:[(0,R.jsx)(`div`,{className:`lbl`,children:`Cache create`}),(0,R.jsx)(`div`,{className:`n`,children:e.cache_creation_tokens.toLocaleString(`en-US`)})]}),(0,R.jsxs)(`div`,{className:`msess-tok-tile`,children:[(0,R.jsx)(`div`,{className:`lbl`,children:`Cache read`}),(0,R.jsx)(`div`,{className:`n`,children:e.cache_read_tokens.toLocaleString(`en-US`)})]}),e.cache_hit_pct==null?null:(0,R.jsxs)(`div`,{className:`msess-tok-tile cache-hit`,children:[(0,R.jsx)(`div`,{className:`lbl`,children:`Cache hit %`}),(0,R.jsxs)(`div`,{className:`n`,children:[e.cache_hit_pct.toFixed(1),`%`]}),(0,R.jsx)(`div`,{className:`bar`,children:(0,R.jsx)(`div`,{className:`fill`,style:{width:Math.min(100,Math.max(0,e.cache_hit_pct))+`%`}})})]})]}),e.models.length>0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`h3`,{className:`m-sec sec-costm`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#pie-chart`})}),`Cost by model`]}),(0,R.jsxs)(`div`,{className:`msess-costm`,children:[(0,R.jsx)(`div`,{className:`bar`,children:e.models.map(e=>{let t=r>0?e.cost_usd/r*100:0;return(0,R.jsx)(`div`,{className:`seg `+ln(e.model),style:{width:t+`%`}},e.model)})}),(0,R.jsx)(`div`,{className:`legend`,children:e.models.map(e=>{let t=r>0?e.cost_usd/r*100:0;return(0,R.jsxs)(`div`,{className:`lg`,children:[(0,R.jsx)(`span`,{className:`sw `+ln(e.model)}),(0,R.jsx)(`span`,{className:`name`,children:e.display}),(0,R.jsxs)(`span`,{className:`v`,children:[`$`,e.cost_usd.toFixed(2)]}),(0,R.jsxs)(`span`,{className:`pct`,children:[Math.round(t),`%`]})]},e.model)})})]})]}):null,e.is_active&&e.burn_rate&&e.projection?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`h3`,{className:`m-sec sec-burn`,children:[(0,R.jsx)(`svg`,{className:`icon`,"aria-hidden":`true`,children:(0,R.jsx)(`use`,{href:`/static/icons.svg#crystal-ball`})}),`Burn rate & projection`]}),(0,R.jsxs)(`div`,{className:`mblock-burn`,children:[(0,R.jsxs)(`div`,{className:`row`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Burn rate`}),(0,R.jsx)(`span`,{className:`v amber`,children:D.usd2(e.burn_rate.cost_per_hour)}),(0,R.jsx)(`span`,{className:`dim`,children:`/ hr`}),(0,R.jsx)(`span`,{className:`sep`,children:`·`}),(0,R.jsx)(`span`,{className:`v cyan`,children:Math.round(e.burn_rate.tokens_per_minute).toLocaleString(`en-US`)}),(0,R.jsx)(`span`,{className:`dim`,children:`tok / min`})]}),(0,R.jsxs)(`div`,{className:`row`,children:[(0,R.jsx)(`span`,{className:`k`,children:`Projection`}),(0,R.jsx)(`span`,{className:`v amber`,children:D.usd2(e.projection.total_cost_usd)}),(0,R.jsx)(`span`,{className:`dim`,children:`total`}),(0,R.jsx)(`span`,{className:`sep`,children:`·`}),(0,R.jsx)(`span`,{className:`v cyan`,children:e.projection.total_tokens.toLocaleString(`en-US`)}),(0,R.jsx)(`span`,{className:`dim`,children:`tok`}),(0,R.jsx)(`span`,{className:`sep`,children:`·`}),(0,R.jsxs)(`span`,{className:`v`,children:[e.projection.remaining_minutes,` min`]}),(0,R.jsx)(`span`,{className:`dim`,children:`remaining`})]})]})]}):null]})}function Rs({rows:e,selectedDate:t,onSelect:n}){let r=[...e].reverse(),i=r.reduce((e,t)=>Math.max(e,t.cost_usd),0),a=r.length>0?zs(r[0].date):``,o=r.length>0?zs(r[r.length-1].date):``,s=r.find(e=>e.is_today),c=s?`${zs(s.date)} · today`:``;return(0,R.jsxs)(`section`,{className:`daily-modal-bars`,"aria-label":`30-day cost`,children:[(0,R.jsxs)(`div`,{className:`daily-modal-bars-head`,children:[(0,R.jsxs)(`span`,{children:[`30-day cost · selected: `,t?zs(t):`—`]}),(0,R.jsx)(`span`,{className:`hint`,children:`↑↓ navigate · click any bar`})]}),(0,R.jsx)(`div`,{className:`daily-modal-bars-grid`,role:`img`,"aria-label":`30-day cost histogram`,children:r.map(e=>{let r=e.cost_usd<=0,a=e.date===t,o=r?4:i>0?e.cost_usd/i*100:0,s=[`bar`,r?`zero`:``,a?`sel`:``,e.is_today?`today`:``].filter(Boolean).join(` `);return(0,R.jsx)(`button`,{"data-date":e.date,className:s,style:{height:`${o}%`},disabled:r,"aria-pressed":a,"aria-label":`${e.label} cost ${e.cost_usd>0?D.usd2(e.cost_usd):`no usage`}`,title:e.cost_usd>0?`${e.label} · ${D.usd2(e.cost_usd)}`:`${e.label} · —`,onClick:()=>{r||n(e.date)}},e.date)})}),r.length>0&&(0,R.jsxs)(`div`,{className:`daily-modal-bars-axis`,children:[(0,R.jsx)(`span`,{children:a}),c&&(0,R.jsx)(`span`,{children:c}),(0,R.jsx)(`span`,{children:o})]})]})}function zs(e){let t=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],n=e.split(`-`).map(Number);return`${t[n[1]-1]} ${n[2]}`}function Bs(){let e=z()?.daily?.rows??[],t=(0,g.useSyncExternalStore)(I,()=>F().openDailyDate),[n,r]=(0,g.useState)(null);(0,g.useEffect)(()=>{t&&r(t)},[]);let i=new Set(e.map(e=>e.date)),a=e[0]?.date??null,o=n&&i.has(n)?n:a;(0,g.useEffect)(()=>zt([{key:`ArrowDown`,scope:`modal`,when:()=>F().openModal===`daily`,action:()=>{let t=o;if(!t)return;let n=e.findIndex(e=>e.date===t);n<0||n>=e.length-1||r(e[n+1].date)}},{key:`ArrowUp`,scope:`modal`,when:()=>F().openModal===`daily`,action:()=>{let t=o;if(!t)return;let n=e.findIndex(e=>e.date===t);n<=0||r(e[n-1].date)}}]),[e,o]);let s=(0,R.jsx)(Gt,{panel:`daily`,panelLabel:`Daily`,triggerId:`daily-modal`,onClick:()=>L(M(`daily`,`daily-modal`))});if(e.length===0)return(0,R.jsx)(qo,{title:`Daily history · last 30`,accentClass:`accent-indigo`,headerExtras:s,children:(0,R.jsx)(`div`,{className:`panel-empty`,children:`No usage history yet.`})});let c=e.findIndex(e=>e.date===o),l=c>=0?c:0,u=e[l],d=e[l+1],f=Vs(u,d);return(0,R.jsxs)(qo,{title:`Daily history · last 30`,accentClass:`accent-indigo`,headerExtras:s,children:[(0,R.jsx)(Rs,{rows:e,selectedDate:o,onSelect:r}),(0,R.jsx)(bs,{row:f,variant:`daily`,accentClass:`accent-indigo`})]})}function Vs(e,t){let n=t&&t.cost_usd>0?(e.cost_usd-t.cost_usd)/t.cost_usd:null;return{label:e.label,cost_usd:e.cost_usd,total_tokens:e.total_tokens,input_tokens:e.input_tokens,output_tokens:e.output_tokens,cache_creation_tokens:e.cache_creation_tokens,cache_read_tokens:e.cache_read_tokens,used_pct:null,dollar_per_pct:null,delta_cost_pct:n,is_current:e.is_today,models:e.models,cache_hit_pct:e.cache_hit_pct}}var Hs=[`#d946ef`,`#c084fc`,`#60a5fa`,`#fbbf24`,`#22d3ee`],Us=`#64748b`,Ws=5,Gs=400,Ks=150;function qs({trend:e,yMode:t,windowWeeks:n,onProjectSelect:r}){let i=(0,g.useMemo)(()=>{let t=Math.max(0,Math.min(n,e.window_weeks)),r=e.weeks.slice(-t),i=e.projects.map(e=>{let n=e.weekly_cost.slice(-t),r=n.reduce((e,t)=>e+t,0);return{key:e.key,weekly:n,cost:r,color:``}}).sort((e,t)=>t.cost-e.cost),a=i.slice(0,Ws).map((e,t)=>({...e,color:Hs[t]??Us})),o=i.slice(Ws),s=r.map((e,t)=>o.reduce((e,n)=>e+(n.weekly[t]??0),0)),c=s.reduce((e,t)=>e+t,0),l=[...a];return o.length>0&&c>0&&l.push({key:`(other)`,weekly:s,cost:c,color:Us}),{weeks:r,series:l}},[e,n]),a=on();if(i.weeks.length===0||i.series.length===0)return(0,R.jsxs)(`div`,{className:`panel-empty`,children:[`No project activity in the last `,n,` week`,n===1?``:`s`,`.`]});let o=i.weeks.length,s=i.weeks.map((e,t)=>i.series.reduce((e,n)=>e+(n.weekly[t]??0),0)),c=t===`share`?100:Math.max(...s,.01),l=(e,t=`left`)=>o<=1?t===`left`?Gs*.1:Gs*.9:e/(o-1)*Gs,u=Array(o).fill(0),d=i.series.map(e=>{let n=[];for(let e=0;e<o;e++){let t=Ks-u[e]/c*Ks;n.push(`${l(e,`left`).toFixed(2)},${t.toFixed(2)}`),o===1&&n.push(`${l(e,`right`).toFixed(2)},${t.toFixed(2)}`)}for(let r=o-1;r>=0;r--){let i=s[r]??0,a=t===`share`?i>0?(e.weekly[r]??0)/i*100:0:e.weekly[r]??0;u[r]+=a;let d=Ks-u[r]/c*Ks;o===1&&n.push(`${l(r,`right`).toFixed(2)},${d.toFixed(2)}`),n.push(`${l(r,`left`).toFixed(2)},${d.toFixed(2)}`)}return{color:e.color,key:e.key,points:n.join(` `)}}),f=i.weeks.map(e=>(0,R.jsx)(`span`,{children:e.week_label},e.week_start_date));return(0,R.jsxs)(`div`,{className:`projects-trend`,children:[(0,R.jsx)(`svg`,{viewBox:`0 0 ${Gs} ${Ks}`,preserveAspectRatio:`none`,role:`img`,"aria-label":`Stacked area: project ${t===`share`?`share %`:`cost`} over ${o} weeks`,children:d.map(e=>{let t=e.key===`(other)`;return(0,R.jsx)(`polygon`,{fill:e.color,opacity:t?.5:.65,points:e.points,"data-series-key":e.key,onClick:()=>{t||r?.(e.key)},style:{cursor:t?`default`:`pointer`}},e.key)})}),(0,R.jsx)(`div`,{className:`projects-trend-xaxis`,children:f}),(0,R.jsx)(`div`,{className:`projects-trend-legend`,children:i.series.map(e=>{let t=e.key===`(other)`,n=(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`sw`,style:{background:e.color}}),e.key]});return a&&!t?(0,R.jsx)(`button`,{type:`button`,className:`projects-trend-legend-item`,"data-series-key":e.key,onClick:()=>r?.(e.key),children:n},e.key):(0,R.jsx)(`span`,{className:`projects-trend-legend-item`,"data-series-key":e.key,children:n},e.key)})})]})}function Js(e,t){let[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(!1),[o,s]=(0,g.useState)(null),c=z()?.generated_at??``,l=(0,g.useRef)(0),u=(0,g.useRef)(null),d=(0,g.useRef)(null),f=(0,g.useRef)(!1);return(0,g.useEffect)(()=>{if(!e){r(null),a(!1),s(null),l.current=0,u.current=null,d.current=null,f.current=!1;return}let i=u.current!==e||d.current!==t,o=i||n==null;if(o&&f.current&&!i)return;o&&(a(!0),s(null)),i&&(l.current=0),u.current=e,d.current=t,f.current=!0;let c=new AbortController,p=`/api/project/${encodeURIComponent(e)}?weeks=${t}`;return fetch(p,{signal:c.signal}).then(async e=>{if(e.status===404){l.current+=1,l.current>=2?(r(null),s(`Project no longer in cache — close this drill.`),a(!1)):o&&(s(`Couldn't load project detail — will retry on next tick.`),a(!1));return}if(!e.ok){o&&(s(`Couldn't load project detail — will retry on next tick.`),a(!1));return}l.current=0,r(await e.json()),s(null),a(!1)}).catch(e=>{e?.name!==`AbortError`&&o&&(s(`Couldn't load project detail — will retry on next tick.`),a(!1))}).finally(()=>{f.current=!1}),()=>c.abort()},[e,t,c]),{data:n,loading:i,error:o}}function Ys({projectKey:e,windowWeeks:t}){let{data:n,loading:r,error:i}=Js(e,t),a=Ht(),o={tz:a.resolvedTz,offsetLabel:a.offsetLabel},s=n!=null&&(n.key!==e||n.window_weeks!==t);if(r&&!n||s)return(0,R.jsx)(`div`,{className:`panel-empty`,children:`Loading…`});if(i&&!n)return(0,R.jsx)(`div`,{className:`panel-empty`,children:i});if(!n)return null;let c=n.models[0]?.cost_usd??0,l=c>0?c:1,u=Math.max(0,n.sessions_total-n.sessions.length);return(0,R.jsxs)(`div`,{className:`projects-drill`,"data-testid":`projects-drill`,"aria-live":`polite`,children:[(0,R.jsx)(`div`,{className:`projects-drill-head`,children:(0,R.jsxs)(`span`,{className:`title`,children:[`▾ `,n.key,` · `,n.sessions_total,` session`,n.sessions_total===1?``:`s`,` · `,D.usd2(n.window_cost_usd),` (`,t,`w)`]})}),(0,R.jsxs)(`div`,{className:`projects-drill-grid`,children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`section-label`,children:`Models (this project)`}),n.models.length===0?(0,R.jsx)(`div`,{className:`muted`,children:`No model data for this window.`}):n.models.map(e=>{let t={"--w":`${e.cost_usd/l*100}%`};return(0,R.jsxs)(`div`,{className:`drill-bar-row`,children:[(0,R.jsx)(`span`,{className:`chip ${ln(e.model)}`,children:e.model}),(0,R.jsx)(`div`,{className:`drill-bar`,style:t}),(0,R.jsx)(`span`,{className:`cost ${un(e.cost_usd)}`,children:D.usd2(e.cost_usd)})]},e.model)})]}),(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`div`,{className:`section-label`,children:`Recent sessions →`}),n.sessions.length===0?(0,R.jsx)(`div`,{className:`muted`,children:`No sessions for this window.`}):n.sessions.map((e,t)=>(0,R.jsxs)(`button`,{"data-testid":`drill-session-${t}`,className:`drill-session-row`,onClick:()=>L({type:`OPEN_MODAL`,kind:`session`,sessionId:e.session_id}),children:[(0,R.jsx)(`span`,{className:`started`,children:D.datetimeShort(e.last_activity_at,o)}),(0,R.jsx)(`span`,{className:`chip ${ln(e.primary_model)}`,children:e.primary_model}),(0,R.jsx)(`span`,{className:`cost ${un(e.cost_usd)}`,children:D.usd2(e.cost_usd)})]},e.session_id)),(0,R.jsxs)(`div`,{className:`drill-session-footer`,children:[u>0&&(0,R.jsxs)(`span`,{className:`muted`,children:[`+`,u,` more`]}),(0,R.jsx)(`button`,{type:`button`,"data-testid":`drill-show-in-sessions`,className:`drill-show-in-sessions`,onClick:()=>{L({type:`SET_FILTER`,text:n.key}),L({type:`CLOSE_MODAL`})},children:`Show in Sessions →`})]})]})]})]})}var Xs=(e,t)=>e<t?-1:+(e>t),Zs=[{id:`project`,label:`Project`,defaultDirection:`asc`,compare:(e,t)=>Xs(e.key,t.key),className:`project`},{id:`sessions`,label:`Sessions`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>e.sessionsCount-t.sessionsCount},{id:`first_seen`,label:`First seen`,defaultDirection:`asc`,nullKey:e=>e.firstSeenAt,compare:(e,t)=>Xs(e.firstSeenAt,t.firstSeenAt),className:`started`},{id:`last_seen`,label:`Last seen`,defaultDirection:`desc`,nullKey:e=>e.lastSeenAt,compare:(e,t)=>Xs(e.lastSeenAt,t.lastSeenAt),className:`started`},{id:`cost`,label:`Cost`,defaultDirection:`desc`,numeric:!0,compare:(e,t)=>e.windowCost-t.windowCost},{id:`used_pct`,label:`Used %`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.windowPct,compare:(e,t)=>e.windowPct-t.windowPct},{id:`share_of_window`,label:`% of week`,defaultDirection:`desc`,numeric:!0,nullKey:e=>e.shareOfWindow,compare:(e,t)=>e.shareOfWindow-t.shareOfWindow}],Qs=[{column:`cost`,direction:`desc`,label:`cost`,arrow:`↓`},{column:`sessions`,direction:`desc`,label:`sessions`,arrow:`↓`},{column:`used_pct`,direction:`desc`,label:`used`,arrow:`↓`},{column:`share_of_window`,direction:`desc`,label:`share`,arrow:`↓`},{column:`first_seen`,direction:`asc`,label:`first`,arrow:`↑`},{column:`last_seen`,direction:`desc`,label:`last`,arrow:`↓`},{column:`project`,direction:`asc`,label:`project`,arrow:`↑`}],$s=[1,4,8,12];function ec(){let e=z(),t=Ht(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel},r=(0,g.useSyncExternalStore)(I,()=>F().openProjectKey),i=(0,g.useSyncExternalStore)(I,()=>F().prefs.projectsWindowWeeks),a=(0,g.useSyncExternalStore)(I,()=>F().prefs.projectsTrendYMode),o=(0,g.useSyncExternalStore)(I,()=>F().prefs.projectsSortOverride),[s,c]=(0,g.useState)(r??null),[l,u]=(0,g.useState)(!1);(0,g.useEffect)(()=>{if(r){c(r);return}s||c(e?.projects?.current_week?.rows?.[0]?.key??null)},[r,e?.projects?.current_week?.rows]),(0,g.useEffect)(()=>{r||s&&((e?.projects?.trend?.projects??[]).some(e=>e.key===s)||c(e?.projects?.current_week?.rows?.[0]?.key??null))},[r,s,e?.projects?.trend?.projects,e?.projects?.current_week?.rows]);let d=e?.projects?.trend??null,f=i,p=d?.window_weeks??0,m=(e,t)=>{L({type:`SAVE_PREFS`,patch:{[e]:t}})},h=e=>{c(t=>t===e?null:e)},_=(d?.projects??[]).map(e=>{let t=e.weekly_cost.slice(-i),n=e.weekly_pct.slice(-i),r=e.sessions_per_week.slice(-i),a=e.first_seen_per_week.slice(-i),o=e.last_seen_per_week.slice(-i),s=t.reduce((e,t)=>e+t,0),c=n.reduce((e,t)=>t==null?e:(e??0)+t,null),l=r.reduce((e,t)=>e+t,0),u=a.reduce((e,t)=>t==null?e:e==null||t<e?t:e,null),d=o.reduce((e,t)=>t==null?e:e==null||t>e?t:e,null);return{key:e.key,sessionsCount:l,firstSeenAt:u,lastSeenAt:d,windowCost:s,windowPct:c,shareOfWindow:null}}),v=_.reduce((e,t)=>e+t.windowCost,0);for(let e of _)e.shareOfWindow=v>0?e.windowCost/v*100:null;let y=o?fe(_,Zs,o):fe(_,Zs,{column:`cost`,direction:`desc`}),b=y.filter(e=>e.windowCost>0).slice(0,10),x=y.length-b.length,S=l?y:b,C=x>0,w=on(),T=(()=>{if(!o)return 0;let e=Qs.findIndex(e=>e.column===o.column&&e.direction===o.direction);return e===-1?0:e})(),ee=()=>{let e=Qs[(T+1)%Qs.length];L({type:`SET_TABLE_SORT`,table:`projects`,override:{column:e.column,direction:e.direction}})},te=Qs[T],E=()=>F().shareModal===null&&F().composerModal===null;return V([{key:`1`,scope:`modal`,when:E,action:()=>m(`projectsWindowWeeks`,1)},{key:`4`,scope:`modal`,when:E,action:()=>m(`projectsWindowWeeks`,4)},{key:`8`,scope:`modal`,when:E,action:()=>m(`projectsWindowWeeks`,8)},{key:`0`,scope:`modal`,when:E,action:()=>m(`projectsWindowWeeks`,12)},{key:`s`,scope:`modal`,when:E,action:()=>m(`projectsTrendYMode`,a===`share`?`absolute`:`share`)},{key:`ArrowUp`,scope:`modal`,when:E,action:()=>{if(S.length===0)return;let e=S.findIndex(e=>e.key===s);c(S[e<=0?S.length-1:e-1].key)}},{key:`ArrowDown`,scope:`modal`,when:E,action:()=>{if(S.length===0)return;let e=S.findIndex(e=>e.key===s);c(S[e===-1||e===S.length-1?0:e+1].key)}},{key:`Enter`,scope:`modal`,when:E,action:()=>{s?c(null):S.length>0&&c(S[0].key)}}]),(0,R.jsx)(qo,{title:`Projects · last ${i}w`,accentClass:`accent-magenta`,headerExtras:(0,R.jsx)(Gt,{panel:`projects`,panelLabel:`Projects`,triggerId:`projects-modal`,dataTestId:`share-icon-projects-modal`,onClick:()=>L(M(`projects`,`projects-modal`,{windowWeeks:i}))}),children:(0,R.jsxs)(`div`,{className:`projects-modal-body`,children:[(0,R.jsxs)(`div`,{className:`projects-controls`,role:`radiogroup`,"aria-label":`Window`,children:[$s.map(e=>(0,R.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":i===e,className:`pill ${i===e?`on`:``}`,onClick:()=>m(`projectsWindowWeeks`,e),children:[e,`w`]},`window-${e}`)),(0,R.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`|`}),(0,R.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":a===`share`,className:`pill ${a===`share`?`on`:``}`,onClick:()=>m(`projectsTrendYMode`,`share`),children:`share %`}),(0,R.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":a===`absolute`,className:`pill ${a===`absolute`?`on`:``}`,onClick:()=>m(`projectsTrendYMode`,`absolute`),children:`$ absolute`})]}),p>0&&p<f&&(0,R.jsxs)(`div`,{className:`projects-notice`,children:[`Showing `,p,` week`,p===1?``:`s`,` (need more history for the full window).`]}),d?(0,R.jsx)(qs,{trend:d,yMode:a,windowWeeks:i,onProjectSelect:e=>c(e)}):(0,R.jsx)(`div`,{className:`panel-empty`,children:`Projects trend unavailable.`}),w&&(0,R.jsxs)(`button`,{type:`button`,className:`projects-mobile-sort`,"data-testid":`projects-mobile-sort`,onClick:ee,"aria-label":`Cycle sort column`,children:[`Sort: `,te.label,` `,te.arrow]}),(0,R.jsxs)(`table`,{className:`projects-table`,children:[(0,R.jsx)(tn,{columns:Zs,override:o,onChange:e=>L({type:`SET_TABLE_SORT`,table:`projects`,override:e}),accentVar:`--accent-magenta`}),(0,R.jsx)(`tbody`,{children:S.map(e=>(0,R.jsxs)(g.Fragment,{children:[(0,R.jsxs)(`tr`,{"data-testid":`projects-table-row`,"data-cost":e.windowCost,"data-sessions":e.sessionsCount,"aria-expanded":s===e.key,className:s===e.key?`selected`:``,onClick:()=>h(e.key),children:[(0,R.jsx)(`td`,{className:`project`,children:e.key}),(0,R.jsx)(`td`,{children:e.sessionsCount}),(0,R.jsx)(`td`,{className:`started first-seen`,children:D.dateShort(e.firstSeenAt,n)??`—`}),(0,R.jsx)(`td`,{className:`started last-seen`,children:D.dateShort(e.lastSeenAt,n)??`—`}),(0,R.jsx)(`td`,{className:un(e.windowCost),children:D.usd2(e.windowCost)}),(0,R.jsx)(`td`,{children:e.windowPct==null?`—`:D.pct0(e.windowPct)}),(0,R.jsx)(`td`,{children:e.shareOfWindow==null?`—`:D.pct0(e.shareOfWindow)})]}),w&&s===e.key&&(0,R.jsx)(`tr`,{className:`projects-drill-row`,"aria-hidden":`false`,children:(0,R.jsx)(`td`,{colSpan:7,children:(0,R.jsx)(Ys,{projectKey:e.key,windowWeeks:i})})})]},e.key))})]}),C&&(0,R.jsx)(`button`,{type:`button`,className:`projects-table-toggle`,"data-testid":`projects-table-toggle`,"aria-expanded":l,onClick:()=>u(e=>!e),children:l?`Show top 10 active`:`Show all ${y.length} projects (+${x})`}),!w&&s&&(0,R.jsx)(Ys,{projectKey:s,windowWeeks:i}),(0,R.jsxs)(`div`,{className:`projects-modal-footer-hint`,"data-testid":`projects-modal-footer-hint`,"aria-live":`off`,children:[(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`kbd`,{children:`1`}),`/`,(0,R.jsx)(`kbd`,{children:`4`}),`/`,(0,R.jsx)(`kbd`,{children:`8`}),`/`,(0,R.jsx)(`kbd`,{children:`0`}),` window`]}),(0,R.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`·`}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`kbd`,{children:`↑↓`}),` row`]}),(0,R.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`·`}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`kbd`,{children:`Enter`}),` drill`]}),(0,R.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`·`}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`kbd`,{children:`s`}),` share/$`]}),(0,R.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`·`}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`kbd`,{children:`Esc`}),` close`]}),(0,R.jsx)(`span`,{className:`sep`,"aria-hidden":`true`,children:`·`}),(0,R.jsx)(yt,{})]})]})})}function tc({cr:e}){let t=e.today.baseline_daily_row_count<5,n=e.today.anomaly_triggered&&!t,r;r=t?{text:`~ Building baseline · ${e.today.baseline_daily_row_count}/5 days`,cls:`thin`}:n?{text:`⚠ Anomaly`,cls:``}:{text:`✓ Healthy`,cls:`ok`};let i=e.today.baseline_median_percent,a=e.today.delta_pp,o;if(a===null)o=`—`;else{let e=D.pctFloor(Math.abs(a));o=`${a<0?`−`:`+`}${e}pp`}return(0,R.jsxs)(`div`,{className:`crm-section`,children:[(0,R.jsxs)(`div`,{className:`crm-section-head crm-sh-spotlight`,children:[`Today's spotlight`,(0,R.jsxs)(`span`,{className:`meta`,children:[e.today.date,` · `,e.days.length,` days observed`]})]}),(0,R.jsxs)(`div`,{className:`crm-spotlight${n?` anom`:``}`,children:[(0,R.jsxs)(`div`,{className:`crm-spotlight-row`,children:[(0,R.jsx)(`span`,{className:`pill${r.cls?` `+r.cls:``}`,children:r.text}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`k`,children:`Cache hit`}),` `,(0,R.jsxs)(`strong`,{children:[D.pctFloor(e.today.cache_hit_percent),`%`]})]}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`k`,children:`14d median`}),` `,(0,R.jsx)(`strong`,{children:i===null?`—`:`${D.pctFloor(i)}%`})]}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`k`,children:`Δ`}),` `,(0,R.jsx)(`strong`,{children:o})]}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`k`,children:`Net`}),` `,(0,R.jsx)(`strong`,{children:D.usdSigned(e.today.net_usd)})]}),(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`span`,{className:`k`,children:`Saved / Wasted`}),` `,(0,R.jsxs)(`strong`,{children:[`$`,e.today.saved_usd.toFixed(2),` / $`,e.today.wasted_usd.toFixed(2)]})]})]}),n&&e.today.anomaly_reasons.length>0&&(0,R.jsxs)(`div`,{className:`reasons`,children:[`Reasons:`,` `,e.today.anomaly_reasons.map((e,t)=>(0,R.jsxs)(`span`,{children:[t>0&&` · `,(0,R.jsx)(`code`,{children:e})]},e)),` | `,`thresholds: `,e.anomaly_threshold_pp,`pp drop, net < 0`]})]})]})}function nc(e,t=28){if(e.length<=t)return e;let n=e.split(`/`).filter(Boolean);if(n.length<=2)return e;let r=`/`+n[0],i=`${r}/…/${n.slice(-2).join(`/`)}`;return i.length<=t||(i=`${r}/…/${n[n.length-1]}`,i.length<=t)?i:`…/${n[n.length-1]}`}function rc({kind:e,rows:t}){let n=e===`projects`?`bd-projects`:`bd-models`,r=e===`projects`?`By project`:`By model`,i=e===`projects`?`No project activity in this window`:`No model activity in this window`,a=e===`projects`;return(0,R.jsxs)(`div`,{className:`crm-bd-card ${n}`,"data-bd-kind":e,children:[(0,R.jsx)(`div`,{className:`crm-bd-head`,children:r}),t.length===0?(0,R.jsx)(`div`,{className:`empty`,children:i}):(0,R.jsx)(`table`,{children:(0,R.jsx)(`tbody`,{children:t.map(e=>{let t=a?nc(e.key):e.key,n=t!==e.key;return(0,R.jsxs)(`tr`,{"data-testid":`crm-bd-row`,"data-bd-key":e.key,children:[(0,R.jsx)(`td`,{className:`bd-key`,title:n?e.key:void 0,children:t}),(0,R.jsxs)(`td`,{children:[D.pctFloor(e.cache_hit_percent),`%`]}),(0,R.jsx)(`td`,{className:e.net_usd>=0?`net-pos`:`net-neg`,children:D.usdSigned(e.net_usd)})]},e.key)})})})]})}function ic({current_threshold_pp:e,onClose:t}){let[n,r]=(0,g.useState)(String(e)),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(!1),[c,l]=(0,g.useState)(!1),u=(0,g.useRef)(null);(0,g.useEffect)(()=>{function e(e){let n=e.target;n&&n.closest(`[data-cr-settings-toggle]`)||u.current&&!u.current.contains(e.target)&&t()}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[t]),(0,g.useEffect)(()=>{function e(e){e.key===`Escape`&&(e.stopPropagation(),t())}return document.addEventListener(`keydown`,e,!0),()=>document.removeEventListener(`keydown`,e,!0)},[t]);async function d(){l(!1);let e=n.trim(),t=/^-?\d+$/.test(e)?parseInt(e,10):NaN;if(!Number.isInteger(t)||t<1||t>100){a(`Must be an integer between 1 and 100`);return}s(!0),a(null);try{let e=await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cache_report:{anomaly_threshold_pp:t}})});if(e.ok)l(!0),setTimeout(()=>l(!1),1500);else{let t=await e.json().catch(()=>({}));a(typeof t.error==`string`?t.error:`HTTP ${e.status}`)}}catch(e){a(String(e))}finally{s(!1)}}return(0,R.jsxs)(`div`,{ref:u,className:`crm-settings-popover`,role:`dialog`,"aria-label":`Cache Report settings`,children:[(0,R.jsx)(`h4`,{children:`Cache Report settings`}),(0,R.jsx)(`label`,{htmlFor:`cr-threshold`,children:`Anomaly threshold (pp)`}),(0,R.jsx)(`input`,{id:`cr-threshold`,type:`number`,inputMode:`numeric`,min:1,max:100,value:n,onChange:e=>{r(e.target.value),a(null),l(!1)},className:i?`invalid`:``}),i&&(0,R.jsx)(`div`,{className:`err`,children:i}),c&&(0,R.jsx)(`div`,{className:`saved`,children:`Saved · next sync will re-evaluate`}),(0,R.jsxs)(`div`,{className:`actions`,children:[(0,R.jsx)(`button`,{onClick:t,type:`button`,children:`Close`}),(0,R.jsx)(`button`,{className:`primary`,onClick:d,disabled:o,type:`button`,children:o?`Saving…`:`Save`})]})]})}function ac(){let e=z()?.cache_report,[t,n]=(0,g.useState)(!1);if(!e)return(0,R.jsx)(qo,{title:`Cache Report`,accentClass:`accent-teal`,children:(0,R.jsx)(`div`,{style:{color:`var(--text-dim)`,padding:`20px 0`},children:`Loading…`})});if(e.is_empty)return(0,R.jsx)(qo,{title:`Cache Report`,accentClass:`accent-teal`,children:(0,R.jsxs)(`div`,{style:{color:`var(--text-dim)`,padding:`20px 0`},children:[`No Claude activity in the last `,e.window_days,` days.`]})});let r=(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{className:`sub`,style:{marginRight:12,color:`var(--text-dim)`},children:[`Last `,e.window_days,` days · `,e.anomaly_window_days,`d baseline · Claude only`]}),(0,R.jsx)(`button`,{type:`button`,"aria-label":`Cache Report settings`,"data-cr-settings-toggle":!0,onClick:e=>{e.stopPropagation(),n(e=>!e)},style:{background:`transparent`,border:0,color:`var(--text-dim)`,cursor:`pointer`,fontSize:18,padding:`0 8px`},children:`⚙`})]}),i=e.today.baseline_daily_row_count<5,a=e.today.anomaly_triggered&&!i,o=a?`var(--accent-amber)`:`var(--accent-green)`,s=a?`accent-amber`:`accent-teal`,c=Math.round(e.fourteen_day_efficiency_ratio*100);return(0,R.jsxs)(qo,{title:`Cache Report`,accentClass:s,headerExtras:r,children:[t&&(0,R.jsx)(ic,{current_threshold_pp:e.anomaly_threshold_pp,onClose:()=>n(!1)}),(0,R.jsx)(tc,{cr:e}),(0,R.jsxs)(`div`,{className:`crm-section`,children:[(0,R.jsxs)(`div`,{className:`crm-section-head crm-sh-timeline`,children:[`Cache hit % — `,e.window_days,`-day timeline`,(0,R.jsxs)(`span`,{className:`meta`,children:[`band = `,e.anomaly_window_days,`d median ±`,5,`pp`]})]}),(0,R.jsx)(`div`,{className:`crm-chart-frame timeline`,children:(0,R.jsx)(Nn,{days:e.days,baseline_median_percent:e.today.baseline_median_percent,today_marker_color:o,size:`large`})})]}),(0,R.jsx)(Fn,{days:e.days,size:`large`}),(0,R.jsxs)(`div`,{className:`crm-counterfactual`,children:[`Without caching, you'd have paid`,` `,(0,R.jsxs)(`strong`,{children:[`+$`,e.fourteen_day_counterfactual_usd.toFixed(2),` more`]}),` `,`over the last `,e.window_days,` days · cache efficiency`,` `,(0,R.jsxs)(`span`,{title:`saved / (saved + |wasted|) = ${c}%`,children:[c,`%`]})]}),(0,R.jsxs)(`div`,{className:`crm-section`,children:[(0,R.jsxs)(`div`,{className:`crm-section-head crm-sh-table`,children:[`Daily rows · `,e.window_days,` days`,(0,R.jsxs)(`span`,{className:`meta`,children:[e.days.length,` days observed`]})]}),(0,R.jsxs)(`table`,{className:`ch-table`,children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`th`,{className:`c-date`,children:`Date`}),(0,R.jsx)(`th`,{className:`c-hit num`,children:`Cache %`}),(0,R.jsx)(`th`,{className:`c-tokens num`,children:`Tok In`}),(0,R.jsx)(`th`,{className:`c-tokens num`,children:`Tok Out`}),(0,R.jsx)(`th`,{className:`c-saved num`,children:`Saved`}),(0,R.jsx)(`th`,{className:`c-wasted num`,children:`Wasted`}),(0,R.jsx)(`th`,{className:`c-net num`,children:`Net`}),(0,R.jsx)(`th`,{className:`c-flag num`,children:`Flag`})]})}),(0,R.jsx)(`tbody`,{children:e.days.map(t=>{let n=t.date===e.today.date,r=e.today.baseline_median_percent!==null,i=r&&e.today.baseline_median_percent!==null&&t.cache_hit_percent<e.today.baseline_median_percent-5,a=t.net_usd<0;return(0,R.jsxs)(`tr`,{className:n?`cur`:``,"data-testid":`crm-daily-row`,"data-date":t.date,children:[(0,R.jsx)(`td`,{children:t.date}),(0,R.jsxs)(`td`,{className:`num ${r?i?`hit-bad`:`hit-good`:``}`.trim(),children:[D.pctFloor(t.cache_hit_percent),`%`]}),(0,R.jsx)(`td`,{className:`num`,children:D.compact(t.input_tokens,{upper:!0})}),(0,R.jsx)(`td`,{className:`num`,children:D.compact(t.output_tokens,{upper:!0})}),(0,R.jsx)(`td`,{className:`num`,children:D.usd2(t.saved_usd)}),(0,R.jsx)(`td`,{className:`num`,children:D.usd2(t.wasted_usd)}),(0,R.jsx)(`td`,{className:`num ${a?`net-neg`:`net-pos`}`,children:D.usdSigned(t.net_usd)}),(0,R.jsx)(`td`,{className:`num ${t.anomaly_triggered?`flag-warn`:`flag-ok`}`,children:t.anomaly_triggered?`⚠`:`✓`})]},t.date)})})]})]}),(0,R.jsx)(`div`,{className:`crm-section`,children:(0,R.jsxs)(`div`,{className:`crm-breakdowns`,children:[(0,R.jsx)(rc,{kind:`projects`,rows:e.by_project}),(0,R.jsx)(rc,{kind:`models`,rows:e.by_model})]})})]})}var oc=100;function sc({alert:e,ctx:t}){if(e.axis===`weekly`){let n=e.context.week_start_date?D.weekStart(e.context.week_start_date,t):null,r=e.context.dollars_per_percent;return(0,R.jsxs)(`span`,{className:`alert-context alert-context--weekly`,children:[n?`Week of ${n}`:`Week —`,r!=null&&(0,R.jsxs)(R.Fragment,{children:[` · `,(0,R.jsxs)(`span`,{className:`num`,children:[`$`,r.toFixed(2),`/1%`]})]})]})}if(e.axis===`budget`){let n=e.context.week_start_at?D.weekStart(e.context.week_start_at.slice(0,10),t):null,r=e.context.consumption_pct;return(0,R.jsxs)(`span`,{className:`alert-context alert-context--budget`,children:[n?`Week of ${n}`:`Week —`,r!=null&&(0,R.jsxs)(R.Fragment,{children:[` · `,(0,R.jsxs)(`span`,{className:`num`,children:[Math.round(r),`% of budget`]})]})]})}return(0,R.jsxs)(`span`,{className:`alert-context alert-context--five-hour`,children:[`Block `,e.context.block_start_at?D.timeOnly(e.context.block_start_at,t):`—`]})}function cc({alert:e}){let t;return t=e.axis===`weekly`?e.context.cumulative_cost_usd:e.axis===`budget`?e.context.spent_usd:e.context.block_cost_usd,(0,R.jsx)(`span`,{className:`num`,children:D.usd2(t??null)})}function lc(){let e=(0,g.useSyncExternalStore)(I,()=>F().alerts),t=Ht(),n={tz:t.resolvedTz,offsetLabel:t.offsetLabel},r=e.slice(0,oc);return r.length===0?(0,R.jsx)(qo,{title:`Recent alerts`,accentClass:`accent-amber`,children:(0,R.jsx)(`div`,{className:`panel-empty`,children:`No alerts yet. Alerts appear when usage crosses 90% or 95%.`})}):(0,R.jsx)(qo,{title:`Recent alerts`,accentClass:`accent-amber`,children:(0,R.jsxs)(`div`,{className:`alerts-modal-body`,children:[(0,R.jsxs)(`table`,{className:`alerts-table`,children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`th`,{scope:`col`,children:`%`}),(0,R.jsx)(`th`,{scope:`col`,children:`Axis`}),(0,R.jsx)(`th`,{scope:`col`,children:`Cost`}),(0,R.jsx)(`th`,{scope:`col`,children:`Context`}),(0,R.jsx)(`th`,{scope:`col`,children:`Alerted`})]})}),(0,R.jsx)(`tbody`,{children:r.map(e=>{let t=e.threshold>=95?`red`:`amber`;return(0,R.jsxs)(`tr`,{className:`alert-modal-row`,children:[(0,R.jsxs)(`td`,{className:`alert-threshold severity-${t} ${t} num`,children:[e.threshold,`%`]}),(0,R.jsx)(`td`,{children:(0,R.jsx)(`span`,{className:`chip chip--${e.axis}`,children:On[e.axis]})}),(0,R.jsx)(`td`,{className:`num`,children:(0,R.jsx)(cc,{alert:e})}),(0,R.jsx)(`td`,{children:(0,R.jsx)(sc,{alert:e,ctx:n})}),(0,R.jsx)(`td`,{className:`alert-when`,children:D.relativeOrAbsolute(e.alerted_at,n)})]},e.id)})})]}),e.length>oc&&(0,R.jsxs)(`div`,{className:`alerts-modal-foot`,children:[`Showing `,oc,` of `,e.length,` most recent`]})]})})}function uc(){let e=(0,g.useSyncExternalStore)(I,()=>F().openModal);if(!e)return null;switch(e){case`current-week`:return(0,R.jsx)(es,{});case`forecast`:return(0,R.jsx)(os,{});case`trend`:return(0,R.jsx)(hs,{});case`session`:return(0,R.jsx)(vs,{});case`weekly`:return(0,R.jsx)(Ts,{});case`monthly`:return(0,R.jsx)(Es,{});case`block`:return(0,R.jsx)(Is,{});case`daily`:return(0,R.jsx)(Bs,{});case`projects`:return(0,R.jsx)(ec,{});case`alerts`:return(0,R.jsx)(lc,{});case`cache-report`:return(0,R.jsx)(ac,{})}}var X=class extends Error{code;constructor(e,t,n,r){super(n),this.status=e,this.field=t,this.code=r}};async function dc(e){if(!e.ok){let t={};try{t=await e.json()}catch{}throw new X(e.status,t.field,t.error??`HTTP ${e.status}`,t.code)}return e.json()}async function fc(e,t){return dc(await fetch(`/api/share/templates?panel=${encodeURIComponent(e)}`,{signal:t?.signal}))}async function Z(e,t){return dc(await fetch(`/api/share/render`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal}))}var pc=[{id:`recap`,label:`Recap`,placeholderDescription:`Text + tiny chart`},{id:`visual`,label:`Visual`,placeholderDescription:`Coming in M2`},{id:`detail`,label:`Detail`,placeholderDescription:`Coming in M2`}];function mc(e){return e.endsWith(`-recap`)?`recap`:e.endsWith(`-visual`)?`visual`:e.endsWith(`-detail`)?`detail`:null}function hc({panel:e,templates:t,error:n,selectedTemplateId:r,onSelect:i}){if(n)return(0,R.jsx)(`div`,{className:`share-gallery-error`,role:`alert`,children:n});let a={};for(let e of t??[]){let t=mc(e.id);t&&(a[t]=e)}return(0,R.jsx)(`div`,{className:`share-gallery`,role:`radiogroup`,"aria-label":`Report template`,children:pc.map(e=>{let n=a[e.id];if(t==null)return(0,R.jsxs)(`div`,{className:`share-tile share-tile-skeleton`,"aria-hidden":`true`,children:[(0,R.jsx)(`div`,{className:`share-tile-skeleton-bar`}),(0,R.jsx)(`div`,{className:`share-tile-skeleton-bar short`})]},e.id);if(!n)return(0,R.jsxs)(`button`,{type:`button`,className:`share-tile share-tile-disabled`,disabled:!0,"aria-disabled":`true`,role:`radio`,"aria-checked":`false`,title:`${e.label} — ${e.placeholderDescription}`,children:[(0,R.jsx)(`div`,{className:`share-tile-label`,children:e.label}),(0,R.jsx)(`div`,{className:`share-tile-desc`,children:e.placeholderDescription})]},e.id);let o=n.id===r;return(0,R.jsxs)(`button`,{type:`button`,className:`share-tile`+(o?` share-tile-selected`:``),role:`radio`,"aria-checked":o,"data-template-id":n.id,onClick:()=>i(n.id),children:[(0,R.jsx)(`div`,{className:`share-tile-label`,children:n.label}),(0,R.jsx)(`div`,{className:`share-tile-desc`,children:n.description})]},e.id)})})}function gc({options:e,onChange:t}){let n=n=>t({...e,...n}),r=n=>t({...e,period:{...e.period,...n}}),i=e=>{if(e===``){n({top_n:null});return}let t=Number.parseInt(e,10);Number.isNaN(t)||n({top_n:Math.max(1,t)})};return(0,R.jsxs)(`div`,{className:`share-knobs`,children:[(0,R.jsxs)(`div`,{className:`share-knob`,children:[(0,R.jsx)(`label`,{htmlFor:`share-knob-period`,children:`Period`}),(0,R.jsxs)(`select`,{id:`share-knob-period`,value:e.period.kind,onChange:e=>r({kind:e.target.value}),children:[(0,R.jsx)(`option`,{value:`current`,children:`This week`}),(0,R.jsx)(`option`,{value:`previous`,children:`Previous week`}),(0,R.jsx)(`option`,{value:`custom`,children:`Custom`})]}),e.period.kind===`custom`?(0,R.jsxs)(`div`,{className:`share-knob-period-custom`,children:[(0,R.jsxs)(`label`,{className:`share-knob-sublabel`,children:[(0,R.jsx)(`span`,{children:`Start`}),(0,R.jsx)(`input`,{type:`date`,value:e.period.start?.slice(0,10)??``,onChange:e=>r({start:e.target.value}),"aria-label":`Custom period start date`})]}),(0,R.jsxs)(`label`,{className:`share-knob-sublabel`,children:[(0,R.jsx)(`span`,{children:`End`}),(0,R.jsx)(`input`,{type:`date`,value:e.period.end?.slice(0,10)??``,onChange:e=>r({end:e.target.value}),"aria-label":`Custom period end date`})]})]}):null]}),(0,R.jsxs)(`div`,{className:`share-knob`,children:[(0,R.jsx)(`span`,{className:`share-knob-label`,children:`Theme`}),(0,R.jsxs)(`div`,{className:`share-knob-radiogroup`,role:`radiogroup`,"aria-label":`Theme`,children:[(0,R.jsxs)(`label`,{className:`share-knob-radio`,children:[(0,R.jsx)(`input`,{type:`radio`,name:`share-theme`,value:`light`,checked:e.theme===`light`,onChange:()=>n({theme:`light`})}),(0,R.jsx)(`span`,{children:`Light`})]}),(0,R.jsxs)(`label`,{className:`share-knob-radio`,children:[(0,R.jsx)(`input`,{type:`radio`,name:`share-theme`,value:`dark`,checked:e.theme===`dark`,onChange:()=>n({theme:`dark`})}),(0,R.jsx)(`span`,{children:`Dark`})]})]})]}),(0,R.jsxs)(`div`,{className:`share-knob`,children:[(0,R.jsx)(`label`,{htmlFor:`share-knob-topn`,children:`Top-N`}),(0,R.jsx)(`input`,{id:`share-knob-topn`,type:`number`,min:1,step:1,inputMode:`numeric`,value:e.top_n??``,onChange:e=>i(e.target.value),"aria-label":`Top-N`})]}),(0,R.jsxs)(`div`,{className:`share-knob`,children:[(0,R.jsx)(`span`,{className:`share-knob-label`,children:`Projects`}),(0,R.jsx)(`button`,{type:`button`,className:`share-knob-allowlist-stub`,disabled:!0,"aria-disabled":`true`,title:`Project allowlist — coming in M3+`,children:`All projects`})]}),(0,R.jsx)(`div`,{className:`share-knob`,children:(0,R.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,R.jsx)(`input`,{type:`checkbox`,checked:e.show_chart,onChange:e=>n({show_chart:e.target.checked}),"aria-label":`Include chart in export`}),(0,R.jsx)(`span`,{children:`Show chart`})]})}),(0,R.jsx)(`div`,{className:`share-knob`,children:(0,R.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,R.jsx)(`input`,{type:`checkbox`,checked:e.show_table,onChange:e=>n({show_table:e.target.checked}),"aria-label":`Include table in export`}),(0,R.jsx)(`span`,{children:`Show table`})]})}),(0,R.jsx)(`div`,{className:`share-knob`,children:(0,R.jsxs)(`label`,{className:`share-knob-checkbox`,children:[(0,R.jsx)(`input`,{type:`checkbox`,checked:!e.reveal_projects,onChange:e=>n({reveal_projects:!e.target.checked}),"aria-label":`Anonymize project names on export`}),(0,R.jsx)(`span`,{children:`Anon on export`})]})})]})}var _c=200,vc={status:`idle`,body:``,contentType:``,errorMessage:null,errorField:null};function yc({panel:e,templateId:t,options:n}){let[r,i]=(0,g.useState)(vc),a=(0,g.useRef)(null),o=(0,g.useRef)(0);return(0,g.useEffect)(()=>{if(!t){i(vc);return}i(e=>({...e,status:`loading`}));let r=++o.current,s=setTimeout(()=>{a.current?.abort();let s=new AbortController;a.current=s,Z({panel:e,template_id:t,options:{...n,reveal_projects:!0}},{signal:s.signal}).then(e=>{r===o.current&&i({status:`ready`,body:e.body,contentType:e.content_type,errorMessage:null,errorField:null})}).catch(e=>{if(r===o.current&&!(e&&typeof e==`object`&&e.name===`AbortError`)){if(e instanceof X){i({status:`error`,body:``,contentType:``,errorMessage:e.message??`HTTP ${e.status}`,errorField:e.field??null});return}i({status:`error`,body:``,contentType:``,errorMessage:e.message??`Unknown error`,errorField:null})}})},_c);return()=>{clearTimeout(s)}},[e,t,n]),(0,g.useEffect)(()=>()=>{a.current?.abort()},[]),t?r.status===`error`?(0,R.jsxs)(`div`,{className:`share-preview share-preview-error`,role:`alert`,children:[(0,R.jsx)(`div`,{className:`share-preview-error-title`,children:`Preview failed`}),(0,R.jsxs)(`div`,{className:`share-preview-error-message`,children:[r.errorMessage,r.errorField?(0,R.jsxs)(`span`,{className:`share-preview-error-field`,children:[` `,`(field: `,r.errorField,`)`]}):null]})]}):r.status===`loading`||r.status===`idle`?(0,R.jsx)(`div`,{className:`share-preview share-preview-loading`,"aria-busy":`true`,children:`Rendering preview…`}):n.format===`md`?(0,R.jsx)(`pre`,{className:`share-preview share-preview-md`,"aria-label":`Markdown preview`,children:r.body}):(0,R.jsx)(`iframe`,{className:`share-preview share-preview-iframe`,title:`Report preview (decorative)`,tabIndex:-1,sandbox:`allow-same-origin`,srcDoc:r.body}):(0,R.jsx)(`div`,{className:`share-preview share-preview-empty`,children:`Select a template to preview.`})}var bc={"current-week":`Current week`,trend:`Trend`,weekly:`Weekly`,daily:`Daily`,monthly:`Monthly`,blocks:`5-hour blocks`,forecast:`Forecast`,sessions:`Sessions`,projects:`Projects`};function xc(e){return bc[e]}function Sc(e){switch(e){case`md`:return`md`;case`html`:return`html`;case`svg`:return`svg`}}async function Cc(e){if(!e.ok){let t={};try{t=await e.json()}catch{}throw new X(e.status,t.field,t.error??`HTTP ${e.status}`)}return e.json()}async function wc(e){return Cc(await fetch(`/api/share/presets`,{signal:e?.signal}))}async function Tc(e,t){return Cc(await fetch(`/api/share/presets`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal}))}async function Ec(e,t,n){let r=await fetch(`/api/share/presets/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,{method:`DELETE`,signal:n?.signal});if(!r.ok){let e={};try{e=await r.json()}catch{}throw new X(r.status,void 0,e.error??`HTTP ${r.status}`)}}async function Dc(e){return Cc(await fetch(`/api/share/history`,{signal:e?.signal}))}async function Oc(e,t){return Cc(await fetch(`/api/share/history`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal}))}function kc({panel:e,templateId:t,options:n,onSaved:r,onCancel:i}){let[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(null);async function d(){let i=a.trim();if(!i){u(`Name is required`);return}if(i.length>64){u(`Name must be 64 characters or fewer`);return}if(i.includes(`/`)){u(`Name cannot contain '/'`);return}c(!0),u(null);try{await Tc({panel:e,name:i,template_id:t,options:n}),L({type:`SHOW_STATUS_TOAST`,text:`Saved preset "${i}"`}),r()}catch(e){u((e instanceof X?e.message??`HTTP ${e.status}`:e.message)??`Save failed`)}finally{c(!1)}}return(0,R.jsxs)(`div`,{className:`share-save-popover`,role:`dialog`,"aria-label":`Save preset`,children:[(0,R.jsxs)(`label`,{className:`share-save-label`,children:[`Preset name`,(0,R.jsx)(`input`,{type:`text`,className:`share-save-input`,autoFocus:!0,value:a,maxLength:64,disabled:s,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),e.stopPropagation(),d()):e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),i())}})]}),l?(0,R.jsx)(`div`,{className:`share-save-error`,role:`alert`,children:l}):null,(0,R.jsxs)(`div`,{className:`share-save-actions`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:i,disabled:s,children:`Cancel`}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>void d(),disabled:s,children:s?`Saving…`:`Save`})]})]})}async function Ac(e,t,n){let r=new Blob([e],{type:`image/svg+xml`}),i=URL.createObjectURL(r);try{let e=new Image;e.src=i,await e.decode();let r=document.createElement(`canvas`);r.width=e.naturalWidth*t,r.height=e.naturalHeight*t;let a=r.getContext(`2d`);if(!a)throw Error(`Could not acquire 2D canvas context`);a.fillStyle=n,a.fillRect(0,0,r.width,r.height),a.scale(t,t),a.drawImage(e,0,0);let o=await new Promise(e=>{r.toBlob(t=>e(t),`image/png`)});if(o)return o;let s=r.toDataURL(`image/png`);return(await fetch(s)).blob()}finally{URL.revokeObjectURL(i)}}function jc(e){let t=document.createElement(`iframe`);t.setAttribute(`aria-hidden`,`true`),t.style.cssText=`position:fixed;right:0;bottom:0;width:0;height:0;border:0`,document.body.appendChild(t);let n=t.contentDocument;if(!n)throw Error(`iframe contentDocument unavailable`);n.open(),n.write(e),n.close();try{t.contentWindow?.focus(),t.contentWindow?.print()}catch{let t=window.open(``,`_blank`,`noopener,noreferrer`);t&&(t.document.open(),t.document.write(e),t.document.close())}setTimeout(()=>t.remove(),1e3)}function Mc(e){Oc({panel:e.panel,template_id:e.template_id,options:e.options,format:e.options.format,destination:e.destination}).catch(()=>{})}function Nc(e){return e===`light`?`#ffffff`:`#0f172a`}function Pc(e,t){return`cctally-${e}-${new Date().toISOString().slice(0,10).replaceAll(`-`,``)}.${Sc(t)}`}function Fc(e){switch(e){case`md`:return`text/markdown;charset=utf-8`;case`html`:return`text/html;charset=utf-8`;case`svg`:return`image/svg+xml;charset=utf-8`}}function Ic(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}function Lc({panel:e,templateId:t,options:n,onOptionsChange:r}){let[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(!1),u=(0,g.useRef)(null);(0,g.useEffect)(()=>()=>{u.current!=null&&clearTimeout(u.current)},[]);let[d,f]=(0,g.useState)(!1),p=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(!d)return;function e(e){let t=p.current;t&&(t.contains(e.target)||f(!1))}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[d]),(0,g.useEffect)(()=>{s(null)},[n.format,t]);let m=t==null||i!=null,h=e=>L({type:`SHOW_STATUS_TOAST`,text:e}),_=async()=>{if(!t)throw Error(`no template selected`);return{body:(await Z({panel:e,template_id:t,options:n})).body,format:n.format}},v=async()=>{if(!(m||!t)){a(`copy`),s(null);try{let{body:r}=await _();if(!navigator.clipboard||typeof navigator.clipboard.writeText!=`function`)throw Error(`Clipboard API unavailable in this browser`);await navigator.clipboard.writeText(r),h(`Copied`),Mc({panel:e,template_id:t,options:n,destination:`copy`})}catch(e){s(`Copy failed: ${e instanceof X?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},y=async()=>{if(!(m||!t)){a(`download`),s(null);try{let{body:r,format:i}=await _(),a=new Blob([r],{type:Fc(i)});Ic(Pc(e,i),a),h(`Downloaded`),Mc({panel:e,template_id:t,options:n,destination:`download`})}catch(e){s(`Download failed: ${e instanceof X?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},b=async()=>{if(!(m||!t)){a(`basket`),s(null);try{let r=await Z({panel:e,template_id:t,options:n}),i=Se({panel:e,template_id:t,options:n,added_at:new Date().toISOString(),data_digest_at_add:r.snapshot.data_digest,kernel_version:r.snapshot.kernel_version,label_hint:xc(e)});L({type:`BASKET_ADD`,item:i});let a=F().basket;if(a.rejectedReason===`capacity`)return;l(!0),u.current!=null&&clearTimeout(u.current),u.current=setTimeout(()=>l(!1),800),L({type:`SHOW_STATUS_TOAST`,text:`Added ${i.label_hint} to basket (${a.items.length})`})}catch(e){s(`Add to basket failed: ${e instanceof X?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},x=async()=>{if(!(m||!t)){a(`open`),s(null);try{let{body:r,format:i}=await _(),a=new Blob([r],{type:Fc(i)}),o=URL.createObjectURL(a);window.open(o,`_blank`,`noopener,noreferrer`),Mc({panel:e,template_id:t,options:n,destination:`open`})}catch(e){s(`Open failed: ${e instanceof X?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},S=async()=>{if(!(!t||n.format!==`svg`||m)){a(`png`),s(null);try{let{body:r}=await _(),i=await Ac(r,2,Nc(n.theme));Ic(Pc(e,`svg`).replace(/\.svg$/,`.png`),i),h(`PNG downloaded`),Mc({panel:e,template_id:t,options:n,destination:`png`})}catch(e){s(`PNG export failed: ${e instanceof X?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},C=async()=>{if(!(!t||n.format!==`html`||m)){a(`print`),s(null);try{let{body:r}=await _();jc(r),Mc({panel:e,template_id:t,options:n,destination:`print`})}catch(e){s(`Print failed: ${e instanceof X?e.message??`HTTP ${e.status}`:e.message}`)}finally{a(null)}}},w=n.format===`md`&&!m,T=(n.format===`html`||n.format===`svg`)&&!m,ee=n.format===`svg`&&!m,te=n.format===`html`&&!m;return(0,R.jsxs)(`div`,{className:`share-actions`,children:[(0,R.jsxs)(`div`,{className:`share-format-row`,role:`radiogroup`,"aria-label":`Export format`,children:[(0,R.jsx)(`span`,{className:`share-format-label`,children:`Format:`}),[`md`,`html`,`svg`].map(e=>(0,R.jsxs)(`label`,{className:`share-format-radio`,children:[(0,R.jsx)(`input`,{type:`radio`,name:`share-format`,value:e,checked:n.format===e,onChange:()=>r({...n,format:e})}),(0,R.jsx)(`span`,{children:e})]},e))]}),(0,R.jsxs)(`div`,{className:`share-action-row`,children:[(0,R.jsx)(`button`,{type:`button`,className:`share-action share-action-copy`,onClick:v,disabled:!w,title:n.format===`md`?i===`copy`?`Copying…`:`Copy to clipboard`:`Copy is available for Markdown only`,children:i===`copy`?`Copying…`:`Copy`}),(0,R.jsx)(`button`,{type:`button`,className:`share-action share-action-download`,onClick:y,disabled:m,title:i===`download`?`Downloading…`:`Download file`,children:i===`download`?`Downloading…`:`Download`}),(0,R.jsx)(`button`,{type:`button`,className:`share-action share-action-open`,onClick:x,disabled:!T,title:n.format===`html`||n.format===`svg`?i===`open`?`Opening…`:`Open in new tab`:`Open is available for HTML/SVG`,children:i===`open`?`Opening…`:`Open`}),(0,R.jsx)(`button`,{type:`button`,className:`share-action share-action-png`,onClick:S,disabled:!ee,title:n.format===`svg`?i===`png`?`Rasterizing…`:`Download PNG (rasterized from SVG)`:`PNG export — available for SVG format only`,children:i===`png`?`Rasterizing…`:`PNG`}),(0,R.jsx)(`button`,{type:`button`,className:`share-action share-action-print`,onClick:C,disabled:!te,title:n.format===`html`?i===`print`?`Opening print dialog…`:`Open the browser print dialog (save as PDF)`:`Print → PDF — available for HTML format only`,children:i===`print`?`Printing…`:`Print → PDF`}),(0,R.jsx)(`button`,{type:`button`,className:`share-action share-action-basket${c?` share-action-basket-added`:``}`,onClick:b,disabled:m,title:m&&t==null?`Pick a template first`:i===`basket`?`Adding to basket…`:`Add this section to the report basket`,children:c?`✓ Added`:i===`basket`?`Adding…`:`+ Basket`})]}),(0,R.jsxs)(`div`,{className:`share-save-preset-row`,ref:p,children:[(0,R.jsx)(`button`,{type:`button`,className:`share-save-preset`,disabled:t==null||i!=null,onClick:()=>f(e=>!e),"aria-haspopup":`dialog`,"aria-expanded":d,title:t==null?`Pick a template first`:`Save the current recipe as a named preset`,children:`Save preset…`}),d&&t?(0,R.jsx)(kc,{panel:e,templateId:t,options:n,onSaved:()=>f(!1),onCancel:()=>f(!1)}):null]}),o?(0,R.jsx)(`div`,{className:`share-action-error`,role:`alert`,children:o}):null]})}function Rc(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString()}function zc({panel:e,onPick:t,onManage:n}){let[r,i]=(0,g.useState)(!1),[a,o]=(0,g.useState)({}),[s,c]=(0,g.useState)([]),[l,u]=(0,g.useState)(null),d=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(!r)return;let t=new AbortController;return u(null),Promise.all([wc({signal:t.signal}),Dc({signal:t.signal})]).then(([t,n])=>{o(t.presets[e]??{}),c(n.history.filter(t=>t.panel===e).slice().reverse())}).catch(e=>{e?.name!==`AbortError`&&u((e instanceof X?e.message??`HTTP ${e.status}`:e.message)??`Failed to load presets`)}),()=>t.abort()},[r,e]),(0,g.useEffect)(()=>{if(!r)return;function e(e){let t=d.current;t&&(t.contains(e.target)||i(!1))}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[r]);let f=Object.keys(a).sort();return(0,R.jsxs)(`div`,{className:`share-presets-dropdown`,ref:d,children:[(0,R.jsx)(`button`,{type:`button`,className:`share-presets-trigger`,"aria-haspopup":`menu`,"aria-expanded":r,onClick:()=>i(e=>!e),children:`presets ▾`}),r?(0,R.jsxs)(`div`,{className:`share-presets-menu`,role:`menu`,children:[l?(0,R.jsx)(`div`,{className:`share-presets-error`,role:`alert`,children:l}):null,f.length===0&&!l?(0,R.jsx)(`div`,{className:`share-presets-empty`,children:`No saved presets yet.`}):null,f.length>0?(0,R.jsx)(`ul`,{className:`share-presets-list`,children:f.map(e=>(0,R.jsx)(`li`,{children:(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-item`,onClick:()=>{t(a[e].template_id,a[e].options),i(!1)},children:e})},e))}):null,s.length>0?(0,R.jsxs)(`div`,{className:`share-presets-history`,children:[(0,R.jsx)(`div`,{className:`share-presets-history-heading`,role:`presentation`,children:`Recent shares`}),(0,R.jsx)(`ul`,{className:`share-presets-history-list`,children:s.map(e=>(0,R.jsx)(`li`,{children:(0,R.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-history-item`,onClick:()=>{t(e.template_id,e.options),i(!1)},title:`${e.template_id} · ${e.format??`unknown`} · ${e.exported_at}`,children:[(0,R.jsx)(`span`,{className:`share-presets-history-template`,children:e.template_id}),(0,R.jsxs)(`span`,{className:`share-presets-history-meta`,children:[` · `,e.format??`unknown`,` · `,Rc(e.exported_at)]})]})},e.recipe_id))})]}):null,(0,R.jsx)(`div`,{className:`share-presets-footer`,children:(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,className:`share-presets-manage`,onClick:()=>{n(),i(!1)},children:`Manage presets…`})})]}):null]})}var Bc=`share-manage-presets-title`;function Vc({open:e,onClose:t}){let[n,r]=(0,g.useState)([]),[i,a]=(0,g.useState)(!1),[o,s]=(0,g.useState)(null);V((0,g.useMemo)(()=>e?[{key:`Escape`,scope:`modal`,action:t}]:[],[e,t]));let c=(0,g.useRef)(null),l=(0,g.useRef)(!1);(0,g.useEffect)(()=>{if(e)l.current||(l.current=!0,c.current=document.activeElement);else if(l.current){l.current=!1;let e=c.current;if(c.current=null,e&&typeof e.focus==`function`&&document.contains(e))e.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[e]),(0,g.useEffect)(()=>{if(!e)return;let t=!1;return s(null),(async()=>{try{let e=await wc();if(t)return;let n=[];for(let[t,r]of Object.entries(e.presets))for(let[e,i]of Object.entries(r))n.push({panel:t,name:e,record:i});n.sort((e,t)=>e.panel===t.panel?e.name.localeCompare(t.name):e.panel.localeCompare(t.panel)),r(n)}catch(e){if(t)return;s((e instanceof X?e.message??`HTTP ${e.status}`:e.message)??`Failed to load presets`)}})(),()=>{t=!0}},[e]);async function u(e){a(!0),s(null);try{await Ec(e.panel,e.name),r(t=>t.filter(t=>!(t.panel===e.panel&&t.name===e.name))),L({type:`SHOW_STATUS_TOAST`,text:`Deleted preset "${e.name}"`})}catch(e){s((e instanceof X?e.message??`HTTP ${e.status}`:e.message)??`Delete failed`)}finally{a(!1)}}async function d(e,t){a(!0),s(null);try{await Tc({panel:e.panel,name:t,template_id:e.record.template_id,options:e.record.options}),await Ec(e.panel,e.name),r(n=>n.map(n=>n.panel===e.panel&&n.name===e.name?{...n,name:t}:n)),L({type:`SHOW_STATUS_TOAST`,text:`Renamed to "${t}"`})}catch(e){s((e instanceof X?e.message??`HTTP ${e.status}`:e.message)??`Rename failed`)}finally{a(!1)}}return e?(0,R.jsxs)(`div`,{className:`share-manage-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":Bc,onClick:e=>e.stopPropagation(),children:[(0,R.jsxs)(`div`,{className:`share-manage-header`,children:[(0,R.jsx)(`h2`,{id:Bc,children:`Manage presets`}),(0,R.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Close`,className:`share-manage-close`,children:`⤬`})]}),o?(0,R.jsx)(`div`,{className:`share-manage-error`,role:`alert`,children:o}):null,n.length===0&&!o?(0,R.jsx)(`p`,{className:`share-manage-empty`,children:`No saved presets yet.`}):null,n.length>0?(0,R.jsxs)(`table`,{className:`share-manage-table`,children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`th`,{children:`Panel`}),(0,R.jsx)(`th`,{children:`Name`}),(0,R.jsx)(`th`,{children:`Saved at`}),(0,R.jsx)(`th`,{})]})}),(0,R.jsx)(`tbody`,{children:n.map(e=>(0,R.jsx)(Q,{row:e,busy:i,onDelete:()=>void u(e),onRename:t=>void d(e,t)},`${e.panel}/${e.name}`))})]}):null]}):null}function Q({row:e,busy:t,onDelete:n,onRename:r}){let[i,a]=(0,g.useState)(!1),[o,s]=(0,g.useState)(e.name),c=()=>{let t=o.trim();if(!t||t===e.name){s(e.name),a(!1);return}r(t),a(!1)};return(0,R.jsxs)(`tr`,{children:[(0,R.jsx)(`td`,{children:xc(e.panel)}),(0,R.jsx)(`td`,{children:i?(0,R.jsx)(`input`,{className:`share-manage-name-input`,autoFocus:!0,value:o,disabled:t,maxLength:64,onChange:e=>s(e.target.value),onKeyDown:t=>{t.key===`Enter`?(t.preventDefault(),c()):t.key===`Escape`&&(t.preventDefault(),t.stopPropagation(),s(e.name),a(!1))}}):(0,R.jsx)(`span`,{children:e.name})}),(0,R.jsx)(`td`,{children:e.record.saved_at}),(0,R.jsxs)(`td`,{className:`share-manage-actions`,children:[(0,R.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>{i?(s(e.name),a(!1)):a(!0)},children:i?`Cancel`:`Rename`}),(0,R.jsx)(`button`,{type:`button`,disabled:t,onClick:n,children:`Delete`})]})]})}function Hc(){return{format:`md`,theme:`light`,reveal_projects:!1,no_branding:!1,top_n:5,period:{kind:`current`},project_allowlist:null,show_chart:!0,show_table:!0}}function Uc(e,t){if(!t)return e;let n={...e,...t};return t.period&&(n.period={...e.period,...t.period}),n}function Wc({panel:e,onClose:t,initialParams:n}){let r=xc(e),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(null),[u,d]=(0,g.useState)(()=>{let e=Hc();return n?.windowWeeks==null?e:{...e,windowWeeks:n.windowWeeks}}),f=(0,g.useRef)(!1),[p,m]=(0,g.useState)(!1),h=`share-modal-title`;V((0,g.useMemo)(()=>[{key:`Escape`,scope:`overlay`,when:()=>!p&&F().composerModal===null,action:t}],[t,p])),(0,g.useEffect)(()=>{let t=!1;return a(null),s(null),fc(e).then(e=>{if(t)return;a(e.templates);let n=e.templates[0];n&&(l(n.id),f.current||d(e=>Uc(e,n.default_options)))}).catch(e=>{t||s(e instanceof X?`Couldn't load templates: ${e.message??`HTTP ${e.status}`}`:`Couldn't load templates: ${e.message}`)}),()=>{t=!0}},[e]),(0,g.useEffect)(()=>{if(!i||!c||f.current)return;let e=i.find(e=>e.id===c);e&&d(t=>Uc(t,e.default_options))},[c,i]);let _=e=>{f.current=!0,d(e)};return(0,R.jsxs)(`div`,{className:`share-modal`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":h,onClick:e=>e.stopPropagation(),children:[(0,R.jsx)(`header`,{className:`share-modal-header`,children:(0,R.jsxs)(`h2`,{id:h,children:[`Share `,r,` report`]})}),(0,R.jsxs)(`div`,{className:`share-modal-body`,children:[(0,R.jsxs)(`section`,{className:`share-section share-gallery-section`,"aria-label":`Template gallery`,children:[(0,R.jsx)(`div`,{className:`share-gallery-header`,children:(0,R.jsx)(zc,{panel:e,onPick:(e,t)=>{l(e),f.current=!0,d(e=>({...e,...t}))},onManage:()=>m(!0)})}),(0,R.jsx)(hc,{panel:e,templates:i,error:o,selectedTemplateId:c,onSelect:e=>l(e)})]}),(0,R.jsxs)(`section`,{className:`share-section share-main-section`,children:[(0,R.jsx)(`div`,{className:`share-knobs-col`,"aria-label":`Render options`,children:(0,R.jsx)(gc,{options:u,onChange:_})}),(0,R.jsx)(`div`,{className:`share-preview-col`,"aria-label":`Live preview`,children:(0,R.jsx)(yc,{panel:e,templateId:c,options:u})})]})]}),(0,R.jsx)(`footer`,{className:`share-modal-footer`,children:(0,R.jsx)(Lc,{panel:e,templateId:c,options:u,onOptionsChange:_})}),(0,R.jsx)(`button`,{type:`button`,className:`share-modal-close`,"aria-label":`Close share modal`,onClick:t,children:`⤬`}),(0,R.jsx)(Vc,{open:p,onClose:()=>m(!1)})]})}function Gc(e,t){return{title:t.title,theme:t.theme,format:t.format,no_branding:t.no_branding,reveal_projects:t.reveal_projects,sections:e.map(e=>({snapshot:{panel:e.panel,template_id:e.template_id,options:e.options,data_digest_at_add:e.data_digest_at_add,kernel_version:e.kernel_version}}))}}async function Kc(e,t){let n=await fetch(`/api/share/compose`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t?.signal});if(!n.ok){let e={};try{e=await n.json()}catch{}throw new X(n.status,e.field,e.error??`HTTP ${n.status}`,e.code)}return n.json()}function qc({items:e,results:t,kernelVersion:n,onRefresh:r,onRemove:i,onPreviewOnly:a}){let o=Hr(Vr(Hi,{activationConstraint:{distance:4}}),Vr(Li,{coordinateGetter:fo}));function s(t){if(!t.over||t.active.id===t.over.id)return;let n=e.findIndex(e=>e.id===t.active.id),r=e.findIndex(e=>e.id===t.over.id);n<0||r<0||L({type:`BASKET_REORDER`,fromIdx:n,toIdx:r})}return(0,R.jsx)(Ia,{sensors:o,collisionDetection:Xr,onDragEnd:s,children:(0,R.jsx)($a,{items:e.map(e=>e.id),strategy:Xa,children:(0,R.jsx)(`ul`,{className:`composer-section-list`,children:e.map((e,o)=>(0,R.jsx)(Jc,{item:e,result:t[o],kernelVersion:n,onRefresh:r,onRemove:i,onPreviewOnly:a},e.id))})})})}function Jc({item:e,result:t,kernelVersion:n,onRefresh:r,onRemove:i,onPreviewOnly:a}){let{attributes:o,listeners:s,setNodeRef:c,transform:l,transition:u,isDragging:d}=so({id:e.id}),f=vo(),p={transform:Dr.Transform.toString(l),transition:f?void 0:u,opacity:d?.4:1},[m,h]=(0,g.useState)(!1),_=t?.drift_detected,v=e.kernel_version!==n,y=!!(_||v);return(0,R.jsxs)(`li`,{ref:c,style:p,className:`composer-section-row`,children:[(0,R.jsx)(`button`,{className:`composer-drag-handle`,"aria-label":`Reorder ${e.label_hint}`,type:`button`,...o,...s,children:`≡`}),(0,R.jsx)(`span`,{className:`composer-section-label`,children:e.label_hint}),y?(0,R.jsx)(`span`,{className:`composer-outdated-badge`,title:_&&v?`Data and kernel both shifted since add-time. Refresh to update.`:_?`Data has changed since this section was added. Refresh to update.`:`Kernel updated since this section was added. Refresh to re-render at the new version.`,children:`Outdated`}):null,(0,R.jsxs)(`div`,{className:`composer-section-actions`,children:[(0,R.jsx)(`button`,{type:`button`,"aria-haspopup":`menu`,"aria-expanded":m,onClick:()=>h(e=>!e),"aria-label":`Actions for ${e.label_hint}`,children:`⋯`}),m?(0,R.jsxs)(`ul`,{role:`menu`,className:`composer-section-menu`,children:[(0,R.jsx)(`li`,{children:(0,R.jsx)(`button`,{type:`button`,onClick:()=>{a(e.id),h(!1)},children:`Preview only this`})}),(0,R.jsx)(`li`,{children:(0,R.jsx)(`button`,{type:`button`,onClick:()=>{r(e.id),h(!1)},children:`Refresh from current data`})}),(0,R.jsx)(`li`,{children:(0,R.jsx)(`button`,{type:`button`,onClick:()=>{i(e.id),h(!1)},"aria-label":`Remove ${e.label_hint}`,children:`Remove`})})]}):null]})]})}function Yc(e,t){return t&&e>0}function Xc(e){return`cctally-report-${new Date().toISOString().slice(0,10).replaceAll(`-`,``)}.${e===`md`?`md`:e}`}function Zc(e){switch(e){case`md`:return`text/markdown;charset=utf-8`;case`html`:return`text/html;charset=utf-8`;case`svg`:return`image/svg+xml;charset=utf-8`}}function Qc(e){return e===`light`?`#ffffff`:`#0f172a`}function $c(e,t){let n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e,r.style.display=`none`,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}var el=200;function tl(){return F().composerModal}function nl(){return F().basket}var rl=`composer-modal-title`;function il(){let e=(0,g.useSyncExternalStore)(I,tl),t=(0,g.useSyncExternalStore)(I,nl),n=on(),r=(0,g.useRef)(null),i=(0,g.useRef)(!1),[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(`light`),[l,u]=(0,g.useState)(`html`),[d,f]=(0,g.useState)(!0),[p,m]=(0,g.useState)(!1),[h,_]=(0,g.useState)(null),[v,y]=(0,g.useState)(null),[b,x]=(0,g.useState)(!1),S=(0,g.useRef)(null),[C,w]=(0,g.useState)(null),[T,ee]=(0,g.useState)(null);(0,g.useEffect)(()=>{ee(null)},[l,s,d,p]),V((0,g.useMemo)(()=>[{key:`Escape`,scope:`overlay`,when:()=>F().composerModal!==null,action:()=>L(ye())}],[])),(0,g.useEffect)(()=>{e?.open&&a===``&&o(`cctally report — ${new Date().toISOString().slice(0,10)}`)},[e?.open,a]),(0,g.useEffect)(()=>{if(e?.open)i.current||(i.current=!0,r.current=document.activeElement);else if(i.current){i.current=!1;let e=r.current;if(r.current=null,e&&typeof e.focus==`function`&&document.contains(e))e.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[e?.open]),(0,g.useEffect)(()=>{if(!e?.open||t.items.length===0||a===``)return;let n=setTimeout(()=>{S.current?.abort();let e=new AbortController;S.current=e,x(!0),y(null),Kc(Gc(t.items,{title:a,theme:s,format:l,no_branding:p,reveal_projects:!d}),{signal:e.signal}).then(t=>{e.signal.aborted||_(t)}).catch(t=>{t?.name!==`AbortError`&&(e.signal.aborted||y(t instanceof X?t.message??`HTTP ${t.status}`:t.message))}).finally(()=>{e.signal.aborted||x(!1)})},el);return()=>clearTimeout(n)},[e?.open,t.items,a,s,l,d,p]);async function te(e){let n=t.items.findIndex(t=>t.id===e);if(n<0)return;let r=t.items[n];try{let t=await Z({panel:r.panel,template_id:r.template_id,options:{...r.options,reveal_projects:!d}}),i=Se({panel:r.panel,template_id:r.template_id,options:r.options,added_at:new Date().toISOString(),data_digest_at_add:t.snapshot.data_digest,kernel_version:t.snapshot.kernel_version,label_hint:r.label_hint,id:r.id});L({type:`BASKET_REMOVE`,id:e}),L({type:`BASKET_ADD`,item:i});let a=F().basket.items.length-1;a!==n&&L({type:`BASKET_REORDER`,fromIdx:a,toIdx:n})}catch(e){y(`Refresh failed: ${e instanceof X?e.message??`HTTP ${e.status}`:e.message}`)}}let E=async e=>{let n=await Kc(Gc(t.items,{title:a,theme:s,format:e,no_branding:p,reveal_projects:!d}));return{body:n.body,content_type:n.content_type}},D=e=>L({type:`SHOW_STATUS_TOAST`,text:e}),O=async(e,t,n)=>{if(C==null){w(e),ee(null);try{await t()}catch(e){ee(`${n} failed: ${e instanceof X?e.message??`HTTP ${e.status}`:e.message}`)}finally{w(null)}}},ne=()=>O(`copy`,async()=>{let{body:e}=await E(`md`);if(!navigator.clipboard||typeof navigator.clipboard.writeText!=`function`)throw Error(`Clipboard API unavailable in this browser`);await navigator.clipboard.writeText(e),D(`Copied`)},`Copy`),re=()=>O(`download`,async()=>{let{body:e}=await E(l),t=new Blob([e],{type:Zc(l)});$c(Xc(l),t),D(`Downloaded`)},`Download`),ie=()=>O(`open`,async()=>{let{body:e}=await E(l),t=new Blob([e],{type:Zc(l)}),n=URL.createObjectURL(t);window.open(n,`_blank`,`noopener,noreferrer`)},`Open`),k=()=>O(`png`,async()=>{let{body:e}=await E(`svg`),t=await Ac(e,2,Qc(s));$c(Xc(`svg`).replace(/\.svg$/,`.png`),t),D(`PNG downloaded`)},`PNG export`),ae=()=>O(`print`,async()=>{let{body:e}=await E(`html`);jc(e)},`Print`),oe=C==null&&l===`md`&&t.items.length>0,se=C==null&&t.items.length>0,ce=C==null&&(l===`html`||l===`svg`)&&t.items.length>0,A=C==null&&l===`svg`&&t.items.length>0,le=C==null&&l===`html`&&t.items.length>0,ue=!d,de=Yc(t.items.length,ue),fe=ue?t.items.length:0;return e?.open?t.items.length===0?(0,R.jsxs)(`div`,{className:`composer-modal composer-modal-empty${n?` composer-modal-mobile`:``}`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":rl,children:[(0,R.jsxs)(`header`,{className:`composer-modal-header`,children:[(0,R.jsx)(`h2`,{id:rl,children:`Compose report`}),(0,R.jsx)(`button`,{type:`button`,className:`composer-modal-close`,onClick:()=>L(ye()),"aria-label":`Close`,children:`⤬`})]}),(0,R.jsx)(`p`,{className:`composer-empty-message`,children:`Basket is empty. Open any panel's share menu and pick + Basket to add a section.`})]}):(0,R.jsxs)(`div`,{className:`composer-modal${n?` composer-modal-mobile`:``}`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":rl,children:[(0,R.jsxs)(`header`,{className:`composer-modal-header`,children:[(0,R.jsx)(`h2`,{id:rl,children:`Compose report`}),(0,R.jsx)(`button`,{type:`button`,className:`composer-modal-close`,onClick:()=>L(ye()),"aria-label":`Close`,children:`⤬`})]}),(0,R.jsxs)(`div`,{className:`composer-knobs`,children:[(0,R.jsxs)(`label`,{children:[`Title`,(0,R.jsx)(`input`,{type:`text`,value:a,onChange:e=>o(e.target.value)})]}),(0,R.jsxs)(`label`,{children:[`Theme`,(0,R.jsxs)(`select`,{value:s,onChange:e=>c(e.target.value),children:[(0,R.jsx)(`option`,{value:`light`,children:`light`}),(0,R.jsx)(`option`,{value:`dark`,children:`dark`})]})]}),(0,R.jsxs)(`label`,{children:[`Format`,(0,R.jsxs)(`select`,{value:l,onChange:e=>u(e.target.value),children:[(0,R.jsx)(`option`,{value:`html`,children:`html`}),(0,R.jsx)(`option`,{value:`md`,children:`md`}),(0,R.jsx)(`option`,{value:`svg`,children:`svg`})]})]}),(0,R.jsxs)(`label`,{children:[(0,R.jsx)(`input`,{type:`checkbox`,checked:d,onChange:e=>f(e.target.checked)}),`Anon on export`]}),(0,R.jsxs)(`label`,{children:[(0,R.jsx)(`input`,{type:`checkbox`,checked:p,onChange:e=>m(e.target.checked)}),`No branding`]})]}),de?(0,R.jsxs)(`div`,{className:`composer-anon-banner`,role:`status`,"aria-live":`polite`,children:[(0,R.jsxs)(`span`,{children:[fe,` section`,fe===1?``:`s`,` contain real project names. They will appear in the export.`]}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>f(!0),children:`Anonymize all`})]}):null,(0,R.jsxs)(`div`,{className:`composer-body`,children:[(0,R.jsx)(qc,{items:t.items,results:h?.snapshot.section_results??[],kernelVersion:h?.snapshot.kernel_version??1,onRefresh:e=>{te(e)},onRemove:e=>L({type:`BASKET_REMOVE`,id:e}),onPreviewOnly:e=>{}}),(0,R.jsx)(`iframe`,{className:`composer-preview`,title:`Combined preview`,tabIndex:-1,sandbox:`allow-same-origin`,srcDoc:h?.body??`<p>Composing…</p>`})]}),b?(0,R.jsx)(`div`,{className:`composer-busy`,children:`Composing…`}):null,v?(0,R.jsx)(`div`,{className:`composer-error`,role:`alert`,children:v}):null,T?(0,R.jsx)(`div`,{className:`composer-error`,role:`alert`,children:T}):null,(0,R.jsxs)(`footer`,{className:`composer-actions`,children:[(0,R.jsxs)(`div`,{className:`composer-export-row`,children:[(0,R.jsx)(`button`,{type:`button`,className:`share-action share-action-copy`,onClick:ne,disabled:!oe,title:l===`md`?C===`copy`?`Copying…`:`Copy composed report to clipboard`:`Copy is available for Markdown only`,children:C===`copy`?`Copying…`:`Copy`}),(0,R.jsx)(`button`,{type:`button`,className:`share-action share-action-download`,onClick:re,disabled:!se,title:C===`download`?`Downloading…`:`Download composed report`,children:C===`download`?`Downloading…`:`Download`}),(0,R.jsx)(`button`,{type:`button`,className:`share-action share-action-open`,onClick:ie,disabled:!ce,title:l===`html`||l===`svg`?C===`open`?`Opening…`:`Open composed report in new tab`:`Open is available for HTML/SVG`,children:C===`open`?`Opening…`:`Open`}),(0,R.jsx)(`button`,{type:`button`,className:`share-action share-action-png`,onClick:k,disabled:!A,title:l===`svg`?C===`png`?`Rasterizing…`:`Download composed report as PNG`:`PNG export — available for SVG format only`,children:C===`png`?`Rasterizing…`:`PNG`}),(0,R.jsx)(`button`,{type:`button`,className:`share-action share-action-print`,onClick:ae,disabled:!le,title:l===`html`?C===`print`?`Opening print dialog…`:`Open the browser print dialog (save as PDF)`:`Print → PDF — available for HTML format only`,children:C===`print`?`Printing…`:`Print → PDF`})]}),(0,R.jsx)(`button`,{type:`button`,className:`composer-clear-all`,onClick:()=>L({type:`BASKET_CLEAR`}),children:`Clear all`})]})]}):null}function al(){let e=(0,g.useSyncExternalStore)(I,()=>F().shareModal),t=(0,g.useRef)(null),n=(0,g.useRef)(!1);(0,g.useEffect)(()=>{if(e)n.current||(n.current=!0,t.current=(e.triggerId?document.getElementById(e.triggerId):null)??document.activeElement);else if(n.current){n.current=!1;let e=t.current;if(t.current=null,e&&typeof e.focus==`function`&&document.contains(e))e.focus();else{let e=document.activeElement;e&&typeof e.blur==`function`&&e.blur(),document.body.focus()}}},[e]);let r=()=>L(_e());return(0,R.jsxs)(R.Fragment,{children:[e?(0,R.jsx)(`div`,{id:`share-modal-root`,className:`share-overlay`,onClick:e=>{e.stopPropagation(),e.target===e.currentTarget&&r()},children:(0,R.jsx)(Wc,{panel:e.panel,initialParams:e.params,onClose:r})}):null,(0,R.jsx)(il,{})]})}function ol(){let e=(0,g.useSyncExternalStore)(I,()=>F().prefs.panelOrder);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Ot,{}),(0,R.jsx)(wo,{items:e,children:(0,R.jsx)(`div`,{className:`grid`,children:e.map((e,t)=>(0,R.jsx)(yo,{id:e,index:t},e))})}),(0,R.jsx)(Pt,{}),(0,R.jsx)(Un,{}),(0,R.jsx)(qn,{}),(0,R.jsx)(uc,{}),(0,R.jsx)(al,{}),(0,R.jsx)(Ko,{}),(0,R.jsx)(Do,{}),(0,R.jsx)(er,{})]})}function sl(e){let t=F().prefs.panelOrder,n=e-1;if(n<0||n>=t.length)return;let r=Bn[t[n]];r&&r.openAction()}var cl=`Click a panel first, then press S to share it.`;function ll(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(an).matches}function ul(){if(typeof document>`u`)return null;let e=document.activeElement;if(!e||!(e instanceof Element))return null;let t=e.closest(`[data-panel-kind]`);return t?t.getAttribute(`data-panel-kind`):null}function dl(){return{key:`S`,scope:`global`,when:()=>{let e=F();return!(ll()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>{let e=ul();if(e===null){L({type:`SHOW_STATUS_TOAST`,text:cl});return}if(!A.has(e))return;let t=e;L(M(t,`${t}-panel`))}}}function fl(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(an).matches}function pl(){return{key:`B`,scope:`global`,when:()=>{let e=F();return!(fl()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>L(ve())}}function ml(){return[pl()]}mt(),nt(),Bt();var $=()=>{let e=F();return!e.update.modalOpen&&!e.doctorModalOpen};zt([{key:`1`,scope:`global`,when:$,action:()=>sl(1)},{key:`2`,scope:`global`,when:$,action:()=>sl(2)},{key:`3`,scope:`global`,when:$,action:()=>sl(3)},{key:`4`,scope:`global`,when:$,action:()=>sl(4)},{key:`5`,scope:`global`,when:$,action:()=>sl(5)},{key:`6`,scope:`global`,when:$,action:()=>sl(6)},{key:`7`,scope:`global`,when:$,action:()=>sl(7)},{key:`8`,scope:`global`,when:$,action:()=>sl(8)},{key:`9`,scope:`global`,when:$,action:()=>sl(9)},{key:`0`,scope:`global`,when:$,action:()=>sl(10)},{key:`r`,scope:`global`,when:$,action:()=>Et()},{key:`q`,scope:`global`,when:$,action:Nt},{key:`n`,scope:`global`,when:$,action:()=>jt(1)},{key:`N`,scope:`global`,when:$,action:()=>jt(-1)},{key:`d`,scope:`global`,when:()=>{let e=F();return!(e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>L({type:`OPEN_DOCTOR_MODAL`})},dl(),...ml(),{key:`c`,scope:`sessions`,when:()=>!F().openModal,action:()=>{let e=F().prefs.sessionsCollapsed;L({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!e}})}}]);var hl=document.getElementById(`root`);if(!hl)throw Error(`missing #root`);(0,_.createRoot)(hl).render((0,R.jsx)(g.StrictMode,{children:(0,R.jsx)(ol,{})}));
|