@gethelio/proxy 0.13.0 → 0.14.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.
@@ -57,8 +57,8 @@ Error generating stack: `+c.message+`
57
57
  * @license MIT
58
58
  */var Cg=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,T2=/^[\\/]{2}/;function gR(e,t){return t+e.replace(/\\/g,"/")}var tO="popstate";function nO(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function bR(e={}){function t(r,l){var h;let u=(h=l.state)==null?void 0:h.masked,{pathname:s,search:f,hash:d}=u||r.location;return Ty("",{pathname:s,search:f,hash:d},l.state&&l.state.usr||null,l.state&&l.state.key||"default",u?{pathname:r.location.pathname,search:r.location.search,hash:r.location.hash}:void 0)}function n(r,l){return typeof l=="string"?l:ko(l)}return SR(t,n,null,e)}function lt(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function wr(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function xR(){return Math.random().toString(36).substring(2,10)}function rO(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function Ty(e,t,n=null,r,l){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?su(t):t,state:n,key:t&&t.key||r||xR(),mask:l}}function ko({pathname:e="/",search:t="",hash:n=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function su(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function SR(e,t,n,r={}){let{window:l=document.defaultView,v5Compat:u=!1}=r,s=l.history,f="POP",d=null,h=m();h==null&&(h=0,s.replaceState({...s.state,idx:h},""));function m(){return(s.state||{idx:null}).idx}function v(){f="POP";let w=m(),j=w==null?null:w-h;h=w,d&&d({action:f,location:_.location,delta:j})}function b(w,j){f="PUSH";let A=nO(w)?w:Ty(_.location,w,j);h=m()+1;let N=rO(A,h),T=_.createHref(A.mask||A);try{s.pushState(N,"",T)}catch(P){if(P instanceof DOMException&&P.name==="DataCloneError")throw P;l.location.assign(T)}u&&d&&d({action:f,location:_.location,delta:1})}function S(w,j){f="REPLACE";let A=nO(w)?w:Ty(_.location,w,j);h=m();let N=rO(A,h),T=_.createHref(A.mask||A);s.replaceState(N,"",T),u&&d&&d({action:f,location:_.location,delta:0})}function O(w){return wR(l,w)}let _={get action(){return f},get location(){return e(l,s)},listen(w){if(d)throw new Error("A history only accepts one active listener");return l.addEventListener(tO,v),d=w,()=>{l.removeEventListener(tO,v),d=null}},createHref(w){return t(l,w)},createURL:O,encodeLocation(w){let j=O(w);return{pathname:j.pathname,search:j.search,hash:j.hash}},push:b,replace:S,go(w){return s.go(w)}};return _}function wR(e,t,n=!1){let r="http://localhost";e&&(r=e.location.origin!=="null"?e.location.origin:e.location.href),lt(r,"No window.location.(origin|href) available to create URL");let l=typeof t=="string"?t:ko(t);return l=l.replace(/ $/,"%20"),!n&&T2.test(l)&&(l=r+l),new URL(l,r)}function N2(e,t,n="/"){return OR(e,t,n,!1)}function OR(e,t,n,r,l){let u=typeof t=="string"?su(t):t,s=na(u.pathname||"/",n);if(s==null)return null;let f=_R(e),d=null,h=kR(s);for(let m=0;d==null&&m<f.length;++m)d=RR(f[m],h,r);return d}function _R(e){let t=P2(e);return ER(t),t}function P2(e,t=[],n=[],r="",l=!1){let u=(s,f,d=l,h)=>{let m={relativePath:h===void 0?s.path||"":h,caseSensitive:s.caseSensitive===!0,childrenIndex:f,route:s};if(m.relativePath.startsWith("/")){if(!m.relativePath.startsWith(r)&&d)return;lt(m.relativePath.startsWith(r),`Absolute route path "${m.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),m.relativePath=m.relativePath.slice(r.length)}let v=ir([r,m.relativePath]),b=n.concat(m);s.children&&s.children.length>0&&(lt(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${v}".`),P2(s.children,t,b,v,d)),!(s.path==null&&!s.index)&&t.push({path:v,score:MR(v,s.index),routesMeta:b.map((S,O)=>{let[_,w]=R2(S.relativePath,S.caseSensitive,O===b.length-1);return{...S,matcher:_,compiledParams:w}})})};return e.forEach((s,f)=>{var d;if(s.path===""||!((d=s.path)!=null&&d.includes("?")))u(s,f);else for(let h of M2(s.path))u(s,f,!0,h)}),t}function M2(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,l=n.endsWith("?"),u=n.replace(/\?$/,"");if(r.length===0)return l?[u,""]:[u];let s=M2(r.join("/")),f=[];return f.push(...s.map(d=>d===""?u:[u,d].join("/"))),l&&f.push(...s),f.map(d=>e.startsWith("/")&&d===""?"/":d)}function ER(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:DR(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}var jR=/^:[\w-]+$/,AR=3,CR=2,TR=1,NR=10,PR=-2,aO=e=>e==="*";function MR(e,t){let n=e.split("/"),r=n.length;return n.some(aO)&&(r+=PR),t&&(r+=CR),n.filter(l=>!aO(l)).reduce((l,u)=>l+(jR.test(u)?AR:u===""?TR:NR),r)}function DR(e,t){return e.length===t.length&&e.slice(0,-1).every((r,l)=>r===t[l])?e[e.length-1]-t[t.length-1]:0}function RR(e,t,n=!1){let{routesMeta:r}=e,l={},u="/",s=[];for(let f=0;f<r.length;++f){let d=r[f],h=f===r.length-1,m=u==="/"?t:t.slice(u.length)||"/",v={path:d.relativePath,caseSensitive:d.caseSensitive,end:h},b=d.matcher&&d.compiledParams?D2(v,m,d.matcher,d.compiledParams):bf(v,m),S=d.route;if(!b&&h&&n&&!r[r.length-1].route.index&&(b=bf({path:d.relativePath,caseSensitive:d.caseSensitive,end:!1},m)),!b)return null;Object.assign(l,b.params),s.push({params:l,pathname:ir([u,b.pathname]),pathnameBase:IR(ir([u,b.pathnameBase])),route:S}),b.pathnameBase!=="/"&&(u=ir([u,b.pathnameBase]))}return s}function bf(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=R2(e.path,e.caseSensitive,e.end);return D2(e,t,n,r)}function D2(e,t,n,r){let l=t.match(n);if(!l)return null;let u=l[0],s=u.replace(/(.)\/+$/,"$1"),f=l.slice(1);return{params:r.reduce((h,{paramName:m,isOptional:v},b)=>{if(m==="*"){let O=f[b]||"";s=u.slice(0,u.length-O.length).replace(/(.)\/+$/,"$1")}const S=f[b];return v&&!S?h[m]=void 0:h[m]=(S||"").replace(/%2F/g,"/"),h},{}),pathname:u,pathnameBase:s,pattern:e}}function R2(e,t=!1,n=!0){wr(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],l="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,f,d,h,m)=>{if(r.push({paramName:f,isOptional:d!=null}),d){let v=m.charAt(h+s.length);return v&&v!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(r.push({paramName:"*"}),l+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?l+="\\/*$":e!==""&&e!=="/"&&(l+="(?:(?=\\/|$))"),[new RegExp(l,t?void 0:"i"),r]}function kR(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return wr(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function na(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function LR(e,t="/"){let{pathname:n,search:r="",hash:l=""}=typeof e=="string"?su(e):e,u;return n?(n=L2(n),n.startsWith("/")?u=iO(n.substring(1),"/"):u=iO(n,t)):u=t,{pathname:u,search:BR(r),hash:UR(l)}}function iO(e,t){let n=xf(t).split("/");return e.split("/").forEach(l=>{l===".."?n.length>1&&n.pop():l!=="."&&n.push(l)}),n.length>1?n.join("/"):"/"}function Uv(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function zR(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function k2(e){let t=zR(e);return t.map((n,r)=>r===t.length-1?n.pathname:n.pathnameBase)}function Tg(e,t,n,r=!1){let l;typeof e=="string"?l=su(e):(l={...e},lt(!l.pathname||!l.pathname.includes("?"),Uv("?","pathname","search",l)),lt(!l.pathname||!l.pathname.includes("#"),Uv("#","pathname","hash",l)),lt(!l.search||!l.search.includes("#"),Uv("#","search","hash",l)));let u=e===""||l.pathname==="",s=u?"/":l.pathname,f;if(s==null)f=n;else{let v=t.length-1;if(!r&&s.startsWith("..")){let b=s.split("/");for(;b[0]==="..";)b.shift(),v-=1;l.pathname=b.join("/")}f=v>=0?t[v]:"/"}let d=LR(l,f),h=s&&s!=="/"&&s.endsWith("/"),m=(u||s===".")&&n.endsWith("/");return!d.pathname.endsWith("/")&&(h||m)&&(d.pathname+="/"),d}var L2=e=>e.replace(/[\\/]{2,}/g,"/"),ir=e=>L2(e.join("/")),xf=e=>e.replace(/\/+$/,""),IR=e=>xf(e).replace(/^\/*/,"/"),BR=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,UR=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,$R=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||"",this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function qR(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function HR(e){let t=e.map(n=>n.route.path).filter(Boolean);return ir(t)||"/"}var z2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function I2(e,t){let n=e;if(typeof n!="string"||!Cg.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,l=!1;if(z2)try{let u=new URL(window.location.href),s=T2.test(n)?new URL(gR(n,u.protocol)):new URL(n),f=na(s.pathname,t);s.origin===u.origin&&f!=null?n=f+s.search+s.hash:l=!0}catch{wr(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:l,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var B2=["POST","PUT","PATCH","DELETE"];new Set(B2);var KR=["GET",...B2];new Set(KR);var YR=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function GR(e){try{return YR.includes(new URL(e).protocol)}catch{return!1}}var cu=y.createContext(null);cu.displayName="DataRouter";var xd=y.createContext(null);xd.displayName="DataRouterState";var U2=y.createContext(!1);function VR(){return y.useContext(U2)}var $2=y.createContext({isTransitioning:!1});$2.displayName="ViewTransition";var XR=y.createContext(new Map);XR.displayName="Fetchers";var FR=y.createContext(null);FR.displayName="Await";var Zn=y.createContext(null);Zn.displayName="Navigation";var es=y.createContext(null);es.displayName="Location";var Ar=y.createContext({outlet:null,matches:[],isDataRoute:!1});Ar.displayName="Route";var Ng=y.createContext(null);Ng.displayName="RouteError";var q2="REACT_ROUTER_ERROR",ZR="REDIRECT",WR="ROUTE_ERROR_RESPONSE";function QR(e){if(e.startsWith(`${q2}:${ZR}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function JR(e){if(e.startsWith(`${q2}:${WR}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new $R(t.status,t.statusText,t.data)}catch{}}function ek(e,{relative:t}={}){lt(ts(),"useHref() may be used only in the context of a <Router> component.");let{basename:n,navigator:r}=y.useContext(Zn),{hash:l,pathname:u,search:s}=ns(e,{relative:t}),f=u;return n!=="/"&&(f=u==="/"?n:ir([n,u])),r.createHref({pathname:f,search:s,hash:l})}function ts(){return y.useContext(es)!=null}function ua(){return lt(ts(),"useLocation() may be used only in the context of a <Router> component."),y.useContext(es).location}var H2="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function K2(e){y.useContext(Zn).static||y.useLayoutEffect(e)}function tk(){let{isDataRoute:e}=y.useContext(Ar);return e?pk():nk()}function nk(){lt(ts(),"useNavigate() may be used only in the context of a <Router> component.");let e=y.useContext(cu),{basename:t,navigator:n}=y.useContext(Zn),{matches:r}=y.useContext(Ar),{pathname:l}=ua(),u=JSON.stringify(k2(r)),s=y.useRef(!1);return K2(()=>{s.current=!0}),y.useCallback((d,h={})=>{if(wr(s.current,H2),!s.current)return;if(typeof d=="number"){n.go(d);return}let m=Tg(d,JSON.parse(u),l,h.relative==="path");e==null&&t!=="/"&&(m.pathname=m.pathname==="/"?t:ir([t,m.pathname])),(h.replace?n.replace:n.push)(m,h.state,h)},[t,n,u,l,e])}var rk=y.createContext(null);function ak(e){let t=y.useContext(Ar).outlet;return y.useMemo(()=>t&&y.createElement(rk.Provider,{value:e},t),[t,e])}function ns(e,{relative:t}={}){let{matches:n}=y.useContext(Ar),{pathname:r}=ua(),l=JSON.stringify(k2(n));return y.useMemo(()=>Tg(e,JSON.parse(l),r,t==="path"),[e,l,r,t])}function ik(e,t){return Y2(e,t)}function Y2(e,t,n){var w;lt(ts(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:r}=y.useContext(Zn),{matches:l}=y.useContext(Ar),u=l[l.length-1],s=u?u.params:{},f=u?u.pathname:"/",d=u?u.pathnameBase:"/",h=u&&u.route;{let j=h&&h.path||"";V2(f,!h||j.endsWith("*")||j.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${f}" (under <Route path="${j}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
59
59
 
60
- Please change the parent <Route path="${j}"> to <Route path="${j==="/"?"*":`${j}/*`}">.`)}let m=ua(),v;if(t){let j=typeof t=="string"?su(t):t;lt(d==="/"||((w=j.pathname)==null?void 0:w.startsWith(d)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${d}" but pathname "${j.pathname}" was given in the \`location\` prop.`),v=j}else v=m;let b=v.pathname||"/",S=b;if(d!=="/"){let j=d.replace(/^\//,"").split("/");S="/"+b.replace(/^\//,"").split("/").slice(j.length).join("/")}let O=n&&n.state.matches.length?n.state.matches.map(j=>Object.assign(j,{route:n.manifest[j.route.id]||j.route})):N2(e,{pathname:S});wr(h||O!=null,`No routes matched location "${v.pathname}${v.search}${v.hash}" `),wr(O==null||O[O.length-1].route.element!==void 0||O[O.length-1].route.Component!==void 0||O[O.length-1].route.lazy!==void 0,`Matched leaf route at location "${v.pathname}${v.search}${v.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let _=ck(O&&O.map(j=>Object.assign({},j,{params:Object.assign({},s,j.params),pathname:ir([d,r.encodeLocation?r.encodeLocation(j.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:j.pathname]),pathnameBase:j.pathnameBase==="/"?d:ir([d,r.encodeLocation?r.encodeLocation(j.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:j.pathnameBase])})),l,n);return t&&_?y.createElement(es.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...v},navigationType:"POP"}},_):_}function lk(){let e=vk(),t=qR(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",l={padding:"0.5rem",backgroundColor:r},u={padding:"2px 4px",backgroundColor:r},s=null;return console.error("Error handled by React Router default ErrorBoundary:",e),s=y.createElement(y.Fragment,null,y.createElement("p",null,"💿 Hey developer 👋"),y.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",y.createElement("code",{style:u},"ErrorBoundary")," or"," ",y.createElement("code",{style:u},"errorElement")," prop on your route.")),y.createElement(y.Fragment,null,y.createElement("h2",null,"Unexpected Application Error!"),y.createElement("h3",{style:{fontStyle:"italic"}},t),n?y.createElement("pre",{style:l},n):null,s)}var uk=y.createElement(lk,null),G2=class extends y.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const n=JR(e.digest);n&&(e=n)}let t=e!==void 0?y.createElement(Ar.Provider,{value:this.props.routeContext},y.createElement(Ng.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?y.createElement(ok,{error:e},t):t}};G2.contextType=U2;var $v=new WeakMap;function ok({children:e,error:t}){let{basename:n}=y.useContext(Zn);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let r=QR(t.digest);if(r){let l=$v.get(t);if(l)throw l;let u=I2(r.location,n),s=u.absoluteURL||u.to;if(GR(s))throw new Error("Invalid redirect location");if(z2&&!$v.get(t))if(u.isExternal||r.reloadDocument)window.location.href=s;else{const f=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(u.to,{replace:r.replace}));throw $v.set(t,f),f}return y.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s}`})}}return e}function sk({routeContext:e,match:t,children:n}){let r=y.useContext(cu);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),y.createElement(Ar.Provider,{value:e},n)}function ck(e,t=[],n){let r=n==null?void 0:n.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let l=e,u=r==null?void 0:r.errors;if(u!=null){let m=l.findIndex(v=>v.route.id&&(u==null?void 0:u[v.route.id])!==void 0);lt(m>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(u).join(",")}`),l=l.slice(0,Math.min(l.length,m+1))}let s=!1,f=-1;if(n&&r){s=r.renderFallback;for(let m=0;m<l.length;m++){let v=l[m];if((v.route.HydrateFallback||v.route.hydrateFallbackElement)&&(f=m),v.route.id){let{loaderData:b,errors:S}=r,O=v.route.loader&&!b.hasOwnProperty(v.route.id)&&(!S||S[v.route.id]===void 0);if(v.route.lazy||O){n.isStatic&&(s=!0),f>=0?l=l.slice(0,f+1):l=[l[0]];break}}}}let d=n==null?void 0:n.onError,h=r&&d?(m,v)=>{var b,S;d(m,{location:r.location,params:((S=(b=r.matches)==null?void 0:b[0])==null?void 0:S.params)??{},pattern:HR(r.matches),errorInfo:v})}:void 0;return l.reduceRight((m,v,b)=>{let S,O=!1,_=null,w=null;r&&(S=u&&v.route.id?u[v.route.id]:void 0,_=v.route.errorElement||uk,s&&(f<0&&b===0?(V2("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),O=!0,w=null):f===b&&(O=!0,w=v.route.hydrateFallbackElement||null)));let j=t.concat(l.slice(0,b+1)),A=()=>{let N;return S?N=_:O?N=w:v.route.Component?N=y.createElement(v.route.Component,null):v.route.element?N=v.route.element:N=m,y.createElement(sk,{match:v,routeContext:{outlet:m,matches:j,isDataRoute:r!=null},children:N})};return r&&(v.route.ErrorBoundary||v.route.errorElement||b===0)?y.createElement(G2,{location:r.location,revalidation:r.revalidation,component:_,error:S,children:A(),routeContext:{outlet:null,matches:j,isDataRoute:!0},onError:h}):A()},null)}function Pg(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function fk(e){let t=y.useContext(cu);return lt(t,Pg(e)),t}function dk(e){let t=y.useContext(xd);return lt(t,Pg(e)),t}function hk(e){let t=y.useContext(Ar);return lt(t,Pg(e)),t}function Mg(e){let t=hk(e),n=t.matches[t.matches.length-1];return lt(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function mk(){return Mg("useRouteId")}function vk(){var r;let e=y.useContext(Ng),t=dk("useRouteError"),n=Mg("useRouteError");return e!==void 0?e:(r=t.errors)==null?void 0:r[n]}function pk(){let{router:e}=fk("useNavigate"),t=Mg("useNavigate"),n=y.useRef(!1);return K2(()=>{n.current=!0}),y.useCallback(async(l,u={})=>{wr(n.current,H2),n.current&&(typeof l=="number"?await e.navigate(l):await e.navigate(l,{fromRouteId:t,...u}))},[e,t])}var lO={};function V2(e,t,n){!t&&!lO[e]&&(lO[e]=!0,wr(!1,n))}y.memo(yk);function yk({routes:e,manifest:t,future:n,state:r,isStatic:l,onError:u}){return Y2(e,void 0,{manifest:t,state:r,isStatic:l,onError:u})}function gk(e){return ak(e.context)}function Ua(e){lt(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function bk({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:l,static:u=!1,useTransitions:s}){lt(!ts(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let f=e.replace(/^\/*/,"/"),d=y.useMemo(()=>({basename:f,navigator:l,static:u,useTransitions:s,future:{}}),[f,l,u,s]);typeof n=="string"&&(n=su(n));let{pathname:h="/",search:m="",hash:v="",state:b=null,key:S="default",mask:O}=n,_=y.useMemo(()=>{let w=na(h,f);return w==null?null:{location:{pathname:w,search:m,hash:v,state:b,key:S,mask:O},navigationType:r}},[f,h,m,v,b,S,r,O]);return wr(_!=null,`<Router basename="${f}"> is not able to match the URL "${h}${m}${v}" because it does not start with the basename, so the <Router> won't render anything.`),_==null?null:y.createElement(Zn.Provider,{value:d},y.createElement(es.Provider,{children:t,value:_}))}function xk({children:e,location:t}){return ik(Ny(e),t)}function Ny(e,t=[]){let n=[];return y.Children.forEach(e,(r,l)=>{if(!y.isValidElement(r))return;let u=[...t,l];if(r.type===y.Fragment){n.push.apply(n,Ny(r.props.children,u));return}lt(r.type===Ua,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),lt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let s={id:r.props.id||u.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=Ny(r.props.children,u)),n.push(s)}),n}var ff="get",df="application/x-www-form-urlencoded";function Sd(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function Sk(e){return Sd(e)&&e.tagName.toLowerCase()==="button"}function wk(e){return Sd(e)&&e.tagName.toLowerCase()==="form"}function Ok(e){return Sd(e)&&e.tagName.toLowerCase()==="input"}function _k(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Ek(e,t){return e.button===0&&(!t||t==="_self")&&!_k(e)}var Hc=null;function jk(){if(Hc===null)try{new FormData(document.createElement("form"),0),Hc=!1}catch{Hc=!0}return Hc}var Ak=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function qv(e){return e!=null&&!Ak.has(e)?(wr(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${df}"`),null):e}function Ck(e,t){let n,r,l,u,s;if(wk(e)){let f=e.getAttribute("action");r=f?na(f,t):null,n=e.getAttribute("method")||ff,l=qv(e.getAttribute("enctype"))||df,u=new FormData(e)}else if(Sk(e)||Ok(e)&&(e.type==="submit"||e.type==="image")){let f=e.form;if(f==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let d=e.getAttribute("formaction")||f.getAttribute("action");if(r=d?na(d,t):null,n=e.getAttribute("formmethod")||f.getAttribute("method")||ff,l=qv(e.getAttribute("formenctype"))||qv(f.getAttribute("enctype"))||df,u=new FormData(f,e),!jk()){let{name:h,type:m,value:v}=e;if(m==="image"){let b=h?`${h}.`:"";u.append(`${b}x`,"0"),u.append(`${b}y`,"0")}else h&&u.append(h,v)}}else{if(Sd(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=ff,r=null,l=df,s=e}return u&&l==="text/plain"&&(s=u,u=void 0),{action:r,method:n.toLowerCase(),encType:l,formData:u,body:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Dg(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function X2(e,t,n,r){let l=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n?l.pathname.endsWith("/")?l.pathname=`${l.pathname}_.${r}`:l.pathname=`${l.pathname}.${r}`:l.pathname==="/"?l.pathname=`_root.${r}`:t&&na(l.pathname,t)==="/"?l.pathname=`${xf(t)}/_root.${r}`:l.pathname=`${xf(l.pathname)}.${r}`,l}async function Tk(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(n){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(n),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Nk(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Pk(e,t,n){let r=await Promise.all(e.map(async l=>{let u=t.routes[l.route.id];if(u){let s=await Tk(u,n);return s.links?s.links():[]}return[]}));return kk(r.flat(1).filter(Nk).filter(l=>l.rel==="stylesheet"||l.rel==="preload").map(l=>l.rel==="stylesheet"?{...l,rel:"prefetch",as:"style"}:{...l,rel:"prefetch"}))}function uO(e,t,n,r,l,u){let s=(d,h)=>n[h]?d.route.id!==n[h].route.id:!0,f=(d,h)=>{var m;return n[h].pathname!==d.pathname||((m=n[h].route.path)==null?void 0:m.endsWith("*"))&&n[h].params["*"]!==d.params["*"]};return u==="assets"?t.filter((d,h)=>s(d,h)||f(d,h)):u==="data"?t.filter((d,h)=>{var v;let m=r.routes[d.route.id];if(!m||!m.hasLoader)return!1;if(s(d,h)||f(d,h))return!0;if(d.route.shouldRevalidate){let b=d.route.shouldRevalidate({currentUrl:new URL(l.pathname+l.search+l.hash,window.origin),currentParams:((v=n[0])==null?void 0:v.params)||{},nextUrl:new URL(e,window.origin),nextParams:d.params,defaultShouldRevalidate:!0});if(typeof b=="boolean")return b}return!0}):[]}function Mk(e,t,{includeHydrateFallback:n}={}){return Dk(e.map(r=>{let l=t.routes[r.route.id];if(!l)return[];let u=[l.module];return l.clientActionModule&&(u=u.concat(l.clientActionModule)),l.clientLoaderModule&&(u=u.concat(l.clientLoaderModule)),n&&l.hydrateFallbackModule&&(u=u.concat(l.hydrateFallbackModule)),l.imports&&(u=u.concat(l.imports)),u}).flat(1))}function Dk(e){return[...new Set(e)]}function Rk(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function kk(e,t){let n=new Set;return new Set(t),e.reduce((r,l)=>{let u=JSON.stringify(Rk(l));return n.has(u)||(n.add(u),r.push({key:u,link:l})),r},[])}function Rg(){let e=y.useContext(cu);return Dg(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Lk(){let e=y.useContext(xd);return Dg(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var kg=y.createContext(void 0);kg.displayName="FrameworkContext";function wd(){let e=y.useContext(kg);return Dg(e,"You must render this element inside a <HydratedRouter> element"),e}function zk(e,t){let n=y.useContext(kg),[r,l]=y.useState(!1),[u,s]=y.useState(!1),{onFocus:f,onBlur:d,onMouseEnter:h,onMouseLeave:m,onTouchStart:v}=t,b=y.useRef(null);y.useEffect(()=>{if(e==="render"&&s(!0),e==="viewport"){let _=j=>{j.forEach(A=>{s(A.isIntersecting)})},w=new IntersectionObserver(_,{threshold:.5});return b.current&&w.observe(b.current),()=>{w.disconnect()}}},[e]),y.useEffect(()=>{if(r){let _=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(_)}}},[r]);let S=()=>{l(!0)},O=()=>{l(!1),s(!1)};return n?e!=="intent"?[u,b,{}]:[u,b,{onFocus:go(f,S),onBlur:go(d,O),onMouseEnter:go(h,S),onMouseLeave:go(m,O),onTouchStart:go(v,S)}]:[!1,b,{}]}function go(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Ik({page:e,...t}){let n=VR(),{nonce:r}=wd(),{router:l}=Rg(),u=y.useMemo(()=>N2(l.routes,e,l.basename),[l.routes,e,l.basename]);return u?(t.nonce==null&&r&&(t={...t,nonce:r}),n?y.createElement(Uk,{page:e,matches:u,...t}):y.createElement($k,{page:e,matches:u,...t})):null}function Bk(e){let{manifest:t,routeModules:n}=wd(),[r,l]=y.useState([]);return y.useEffect(()=>{let u=!1;return Pk(e,t,n).then(s=>{u||l(s)}),()=>{u=!0}},[e,t,n]),r}function Uk({page:e,matches:t,...n}){let r=ua(),{future:l}=wd(),{basename:u}=Rg(),s=y.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let f=X2(e,u,l.v8_trailingSlashAwareDataRequests,"rsc"),d=!1,h=[];for(let m of t)typeof m.route.shouldRevalidate=="function"?d=!0:h.push(m.route.id);return d&&h.length>0&&f.searchParams.set("_routes",h.join(",")),[f.pathname+f.search]},[u,l.v8_trailingSlashAwareDataRequests,e,r,t]);return y.createElement(y.Fragment,null,s.map(f=>y.createElement("link",{key:f,rel:"prefetch",as:"fetch",href:f,...n})))}function $k({page:e,matches:t,...n}){let r=ua(),{future:l,manifest:u,routeModules:s}=wd(),{basename:f}=Rg(),{loaderData:d,matches:h}=Lk(),m=y.useMemo(()=>uO(e,t,h,u,r,"data"),[e,t,h,u,r]),v=y.useMemo(()=>uO(e,t,h,u,r,"assets"),[e,t,h,u,r]),b=y.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let _=new Set,w=!1;if(t.forEach(A=>{var T;let N=u.routes[A.route.id];!N||!N.hasLoader||(!m.some(P=>P.route.id===A.route.id)&&A.route.id in d&&((T=s[A.route.id])!=null&&T.shouldRevalidate)||N.hasClientLoader?w=!0:_.add(A.route.id))}),_.size===0)return[];let j=X2(e,f,l.v8_trailingSlashAwareDataRequests,"data");return w&&_.size>0&&j.searchParams.set("_routes",t.filter(A=>_.has(A.route.id)).map(A=>A.route.id).join(",")),[j.pathname+j.search]},[f,l.v8_trailingSlashAwareDataRequests,d,r,u,m,t,e,s]),S=y.useMemo(()=>Mk(v,u),[v,u]),O=Bk(v);return y.createElement(y.Fragment,null,b.map(_=>y.createElement("link",{key:_,rel:"prefetch",as:"fetch",href:_,...n})),S.map(_=>y.createElement("link",{key:_,rel:"modulepreload",href:_,...n})),O.map(({key:_,link:w})=>y.createElement("link",{key:_,nonce:n.nonce,...w,crossOrigin:w.crossOrigin??n.crossOrigin})))}function qk(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}var Hk=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Hk&&(window.__reactRouterVersion="7.18.2")}catch{}function Kk({basename:e,children:t,useTransitions:n,window:r}){let l=y.useRef();l.current==null&&(l.current=bR({window:r,v5Compat:!0}));let u=l.current,[s,f]=y.useState({action:u.action,location:u.location}),d=y.useCallback(h=>{n===!1?f(h):y.startTransition(()=>f(h))},[n]);return y.useLayoutEffect(()=>u.listen(d),[u,d]),y.createElement(bk,{basename:e,children:t,location:s.location,navigationType:s.action,navigator:u,useTransitions:n})}var F2=y.forwardRef(function({onClick:t,discover:n="render",prefetch:r="none",relative:l,reloadDocument:u,replace:s,mask:f,state:d,target:h,to:m,preventScrollReset:v,viewTransition:b,defaultShouldRevalidate:S,...O},_){let{basename:w,navigator:j,useTransitions:A}=y.useContext(Zn),N=typeof m=="string"&&Cg.test(m),T=I2(m,w);m=T.to;let P=ek(m,{relative:l}),M=ua(),R=null;if(f){let J=Tg(f,[],M.mask?M.mask.pathname:"/",!0);w!=="/"&&(J.pathname=J.pathname==="/"?w:ir([w,J.pathname])),R=j.createHref(J)}let[I,q,W]=zk(r,O),X=Vk(m,{replace:s,mask:f,state:d,target:h,preventScrollReset:v,relative:l,viewTransition:b,defaultShouldRevalidate:S,useTransitions:A});function U(J){t&&t(J),J.defaultPrevented||X(J)}let se=!(T.isExternal||u),F=y.createElement("a",{...O,...W,href:(se?R:void 0)||T.absoluteURL||P,onClick:se?U:t,ref:qk(_,q),target:h,"data-discover":!N&&n==="render"?"true":void 0});return I&&!N?y.createElement(y.Fragment,null,F,y.createElement(Ik,{page:P})):F});F2.displayName="Link";var Z2=y.forwardRef(function({"aria-current":t="page",caseSensitive:n=!1,className:r="",end:l=!1,style:u,to:s,viewTransition:f,children:d,...h},m){let v=ns(s,{relative:h.relative}),b=ua(),S=y.useContext(xd),{navigator:O,basename:_}=y.useContext(Zn),w=S!=null&&Qk(v)&&f===!0,j=O.encodeLocation?O.encodeLocation(v).pathname:v.pathname,A=b.pathname,N=S&&S.navigation&&S.navigation.location?S.navigation.location.pathname:null;n||(A=A.toLowerCase(),N=N?N.toLowerCase():null,j=j.toLowerCase()),N&&_&&(N=na(N,_)||N);const T=j!=="/"&&j.endsWith("/")?j.length-1:j.length;let P=A===j||!l&&A.startsWith(j)&&A.charAt(T)==="/",M=N!=null&&(N===j||!l&&N.startsWith(j)&&N.charAt(j.length)==="/"),R={isActive:P,isPending:M,isTransitioning:w},I=P?t:void 0,q;typeof r=="function"?q=r(R):q=[r,P?"active":null,M?"pending":null,w?"transitioning":null].filter(Boolean).join(" ");let W=typeof u=="function"?u(R):u;return y.createElement(F2,{...h,"aria-current":I,className:q,ref:m,style:W,to:s,viewTransition:f},typeof d=="function"?d(R):d)});Z2.displayName="NavLink";var Yk=y.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:r,replace:l,state:u,method:s=ff,action:f,onSubmit:d,relative:h,preventScrollReset:m,viewTransition:v,defaultShouldRevalidate:b,...S},O)=>{let{useTransitions:_}=y.useContext(Zn),w=Zk(),j=Wk(f,{relative:h}),A=s.toLowerCase()==="get"?"get":"post",N=typeof f=="string"&&Cg.test(f),T=P=>{if(d&&d(P),P.defaultPrevented)return;P.preventDefault();let M=P.nativeEvent.submitter,R=(M==null?void 0:M.getAttribute("formmethod"))||s,I=()=>w(M||P.currentTarget,{fetcherKey:t,method:R,navigate:n,replace:l,state:u,relative:h,preventScrollReset:m,viewTransition:v,defaultShouldRevalidate:b});_&&n!==!1?y.startTransition(()=>I()):I()};return y.createElement("form",{ref:O,method:A,action:j,onSubmit:r?d:T,...S,"data-discover":!N&&e==="render"?"true":void 0})});Yk.displayName="Form";function Gk(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function W2(e){let t=y.useContext(cu);return lt(t,Gk(e)),t}function Vk(e,{target:t,replace:n,mask:r,state:l,preventScrollReset:u,relative:s,viewTransition:f,defaultShouldRevalidate:d,useTransitions:h}={}){let m=tk(),v=ua(),b=ns(e,{relative:s});return y.useCallback(S=>{if(Ek(S,t)){S.preventDefault();let O=n!==void 0?n:ko(v)===ko(b),_=()=>m(e,{replace:O,mask:r,state:l,preventScrollReset:u,relative:s,viewTransition:f,defaultShouldRevalidate:d});h?y.startTransition(()=>_()):_()}},[v,m,b,n,r,l,t,e,u,s,f,d,h])}var Xk=0,Fk=()=>`__${String(++Xk)}__`;function Zk(){let{router:e}=W2("useSubmit"),{basename:t}=y.useContext(Zn),n=mk(),r=e.fetch,l=e.navigate;return y.useCallback(async(u,s={})=>{let{action:f,method:d,encType:h,formData:m,body:v}=Ck(u,t);if(s.navigate===!1){let b=s.fetcherKey||Fk();await r(b,n,s.action||f,{defaultShouldRevalidate:s.defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:m,body:v,formMethod:s.method||d,formEncType:s.encType||h,flushSync:s.flushSync})}else await l(s.action||f,{defaultShouldRevalidate:s.defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:m,body:v,formMethod:s.method||d,formEncType:s.encType||h,replace:s.replace,state:s.state,fromRouteId:n,flushSync:s.flushSync,viewTransition:s.viewTransition})},[r,l,t,n])}function Wk(e,{relative:t}={}){let{basename:n}=y.useContext(Zn),r=y.useContext(Ar);lt(r,"useFormAction must be used inside a RouteContext");let[l]=r.matches.slice(-1),u={...ns(e||".",{relative:t})},s=ua();if(e==null){u.search=s.search;let f=new URLSearchParams(u.search),d=f.getAll("index");if(d.some(m=>m==="")){f.delete("index"),d.filter(v=>v).forEach(v=>f.append("index",v));let m=f.toString();u.search=m?`?${m}`:""}}return(!e||e===".")&&l.route.index&&(u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(u.pathname=u.pathname==="/"?n:ir([n,u.pathname])),ko(u)}function Qk(e,{relative:t}={}){let n=y.useContext($2);lt(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=W2("useViewTransitionState"),l=ns(e,{relative:t});if(!n.isTransitioning)return!1;let u=na(n.currentLocation.pathname,r)||n.currentLocation.pathname,s=na(n.nextLocation.pathname,r)||n.nextLocation.pathname;return bf(l.pathname,s)!=null||bf(l.pathname,u)!=null}class Q2 extends Error{constructor(t,n){super(t),this.status=n,this.name="ApiError"}}let Od,hf;function Si(e){Od=e}function oO(e){hf=e}async function ln(e,t){const n={credentials:"same-origin",...t??{}},r=await fetch(e,n);if(!r.ok){const l=await r.text().catch(()=>r.statusText);throw r.status===401&&(hf==null||hf()),new Q2(l,r.status)}return r.json()}function rs(e){const t=Object.entries(e).filter(n=>n[1]!==void 0);return t.length===0?"":"?"+new URLSearchParams(t.map(([n,r])=>[n,String(r)])).toString()}function Lg(e){return e?{"content-type":"application/json","x-helio-csrf":e}:{"content-type":"application/json"}}function Ja(){return{}}function Jk(){return ln("/api/health")}function J2(){return ln("/api/auth/session")}function e4(e){return ln("/api/auth/session",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({secret:e})})}function t4(){return ln("/api/auth/logout",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({})})}function sO(e){return ln("/api/feed"+rs({limit:e==null?void 0:e.limit,offset:e==null?void 0:e.offset,upstream:e==null?void 0:e.upstream,session_source:e==null?void 0:e.session_source}),Ja())}function n4(e){return ln("/api/audit"+rs({tool:e==null?void 0:e.tool,decision:e==null?void 0:e.decision,reason:e==null?void 0:e.reason,blocked:e==null?void 0:e.blocked,session:e==null?void 0:e.session,agent:e==null?void 0:e.agent,origin:e==null?void 0:e.origin,record_kind:e==null?void 0:e.record_kind,channel_id:e==null?void 0:e.channel,sender_id:e==null?void 0:e.sender,from:e==null?void 0:e.from,to:e==null?void 0:e.to,destructive:e==null?void 0:e.destructive,dry_run:e==null?void 0:e.dry_run,upstream_status_min:e==null?void 0:e.upstream_status_min,upstream_status_max:e==null?void 0:e.upstream_status_max,upstream:e==null?void 0:e.upstream,session_source:e==null?void 0:e.session_source,offset:e==null?void 0:e.offset,limit:e==null?void 0:e.limit}),Ja())}function eC(e){return ln("/api/audit/"+encodeURIComponent(e),Ja()).then(t=>t.data)}function r4(e,t){return ln("/api/approvals"+rs({status:e,limit:t==null?void 0:t.limit,offset:(t==null?void 0:t.offset)??0}),Ja())}function a4(){return ln("/api/limits",Ja())}function cO(e){return ln("/api/budgets",{...Ja(),...e!=null&&e.signal?{signal:e.signal}:{}})}function fO(e,t,n){return ln("/api/budgets/"+encodeURIComponent(e)+"/events"+rs({limit:t==null?void 0:t.limit,offset:t==null?void 0:t.offset}),{...Ja(),...n!=null&&n.signal?{signal:n.signal}:{}})}function i4(e,t){return ln("/api/analytics"+rs({from:e,to:t}),Ja())}function l4(e,t){return ln("/api/approvals/"+encodeURIComponent(e)+"/approve",{method:"POST",headers:Lg(Od),body:JSON.stringify({approved_by:t})}).then(()=>{})}function u4(e,t,n){return ln("/api/approvals/"+encodeURIComponent(e)+"/deny",{method:"POST",headers:Lg(Od),body:JSON.stringify({denied_by:t,reason:n})}).then(()=>{})}function o4(e,t,n){return ln("/api/approvals/"+encodeURIComponent(e)+"/break-glass",{method:"POST",headers:Lg(Od),body:JSON.stringify({approved_by:t,reason:n})}).then(()=>{})}function s4(e="/api/events",t){const[n,r]=y.useState(!1),[l,u]=y.useState(0),s=y.useRef(new Map),f=y.useRef(null);y.useEffect(()=>{const h=new EventSource(e);f.current=h,h.onopen=()=>{r(!0),u(v=>v+1)},h.onerror=()=>{r(!1),J2().then(v=>{v.auth_required&&!v.authenticated&&(t==null||t())}).catch(()=>{})};const m=["action","approval_requested","approval_resolved","approval_notification_failed","limit_warning","budget_update","budget_breached"];for(const v of m)h.addEventListener(v,b=>{const S=s.current.get(v);if(!(!S||S.size===0))try{const O=JSON.parse(b.data);for(const _ of S)_(O)}catch{console.warn(`[helio] Failed to parse SSE event data for "${v}"`)}});return()=>{h.close(),f.current=null,r(!1)}},[e,t]);const d=y.useCallback((h,m)=>{const v=s.current;let b=v.get(h);b||(b=new Set,v.set(h,b));const S=m;return b.add(S),()=>{b.delete(S)}},[]);return{connected:n,connectionEpoch:l,subscribe:d}}const tC=y.createContext(null);function c4({children:e,onSessionExpired:t}){const n=s4("/api/events",t);return x.jsx(tC.Provider,{value:n,children:e})}function fu(){const e=y.useContext(tC);if(!e)throw new Error("useEventSourceContext must be used within EventSourceProvider");return e}class f4 extends y.Component{constructor(t){super(t),this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,n){console.error("[helio] Uncaught component error:",t,n.componentStack)}render(){return this.state.hasError?x.jsxs("div",{className:"flex h-screen flex-col items-center justify-center gap-4 px-4 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"})}),x.jsx("p",{className:"text-sm font-medium text-gray-900",children:"Something went wrong"}),this.state.error&&x.jsx("p",{className:"max-w-md text-center text-xs text-gray-400",children:this.state.error.message}),x.jsx("button",{type:"button",onClick:()=>{window.location.reload()},className:"rounded-md bg-gray-900 px-3 py-1.5 text-sm text-white hover:bg-gray-800",children:"Reload"})]}):this.props.children}}function d4(e){const t=Math.floor(e/3600),n=Math.floor(e%3600/60);return t>0?`${String(t)}h ${String(n)}m`:`${String(n)}m`}function h4({connected:e,version:t,uptimeSeconds:n}){const[r,l]=y.useState(!1),[u,s]=y.useState(n),f=y.useRef(Date.now());return y.useEffect(()=>{if(n===void 0)return;f.current=Date.now(),s(n);const d=setInterval(()=>{const h=Math.floor((Date.now()-f.current)/1e3);s(n+h)},1e3);return()=>{clearInterval(d)}},[n]),x.jsxs("div",{className:"relative",children:[x.jsxs("button",{type:"button",className:"flex items-center gap-2 rounded-md px-2 py-1 text-sm text-gray-600 hover:bg-gray-100",onMouseEnter:()=>{l(!0)},onMouseLeave:()=>{l(!1)},onFocus:()=>{l(!0)},onBlur:()=>{l(!1)},onClick:()=>{l(d=>!d)},children:[x.jsx("span",{className:`inline-block h-2.5 w-2.5 rounded-full ${e?"bg-emerald-500":"bg-red-500"}`}),x.jsx("span",{className:"hidden sm:inline",children:e?"Connected":"Disconnected"})]}),r&&x.jsxs("div",{className:"absolute right-0 top-full z-50 mt-1 w-48 rounded-md border border-gray-200 bg-white p-3 text-xs shadow-lg",children:[x.jsx("div",{className:"mb-1 font-medium text-gray-900",children:e?"Proxy connected":"Proxy disconnected"}),t&&x.jsxs("div",{className:"text-gray-500",children:["Version: ",t]}),u!==void 0&&x.jsxs("div",{className:"text-gray-500",children:["Uptime: ",d4(u)]})]})]})}function m4({connected:e,onToggleSidebar:t,onLogout:n}){const[r,l]=y.useState(),[u,s]=y.useState();return y.useEffect(()=>{Jk().then(f=>{l(f.version),s(Math.floor(f.uptime))}).catch(()=>{})},[]),x.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between border-b border-gray-200 bg-white px-4",children:[x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("button",{type:"button",className:"rounded-md p-1.5 text-gray-500 hover:bg-gray-100 md:hidden",onClick:t,"aria-label":"Toggle navigation",children:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}),x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Dashboard"})]}),x.jsxs("div",{className:"flex items-center gap-3",children:[n&&x.jsx("button",{type:"button",className:"rounded-md border border-gray-300 px-2.5 py-1 text-xs font-medium text-gray-700 hover:bg-gray-100",onClick:n,children:"Logout"}),x.jsx(h4,{connected:e,version:r,uptimeSeconds:u})]})]})}const v4=[{to:"/",label:"Feed",icon:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 13.5 14.25 2.25l-3 10.5h9L9.75 24l3-10.5h-9Z"})})},{to:"/approvals",label:"Approvals",icon:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z"})})},{to:"/audit",label:"Audit",icon:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 0 0-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75 2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15a2.25 2.25 0 0 1 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25ZM6.75 12h.008v.008H6.75V12Zm0 3h.008v.008H6.75V15Zm0 3h.008v.008H6.75V18Z"})})},{to:"/limits",label:"Limits",icon:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"})})},{to:"/budgets",label:"Budgets",icon:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.25 18.75a60.07 60.07 0 0 1 15.797 2.101c.727.198 1.453-.342 1.453-1.096V18.75M3.75 4.5v.75A.75.75 0 0 1 3 6h-.75m0 0v-.375c0-.621.504-1.125 1.125-1.125H20.25M2.25 6v9m18-10.5v.75c0 .414.336.75.75.75h.75m-1.5-1.5h.375c.621 0 1.125.504 1.125 1.125v9.75c0 .621-.504 1.125-1.125 1.125h-.375m1.5-1.5H21a.75.75 0 0 0-.75.75v.75m0 0H3.75m0 0h-.375a1.125 1.125 0 0 1-1.125-1.125V15m1.5 1.5v-.75A.75.75 0 0 0 3 15h-.75M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm3 0h.008v.008H18V10.5Zm-12 0h.008v.008H6V10.5Z"})})},{to:"/analytics",label:"Analytics",icon:x.jsxs("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:[x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 6a7.5 7.5 0 1 0 7.5 7.5h-7.5V6Z"}),x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 10.5H21A7.5 7.5 0 0 0 13.5 3v7.5Z"})]})}];function p4({open:e,onClose:t}){return x.jsxs(x.Fragment,{children:[e&&x.jsx("div",{className:"fixed inset-0 z-40 bg-black/30 md:hidden",onClick:t,onKeyDown:n=>{n.key==="Escape"&&t()},role:"button",tabIndex:-1,"aria-label":"Close navigation"}),x.jsxs("aside",{className:`fixed inset-y-0 left-0 z-50 flex w-56 flex-col border-r border-gray-200 bg-white transition-transform duration-200 md:static md:translate-x-0 ${e?"translate-x-0":"-translate-x-full"}`,children:[x.jsx("div",{className:"flex h-14 items-center border-b border-gray-200 px-4",children:x.jsx("img",{src:"/logo.svg",alt:"Helio",className:"h-6"})}),x.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4",children:v4.map(n=>x.jsxs(Z2,{to:n.to,end:n.to==="/",onClick:t,className:({isActive:r})=>`flex items-center gap-3 rounded-md px-3 py-2 text-sm font-medium transition-colors ${r?"bg-gray-100 text-gray-900":"text-gray-600 hover:bg-gray-50 hover:text-gray-900"}`,children:[n.icon,n.label]},n.to))})]})]})}function y4({onLogout:e}){const[t,n]=y.useState(!1),{connected:r}=fu();return x.jsxs("div",{className:"flex h-screen bg-gray-50",children:[x.jsx(p4,{open:t,onClose:()=>{n(!1)}}),x.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[x.jsx(m4,{connected:r,onToggleSidebar:()=>{n(l=>!l)},onLogout:e}),x.jsxs("main",{className:"flex-1 overflow-y-auto p-6",children:[!r&&x.jsx("div",{className:"mb-4 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800",children:"Live updates disconnected. Dashboard data may be stale until the stream reconnects."}),x.jsx(gk,{})]})]})]})}function zg(e){return e.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function _d(e){return e?e.length>8?e.slice(0,8)+"…":e:"—"}function g4(e,t=4096){return e.length>t?e.slice(0,t)+"…":e}function Sf(e,t=4096){let n;try{n=JSON.stringify(e,null,2)}catch{return{text:'"[unserializable value]"',truncated:!1}}return n.length<=t?{text:n,truncated:!1}:{text:`${n.slice(0,t)}…`,truncated:!0}}function Ig(e){const t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<0)return"just now";if(t<60)return`${String(t)}s ago`;const n=Math.floor(t/60);if(n<60)return`${String(n)}m ago`;const r=Math.floor(n/60);if(r<24)return`${String(r)}h ago`;const l=Math.floor(r/24);return`${String(l)}d ago`}function tr(e){const t=new Date(e),n=r=>String(r).padStart(2,"0");return`${String(t.getFullYear())}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}function yr(e){if(e<1)return"<1ms";if(e<1e3)return`${String(Math.round(e))}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const t=Math.round(e/1e3),n=Math.floor(t/60),r=t%60;return`${String(n)}m ${String(r)}s`}function Lo(e,t){if(t===0)return"bg-gray-300";const n=e/t;return n>=1?"bg-red-500":n>=.8?"bg-amber-500":"bg-emerald-500"}function zo(e,t){return t===0?0:Math.min(100,e/t*100)}function Ed(e){if(e<=0)return"Expired";const t=Math.ceil(e/1e3),n=Math.floor(t/60),r=t%60;return n>0?`${String(n)}m ${String(r)}s`:`${String(r)}s`}function zi(e,t){try{return new Intl.NumberFormat(void 0,{style:"currency",currency:t,minimumFractionDigits:2,maximumFractionDigits:2}).format(e)}catch{return`${t} ${e.toFixed(2)}`}}function Bg(e){if(e.dry_run)return"dry_run";switch(e.block_reason){case"rate_limited":return"rate_limited";case"spend_limited":return"spend_limited";case"budget_exceeded":return"budget_exceeded";case"session_unresolved":return"session_unresolved";case"approval_denied":return"approval_denied";case"approval_timeout":return"approval_timeout";case"client_disconnected":return"client_disconnected";case"shutdown_cancelled":return"shutdown_cancelled";case"install_denied":return"deny"}return e.policy_decision==="deny"?"deny":e.policy_decision==="rejected"?"rejected":"allow"}function b4(e){switch(e){case"allow":return"Allow";case"deny":return"Deny";case"rejected":return"Rejected";case"approval_denied":return"Approval Denied";case"approval_timeout":return"Approval Timeout";case"client_disconnected":return"Client Disconnected";case"shutdown_cancelled":return"Shutdown Cancelled";case"rate_limited":return"Rate Limited";case"spend_limited":return"Spend Limited";case"budget_exceeded":return"Budget Exceeded";case"session_unresolved":return"Session Unresolved";case"dry_run":return"Dry Run"}}function x4(e){return Bg(e)!=="allow"?null:e.policy_decision==="rate_limit"?"Rate Limit Rule":e.policy_decision==="spend_limit"?"Spend Limit Rule":e.policy_decision==="require_approval"||e.approval_status==="approved"||e.approval_status==="break_glass"?"Via Approval":null}function S4(e,t){return t?Bg(e)===t:!0}function nC(e){switch(e){case"allow":return{blocked:!1,dry_run:!1};case"deny":return{decision:"deny"};case"rejected":return{decision:"rejected"};case"approval_denied":return{reason:"approval_denied"};case"approval_timeout":return{reason:"approval_timeout"};case"client_disconnected":return{reason:"client_disconnected"};case"shutdown_cancelled":return{reason:"shutdown_cancelled"};case"rate_limited":return{reason:"rate_limited"};case"spend_limited":return{reason:"spend_limited"};case"budget_exceeded":return{reason:"budget_exceeded"};case"session_unresolved":return{reason:"session_unresolved"};case"dry_run":return{dry_run:!0};default:return{}}}const w4={allow:"bg-emerald-50 text-emerald-700 ring-emerald-600/20",deny:"bg-red-50 text-red-700 ring-red-600/20",rejected:"bg-rose-50 text-rose-700 ring-rose-600/20",approval_denied:"bg-red-50 text-red-700 ring-red-600/20",approval_timeout:"bg-amber-50 text-amber-700 ring-amber-600/20",client_disconnected:"bg-gray-100 text-gray-700 ring-gray-500/20",shutdown_cancelled:"bg-slate-100 text-slate-700 ring-slate-500/20",rate_limited:"bg-orange-50 text-orange-700 ring-orange-600/20",spend_limited:"bg-purple-50 text-purple-700 ring-purple-600/20",budget_exceeded:"bg-fuchsia-50 text-fuchsia-700 ring-fuchsia-600/20",session_unresolved:"bg-cyan-50 text-cyan-700 ring-cyan-600/20",dry_run:"bg-blue-50 text-blue-700 ring-blue-600/20"},O4="bg-gray-50 text-gray-700 ring-gray-600/20",_4="bg-gray-100 text-gray-600 ring-gray-500/20",Ug=y.memo(function({policyDecision:t,blockReason:n,approvalStatus:r,dryRun:l,showContext:u=!1}){const s=Bg({policy_decision:t,block_reason:n??null,dry_run:l??!1}),f=u?x4({policy_decision:t,block_reason:n??null,approval_status:r??null,dry_run:l??!1}):null,d=w4[s]??O4;return x.jsxs("div",{className:"inline-flex items-center gap-1.5",children:[x.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${d}`,children:b4(s)}),f&&x.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${_4}`,children:f})]})});function Ee({label:e,children:t}){return x.jsxs("div",{children:[x.jsx("dt",{className:"mb-1 text-xs font-medium text-gray-500",children:e}),x.jsx("dd",{children:t})]})}const E4={mcp:"MCP",openclaw:"OpenClaw"};function j4(e){return E4[e]??e}const A4={install_scan:"Install Scan",drift_event:"Drift",evaluation_expired:"Expired"};function C4(e){return e==="tool_call"?null:A4[e]??e}const T4={mcp:"bg-gray-100 text-gray-600 ring-gray-500/20"},N4="bg-indigo-50 text-indigo-700 ring-indigo-600/20",P4="bg-amber-50 text-amber-700 ring-amber-600/20",rC=y.memo(function({origin:t,recordKind:n}){const r=T4[t]??N4,l=C4(n);return x.jsxs("div",{className:"inline-flex items-center gap-1.5",children:[x.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${r}`,children:j4(t)}),l&&x.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${P4}`,children:l})]})});function M4(e){return"tool_input"in e}const Hv=8e3;function Kv(e){let t;try{t=JSON.stringify(e,null,2)}catch{return{text:'"[unserializable value]"',truncated:!1}}if(t.length<=Hv)return{text:t,truncated:!1};const n=t.length-Hv;return{text:`${t.slice(0,Hv)}
61
- … [truncated ${String(n)} chars]`,truncated:!0}}const D4=y.memo(function({record:t,expanded:n,onToggle:r,expandedRecord:l,loading:u,error:s}){const[f,d]=y.useState(Date.now()),h=y.useRef(null);y.useEffect(()=>(h.current=setInterval(()=>{d(Date.now())},1e4),()=>{h.current&&clearInterval(h.current)}),[]);const m=n?M4(t)?t:l:null,v=t.flagged_destructive,b=m?Kv(m.tool_input):null,S=m!=null&&m.evidence_chain?Kv(m.evidence_chain):null,O=(m==null?void 0:m.upstream_response)!=null?Kv(m.upstream_response):null;return x.jsxs("div",{className:`rounded-md border bg-white transition-colors ${v?"border-l-2 border-l-red-400 border-gray-200":"border-gray-200"} ${n?"shadow-sm":"hover:border-gray-300"}`,children:[x.jsxs("button",{type:"button",onClick:r,className:"flex w-full items-center gap-3 p-4 text-left",children:[x.jsx("span",{className:"w-16 shrink-0 text-xs text-gray-400",title:t.timestamp,children:Ig(t.timestamp)}),x.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-sm text-gray-900",children:t.tool_name}),t.upstream&&x.jsx("span",{className:"hidden shrink-0 truncate font-mono text-xs text-gray-400 md:block md:max-w-24",children:t.upstream}),x.jsx("span",{className:"hidden w-20 shrink-0 truncate text-xs text-gray-500 sm:block",children:_d(t.agent_id??t.session_id)}),x.jsx(rC,{origin:t.origin,recordKind:t.record_kind}),x.jsx(Ug,{policyDecision:t.policy_decision,blockReason:t.block_reason,approvalStatus:t.approval_status,dryRun:t.dry_run,showContext:!0}),x.jsx("span",{className:"w-14 shrink-0 text-right text-xs tabular-nums text-gray-500",children:yr(t.total_duration_ms)}),x.jsx("svg",{className:`h-4 w-4 shrink-0 text-gray-400 transition-transform ${n?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19 9-7 7-7-7"})})]}),n&&x.jsxs("div",{className:"border-t border-gray-100 px-4 pb-4 pt-3",children:[u&&!m&&x.jsxs("div",{className:"space-y-2",children:[x.jsx("div",{className:"h-4 w-1/3 animate-pulse rounded bg-gray-100"}),x.jsx("div",{className:"h-20 animate-pulse rounded bg-gray-100"})]}),m&&x.jsxs("div",{className:"space-y-3 text-sm",children:[x.jsxs(Ee,{label:"Input",children:[x.jsx("pre",{className:"max-h-48 overflow-auto rounded bg-gray-50 p-2 text-xs",children:b==null?void 0:b.text}),(b==null?void 0:b.truncated)&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Input payload preview is truncated for readability."})]}),m.upstream&&x.jsx(Ee,{label:"Upstream",children:x.jsx("span",{className:"font-mono text-xs",children:m.upstream})}),m.matched_rule&&x.jsx(Ee,{label:"Matched Rule",children:x.jsx("span",{className:"font-mono text-xs",children:m.matched_rule})}),m.evidence_chain&&x.jsxs(Ee,{label:"Evidence Chain",children:[x.jsx("pre",{className:"max-h-48 overflow-auto rounded bg-gray-50 p-2 text-xs",children:S==null?void 0:S.text}),(S==null?void 0:S.truncated)&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Evidence payload preview is truncated for readability."})]}),m.upstream_response!=null&&x.jsxs(Ee,{label:"Upstream Response",children:[x.jsx("pre",{className:"max-h-48 overflow-auto rounded bg-gray-50 p-2 text-xs",children:O==null?void 0:O.text}),(O==null?void 0:O.truncated)&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Upstream response preview is truncated for readability."})]}),m.upstream_error&&x.jsx(Ee,{label:"Upstream Error",children:x.jsx("span",{className:"text-xs text-red-600",children:m.upstream_error})}),m.approval_status&&x.jsx(Ee,{label:"Approval",children:x.jsxs("span",{className:"text-xs",children:[m.approval_status,m.approved_by?` by ${m.approved_by}`:""]})}),m.metadata&&(typeof m.metadata.channel_id=="string"||typeof m.metadata.sender_id=="string")&&x.jsx(Ee,{label:"Adapter Context",children:x.jsxs("div",{className:"space-y-0.5 text-xs text-gray-600",children:[typeof m.metadata.channel_id=="string"&&x.jsxs("p",{children:["Channel: ",m.metadata.channel_id]}),typeof m.metadata.sender_id=="string"&&x.jsxs("p",{children:["Sender: ",m.metadata.sender_id]})]})}),x.jsx(Ee,{label:"Duration",children:x.jsxs("div",{className:"space-y-0.5 text-xs tabular-nums text-gray-600",children:[x.jsxs("p",{children:["Total: ",yr(m.total_duration_ms)]}),x.jsxs("p",{children:["Proxy compute: ",yr(m.proxy_compute_ms)]}),m.approval_wait_ms>0&&x.jsxs("p",{children:["Approval wait: ",yr(m.approval_wait_ms)]}),m.upstream_latency_ms!=null&&x.jsxs("p",{children:["Upstream: ",yr(m.upstream_latency_ms)]})]})})]}),!u&&!m&&s&&x.jsx("p",{className:"text-xs text-red-600",children:s}),!u&&!m&&!s&&x.jsx("p",{className:"text-xs text-gray-400",children:"No additional details available."})]})]})});function Ii({error:e}){return x.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("p",{className:"text-sm",children:e}),x.jsx("button",{type:"button",onClick:()=>{window.location.reload()},className:"rounded-md bg-gray-900 px-3 py-1.5 text-sm text-white hover:bg-gray-800",children:"Retry"})]})}const aC=[{label:"All",value:null},{label:"Allow",value:"allow"},{label:"Deny",value:"deny"},{label:"Rejected",value:"rejected"},{label:"Approval Denied",value:"approval_denied"},{label:"Approval Timeout",value:"approval_timeout"},{label:"Client Disconnected",value:"client_disconnected"},{label:"Shutdown Cancelled",value:"shutdown_cancelled"},{label:"Rate Limited",value:"rate_limited"},{label:"Spend Limited",value:"spend_limited"},{label:"Budget Exceeded",value:"budget_exceeded"},{label:"Session Unresolved",value:"session_unresolved"},{label:"Dry Run",value:"dry_run"}],iC={allow:"#059669",deny:"#dc2626",rejected:"#e11d48",require_approval:"#d97706",rate_limit:"#ea580c",spend_limit:"#9333ea",dry_run:"#2563eb"},lC="#6b7280",uC=60*1e3,wf=60*uC,Io=24*wf,oC=[{label:"1h",ms:wf},{label:"24h",ms:Io},{label:"7d",ms:7*Io}],R4=[{label:"All",ms:null},...oC];function k4(e){return"tool_input"in e}const Kc=500,dO=200,L4=200;function z4(){const[e,t]=y.useState([]),[n,r]=y.useState([]),[l,u]=y.useState(null),[s,f]=y.useState(null),[d,h]=y.useState(!1),[m,v]=y.useState(null),[b,S]=y.useState(""),[O,_]=y.useState(""),[w,j]=y.useState(""),[A,N]=y.useState(""),[T,P]=y.useState(""),[M,R]=y.useState(null),[I,q]=y.useState(!0),[W,X]=y.useState(!0),[U,se]=y.useState(null),F=y.useRef(null),J=y.useRef(null),z=y.useRef(new Set),V=y.useRef(null),ne=y.useRef(""),le=y.useRef(""),{subscribe:Q,connectionEpoch:D}=fu();y.useEffect(()=>(V.current&&clearTimeout(V.current),V.current=setTimeout(()=>{_(b)},300),()=>{V.current&&clearTimeout(V.current)}),[b]),y.useEffect(()=>{const ae=setTimeout(()=>{N(w)},300);return()=>{clearTimeout(ae)}},[w]),y.useEffect(()=>{ne.current=A},[A]),y.useEffect(()=>{le.current=T},[T]),y.useEffect(()=>{let ae=!1;return sO({limit:dO,upstream:A||void 0,session_source:T||void 0}).then(he=>{if(ae)return;const xe=he.data;z.current=new Set(xe.map(ie=>ie.id)),t(xe),r([]),se(null),X(!1)}).catch(he=>{ae||(se(he instanceof Error?he.message:"Failed to load feed"),X(!1))}),()=>{ae=!0}},[A,T]),y.useEffect(()=>Q("action",ae=>{z.current.has(ae.id)||(z.current.add(ae.id),q(he=>(he?t(xe=>{const ie=[ae,...xe].slice(0,Kc);return xe.length>=Kc&&(z.current=new Set(ie.map(fe=>fe.id))),ie}):r(xe=>[ae,...xe].slice(0,L4)),he)))}),[Q]),y.useEffect(()=>{D<=1||sO({limit:dO,upstream:ne.current||void 0,session_source:le.current||void 0}).then(ae=>{const he=ae.data;z.current=new Set(he.map(xe=>xe.id)),t(he),r([]),q(!0),se(null)}).catch(()=>{})},[D]),y.useEffect(()=>{const ae=J.current,he=F.current;if(!ae||!he)return;const xe=new IntersectionObserver(([ie])=>{ie!=null&&ie.isIntersecting?q(!0):q(!1)},{root:he,threshold:.1});return xe.observe(ae),()=>{xe.disconnect()}},[]);const K=y.useCallback(()=>{var ae;r(he=>he.length===0?he:(t(xe=>[...he,...xe].slice(0,Kc)),[])),q(!0),(ae=F.current)==null||ae.scrollTo({top:0,behavior:"smooth"})},[]),oe=y.useCallback(()=>{q(ae=>{var he;return ae||(r(xe=>(xe.length>0&&t(ie=>[...xe,...ie].slice(0,Kc)),[])),(he=F.current)==null||he.scrollTo({top:0,behavior:"smooth"})),!ae})},[]),ce=y.useCallback((ae,he)=>{if(l===ae){u(null),f(null);return}u(ae),f(null),v(null),k4(he)||(h(!0),eC(ae).then(xe=>{u(ie=>(ie===ae&&(f(xe),h(!1)),ie))}).catch(xe=>{u(ie=>(ie===ae&&(h(!1),v(xe instanceof Error?xe.message:"Failed to load record details")),ie))}))},[l]),ge=y.useMemo(()=>e.filter(ae=>!(O&&!ae.tool_name.toLowerCase().includes(O.toLowerCase())||A&&ae.upstream!==A||T&&ae.session_source!==T||M&&!S4(ae,M))),[e,O,A,T,M]);return W?x.jsx("div",{className:"flex h-full flex-col gap-3",children:Array.from({length:4},(ae,he)=>x.jsx("div",{className:"h-16 animate-pulse rounded-md bg-gray-100"},he))}):U&&e.length===0?x.jsx(Ii,{error:U}):x.jsxs("div",{className:"flex h-full flex-col",children:[x.jsxs("div",{className:"mb-4",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Activity Feed"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Real-time tool call stream"})]}),x.jsxs("div",{className:"flex flex-wrap items-center gap-3 pb-4",children:[x.jsx("input",{type:"text",placeholder:"Filter by tool name…",value:b,onChange:ae=>{S(ae.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),(e.some(ae=>ae.upstream!=null)||w!=="")&&x.jsx("input",{type:"text",placeholder:"Filter by upstream…",value:w,onChange:ae=>{j(ae.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsxs("select",{"aria-label":"Session Source",value:T,onChange:ae=>{P(ae.target.value)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-700 focus:border-gray-300 focus:outline-none",children:[x.jsx("option",{value:"",children:"All Sources"}),x.jsx("option",{value:"header",children:"header"}),x.jsx("option",{value:"meta",children:"meta"}),x.jsx("option",{value:"legacy_header",children:"legacy_header"}),x.jsx("option",{value:"transport",children:"transport"}),x.jsx("option",{value:"sideband",children:"sideband"})]}),x.jsx("div",{className:"flex flex-wrap gap-1.5",children:aC.map(({label:ae,value:he})=>x.jsx("button",{type:"button",onClick:()=>{R(he)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${M===he?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:ae},ae))}),x.jsx("div",{className:"flex-1"}),x.jsxs("button",{type:"button",onClick:oe,className:"flex items-center gap-1.5 rounded-md px-2.5 py-1 text-xs font-medium transition-colors border border-gray-200 bg-white text-gray-600 hover:bg-gray-50",children:[x.jsx("span",{className:`inline-block h-2 w-2 rounded-full ${I?"animate-pulse bg-emerald-500":"bg-amber-500"}`}),I?"Live":"Paused"]})]}),n.length>0&&x.jsxs("button",{type:"button",onClick:K,className:"mb-3 w-full rounded-md bg-blue-50 px-3 py-2 text-center text-sm font-medium text-blue-700 hover:bg-blue-100 transition-colors",children:[n.length," new ",n.length===1?"action":"actions"," — click to load"]}),x.jsxs("div",{ref:F,className:"flex-1 space-y-2 overflow-y-auto",children:[x.jsx("div",{ref:J,className:"h-0"}),ge.length===0&&x.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 13.5 14.25 2.25l-3 10.5h9L9.75 24l3-10.5h-9Z"})}),e.length===0&&!A&&!T?x.jsxs(x.Fragment,{children:[x.jsx("p",{className:"text-sm font-medium",children:"No actions yet"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Start sending tool calls through Helio"})]}):x.jsxs(x.Fragment,{children:[x.jsx("p",{className:"text-sm font-medium",children:"No matching actions"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Try adjusting your filters"})]})]}),ge.map(ae=>x.jsx(D4,{record:ae,expanded:l===ae.id,onToggle:()=>{ce(ae.id,ae)},expandedRecord:l===ae.id?s:null,loading:l===ae.id&&d,error:l===ae.id?m:null},ae.id))]})]})}const I4={pending:"bg-amber-50 text-amber-700 ring-amber-600/20",approved:"bg-emerald-50 text-emerald-700 ring-emerald-600/20",denied:"bg-red-50 text-red-700 ring-red-600/20",timeout:"bg-orange-50 text-orange-700 ring-orange-600/20",break_glass:"bg-purple-50 text-purple-700 ring-purple-600/20",client_disconnected:"bg-gray-100 text-gray-700 ring-gray-500/20",shutdown_cancelled:"bg-slate-100 text-slate-700 ring-slate-500/20",cancelled:"bg-slate-100 text-slate-700 ring-slate-500/20"},B4=y.memo(function({status:t}){const n=I4[t];return x.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${n}`,children:zg(t)})});function U4({ticketId:e,status:t,onResolved:n}){const[r,l]=y.useState("idle"),[u,s]=y.useState(!1),[f,d]=y.useState(null),[h,m]=y.useState(""),[v,b]=y.useState(""),[S,O]=y.useState(!1);y.useEffect(()=>{if(r!=="break_glass")return;const T=P=>{P.key==="Escape"&&(l("idle"),b(""),O(!1))};return document.addEventListener("keydown",T),()=>{document.removeEventListener("keydown",T)}},[r]);const _=y.useCallback(T=>{if(T instanceof Error&&"status"in T){const P=T.status;d(P===409?"This ticket has already been resolved":P===404?"Ticket not found":T.message||"Action failed")}else d("Action failed")},[]),w=y.useCallback(async()=>{d(null),s(!0);try{await l4(e,"dashboard"),n()}catch(T){_(T)}finally{s(!1)}},[e,n,_]),j=y.useCallback(async()=>{d(null),s(!0);try{await u4(e,"dashboard",h||void 0),n()}catch(T){_(T)}finally{s(!1)}},[e,h,n,_]),A=y.useCallback(async()=>{if(!v.trim()){O(!0);return}d(null),s(!0);try{await o4(e,"dashboard",v.trim()),n()}catch(T){_(T)}finally{s(!1)}},[e,v,n,_]),N=y.useCallback(()=>{l("idle"),m(""),b(""),O(!1),d(null)},[]);return t!=="pending"?null:x.jsxs("div",{className:"space-y-2",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsxs("button",{type:"button",disabled:u,onClick:()=>{w()},className:"inline-flex items-center gap-1.5 rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-700 disabled:opacity-50",children:[u&&r==="idle"?x.jsx(Yv,{}):x.jsx($4,{}),"Approve"]}),x.jsxs("button",{type:"button",disabled:u,onClick:()=>{d(null),l("deny")},className:"inline-flex items-center gap-1.5 rounded-md bg-red-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-red-700 disabled:opacity-50",children:[x.jsx(q4,{}),"Deny"]}),x.jsxs("button",{type:"button",disabled:u,onClick:()=>{d(null),l("break_glass")},className:"inline-flex items-center gap-1.5 rounded-md border border-amber-300 bg-amber-50 px-3 py-1.5 text-sm font-medium text-amber-800 hover:bg-amber-100 disabled:opacity-50",children:[x.jsx(hO,{}),"Break Glass"]})]}),f&&x.jsx("p",{className:"text-xs text-red-600",children:f}),r==="deny"&&x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("input",{type:"text",placeholder:"Reason (optional)",value:h,onChange:T=>{m(T.target.value)},onKeyDown:T=>{T.key==="Enter"&&j(),T.key==="Escape"&&N()},className:"flex-1 rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none",autoFocus:!0}),x.jsxs("button",{type:"button",disabled:u,onClick:()=>{j()},className:"inline-flex items-center gap-1.5 rounded-md bg-red-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-red-700 disabled:opacity-50",children:[u&&x.jsx(Yv,{}),"Confirm Deny"]}),x.jsx("button",{type:"button",disabled:u,onClick:N,className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm font-medium text-gray-600 hover:bg-gray-50 disabled:opacity-50",children:"Cancel"})]}),r==="break_glass"&&x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"fixed inset-0 z-40 bg-black/10",role:"button",tabIndex:-1,"aria-label":"Close modal",onClick:N,onKeyDown:T=>{(T.key==="Enter"||T.key===" ")&&N()}}),x.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:x.jsxs("div",{className:"mx-4 w-full max-w-md rounded-lg border border-gray-200 bg-white p-6 shadow-lg",children:[x.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[x.jsx(hO,{}),x.jsx("h3",{className:"text-base font-semibold text-gray-900",children:"Break-Glass Override"})]}),x.jsx("p",{className:"mb-4 text-sm text-gray-600",children:"This will immediately approve the request and flag it in the audit trail. This action cannot be undone."}),x.jsx("textarea",{placeholder:"Reason (required)",value:v,onChange:T=>{b(T.target.value),S&&T.target.value.trim()&&O(!1)},className:`mb-4 w-full rounded-md border bg-white px-3 py-2 text-sm text-gray-900 placeholder:text-gray-400 focus:outline-none ${S?"border-red-300 ring-1 ring-red-300 focus:border-red-400":"border-gray-200 focus:border-gray-300"}`,rows:3,autoFocus:!0}),S&&x.jsx("p",{className:"-mt-3 mb-4 text-xs text-red-600",children:"A reason is required."}),x.jsxs("div",{className:"flex items-center justify-end gap-2",children:[x.jsx("button",{type:"button",disabled:u,onClick:N,className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm font-medium text-gray-600 hover:bg-gray-50 disabled:opacity-50",children:"Cancel"}),x.jsxs("button",{type:"button",disabled:u,onClick:()=>{A()},className:"inline-flex items-center gap-1.5 rounded-md bg-amber-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-amber-700 disabled:opacity-50",children:[u&&x.jsx(Yv,{}),"Override & Approve"]})]})]})})]})]})}function $4(){return x.jsx("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m4.5 12.75 6 6 9-13.5"})})}function q4(){return x.jsx("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18 18 6M6 6l12 12"})})}function hO(){return x.jsx("svg",{className:"h-4 w-4 text-amber-600",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"})})}function Yv(){return x.jsxs("svg",{className:"h-4 w-4 animate-spin",viewBox:"0 0 24 24",fill:"none",children:[x.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),x.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]})}function H4(e){return e<=0?"text-red-600 font-semibold":e<3e4?"text-red-600":e<6e4?"text-amber-600":"text-gray-500"}function K4(e){return e.break_glass_reason?e.break_glass_reason:e.denial_reason?e.denial_reason:"—"}const Gv=250,Yc=20;function Y4(){const[e,t]=y.useState("pending"),[n,r]=y.useState([]),[l,u]=y.useState([]),[s,f]=y.useState(!0),[d,h]=y.useState(!1),[m,v]=y.useState(!1),[b,S]=y.useState(null),[O,_]=y.useState(null),[w,j]=y.useState(null),[A,N]=y.useState(Date.now()),[T,P]=y.useState(!1),[M,R]=y.useState(0),[I,q]=y.useState(!1),[W,X]=y.useState(0),{subscribe:U,connectionEpoch:se}=fu(),F=y.useCallback(async Q=>{const D=[];let K=0,oe=0,ce=!1;for(let ge=0;ge<Yc;ge++){const ae=await r4(Q,{limit:Gv,offset:K});oe=ae.total,D.push(...ae.data);const he=K+ae.data.length;if(ae.data.length===0||he>=ae.total)break;if(ge===Yc-1){ce=!0;break}K=he}return{items:D,total:oe,truncated:ce}},[]);y.useEffect(()=>{const Q=setInterval(()=>{N(Date.now())},1e3);return()=>{clearInterval(Q)}},[]),y.useEffect(()=>{let Q=!1;return S(null),F("pending").then(D=>{Q||(r([...D.items]),P(D.truncated),R(D.total),f(!1))}).catch(D=>{Q||(S(D instanceof Error?D.message:"Failed to load approvals"),f(!1))}),()=>{Q=!0}},[F]),y.useEffect(()=>{if(e!=="resolved"||m)return;let Q=!1;return h(!0),_(null),F().then(D=>{Q||(u([...D.items].filter(K=>K.status!=="pending")),q(D.truncated),X(D.total),h(!1),v(!0))}).catch(D=>{Q||(_(D instanceof Error?D.message:"Failed to load resolved approvals"),h(!1))}),()=>{Q=!0}},[e,m,F]),y.useEffect(()=>U("approval_requested",Q=>{F("pending").then(D=>{r([...D.items]),P(D.truncated),R(D.total),S(null)}).catch(()=>{})}),[U,F]),y.useEffect(()=>U("approval_resolved",Q=>{r(D=>D.filter(K=>K.id!==Q.ticket_id)),R(D=>Math.max(0,D-1)),v(!1),q(!1)}),[U]),y.useEffect(()=>U("approval_notification_failed",Q=>{F("pending").then(D=>{r([...D.items]),P(D.truncated),R(D.total),S(null)}).catch(()=>{})}),[U,F]),y.useEffect(()=>{se<=1||(F("pending").then(Q=>{r([...Q.items]),P(Q.truncated),R(Q.total),S(null)}).catch(()=>{}),v(!1),q(!1))},[se,F]);const J=y.useCallback(Q=>{r(D=>D.filter(K=>K.id!==Q)),R(D=>Math.max(0,D-1)),v(!1),q(!1)},[]),z=y.useCallback(Q=>{j(D=>D===Q?null:Q)},[]),V=y.useMemo(()=>[...n].sort((Q,D)=>new Date(D.requested_at).getTime()-new Date(Q.requested_at).getTime()),[n]),ne=y.useMemo(()=>V.flatMap(Q=>(Q.notification_failures??[]).map(D=>({ticket_id:Q.id,tool_name:Q.tool_name,...D}))).sort((Q,D)=>new Date(D.failed_at).getTime()-new Date(Q.failed_at).getTime()),[V]),le=y.useMemo(()=>[...l].sort((Q,D)=>{const K=Q.resolved_at?new Date(Q.resolved_at).getTime():0;return(D.resolved_at?new Date(D.resolved_at).getTime():0)-K}),[l]);return s?x.jsx("div",{className:"flex h-full flex-col gap-3",children:Array.from({length:4},(Q,D)=>x.jsx("div",{className:"h-16 animate-pulse rounded-md bg-gray-100"},D))}):x.jsxs("div",{className:"flex h-full flex-col",children:[x.jsxs("div",{className:"mb-4",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Approvals"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Pending and resolved approval requests"})]}),x.jsx("div",{className:"flex flex-wrap items-center gap-3 pb-4",children:x.jsxs("div",{className:"flex gap-1.5",children:[x.jsxs("button",{type:"button",onClick:()=>{t("pending")},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${e==="pending"?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:["Pending",V.length>0?` (${String(V.length)})`:""]}),x.jsx("button",{type:"button",onClick:()=>{t("resolved")},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${e==="resolved"?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:"Resolved"})]})}),e==="pending"&&x.jsxs("div",{className:"flex-1 space-y-2 overflow-y-auto",children:[b&&x.jsx(Ii,{error:b}),!b&&ne.length>0&&x.jsxs("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-800",children:[x.jsxs("p",{className:"font-medium",children:["Approval notification delivery failures detected (",String(ne.length),")."]}),x.jsx("p",{className:"mt-1",children:"Requests stay pending in this queue even when Slack/webhook delivery fails. Review affected tickets and resolve manually if needed."}),x.jsx("ul",{className:"mt-2 list-disc pl-4",children:ne.slice(0,3).map(Q=>x.jsxs("li",{children:[x.jsx("span",{className:"font-mono",children:Q.tool_name})," via ",Q.channel," (",Q.phase,") failed ",Ig(Q.failed_at),": ",Q.error]},`${Q.ticket_id}-${Q.failed_at}-${Q.phase}`))})]}),!b&&T&&x.jsxs("div",{className:"rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800",children:["Showing only the newest ",String(Gv*Yc)," pending approvals (",String(M)," total). Older entries are not loaded in this view."]}),!b&&V.length===0&&x.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z"})}),x.jsx("p",{className:"text-sm font-medium",children:"No pending approvals"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Approval requests will appear here"})]}),!b&&V.map(Q=>x.jsx(G4,{ticket:Q,now:A,expanded:w===Q.id,onToggle:()=>{z(Q.id)},onResolved:()=>{J(Q.id)}},Q.id))]}),e==="resolved"&&x.jsxs("div",{className:"flex-1 overflow-auto",children:[d&&x.jsx("div",{className:"flex h-full flex-col gap-3",children:Array.from({length:4},(Q,D)=>x.jsx("div",{className:"h-10 animate-pulse rounded-md bg-gray-100"},D))}),!d&&O&&x.jsx(Ii,{error:O}),!d&&!O&&I&&x.jsxs("div",{className:"mb-3 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800",children:["Showing only the newest ",String(Gv*Yc)," approvals (",String(W)," total before filtering). Older resolved entries are not loaded in this view."]}),!d&&!O&&le.length===0&&x.jsx("div",{className:"flex h-full items-center justify-center text-gray-500",children:x.jsx("p",{className:"text-sm",children:"No resolved approvals yet"})}),!d&&!O&&le.length>0&&x.jsxs("table",{className:"w-full text-left text-sm",children:[x.jsx("thead",{children:x.jsxs("tr",{className:"border-b border-gray-200",children:[x.jsx("th",{className:"pb-2 pr-4 text-xs font-medium text-gray-500",children:"Resolved At"}),x.jsx("th",{className:"pb-2 pr-4 text-xs font-medium text-gray-500",children:"Tool"}),x.jsx("th",{className:"pb-2 pr-4 text-xs font-medium text-gray-500",children:"Status"}),x.jsx("th",{className:"pb-2 pr-4 text-xs font-medium text-gray-500",children:"Resolved By"}),x.jsx("th",{className:"hidden pb-2 pr-4 text-xs font-medium text-gray-500 md:table-cell",children:"Reason"}),x.jsx("th",{className:"hidden pb-2 text-xs font-medium text-gray-500 sm:table-cell",children:"Session"})]})}),x.jsx("tbody",{children:le.map(Q=>x.jsx(V4,{ticket:Q,expanded:w===Q.id,onToggle:()=>{z(Q.id)}},Q.id))})]})]})]})}function sC({ticket:e}){return!e.breached_budgets||e.breached_budgets.length===0?null:x.jsxs(Ee,{label:"Breached Budgets",children:[x.jsx("ul",{className:"space-y-1",children:e.breached_budgets.map(t=>x.jsxs("li",{className:"text-xs",children:[x.jsx("span",{className:"font-mono text-amber-800",children:t.name}),x.jsxs("span",{className:"text-gray-600",children:[" — ",t.spent,"/",t.limit," ",t.currency," spent, attempting +",t.attempted_amount," (",t.window," ","window)"]})]},t.name))}),x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Approving spends past the limit on every budget listed (recorded as an approved overage)."})]})}function G4({ticket:e,now:t,expanded:n,onToggle:r,onResolved:l}){const u=Math.max(0,new Date(e.timeout_at).getTime()-t),s=Sf(e.tool_input);return x.jsxs("div",{className:`rounded-md border bg-white transition-colors ${n?"border-gray-200 shadow-sm":"border-gray-200 hover:border-gray-300"}`,children:[x.jsxs("button",{type:"button",onClick:r,className:"flex w-full items-center gap-3 p-4 text-left",children:[x.jsx("span",{className:`w-16 shrink-0 text-xs tabular-nums ${H4(u)}`,children:Ed(u)}),x.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-sm text-gray-900",children:e.tool_name}),e.upstream&&x.jsx("span",{className:"hidden shrink-0 truncate font-mono text-xs text-gray-400 md:block md:max-w-24",children:e.upstream}),x.jsx("span",{className:"hidden w-20 shrink-0 truncate text-xs text-gray-500 sm:block",children:_d(e.session_id)}),e.matched_rule&&x.jsx("span",{className:"hidden shrink-0 truncate font-mono text-xs text-gray-400 lg:block lg:max-w-32",children:e.matched_rule}),x.jsx("span",{className:"w-14 shrink-0 text-right text-xs text-gray-400",title:e.requested_at,children:Ig(e.requested_at)}),x.jsx("svg",{className:`h-4 w-4 shrink-0 text-gray-400 transition-transform ${n?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19 9-7 7-7-7"})})]}),n&&x.jsxs("div",{className:"border-t border-gray-100 px-4 pb-4 pt-3 space-y-3 text-sm",children:[x.jsxs(Ee,{label:"Input",children:[x.jsx("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap wrap-break-word rounded bg-gray-50 p-2 text-xs",children:s.text}),s.truncated&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Input payload preview is truncated for readability."})]}),x.jsx(sC,{ticket:e}),e.upstream&&x.jsx(Ee,{label:"Upstream",children:x.jsx("span",{className:"font-mono text-xs",children:e.upstream})}),x.jsx(Ee,{label:"Session ID",children:x.jsxs("span",{className:"font-mono text-xs",children:[e.session_id??"—",e.session_source?` (${e.session_source})`:""]})}),x.jsx(Ee,{label:"Channel",children:x.jsx("span",{className:"text-xs",children:e.channel_name})}),e.matched_rule&&x.jsx(Ee,{label:"Matched Rule",children:x.jsx("span",{className:"font-mono text-xs",children:e.matched_rule})}),x.jsx(Ee,{label:"Requested At",children:x.jsx("span",{className:"text-xs tabular-nums",children:tr(e.requested_at)})}),x.jsx(Ee,{label:"Timeout At",children:x.jsx("span",{className:"text-xs tabular-nums",children:tr(e.timeout_at)})}),e.escalated_at&&x.jsx(Ee,{label:"Escalated",children:x.jsxs("span",{className:"text-xs",children:[tr(e.escalated_at),e.escalated_to&&e.escalated_to.length>0?` → ${e.escalated_to.join(", ")}`:""]})}),e.notification_failures&&e.notification_failures.length>0&&x.jsx(Ee,{label:"Notification Failures",children:x.jsx("ul",{className:"space-y-1 text-xs text-red-700",children:e.notification_failures.map((f,d)=>x.jsxs("li",{children:[tr(f.failed_at)," - ",f.phase," via ",f.channel,":"," ",f.error]},`${f.failed_at}-${f.phase}-${String(d)}`))})}),x.jsx("div",{className:"pt-1",children:x.jsx(U4,{ticketId:e.id,status:e.status,onResolved:l})})]})]})}function V4({ticket:e,expanded:t,onToggle:n}){const r=Sf(e.tool_input);return x.jsxs(x.Fragment,{children:[x.jsxs("tr",{onClick:n,className:`cursor-pointer border-b border-gray-100 hover:bg-gray-50 ${t?"bg-blue-50":""}`,children:[x.jsx("td",{className:"py-2.5 pr-4 text-xs tabular-nums text-gray-600",children:e.resolved_at?tr(e.resolved_at):"—"}),x.jsx("td",{className:"py-2.5 pr-4 font-mono text-sm text-gray-900",children:e.tool_name}),x.jsx("td",{className:"py-2.5 pr-4",children:x.jsx(B4,{status:e.status})}),x.jsx("td",{className:"py-2.5 pr-4 text-xs text-gray-600",children:e.resolved_by??"—"}),x.jsx("td",{className:"hidden py-2.5 pr-4 text-xs text-gray-500 md:table-cell",children:x.jsx("span",{className:"line-clamp-1",children:K4(e)})}),x.jsx("td",{className:"hidden py-2.5 text-xs text-gray-500 sm:table-cell",children:_d(e.session_id)})]}),t&&x.jsx("tr",{children:x.jsx("td",{colSpan:6,className:"border-b border-gray-100 bg-gray-50 px-4 py-3",children:x.jsxs("div",{className:"space-y-3 text-sm",children:[x.jsxs(Ee,{label:"Input",children:[x.jsx("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap wrap-break-word rounded bg-white p-2 text-xs",children:r.text}),r.truncated&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Input payload preview is truncated for readability."})]}),x.jsx(sC,{ticket:e}),e.upstream&&x.jsx(Ee,{label:"Upstream",children:x.jsx("span",{className:"font-mono text-xs",children:e.upstream})}),x.jsx(Ee,{label:"Requested At",children:x.jsx("span",{className:"text-xs tabular-nums",children:tr(e.requested_at)})}),x.jsx(Ee,{label:"Timeout At",children:x.jsx("span",{className:"text-xs tabular-nums",children:tr(e.timeout_at)})}),e.resolved_at&&x.jsx(Ee,{label:"Resolved At",children:x.jsx("span",{className:"text-xs tabular-nums",children:tr(e.resolved_at)})}),e.denial_reason&&x.jsx(Ee,{label:"Denial Reason",children:x.jsx("span",{className:"text-xs",children:e.denial_reason})}),e.break_glass_reason&&x.jsx(Ee,{label:"Break-Glass Reason",children:x.jsx("span",{className:"text-xs text-amber-700",children:e.break_glass_reason})}),e.escalated_at&&x.jsx(Ee,{label:"Escalated",children:x.jsxs("span",{className:"text-xs",children:[tr(e.escalated_at),e.escalated_to&&e.escalated_to.length>0?` → ${e.escalated_to.join(", ")}`:""]})}),x.jsx(Ee,{label:"Channel",children:x.jsx("span",{className:"text-xs",children:e.channel_name})}),e.matched_rule&&x.jsx(Ee,{label:"Matched Rule",children:x.jsx("span",{className:"font-mono text-xs",children:e.matched_rule})})]})})})]})}const X4={tool:"",decision:null,reason:null,session:"",from:"",to:"",upstream_status_min:"",upstream_status_max:"",origin:"",record_kind:"",channel:"",sender:"",upstream:"",session_source:""};function mO(e){if(e.length===0)return;const t=Number.parseInt(e,10);return Number.isFinite(t)?t:void 0}function F4(){const[e,t]=y.useState(X4),[n,r]=y.useState(1),[l,u]=y.useState(25),[s,f]=y.useState(0),[d,h]=y.useState(""),[m,v]=y.useState(""),[b,S]=y.useState(""),[O,_]=y.useState(""),[w,j]=y.useState(""),[A,N]=y.useState(""),[T,P]=y.useState(null),[M,R]=y.useState(!0),[I,q]=y.useState(null);y.useEffect(()=>{const J=setTimeout(()=>{h(e.tool)},300);return()=>{clearTimeout(J)}},[e.tool]),y.useEffect(()=>{const J=setTimeout(()=>{v(e.session)},300);return()=>{clearTimeout(J)}},[e.session]),y.useEffect(()=>{const J=setTimeout(()=>{S(e.origin)},300);return()=>{clearTimeout(J)}},[e.origin]),y.useEffect(()=>{const J=setTimeout(()=>{_(e.channel)},300);return()=>{clearTimeout(J)}},[e.channel]),y.useEffect(()=>{const J=setTimeout(()=>{j(e.sender)},300);return()=>{clearTimeout(J)}},[e.sender]),y.useEffect(()=>{const J=setTimeout(()=>{N(e.upstream)},300);return()=>{clearTimeout(J)}},[e.upstream]),y.useEffect(()=>{let J=!1;R(!0);const z=nC(e.decision);return n4({tool:d||void 0,decision:z.decision,reason:e.reason??z.reason,blocked:z.blocked,session:m||void 0,from:e.from||void 0,to:e.to||void 0,dry_run:z.dry_run,upstream_status_min:mO(e.upstream_status_min),upstream_status_max:mO(e.upstream_status_max),origin:b||void 0,record_kind:e.record_kind||void 0,channel:O||void 0,sender:w||void 0,upstream:A||void 0,session_source:e.session_source||void 0,offset:(n-1)*l,limit:l}).then(V=>{J||(P(V),q(null),R(!1))}).catch(V=>{J||(q(V instanceof Error?V.message:"Failed to load audit records"),R(!1))}),()=>{J=!0}},[d,e.decision,e.reason,m,e.from,e.to,e.upstream_status_min,e.upstream_status_max,b,e.record_kind,O,w,A,e.session_source,n,l,s]);const W=y.useCallback((J,z)=>{t(V=>({...V,[J]:z})),r(1)},[]),X=y.useCallback(J=>{t(z=>({...z,...J})),r(1)},[]),U=y.useCallback(J=>{r(J)},[]),se=y.useCallback(J=>{u(J),r(1)},[]),F=y.useCallback(()=>{f(J=>J+1)},[]);return{data:T,loading:M,error:I,filters:e,page:n,limit:l,setFilter:W,setBulkFilters:X,setPage:U,setLimit:se,refetch:F}}function vO(e){return e?new Date(e).toISOString():""}function pO(e){if(!e)return"";const t=new Date(e),n=r=>String(r).padStart(2,"0");return`${String(t.getFullYear())}-${n(t.getMonth()+1)}-${n(t.getDate())}T${n(t.getHours())}:${n(t.getMinutes())}`}function Z4(e,t){const n=nC(t.decision),r=new URLSearchParams;r.set("format",e),t.tool&&r.set("tool",t.tool),n.decision&&r.set("decision",n.decision);const l=t.reason??n.reason;return l&&r.set("reason",l),n.blocked!==void 0&&r.set("blocked",String(n.blocked)),n.dry_run!==void 0&&r.set("dry_run",String(n.dry_run)),t.session&&r.set("session",t.session),t.from&&r.set("from",t.from),t.to&&r.set("to",t.to),t.upstream_status_min&&r.set("upstream_status_min",t.upstream_status_min),t.upstream_status_max&&r.set("upstream_status_max",t.upstream_status_max),t.origin&&r.set("origin",t.origin),t.record_kind&&r.set("record_kind",t.record_kind),t.channel&&r.set("channel_id",t.channel),t.sender&&r.set("sender_id",t.sender),t.upstream&&r.set("upstream",t.upstream),t.session_source&&r.set("session_source",t.session_source),`/api/audit/export?${r.toString()}`}const W4=[{label:"All Reasons",value:null},{label:"Policy Denied",value:"policy_denied"},{label:"Evidence Missing",value:"evidence_missing"},{label:"Evidence Expired",value:"evidence_expired"},{label:"Dependency Missing",value:"dependency_missing"},{label:"Approval Denied",value:"approval_denied"},{label:"Approval Timeout",value:"approval_timeout"},{label:"Client Disconnected",value:"client_disconnected"},{label:"Shutdown Cancelled",value:"shutdown_cancelled"},{label:"Install Denied",value:"install_denied"},{label:"Missing Tool Name",value:"missing_tool_name"},{label:"Header Mismatch",value:"header_mismatch"},{label:"Rate Limited",value:"rate_limited"},{label:"Spend Limited",value:"spend_limited"},{label:"Budget Exceeded",value:"budget_exceeded"}];function Q4({filters:e,setFilter:t,setBulkFilters:n,hasAttributedRows:r}){const[l,u]=y.useState(null),[s,f]=y.useState(!1),[d,h]=y.useState(!1),[m,v]=y.useState(null),b=y.useRef(null);y.useEffect(()=>{if(!s)return;const w=j=>{b.current&&!b.current.contains(j.target)&&f(!1)};return document.addEventListener("mousedown",w),()=>{document.removeEventListener("mousedown",w)}},[s]),y.useEffect(()=>{if(!s)return;const w=j=>{j.key==="Escape"&&f(!1)};return document.addEventListener("keydown",w),()=>{document.removeEventListener("keydown",w)}},[s]);const S=y.useCallback(async w=>{f(!1),v(null),h(!0);try{const j=Z4(w,e),A=await fetch(j);if(!A.ok){const M=await A.text().catch(()=>"");throw new Error(M||`Export failed (${String(A.status)})`)}const N=await A.blob(),T=URL.createObjectURL(N),P=document.createElement("a");P.href=T,P.download=`helio-audit-export.${w}`,document.body.appendChild(P),P.click(),document.body.removeChild(P),URL.revokeObjectURL(T)}catch(j){v(j instanceof Error?j.message:"Failed to export audit records")}finally{h(!1)}},[e]),O=y.useCallback(w=>{u(w),n(w===null?{from:"",to:""}:{from:new Date(Date.now()-w).toISOString(),to:""})},[n]),_=y.useCallback(()=>{u("custom")},[]);return x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"flex flex-wrap items-center gap-3 pb-3",children:[x.jsx("input",{type:"text",placeholder:"Filter by tool name…",value:e.tool,onChange:w=>{t("tool",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("div",{className:"flex flex-wrap gap-1.5",children:aC.map(({label:w,value:j})=>x.jsx("button",{type:"button",onClick:()=>{t("decision",j)},"aria-pressed":e.decision===j,className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${e.decision===j?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:w},w))}),x.jsx("select",{value:e.reason??"",onChange:w=>{t("reason",w.target.value||null)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-700 focus:border-gray-300 focus:outline-none",children:W4.map(w=>x.jsx("option",{value:w.value??"",children:w.label},w.label))}),x.jsx("input",{type:"text","aria-label":"Origin",placeholder:"Origin (e.g. openclaw)…",value:e.origin,onChange:w=>{t("origin",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsxs("select",{"aria-label":"Record Kind",value:e.record_kind,onChange:w=>{t("record_kind",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-700 focus:border-gray-300 focus:outline-none",children:[x.jsx("option",{value:"",children:"All Kinds"}),x.jsx("option",{value:"tool_call",children:"Tool Call"}),x.jsx("option",{value:"install_scan",children:"Install Scan"}),x.jsx("option",{value:"drift_event",children:"Drift"}),x.jsx("option",{value:"evaluation_expired",children:"Expired"})]}),x.jsxs("select",{"aria-label":"Session Source",value:e.session_source,onChange:w=>{t("session_source",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-700 focus:border-gray-300 focus:outline-none",children:[x.jsx("option",{value:"",children:"All Sources"}),x.jsx("option",{value:"header",children:"header"}),x.jsx("option",{value:"meta",children:"meta"}),x.jsx("option",{value:"legacy_header",children:"legacy_header"}),x.jsx("option",{value:"transport",children:"transport"}),x.jsx("option",{value:"sideband",children:"sideband"})]})]}),x.jsxs("div",{className:"flex flex-wrap items-center gap-3 pb-4",children:[x.jsxs("div",{className:"flex gap-1.5",children:[R4.map(({label:w,ms:j})=>x.jsx("button",{type:"button",onClick:()=>{O(j)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${l===j?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:w},w)),x.jsx("button",{type:"button",onClick:_,className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${l==="custom"?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:"Custom"})]}),l==="custom"&&x.jsxs(x.Fragment,{children:[x.jsx("input",{type:"datetime-local",value:pO(e.from),onChange:w=>{t("from",vO(w.target.value))},className:"rounded-md border border-gray-200 bg-white px-2 py-1 text-xs text-gray-900 focus:border-gray-300 focus:outline-none"}),x.jsx("span",{className:"text-xs text-gray-400",children:"to"}),x.jsx("input",{type:"datetime-local",value:pO(e.to),onChange:w=>{t("to",vO(w.target.value))},className:"rounded-md border border-gray-200 bg-white px-2 py-1 text-xs text-gray-900 focus:border-gray-300 focus:outline-none"})]}),x.jsx("input",{type:"text",placeholder:"Session ID…",value:e.session,onChange:w=>{t("session",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),(r||e.upstream!=="")&&x.jsx("input",{type:"text",placeholder:"Filter by upstream…",value:e.upstream,onChange:w=>{t("upstream",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("input",{type:"text",placeholder:"Channel ID…",value:e.channel,onChange:w=>{t("channel",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("input",{type:"text",placeholder:"Sender ID…",value:e.sender,onChange:w=>{t("sender",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("input",{type:"number",min:100,max:599,placeholder:"Status min",value:e.upstream_status_min,onChange:w=>{t("upstream_status_min",w.target.value)},className:"w-28 rounded-md border border-gray-200 bg-white px-2 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("input",{type:"number",min:100,max:599,placeholder:"Status max",value:e.upstream_status_max,onChange:w=>{t("upstream_status_max",w.target.value)},className:"w-28 rounded-md border border-gray-200 bg-white px-2 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("div",{className:"flex-1"}),x.jsxs("div",{ref:b,className:"relative",children:[x.jsxs("button",{type:"button",onClick:()=>{f(w=>!w)},"aria-expanded":s,"aria-haspopup":"menu",className:"flex items-center gap-1.5 rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-50",children:["Export",x.jsx("svg",{className:`h-4 w-4 text-gray-400 transition-transform ${s?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19 9-7 7-7-7"})})]}),s&&x.jsxs("div",{className:"absolute right-0 z-10 mt-1 w-36 rounded-md border border-gray-200 bg-white py-1 shadow-lg",children:[x.jsx("button",{type:"button",onClick:()=>{S("json")},disabled:d,className:"block w-full px-3 py-1.5 text-left text-sm text-gray-700 hover:bg-gray-50",children:"Export JSON"}),x.jsx("button",{type:"button",onClick:()=>{S("csv")},disabled:d,className:"block w-full px-3 py-1.5 text-left text-sm text-gray-700 hover:bg-gray-50",children:"Export CSV"})]})]})]}),m&&x.jsx("p",{className:"pb-2 text-xs text-red-600",children:m})]})}const J4=[10,25,50];function eL({records:e,selectedId:t,page:n,totalPages:r,limit:l,loading:u,onRowClick:s,onPageChange:f,onLimitChange:d}){if(e.length===0&&!u)return null;const h=e.some(m=>m.upstream!=null);return x.jsxs(x.Fragment,{children:[u&&x.jsx("div",{className:"mb-3 h-0.5 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:"h-full w-1/3 animate-pulse rounded-full bg-gray-300"})}),e.length>0&&x.jsx("div",{className:"flex-1 overflow-auto",children:x.jsxs("table",{className:"w-full text-left text-sm",children:[x.jsx("thead",{children:x.jsxs("tr",{className:"border-b border-gray-200 text-xs font-medium text-gray-500",children:[x.jsx("th",{scope:"col",className:"pb-2 pr-4 font-medium",children:"Timestamp"}),x.jsx("th",{scope:"col",className:"pb-2 pr-4 font-medium",children:"Tool"}),h&&x.jsx("th",{scope:"col",className:"hidden pb-2 pr-4 font-medium md:table-cell",children:"Upstream"}),x.jsx("th",{scope:"col",className:"pb-2 pr-4 font-medium",children:"Origin"}),x.jsx("th",{scope:"col",className:"pb-2 pr-4 font-medium",children:"Decision"}),x.jsx("th",{scope:"col",className:"hidden pb-2 pr-4 font-medium sm:table-cell",children:"Session / Agent"}),x.jsx("th",{scope:"col",className:"hidden pb-2 pr-4 font-medium md:table-cell",children:"Channel"}),x.jsx("th",{scope:"col",className:"hidden pb-2 pr-4 font-medium md:table-cell",children:"Sender"}),x.jsx("th",{scope:"col",className:"pb-2 pr-4 text-right font-medium",children:"Duration"}),x.jsx("th",{scope:"col",className:"pb-2 font-medium"})]})}),x.jsx("tbody",{children:e.map(m=>{var v,b;return x.jsxs("tr",{onClick:()=>{s(m.id)},className:`cursor-pointer border-b border-gray-100 transition-colors ${t===m.id?"bg-blue-50":"hover:bg-gray-50"}`,children:[x.jsx("td",{className:"whitespace-nowrap py-2.5 pr-4 text-xs tabular-nums text-gray-500",children:tr(m.timestamp)}),x.jsx("td",{className:"py-2.5 pr-4 font-mono text-sm text-gray-900",children:m.tool_name}),h&&x.jsx("td",{className:"hidden py-2.5 pr-4 font-mono text-xs text-gray-500 md:table-cell",children:m.upstream}),x.jsx("td",{className:"py-2.5 pr-4",children:x.jsx(rC,{origin:m.origin,recordKind:m.record_kind})}),x.jsx("td",{className:"py-2.5 pr-4",children:x.jsx(Ug,{policyDecision:m.policy_decision,blockReason:m.block_reason,approvalStatus:m.approval_status,dryRun:m.dry_run})}),x.jsxs("td",{className:"hidden py-2.5 pr-4 text-xs text-gray-500 sm:table-cell",children:[_d(m.agent_id??m.session_id),!m.agent_id&&m.session_source&&x.jsx("span",{className:"ml-1.5 rounded bg-gray-100 px-1 py-0.5 text-[10px] text-gray-500",children:m.session_source})]}),x.jsx("td",{className:"hidden py-2.5 pr-4 text-xs text-gray-500 md:table-cell",children:typeof((v=m.metadata)==null?void 0:v.channel_id)=="string"?m.metadata.channel_id:"—"}),x.jsx("td",{className:"hidden py-2.5 pr-4 text-xs text-gray-500 md:table-cell",children:typeof((b=m.metadata)==null?void 0:b.sender_id)=="string"?m.metadata.sender_id:"—"}),x.jsx("td",{className:"py-2.5 pr-4 text-right text-xs tabular-nums text-gray-500",children:yr(m.total_duration_ms)}),x.jsx("td",{className:"py-2.5",children:m.flagged_destructive&&x.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-red-400",title:"Destructive"})})]},m.id)})})]})}),r>0&&x.jsxs("div",{className:"flex items-center justify-between border-t border-gray-200 pt-3 mt-auto",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("button",{type:"button",disabled:n<=1,onClick:()=>{f(n-1)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-40",children:"Previous"}),x.jsxs("span",{className:"text-xs text-gray-500",children:["Page ",n," of ",r]}),x.jsx("button",{type:"button",disabled:n>=r,onClick:()=>{f(n+1)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-40",children:"Next"})]}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("span",{className:"text-xs text-gray-500",children:"Rows per page"}),x.jsx("select",{value:l,onChange:m=>{d(Number(m.target.value))},className:"rounded-md border border-gray-200 bg-white px-2 py-1 text-xs text-gray-600 focus:border-gray-300 focus:outline-none",children:J4.map(m=>x.jsx("option",{value:m,children:m},m))})]})]})]})}function tL(e){if(!e||typeof e!="object")return!1;const t=e;return Array.isArray(t.found)&&Array.isArray(t.missing)&&Array.isArray(t.expired)}function nL(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.satisfied=="boolean"&&Array.isArray(t.missing)}function rL(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.current=="number"&&typeof t.limit=="number"}function aL(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.current_spend=="number"&&typeof t.limit=="number"}function iL(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.reason=="string"&&typeof t.invoked_by=="string"}function lL(e){if(!e||typeof e!="object")return!1;const t=e;return!(typeof t.ticket_id!="string"||t.denial_reason!==void 0&&typeof t.denial_reason!="string"||t.escalated_at!==void 0&&typeof t.escalated_at!="string"||t.escalated_to!==void 0&&!(Array.isArray(t.escalated_to)&&t.escalated_to.every(n=>typeof n=="string")))}function uL(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.unresolved=="boolean"&&typeof t.tried=="string"}function Vv(){return x.jsx("svg",{className:"h-4 w-4 shrink-0 text-emerald-600",viewBox:"0 0 20 20",fill:"currentColor",children:x.jsx("path",{fillRule:"evenodd",d:"M16.704 4.153a.75.75 0 0 1 .143 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 0 1 1.05-.143Z",clipRule:"evenodd"})})}function Xv(){return x.jsx("svg",{className:"h-4 w-4 shrink-0 text-red-600",viewBox:"0 0 20 20",fill:"currentColor",children:x.jsx("path",{d:"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z"})})}function oL(){return x.jsx("svg",{className:"h-4 w-4 shrink-0 text-amber-600",viewBox:"0 0 20 20",fill:"currentColor",children:x.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm.75-13a.75.75 0 0 0-1.5 0v5c0 .414.336.75.75.75h4a.75.75 0 0 0 0-1.5h-3.25V5Z",clipRule:"evenodd"})})}function sL({chain:e}){if(!e)return null;const t=tL(e.evidence)?e.evidence:null,n=nL(e.dependencies)?e.dependencies:null,r=rL(e.rate_limit)?e.rate_limit:null,l=aL(e.spend_limit)?e.spend_limit:null,u=iL(e.break_glass)?e.break_glass:null,s=lL(e.approval)?e.approval:null,f=uL(e.session)?e.session:null;return t||n||r||l||u||s||f?x.jsxs("div",{className:"space-y-3",children:[f&&x.jsxs("div",{children:[x.jsx("p",{className:"mb-1.5 text-xs font-medium text-gray-500",children:"Session Identity"}),x.jsxs("div",{className:"flex items-center gap-2",children:[f.unresolved?x.jsx(Xv,{}):x.jsx(Vv,{}),x.jsxs("span",{className:"text-xs text-gray-700",children:[f.unresolved?"Unresolved":"Resolved"," (tried: ",f.tried,")"]})]})]}),t&&(t.found.length>0||t.missing.length>0||t.expired.length>0)&&x.jsxs("div",{children:[x.jsx("p",{className:"mb-1.5 text-xs font-medium text-gray-500",children:"Evidence"}),x.jsxs("div",{className:"space-y-1",children:[t.found.map(h=>x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(Vv,{}),x.jsx("span",{className:"text-xs text-emerald-700",children:h})]},`f-${h}`)),t.missing.map(h=>x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(Xv,{}),x.jsx("span",{className:"text-xs text-red-700",children:h})]},`m-${h}`)),t.expired.map(h=>x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(oL,{}),x.jsx("span",{className:"text-xs text-amber-600",children:h})]},`e-${h}`))]})]}),n&&x.jsxs("div",{children:[x.jsx("p",{className:"mb-1.5 text-xs font-medium text-gray-500",children:"Dependencies"}),n.satisfied?x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(Vv,{}),x.jsx("span",{className:"text-xs text-emerald-700",children:"All dependencies satisfied"})]}):x.jsx("div",{className:"space-y-1",children:n.missing.map(h=>x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(Xv,{}),x.jsx("span",{className:"text-xs text-red-700",children:h})]},h))})]}),r&&x.jsxs("div",{children:[x.jsx("p",{className:"mb-1.5 text-xs font-medium text-gray-500",children:"Rate Limit"}),x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:`h-full rounded-full ${Lo(r.current,r.limit)}`,style:{width:`${String(zo(r.current,r.limit))}%`}})}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[r.current," / ",r.limit," calls"]})]})]}),l&&x.jsxs("div",{children:[x.jsx("p",{className:"mb-1.5 text-xs font-medium text-gray-500",children:"Spend Limit"}),x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:`h-full rounded-full ${Lo(l.current_spend,l.limit)}`,style:{width:`${String(zo(l.current_spend,l.limit))}%`}})}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[l.current_spend," / ",l.limit]})]})]}),u&&x.jsxs("div",{className:"rounded-md border border-amber-200 bg-amber-50 p-3",children:[x.jsx("p",{className:"text-xs font-medium text-amber-800",children:"Break-Glass Override"}),x.jsxs("p",{className:"mt-1 text-xs text-amber-700",children:[x.jsx("span",{className:"font-medium",children:"Reason:"})," ",u.reason]}),x.jsxs("p",{className:"text-xs text-amber-700",children:[x.jsx("span",{className:"font-medium",children:"Invoked by:"})," ",u.invoked_by]})]}),s&&x.jsxs("div",{className:"rounded-md border border-gray-200 bg-gray-50 p-3",children:[x.jsx("p",{className:"text-xs font-medium text-gray-700",children:"Approval"}),s.denial_reason&&x.jsxs("p",{className:"mt-1 text-xs text-gray-600",children:[x.jsx("span",{className:"font-medium",children:"Denial reason:"})," ",s.denial_reason]}),s.escalated_at&&x.jsxs("p",{className:"mt-1 text-xs text-gray-600",children:[x.jsx("span",{className:"font-medium",children:"Escalated:"})," ",s.escalated_at,s.escalated_to&&s.escalated_to.length>0?` to ${s.escalated_to.join(", ")}`:""]}),x.jsxs("p",{className:"mt-1 text-xs text-gray-400",children:["Ticket ",s.ticket_id]})]})]}):null}function cL({selectedRecord:e,detailLoading:t,detailError:n,onClose:r}){var d;const l=e?Sf(e.tool_input):null,u=(e==null?void 0:e.upstream_response)!=null?Sf(e.upstream_response):null,s=(d=e==null?void 0:e.evidence_chain)==null?void 0:d.session,f=s&&typeof s=="object"&&"tried"in s?String(s.tried):null;return x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"fixed inset-0 z-40 bg-black/10",onClick:r,role:"button",tabIndex:-1,"aria-label":"Close detail panel"}),x.jsxs("div",{role:"dialog","aria-label":"Audit record details",className:"fixed inset-y-0 right-0 z-50 w-full max-w-[480px] overflow-y-auto border-l border-gray-200 bg-white shadow-lg",children:[x.jsxs("div",{className:"flex items-center justify-between border-b border-gray-200 px-4 py-3",children:[x.jsxs("div",{className:"min-w-0",children:[x.jsx("h2",{className:"truncate font-mono text-sm font-semibold text-gray-900",children:(e==null?void 0:e.tool_name)??"Loading…"}),e&&x.jsx("p",{className:"text-xs text-gray-500",children:tr(e.timestamp)})]}),x.jsx("button",{type:"button",onClick:r,className:"ml-3 shrink-0 rounded-md p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600","aria-label":"Close",children:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18 18 6M6 6l12 12"})})})]}),x.jsxs("div",{className:"px-4 py-4",children:[t&&!e&&x.jsxs("div",{className:"space-y-3",children:[x.jsx("div",{className:"h-4 w-1/3 animate-pulse rounded bg-gray-100"}),x.jsx("div",{className:"h-24 animate-pulse rounded bg-gray-100"}),x.jsx("div",{className:"h-4 w-1/4 animate-pulse rounded bg-gray-100"}),x.jsx("div",{className:"h-16 animate-pulse rounded bg-gray-100"})]}),e&&x.jsxs("div",{className:"space-y-4 text-sm",children:[x.jsx(Ee,{label:"Decision",children:x.jsx(Ug,{policyDecision:e.policy_decision,blockReason:e.block_reason,approvalStatus:e.approval_status,dryRun:e.dry_run,showContext:!0})}),e.upstream&&x.jsx(Ee,{label:"Upstream",children:x.jsx("span",{className:"font-mono text-xs",children:e.upstream})}),x.jsx(Ee,{label:"Session",children:e.session_id?x.jsxs("div",{className:"text-xs",children:[x.jsx("span",{className:"font-mono",children:e.session_id}),e.session_source&&x.jsxs("span",{className:"ml-2 text-gray-500",children:["via ",e.session_source]})]}):x.jsx("span",{className:"text-xs text-gray-500",children:f?`Unresolved (tried: ${f})`:"None"})}),e.protocol_version&&x.jsx(Ee,{label:"Protocol",children:x.jsx("span",{className:"font-mono text-xs",children:e.protocol_version})}),x.jsxs(Ee,{label:"Input Parameters",children:[x.jsx("pre",{className:"max-h-64 overflow-auto whitespace-pre-wrap wrap-break-word rounded bg-gray-50 p-2 text-xs",children:l==null?void 0:l.text}),(l==null?void 0:l.truncated)&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Input payload preview is truncated for readability."})]}),e.evidence_chain&&x.jsx(Ee,{label:"Evidence Chain",children:x.jsx(sL,{chain:e.evidence_chain})}),e.matched_rule&&x.jsx(Ee,{label:"Matched Rule",children:x.jsx("span",{className:"font-mono text-xs",children:e.matched_rule})}),e.approval_status&&x.jsx(Ee,{label:"Approval",children:x.jsxs("span",{className:"text-xs",children:[e.approval_status,e.approved_by?` by ${e.approved_by}`:""]})}),e.upstream_response!=null&&x.jsxs(Ee,{label:"Upstream Response",children:[x.jsx("pre",{"data-testid":"upstream-response-json",className:"max-h-64 overflow-auto whitespace-pre-wrap wrap-break-word rounded bg-gray-50 p-2 text-xs",children:u==null?void 0:u.text}),(u==null?void 0:u.truncated)&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Upstream response preview is truncated for readability."})]}),e.upstream_error&&x.jsx(Ee,{label:"Upstream Error",children:x.jsx("span",{className:"text-xs text-red-600 whitespace-pre-wrap wrap-break-word",children:g4(e.upstream_error)})}),x.jsx(Ee,{label:"Duration",children:x.jsxs("div",{className:"space-y-0.5 text-xs tabular-nums text-gray-600",children:[x.jsxs("p",{children:["Total: ",yr(e.total_duration_ms)]}),x.jsxs("p",{children:["Proxy compute: ",yr(e.proxy_compute_ms)]}),e.approval_wait_ms>0&&x.jsxs("p",{children:["Approval wait: ",yr(e.approval_wait_ms)]}),e.upstream_latency_ms!=null&&x.jsxs("p",{children:["Upstream: ",yr(e.upstream_latency_ms)]})]})}),(e.flagged_destructive||e.dry_run)&&x.jsx(Ee,{label:"Flags",children:x.jsxs("div",{className:"flex gap-2",children:[e.flagged_destructive&&x.jsx("span",{className:"inline-flex items-center rounded-md bg-red-50 px-2 py-1 text-xs font-medium text-red-700 ring-1 ring-inset ring-red-600/20",children:"Destructive"}),e.dry_run&&x.jsx("span",{className:"inline-flex items-center rounded-md bg-blue-50 px-2 py-1 text-xs font-medium text-blue-700 ring-1 ring-inset ring-blue-600/20",children:"Dry Run"})]})})]}),!t&&!e&&n&&x.jsx("p",{className:"text-xs text-red-600",children:n})]})]})]})}function fL(){const{data:e,loading:t,error:n,filters:r,page:l,limit:u,setFilter:s,setBulkFilters:f,setPage:d,setLimit:h,refetch:m}=F4(),{subscribe:v}=fu(),[b,S]=y.useState(0);y.useEffect(()=>v("action",()=>{S(X=>X+1)}),[v]);const O=y.useCallback(()=>{S(0),m()},[m]),[_,w]=y.useState(null),[j,A]=y.useState(null),[N,T]=y.useState(!1),[P,M]=y.useState(null),R=y.useCallback(X=>{if(_===X){w(null),A(null);return}w(X),A(null),M(null),T(!0),eC(X).then(U=>{w(se=>(se===X&&(A(U),T(!1)),se))}).catch(U=>{w(se=>(se===X&&(T(!1),M(U instanceof Error?U.message:"Failed to load record details")),se))})},[_]),I=y.useCallback(()=>{w(null),A(null)},[]);y.useEffect(()=>{if(!_)return;const X=U=>{U.key==="Escape"&&I()};return document.addEventListener("keydown",X),()=>{document.removeEventListener("keydown",X)}},[_,I]);const q=e?Math.ceil(e.total/u):0,W=(e==null?void 0:e.data)??[];return t&&!e?x.jsx("div",{className:"flex h-full flex-col gap-3",children:Array.from({length:4},(X,U)=>x.jsx("div",{className:"h-12 animate-pulse rounded-md bg-gray-100"},U))}):n&&!e?x.jsx(Ii,{error:n}):x.jsxs("div",{className:"flex h-full flex-col",children:[x.jsxs("div",{className:"mb-4",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Audit Log"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Searchable history of all tool calls"})]}),b>0&&x.jsxs("button",{type:"button",onClick:O,className:"mb-3 w-full rounded-md bg-blue-50 px-3 py-2 text-center text-sm font-medium text-blue-700 transition-colors hover:bg-blue-100",children:[b," new ",b===1?"record":"records"," available — click to refresh"]}),x.jsx(Q4,{filters:r,setFilter:s,setBulkFilters:f,hasAttributedRows:W.some(X=>X.upstream!=null)}),W.length===0&&!t&&x.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 0 0-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75 2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15a2.25 2.25 0 0 1 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25ZM6.75 12h.008v.008H6.75V12Zm0 3h.008v.008H6.75V15Zm0 3h.008v.008H6.75V18Z"})}),e&&e.total===0&&!r.tool&&!r.decision&&!r.reason&&!r.session&&!r.from&&!r.to&&!r.upstream_status_min&&!r.upstream_status_max&&!r.origin&&!r.record_kind&&!r.channel&&!r.sender&&!r.upstream&&!r.session_source?x.jsxs(x.Fragment,{children:[x.jsx("p",{className:"text-sm font-medium",children:"No audit records yet"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Start sending tool calls through Helio"})]}):x.jsx("p",{className:"text-sm font-medium",children:"No records match the current filters"})]}),x.jsx(eL,{records:W,selectedId:_,page:l,totalPages:q,limit:u,loading:!!(t&&e),onRowClick:R,onPageChange:d,onLimitChange:h}),_&&x.jsx(cL,{selectedRecord:j,detailLoading:N,detailError:P,onClose:I})]})}const yO=5e3,dL=1e3,hL=1e4;function cC(e){if(e>=Io){const n=Math.round(e/Io);return`${String(n)}d`}if(e>=wf){const n=Math.round(e/wf);return`${String(n)}h`}const t=Math.round(e/uC);return`${String(t)}m`}function mL(e){const t=/^upstream:([^:]+):/.exec(e);return(t==null?void 0:t[1])??null}function fC(e,t=!1){const n=/^upstream:([^:]+):tool:(.*)$/.exec(e);if(n){const[,l,u]=n;if(l!==void 0&&u!==void 0)return{type:"tool",name:t?u:`${u} (${l})`}}const r=e.indexOf(":");return r===-1?{type:"",name:e}:{type:e.slice(0,r),name:e.slice(r+1)}}function gO(e){const t=[],n=new Map;for(const r of e){const l=mL(r.key);if(l===null)t.push(r);else{const u=n.get(l)??[];u.push(r),n.set(l,u)}}return{base:t,doors:[...n.entries()].sort(([r],[l])=>r.localeCompare(l))}}function vL(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[l,u]=y.useState(null),[s,f]=y.useState(Date.now()),[d,h]=y.useState(new Set),m=y.useRef(null),v=y.useRef(new Set),{subscribe:b}=fu(),S=y.useCallback(A=>{a4().then(N=>{t(N),u(null),A&&r(!1)}).catch(N=>{A&&(u(N instanceof Error?N.message:"Failed to load limits"),r(!1))})},[]);if(y.useEffect(()=>(S(!0),m.current=setInterval(()=>{S(!1)},yO),()=>{m.current&&clearInterval(m.current)}),[S]),y.useEffect(()=>{const A=v.current,N=b("limit_warning",T=>{h(M=>new Set(M).add(T.key));const P=setTimeout(()=>{h(M=>{const R=new Set(M);return R.delete(T.key),R}),A.delete(P)},hL);A.add(P),S(!1),m.current&&clearInterval(m.current),m.current=setInterval(()=>{S(!1)},yO)});return()=>{N();for(const T of A)clearTimeout(T);A.clear()}},[b,S]),y.useEffect(()=>{const A=setInterval(()=>{f(Date.now())},dL);return()=>{clearInterval(A)}},[]),n)return x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:Array.from({length:6},(A,N)=>x.jsx("div",{className:"h-24 animate-pulse rounded-md bg-gray-100"},N))});if(l)return x.jsx(Ii,{error:l});const O=(e==null?void 0:e.rate_limits)??[],_=(e==null?void 0:e.spend_limits)??[],w=gO(O),j=gO(_);return O.length===0&&_.length===0?x.jsxs("div",{className:"flex h-full flex-col",children:[x.jsxs("div",{className:"mb-4",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Rate & Spend Limits"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Current usage against configured limits"})]}),x.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"})}),x.jsx("p",{className:"text-sm font-medium",children:"No active limits configured"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Add rate or spend limits to your policy"})]})]}):x.jsxs("div",{className:"flex h-full flex-col gap-6 overflow-y-auto",children:[x.jsxs("div",{children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Rate & Spend Limits"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Current usage against configured limits"})]}),x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Rate Limits"}),O.length===0?x.jsx("p",{className:"text-sm text-gray-500",children:"No rate limits configured"}):x.jsxs(x.Fragment,{children:[w.base.length>0&&x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:w.base.map(A=>x.jsx(bO,{state:A,now:s,highlighted:d.has(A.key)},A.key))}),w.doors.map(([A,N],T)=>x.jsxs("div",{className:T>0||w.base.length>0?"mt-4":"",children:[x.jsx("h3",{className:"mb-2 font-mono text-xs font-medium text-gray-400",children:A}),x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:N.map(P=>x.jsx(bO,{state:P,now:s,highlighted:d.has(P.key),grouped:!0},P.key))})]},A))]})]}),x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Spend Limits"}),_.length===0?x.jsx("p",{className:"text-sm text-gray-500",children:"No spend limits configured"}):x.jsxs(x.Fragment,{children:[j.base.length>0&&x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:j.base.map(A=>x.jsx(xO,{state:A,now:s,highlighted:d.has(A.key)},A.key))}),j.doors.map(([A,N],T)=>x.jsxs("div",{className:T>0||j.base.length>0?"mt-4":"",children:[x.jsx("h3",{className:"mb-2 font-mono text-xs font-medium text-gray-400",children:A}),x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:N.map(P=>x.jsx(xO,{state:P,now:s,highlighted:d.has(P.key),grouped:!0},P.key))})]},A))]})]})]})}function bO({state:e,now:t,highlighted:n,grouped:r=!1}){const{type:l,name:u}=fC(e.key,r),s=e.reset_at_ms-t,f=zo(e.current,e.limit);return x.jsxs("div",{className:`rounded-md border bg-white p-4 transition-shadow ${n?"ring-2 ring-amber-300 border-amber-200":"border-gray-200"}`,children:[x.jsxs("div",{className:"mb-3 flex items-center justify-between gap-2",children:[x.jsxs("div",{className:"min-w-0",children:[l&&x.jsx("span",{className:"mr-1 text-xs text-gray-400",children:l}),x.jsx("span",{className:"font-mono text-sm text-gray-900",children:u})]}),x.jsx("span",{className:"shrink-0 rounded bg-gray-100 px-1.5 py-0.5 text-xs text-gray-500",children:cC(e.window_ms)})]}),x.jsxs("div",{className:"mb-2 flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:`h-full rounded-full transition-all ${Lo(e.current,e.limit)}`,style:{width:`${String(f)}%`}})}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[e.current," / ",e.limit," calls"]})]}),x.jsx("p",{className:"text-xs text-gray-500",children:s>0?`Resets in ${Ed(s)}`:e.current>0?"Expired":"No active window"})]})}function xO({state:e,now:t,highlighted:n,grouped:r=!1}){const{type:l,name:u}=fC(e.key,r),s=e.reset_at_ms-t,f=zo(e.current_spend,e.limit);return x.jsxs("div",{className:`rounded-md border bg-white p-4 transition-shadow ${n?"ring-2 ring-amber-300 border-amber-200":"border-gray-200"}`,children:[x.jsxs("div",{className:"mb-3 flex items-center justify-between gap-2",children:[x.jsxs("div",{className:"min-w-0",children:[l&&x.jsx("span",{className:"mr-1 text-xs text-gray-400",children:l}),x.jsx("span",{className:"font-mono text-sm text-gray-900",children:u})]}),x.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[x.jsx("span",{className:"text-xs font-medium text-gray-400",children:e.currency}),x.jsx("span",{className:"rounded bg-gray-100 px-1.5 py-0.5 text-xs text-gray-500",children:cC(e.window_ms)})]})]}),x.jsxs("div",{className:"mb-2 flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:`h-full rounded-full transition-all ${Lo(e.current_spend,e.limit)}`,style:{width:`${String(f)}%`}})}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[zi(e.current_spend,e.currency)," /"," ",zi(e.limit,e.currency)]})]}),x.jsx("p",{className:"text-xs text-gray-500",children:s>0?`Resets in ${Ed(s)}`:e.current_spend>0?"Expired":"No active window"})]})}const pL=5e3,yL=1e3,gL=1e4,SO=20,bL=15e3;function xL(e,t){const n=`budget:${e}:`;return t.startsWith(n)?t.slice(n.length):t}function SL(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[l,u]=y.useState(null),[s,f]=y.useState(Date.now()),[d,h]=y.useState(new Set),[m,v]=y.useState(new Map),b=y.useRef(null),S=y.useRef(new Map),O=y.useRef(m);O.current=m;const _=y.useRef(0),w=y.useRef(0),j=y.useRef(0),A=y.useRef(new Map),N=y.useRef(null),T=y.useRef({inFlight:!1,trailing:null}),P=y.useRef(new Set),M=y.useRef(!1),{subscribe:R}=fu(),I=y.useCallback(F=>{const J=++_.current;return(F?cO({signal:F}):cO()).then(z=>{if(J<=w.current)return;w.current=J,t(z.budgets),u(null),r(!1);const V=new Set(z.budgets.map(le=>le.name));N.current=V;const ne=new Set([...O.current.keys(),...A.current.keys()]);for(const le of ne)V.has(le)||A.current.set(le,j.current);v(le=>{if(![...le.keys()].some(D=>!V.has(D)))return le;const Q=new Map(le);for(const D of le.keys())V.has(D)||Q.delete(D);return Q})}).catch(z=>{w.current>0||(u(z instanceof Error?z.message:"Failed to load budgets"),r(!1))})},[]),q=y.useCallback((F,J)=>{if(N.current&&!N.current.has(F))return Promise.resolve();const z=++j.current,V=()=>z>(A.current.get(F)??0);return v(ne=>{var le,Q;return new Map(ne).set(F,{loading:!0,events:((le=ne.get(F))==null?void 0:le.events)??[],total:((Q=ne.get(F))==null?void 0:Q.total)??0,error:null})}),(J?fO(F,{limit:SO},{signal:J}):fO(F,{limit:SO})).then(ne=>{V()&&(A.current.set(F,z),v(le=>le.has(F)?new Map(le).set(F,{loading:!1,events:ne.data,total:ne.total,error:null}):le))}).catch(ne=>{V()&&v(le=>{const Q=le.get(F);return Q?new Map(le).set(F,{loading:!1,events:Q.events,total:Q.total,error:Q.events.length>0?null:ne instanceof Error?ne.message:"Failed to load events"}):le})})},[]),W=y.useCallback(F=>{const J=T.current;if(J.inFlight){J.trailing=new Set([...J.trailing??[],...F]);return}const z=V=>{J.inFlight=!0;const ne=new AbortController;P.current.add(ne);const le=[I(ne.signal)];for(const K of V)O.current.has(K)&&le.push(q(K,ne.signal));let Q;const D=new Promise(K=>{Q=setTimeout(()=>{ne.abort(),K()},bL)});Promise.race([Promise.allSettled(le),D]).then(()=>{Q&&clearTimeout(Q),P.current.delete(ne),J.inFlight=!1;const K=J.trailing;J.trailing=null,K&&!M.current&&z(K)})};z(F)},[I,q]),X=y.useCallback(()=>{W(new Set(O.current.keys()))},[W]),U=y.useCallback(F=>{if(O.current.has(F)){A.current.set(F,j.current),v(J=>{const z=new Map(J);return z.delete(F),z});return}q(F)},[q]);if(y.useEffect(()=>{const F=P.current;return M.current=!1,I(),b.current=setInterval(X,pL),()=>{M.current=!0,b.current&&clearInterval(b.current);for(const J of F)J.abort();F.clear()}},[I,X]),y.useEffect(()=>{const F=S.current,J=ne=>{h(D=>new Set(D).add(ne));const le=F.get(ne);le&&clearTimeout(le);const Q=setTimeout(()=>{h(D=>{const K=new Set(D);return K.delete(ne),K}),F.delete(ne)},gL);F.set(ne,Q),W(new Set([ne]))},z=R("budget_update",ne=>{J(ne.name)}),V=R("budget_breached",ne=>{J(ne.name)});return()=>{z(),V();for(const ne of F.values())clearTimeout(ne);F.clear()}},[R,W]),y.useEffect(()=>{const F=setInterval(()=>{f(Date.now())},yL);return()=>{clearInterval(F)}},[]),n)return x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:Array.from({length:6},(F,J)=>x.jsx("div",{className:"h-32 animate-pulse rounded-md bg-gray-100"},J))});if(l)return x.jsx(Ii,{error:l});const se=e??[];return se.length===0?x.jsxs("div",{className:"flex h-full flex-col",children:[x.jsxs("div",{className:"mb-4",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Budgets"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Cumulative cross-tool spend across your budgets"})]}),x.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.25 18.75a60.07 60.07 0 0 1 15.797 2.101c.727.198 1.453-.342 1.453-1.096V18.75M3.75 4.5v.75A.75.75 0 0 1 3 6h-.75m0 0v-.375c0-.621.504-1.125 1.125-1.125H20.25M2.25 6v9m18-10.5v.75c0 .414.336.75.75.75h.75m-1.5-1.5h.375c.621 0 1.125.504 1.125 1.125v9.75c0 .621-.504 1.125-1.125 1.125h-.375m1.5-1.5H21a.75.75 0 0 0-.75.75v.75m0 0H3.75m0 0h-.375a1.125 1.125 0 0 1-1.125-1.125V15m1.5 1.5v-.75A.75.75 0 0 0 3 15h-.75M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm3 0h.008v.008H18V10.5Zm-12 0h.008v.008H6V10.5Z"})}),x.jsx("p",{className:"text-sm font-medium",children:"No budgets configured"}),x.jsxs("p",{className:"text-xs text-gray-400",children:["Add a top-level ",x.jsx("code",{children:"budgets"})," section to your Helio config"]})]})]}):x.jsxs("div",{className:"flex h-full flex-col gap-6 overflow-y-auto",children:[x.jsxs("div",{children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Budgets"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Cumulative cross-tool spend across your budgets"})]}),x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:se.map(F=>x.jsx(wL,{budget:F,now:s,highlighted:d.has(F.name),panel:m.get(F.name),onToggleEvents:()=>{U(F.name)}},F.name))})]})}function wL({budget:e,now:t,highlighted:n,panel:r,onToggleEvents:l}){const[u,s]=y.useState(!1),[f,d]=y.useState(null),h=y.useCallback(async m=>{d(null),s(!0);try{const v=await fetch(`/api/budgets/${encodeURIComponent(e.name)}/events/export?format=${m}`);if(!v.ok){const _=await v.text().catch(()=>"");throw new Error(_||`Export failed (${String(v.status)})`)}const b=await v.blob(),S=URL.createObjectURL(b),O=document.createElement("a");O.href=S,O.download=`helio-budget-${e.name}-events.${m}`,document.body.appendChild(O),O.click(),document.body.removeChild(O),URL.revokeObjectURL(S)}catch(v){d(v instanceof Error?v.message:"Failed to export events")}finally{s(!1)}},[e.name]);return x.jsxs("div",{className:`rounded-md border bg-white p-4 transition-shadow ${n?"ring-2 ring-amber-300 border-amber-200":"border-gray-200"}`,children:[x.jsxs("div",{className:"mb-3 flex items-center justify-between gap-2",children:[x.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[x.jsx("span",{className:"truncate font-mono text-sm text-gray-900",children:e.name}),e.on_exceed==="require_approval"&&x.jsx("span",{className:"shrink-0 rounded bg-amber-50 px-1.5 py-0.5 text-xs text-amber-700",children:"break-glass"})]}),x.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[x.jsx("span",{className:"text-xs font-medium text-gray-400",children:e.currency}),x.jsx("span",{className:"rounded bg-gray-100 px-1.5 py-0.5 text-xs text-gray-500",children:e.window})]})]}),e.buckets.length===0?x.jsxs("div",{className:"mb-2",children:[x.jsxs("div",{className:"mb-2 flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100"}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[zi(0,e.currency)," / ",zi(e.limit,e.currency)]})]}),x.jsx("p",{className:"text-xs text-gray-500",children:"No spend yet — full headroom"})]}):x.jsx("div",{className:"flex flex-col gap-2",children:e.buckets.map(m=>x.jsx(OL,{budget:e,bucket:m,now:t},m.bucket_key))}),x.jsxs("div",{className:"mt-3 flex items-center justify-between gap-2",children:[x.jsx("button",{type:"button",onClick:l,className:"text-xs font-medium text-blue-600 hover:text-blue-500",children:r?"Hide recent events":"Recent events"}),x.jsxs("div",{className:"flex shrink-0 items-center gap-1.5 text-xs",children:[x.jsx("span",{className:"text-gray-400",children:"Export"}),x.jsx("button",{type:"button",disabled:u,"aria-label":`Export ${e.name} events as CSV`,onClick:()=>{h("csv")},className:"font-medium text-blue-600 hover:text-blue-500 disabled:text-gray-300",children:"CSV"}),x.jsx("button",{type:"button",disabled:u,"aria-label":`Export ${e.name} events as JSON`,onClick:()=>{h("json")},className:"font-medium text-blue-600 hover:text-blue-500 disabled:text-gray-300",children:"JSON"})]})]}),f&&x.jsx("p",{className:"mt-1 text-xs text-red-600",children:f}),r&&x.jsx(_L,{panel:r})]})}function OL({budget:e,bucket:t,now:n}){const r=xL(e.name,t.bucket_key),l=zo(t.spent,e.limit),u=t.reset_at_ms===null?null:t.reset_at_ms-n;return x.jsxs("div",{children:[r!=="global"&&x.jsx("p",{className:"mb-1 font-mono text-xs text-gray-400",children:r}),x.jsxs("div",{className:"mb-1 flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:`h-full rounded-full transition-all ${Lo(t.spent,e.limit)}`,style:{width:`${String(l)}%`}})}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[zi(t.spent,e.currency)," /"," ",zi(e.limit,e.currency)]})]}),x.jsx("p",{className:"text-xs text-gray-500",children:u===null?"Session pot — never replenishes":u>0?`Resets in ${Ed(u)}`:"Expired"})]})}function _L({panel:e}){return e.loading&&e.events.length===0?x.jsx("p",{className:"mt-2 text-xs text-gray-400",children:"Loading events…"}):e.error?x.jsx("p",{className:"mt-2 text-xs text-red-600",children:e.error}):e.events.length===0?x.jsx("p",{className:"mt-2 text-xs text-gray-400",children:"No spend recorded yet"}):x.jsxs("div",{className:"mt-2 flex flex-col gap-1",children:[e.events.map(t=>x.jsxs("div",{className:"flex items-center justify-between gap-2 text-xs",children:[x.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[x.jsx("span",{className:"truncate font-mono text-gray-700",children:t.tool_name}),t.upstream&&x.jsxs("span",{className:"shrink-0 text-gray-400",children:["(",t.upstream,")"]}),x.jsx(EL,{kind:t.kind})]}),x.jsxs("div",{className:"flex shrink-0 items-center gap-2 text-gray-500",children:[x.jsx("span",{className:"tabular-nums",children:zi(t.amount,t.currency)}),x.jsx("span",{className:"text-gray-400",children:new Date(t.timestamp).toLocaleTimeString()})]})]},t.id)),e.total>e.events.length&&x.jsxs("p",{className:"mt-1 text-xs text-gray-400",children:["…and ",e.total-e.events.length," more in the ledger"]})]})}function EL({kind:e}){return e==="approved_overage"?x.jsx("span",{className:"shrink-0 rounded bg-amber-100 px-1.5 py-0.5 font-medium text-amber-800",children:"approved overage"}):x.jsx("span",{className:"shrink-0 rounded bg-gray-100 px-1.5 py-0.5 text-gray-600",children:"spend"})}function dC(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(t=0;t<l;t++)e[t]&&(n=dC(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Ie(){for(var e,t,n=0,r="",l=arguments.length;n<l;n++)(e=arguments[n])&&(t=dC(e))&&(r&&(r+=" "),r+=t);return r}var jL=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function $g(e){if(typeof e!="string")return!1;var t=jL;return t.includes(e)}var AL=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],CL=new Set(AL);function hC(e){return typeof e!="string"?!1:CL.has(e)}function mC(e){return typeof e=="string"&&e.startsWith("data-")}function pn(e){if(typeof e!="object"||e===null)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(hC(n)||mC(n))&&(t[n]=e[n]);return t}function Bi(e){if(e==null)return null;if(y.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return pn(t)}return typeof e=="object"&&!Array.isArray(e)?pn(e):null}function rn(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(hC(n)||mC(n)||$g(n))&&(t[n]=e[n]);return t}function TL(e){return e==null?null:y.isValidElement(e)?rn(e.props):typeof e=="object"&&!Array.isArray(e)?rn(e):null}var NL=["children","width","height","viewBox","className","style","title","desc"];function Py(){return Py=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Py.apply(null,arguments)}function PL(e,t){if(e==null)return{};var n,r,l=ML(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function ML(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var qg=y.forwardRef((e,t)=>{var{children:n,width:r,height:l,viewBox:u,className:s,style:f,title:d,desc:h}=e,m=PL(e,NL),v=u||{width:r,height:l,x:0,y:0},b=Ie("recharts-surface",s);return y.createElement("svg",Py({},rn(m),{className:b,width:r,height:l,style:f,viewBox:"".concat(v.x," ").concat(v.y," ").concat(v.width," ").concat(v.height),ref:t}),y.createElement("title",null,d),y.createElement("desc",null,h),n)}),DL=["children","className"];function My(){return My=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},My.apply(null,arguments)}function RL(e,t){if(e==null)return{};var n,r,l=kL(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function kL(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var ht=y.forwardRef((e,t)=>{var{children:n,className:r}=e,l=RL(e,DL),u=Ie("recharts-layer",r);return y.createElement("g",My({className:u},rn(l),{ref:t}),n)}),Hg=C2(),vC=y.createContext(null),LL=()=>y.useContext(vC);function We(e){return function(){return e}}const pC=Math.cos,Of=Math.sin,or=Math.sqrt,_f=Math.PI,jd=2*_f,Dy=Math.PI,Ry=2*Dy,ji=1e-6,zL=Ry-ji;function yC(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function IL(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return yC;const n=10**t;return function(r){this._+=r[0];for(let l=1,u=r.length;l<u;++l)this._+=Math.round(arguments[l]*n)/n+r[l]}}class BL{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?yC:IL(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,l){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+l}`}bezierCurveTo(t,n,r,l,u,s){this._append`C${+t},${+n},${+r},${+l},${this._x1=+u},${this._y1=+s}`}arcTo(t,n,r,l,u){if(t=+t,n=+n,r=+r,l=+l,u=+u,u<0)throw new Error(`negative radius: ${u}`);let s=this._x1,f=this._y1,d=r-t,h=l-n,m=s-t,v=f-n,b=m*m+v*v;if(this._x1===null)this._append`M${this._x1=t},${this._y1=n}`;else if(b>ji)if(!(Math.abs(v*d-h*m)>ji)||!u)this._append`L${this._x1=t},${this._y1=n}`;else{let S=r-s,O=l-f,_=d*d+h*h,w=S*S+O*O,j=Math.sqrt(_),A=Math.sqrt(b),N=u*Math.tan((Dy-Math.acos((_+b-w)/(2*j*A)))/2),T=N/A,P=N/j;Math.abs(T-1)>ji&&this._append`L${t+T*m},${n+T*v}`,this._append`A${u},${u},0,0,${+(v*S>m*O)},${this._x1=t+P*d},${this._y1=n+P*h}`}}arc(t,n,r,l,u,s){if(t=+t,n=+n,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let f=r*Math.cos(l),d=r*Math.sin(l),h=t+f,m=n+d,v=1^s,b=s?l-u:u-l;this._x1===null?this._append`M${h},${m}`:(Math.abs(this._x1-h)>ji||Math.abs(this._y1-m)>ji)&&this._append`L${h},${m}`,r&&(b<0&&(b=b%Ry+Ry),b>zL?this._append`A${r},${r},0,1,${v},${t-f},${n-d}A${r},${r},0,1,${v},${this._x1=h},${this._y1=m}`:b>ji&&this._append`A${r},${r},0,${+(b>=Dy)},${v},${this._x1=t+r*Math.cos(u)},${this._y1=n+r*Math.sin(u)}`)}rect(t,n,r,l){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+l}h${-r}Z`}toString(){return this._}}function Kg(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new BL(t)}function Yg(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function gC(e){this._context=e}gC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Ad(e){return new gC(e)}function bC(e){return e[0]}function xC(e){return e[1]}function SC(e,t){var n=We(!0),r=null,l=Ad,u=null,s=Kg(f);e=typeof e=="function"?e:e===void 0?bC:We(e),t=typeof t=="function"?t:t===void 0?xC:We(t);function f(d){var h,m=(d=Yg(d)).length,v,b=!1,S;for(r==null&&(u=l(S=s())),h=0;h<=m;++h)!(h<m&&n(v=d[h],h,d))===b&&((b=!b)?u.lineStart():u.lineEnd()),b&&u.point(+e(v,h,d),+t(v,h,d));if(S)return u=null,S+""||null}return f.x=function(d){return arguments.length?(e=typeof d=="function"?d:We(+d),f):e},f.y=function(d){return arguments.length?(t=typeof d=="function"?d:We(+d),f):t},f.defined=function(d){return arguments.length?(n=typeof d=="function"?d:We(!!d),f):n},f.curve=function(d){return arguments.length?(l=d,r!=null&&(u=l(r)),f):l},f.context=function(d){return arguments.length?(d==null?r=u=null:u=l(r=d),f):r},f}function Gc(e,t,n){var r=null,l=We(!0),u=null,s=Ad,f=null,d=Kg(h);e=typeof e=="function"?e:e===void 0?bC:We(+e),t=typeof t=="function"?t:We(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?xC:We(+n);function h(v){var b,S,O,_=(v=Yg(v)).length,w,j=!1,A,N=new Array(_),T=new Array(_);for(u==null&&(f=s(A=d())),b=0;b<=_;++b){if(!(b<_&&l(w=v[b],b,v))===j)if(j=!j)S=b,f.areaStart(),f.lineStart();else{for(f.lineEnd(),f.lineStart(),O=b-1;O>=S;--O)f.point(N[O],T[O]);f.lineEnd(),f.areaEnd()}j&&(N[b]=+e(w,b,v),T[b]=+t(w,b,v),f.point(r?+r(w,b,v):N[b],n?+n(w,b,v):T[b]))}if(A)return f=null,A+""||null}function m(){return SC().defined(l).curve(s).context(u)}return h.x=function(v){return arguments.length?(e=typeof v=="function"?v:We(+v),r=null,h):e},h.x0=function(v){return arguments.length?(e=typeof v=="function"?v:We(+v),h):e},h.x1=function(v){return arguments.length?(r=v==null?null:typeof v=="function"?v:We(+v),h):r},h.y=function(v){return arguments.length?(t=typeof v=="function"?v:We(+v),n=null,h):t},h.y0=function(v){return arguments.length?(t=typeof v=="function"?v:We(+v),h):t},h.y1=function(v){return arguments.length?(n=v==null?null:typeof v=="function"?v:We(+v),h):n},h.lineX0=h.lineY0=function(){return m().x(e).y(t)},h.lineY1=function(){return m().x(e).y(n)},h.lineX1=function(){return m().x(r).y(t)},h.defined=function(v){return arguments.length?(l=typeof v=="function"?v:We(!!v),h):l},h.curve=function(v){return arguments.length?(s=v,u!=null&&(f=s(u)),h):s},h.context=function(v){return arguments.length?(v==null?u=f=null:f=s(u=v),h):u},h}class wC{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function UL(e){return new wC(e,!0)}function $L(e){return new wC(e,!1)}const Gg={draw(e,t){const n=or(t/_f);e.moveTo(n,0),e.arc(0,0,n,0,jd)}},qL={draw(e,t){const n=or(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},OC=or(1/3),HL=OC*2,KL={draw(e,t){const n=or(t/HL),r=n*OC;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},YL={draw(e,t){const n=or(t),r=-n/2;e.rect(r,r,n,n)}},GL=.8908130915292852,_C=Of(_f/10)/Of(7*_f/10),VL=Of(jd/10)*_C,XL=-pC(jd/10)*_C,FL={draw(e,t){const n=or(t*GL),r=VL*n,l=XL*n;e.moveTo(0,-n),e.lineTo(r,l);for(let u=1;u<5;++u){const s=jd*u/5,f=pC(s),d=Of(s);e.lineTo(d*n,-f*n),e.lineTo(f*r-d*l,d*r+f*l)}e.closePath()}},Fv=or(3),ZL={draw(e,t){const n=-or(t/(Fv*3));e.moveTo(0,n*2),e.lineTo(-Fv*n,-n),e.lineTo(Fv*n,-n),e.closePath()}},Hn=-.5,Kn=or(3)/2,ky=1/or(12),WL=(ky/2+1)*3,QL={draw(e,t){const n=or(t/WL),r=n/2,l=n*ky,u=r,s=n*ky+n,f=-u,d=s;e.moveTo(r,l),e.lineTo(u,s),e.lineTo(f,d),e.lineTo(Hn*r-Kn*l,Kn*r+Hn*l),e.lineTo(Hn*u-Kn*s,Kn*u+Hn*s),e.lineTo(Hn*f-Kn*d,Kn*f+Hn*d),e.lineTo(Hn*r+Kn*l,Hn*l-Kn*r),e.lineTo(Hn*u+Kn*s,Hn*s-Kn*u),e.lineTo(Hn*f+Kn*d,Hn*d-Kn*f),e.closePath()}};function JL(e,t){let n=null,r=Kg(l);e=typeof e=="function"?e:We(e||Gg),t=typeof t=="function"?t:We(t===void 0?64:+t);function l(){let u;if(n||(n=u=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),u)return n=null,u+""||null}return l.type=function(u){return arguments.length?(e=typeof u=="function"?u:We(u),l):e},l.size=function(u){return arguments.length?(t=typeof u=="function"?u:We(+u),l):t},l.context=function(u){return arguments.length?(n=u??null,l):n},l}function Ef(){}function jf(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function EC(e){this._context=e}EC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:jf(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:jf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function ez(e){return new EC(e)}function jC(e){this._context=e}jC.prototype={areaStart:Ef,areaEnd:Ef,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:jf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function tz(e){return new jC(e)}function AC(e){this._context=e}AC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:jf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function nz(e){return new AC(e)}function CC(e){this._context=e}CC.prototype={areaStart:Ef,areaEnd:Ef,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function rz(e){return new CC(e)}function wO(e){return e<0?-1:1}function OO(e,t,n){var r=e._x1-e._x0,l=t-e._x1,u=(e._y1-e._y0)/(r||l<0&&-0),s=(n-e._y1)/(l||r<0&&-0),f=(u*l+s*r)/(r+l);return(wO(u)+wO(s))*Math.min(Math.abs(u),Math.abs(s),.5*Math.abs(f))||0}function _O(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Zv(e,t,n){var r=e._x0,l=e._y0,u=e._x1,s=e._y1,f=(u-r)/3;e._context.bezierCurveTo(r+f,l+f*t,u-f,s-f*n,u,s)}function Af(e){this._context=e}Af.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Zv(this,this._t0,_O(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Zv(this,_O(this,n=OO(this,e,t)),n);break;default:Zv(this,this._t0,n=OO(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function TC(e){this._context=new NC(e)}(TC.prototype=Object.create(Af.prototype)).point=function(e,t){Af.prototype.point.call(this,t,e)};function NC(e){this._context=e}NC.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,l,u){this._context.bezierCurveTo(t,e,r,n,u,l)}};function az(e){return new Af(e)}function iz(e){return new TC(e)}function PC(e){this._context=e}PC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=EO(e),l=EO(t),u=0,s=1;s<n;++u,++s)this._context.bezierCurveTo(r[0][u],l[0][u],r[1][u],l[1][u],e[s],t[s]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function EO(e){var t,n=e.length-1,r,l=new Array(n),u=new Array(n),s=new Array(n);for(l[0]=0,u[0]=2,s[0]=e[0]+2*e[1],t=1;t<n-1;++t)l[t]=1,u[t]=4,s[t]=4*e[t]+2*e[t+1];for(l[n-1]=2,u[n-1]=7,s[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=l[t]/u[t-1],u[t]-=r,s[t]-=r*s[t-1];for(l[n-1]=s[n-1]/u[n-1],t=n-2;t>=0;--t)l[t]=(s[t]-l[t+1])/u[t];for(u[n-1]=(e[n]+l[n-1])/2,t=0;t<n-1;++t)u[t]=2*e[t+1]-l[t+1];return[l,u]}function lz(e){return new PC(e)}function Cd(e,t){this._context=e,this._t=t}Cd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function uz(e){return new Cd(e,.5)}function oz(e){return new Cd(e,0)}function sz(e){return new Cd(e,1)}function Ui(e,t){if((s=e.length)>1)for(var n=1,r,l,u=e[t[0]],s,f=u.length;n<s;++n)for(l=u,u=e[t[n]],r=0;r<f;++r)u[r][1]+=u[r][0]=isNaN(l[r][1])?l[r][0]:l[r][1]}function Ly(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function cz(e,t){return e[t]}function fz(e){const t=[];return t.key=e,t}function dz(){var e=We([]),t=Ly,n=Ui,r=cz;function l(u){var s=Array.from(e.apply(this,arguments),fz),f,d=s.length,h=-1,m;for(const v of u)for(f=0,++h;f<d;++f)(s[f][h]=[0,+r(v,s[f].key,h,u)]).data=v;for(f=0,m=Yg(t(s));f<d;++f)s[m[f]].index=f;return n(s,m),s}return l.keys=function(u){return arguments.length?(e=typeof u=="function"?u:We(Array.from(u)),l):e},l.value=function(u){return arguments.length?(r=typeof u=="function"?u:We(+u),l):r},l.order=function(u){return arguments.length?(t=u==null?Ly:typeof u=="function"?u:We(Array.from(u)),l):t},l.offset=function(u){return arguments.length?(n=u??Ui,l):n},l}function hz(e,t){if((r=e.length)>0){for(var n,r,l=0,u=e[0].length,s;l<u;++l){for(s=n=0;n<r;++n)s+=e[n][l][1]||0;if(s)for(n=0;n<r;++n)e[n][l][1]/=s}Ui(e,t)}}function mz(e,t){if((l=e.length)>0){for(var n=0,r=e[t[0]],l,u=r.length;n<u;++n){for(var s=0,f=0;s<l;++s)f+=e[s][n][1]||0;r[n][1]+=r[n][0]=-f/2}Ui(e,t)}}function vz(e,t){if(!(!((s=e.length)>0)||!((u=(l=e[t[0]]).length)>0))){for(var n=0,r=1,l,u,s;r<u;++r){for(var f=0,d=0,h=0;f<s;++f){for(var m=e[t[f]],v=m[r][1]||0,b=m[r-1][1]||0,S=(v-b)/2,O=0;O<f;++O){var _=e[t[O]],w=_[r][1]||0,j=_[r-1][1]||0;S+=w-j}d+=v,h+=S*v}l[r-1][1]+=l[r-1][0]=n,d&&(n-=h/d)}l[r-1][1]+=l[r-1][0]=n,Ui(e,t)}}var Wv={},Qv={},jO;function pz(){return jO||(jO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n==="__proto__"}e.isUnsafeProperty=t})(Qv)),Qv}var Jv={},AO;function MC(){return AO||(AO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){switch(typeof n){case"number":case"symbol":return!1;case"string":return n.includes(".")||n.includes("[")||n.includes("]")}}e.isDeepKey=t})(Jv)),Jv}var ep={},CO;function Vg(){return CO||(CO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){var r;return typeof n=="string"||typeof n=="symbol"?n:Object.is((r=n==null?void 0:n.valueOf)==null?void 0:r.call(n),-0)?"-0":String(n)}e.toKey=t})(ep)),ep}var tp={},np={},TO;function yz(){return TO||(TO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){if(n==null)return"";if(typeof n=="string")return n;if(Array.isArray(n))return n.map(t).join(",");const r=String(n);return r==="0"&&Object.is(Number(n),-0)?"-0":r}e.toString=t})(np)),np}var NO;function Xg(){return NO||(NO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=yz(),n=Vg();function r(l){if(Array.isArray(l))return l.map(n.toKey);if(typeof l=="symbol")return[l];l=t.toString(l);const u=[],s=l.length;if(s===0)return u;let f=0,d="",h="",m=!1;for(l.charCodeAt(0)===46&&(u.push(""),f++);f<s;){const v=l[f];h?v==="\\"&&f+1<s?(f++,d+=l[f]):v===h?h="":d+=v:m?v==='"'||v==="'"?h=v:v==="]"?(m=!1,u.push(d),d=""):d+=v:v==="["?(m=!0,d&&(u.push(d),d="")):v==="."?d&&(u.push(d),d=""):d+=v,f++}return d&&u.push(d),u}e.toPath=r})(tp)),tp}var PO;function Fg(){return PO||(PO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=pz(),n=MC(),r=Vg(),l=Xg();function u(f,d,h){if(f==null)return h;switch(typeof d){case"string":{if(t.isUnsafeProperty(d))return h;const m=f[d];return m===void 0?n.isDeepKey(d)?u(f,l.toPath(d),h):h:m}case"number":case"symbol":{typeof d=="number"&&(d=r.toKey(d));const m=f[d];return m===void 0?h:m}default:{if(Array.isArray(d))return s(f,d,h);if(Object.is(d==null?void 0:d.valueOf(),-0)?d="-0":d=String(d),t.isUnsafeProperty(d))return h;const m=f[d];return m===void 0?h:m}}}function s(f,d,h){if(d.length===0)return h;let m=f;for(let v=0;v<d.length;v++){if(m==null||t.isUnsafeProperty(d[v]))return h;m=m[d[v]]}return m===void 0?h:m}e.get=u})(Wv)),Wv}var rp,MO;function gz(){return MO||(MO=1,rp=Fg().get),rp}var bz=gz();const $i=Qa(bz);var xz=4;function Ka(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xz,n=10**t,r=Math.round(e*n)/n;return Object.is(r,-0)?0:r}function dt(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return e.reduce((l,u,s)=>{var f=n[s-1];return typeof f=="string"?l+f+u:f!==void 0?l+Ka(f)+u:l+u},"")}var kt=e=>e===0?0:e>0?1:-1,lr=e=>typeof e=="number"&&e!=+e,qi=e=>typeof e=="string"&&e.indexOf("%")===e.length-1,de=e=>(typeof e=="number"||e instanceof Number)&&!lr(e),Or=e=>de(e)||typeof e=="string",Sz=0,Bo=e=>{var t=++Sz;return"".concat(e||"").concat(t)},Wt=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!de(t)&&typeof t!="string")return r;var u;if(qi(t)){if(n==null)return r;var s=t.indexOf("%");u=n*parseFloat(t.slice(0,s))/100}else u=+t;return lr(u)&&(u=r),l&&n!=null&&u>n&&(u=n),u},DC=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++)if(!n[String(e[r])])n[String(e[r])]=!0;else return!0;return!1};function nt(e,t,n){return de(e)&&de(t)?Ka(e+n*(t-e)):t}function RC(e,t,n){if(!(!e||!e.length))return e.find(r=>r&&(typeof t=="function"?t(r):$i(r,t))===n)}var ut=e=>e===null||typeof e>"u",as=e=>ut(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function mn(e){return e!=null}function Fi(){}var wz=["type","size","sizeType"];function zy(){return zy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zy.apply(null,arguments)}function DO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function RO(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?DO(Object(n),!0).forEach(function(r){Oz(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):DO(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Oz(e,t,n){return(t=_z(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _z(e){var t=Ez(e,"string");return typeof t=="symbol"?t:t+""}function Ez(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function jz(e,t){if(e==null)return{};var n,r,l=Az(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function Az(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var kC={symbolCircle:Gg,symbolCross:qL,symbolDiamond:KL,symbolSquare:YL,symbolStar:FL,symbolTriangle:ZL,symbolWye:QL},Cz=Math.PI/180,Tz=e=>{var t="symbol".concat(as(e));return kC[t]||Gg},Nz=(e,t,n)=>{if(t==="area")return e;switch(n){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var r=18*Cz;return 1.25*e*e*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},Pz=(e,t)=>{kC["symbol".concat(as(e))]=t},Zg=e=>{var{type:t="circle",size:n=64,sizeType:r="area"}=e,l=jz(e,wz),u=RO(RO({},l),{},{type:t,size:n,sizeType:r}),s="circle";typeof t=="string"&&(s=t);var f=()=>{var b=Tz(s),S=JL().type(b).size(Nz(n,r,s)),O=S();if(O!==null)return O},{className:d,cx:h,cy:m}=u,v=rn(u);return de(h)&&de(m)&&de(n)?y.createElement("path",zy({},v,{className:Ie("recharts-symbols",d),transform:"translate(".concat(h,", ").concat(m,")"),d:f()})):null};Zg.registerSymbol=Pz;var LC=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,Wg=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var n=e;if(y.isValidElement(e)&&(n=e.props),typeof n!="object"&&typeof n!="function")return null;var r={};return Object.keys(n).forEach(l=>{$g(l)&&typeof n[l]=="function"&&(r[l]=(u=>n[l](n,u)))}),r},Mz=(e,t,n)=>r=>(e(t,n,r),null),is=(e,t,n)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var r=null;return Object.keys(e).forEach(l=>{var u=e[l];$g(l)&&typeof u=="function"&&(r||(r={}),r[l]=Mz(u,t,n))}),r};function kO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Dz(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?kO(Object(n),!0).forEach(function(r){Rz(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kO(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Rz(e,t,n){return(t=kz(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kz(e){var t=Lz(e,"string");return typeof t=="symbol"?t:t+""}function Lz(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ct(e,t){var n=Dz({},e),r=t,l=Object.keys(t),u=l.reduce((s,f)=>(s[f]===void 0&&r[f]!==void 0&&(s[f]=r[f]),s),n);return u}function Cf(){return Cf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Cf.apply(null,arguments)}function LO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function zC(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?LO(Object(n),!0).forEach(function(r){zz(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):LO(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function zz(e,t,n){return(t=Iz(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Iz(e){var t=Bz(e,"string");return typeof t=="symbol"?t:t+""}function Bz(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Gn=32,Uz={align:"center",iconSize:14,inactiveColor:"#ccc",layout:"horizontal",verticalAlign:"middle",labelStyle:{}};function $z(e){if(typeof e=="object"&&e!==null&&"strokeDasharray"in e)return String(e.strokeDasharray)}function qz(e){var{data:t,iconType:n,inactiveColor:r}=e,l=Gn/2,u=Gn/6,s=Gn/3,f=t.inactive?r:t.color,d=n??t.type;if(d==="none")return null;if(d==="plainline")return y.createElement("line",{strokeWidth:4,fill:"none",stroke:f,strokeDasharray:$z(t.payload),x1:0,y1:l,x2:Gn,y2:l,className:"recharts-legend-icon"});if(d==="line")return y.createElement("path",{strokeWidth:4,fill:"none",stroke:f,d:"M0,".concat(l,"h").concat(s,`
60
+ Please change the parent <Route path="${j}"> to <Route path="${j==="/"?"*":`${j}/*`}">.`)}let m=ua(),v;if(t){let j=typeof t=="string"?su(t):t;lt(d==="/"||((w=j.pathname)==null?void 0:w.startsWith(d)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${d}" but pathname "${j.pathname}" was given in the \`location\` prop.`),v=j}else v=m;let b=v.pathname||"/",S=b;if(d!=="/"){let j=d.replace(/^\//,"").split("/");S="/"+b.replace(/^\//,"").split("/").slice(j.length).join("/")}let O=n&&n.state.matches.length?n.state.matches.map(j=>Object.assign(j,{route:n.manifest[j.route.id]||j.route})):N2(e,{pathname:S});wr(h||O!=null,`No routes matched location "${v.pathname}${v.search}${v.hash}" `),wr(O==null||O[O.length-1].route.element!==void 0||O[O.length-1].route.Component!==void 0||O[O.length-1].route.lazy!==void 0,`Matched leaf route at location "${v.pathname}${v.search}${v.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let _=ck(O&&O.map(j=>Object.assign({},j,{params:Object.assign({},s,j.params),pathname:ir([d,r.encodeLocation?r.encodeLocation(j.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:j.pathname]),pathnameBase:j.pathnameBase==="/"?d:ir([d,r.encodeLocation?r.encodeLocation(j.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:j.pathnameBase])})),l,n);return t&&_?y.createElement(es.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...v},navigationType:"POP"}},_):_}function lk(){let e=vk(),t=qR(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",l={padding:"0.5rem",backgroundColor:r},u={padding:"2px 4px",backgroundColor:r},s=null;return console.error("Error handled by React Router default ErrorBoundary:",e),s=y.createElement(y.Fragment,null,y.createElement("p",null,"💿 Hey developer 👋"),y.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",y.createElement("code",{style:u},"ErrorBoundary")," or"," ",y.createElement("code",{style:u},"errorElement")," prop on your route.")),y.createElement(y.Fragment,null,y.createElement("h2",null,"Unexpected Application Error!"),y.createElement("h3",{style:{fontStyle:"italic"}},t),n?y.createElement("pre",{style:l},n):null,s)}var uk=y.createElement(lk,null),G2=class extends y.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const n=JR(e.digest);n&&(e=n)}let t=e!==void 0?y.createElement(Ar.Provider,{value:this.props.routeContext},y.createElement(Ng.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?y.createElement(ok,{error:e},t):t}};G2.contextType=U2;var $v=new WeakMap;function ok({children:e,error:t}){let{basename:n}=y.useContext(Zn);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let r=QR(t.digest);if(r){let l=$v.get(t);if(l)throw l;let u=I2(r.location,n),s=u.absoluteURL||u.to;if(GR(s))throw new Error("Invalid redirect location");if(z2&&!$v.get(t))if(u.isExternal||r.reloadDocument)window.location.href=s;else{const f=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(u.to,{replace:r.replace}));throw $v.set(t,f),f}return y.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s}`})}}return e}function sk({routeContext:e,match:t,children:n}){let r=y.useContext(cu);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),y.createElement(Ar.Provider,{value:e},n)}function ck(e,t=[],n){let r=n==null?void 0:n.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let l=e,u=r==null?void 0:r.errors;if(u!=null){let m=l.findIndex(v=>v.route.id&&(u==null?void 0:u[v.route.id])!==void 0);lt(m>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(u).join(",")}`),l=l.slice(0,Math.min(l.length,m+1))}let s=!1,f=-1;if(n&&r){s=r.renderFallback;for(let m=0;m<l.length;m++){let v=l[m];if((v.route.HydrateFallback||v.route.hydrateFallbackElement)&&(f=m),v.route.id){let{loaderData:b,errors:S}=r,O=v.route.loader&&!b.hasOwnProperty(v.route.id)&&(!S||S[v.route.id]===void 0);if(v.route.lazy||O){n.isStatic&&(s=!0),f>=0?l=l.slice(0,f+1):l=[l[0]];break}}}}let d=n==null?void 0:n.onError,h=r&&d?(m,v)=>{var b,S;d(m,{location:r.location,params:((S=(b=r.matches)==null?void 0:b[0])==null?void 0:S.params)??{},pattern:HR(r.matches),errorInfo:v})}:void 0;return l.reduceRight((m,v,b)=>{let S,O=!1,_=null,w=null;r&&(S=u&&v.route.id?u[v.route.id]:void 0,_=v.route.errorElement||uk,s&&(f<0&&b===0?(V2("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),O=!0,w=null):f===b&&(O=!0,w=v.route.hydrateFallbackElement||null)));let j=t.concat(l.slice(0,b+1)),A=()=>{let N;return S?N=_:O?N=w:v.route.Component?N=y.createElement(v.route.Component,null):v.route.element?N=v.route.element:N=m,y.createElement(sk,{match:v,routeContext:{outlet:m,matches:j,isDataRoute:r!=null},children:N})};return r&&(v.route.ErrorBoundary||v.route.errorElement||b===0)?y.createElement(G2,{location:r.location,revalidation:r.revalidation,component:_,error:S,children:A(),routeContext:{outlet:null,matches:j,isDataRoute:!0},onError:h}):A()},null)}function Pg(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function fk(e){let t=y.useContext(cu);return lt(t,Pg(e)),t}function dk(e){let t=y.useContext(xd);return lt(t,Pg(e)),t}function hk(e){let t=y.useContext(Ar);return lt(t,Pg(e)),t}function Mg(e){let t=hk(e),n=t.matches[t.matches.length-1];return lt(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function mk(){return Mg("useRouteId")}function vk(){var r;let e=y.useContext(Ng),t=dk("useRouteError"),n=Mg("useRouteError");return e!==void 0?e:(r=t.errors)==null?void 0:r[n]}function pk(){let{router:e}=fk("useNavigate"),t=Mg("useNavigate"),n=y.useRef(!1);return K2(()=>{n.current=!0}),y.useCallback(async(l,u={})=>{wr(n.current,H2),n.current&&(typeof l=="number"?await e.navigate(l):await e.navigate(l,{fromRouteId:t,...u}))},[e,t])}var lO={};function V2(e,t,n){!t&&!lO[e]&&(lO[e]=!0,wr(!1,n))}y.memo(yk);function yk({routes:e,manifest:t,future:n,state:r,isStatic:l,onError:u}){return Y2(e,void 0,{manifest:t,state:r,isStatic:l,onError:u})}function gk(e){return ak(e.context)}function Ua(e){lt(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function bk({basename:e="/",children:t=null,location:n,navigationType:r="POP",navigator:l,static:u=!1,useTransitions:s}){lt(!ts(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let f=e.replace(/^\/*/,"/"),d=y.useMemo(()=>({basename:f,navigator:l,static:u,useTransitions:s,future:{}}),[f,l,u,s]);typeof n=="string"&&(n=su(n));let{pathname:h="/",search:m="",hash:v="",state:b=null,key:S="default",mask:O}=n,_=y.useMemo(()=>{let w=na(h,f);return w==null?null:{location:{pathname:w,search:m,hash:v,state:b,key:S,mask:O},navigationType:r}},[f,h,m,v,b,S,r,O]);return wr(_!=null,`<Router basename="${f}"> is not able to match the URL "${h}${m}${v}" because it does not start with the basename, so the <Router> won't render anything.`),_==null?null:y.createElement(Zn.Provider,{value:d},y.createElement(es.Provider,{children:t,value:_}))}function xk({children:e,location:t}){return ik(Ny(e),t)}function Ny(e,t=[]){let n=[];return y.Children.forEach(e,(r,l)=>{if(!y.isValidElement(r))return;let u=[...t,l];if(r.type===y.Fragment){n.push.apply(n,Ny(r.props.children,u));return}lt(r.type===Ua,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),lt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let s={id:r.props.id||u.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=Ny(r.props.children,u)),n.push(s)}),n}var ff="get",df="application/x-www-form-urlencoded";function Sd(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function Sk(e){return Sd(e)&&e.tagName.toLowerCase()==="button"}function wk(e){return Sd(e)&&e.tagName.toLowerCase()==="form"}function Ok(e){return Sd(e)&&e.tagName.toLowerCase()==="input"}function _k(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Ek(e,t){return e.button===0&&(!t||t==="_self")&&!_k(e)}var Hc=null;function jk(){if(Hc===null)try{new FormData(document.createElement("form"),0),Hc=!1}catch{Hc=!0}return Hc}var Ak=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function qv(e){return e!=null&&!Ak.has(e)?(wr(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${df}"`),null):e}function Ck(e,t){let n,r,l,u,s;if(wk(e)){let f=e.getAttribute("action");r=f?na(f,t):null,n=e.getAttribute("method")||ff,l=qv(e.getAttribute("enctype"))||df,u=new FormData(e)}else if(Sk(e)||Ok(e)&&(e.type==="submit"||e.type==="image")){let f=e.form;if(f==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let d=e.getAttribute("formaction")||f.getAttribute("action");if(r=d?na(d,t):null,n=e.getAttribute("formmethod")||f.getAttribute("method")||ff,l=qv(e.getAttribute("formenctype"))||qv(f.getAttribute("enctype"))||df,u=new FormData(f,e),!jk()){let{name:h,type:m,value:v}=e;if(m==="image"){let b=h?`${h}.`:"";u.append(`${b}x`,"0"),u.append(`${b}y`,"0")}else h&&u.append(h,v)}}else{if(Sd(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=ff,r=null,l=df,s=e}return u&&l==="text/plain"&&(s=u,u=void 0),{action:r,method:n.toLowerCase(),encType:l,formData:u,body:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Dg(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function X2(e,t,n,r){let l=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n?l.pathname.endsWith("/")?l.pathname=`${l.pathname}_.${r}`:l.pathname=`${l.pathname}.${r}`:l.pathname==="/"?l.pathname=`_root.${r}`:t&&na(l.pathname,t)==="/"?l.pathname=`${xf(t)}/_root.${r}`:l.pathname=`${xf(l.pathname)}.${r}`,l}async function Tk(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(n){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(n),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Nk(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Pk(e,t,n){let r=await Promise.all(e.map(async l=>{let u=t.routes[l.route.id];if(u){let s=await Tk(u,n);return s.links?s.links():[]}return[]}));return kk(r.flat(1).filter(Nk).filter(l=>l.rel==="stylesheet"||l.rel==="preload").map(l=>l.rel==="stylesheet"?{...l,rel:"prefetch",as:"style"}:{...l,rel:"prefetch"}))}function uO(e,t,n,r,l,u){let s=(d,h)=>n[h]?d.route.id!==n[h].route.id:!0,f=(d,h)=>{var m;return n[h].pathname!==d.pathname||((m=n[h].route.path)==null?void 0:m.endsWith("*"))&&n[h].params["*"]!==d.params["*"]};return u==="assets"?t.filter((d,h)=>s(d,h)||f(d,h)):u==="data"?t.filter((d,h)=>{var v;let m=r.routes[d.route.id];if(!m||!m.hasLoader)return!1;if(s(d,h)||f(d,h))return!0;if(d.route.shouldRevalidate){let b=d.route.shouldRevalidate({currentUrl:new URL(l.pathname+l.search+l.hash,window.origin),currentParams:((v=n[0])==null?void 0:v.params)||{},nextUrl:new URL(e,window.origin),nextParams:d.params,defaultShouldRevalidate:!0});if(typeof b=="boolean")return b}return!0}):[]}function Mk(e,t,{includeHydrateFallback:n}={}){return Dk(e.map(r=>{let l=t.routes[r.route.id];if(!l)return[];let u=[l.module];return l.clientActionModule&&(u=u.concat(l.clientActionModule)),l.clientLoaderModule&&(u=u.concat(l.clientLoaderModule)),n&&l.hydrateFallbackModule&&(u=u.concat(l.hydrateFallbackModule)),l.imports&&(u=u.concat(l.imports)),u}).flat(1))}function Dk(e){return[...new Set(e)]}function Rk(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function kk(e,t){let n=new Set;return new Set(t),e.reduce((r,l)=>{let u=JSON.stringify(Rk(l));return n.has(u)||(n.add(u),r.push({key:u,link:l})),r},[])}function Rg(){let e=y.useContext(cu);return Dg(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Lk(){let e=y.useContext(xd);return Dg(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var kg=y.createContext(void 0);kg.displayName="FrameworkContext";function wd(){let e=y.useContext(kg);return Dg(e,"You must render this element inside a <HydratedRouter> element"),e}function zk(e,t){let n=y.useContext(kg),[r,l]=y.useState(!1),[u,s]=y.useState(!1),{onFocus:f,onBlur:d,onMouseEnter:h,onMouseLeave:m,onTouchStart:v}=t,b=y.useRef(null);y.useEffect(()=>{if(e==="render"&&s(!0),e==="viewport"){let _=j=>{j.forEach(A=>{s(A.isIntersecting)})},w=new IntersectionObserver(_,{threshold:.5});return b.current&&w.observe(b.current),()=>{w.disconnect()}}},[e]),y.useEffect(()=>{if(r){let _=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(_)}}},[r]);let S=()=>{l(!0)},O=()=>{l(!1),s(!1)};return n?e!=="intent"?[u,b,{}]:[u,b,{onFocus:go(f,S),onBlur:go(d,O),onMouseEnter:go(h,S),onMouseLeave:go(m,O),onTouchStart:go(v,S)}]:[!1,b,{}]}function go(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Ik({page:e,...t}){let n=VR(),{nonce:r}=wd(),{router:l}=Rg(),u=y.useMemo(()=>N2(l.routes,e,l.basename),[l.routes,e,l.basename]);return u?(t.nonce==null&&r&&(t={...t,nonce:r}),n?y.createElement(Uk,{page:e,matches:u,...t}):y.createElement($k,{page:e,matches:u,...t})):null}function Bk(e){let{manifest:t,routeModules:n}=wd(),[r,l]=y.useState([]);return y.useEffect(()=>{let u=!1;return Pk(e,t,n).then(s=>{u||l(s)}),()=>{u=!0}},[e,t,n]),r}function Uk({page:e,matches:t,...n}){let r=ua(),{future:l}=wd(),{basename:u}=Rg(),s=y.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let f=X2(e,u,l.v8_trailingSlashAwareDataRequests,"rsc"),d=!1,h=[];for(let m of t)typeof m.route.shouldRevalidate=="function"?d=!0:h.push(m.route.id);return d&&h.length>0&&f.searchParams.set("_routes",h.join(",")),[f.pathname+f.search]},[u,l.v8_trailingSlashAwareDataRequests,e,r,t]);return y.createElement(y.Fragment,null,s.map(f=>y.createElement("link",{key:f,rel:"prefetch",as:"fetch",href:f,...n})))}function $k({page:e,matches:t,...n}){let r=ua(),{future:l,manifest:u,routeModules:s}=wd(),{basename:f}=Rg(),{loaderData:d,matches:h}=Lk(),m=y.useMemo(()=>uO(e,t,h,u,r,"data"),[e,t,h,u,r]),v=y.useMemo(()=>uO(e,t,h,u,r,"assets"),[e,t,h,u,r]),b=y.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let _=new Set,w=!1;if(t.forEach(A=>{var T;let N=u.routes[A.route.id];!N||!N.hasLoader||(!m.some(P=>P.route.id===A.route.id)&&A.route.id in d&&((T=s[A.route.id])!=null&&T.shouldRevalidate)||N.hasClientLoader?w=!0:_.add(A.route.id))}),_.size===0)return[];let j=X2(e,f,l.v8_trailingSlashAwareDataRequests,"data");return w&&_.size>0&&j.searchParams.set("_routes",t.filter(A=>_.has(A.route.id)).map(A=>A.route.id).join(",")),[j.pathname+j.search]},[f,l.v8_trailingSlashAwareDataRequests,d,r,u,m,t,e,s]),S=y.useMemo(()=>Mk(v,u),[v,u]),O=Bk(v);return y.createElement(y.Fragment,null,b.map(_=>y.createElement("link",{key:_,rel:"prefetch",as:"fetch",href:_,...n})),S.map(_=>y.createElement("link",{key:_,rel:"modulepreload",href:_,...n})),O.map(({key:_,link:w})=>y.createElement("link",{key:_,nonce:n.nonce,...w,crossOrigin:w.crossOrigin??n.crossOrigin})))}function qk(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}var Hk=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Hk&&(window.__reactRouterVersion="7.18.2")}catch{}function Kk({basename:e,children:t,useTransitions:n,window:r}){let l=y.useRef();l.current==null&&(l.current=bR({window:r,v5Compat:!0}));let u=l.current,[s,f]=y.useState({action:u.action,location:u.location}),d=y.useCallback(h=>{n===!1?f(h):y.startTransition(()=>f(h))},[n]);return y.useLayoutEffect(()=>u.listen(d),[u,d]),y.createElement(bk,{basename:e,children:t,location:s.location,navigationType:s.action,navigator:u,useTransitions:n})}var F2=y.forwardRef(function({onClick:t,discover:n="render",prefetch:r="none",relative:l,reloadDocument:u,replace:s,mask:f,state:d,target:h,to:m,preventScrollReset:v,viewTransition:b,defaultShouldRevalidate:S,...O},_){let{basename:w,navigator:j,useTransitions:A}=y.useContext(Zn),N=typeof m=="string"&&Cg.test(m),T=I2(m,w);m=T.to;let P=ek(m,{relative:l}),M=ua(),R=null;if(f){let J=Tg(f,[],M.mask?M.mask.pathname:"/",!0);w!=="/"&&(J.pathname=J.pathname==="/"?w:ir([w,J.pathname])),R=j.createHref(J)}let[I,q,W]=zk(r,O),X=Vk(m,{replace:s,mask:f,state:d,target:h,preventScrollReset:v,relative:l,viewTransition:b,defaultShouldRevalidate:S,useTransitions:A});function U(J){t&&t(J),J.defaultPrevented||X(J)}let se=!(T.isExternal||u),F=y.createElement("a",{...O,...W,href:(se?R:void 0)||T.absoluteURL||P,onClick:se?U:t,ref:qk(_,q),target:h,"data-discover":!N&&n==="render"?"true":void 0});return I&&!N?y.createElement(y.Fragment,null,F,y.createElement(Ik,{page:P})):F});F2.displayName="Link";var Z2=y.forwardRef(function({"aria-current":t="page",caseSensitive:n=!1,className:r="",end:l=!1,style:u,to:s,viewTransition:f,children:d,...h},m){let v=ns(s,{relative:h.relative}),b=ua(),S=y.useContext(xd),{navigator:O,basename:_}=y.useContext(Zn),w=S!=null&&Qk(v)&&f===!0,j=O.encodeLocation?O.encodeLocation(v).pathname:v.pathname,A=b.pathname,N=S&&S.navigation&&S.navigation.location?S.navigation.location.pathname:null;n||(A=A.toLowerCase(),N=N?N.toLowerCase():null,j=j.toLowerCase()),N&&_&&(N=na(N,_)||N);const T=j!=="/"&&j.endsWith("/")?j.length-1:j.length;let P=A===j||!l&&A.startsWith(j)&&A.charAt(T)==="/",M=N!=null&&(N===j||!l&&N.startsWith(j)&&N.charAt(j.length)==="/"),R={isActive:P,isPending:M,isTransitioning:w},I=P?t:void 0,q;typeof r=="function"?q=r(R):q=[r,P?"active":null,M?"pending":null,w?"transitioning":null].filter(Boolean).join(" ");let W=typeof u=="function"?u(R):u;return y.createElement(F2,{...h,"aria-current":I,className:q,ref:m,style:W,to:s,viewTransition:f},typeof d=="function"?d(R):d)});Z2.displayName="NavLink";var Yk=y.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:r,replace:l,state:u,method:s=ff,action:f,onSubmit:d,relative:h,preventScrollReset:m,viewTransition:v,defaultShouldRevalidate:b,...S},O)=>{let{useTransitions:_}=y.useContext(Zn),w=Zk(),j=Wk(f,{relative:h}),A=s.toLowerCase()==="get"?"get":"post",N=typeof f=="string"&&Cg.test(f),T=P=>{if(d&&d(P),P.defaultPrevented)return;P.preventDefault();let M=P.nativeEvent.submitter,R=(M==null?void 0:M.getAttribute("formmethod"))||s,I=()=>w(M||P.currentTarget,{fetcherKey:t,method:R,navigate:n,replace:l,state:u,relative:h,preventScrollReset:m,viewTransition:v,defaultShouldRevalidate:b});_&&n!==!1?y.startTransition(()=>I()):I()};return y.createElement("form",{ref:O,method:A,action:j,onSubmit:r?d:T,...S,"data-discover":!N&&e==="render"?"true":void 0})});Yk.displayName="Form";function Gk(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function W2(e){let t=y.useContext(cu);return lt(t,Gk(e)),t}function Vk(e,{target:t,replace:n,mask:r,state:l,preventScrollReset:u,relative:s,viewTransition:f,defaultShouldRevalidate:d,useTransitions:h}={}){let m=tk(),v=ua(),b=ns(e,{relative:s});return y.useCallback(S=>{if(Ek(S,t)){S.preventDefault();let O=n!==void 0?n:ko(v)===ko(b),_=()=>m(e,{replace:O,mask:r,state:l,preventScrollReset:u,relative:s,viewTransition:f,defaultShouldRevalidate:d});h?y.startTransition(()=>_()):_()}},[v,m,b,n,r,l,t,e,u,s,f,d,h])}var Xk=0,Fk=()=>`__${String(++Xk)}__`;function Zk(){let{router:e}=W2("useSubmit"),{basename:t}=y.useContext(Zn),n=mk(),r=e.fetch,l=e.navigate;return y.useCallback(async(u,s={})=>{let{action:f,method:d,encType:h,formData:m,body:v}=Ck(u,t);if(s.navigate===!1){let b=s.fetcherKey||Fk();await r(b,n,s.action||f,{defaultShouldRevalidate:s.defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:m,body:v,formMethod:s.method||d,formEncType:s.encType||h,flushSync:s.flushSync})}else await l(s.action||f,{defaultShouldRevalidate:s.defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:m,body:v,formMethod:s.method||d,formEncType:s.encType||h,replace:s.replace,state:s.state,fromRouteId:n,flushSync:s.flushSync,viewTransition:s.viewTransition})},[r,l,t,n])}function Wk(e,{relative:t}={}){let{basename:n}=y.useContext(Zn),r=y.useContext(Ar);lt(r,"useFormAction must be used inside a RouteContext");let[l]=r.matches.slice(-1),u={...ns(e||".",{relative:t})},s=ua();if(e==null){u.search=s.search;let f=new URLSearchParams(u.search),d=f.getAll("index");if(d.some(m=>m==="")){f.delete("index"),d.filter(v=>v).forEach(v=>f.append("index",v));let m=f.toString();u.search=m?`?${m}`:""}}return(!e||e===".")&&l.route.index&&(u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(u.pathname=u.pathname==="/"?n:ir([n,u.pathname])),ko(u)}function Qk(e,{relative:t}={}){let n=y.useContext($2);lt(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=W2("useViewTransitionState"),l=ns(e,{relative:t});if(!n.isTransitioning)return!1;let u=na(n.currentLocation.pathname,r)||n.currentLocation.pathname,s=na(n.nextLocation.pathname,r)||n.nextLocation.pathname;return bf(l.pathname,s)!=null||bf(l.pathname,u)!=null}class Q2 extends Error{constructor(t,n){super(t),this.status=n,this.name="ApiError"}}let Od,hf;function Si(e){Od=e}function oO(e){hf=e}async function ln(e,t){const n={credentials:"same-origin",...t??{}},r=await fetch(e,n);if(!r.ok){const l=await r.text().catch(()=>r.statusText);throw r.status===401&&(hf==null||hf()),new Q2(l,r.status)}return r.json()}function rs(e){const t=Object.entries(e).filter(n=>n[1]!==void 0);return t.length===0?"":"?"+new URLSearchParams(t.map(([n,r])=>[n,String(r)])).toString()}function Lg(e){return e?{"content-type":"application/json","x-helio-csrf":e}:{"content-type":"application/json"}}function Ja(){return{}}function Jk(){return ln("/api/health")}function J2(){return ln("/api/auth/session")}function e4(e){return ln("/api/auth/session",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({secret:e})})}function t4(){return ln("/api/auth/logout",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({})})}function sO(e){return ln("/api/feed"+rs({limit:e==null?void 0:e.limit,offset:e==null?void 0:e.offset,upstream:e==null?void 0:e.upstream,session_source:e==null?void 0:e.session_source}),Ja())}function n4(e){return ln("/api/audit"+rs({tool:e==null?void 0:e.tool,decision:e==null?void 0:e.decision,reason:e==null?void 0:e.reason,blocked:e==null?void 0:e.blocked,session:e==null?void 0:e.session,agent:e==null?void 0:e.agent,origin:e==null?void 0:e.origin,record_kind:e==null?void 0:e.record_kind,channel_id:e==null?void 0:e.channel,sender_id:e==null?void 0:e.sender,from:e==null?void 0:e.from,to:e==null?void 0:e.to,destructive:e==null?void 0:e.destructive,dry_run:e==null?void 0:e.dry_run,upstream_status_min:e==null?void 0:e.upstream_status_min,upstream_status_max:e==null?void 0:e.upstream_status_max,upstream:e==null?void 0:e.upstream,session_source:e==null?void 0:e.session_source,offset:e==null?void 0:e.offset,limit:e==null?void 0:e.limit}),Ja())}function eC(e){return ln("/api/audit/"+encodeURIComponent(e),Ja()).then(t=>t.data)}function r4(e,t){return ln("/api/approvals"+rs({status:e,limit:t==null?void 0:t.limit,offset:(t==null?void 0:t.offset)??0}),Ja())}function a4(){return ln("/api/limits",Ja())}function cO(e){return ln("/api/budgets",{...Ja(),...e!=null&&e.signal?{signal:e.signal}:{}})}function fO(e,t,n){return ln("/api/budgets/"+encodeURIComponent(e)+"/events"+rs({limit:t==null?void 0:t.limit,offset:t==null?void 0:t.offset}),{...Ja(),...n!=null&&n.signal?{signal:n.signal}:{}})}function i4(e,t){return ln("/api/analytics"+rs({from:e,to:t}),Ja())}function l4(e,t){return ln("/api/approvals/"+encodeURIComponent(e)+"/approve",{method:"POST",headers:Lg(Od),body:JSON.stringify({approved_by:t})}).then(()=>{})}function u4(e,t,n){return ln("/api/approvals/"+encodeURIComponent(e)+"/deny",{method:"POST",headers:Lg(Od),body:JSON.stringify({denied_by:t,reason:n})}).then(()=>{})}function o4(e,t,n){return ln("/api/approvals/"+encodeURIComponent(e)+"/break-glass",{method:"POST",headers:Lg(Od),body:JSON.stringify({approved_by:t,reason:n})}).then(()=>{})}function s4(e="/api/events",t){const[n,r]=y.useState(!1),[l,u]=y.useState(0),s=y.useRef(new Map),f=y.useRef(null);y.useEffect(()=>{const h=new EventSource(e);f.current=h,h.onopen=()=>{r(!0),u(v=>v+1)},h.onerror=()=>{r(!1),J2().then(v=>{v.auth_required&&!v.authenticated&&(t==null||t())}).catch(()=>{})};const m=["action","approval_requested","approval_resolved","approval_notification_failed","limit_warning","budget_update","budget_breached"];for(const v of m)h.addEventListener(v,b=>{const S=s.current.get(v);if(!(!S||S.size===0))try{const O=JSON.parse(b.data);for(const _ of S)_(O)}catch{console.warn(`[helio] Failed to parse SSE event data for "${v}"`)}});return()=>{h.close(),f.current=null,r(!1)}},[e,t]);const d=y.useCallback((h,m)=>{const v=s.current;let b=v.get(h);b||(b=new Set,v.set(h,b));const S=m;return b.add(S),()=>{b.delete(S)}},[]);return{connected:n,connectionEpoch:l,subscribe:d}}const tC=y.createContext(null);function c4({children:e,onSessionExpired:t}){const n=s4("/api/events",t);return x.jsx(tC.Provider,{value:n,children:e})}function fu(){const e=y.useContext(tC);if(!e)throw new Error("useEventSourceContext must be used within EventSourceProvider");return e}class f4 extends y.Component{constructor(t){super(t),this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,n){console.error("[helio] Uncaught component error:",t,n.componentStack)}render(){return this.state.hasError?x.jsxs("div",{className:"flex h-screen flex-col items-center justify-center gap-4 px-4 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"})}),x.jsx("p",{className:"text-sm font-medium text-gray-900",children:"Something went wrong"}),this.state.error&&x.jsx("p",{className:"max-w-md text-center text-xs text-gray-400",children:this.state.error.message}),x.jsx("button",{type:"button",onClick:()=>{window.location.reload()},className:"rounded-md bg-gray-900 px-3 py-1.5 text-sm text-white hover:bg-gray-800",children:"Reload"})]}):this.props.children}}function d4(e){const t=Math.floor(e/3600),n=Math.floor(e%3600/60);return t>0?`${String(t)}h ${String(n)}m`:`${String(n)}m`}function h4({connected:e,version:t,uptimeSeconds:n}){const[r,l]=y.useState(!1),[u,s]=y.useState(n),f=y.useRef(Date.now());return y.useEffect(()=>{if(n===void 0)return;f.current=Date.now(),s(n);const d=setInterval(()=>{const h=Math.floor((Date.now()-f.current)/1e3);s(n+h)},1e3);return()=>{clearInterval(d)}},[n]),x.jsxs("div",{className:"relative",children:[x.jsxs("button",{type:"button",className:"flex items-center gap-2 rounded-md px-2 py-1 text-sm text-gray-600 hover:bg-gray-100",onMouseEnter:()=>{l(!0)},onMouseLeave:()=>{l(!1)},onFocus:()=>{l(!0)},onBlur:()=>{l(!1)},onClick:()=>{l(d=>!d)},children:[x.jsx("span",{className:`inline-block h-2.5 w-2.5 rounded-full ${e?"bg-emerald-500":"bg-red-500"}`}),x.jsx("span",{className:"hidden sm:inline",children:e?"Connected":"Disconnected"})]}),r&&x.jsxs("div",{className:"absolute right-0 top-full z-50 mt-1 w-48 rounded-md border border-gray-200 bg-white p-3 text-xs shadow-lg",children:[x.jsx("div",{className:"mb-1 font-medium text-gray-900",children:e?"Proxy connected":"Proxy disconnected"}),t&&x.jsxs("div",{className:"text-gray-500",children:["Version: ",t]}),u!==void 0&&x.jsxs("div",{className:"text-gray-500",children:["Uptime: ",d4(u)]})]})]})}function m4({connected:e,onToggleSidebar:t,onLogout:n}){const[r,l]=y.useState(),[u,s]=y.useState();return y.useEffect(()=>{Jk().then(f=>{l(f.version),s(Math.floor(f.uptime))}).catch(()=>{})},[]),x.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between border-b border-gray-200 bg-white px-4",children:[x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("button",{type:"button",className:"rounded-md p-1.5 text-gray-500 hover:bg-gray-100 md:hidden",onClick:t,"aria-label":"Toggle navigation",children:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}),x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Dashboard"})]}),x.jsxs("div",{className:"flex items-center gap-3",children:[n&&x.jsx("button",{type:"button",className:"rounded-md border border-gray-300 px-2.5 py-1 text-xs font-medium text-gray-700 hover:bg-gray-100",onClick:n,children:"Logout"}),x.jsx(h4,{connected:e,version:r,uptimeSeconds:u})]})]})}const v4=[{to:"/",label:"Feed",icon:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 13.5 14.25 2.25l-3 10.5h9L9.75 24l3-10.5h-9Z"})})},{to:"/approvals",label:"Approvals",icon:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z"})})},{to:"/audit",label:"Audit",icon:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 0 0-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75 2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15a2.25 2.25 0 0 1 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25ZM6.75 12h.008v.008H6.75V12Zm0 3h.008v.008H6.75V15Zm0 3h.008v.008H6.75V18Z"})})},{to:"/limits",label:"Limits",icon:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"})})},{to:"/budgets",label:"Budgets",icon:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.25 18.75a60.07 60.07 0 0 1 15.797 2.101c.727.198 1.453-.342 1.453-1.096V18.75M3.75 4.5v.75A.75.75 0 0 1 3 6h-.75m0 0v-.375c0-.621.504-1.125 1.125-1.125H20.25M2.25 6v9m18-10.5v.75c0 .414.336.75.75.75h.75m-1.5-1.5h.375c.621 0 1.125.504 1.125 1.125v9.75c0 .621-.504 1.125-1.125 1.125h-.375m1.5-1.5H21a.75.75 0 0 0-.75.75v.75m0 0H3.75m0 0h-.375a1.125 1.125 0 0 1-1.125-1.125V15m1.5 1.5v-.75A.75.75 0 0 0 3 15h-.75M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm3 0h.008v.008H18V10.5Zm-12 0h.008v.008H6V10.5Z"})})},{to:"/analytics",label:"Analytics",icon:x.jsxs("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:[x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 6a7.5 7.5 0 1 0 7.5 7.5h-7.5V6Z"}),x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 10.5H21A7.5 7.5 0 0 0 13.5 3v7.5Z"})]})}];function p4({open:e,onClose:t}){return x.jsxs(x.Fragment,{children:[e&&x.jsx("div",{className:"fixed inset-0 z-40 bg-black/30 md:hidden",onClick:t,onKeyDown:n=>{n.key==="Escape"&&t()},role:"button",tabIndex:-1,"aria-label":"Close navigation"}),x.jsxs("aside",{className:`fixed inset-y-0 left-0 z-50 flex w-56 flex-col border-r border-gray-200 bg-white transition-transform duration-200 md:static md:translate-x-0 ${e?"translate-x-0":"-translate-x-full"}`,children:[x.jsx("div",{className:"flex h-14 items-center border-b border-gray-200 px-4",children:x.jsx("img",{src:"/logo.svg",alt:"Helio",className:"h-6"})}),x.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4",children:v4.map(n=>x.jsxs(Z2,{to:n.to,end:n.to==="/",onClick:t,className:({isActive:r})=>`flex items-center gap-3 rounded-md px-3 py-2 text-sm font-medium transition-colors ${r?"bg-gray-100 text-gray-900":"text-gray-600 hover:bg-gray-50 hover:text-gray-900"}`,children:[n.icon,n.label]},n.to))})]})]})}function y4({onLogout:e}){const[t,n]=y.useState(!1),{connected:r}=fu();return x.jsxs("div",{className:"flex h-screen bg-gray-50",children:[x.jsx(p4,{open:t,onClose:()=>{n(!1)}}),x.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[x.jsx(m4,{connected:r,onToggleSidebar:()=>{n(l=>!l)},onLogout:e}),x.jsxs("main",{className:"flex-1 overflow-y-auto p-6",children:[!r&&x.jsx("div",{className:"mb-4 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800",children:"Live updates disconnected. Dashboard data may be stale until the stream reconnects."}),x.jsx(gk,{})]})]})]})}function zg(e){return e.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function _d(e){return e?e.length>8?e.slice(0,8)+"…":e:"—"}function g4(e,t=4096){return e.length>t?e.slice(0,t)+"…":e}function Sf(e,t=4096){let n;try{n=JSON.stringify(e,null,2)}catch{return{text:'"[unserializable value]"',truncated:!1}}return n.length<=t?{text:n,truncated:!1}:{text:`${n.slice(0,t)}…`,truncated:!0}}function Ig(e){const t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<0)return"just now";if(t<60)return`${String(t)}s ago`;const n=Math.floor(t/60);if(n<60)return`${String(n)}m ago`;const r=Math.floor(n/60);if(r<24)return`${String(r)}h ago`;const l=Math.floor(r/24);return`${String(l)}d ago`}function tr(e){const t=new Date(e),n=r=>String(r).padStart(2,"0");return`${String(t.getFullYear())}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}function yr(e){if(e<1)return"<1ms";if(e<1e3)return`${String(Math.round(e))}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const t=Math.round(e/1e3),n=Math.floor(t/60),r=t%60;return`${String(n)}m ${String(r)}s`}function Lo(e,t){if(t===0)return"bg-gray-300";const n=e/t;return n>=1?"bg-red-500":n>=.8?"bg-amber-500":"bg-emerald-500"}function zo(e,t){return t===0?0:Math.min(100,e/t*100)}function Ed(e){if(e<=0)return"Expired";const t=Math.ceil(e/1e3),n=Math.floor(t/60),r=t%60;return n>0?`${String(n)}m ${String(r)}s`:`${String(r)}s`}function zi(e,t){try{return new Intl.NumberFormat(void 0,{style:"currency",currency:t,minimumFractionDigits:2,maximumFractionDigits:2}).format(e)}catch{return`${t} ${e.toFixed(2)}`}}function Bg(e){if(e.dry_run)return"dry_run";switch(e.block_reason){case"rate_limited":return"rate_limited";case"spend_limited":return"spend_limited";case"budget_exceeded":return"budget_exceeded";case"session_unresolved":return"session_unresolved";case"approval_denied":return"approval_denied";case"approval_timeout":return"approval_timeout";case"client_disconnected":return"client_disconnected";case"shutdown_cancelled":return"shutdown_cancelled";case"install_denied":return"deny"}return e.policy_decision==="policy_reload"&&e.block_reason!=null?"rejected":e.policy_decision==="deny"?"deny":e.policy_decision==="rejected"?"rejected":"allow"}function b4(e){switch(e){case"allow":return"Allow";case"deny":return"Deny";case"rejected":return"Rejected";case"approval_denied":return"Approval Denied";case"approval_timeout":return"Approval Timeout";case"client_disconnected":return"Client Disconnected";case"shutdown_cancelled":return"Shutdown Cancelled";case"rate_limited":return"Rate Limited";case"spend_limited":return"Spend Limited";case"budget_exceeded":return"Budget Exceeded";case"session_unresolved":return"Session Unresolved";case"dry_run":return"Dry Run"}}function x4(e){return Bg(e)!=="allow"?null:e.policy_decision==="rate_limit"?"Rate Limit Rule":e.policy_decision==="spend_limit"?"Spend Limit Rule":e.policy_decision==="require_approval"||e.approval_status==="approved"||e.approval_status==="break_glass"?"Via Approval":null}function S4(e,t){return t?Bg(e)===t:!0}function nC(e){switch(e){case"allow":return{blocked:!1,dry_run:!1};case"deny":return{decision:"deny"};case"rejected":return{decision:"rejected"};case"approval_denied":return{reason:"approval_denied"};case"approval_timeout":return{reason:"approval_timeout"};case"client_disconnected":return{reason:"client_disconnected"};case"shutdown_cancelled":return{reason:"shutdown_cancelled"};case"rate_limited":return{reason:"rate_limited"};case"spend_limited":return{reason:"spend_limited"};case"budget_exceeded":return{reason:"budget_exceeded"};case"session_unresolved":return{reason:"session_unresolved"};case"dry_run":return{dry_run:!0};default:return{}}}const w4={allow:"bg-emerald-50 text-emerald-700 ring-emerald-600/20",deny:"bg-red-50 text-red-700 ring-red-600/20",rejected:"bg-rose-50 text-rose-700 ring-rose-600/20",approval_denied:"bg-red-50 text-red-700 ring-red-600/20",approval_timeout:"bg-amber-50 text-amber-700 ring-amber-600/20",client_disconnected:"bg-gray-100 text-gray-700 ring-gray-500/20",shutdown_cancelled:"bg-slate-100 text-slate-700 ring-slate-500/20",rate_limited:"bg-orange-50 text-orange-700 ring-orange-600/20",spend_limited:"bg-purple-50 text-purple-700 ring-purple-600/20",budget_exceeded:"bg-fuchsia-50 text-fuchsia-700 ring-fuchsia-600/20",session_unresolved:"bg-cyan-50 text-cyan-700 ring-cyan-600/20",dry_run:"bg-blue-50 text-blue-700 ring-blue-600/20"},O4="bg-gray-50 text-gray-700 ring-gray-600/20",_4="bg-gray-100 text-gray-600 ring-gray-500/20",Ug=y.memo(function({policyDecision:t,blockReason:n,approvalStatus:r,dryRun:l,showContext:u=!1}){const s=Bg({policy_decision:t,block_reason:n??null,dry_run:l??!1}),f=u?x4({policy_decision:t,block_reason:n??null,approval_status:r??null,dry_run:l??!1}):null,d=w4[s]??O4;return x.jsxs("div",{className:"inline-flex items-center gap-1.5",children:[x.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${d}`,children:b4(s)}),f&&x.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${_4}`,children:f})]})});function Ee({label:e,children:t}){return x.jsxs("div",{children:[x.jsx("dt",{className:"mb-1 text-xs font-medium text-gray-500",children:e}),x.jsx("dd",{children:t})]})}const E4={mcp:"MCP",openclaw:"OpenClaw"};function j4(e){return E4[e]??e}const A4={install_scan:"Install Scan",drift_event:"Drift",evaluation_expired:"Expired",policy_reload:"Reload"};function C4(e){return e==="tool_call"?null:A4[e]??e}const T4={mcp:"bg-gray-100 text-gray-600 ring-gray-500/20"},N4="bg-indigo-50 text-indigo-700 ring-indigo-600/20",P4="bg-amber-50 text-amber-700 ring-amber-600/20",rC=y.memo(function({origin:t,recordKind:n}){const r=T4[t]??N4,l=C4(n);return x.jsxs("div",{className:"inline-flex items-center gap-1.5",children:[x.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${r}`,children:j4(t)}),l&&x.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${P4}`,children:l})]})});function M4(e){return"tool_input"in e}const Hv=8e3;function Kv(e){let t;try{t=JSON.stringify(e,null,2)}catch{return{text:'"[unserializable value]"',truncated:!1}}if(t.length<=Hv)return{text:t,truncated:!1};const n=t.length-Hv;return{text:`${t.slice(0,Hv)}
61
+ … [truncated ${String(n)} chars]`,truncated:!0}}const D4=y.memo(function({record:t,expanded:n,onToggle:r,expandedRecord:l,loading:u,error:s}){const[f,d]=y.useState(Date.now()),h=y.useRef(null);y.useEffect(()=>(h.current=setInterval(()=>{d(Date.now())},1e4),()=>{h.current&&clearInterval(h.current)}),[]);const m=n?M4(t)?t:l:null,v=t.flagged_destructive,b=m?Kv(m.tool_input):null,S=m!=null&&m.evidence_chain?Kv(m.evidence_chain):null,O=(m==null?void 0:m.upstream_response)!=null?Kv(m.upstream_response):null;return x.jsxs("div",{className:`rounded-md border bg-white transition-colors ${v?"border-l-2 border-l-red-400 border-gray-200":"border-gray-200"} ${n?"shadow-sm":"hover:border-gray-300"}`,children:[x.jsxs("button",{type:"button",onClick:r,className:"flex w-full items-center gap-3 p-4 text-left",children:[x.jsx("span",{className:"w-16 shrink-0 text-xs text-gray-400",title:t.timestamp,children:Ig(t.timestamp)}),x.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-sm text-gray-900",children:t.tool_name}),t.upstream&&x.jsx("span",{className:"hidden shrink-0 truncate font-mono text-xs text-gray-400 md:block md:max-w-24",children:t.upstream}),x.jsx("span",{className:"hidden w-20 shrink-0 truncate text-xs text-gray-500 sm:block",children:_d(t.agent_id??t.session_id)}),x.jsx(rC,{origin:t.origin,recordKind:t.record_kind}),x.jsx(Ug,{policyDecision:t.policy_decision,blockReason:t.block_reason,approvalStatus:t.approval_status,dryRun:t.dry_run,showContext:!0}),x.jsx("span",{className:"w-14 shrink-0 text-right text-xs tabular-nums text-gray-500",children:yr(t.total_duration_ms)}),x.jsx("svg",{className:`h-4 w-4 shrink-0 text-gray-400 transition-transform ${n?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19 9-7 7-7-7"})})]}),n&&x.jsxs("div",{className:"border-t border-gray-100 px-4 pb-4 pt-3",children:[u&&!m&&x.jsxs("div",{className:"space-y-2",children:[x.jsx("div",{className:"h-4 w-1/3 animate-pulse rounded bg-gray-100"}),x.jsx("div",{className:"h-20 animate-pulse rounded bg-gray-100"})]}),m&&x.jsxs("div",{className:"space-y-3 text-sm",children:[x.jsxs(Ee,{label:"Input",children:[x.jsx("pre",{className:"max-h-48 overflow-auto rounded bg-gray-50 p-2 text-xs",children:b==null?void 0:b.text}),(b==null?void 0:b.truncated)&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Input payload preview is truncated for readability."})]}),m.upstream&&x.jsx(Ee,{label:"Upstream",children:x.jsx("span",{className:"font-mono text-xs",children:m.upstream})}),m.matched_rule&&x.jsx(Ee,{label:"Matched Rule",children:x.jsx("span",{className:"font-mono text-xs",children:m.matched_rule})}),m.evidence_chain&&x.jsxs(Ee,{label:"Evidence Chain",children:[x.jsx("pre",{className:"max-h-48 overflow-auto rounded bg-gray-50 p-2 text-xs",children:S==null?void 0:S.text}),(S==null?void 0:S.truncated)&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Evidence payload preview is truncated for readability."})]}),m.upstream_response!=null&&x.jsxs(Ee,{label:"Upstream Response",children:[x.jsx("pre",{className:"max-h-48 overflow-auto rounded bg-gray-50 p-2 text-xs",children:O==null?void 0:O.text}),(O==null?void 0:O.truncated)&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Upstream response preview is truncated for readability."})]}),m.upstream_error&&x.jsx(Ee,{label:"Upstream Error",children:x.jsx("span",{className:"text-xs text-red-600",children:m.upstream_error})}),m.approval_status&&x.jsx(Ee,{label:"Approval",children:x.jsxs("span",{className:"text-xs",children:[m.approval_status,m.approved_by?` by ${m.approved_by}`:""]})}),m.metadata&&(typeof m.metadata.channel_id=="string"||typeof m.metadata.sender_id=="string")&&x.jsx(Ee,{label:"Adapter Context",children:x.jsxs("div",{className:"space-y-0.5 text-xs text-gray-600",children:[typeof m.metadata.channel_id=="string"&&x.jsxs("p",{children:["Channel: ",m.metadata.channel_id]}),typeof m.metadata.sender_id=="string"&&x.jsxs("p",{children:["Sender: ",m.metadata.sender_id]})]})}),x.jsx(Ee,{label:"Duration",children:x.jsxs("div",{className:"space-y-0.5 text-xs tabular-nums text-gray-600",children:[x.jsxs("p",{children:["Total: ",yr(m.total_duration_ms)]}),x.jsxs("p",{children:["Proxy compute: ",yr(m.proxy_compute_ms)]}),m.approval_wait_ms>0&&x.jsxs("p",{children:["Approval wait: ",yr(m.approval_wait_ms)]}),m.upstream_latency_ms!=null&&x.jsxs("p",{children:["Upstream: ",yr(m.upstream_latency_ms)]})]})})]}),!u&&!m&&s&&x.jsx("p",{className:"text-xs text-red-600",children:s}),!u&&!m&&!s&&x.jsx("p",{className:"text-xs text-gray-400",children:"No additional details available."})]})]})});function Ii({error:e}){return x.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("p",{className:"text-sm",children:e}),x.jsx("button",{type:"button",onClick:()=>{window.location.reload()},className:"rounded-md bg-gray-900 px-3 py-1.5 text-sm text-white hover:bg-gray-800",children:"Retry"})]})}const aC=[{label:"All",value:null},{label:"Allow",value:"allow"},{label:"Deny",value:"deny"},{label:"Rejected",value:"rejected"},{label:"Approval Denied",value:"approval_denied"},{label:"Approval Timeout",value:"approval_timeout"},{label:"Client Disconnected",value:"client_disconnected"},{label:"Shutdown Cancelled",value:"shutdown_cancelled"},{label:"Rate Limited",value:"rate_limited"},{label:"Spend Limited",value:"spend_limited"},{label:"Budget Exceeded",value:"budget_exceeded"},{label:"Session Unresolved",value:"session_unresolved"},{label:"Dry Run",value:"dry_run"}],iC={allow:"#059669",deny:"#dc2626",rejected:"#e11d48",require_approval:"#d97706",rate_limit:"#ea580c",spend_limit:"#9333ea",dry_run:"#2563eb"},lC="#6b7280",uC=60*1e3,wf=60*uC,Io=24*wf,oC=[{label:"1h",ms:wf},{label:"24h",ms:Io},{label:"7d",ms:7*Io}],R4=[{label:"All",ms:null},...oC];function k4(e){return"tool_input"in e}const Kc=500,dO=200,L4=200;function z4(){const[e,t]=y.useState([]),[n,r]=y.useState([]),[l,u]=y.useState(null),[s,f]=y.useState(null),[d,h]=y.useState(!1),[m,v]=y.useState(null),[b,S]=y.useState(""),[O,_]=y.useState(""),[w,j]=y.useState(""),[A,N]=y.useState(""),[T,P]=y.useState(""),[M,R]=y.useState(null),[I,q]=y.useState(!0),[W,X]=y.useState(!0),[U,se]=y.useState(null),F=y.useRef(null),J=y.useRef(null),z=y.useRef(new Set),V=y.useRef(null),ne=y.useRef(""),le=y.useRef(""),{subscribe:Q,connectionEpoch:D}=fu();y.useEffect(()=>(V.current&&clearTimeout(V.current),V.current=setTimeout(()=>{_(b)},300),()=>{V.current&&clearTimeout(V.current)}),[b]),y.useEffect(()=>{const ae=setTimeout(()=>{N(w)},300);return()=>{clearTimeout(ae)}},[w]),y.useEffect(()=>{ne.current=A},[A]),y.useEffect(()=>{le.current=T},[T]),y.useEffect(()=>{let ae=!1;return sO({limit:dO,upstream:A||void 0,session_source:T||void 0}).then(he=>{if(ae)return;const xe=he.data;z.current=new Set(xe.map(ie=>ie.id)),t(xe),r([]),se(null),X(!1)}).catch(he=>{ae||(se(he instanceof Error?he.message:"Failed to load feed"),X(!1))}),()=>{ae=!0}},[A,T]),y.useEffect(()=>Q("action",ae=>{z.current.has(ae.id)||(z.current.add(ae.id),q(he=>(he?t(xe=>{const ie=[ae,...xe].slice(0,Kc);return xe.length>=Kc&&(z.current=new Set(ie.map(fe=>fe.id))),ie}):r(xe=>[ae,...xe].slice(0,L4)),he)))}),[Q]),y.useEffect(()=>{D<=1||sO({limit:dO,upstream:ne.current||void 0,session_source:le.current||void 0}).then(ae=>{const he=ae.data;z.current=new Set(he.map(xe=>xe.id)),t(he),r([]),q(!0),se(null)}).catch(()=>{})},[D]),y.useEffect(()=>{const ae=J.current,he=F.current;if(!ae||!he)return;const xe=new IntersectionObserver(([ie])=>{ie!=null&&ie.isIntersecting?q(!0):q(!1)},{root:he,threshold:.1});return xe.observe(ae),()=>{xe.disconnect()}},[]);const K=y.useCallback(()=>{var ae;r(he=>he.length===0?he:(t(xe=>[...he,...xe].slice(0,Kc)),[])),q(!0),(ae=F.current)==null||ae.scrollTo({top:0,behavior:"smooth"})},[]),oe=y.useCallback(()=>{q(ae=>{var he;return ae||(r(xe=>(xe.length>0&&t(ie=>[...xe,...ie].slice(0,Kc)),[])),(he=F.current)==null||he.scrollTo({top:0,behavior:"smooth"})),!ae})},[]),ce=y.useCallback((ae,he)=>{if(l===ae){u(null),f(null);return}u(ae),f(null),v(null),k4(he)||(h(!0),eC(ae).then(xe=>{u(ie=>(ie===ae&&(f(xe),h(!1)),ie))}).catch(xe=>{u(ie=>(ie===ae&&(h(!1),v(xe instanceof Error?xe.message:"Failed to load record details")),ie))}))},[l]),ge=y.useMemo(()=>e.filter(ae=>!(O&&!ae.tool_name.toLowerCase().includes(O.toLowerCase())||A&&ae.upstream!==A||T&&ae.session_source!==T||M&&!S4(ae,M))),[e,O,A,T,M]);return W?x.jsx("div",{className:"flex h-full flex-col gap-3",children:Array.from({length:4},(ae,he)=>x.jsx("div",{className:"h-16 animate-pulse rounded-md bg-gray-100"},he))}):U&&e.length===0?x.jsx(Ii,{error:U}):x.jsxs("div",{className:"flex h-full flex-col",children:[x.jsxs("div",{className:"mb-4",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Activity Feed"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Real-time tool call stream"})]}),x.jsxs("div",{className:"flex flex-wrap items-center gap-3 pb-4",children:[x.jsx("input",{type:"text",placeholder:"Filter by tool name…",value:b,onChange:ae=>{S(ae.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),(e.some(ae=>ae.upstream!=null)||w!=="")&&x.jsx("input",{type:"text",placeholder:"Filter by upstream…",value:w,onChange:ae=>{j(ae.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsxs("select",{"aria-label":"Session Source",value:T,onChange:ae=>{P(ae.target.value)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-700 focus:border-gray-300 focus:outline-none",children:[x.jsx("option",{value:"",children:"All Sources"}),x.jsx("option",{value:"header",children:"header"}),x.jsx("option",{value:"meta",children:"meta"}),x.jsx("option",{value:"legacy_header",children:"legacy_header"}),x.jsx("option",{value:"transport",children:"transport"}),x.jsx("option",{value:"sideband",children:"sideband"})]}),x.jsx("div",{className:"flex flex-wrap gap-1.5",children:aC.map(({label:ae,value:he})=>x.jsx("button",{type:"button",onClick:()=>{R(he)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${M===he?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:ae},ae))}),x.jsx("div",{className:"flex-1"}),x.jsxs("button",{type:"button",onClick:oe,className:"flex items-center gap-1.5 rounded-md px-2.5 py-1 text-xs font-medium transition-colors border border-gray-200 bg-white text-gray-600 hover:bg-gray-50",children:[x.jsx("span",{className:`inline-block h-2 w-2 rounded-full ${I?"animate-pulse bg-emerald-500":"bg-amber-500"}`}),I?"Live":"Paused"]})]}),n.length>0&&x.jsxs("button",{type:"button",onClick:K,className:"mb-3 w-full rounded-md bg-blue-50 px-3 py-2 text-center text-sm font-medium text-blue-700 hover:bg-blue-100 transition-colors",children:[n.length," new ",n.length===1?"action":"actions"," — click to load"]}),x.jsxs("div",{ref:F,className:"flex-1 space-y-2 overflow-y-auto",children:[x.jsx("div",{ref:J,className:"h-0"}),ge.length===0&&x.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 13.5 14.25 2.25l-3 10.5h9L9.75 24l3-10.5h-9Z"})}),e.length===0&&!A&&!T?x.jsxs(x.Fragment,{children:[x.jsx("p",{className:"text-sm font-medium",children:"No actions yet"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Start sending tool calls through Helio"})]}):x.jsxs(x.Fragment,{children:[x.jsx("p",{className:"text-sm font-medium",children:"No matching actions"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Try adjusting your filters"})]})]}),ge.map(ae=>x.jsx(D4,{record:ae,expanded:l===ae.id,onToggle:()=>{ce(ae.id,ae)},expandedRecord:l===ae.id?s:null,loading:l===ae.id&&d,error:l===ae.id?m:null},ae.id))]})]})}const I4={pending:"bg-amber-50 text-amber-700 ring-amber-600/20",approved:"bg-emerald-50 text-emerald-700 ring-emerald-600/20",denied:"bg-red-50 text-red-700 ring-red-600/20",timeout:"bg-orange-50 text-orange-700 ring-orange-600/20",break_glass:"bg-purple-50 text-purple-700 ring-purple-600/20",client_disconnected:"bg-gray-100 text-gray-700 ring-gray-500/20",shutdown_cancelled:"bg-slate-100 text-slate-700 ring-slate-500/20",cancelled:"bg-slate-100 text-slate-700 ring-slate-500/20"},B4=y.memo(function({status:t}){const n=I4[t];return x.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${n}`,children:zg(t)})});function U4({ticketId:e,status:t,onResolved:n}){const[r,l]=y.useState("idle"),[u,s]=y.useState(!1),[f,d]=y.useState(null),[h,m]=y.useState(""),[v,b]=y.useState(""),[S,O]=y.useState(!1);y.useEffect(()=>{if(r!=="break_glass")return;const T=P=>{P.key==="Escape"&&(l("idle"),b(""),O(!1))};return document.addEventListener("keydown",T),()=>{document.removeEventListener("keydown",T)}},[r]);const _=y.useCallback(T=>{if(T instanceof Error&&"status"in T){const P=T.status;d(P===409?"This ticket has already been resolved":P===404?"Ticket not found":T.message||"Action failed")}else d("Action failed")},[]),w=y.useCallback(async()=>{d(null),s(!0);try{await l4(e,"dashboard"),n()}catch(T){_(T)}finally{s(!1)}},[e,n,_]),j=y.useCallback(async()=>{d(null),s(!0);try{await u4(e,"dashboard",h||void 0),n()}catch(T){_(T)}finally{s(!1)}},[e,h,n,_]),A=y.useCallback(async()=>{if(!v.trim()){O(!0);return}d(null),s(!0);try{await o4(e,"dashboard",v.trim()),n()}catch(T){_(T)}finally{s(!1)}},[e,v,n,_]),N=y.useCallback(()=>{l("idle"),m(""),b(""),O(!1),d(null)},[]);return t!=="pending"?null:x.jsxs("div",{className:"space-y-2",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsxs("button",{type:"button",disabled:u,onClick:()=>{w()},className:"inline-flex items-center gap-1.5 rounded-md bg-emerald-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-emerald-700 disabled:opacity-50",children:[u&&r==="idle"?x.jsx(Yv,{}):x.jsx($4,{}),"Approve"]}),x.jsxs("button",{type:"button",disabled:u,onClick:()=>{d(null),l("deny")},className:"inline-flex items-center gap-1.5 rounded-md bg-red-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-red-700 disabled:opacity-50",children:[x.jsx(q4,{}),"Deny"]}),x.jsxs("button",{type:"button",disabled:u,onClick:()=>{d(null),l("break_glass")},className:"inline-flex items-center gap-1.5 rounded-md border border-amber-300 bg-amber-50 px-3 py-1.5 text-sm font-medium text-amber-800 hover:bg-amber-100 disabled:opacity-50",children:[x.jsx(hO,{}),"Break Glass"]})]}),f&&x.jsx("p",{className:"text-xs text-red-600",children:f}),r==="deny"&&x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("input",{type:"text",placeholder:"Reason (optional)",value:h,onChange:T=>{m(T.target.value)},onKeyDown:T=>{T.key==="Enter"&&j(),T.key==="Escape"&&N()},className:"flex-1 rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none",autoFocus:!0}),x.jsxs("button",{type:"button",disabled:u,onClick:()=>{j()},className:"inline-flex items-center gap-1.5 rounded-md bg-red-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-red-700 disabled:opacity-50",children:[u&&x.jsx(Yv,{}),"Confirm Deny"]}),x.jsx("button",{type:"button",disabled:u,onClick:N,className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm font-medium text-gray-600 hover:bg-gray-50 disabled:opacity-50",children:"Cancel"})]}),r==="break_glass"&&x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"fixed inset-0 z-40 bg-black/10",role:"button",tabIndex:-1,"aria-label":"Close modal",onClick:N,onKeyDown:T=>{(T.key==="Enter"||T.key===" ")&&N()}}),x.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:x.jsxs("div",{className:"mx-4 w-full max-w-md rounded-lg border border-gray-200 bg-white p-6 shadow-lg",children:[x.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[x.jsx(hO,{}),x.jsx("h3",{className:"text-base font-semibold text-gray-900",children:"Break-Glass Override"})]}),x.jsx("p",{className:"mb-4 text-sm text-gray-600",children:"This will immediately approve the request and flag it in the audit trail. This action cannot be undone."}),x.jsx("textarea",{placeholder:"Reason (required)",value:v,onChange:T=>{b(T.target.value),S&&T.target.value.trim()&&O(!1)},className:`mb-4 w-full rounded-md border bg-white px-3 py-2 text-sm text-gray-900 placeholder:text-gray-400 focus:outline-none ${S?"border-red-300 ring-1 ring-red-300 focus:border-red-400":"border-gray-200 focus:border-gray-300"}`,rows:3,autoFocus:!0}),S&&x.jsx("p",{className:"-mt-3 mb-4 text-xs text-red-600",children:"A reason is required."}),x.jsxs("div",{className:"flex items-center justify-end gap-2",children:[x.jsx("button",{type:"button",disabled:u,onClick:N,className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm font-medium text-gray-600 hover:bg-gray-50 disabled:opacity-50",children:"Cancel"}),x.jsxs("button",{type:"button",disabled:u,onClick:()=>{A()},className:"inline-flex items-center gap-1.5 rounded-md bg-amber-600 px-3 py-1.5 text-sm font-medium text-white hover:bg-amber-700 disabled:opacity-50",children:[u&&x.jsx(Yv,{}),"Override & Approve"]})]})]})})]})]})}function $4(){return x.jsx("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m4.5 12.75 6 6 9-13.5"})})}function q4(){return x.jsx("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18 18 6M6 6l12 12"})})}function hO(){return x.jsx("svg",{className:"h-4 w-4 text-amber-600",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"})})}function Yv(){return x.jsxs("svg",{className:"h-4 w-4 animate-spin",viewBox:"0 0 24 24",fill:"none",children:[x.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),x.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]})}function H4(e){return e<=0?"text-red-600 font-semibold":e<3e4?"text-red-600":e<6e4?"text-amber-600":"text-gray-500"}function K4(e){return e.break_glass_reason?e.break_glass_reason:e.denial_reason?e.denial_reason:"—"}const Gv=250,Yc=20;function Y4(){const[e,t]=y.useState("pending"),[n,r]=y.useState([]),[l,u]=y.useState([]),[s,f]=y.useState(!0),[d,h]=y.useState(!1),[m,v]=y.useState(!1),[b,S]=y.useState(null),[O,_]=y.useState(null),[w,j]=y.useState(null),[A,N]=y.useState(Date.now()),[T,P]=y.useState(!1),[M,R]=y.useState(0),[I,q]=y.useState(!1),[W,X]=y.useState(0),{subscribe:U,connectionEpoch:se}=fu(),F=y.useCallback(async Q=>{const D=[];let K=0,oe=0,ce=!1;for(let ge=0;ge<Yc;ge++){const ae=await r4(Q,{limit:Gv,offset:K});oe=ae.total,D.push(...ae.data);const he=K+ae.data.length;if(ae.data.length===0||he>=ae.total)break;if(ge===Yc-1){ce=!0;break}K=he}return{items:D,total:oe,truncated:ce}},[]);y.useEffect(()=>{const Q=setInterval(()=>{N(Date.now())},1e3);return()=>{clearInterval(Q)}},[]),y.useEffect(()=>{let Q=!1;return S(null),F("pending").then(D=>{Q||(r([...D.items]),P(D.truncated),R(D.total),f(!1))}).catch(D=>{Q||(S(D instanceof Error?D.message:"Failed to load approvals"),f(!1))}),()=>{Q=!0}},[F]),y.useEffect(()=>{if(e!=="resolved"||m)return;let Q=!1;return h(!0),_(null),F().then(D=>{Q||(u([...D.items].filter(K=>K.status!=="pending")),q(D.truncated),X(D.total),h(!1),v(!0))}).catch(D=>{Q||(_(D instanceof Error?D.message:"Failed to load resolved approvals"),h(!1))}),()=>{Q=!0}},[e,m,F]),y.useEffect(()=>U("approval_requested",Q=>{F("pending").then(D=>{r([...D.items]),P(D.truncated),R(D.total),S(null)}).catch(()=>{})}),[U,F]),y.useEffect(()=>U("approval_resolved",Q=>{r(D=>D.filter(K=>K.id!==Q.ticket_id)),R(D=>Math.max(0,D-1)),v(!1),q(!1)}),[U]),y.useEffect(()=>U("approval_notification_failed",Q=>{F("pending").then(D=>{r([...D.items]),P(D.truncated),R(D.total),S(null)}).catch(()=>{})}),[U,F]),y.useEffect(()=>{se<=1||(F("pending").then(Q=>{r([...Q.items]),P(Q.truncated),R(Q.total),S(null)}).catch(()=>{}),v(!1),q(!1))},[se,F]);const J=y.useCallback(Q=>{r(D=>D.filter(K=>K.id!==Q)),R(D=>Math.max(0,D-1)),v(!1),q(!1)},[]),z=y.useCallback(Q=>{j(D=>D===Q?null:Q)},[]),V=y.useMemo(()=>[...n].sort((Q,D)=>new Date(D.requested_at).getTime()-new Date(Q.requested_at).getTime()),[n]),ne=y.useMemo(()=>V.flatMap(Q=>(Q.notification_failures??[]).map(D=>({ticket_id:Q.id,tool_name:Q.tool_name,...D}))).sort((Q,D)=>new Date(D.failed_at).getTime()-new Date(Q.failed_at).getTime()),[V]),le=y.useMemo(()=>[...l].sort((Q,D)=>{const K=Q.resolved_at?new Date(Q.resolved_at).getTime():0;return(D.resolved_at?new Date(D.resolved_at).getTime():0)-K}),[l]);return s?x.jsx("div",{className:"flex h-full flex-col gap-3",children:Array.from({length:4},(Q,D)=>x.jsx("div",{className:"h-16 animate-pulse rounded-md bg-gray-100"},D))}):x.jsxs("div",{className:"flex h-full flex-col",children:[x.jsxs("div",{className:"mb-4",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Approvals"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Pending and resolved approval requests"})]}),x.jsx("div",{className:"flex flex-wrap items-center gap-3 pb-4",children:x.jsxs("div",{className:"flex gap-1.5",children:[x.jsxs("button",{type:"button",onClick:()=>{t("pending")},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${e==="pending"?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:["Pending",V.length>0?` (${String(V.length)})`:""]}),x.jsx("button",{type:"button",onClick:()=>{t("resolved")},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${e==="resolved"?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:"Resolved"})]})}),e==="pending"&&x.jsxs("div",{className:"flex-1 space-y-2 overflow-y-auto",children:[b&&x.jsx(Ii,{error:b}),!b&&ne.length>0&&x.jsxs("div",{className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-800",children:[x.jsxs("p",{className:"font-medium",children:["Approval notification delivery failures detected (",String(ne.length),")."]}),x.jsx("p",{className:"mt-1",children:"Requests stay pending in this queue even when Slack/webhook delivery fails. Review affected tickets and resolve manually if needed."}),x.jsx("ul",{className:"mt-2 list-disc pl-4",children:ne.slice(0,3).map(Q=>x.jsxs("li",{children:[x.jsx("span",{className:"font-mono",children:Q.tool_name})," via ",Q.channel," (",Q.phase,") failed ",Ig(Q.failed_at),": ",Q.error]},`${Q.ticket_id}-${Q.failed_at}-${Q.phase}`))})]}),!b&&T&&x.jsxs("div",{className:"rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800",children:["Showing only the newest ",String(Gv*Yc)," pending approvals (",String(M)," total). Older entries are not loaded in this view."]}),!b&&V.length===0&&x.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z"})}),x.jsx("p",{className:"text-sm font-medium",children:"No pending approvals"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Approval requests will appear here"})]}),!b&&V.map(Q=>x.jsx(G4,{ticket:Q,now:A,expanded:w===Q.id,onToggle:()=>{z(Q.id)},onResolved:()=>{J(Q.id)}},Q.id))]}),e==="resolved"&&x.jsxs("div",{className:"flex-1 overflow-auto",children:[d&&x.jsx("div",{className:"flex h-full flex-col gap-3",children:Array.from({length:4},(Q,D)=>x.jsx("div",{className:"h-10 animate-pulse rounded-md bg-gray-100"},D))}),!d&&O&&x.jsx(Ii,{error:O}),!d&&!O&&I&&x.jsxs("div",{className:"mb-3 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800",children:["Showing only the newest ",String(Gv*Yc)," approvals (",String(W)," total before filtering). Older resolved entries are not loaded in this view."]}),!d&&!O&&le.length===0&&x.jsx("div",{className:"flex h-full items-center justify-center text-gray-500",children:x.jsx("p",{className:"text-sm",children:"No resolved approvals yet"})}),!d&&!O&&le.length>0&&x.jsxs("table",{className:"w-full text-left text-sm",children:[x.jsx("thead",{children:x.jsxs("tr",{className:"border-b border-gray-200",children:[x.jsx("th",{className:"pb-2 pr-4 text-xs font-medium text-gray-500",children:"Resolved At"}),x.jsx("th",{className:"pb-2 pr-4 text-xs font-medium text-gray-500",children:"Tool"}),x.jsx("th",{className:"pb-2 pr-4 text-xs font-medium text-gray-500",children:"Status"}),x.jsx("th",{className:"pb-2 pr-4 text-xs font-medium text-gray-500",children:"Resolved By"}),x.jsx("th",{className:"hidden pb-2 pr-4 text-xs font-medium text-gray-500 md:table-cell",children:"Reason"}),x.jsx("th",{className:"hidden pb-2 text-xs font-medium text-gray-500 sm:table-cell",children:"Session"})]})}),x.jsx("tbody",{children:le.map(Q=>x.jsx(V4,{ticket:Q,expanded:w===Q.id,onToggle:()=>{z(Q.id)}},Q.id))})]})]})]})}function sC({ticket:e}){return!e.breached_budgets||e.breached_budgets.length===0?null:x.jsxs(Ee,{label:"Breached Budgets",children:[x.jsx("ul",{className:"space-y-1",children:e.breached_budgets.map(t=>x.jsxs("li",{className:"text-xs",children:[x.jsx("span",{className:"font-mono text-amber-800",children:t.name}),x.jsxs("span",{className:"text-gray-600",children:[" — ",t.spent,"/",t.limit," ",t.currency," spent, attempting +",t.attempted_amount," (",t.window," ","window)"]})]},t.name))}),x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Approving spends past the limit on every budget listed (recorded as an approved overage)."})]})}function G4({ticket:e,now:t,expanded:n,onToggle:r,onResolved:l}){const u=Math.max(0,new Date(e.timeout_at).getTime()-t),s=Sf(e.tool_input);return x.jsxs("div",{className:`rounded-md border bg-white transition-colors ${n?"border-gray-200 shadow-sm":"border-gray-200 hover:border-gray-300"}`,children:[x.jsxs("button",{type:"button",onClick:r,className:"flex w-full items-center gap-3 p-4 text-left",children:[x.jsx("span",{className:`w-16 shrink-0 text-xs tabular-nums ${H4(u)}`,children:Ed(u)}),x.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-sm text-gray-900",children:e.tool_name}),e.upstream&&x.jsx("span",{className:"hidden shrink-0 truncate font-mono text-xs text-gray-400 md:block md:max-w-24",children:e.upstream}),x.jsx("span",{className:"hidden w-20 shrink-0 truncate text-xs text-gray-500 sm:block",children:_d(e.session_id)}),e.matched_rule&&x.jsx("span",{className:"hidden shrink-0 truncate font-mono text-xs text-gray-400 lg:block lg:max-w-32",children:e.matched_rule}),x.jsx("span",{className:"w-14 shrink-0 text-right text-xs text-gray-400",title:e.requested_at,children:Ig(e.requested_at)}),x.jsx("svg",{className:`h-4 w-4 shrink-0 text-gray-400 transition-transform ${n?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19 9-7 7-7-7"})})]}),n&&x.jsxs("div",{className:"border-t border-gray-100 px-4 pb-4 pt-3 space-y-3 text-sm",children:[x.jsxs(Ee,{label:"Input",children:[x.jsx("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap wrap-break-word rounded bg-gray-50 p-2 text-xs",children:s.text}),s.truncated&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Input payload preview is truncated for readability."})]}),x.jsx(sC,{ticket:e}),e.upstream&&x.jsx(Ee,{label:"Upstream",children:x.jsx("span",{className:"font-mono text-xs",children:e.upstream})}),x.jsx(Ee,{label:"Session ID",children:x.jsxs("span",{className:"font-mono text-xs",children:[e.session_id??"—",e.session_source?` (${e.session_source})`:""]})}),x.jsx(Ee,{label:"Channel",children:x.jsx("span",{className:"text-xs",children:e.channel_name})}),e.matched_rule&&x.jsx(Ee,{label:"Matched Rule",children:x.jsx("span",{className:"font-mono text-xs",children:e.matched_rule})}),x.jsx(Ee,{label:"Requested At",children:x.jsx("span",{className:"text-xs tabular-nums",children:tr(e.requested_at)})}),x.jsx(Ee,{label:"Timeout At",children:x.jsx("span",{className:"text-xs tabular-nums",children:tr(e.timeout_at)})}),e.escalated_at&&x.jsx(Ee,{label:"Escalated",children:x.jsxs("span",{className:"text-xs",children:[tr(e.escalated_at),e.escalated_to&&e.escalated_to.length>0?` → ${e.escalated_to.join(", ")}`:""]})}),e.notification_failures&&e.notification_failures.length>0&&x.jsx(Ee,{label:"Notification Failures",children:x.jsx("ul",{className:"space-y-1 text-xs text-red-700",children:e.notification_failures.map((f,d)=>x.jsxs("li",{children:[tr(f.failed_at)," - ",f.phase," via ",f.channel,":"," ",f.error]},`${f.failed_at}-${f.phase}-${String(d)}`))})}),x.jsx("div",{className:"pt-1",children:x.jsx(U4,{ticketId:e.id,status:e.status,onResolved:l})})]})]})}function V4({ticket:e,expanded:t,onToggle:n}){const r=Sf(e.tool_input);return x.jsxs(x.Fragment,{children:[x.jsxs("tr",{onClick:n,className:`cursor-pointer border-b border-gray-100 hover:bg-gray-50 ${t?"bg-blue-50":""}`,children:[x.jsx("td",{className:"py-2.5 pr-4 text-xs tabular-nums text-gray-600",children:e.resolved_at?tr(e.resolved_at):"—"}),x.jsx("td",{className:"py-2.5 pr-4 font-mono text-sm text-gray-900",children:e.tool_name}),x.jsx("td",{className:"py-2.5 pr-4",children:x.jsx(B4,{status:e.status})}),x.jsx("td",{className:"py-2.5 pr-4 text-xs text-gray-600",children:e.resolved_by??"—"}),x.jsx("td",{className:"hidden py-2.5 pr-4 text-xs text-gray-500 md:table-cell",children:x.jsx("span",{className:"line-clamp-1",children:K4(e)})}),x.jsx("td",{className:"hidden py-2.5 text-xs text-gray-500 sm:table-cell",children:_d(e.session_id)})]}),t&&x.jsx("tr",{children:x.jsx("td",{colSpan:6,className:"border-b border-gray-100 bg-gray-50 px-4 py-3",children:x.jsxs("div",{className:"space-y-3 text-sm",children:[x.jsxs(Ee,{label:"Input",children:[x.jsx("pre",{className:"max-h-48 overflow-auto whitespace-pre-wrap wrap-break-word rounded bg-white p-2 text-xs",children:r.text}),r.truncated&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Input payload preview is truncated for readability."})]}),x.jsx(sC,{ticket:e}),e.upstream&&x.jsx(Ee,{label:"Upstream",children:x.jsx("span",{className:"font-mono text-xs",children:e.upstream})}),x.jsx(Ee,{label:"Requested At",children:x.jsx("span",{className:"text-xs tabular-nums",children:tr(e.requested_at)})}),x.jsx(Ee,{label:"Timeout At",children:x.jsx("span",{className:"text-xs tabular-nums",children:tr(e.timeout_at)})}),e.resolved_at&&x.jsx(Ee,{label:"Resolved At",children:x.jsx("span",{className:"text-xs tabular-nums",children:tr(e.resolved_at)})}),e.denial_reason&&x.jsx(Ee,{label:"Denial Reason",children:x.jsx("span",{className:"text-xs",children:e.denial_reason})}),e.break_glass_reason&&x.jsx(Ee,{label:"Break-Glass Reason",children:x.jsx("span",{className:"text-xs text-amber-700",children:e.break_glass_reason})}),e.escalated_at&&x.jsx(Ee,{label:"Escalated",children:x.jsxs("span",{className:"text-xs",children:[tr(e.escalated_at),e.escalated_to&&e.escalated_to.length>0?` → ${e.escalated_to.join(", ")}`:""]})}),x.jsx(Ee,{label:"Channel",children:x.jsx("span",{className:"text-xs",children:e.channel_name})}),e.matched_rule&&x.jsx(Ee,{label:"Matched Rule",children:x.jsx("span",{className:"font-mono text-xs",children:e.matched_rule})})]})})})]})}const X4={tool:"",decision:null,reason:null,session:"",from:"",to:"",upstream_status_min:"",upstream_status_max:"",origin:"",record_kind:"",channel:"",sender:"",upstream:"",session_source:""};function mO(e){if(e.length===0)return;const t=Number.parseInt(e,10);return Number.isFinite(t)?t:void 0}function F4(){const[e,t]=y.useState(X4),[n,r]=y.useState(1),[l,u]=y.useState(25),[s,f]=y.useState(0),[d,h]=y.useState(""),[m,v]=y.useState(""),[b,S]=y.useState(""),[O,_]=y.useState(""),[w,j]=y.useState(""),[A,N]=y.useState(""),[T,P]=y.useState(null),[M,R]=y.useState(!0),[I,q]=y.useState(null);y.useEffect(()=>{const J=setTimeout(()=>{h(e.tool)},300);return()=>{clearTimeout(J)}},[e.tool]),y.useEffect(()=>{const J=setTimeout(()=>{v(e.session)},300);return()=>{clearTimeout(J)}},[e.session]),y.useEffect(()=>{const J=setTimeout(()=>{S(e.origin)},300);return()=>{clearTimeout(J)}},[e.origin]),y.useEffect(()=>{const J=setTimeout(()=>{_(e.channel)},300);return()=>{clearTimeout(J)}},[e.channel]),y.useEffect(()=>{const J=setTimeout(()=>{j(e.sender)},300);return()=>{clearTimeout(J)}},[e.sender]),y.useEffect(()=>{const J=setTimeout(()=>{N(e.upstream)},300);return()=>{clearTimeout(J)}},[e.upstream]),y.useEffect(()=>{let J=!1;R(!0);const z=nC(e.decision);return n4({tool:d||void 0,decision:z.decision,reason:e.reason??z.reason,blocked:z.blocked,session:m||void 0,from:e.from||void 0,to:e.to||void 0,dry_run:z.dry_run,upstream_status_min:mO(e.upstream_status_min),upstream_status_max:mO(e.upstream_status_max),origin:b||void 0,record_kind:e.record_kind||void 0,channel:O||void 0,sender:w||void 0,upstream:A||void 0,session_source:e.session_source||void 0,offset:(n-1)*l,limit:l}).then(V=>{J||(P(V),q(null),R(!1))}).catch(V=>{J||(q(V instanceof Error?V.message:"Failed to load audit records"),R(!1))}),()=>{J=!0}},[d,e.decision,e.reason,m,e.from,e.to,e.upstream_status_min,e.upstream_status_max,b,e.record_kind,O,w,A,e.session_source,n,l,s]);const W=y.useCallback((J,z)=>{t(V=>({...V,[J]:z})),r(1)},[]),X=y.useCallback(J=>{t(z=>({...z,...J})),r(1)},[]),U=y.useCallback(J=>{r(J)},[]),se=y.useCallback(J=>{u(J),r(1)},[]),F=y.useCallback(()=>{f(J=>J+1)},[]);return{data:T,loading:M,error:I,filters:e,page:n,limit:l,setFilter:W,setBulkFilters:X,setPage:U,setLimit:se,refetch:F}}function vO(e){return e?new Date(e).toISOString():""}function pO(e){if(!e)return"";const t=new Date(e),n=r=>String(r).padStart(2,"0");return`${String(t.getFullYear())}-${n(t.getMonth()+1)}-${n(t.getDate())}T${n(t.getHours())}:${n(t.getMinutes())}`}function Z4(e,t){const n=nC(t.decision),r=new URLSearchParams;r.set("format",e),t.tool&&r.set("tool",t.tool),n.decision&&r.set("decision",n.decision);const l=t.reason??n.reason;return l&&r.set("reason",l),n.blocked!==void 0&&r.set("blocked",String(n.blocked)),n.dry_run!==void 0&&r.set("dry_run",String(n.dry_run)),t.session&&r.set("session",t.session),t.from&&r.set("from",t.from),t.to&&r.set("to",t.to),t.upstream_status_min&&r.set("upstream_status_min",t.upstream_status_min),t.upstream_status_max&&r.set("upstream_status_max",t.upstream_status_max),t.origin&&r.set("origin",t.origin),t.record_kind&&r.set("record_kind",t.record_kind),t.channel&&r.set("channel_id",t.channel),t.sender&&r.set("sender_id",t.sender),t.upstream&&r.set("upstream",t.upstream),t.session_source&&r.set("session_source",t.session_source),`/api/audit/export?${r.toString()}`}const W4=[{label:"All Reasons",value:null},{label:"Policy Denied",value:"policy_denied"},{label:"Evidence Missing",value:"evidence_missing"},{label:"Evidence Expired",value:"evidence_expired"},{label:"Dependency Missing",value:"dependency_missing"},{label:"Approval Denied",value:"approval_denied"},{label:"Approval Timeout",value:"approval_timeout"},{label:"Client Disconnected",value:"client_disconnected"},{label:"Shutdown Cancelled",value:"shutdown_cancelled"},{label:"Install Denied",value:"install_denied"},{label:"Missing Tool Name",value:"missing_tool_name"},{label:"Header Mismatch",value:"header_mismatch"},{label:"Rate Limited",value:"rate_limited"},{label:"Spend Limited",value:"spend_limited"},{label:"Budget Exceeded",value:"budget_exceeded"}];function Q4({filters:e,setFilter:t,setBulkFilters:n,hasAttributedRows:r}){const[l,u]=y.useState(null),[s,f]=y.useState(!1),[d,h]=y.useState(!1),[m,v]=y.useState(null),b=y.useRef(null);y.useEffect(()=>{if(!s)return;const w=j=>{b.current&&!b.current.contains(j.target)&&f(!1)};return document.addEventListener("mousedown",w),()=>{document.removeEventListener("mousedown",w)}},[s]),y.useEffect(()=>{if(!s)return;const w=j=>{j.key==="Escape"&&f(!1)};return document.addEventListener("keydown",w),()=>{document.removeEventListener("keydown",w)}},[s]);const S=y.useCallback(async w=>{f(!1),v(null),h(!0);try{const j=Z4(w,e),A=await fetch(j);if(!A.ok){const M=await A.text().catch(()=>"");throw new Error(M||`Export failed (${String(A.status)})`)}const N=await A.blob(),T=URL.createObjectURL(N),P=document.createElement("a");P.href=T,P.download=`helio-audit-export.${w}`,document.body.appendChild(P),P.click(),document.body.removeChild(P),URL.revokeObjectURL(T)}catch(j){v(j instanceof Error?j.message:"Failed to export audit records")}finally{h(!1)}},[e]),O=y.useCallback(w=>{u(w),n(w===null?{from:"",to:""}:{from:new Date(Date.now()-w).toISOString(),to:""})},[n]),_=y.useCallback(()=>{u("custom")},[]);return x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"flex flex-wrap items-center gap-3 pb-3",children:[x.jsx("input",{type:"text",placeholder:"Filter by tool name…",value:e.tool,onChange:w=>{t("tool",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("div",{className:"flex flex-wrap gap-1.5",children:aC.map(({label:w,value:j})=>x.jsx("button",{type:"button",onClick:()=>{t("decision",j)},"aria-pressed":e.decision===j,className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${e.decision===j?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:w},w))}),x.jsx("select",{value:e.reason??"",onChange:w=>{t("reason",w.target.value||null)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-700 focus:border-gray-300 focus:outline-none",children:W4.map(w=>x.jsx("option",{value:w.value??"",children:w.label},w.label))}),x.jsx("input",{type:"text","aria-label":"Origin",placeholder:"Origin (e.g. openclaw)…",value:e.origin,onChange:w=>{t("origin",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsxs("select",{"aria-label":"Record Kind",value:e.record_kind,onChange:w=>{t("record_kind",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-700 focus:border-gray-300 focus:outline-none",children:[x.jsx("option",{value:"",children:"All Kinds"}),x.jsx("option",{value:"tool_call",children:"Tool Call"}),x.jsx("option",{value:"install_scan",children:"Install Scan"}),x.jsx("option",{value:"drift_event",children:"Drift"}),x.jsx("option",{value:"evaluation_expired",children:"Expired"}),x.jsx("option",{value:"policy_reload",children:"Reload"})]}),x.jsxs("select",{"aria-label":"Session Source",value:e.session_source,onChange:w=>{t("session_source",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-700 focus:border-gray-300 focus:outline-none",children:[x.jsx("option",{value:"",children:"All Sources"}),x.jsx("option",{value:"header",children:"header"}),x.jsx("option",{value:"meta",children:"meta"}),x.jsx("option",{value:"legacy_header",children:"legacy_header"}),x.jsx("option",{value:"transport",children:"transport"}),x.jsx("option",{value:"sideband",children:"sideband"})]})]}),x.jsxs("div",{className:"flex flex-wrap items-center gap-3 pb-4",children:[x.jsxs("div",{className:"flex gap-1.5",children:[R4.map(({label:w,ms:j})=>x.jsx("button",{type:"button",onClick:()=>{O(j)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${l===j?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:w},w)),x.jsx("button",{type:"button",onClick:_,className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${l==="custom"?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:"Custom"})]}),l==="custom"&&x.jsxs(x.Fragment,{children:[x.jsx("input",{type:"datetime-local",value:pO(e.from),onChange:w=>{t("from",vO(w.target.value))},className:"rounded-md border border-gray-200 bg-white px-2 py-1 text-xs text-gray-900 focus:border-gray-300 focus:outline-none"}),x.jsx("span",{className:"text-xs text-gray-400",children:"to"}),x.jsx("input",{type:"datetime-local",value:pO(e.to),onChange:w=>{t("to",vO(w.target.value))},className:"rounded-md border border-gray-200 bg-white px-2 py-1 text-xs text-gray-900 focus:border-gray-300 focus:outline-none"})]}),x.jsx("input",{type:"text",placeholder:"Session ID…",value:e.session,onChange:w=>{t("session",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),(r||e.upstream!=="")&&x.jsx("input",{type:"text",placeholder:"Filter by upstream…",value:e.upstream,onChange:w=>{t("upstream",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("input",{type:"text",placeholder:"Channel ID…",value:e.channel,onChange:w=>{t("channel",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("input",{type:"text",placeholder:"Sender ID…",value:e.sender,onChange:w=>{t("sender",w.target.value)},className:"rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("input",{type:"number",min:100,max:599,placeholder:"Status min",value:e.upstream_status_min,onChange:w=>{t("upstream_status_min",w.target.value)},className:"w-28 rounded-md border border-gray-200 bg-white px-2 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("input",{type:"number",min:100,max:599,placeholder:"Status max",value:e.upstream_status_max,onChange:w=>{t("upstream_status_max",w.target.value)},className:"w-28 rounded-md border border-gray-200 bg-white px-2 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 focus:border-gray-300 focus:outline-none"}),x.jsx("div",{className:"flex-1"}),x.jsxs("div",{ref:b,className:"relative",children:[x.jsxs("button",{type:"button",onClick:()=>{f(w=>!w)},"aria-expanded":s,"aria-haspopup":"menu",className:"flex items-center gap-1.5 rounded-md border border-gray-200 bg-white px-3 py-1.5 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-50",children:["Export",x.jsx("svg",{className:`h-4 w-4 text-gray-400 transition-transform ${s?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"m19 9-7 7-7-7"})})]}),s&&x.jsxs("div",{className:"absolute right-0 z-10 mt-1 w-36 rounded-md border border-gray-200 bg-white py-1 shadow-lg",children:[x.jsx("button",{type:"button",onClick:()=>{S("json")},disabled:d,className:"block w-full px-3 py-1.5 text-left text-sm text-gray-700 hover:bg-gray-50",children:"Export JSON"}),x.jsx("button",{type:"button",onClick:()=>{S("csv")},disabled:d,className:"block w-full px-3 py-1.5 text-left text-sm text-gray-700 hover:bg-gray-50",children:"Export CSV"})]})]})]}),m&&x.jsx("p",{className:"pb-2 text-xs text-red-600",children:m})]})}const J4=[10,25,50];function eL({records:e,selectedId:t,page:n,totalPages:r,limit:l,loading:u,onRowClick:s,onPageChange:f,onLimitChange:d}){if(e.length===0&&!u)return null;const h=e.some(m=>m.upstream!=null);return x.jsxs(x.Fragment,{children:[u&&x.jsx("div",{className:"mb-3 h-0.5 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:"h-full w-1/3 animate-pulse rounded-full bg-gray-300"})}),e.length>0&&x.jsx("div",{className:"flex-1 overflow-auto",children:x.jsxs("table",{className:"w-full text-left text-sm",children:[x.jsx("thead",{children:x.jsxs("tr",{className:"border-b border-gray-200 text-xs font-medium text-gray-500",children:[x.jsx("th",{scope:"col",className:"pb-2 pr-4 font-medium",children:"Timestamp"}),x.jsx("th",{scope:"col",className:"pb-2 pr-4 font-medium",children:"Tool"}),h&&x.jsx("th",{scope:"col",className:"hidden pb-2 pr-4 font-medium md:table-cell",children:"Upstream"}),x.jsx("th",{scope:"col",className:"pb-2 pr-4 font-medium",children:"Origin"}),x.jsx("th",{scope:"col",className:"pb-2 pr-4 font-medium",children:"Decision"}),x.jsx("th",{scope:"col",className:"hidden pb-2 pr-4 font-medium sm:table-cell",children:"Session / Agent"}),x.jsx("th",{scope:"col",className:"hidden pb-2 pr-4 font-medium md:table-cell",children:"Channel"}),x.jsx("th",{scope:"col",className:"hidden pb-2 pr-4 font-medium md:table-cell",children:"Sender"}),x.jsx("th",{scope:"col",className:"pb-2 pr-4 text-right font-medium",children:"Duration"}),x.jsx("th",{scope:"col",className:"pb-2 font-medium"})]})}),x.jsx("tbody",{children:e.map(m=>{var v,b;return x.jsxs("tr",{onClick:()=>{s(m.id)},className:`cursor-pointer border-b border-gray-100 transition-colors ${t===m.id?"bg-blue-50":"hover:bg-gray-50"}`,children:[x.jsx("td",{className:"whitespace-nowrap py-2.5 pr-4 text-xs tabular-nums text-gray-500",children:tr(m.timestamp)}),x.jsx("td",{className:"py-2.5 pr-4 font-mono text-sm text-gray-900",children:m.tool_name}),h&&x.jsx("td",{className:"hidden py-2.5 pr-4 font-mono text-xs text-gray-500 md:table-cell",children:m.upstream}),x.jsx("td",{className:"py-2.5 pr-4",children:x.jsx(rC,{origin:m.origin,recordKind:m.record_kind})}),x.jsx("td",{className:"py-2.5 pr-4",children:x.jsx(Ug,{policyDecision:m.policy_decision,blockReason:m.block_reason,approvalStatus:m.approval_status,dryRun:m.dry_run})}),x.jsxs("td",{className:"hidden py-2.5 pr-4 text-xs text-gray-500 sm:table-cell",children:[_d(m.agent_id??m.session_id),!m.agent_id&&m.session_source&&x.jsx("span",{className:"ml-1.5 rounded bg-gray-100 px-1 py-0.5 text-[10px] text-gray-500",children:m.session_source})]}),x.jsx("td",{className:"hidden py-2.5 pr-4 text-xs text-gray-500 md:table-cell",children:typeof((v=m.metadata)==null?void 0:v.channel_id)=="string"?m.metadata.channel_id:"—"}),x.jsx("td",{className:"hidden py-2.5 pr-4 text-xs text-gray-500 md:table-cell",children:typeof((b=m.metadata)==null?void 0:b.sender_id)=="string"?m.metadata.sender_id:"—"}),x.jsx("td",{className:"py-2.5 pr-4 text-right text-xs tabular-nums text-gray-500",children:yr(m.total_duration_ms)}),x.jsx("td",{className:"py-2.5",children:m.flagged_destructive&&x.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-red-400",title:"Destructive"})})]},m.id)})})]})}),r>0&&x.jsxs("div",{className:"flex items-center justify-between border-t border-gray-200 pt-3 mt-auto",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("button",{type:"button",disabled:n<=1,onClick:()=>{f(n-1)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-40",children:"Previous"}),x.jsxs("span",{className:"text-xs text-gray-500",children:["Page ",n," of ",r]}),x.jsx("button",{type:"button",disabled:n>=r,onClick:()=>{f(n+1)},className:"rounded-md border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-40",children:"Next"})]}),x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("span",{className:"text-xs text-gray-500",children:"Rows per page"}),x.jsx("select",{value:l,onChange:m=>{d(Number(m.target.value))},className:"rounded-md border border-gray-200 bg-white px-2 py-1 text-xs text-gray-600 focus:border-gray-300 focus:outline-none",children:J4.map(m=>x.jsx("option",{value:m,children:m},m))})]})]})]})}function tL(e){if(!e||typeof e!="object")return!1;const t=e;return Array.isArray(t.found)&&Array.isArray(t.missing)&&Array.isArray(t.expired)}function nL(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.satisfied=="boolean"&&Array.isArray(t.missing)}function rL(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.current=="number"&&typeof t.limit=="number"}function aL(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.current_spend=="number"&&typeof t.limit=="number"}function iL(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.reason=="string"&&typeof t.invoked_by=="string"}function lL(e){if(!e||typeof e!="object")return!1;const t=e;return!(typeof t.ticket_id!="string"||t.denial_reason!==void 0&&typeof t.denial_reason!="string"||t.escalated_at!==void 0&&typeof t.escalated_at!="string"||t.escalated_to!==void 0&&!(Array.isArray(t.escalated_to)&&t.escalated_to.every(n=>typeof n=="string")))}function uL(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.unresolved=="boolean"&&typeof t.tried=="string"}function Vv(){return x.jsx("svg",{className:"h-4 w-4 shrink-0 text-emerald-600",viewBox:"0 0 20 20",fill:"currentColor",children:x.jsx("path",{fillRule:"evenodd",d:"M16.704 4.153a.75.75 0 0 1 .143 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 0 1 1.05-.143Z",clipRule:"evenodd"})})}function Xv(){return x.jsx("svg",{className:"h-4 w-4 shrink-0 text-red-600",viewBox:"0 0 20 20",fill:"currentColor",children:x.jsx("path",{d:"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z"})})}function oL(){return x.jsx("svg",{className:"h-4 w-4 shrink-0 text-amber-600",viewBox:"0 0 20 20",fill:"currentColor",children:x.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm.75-13a.75.75 0 0 0-1.5 0v5c0 .414.336.75.75.75h4a.75.75 0 0 0 0-1.5h-3.25V5Z",clipRule:"evenodd"})})}function sL({chain:e}){if(!e)return null;const t=tL(e.evidence)?e.evidence:null,n=nL(e.dependencies)?e.dependencies:null,r=rL(e.rate_limit)?e.rate_limit:null,l=aL(e.spend_limit)?e.spend_limit:null,u=iL(e.break_glass)?e.break_glass:null,s=lL(e.approval)?e.approval:null,f=uL(e.session)?e.session:null;return t||n||r||l||u||s||f?x.jsxs("div",{className:"space-y-3",children:[f&&x.jsxs("div",{children:[x.jsx("p",{className:"mb-1.5 text-xs font-medium text-gray-500",children:"Session Identity"}),x.jsxs("div",{className:"flex items-center gap-2",children:[f.unresolved?x.jsx(Xv,{}):x.jsx(Vv,{}),x.jsxs("span",{className:"text-xs text-gray-700",children:[f.unresolved?"Unresolved":"Resolved"," (tried: ",f.tried,")"]})]})]}),t&&(t.found.length>0||t.missing.length>0||t.expired.length>0)&&x.jsxs("div",{children:[x.jsx("p",{className:"mb-1.5 text-xs font-medium text-gray-500",children:"Evidence"}),x.jsxs("div",{className:"space-y-1",children:[t.found.map(h=>x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(Vv,{}),x.jsx("span",{className:"text-xs text-emerald-700",children:h})]},`f-${h}`)),t.missing.map(h=>x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(Xv,{}),x.jsx("span",{className:"text-xs text-red-700",children:h})]},`m-${h}`)),t.expired.map(h=>x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(oL,{}),x.jsx("span",{className:"text-xs text-amber-600",children:h})]},`e-${h}`))]})]}),n&&x.jsxs("div",{children:[x.jsx("p",{className:"mb-1.5 text-xs font-medium text-gray-500",children:"Dependencies"}),n.satisfied?x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(Vv,{}),x.jsx("span",{className:"text-xs text-emerald-700",children:"All dependencies satisfied"})]}):x.jsx("div",{className:"space-y-1",children:n.missing.map(h=>x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx(Xv,{}),x.jsx("span",{className:"text-xs text-red-700",children:h})]},h))})]}),r&&x.jsxs("div",{children:[x.jsx("p",{className:"mb-1.5 text-xs font-medium text-gray-500",children:"Rate Limit"}),x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:`h-full rounded-full ${Lo(r.current,r.limit)}`,style:{width:`${String(zo(r.current,r.limit))}%`}})}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[r.current," / ",r.limit," calls"]})]})]}),l&&x.jsxs("div",{children:[x.jsx("p",{className:"mb-1.5 text-xs font-medium text-gray-500",children:"Spend Limit"}),x.jsxs("div",{className:"flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:`h-full rounded-full ${Lo(l.current_spend,l.limit)}`,style:{width:`${String(zo(l.current_spend,l.limit))}%`}})}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[l.current_spend," / ",l.limit]})]})]}),u&&x.jsxs("div",{className:"rounded-md border border-amber-200 bg-amber-50 p-3",children:[x.jsx("p",{className:"text-xs font-medium text-amber-800",children:"Break-Glass Override"}),x.jsxs("p",{className:"mt-1 text-xs text-amber-700",children:[x.jsx("span",{className:"font-medium",children:"Reason:"})," ",u.reason]}),x.jsxs("p",{className:"text-xs text-amber-700",children:[x.jsx("span",{className:"font-medium",children:"Invoked by:"})," ",u.invoked_by]})]}),s&&x.jsxs("div",{className:"rounded-md border border-gray-200 bg-gray-50 p-3",children:[x.jsx("p",{className:"text-xs font-medium text-gray-700",children:"Approval"}),s.denial_reason&&x.jsxs("p",{className:"mt-1 text-xs text-gray-600",children:[x.jsx("span",{className:"font-medium",children:"Denial reason:"})," ",s.denial_reason]}),s.escalated_at&&x.jsxs("p",{className:"mt-1 text-xs text-gray-600",children:[x.jsx("span",{className:"font-medium",children:"Escalated:"})," ",s.escalated_at,s.escalated_to&&s.escalated_to.length>0?` to ${s.escalated_to.join(", ")}`:""]}),x.jsxs("p",{className:"mt-1 text-xs text-gray-400",children:["Ticket ",s.ticket_id]})]})]}):null}function cL({selectedRecord:e,detailLoading:t,detailError:n,onClose:r}){var d;const l=e?Sf(e.tool_input):null,u=(e==null?void 0:e.upstream_response)!=null?Sf(e.upstream_response):null,s=(d=e==null?void 0:e.evidence_chain)==null?void 0:d.session,f=s&&typeof s=="object"&&"tried"in s?String(s.tried):null;return x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"fixed inset-0 z-40 bg-black/10",onClick:r,role:"button",tabIndex:-1,"aria-label":"Close detail panel"}),x.jsxs("div",{role:"dialog","aria-label":"Audit record details",className:"fixed inset-y-0 right-0 z-50 w-full max-w-[480px] overflow-y-auto border-l border-gray-200 bg-white shadow-lg",children:[x.jsxs("div",{className:"flex items-center justify-between border-b border-gray-200 px-4 py-3",children:[x.jsxs("div",{className:"min-w-0",children:[x.jsx("h2",{className:"truncate font-mono text-sm font-semibold text-gray-900",children:(e==null?void 0:e.tool_name)??"Loading…"}),e&&x.jsx("p",{className:"text-xs text-gray-500",children:tr(e.timestamp)})]}),x.jsx("button",{type:"button",onClick:r,className:"ml-3 shrink-0 rounded-md p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600","aria-label":"Close",children:x.jsx("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18 18 6M6 6l12 12"})})})]}),x.jsxs("div",{className:"px-4 py-4",children:[t&&!e&&x.jsxs("div",{className:"space-y-3",children:[x.jsx("div",{className:"h-4 w-1/3 animate-pulse rounded bg-gray-100"}),x.jsx("div",{className:"h-24 animate-pulse rounded bg-gray-100"}),x.jsx("div",{className:"h-4 w-1/4 animate-pulse rounded bg-gray-100"}),x.jsx("div",{className:"h-16 animate-pulse rounded bg-gray-100"})]}),e&&x.jsxs("div",{className:"space-y-4 text-sm",children:[x.jsx(Ee,{label:"Decision",children:x.jsx(Ug,{policyDecision:e.policy_decision,blockReason:e.block_reason,approvalStatus:e.approval_status,dryRun:e.dry_run,showContext:!0})}),e.upstream&&x.jsx(Ee,{label:"Upstream",children:x.jsx("span",{className:"font-mono text-xs",children:e.upstream})}),x.jsx(Ee,{label:"Session",children:e.session_id?x.jsxs("div",{className:"text-xs",children:[x.jsx("span",{className:"font-mono",children:e.session_id}),e.session_source&&x.jsxs("span",{className:"ml-2 text-gray-500",children:["via ",e.session_source]})]}):x.jsx("span",{className:"text-xs text-gray-500",children:f?`Unresolved (tried: ${f})`:"None"})}),e.protocol_version&&x.jsx(Ee,{label:"Protocol",children:x.jsx("span",{className:"font-mono text-xs",children:e.protocol_version})}),x.jsxs(Ee,{label:"Input Parameters",children:[x.jsx("pre",{className:"max-h-64 overflow-auto whitespace-pre-wrap wrap-break-word rounded bg-gray-50 p-2 text-xs",children:l==null?void 0:l.text}),(l==null?void 0:l.truncated)&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Input payload preview is truncated for readability."})]}),e.evidence_chain&&x.jsx(Ee,{label:"Evidence Chain",children:x.jsx(sL,{chain:e.evidence_chain})}),e.matched_rule&&x.jsx(Ee,{label:"Matched Rule",children:x.jsx("span",{className:"font-mono text-xs",children:e.matched_rule})}),e.approval_status&&x.jsx(Ee,{label:"Approval",children:x.jsxs("span",{className:"text-xs",children:[e.approval_status,e.approved_by?` by ${e.approved_by}`:""]})}),e.upstream_response!=null&&x.jsxs(Ee,{label:"Upstream Response",children:[x.jsx("pre",{"data-testid":"upstream-response-json",className:"max-h-64 overflow-auto whitespace-pre-wrap wrap-break-word rounded bg-gray-50 p-2 text-xs",children:u==null?void 0:u.text}),(u==null?void 0:u.truncated)&&x.jsx("p",{className:"mt-1 text-[11px] text-amber-700",children:"Upstream response preview is truncated for readability."})]}),e.upstream_error&&x.jsx(Ee,{label:"Upstream Error",children:x.jsx("span",{className:"text-xs text-red-600 whitespace-pre-wrap wrap-break-word",children:g4(e.upstream_error)})}),x.jsx(Ee,{label:"Duration",children:x.jsxs("div",{className:"space-y-0.5 text-xs tabular-nums text-gray-600",children:[x.jsxs("p",{children:["Total: ",yr(e.total_duration_ms)]}),x.jsxs("p",{children:["Proxy compute: ",yr(e.proxy_compute_ms)]}),e.approval_wait_ms>0&&x.jsxs("p",{children:["Approval wait: ",yr(e.approval_wait_ms)]}),e.upstream_latency_ms!=null&&x.jsxs("p",{children:["Upstream: ",yr(e.upstream_latency_ms)]})]})}),(e.flagged_destructive||e.dry_run)&&x.jsx(Ee,{label:"Flags",children:x.jsxs("div",{className:"flex gap-2",children:[e.flagged_destructive&&x.jsx("span",{className:"inline-flex items-center rounded-md bg-red-50 px-2 py-1 text-xs font-medium text-red-700 ring-1 ring-inset ring-red-600/20",children:"Destructive"}),e.dry_run&&x.jsx("span",{className:"inline-flex items-center rounded-md bg-blue-50 px-2 py-1 text-xs font-medium text-blue-700 ring-1 ring-inset ring-blue-600/20",children:"Dry Run"})]})})]}),!t&&!e&&n&&x.jsx("p",{className:"text-xs text-red-600",children:n})]})]})]})}function fL(){const{data:e,loading:t,error:n,filters:r,page:l,limit:u,setFilter:s,setBulkFilters:f,setPage:d,setLimit:h,refetch:m}=F4(),{subscribe:v}=fu(),[b,S]=y.useState(0);y.useEffect(()=>v("action",()=>{S(X=>X+1)}),[v]);const O=y.useCallback(()=>{S(0),m()},[m]),[_,w]=y.useState(null),[j,A]=y.useState(null),[N,T]=y.useState(!1),[P,M]=y.useState(null),R=y.useCallback(X=>{if(_===X){w(null),A(null);return}w(X),A(null),M(null),T(!0),eC(X).then(U=>{w(se=>(se===X&&(A(U),T(!1)),se))}).catch(U=>{w(se=>(se===X&&(T(!1),M(U instanceof Error?U.message:"Failed to load record details")),se))})},[_]),I=y.useCallback(()=>{w(null),A(null)},[]);y.useEffect(()=>{if(!_)return;const X=U=>{U.key==="Escape"&&I()};return document.addEventListener("keydown",X),()=>{document.removeEventListener("keydown",X)}},[_,I]);const q=e?Math.ceil(e.total/u):0,W=(e==null?void 0:e.data)??[];return t&&!e?x.jsx("div",{className:"flex h-full flex-col gap-3",children:Array.from({length:4},(X,U)=>x.jsx("div",{className:"h-12 animate-pulse rounded-md bg-gray-100"},U))}):n&&!e?x.jsx(Ii,{error:n}):x.jsxs("div",{className:"flex h-full flex-col",children:[x.jsxs("div",{className:"mb-4",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Audit Log"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Searchable history of all tool calls"})]}),b>0&&x.jsxs("button",{type:"button",onClick:O,className:"mb-3 w-full rounded-md bg-blue-50 px-3 py-2 text-center text-sm font-medium text-blue-700 transition-colors hover:bg-blue-100",children:[b," new ",b===1?"record":"records"," available — click to refresh"]}),x.jsx(Q4,{filters:r,setFilter:s,setBulkFilters:f,hasAttributedRows:W.some(X=>X.upstream!=null)}),W.length===0&&!t&&x.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 0 0-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75 2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15a2.25 2.25 0 0 1 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25ZM6.75 12h.008v.008H6.75V12Zm0 3h.008v.008H6.75V15Zm0 3h.008v.008H6.75V18Z"})}),e&&e.total===0&&!r.tool&&!r.decision&&!r.reason&&!r.session&&!r.from&&!r.to&&!r.upstream_status_min&&!r.upstream_status_max&&!r.origin&&!r.record_kind&&!r.channel&&!r.sender&&!r.upstream&&!r.session_source?x.jsxs(x.Fragment,{children:[x.jsx("p",{className:"text-sm font-medium",children:"No audit records yet"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Start sending tool calls through Helio"})]}):x.jsx("p",{className:"text-sm font-medium",children:"No records match the current filters"})]}),x.jsx(eL,{records:W,selectedId:_,page:l,totalPages:q,limit:u,loading:!!(t&&e),onRowClick:R,onPageChange:d,onLimitChange:h}),_&&x.jsx(cL,{selectedRecord:j,detailLoading:N,detailError:P,onClose:I})]})}const yO=5e3,dL=1e3,hL=1e4;function cC(e){if(e>=Io){const n=Math.round(e/Io);return`${String(n)}d`}if(e>=wf){const n=Math.round(e/wf);return`${String(n)}h`}const t=Math.round(e/uC);return`${String(t)}m`}function mL(e){const t=/^upstream:([^:]+):/.exec(e);return(t==null?void 0:t[1])??null}function fC(e,t=!1){const n=/^upstream:([^:]+):tool:(.*)$/.exec(e);if(n){const[,l,u]=n;if(l!==void 0&&u!==void 0)return{type:"tool",name:t?u:`${u} (${l})`}}const r=e.indexOf(":");return r===-1?{type:"",name:e}:{type:e.slice(0,r),name:e.slice(r+1)}}function gO(e){const t=[],n=new Map;for(const r of e){const l=mL(r.key);if(l===null)t.push(r);else{const u=n.get(l)??[];u.push(r),n.set(l,u)}}return{base:t,doors:[...n.entries()].sort(([r],[l])=>r.localeCompare(l))}}function vL(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[l,u]=y.useState(null),[s,f]=y.useState(Date.now()),[d,h]=y.useState(new Set),m=y.useRef(null),v=y.useRef(new Set),{subscribe:b}=fu(),S=y.useCallback(A=>{a4().then(N=>{t(N),u(null),A&&r(!1)}).catch(N=>{A&&(u(N instanceof Error?N.message:"Failed to load limits"),r(!1))})},[]);if(y.useEffect(()=>(S(!0),m.current=setInterval(()=>{S(!1)},yO),()=>{m.current&&clearInterval(m.current)}),[S]),y.useEffect(()=>{const A=v.current,N=b("limit_warning",T=>{h(M=>new Set(M).add(T.key));const P=setTimeout(()=>{h(M=>{const R=new Set(M);return R.delete(T.key),R}),A.delete(P)},hL);A.add(P),S(!1),m.current&&clearInterval(m.current),m.current=setInterval(()=>{S(!1)},yO)});return()=>{N();for(const T of A)clearTimeout(T);A.clear()}},[b,S]),y.useEffect(()=>{const A=setInterval(()=>{f(Date.now())},dL);return()=>{clearInterval(A)}},[]),n)return x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:Array.from({length:6},(A,N)=>x.jsx("div",{className:"h-24 animate-pulse rounded-md bg-gray-100"},N))});if(l)return x.jsx(Ii,{error:l});const O=(e==null?void 0:e.rate_limits)??[],_=(e==null?void 0:e.spend_limits)??[],w=gO(O),j=gO(_);return O.length===0&&_.length===0?x.jsxs("div",{className:"flex h-full flex-col",children:[x.jsxs("div",{className:"mb-4",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Rate & Spend Limits"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Current usage against configured limits"})]}),x.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"})}),x.jsx("p",{className:"text-sm font-medium",children:"No active limits configured"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Add rate or spend limits to your policy"})]})]}):x.jsxs("div",{className:"flex h-full flex-col gap-6 overflow-y-auto",children:[x.jsxs("div",{children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Rate & Spend Limits"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Current usage against configured limits"})]}),x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Rate Limits"}),O.length===0?x.jsx("p",{className:"text-sm text-gray-500",children:"No rate limits configured"}):x.jsxs(x.Fragment,{children:[w.base.length>0&&x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:w.base.map(A=>x.jsx(bO,{state:A,now:s,highlighted:d.has(A.key)},A.key))}),w.doors.map(([A,N],T)=>x.jsxs("div",{className:T>0||w.base.length>0?"mt-4":"",children:[x.jsx("h3",{className:"mb-2 font-mono text-xs font-medium text-gray-400",children:A}),x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:N.map(P=>x.jsx(bO,{state:P,now:s,highlighted:d.has(P.key),grouped:!0},P.key))})]},A))]})]}),x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Spend Limits"}),_.length===0?x.jsx("p",{className:"text-sm text-gray-500",children:"No spend limits configured"}):x.jsxs(x.Fragment,{children:[j.base.length>0&&x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:j.base.map(A=>x.jsx(xO,{state:A,now:s,highlighted:d.has(A.key)},A.key))}),j.doors.map(([A,N],T)=>x.jsxs("div",{className:T>0||j.base.length>0?"mt-4":"",children:[x.jsx("h3",{className:"mb-2 font-mono text-xs font-medium text-gray-400",children:A}),x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:N.map(P=>x.jsx(xO,{state:P,now:s,highlighted:d.has(P.key),grouped:!0},P.key))})]},A))]})]})]})}function bO({state:e,now:t,highlighted:n,grouped:r=!1}){const{type:l,name:u}=fC(e.key,r),s=e.reset_at_ms-t,f=zo(e.current,e.limit);return x.jsxs("div",{className:`rounded-md border bg-white p-4 transition-shadow ${n?"ring-2 ring-amber-300 border-amber-200":"border-gray-200"}`,children:[x.jsxs("div",{className:"mb-3 flex items-center justify-between gap-2",children:[x.jsxs("div",{className:"min-w-0",children:[l&&x.jsx("span",{className:"mr-1 text-xs text-gray-400",children:l}),x.jsx("span",{className:"font-mono text-sm text-gray-900",children:u})]}),x.jsx("span",{className:"shrink-0 rounded bg-gray-100 px-1.5 py-0.5 text-xs text-gray-500",children:cC(e.window_ms)})]}),x.jsxs("div",{className:"mb-2 flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:`h-full rounded-full transition-all ${Lo(e.current,e.limit)}`,style:{width:`${String(f)}%`}})}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[e.current," / ",e.limit," calls"]})]}),x.jsx("p",{className:"text-xs text-gray-500",children:s>0?`Resets in ${Ed(s)}`:e.current>0?"Expired":"No active window"})]})}function xO({state:e,now:t,highlighted:n,grouped:r=!1}){const{type:l,name:u}=fC(e.key,r),s=e.reset_at_ms-t,f=zo(e.current_spend,e.limit);return x.jsxs("div",{className:`rounded-md border bg-white p-4 transition-shadow ${n?"ring-2 ring-amber-300 border-amber-200":"border-gray-200"}`,children:[x.jsxs("div",{className:"mb-3 flex items-center justify-between gap-2",children:[x.jsxs("div",{className:"min-w-0",children:[l&&x.jsx("span",{className:"mr-1 text-xs text-gray-400",children:l}),x.jsx("span",{className:"font-mono text-sm text-gray-900",children:u})]}),x.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[x.jsx("span",{className:"text-xs font-medium text-gray-400",children:e.currency}),x.jsx("span",{className:"rounded bg-gray-100 px-1.5 py-0.5 text-xs text-gray-500",children:cC(e.window_ms)})]})]}),x.jsxs("div",{className:"mb-2 flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:`h-full rounded-full transition-all ${Lo(e.current_spend,e.limit)}`,style:{width:`${String(f)}%`}})}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[zi(e.current_spend,e.currency)," /"," ",zi(e.limit,e.currency)]})]}),x.jsx("p",{className:"text-xs text-gray-500",children:s>0?`Resets in ${Ed(s)}`:e.current_spend>0?"Expired":"No active window"})]})}const pL=5e3,yL=1e3,gL=1e4,SO=20,bL=15e3;function xL(e,t){const n=`budget:${e}:`;return t.startsWith(n)?t.slice(n.length):t}function SL(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[l,u]=y.useState(null),[s,f]=y.useState(Date.now()),[d,h]=y.useState(new Set),[m,v]=y.useState(new Map),b=y.useRef(null),S=y.useRef(new Map),O=y.useRef(m);O.current=m;const _=y.useRef(0),w=y.useRef(0),j=y.useRef(0),A=y.useRef(new Map),N=y.useRef(null),T=y.useRef({inFlight:!1,trailing:null}),P=y.useRef(new Set),M=y.useRef(!1),{subscribe:R}=fu(),I=y.useCallback(F=>{const J=++_.current;return(F?cO({signal:F}):cO()).then(z=>{if(J<=w.current)return;w.current=J,t(z.budgets),u(null),r(!1);const V=new Set(z.budgets.map(le=>le.name));N.current=V;const ne=new Set([...O.current.keys(),...A.current.keys()]);for(const le of ne)V.has(le)||A.current.set(le,j.current);v(le=>{if(![...le.keys()].some(D=>!V.has(D)))return le;const Q=new Map(le);for(const D of le.keys())V.has(D)||Q.delete(D);return Q})}).catch(z=>{w.current>0||(u(z instanceof Error?z.message:"Failed to load budgets"),r(!1))})},[]),q=y.useCallback((F,J)=>{if(N.current&&!N.current.has(F))return Promise.resolve();const z=++j.current,V=()=>z>(A.current.get(F)??0);return v(ne=>{var le,Q;return new Map(ne).set(F,{loading:!0,events:((le=ne.get(F))==null?void 0:le.events)??[],total:((Q=ne.get(F))==null?void 0:Q.total)??0,error:null})}),(J?fO(F,{limit:SO},{signal:J}):fO(F,{limit:SO})).then(ne=>{V()&&(A.current.set(F,z),v(le=>le.has(F)?new Map(le).set(F,{loading:!1,events:ne.data,total:ne.total,error:null}):le))}).catch(ne=>{V()&&v(le=>{const Q=le.get(F);return Q?new Map(le).set(F,{loading:!1,events:Q.events,total:Q.total,error:Q.events.length>0?null:ne instanceof Error?ne.message:"Failed to load events"}):le})})},[]),W=y.useCallback(F=>{const J=T.current;if(J.inFlight){J.trailing=new Set([...J.trailing??[],...F]);return}const z=V=>{J.inFlight=!0;const ne=new AbortController;P.current.add(ne);const le=[I(ne.signal)];for(const K of V)O.current.has(K)&&le.push(q(K,ne.signal));let Q;const D=new Promise(K=>{Q=setTimeout(()=>{ne.abort(),K()},bL)});Promise.race([Promise.allSettled(le),D]).then(()=>{Q&&clearTimeout(Q),P.current.delete(ne),J.inFlight=!1;const K=J.trailing;J.trailing=null,K&&!M.current&&z(K)})};z(F)},[I,q]),X=y.useCallback(()=>{W(new Set(O.current.keys()))},[W]),U=y.useCallback(F=>{if(O.current.has(F)){A.current.set(F,j.current),v(J=>{const z=new Map(J);return z.delete(F),z});return}q(F)},[q]);if(y.useEffect(()=>{const F=P.current;return M.current=!1,I(),b.current=setInterval(X,pL),()=>{M.current=!0,b.current&&clearInterval(b.current);for(const J of F)J.abort();F.clear()}},[I,X]),y.useEffect(()=>{const F=S.current,J=ne=>{h(D=>new Set(D).add(ne));const le=F.get(ne);le&&clearTimeout(le);const Q=setTimeout(()=>{h(D=>{const K=new Set(D);return K.delete(ne),K}),F.delete(ne)},gL);F.set(ne,Q),W(new Set([ne]))},z=R("budget_update",ne=>{J(ne.name)}),V=R("budget_breached",ne=>{J(ne.name)});return()=>{z(),V();for(const ne of F.values())clearTimeout(ne);F.clear()}},[R,W]),y.useEffect(()=>{const F=setInterval(()=>{f(Date.now())},yL);return()=>{clearInterval(F)}},[]),n)return x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:Array.from({length:6},(F,J)=>x.jsx("div",{className:"h-32 animate-pulse rounded-md bg-gray-100"},J))});if(l)return x.jsx(Ii,{error:l});const se=e??[];return se.length===0?x.jsxs("div",{className:"flex h-full flex-col",children:[x.jsxs("div",{className:"mb-4",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Budgets"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Cumulative cross-tool spend across your budgets"})]}),x.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsx("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.25 18.75a60.07 60.07 0 0 1 15.797 2.101c.727.198 1.453-.342 1.453-1.096V18.75M3.75 4.5v.75A.75.75 0 0 1 3 6h-.75m0 0v-.375c0-.621.504-1.125 1.125-1.125H20.25M2.25 6v9m18-10.5v.75c0 .414.336.75.75.75h.75m-1.5-1.5h.375c.621 0 1.125.504 1.125 1.125v9.75c0 .621-.504 1.125-1.125 1.125h-.375m1.5-1.5H21a.75.75 0 0 0-.75.75v.75m0 0H3.75m0 0h-.375a1.125 1.125 0 0 1-1.125-1.125V15m1.5 1.5v-.75A.75.75 0 0 0 3 15h-.75M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm3 0h.008v.008H18V10.5Zm-12 0h.008v.008H6V10.5Z"})}),x.jsx("p",{className:"text-sm font-medium",children:"No budgets configured"}),x.jsxs("p",{className:"text-xs text-gray-400",children:["Add a top-level ",x.jsx("code",{children:"budgets"})," section to your Helio config"]})]})]}):x.jsxs("div",{className:"flex h-full flex-col gap-6 overflow-y-auto",children:[x.jsxs("div",{children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Budgets"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Cumulative cross-tool spend across your budgets"})]}),x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:se.map(F=>x.jsx(wL,{budget:F,now:s,highlighted:d.has(F.name),panel:m.get(F.name),onToggleEvents:()=>{U(F.name)}},F.name))})]})}function wL({budget:e,now:t,highlighted:n,panel:r,onToggleEvents:l}){const[u,s]=y.useState(!1),[f,d]=y.useState(null),h=y.useCallback(async m=>{d(null),s(!0);try{const v=await fetch(`/api/budgets/${encodeURIComponent(e.name)}/events/export?format=${m}`);if(!v.ok){const _=await v.text().catch(()=>"");throw new Error(_||`Export failed (${String(v.status)})`)}const b=await v.blob(),S=URL.createObjectURL(b),O=document.createElement("a");O.href=S,O.download=`helio-budget-${e.name}-events.${m}`,document.body.appendChild(O),O.click(),document.body.removeChild(O),URL.revokeObjectURL(S)}catch(v){d(v instanceof Error?v.message:"Failed to export events")}finally{s(!1)}},[e.name]);return x.jsxs("div",{className:`rounded-md border bg-white p-4 transition-shadow ${n?"ring-2 ring-amber-300 border-amber-200":"border-gray-200"}`,children:[x.jsxs("div",{className:"mb-3 flex items-center justify-between gap-2",children:[x.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[x.jsx("span",{className:"truncate font-mono text-sm text-gray-900",children:e.name}),e.on_exceed==="require_approval"&&x.jsx("span",{className:"shrink-0 rounded bg-amber-50 px-1.5 py-0.5 text-xs text-amber-700",children:"break-glass"})]}),x.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[x.jsx("span",{className:"text-xs font-medium text-gray-400",children:e.currency}),x.jsx("span",{className:"rounded bg-gray-100 px-1.5 py-0.5 text-xs text-gray-500",children:e.window})]})]}),e.buckets.length===0?x.jsxs("div",{className:"mb-2",children:[x.jsxs("div",{className:"mb-2 flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100"}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[zi(0,e.currency)," / ",zi(e.limit,e.currency)]})]}),x.jsx("p",{className:"text-xs text-gray-500",children:"No spend yet — full headroom"})]}):x.jsx("div",{className:"flex flex-col gap-2",children:e.buckets.map(m=>x.jsx(OL,{budget:e,bucket:m,now:t},m.bucket_key))}),x.jsxs("div",{className:"mt-3 flex items-center justify-between gap-2",children:[x.jsx("button",{type:"button",onClick:l,className:"text-xs font-medium text-blue-600 hover:text-blue-500",children:r?"Hide recent events":"Recent events"}),x.jsxs("div",{className:"flex shrink-0 items-center gap-1.5 text-xs",children:[x.jsx("span",{className:"text-gray-400",children:"Export"}),x.jsx("button",{type:"button",disabled:u,"aria-label":`Export ${e.name} events as CSV`,onClick:()=>{h("csv")},className:"font-medium text-blue-600 hover:text-blue-500 disabled:text-gray-300",children:"CSV"}),x.jsx("button",{type:"button",disabled:u,"aria-label":`Export ${e.name} events as JSON`,onClick:()=>{h("json")},className:"font-medium text-blue-600 hover:text-blue-500 disabled:text-gray-300",children:"JSON"})]})]}),f&&x.jsx("p",{className:"mt-1 text-xs text-red-600",children:f}),r&&x.jsx(_L,{panel:r})]})}function OL({budget:e,bucket:t,now:n}){const r=xL(e.name,t.bucket_key),l=zo(t.spent,e.limit),u=t.reset_at_ms===null?null:t.reset_at_ms-n;return x.jsxs("div",{children:[r!=="global"&&x.jsx("p",{className:"mb-1 font-mono text-xs text-gray-400",children:r}),x.jsxs("div",{className:"mb-1 flex items-center gap-3",children:[x.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-gray-100",children:x.jsx("div",{className:`h-full rounded-full transition-all ${Lo(t.spent,e.limit)}`,style:{width:`${String(l)}%`}})}),x.jsxs("span",{className:"shrink-0 text-xs tabular-nums text-gray-600",children:[zi(t.spent,e.currency)," /"," ",zi(e.limit,e.currency)]})]}),x.jsx("p",{className:"text-xs text-gray-500",children:u===null?"Session pot — never replenishes":u>0?`Resets in ${Ed(u)}`:"Expired"})]})}function _L({panel:e}){return e.loading&&e.events.length===0?x.jsx("p",{className:"mt-2 text-xs text-gray-400",children:"Loading events…"}):e.error?x.jsx("p",{className:"mt-2 text-xs text-red-600",children:e.error}):e.events.length===0?x.jsx("p",{className:"mt-2 text-xs text-gray-400",children:"No spend recorded yet"}):x.jsxs("div",{className:"mt-2 flex flex-col gap-1",children:[e.events.map(t=>x.jsxs("div",{className:"flex items-center justify-between gap-2 text-xs",children:[x.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[x.jsx("span",{className:"truncate font-mono text-gray-700",children:t.tool_name}),t.upstream&&x.jsxs("span",{className:"shrink-0 text-gray-400",children:["(",t.upstream,")"]}),x.jsx(EL,{kind:t.kind})]}),x.jsxs("div",{className:"flex shrink-0 items-center gap-2 text-gray-500",children:[x.jsx("span",{className:"tabular-nums",children:zi(t.amount,t.currency)}),x.jsx("span",{className:"text-gray-400",children:new Date(t.timestamp).toLocaleTimeString()})]})]},t.id)),e.total>e.events.length&&x.jsxs("p",{className:"mt-1 text-xs text-gray-400",children:["…and ",e.total-e.events.length," more in the ledger"]})]})}function EL({kind:e}){return e==="approved_overage"?x.jsx("span",{className:"shrink-0 rounded bg-amber-100 px-1.5 py-0.5 font-medium text-amber-800",children:"approved overage"}):x.jsx("span",{className:"shrink-0 rounded bg-gray-100 px-1.5 py-0.5 text-gray-600",children:"spend"})}function dC(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(t=0;t<l;t++)e[t]&&(n=dC(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Ie(){for(var e,t,n=0,r="",l=arguments.length;n<l;n++)(e=arguments[n])&&(t=dC(e))&&(r&&(r+=" "),r+=t);return r}var jL=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function $g(e){if(typeof e!="string")return!1;var t=jL;return t.includes(e)}var AL=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],CL=new Set(AL);function hC(e){return typeof e!="string"?!1:CL.has(e)}function mC(e){return typeof e=="string"&&e.startsWith("data-")}function pn(e){if(typeof e!="object"||e===null)return{};var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(hC(n)||mC(n))&&(t[n]=e[n]);return t}function Bi(e){if(e==null)return null;if(y.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return pn(t)}return typeof e=="object"&&!Array.isArray(e)?pn(e):null}function rn(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(hC(n)||mC(n)||$g(n))&&(t[n]=e[n]);return t}function TL(e){return e==null?null:y.isValidElement(e)?rn(e.props):typeof e=="object"&&!Array.isArray(e)?rn(e):null}var NL=["children","width","height","viewBox","className","style","title","desc"];function Py(){return Py=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Py.apply(null,arguments)}function PL(e,t){if(e==null)return{};var n,r,l=ML(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function ML(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var qg=y.forwardRef((e,t)=>{var{children:n,width:r,height:l,viewBox:u,className:s,style:f,title:d,desc:h}=e,m=PL(e,NL),v=u||{width:r,height:l,x:0,y:0},b=Ie("recharts-surface",s);return y.createElement("svg",Py({},rn(m),{className:b,width:r,height:l,style:f,viewBox:"".concat(v.x," ").concat(v.y," ").concat(v.width," ").concat(v.height),ref:t}),y.createElement("title",null,d),y.createElement("desc",null,h),n)}),DL=["children","className"];function My(){return My=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},My.apply(null,arguments)}function RL(e,t){if(e==null)return{};var n,r,l=kL(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function kL(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var ht=y.forwardRef((e,t)=>{var{children:n,className:r}=e,l=RL(e,DL),u=Ie("recharts-layer",r);return y.createElement("g",My({className:u},rn(l),{ref:t}),n)}),Hg=C2(),vC=y.createContext(null),LL=()=>y.useContext(vC);function We(e){return function(){return e}}const pC=Math.cos,Of=Math.sin,or=Math.sqrt,_f=Math.PI,jd=2*_f,Dy=Math.PI,Ry=2*Dy,ji=1e-6,zL=Ry-ji;function yC(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function IL(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return yC;const n=10**t;return function(r){this._+=r[0];for(let l=1,u=r.length;l<u;++l)this._+=Math.round(arguments[l]*n)/n+r[l]}}class BL{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?yC:IL(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,l){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+l}`}bezierCurveTo(t,n,r,l,u,s){this._append`C${+t},${+n},${+r},${+l},${this._x1=+u},${this._y1=+s}`}arcTo(t,n,r,l,u){if(t=+t,n=+n,r=+r,l=+l,u=+u,u<0)throw new Error(`negative radius: ${u}`);let s=this._x1,f=this._y1,d=r-t,h=l-n,m=s-t,v=f-n,b=m*m+v*v;if(this._x1===null)this._append`M${this._x1=t},${this._y1=n}`;else if(b>ji)if(!(Math.abs(v*d-h*m)>ji)||!u)this._append`L${this._x1=t},${this._y1=n}`;else{let S=r-s,O=l-f,_=d*d+h*h,w=S*S+O*O,j=Math.sqrt(_),A=Math.sqrt(b),N=u*Math.tan((Dy-Math.acos((_+b-w)/(2*j*A)))/2),T=N/A,P=N/j;Math.abs(T-1)>ji&&this._append`L${t+T*m},${n+T*v}`,this._append`A${u},${u},0,0,${+(v*S>m*O)},${this._x1=t+P*d},${this._y1=n+P*h}`}}arc(t,n,r,l,u,s){if(t=+t,n=+n,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let f=r*Math.cos(l),d=r*Math.sin(l),h=t+f,m=n+d,v=1^s,b=s?l-u:u-l;this._x1===null?this._append`M${h},${m}`:(Math.abs(this._x1-h)>ji||Math.abs(this._y1-m)>ji)&&this._append`L${h},${m}`,r&&(b<0&&(b=b%Ry+Ry),b>zL?this._append`A${r},${r},0,1,${v},${t-f},${n-d}A${r},${r},0,1,${v},${this._x1=h},${this._y1=m}`:b>ji&&this._append`A${r},${r},0,${+(b>=Dy)},${v},${this._x1=t+r*Math.cos(u)},${this._y1=n+r*Math.sin(u)}`)}rect(t,n,r,l){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+l}h${-r}Z`}toString(){return this._}}function Kg(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new BL(t)}function Yg(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function gC(e){this._context=e}gC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Ad(e){return new gC(e)}function bC(e){return e[0]}function xC(e){return e[1]}function SC(e,t){var n=We(!0),r=null,l=Ad,u=null,s=Kg(f);e=typeof e=="function"?e:e===void 0?bC:We(e),t=typeof t=="function"?t:t===void 0?xC:We(t);function f(d){var h,m=(d=Yg(d)).length,v,b=!1,S;for(r==null&&(u=l(S=s())),h=0;h<=m;++h)!(h<m&&n(v=d[h],h,d))===b&&((b=!b)?u.lineStart():u.lineEnd()),b&&u.point(+e(v,h,d),+t(v,h,d));if(S)return u=null,S+""||null}return f.x=function(d){return arguments.length?(e=typeof d=="function"?d:We(+d),f):e},f.y=function(d){return arguments.length?(t=typeof d=="function"?d:We(+d),f):t},f.defined=function(d){return arguments.length?(n=typeof d=="function"?d:We(!!d),f):n},f.curve=function(d){return arguments.length?(l=d,r!=null&&(u=l(r)),f):l},f.context=function(d){return arguments.length?(d==null?r=u=null:u=l(r=d),f):r},f}function Gc(e,t,n){var r=null,l=We(!0),u=null,s=Ad,f=null,d=Kg(h);e=typeof e=="function"?e:e===void 0?bC:We(+e),t=typeof t=="function"?t:We(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?xC:We(+n);function h(v){var b,S,O,_=(v=Yg(v)).length,w,j=!1,A,N=new Array(_),T=new Array(_);for(u==null&&(f=s(A=d())),b=0;b<=_;++b){if(!(b<_&&l(w=v[b],b,v))===j)if(j=!j)S=b,f.areaStart(),f.lineStart();else{for(f.lineEnd(),f.lineStart(),O=b-1;O>=S;--O)f.point(N[O],T[O]);f.lineEnd(),f.areaEnd()}j&&(N[b]=+e(w,b,v),T[b]=+t(w,b,v),f.point(r?+r(w,b,v):N[b],n?+n(w,b,v):T[b]))}if(A)return f=null,A+""||null}function m(){return SC().defined(l).curve(s).context(u)}return h.x=function(v){return arguments.length?(e=typeof v=="function"?v:We(+v),r=null,h):e},h.x0=function(v){return arguments.length?(e=typeof v=="function"?v:We(+v),h):e},h.x1=function(v){return arguments.length?(r=v==null?null:typeof v=="function"?v:We(+v),h):r},h.y=function(v){return arguments.length?(t=typeof v=="function"?v:We(+v),n=null,h):t},h.y0=function(v){return arguments.length?(t=typeof v=="function"?v:We(+v),h):t},h.y1=function(v){return arguments.length?(n=v==null?null:typeof v=="function"?v:We(+v),h):n},h.lineX0=h.lineY0=function(){return m().x(e).y(t)},h.lineY1=function(){return m().x(e).y(n)},h.lineX1=function(){return m().x(r).y(t)},h.defined=function(v){return arguments.length?(l=typeof v=="function"?v:We(!!v),h):l},h.curve=function(v){return arguments.length?(s=v,u!=null&&(f=s(u)),h):s},h.context=function(v){return arguments.length?(v==null?u=f=null:f=s(u=v),h):u},h}class wC{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function UL(e){return new wC(e,!0)}function $L(e){return new wC(e,!1)}const Gg={draw(e,t){const n=or(t/_f);e.moveTo(n,0),e.arc(0,0,n,0,jd)}},qL={draw(e,t){const n=or(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},OC=or(1/3),HL=OC*2,KL={draw(e,t){const n=or(t/HL),r=n*OC;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},YL={draw(e,t){const n=or(t),r=-n/2;e.rect(r,r,n,n)}},GL=.8908130915292852,_C=Of(_f/10)/Of(7*_f/10),VL=Of(jd/10)*_C,XL=-pC(jd/10)*_C,FL={draw(e,t){const n=or(t*GL),r=VL*n,l=XL*n;e.moveTo(0,-n),e.lineTo(r,l);for(let u=1;u<5;++u){const s=jd*u/5,f=pC(s),d=Of(s);e.lineTo(d*n,-f*n),e.lineTo(f*r-d*l,d*r+f*l)}e.closePath()}},Fv=or(3),ZL={draw(e,t){const n=-or(t/(Fv*3));e.moveTo(0,n*2),e.lineTo(-Fv*n,-n),e.lineTo(Fv*n,-n),e.closePath()}},Hn=-.5,Kn=or(3)/2,ky=1/or(12),WL=(ky/2+1)*3,QL={draw(e,t){const n=or(t/WL),r=n/2,l=n*ky,u=r,s=n*ky+n,f=-u,d=s;e.moveTo(r,l),e.lineTo(u,s),e.lineTo(f,d),e.lineTo(Hn*r-Kn*l,Kn*r+Hn*l),e.lineTo(Hn*u-Kn*s,Kn*u+Hn*s),e.lineTo(Hn*f-Kn*d,Kn*f+Hn*d),e.lineTo(Hn*r+Kn*l,Hn*l-Kn*r),e.lineTo(Hn*u+Kn*s,Hn*s-Kn*u),e.lineTo(Hn*f+Kn*d,Hn*d-Kn*f),e.closePath()}};function JL(e,t){let n=null,r=Kg(l);e=typeof e=="function"?e:We(e||Gg),t=typeof t=="function"?t:We(t===void 0?64:+t);function l(){let u;if(n||(n=u=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),u)return n=null,u+""||null}return l.type=function(u){return arguments.length?(e=typeof u=="function"?u:We(u),l):e},l.size=function(u){return arguments.length?(t=typeof u=="function"?u:We(+u),l):t},l.context=function(u){return arguments.length?(n=u??null,l):n},l}function Ef(){}function jf(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function EC(e){this._context=e}EC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:jf(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:jf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function ez(e){return new EC(e)}function jC(e){this._context=e}jC.prototype={areaStart:Ef,areaEnd:Ef,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:jf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function tz(e){return new jC(e)}function AC(e){this._context=e}AC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:jf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function nz(e){return new AC(e)}function CC(e){this._context=e}CC.prototype={areaStart:Ef,areaEnd:Ef,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function rz(e){return new CC(e)}function wO(e){return e<0?-1:1}function OO(e,t,n){var r=e._x1-e._x0,l=t-e._x1,u=(e._y1-e._y0)/(r||l<0&&-0),s=(n-e._y1)/(l||r<0&&-0),f=(u*l+s*r)/(r+l);return(wO(u)+wO(s))*Math.min(Math.abs(u),Math.abs(s),.5*Math.abs(f))||0}function _O(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Zv(e,t,n){var r=e._x0,l=e._y0,u=e._x1,s=e._y1,f=(u-r)/3;e._context.bezierCurveTo(r+f,l+f*t,u-f,s-f*n,u,s)}function Af(e){this._context=e}Af.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Zv(this,this._t0,_O(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Zv(this,_O(this,n=OO(this,e,t)),n);break;default:Zv(this,this._t0,n=OO(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function TC(e){this._context=new NC(e)}(TC.prototype=Object.create(Af.prototype)).point=function(e,t){Af.prototype.point.call(this,t,e)};function NC(e){this._context=e}NC.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,l,u){this._context.bezierCurveTo(t,e,r,n,u,l)}};function az(e){return new Af(e)}function iz(e){return new TC(e)}function PC(e){this._context=e}PC.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=EO(e),l=EO(t),u=0,s=1;s<n;++u,++s)this._context.bezierCurveTo(r[0][u],l[0][u],r[1][u],l[1][u],e[s],t[s]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function EO(e){var t,n=e.length-1,r,l=new Array(n),u=new Array(n),s=new Array(n);for(l[0]=0,u[0]=2,s[0]=e[0]+2*e[1],t=1;t<n-1;++t)l[t]=1,u[t]=4,s[t]=4*e[t]+2*e[t+1];for(l[n-1]=2,u[n-1]=7,s[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=l[t]/u[t-1],u[t]-=r,s[t]-=r*s[t-1];for(l[n-1]=s[n-1]/u[n-1],t=n-2;t>=0;--t)l[t]=(s[t]-l[t+1])/u[t];for(u[n-1]=(e[n]+l[n-1])/2,t=0;t<n-1;++t)u[t]=2*e[t+1]-l[t+1];return[l,u]}function lz(e){return new PC(e)}function Cd(e,t){this._context=e,this._t=t}Cd.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function uz(e){return new Cd(e,.5)}function oz(e){return new Cd(e,0)}function sz(e){return new Cd(e,1)}function Ui(e,t){if((s=e.length)>1)for(var n=1,r,l,u=e[t[0]],s,f=u.length;n<s;++n)for(l=u,u=e[t[n]],r=0;r<f;++r)u[r][1]+=u[r][0]=isNaN(l[r][1])?l[r][0]:l[r][1]}function Ly(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function cz(e,t){return e[t]}function fz(e){const t=[];return t.key=e,t}function dz(){var e=We([]),t=Ly,n=Ui,r=cz;function l(u){var s=Array.from(e.apply(this,arguments),fz),f,d=s.length,h=-1,m;for(const v of u)for(f=0,++h;f<d;++f)(s[f][h]=[0,+r(v,s[f].key,h,u)]).data=v;for(f=0,m=Yg(t(s));f<d;++f)s[m[f]].index=f;return n(s,m),s}return l.keys=function(u){return arguments.length?(e=typeof u=="function"?u:We(Array.from(u)),l):e},l.value=function(u){return arguments.length?(r=typeof u=="function"?u:We(+u),l):r},l.order=function(u){return arguments.length?(t=u==null?Ly:typeof u=="function"?u:We(Array.from(u)),l):t},l.offset=function(u){return arguments.length?(n=u??Ui,l):n},l}function hz(e,t){if((r=e.length)>0){for(var n,r,l=0,u=e[0].length,s;l<u;++l){for(s=n=0;n<r;++n)s+=e[n][l][1]||0;if(s)for(n=0;n<r;++n)e[n][l][1]/=s}Ui(e,t)}}function mz(e,t){if((l=e.length)>0){for(var n=0,r=e[t[0]],l,u=r.length;n<u;++n){for(var s=0,f=0;s<l;++s)f+=e[s][n][1]||0;r[n][1]+=r[n][0]=-f/2}Ui(e,t)}}function vz(e,t){if(!(!((s=e.length)>0)||!((u=(l=e[t[0]]).length)>0))){for(var n=0,r=1,l,u,s;r<u;++r){for(var f=0,d=0,h=0;f<s;++f){for(var m=e[t[f]],v=m[r][1]||0,b=m[r-1][1]||0,S=(v-b)/2,O=0;O<f;++O){var _=e[t[O]],w=_[r][1]||0,j=_[r-1][1]||0;S+=w-j}d+=v,h+=S*v}l[r-1][1]+=l[r-1][0]=n,d&&(n-=h/d)}l[r-1][1]+=l[r-1][0]=n,Ui(e,t)}}var Wv={},Qv={},jO;function pz(){return jO||(jO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n==="__proto__"}e.isUnsafeProperty=t})(Qv)),Qv}var Jv={},AO;function MC(){return AO||(AO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){switch(typeof n){case"number":case"symbol":return!1;case"string":return n.includes(".")||n.includes("[")||n.includes("]")}}e.isDeepKey=t})(Jv)),Jv}var ep={},CO;function Vg(){return CO||(CO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){var r;return typeof n=="string"||typeof n=="symbol"?n:Object.is((r=n==null?void 0:n.valueOf)==null?void 0:r.call(n),-0)?"-0":String(n)}e.toKey=t})(ep)),ep}var tp={},np={},TO;function yz(){return TO||(TO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){if(n==null)return"";if(typeof n=="string")return n;if(Array.isArray(n))return n.map(t).join(",");const r=String(n);return r==="0"&&Object.is(Number(n),-0)?"-0":r}e.toString=t})(np)),np}var NO;function Xg(){return NO||(NO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=yz(),n=Vg();function r(l){if(Array.isArray(l))return l.map(n.toKey);if(typeof l=="symbol")return[l];l=t.toString(l);const u=[],s=l.length;if(s===0)return u;let f=0,d="",h="",m=!1;for(l.charCodeAt(0)===46&&(u.push(""),f++);f<s;){const v=l[f];h?v==="\\"&&f+1<s?(f++,d+=l[f]):v===h?h="":d+=v:m?v==='"'||v==="'"?h=v:v==="]"?(m=!1,u.push(d),d=""):d+=v:v==="["?(m=!0,d&&(u.push(d),d="")):v==="."?d&&(u.push(d),d=""):d+=v,f++}return d&&u.push(d),u}e.toPath=r})(tp)),tp}var PO;function Fg(){return PO||(PO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=pz(),n=MC(),r=Vg(),l=Xg();function u(f,d,h){if(f==null)return h;switch(typeof d){case"string":{if(t.isUnsafeProperty(d))return h;const m=f[d];return m===void 0?n.isDeepKey(d)?u(f,l.toPath(d),h):h:m}case"number":case"symbol":{typeof d=="number"&&(d=r.toKey(d));const m=f[d];return m===void 0?h:m}default:{if(Array.isArray(d))return s(f,d,h);if(Object.is(d==null?void 0:d.valueOf(),-0)?d="-0":d=String(d),t.isUnsafeProperty(d))return h;const m=f[d];return m===void 0?h:m}}}function s(f,d,h){if(d.length===0)return h;let m=f;for(let v=0;v<d.length;v++){if(m==null||t.isUnsafeProperty(d[v]))return h;m=m[d[v]]}return m===void 0?h:m}e.get=u})(Wv)),Wv}var rp,MO;function gz(){return MO||(MO=1,rp=Fg().get),rp}var bz=gz();const $i=Qa(bz);var xz=4;function Ka(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xz,n=10**t,r=Math.round(e*n)/n;return Object.is(r,-0)?0:r}function dt(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return e.reduce((l,u,s)=>{var f=n[s-1];return typeof f=="string"?l+f+u:f!==void 0?l+Ka(f)+u:l+u},"")}var kt=e=>e===0?0:e>0?1:-1,lr=e=>typeof e=="number"&&e!=+e,qi=e=>typeof e=="string"&&e.indexOf("%")===e.length-1,de=e=>(typeof e=="number"||e instanceof Number)&&!lr(e),Or=e=>de(e)||typeof e=="string",Sz=0,Bo=e=>{var t=++Sz;return"".concat(e||"").concat(t)},Wt=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!de(t)&&typeof t!="string")return r;var u;if(qi(t)){if(n==null)return r;var s=t.indexOf("%");u=n*parseFloat(t.slice(0,s))/100}else u=+t;return lr(u)&&(u=r),l&&n!=null&&u>n&&(u=n),u},DC=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++)if(!n[String(e[r])])n[String(e[r])]=!0;else return!0;return!1};function nt(e,t,n){return de(e)&&de(t)?Ka(e+n*(t-e)):t}function RC(e,t,n){if(!(!e||!e.length))return e.find(r=>r&&(typeof t=="function"?t(r):$i(r,t))===n)}var ut=e=>e===null||typeof e>"u",as=e=>ut(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function mn(e){return e!=null}function Fi(){}var wz=["type","size","sizeType"];function zy(){return zy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zy.apply(null,arguments)}function DO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function RO(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?DO(Object(n),!0).forEach(function(r){Oz(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):DO(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Oz(e,t,n){return(t=_z(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _z(e){var t=Ez(e,"string");return typeof t=="symbol"?t:t+""}function Ez(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function jz(e,t){if(e==null)return{};var n,r,l=Az(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function Az(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var kC={symbolCircle:Gg,symbolCross:qL,symbolDiamond:KL,symbolSquare:YL,symbolStar:FL,symbolTriangle:ZL,symbolWye:QL},Cz=Math.PI/180,Tz=e=>{var t="symbol".concat(as(e));return kC[t]||Gg},Nz=(e,t,n)=>{if(t==="area")return e;switch(n){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var r=18*Cz;return 1.25*e*e*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},Pz=(e,t)=>{kC["symbol".concat(as(e))]=t},Zg=e=>{var{type:t="circle",size:n=64,sizeType:r="area"}=e,l=jz(e,wz),u=RO(RO({},l),{},{type:t,size:n,sizeType:r}),s="circle";typeof t=="string"&&(s=t);var f=()=>{var b=Tz(s),S=JL().type(b).size(Nz(n,r,s)),O=S();if(O!==null)return O},{className:d,cx:h,cy:m}=u,v=rn(u);return de(h)&&de(m)&&de(n)?y.createElement("path",zy({},v,{className:Ie("recharts-symbols",d),transform:"translate(".concat(h,", ").concat(m,")"),d:f()})):null};Zg.registerSymbol=Pz;var LC=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,Wg=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var n=e;if(y.isValidElement(e)&&(n=e.props),typeof n!="object"&&typeof n!="function")return null;var r={};return Object.keys(n).forEach(l=>{$g(l)&&typeof n[l]=="function"&&(r[l]=(u=>n[l](n,u)))}),r},Mz=(e,t,n)=>r=>(e(t,n,r),null),is=(e,t,n)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var r=null;return Object.keys(e).forEach(l=>{var u=e[l];$g(l)&&typeof u=="function"&&(r||(r={}),r[l]=Mz(u,t,n))}),r};function kO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Dz(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?kO(Object(n),!0).forEach(function(r){Rz(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kO(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Rz(e,t,n){return(t=kz(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kz(e){var t=Lz(e,"string");return typeof t=="symbol"?t:t+""}function Lz(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ct(e,t){var n=Dz({},e),r=t,l=Object.keys(t),u=l.reduce((s,f)=>(s[f]===void 0&&r[f]!==void 0&&(s[f]=r[f]),s),n);return u}function Cf(){return Cf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Cf.apply(null,arguments)}function LO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function zC(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?LO(Object(n),!0).forEach(function(r){zz(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):LO(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function zz(e,t,n){return(t=Iz(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Iz(e){var t=Bz(e,"string");return typeof t=="symbol"?t:t+""}function Bz(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Gn=32,Uz={align:"center",iconSize:14,inactiveColor:"#ccc",layout:"horizontal",verticalAlign:"middle",labelStyle:{}};function $z(e){if(typeof e=="object"&&e!==null&&"strokeDasharray"in e)return String(e.strokeDasharray)}function qz(e){var{data:t,iconType:n,inactiveColor:r}=e,l=Gn/2,u=Gn/6,s=Gn/3,f=t.inactive?r:t.color,d=n??t.type;if(d==="none")return null;if(d==="plainline")return y.createElement("line",{strokeWidth:4,fill:"none",stroke:f,strokeDasharray:$z(t.payload),x1:0,y1:l,x2:Gn,y2:l,className:"recharts-legend-icon"});if(d==="line")return y.createElement("path",{strokeWidth:4,fill:"none",stroke:f,d:"M0,".concat(l,"h").concat(s,`
62
62
  A`).concat(u,",").concat(u,",0,1,1,").concat(2*s,",").concat(l,`
63
63
  H`).concat(Gn,"M").concat(2*s,",").concat(l,`
64
64
  A`).concat(u,",").concat(u,",0,1,1,").concat(s,",").concat(l),className:"recharts-legend-icon"});if(d==="rect")return y.createElement("path",{stroke:"none",fill:f,d:"M0,".concat(Gn/8,"h").concat(Gn,"v").concat(Gn*3/4,"h").concat(-Gn,"z"),className:"recharts-legend-icon"});if(y.isValidElement(t.legendIcon)){var h=zC({},t);return delete h.legendIcon,y.cloneElement(t.legendIcon,h)}return y.createElement(Zg,{fill:f,cx:l,cy:l,size:Gn,sizeType:"diameter",type:d})}function Hz(e){var{payload:t,iconSize:n,layout:r,formatter:l,inactiveColor:u,iconType:s,labelStyle:f}=e,d={x:0,y:0,width:Gn,height:Gn},h={display:r==="horizontal"?"inline-block":"block",marginRight:10},m={display:"inline-block",verticalAlign:"middle",marginRight:4};return t.map((v,b)=>{var S=v.formatter||l,O=Ie({"recharts-legend-item":!0,["legend-item-".concat(b)]:!0,inactive:v.inactive});if(v.type==="none")return null;var _=typeof f=="object"?zC({},f):{};_.color=v.inactive?u:_.color||v.color;var w=S?S(v.value,v,b):v.value;return y.createElement("li",Cf({className:O,style:h,key:"legend-item-".concat(b)},is(e,v,b)),y.createElement(qg,{width:n,height:n,viewBox:d,style:m,"aria-label":"".concat(v.value," legend icon")},y.createElement(qz,{data:v,iconType:s,inactiveColor:u})),y.createElement("span",{className:"recharts-legend-item-text",style:_},w))})}var Kz=e=>{var t=Ct(e,Uz),{payload:n,layout:r,align:l}=t;if(!n||!n.length)return null;var u={padding:0,margin:0,textAlign:r==="horizontal"?l:"left"};return y.createElement("ul",{className:"recharts-default-legend",style:u},y.createElement(Hz,Cf({},t,{payload:n})))},ap={},ip={},zO;function Yz(){return zO||(zO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n,r){const l=new Map;for(let u=0;u<n.length;u++){const s=n[u],f=r(s,u,n);l.has(f)||l.set(f,s)}return Array.from(l.values())}e.uniqBy=t})(ip)),ip}var lp={},IO;function Gz(){return IO||(IO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n,r){return function(...l){return n.apply(this,l.slice(0,r))}}e.ary=t})(lp)),lp}var up={},BO;function IC(){return BO||(BO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n}e.identity=t})(up)),up}var op={},sp={},cp={},UO;function Vz(){return UO||(UO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return Number.isSafeInteger(n)&&n>=0}e.isLength=t})(cp)),cp}var $O;function BC(){return $O||($O=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Vz();function n(r){return r!=null&&typeof r!="function"&&t.isLength(r.length)}e.isArrayLike=n})(sp)),sp}var fp={},qO;function Xz(){return qO||(qO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return typeof n=="object"&&n!==null}e.isObjectLike=t})(fp)),fp}var HO;function Fz(){return HO||(HO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=BC(),n=Xz();function r(l){return n.isObjectLike(l)&&t.isArrayLike(l)}e.isArrayLikeObject=r})(op)),op}var dp={},hp={},KO;function Zz(){return KO||(KO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Fg();function n(r){return function(l){return t.get(l,r)}}e.property=n})(hp)),hp}var mp={},vp={},pp={},yp={},YO;function UC(){return YO||(YO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n!==null&&(typeof n=="object"||typeof n=="function")}e.isObject=t})(yp)),yp}var gp={},GO;function $C(){return GO||(GO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n==null||typeof n!="object"&&typeof n!="function"}e.isPrimitive=t})(gp)),gp}var bp={},VO;function qC(){return VO||(VO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n,r){return n===r||Number.isNaN(n)&&Number.isNaN(r)}e.isEqualsSameValueZero=t})(bp)),bp}var XO;function Wz(){return XO||(XO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=UC(),n=$C(),r=qC();function l(m,v,b){return typeof b!="function"?l(m,v,()=>{}):u(m,v,function S(O,_,w,j,A,N){const T=b(O,_,w,j,A,N);return T!==void 0?!!T:u(O,_,S,N)},new Map)}function u(m,v,b,S){if(v===m)return!0;switch(typeof v){case"object":return s(m,v,b,S);case"function":return Object.keys(v).length>0?u(m,{...v},b,S):r.isEqualsSameValueZero(m,v);default:return t.isObject(m)?typeof v=="string"?v==="":!0:r.isEqualsSameValueZero(m,v)}}function s(m,v,b,S){if(v==null)return!0;if(Array.isArray(v))return d(m,v,b,S);if(v instanceof Map)return f(m,v,b,S);if(v instanceof Set)return h(m,v,b,S);const O=Object.keys(v);if(m==null||n.isPrimitive(m))return O.length===0;if(O.length===0)return!0;if(S!=null&&S.has(v))return S.get(v)===m;S==null||S.set(v,m);try{for(let _=0;_<O.length;_++){const w=O[_];if(!n.isPrimitive(m)&&!(w in m)||v[w]===void 0&&m[w]!==void 0||v[w]===null&&m[w]!==null||!b(m[w],v[w],w,m,v,S))return!1}return!0}finally{S==null||S.delete(v)}}function f(m,v,b,S){if(v.size===0)return!0;if(!(m instanceof Map))return!1;for(const[O,_]of v.entries()){const w=m.get(O);if(b(w,_,O,m,v,S)===!1)return!1}return!0}function d(m,v,b,S){if(v.length===0)return!0;if(!Array.isArray(m))return!1;const O=new Set;for(let _=0;_<v.length;_++){const w=v[_];let j=!1;for(let A=0;A<m.length;A++){if(O.has(A))continue;const N=m[A];let T=!1;if(b(N,w,_,m,v,S)&&(T=!0),T){O.add(A),j=!0;break}}if(!j)return!1}return!0}function h(m,v,b,S){return v.size===0?!0:m instanceof Set?d([...m],[...v],b,S):!1}e.isMatchWith=l,e.isSetMatch=h})(pp)),pp}var FO;function HC(){return FO||(FO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Wz();function n(r,l){return t.isMatchWith(r,l,()=>{})}e.isMatch=n})(vp)),vp}var xp={},Sp={},wp={},ZO;function Qz(){return ZO||(ZO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return Object.getOwnPropertySymbols(n).filter(r=>Object.prototype.propertyIsEnumerable.call(n,r))}e.getSymbols=t})(wp)),wp}var Op={},WO;function Qg(){return WO||(WO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return n==null?n===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(n)}e.getTag=t})(Op)),Op}var _p={},QO;function KC(){return QO||(QO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t="[object RegExp]",n="[object String]",r="[object Number]",l="[object Boolean]",u="[object Arguments]",s="[object Symbol]",f="[object Date]",d="[object Map]",h="[object Set]",m="[object Array]",v="[object Function]",b="[object ArrayBuffer]",S="[object Object]",O="[object Error]",_="[object DataView]",w="[object Uint8Array]",j="[object Uint8ClampedArray]",A="[object Uint16Array]",N="[object Uint32Array]",T="[object BigUint64Array]",P="[object Int8Array]",M="[object Int16Array]",R="[object Int32Array]",I="[object BigInt64Array]",q="[object Float32Array]",W="[object Float64Array]";e.argumentsTag=u,e.arrayBufferTag=b,e.arrayTag=m,e.bigInt64ArrayTag=I,e.bigUint64ArrayTag=T,e.booleanTag=l,e.dataViewTag=_,e.dateTag=f,e.errorTag=O,e.float32ArrayTag=q,e.float64ArrayTag=W,e.functionTag=v,e.int16ArrayTag=M,e.int32ArrayTag=R,e.int8ArrayTag=P,e.mapTag=d,e.numberTag=r,e.objectTag=S,e.regexpTag=t,e.setTag=h,e.stringTag=n,e.symbolTag=s,e.uint16ArrayTag=A,e.uint32ArrayTag=N,e.uint8ArrayTag=w,e.uint8ClampedArrayTag=j})(_p)),_p}var Ep={},JO;function Jz(){return JO||(JO=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}e.isTypedArray=t})(Ep)),Ep}var e_;function YC(){return e_||(e_=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Qz(),n=Qg(),r=KC(),l=$C(),u=Jz();function s(m,v){return f(m,void 0,m,new Map,v)}function f(m,v,b,S=new Map,O=void 0){const _=O==null?void 0:O(m,v,b,S);if(_!==void 0)return _;if(l.isPrimitive(m))return m;if(S.has(m))return S.get(m);if(Array.isArray(m)){const w=new Array(m.length);S.set(m,w);for(let j=0;j<m.length;j++)w[j]=f(m[j],j,b,S,O);return Object.hasOwn(m,"index")&&(w.index=m.index),Object.hasOwn(m,"input")&&(w.input=m.input),w}if(m instanceof Date)return new Date(m.getTime());if(m instanceof RegExp){const w=new RegExp(m.source,m.flags);return w.lastIndex=m.lastIndex,w}if(m instanceof Map){const w=new Map;S.set(m,w);for(const[j,A]of m)w.set(j,f(A,j,b,S,O));return w}if(m instanceof Set){const w=new Set;S.set(m,w);for(const j of m)w.add(f(j,void 0,b,S,O));return w}if(typeof Buffer<"u"&&Buffer.isBuffer(m))return m.subarray();if(u.isTypedArray(m)){const w=new(Object.getPrototypeOf(m)).constructor(m.length);S.set(m,w);for(let j=0;j<m.length;j++)w[j]=f(m[j],j,b,S,O);return w}if(m instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&m instanceof SharedArrayBuffer)return m.slice(0);if(m instanceof DataView){const w=new DataView(m.buffer.slice(0),m.byteOffset,m.byteLength);return S.set(m,w),d(w,m,b,S,O),w}if(typeof File<"u"&&m instanceof File){const w=new File([m],m.name,{type:m.type});return S.set(m,w),d(w,m,b,S,O),w}if(typeof Blob<"u"&&m instanceof Blob){const w=new Blob([m],{type:m.type});return S.set(m,w),d(w,m,b,S,O),w}if(m instanceof Error){const w=structuredClone(m);return S.set(m,w),w.message=m.message,w.name=m.name,w.stack=m.stack,w.cause=m.cause,w.constructor=m.constructor,d(w,m,b,S,O),w}if(m instanceof Boolean){const w=new Boolean(m.valueOf());return S.set(m,w),d(w,m,b,S,O),w}if(m instanceof Number){const w=new Number(m.valueOf());return S.set(m,w),d(w,m,b,S,O),w}if(m instanceof String){const w=new String(m.valueOf());return S.set(m,w),d(w,m,b,S,O),w}if(typeof m=="object"&&h(m)){const w=Object.create(Object.getPrototypeOf(m));return S.set(m,w),d(w,m,b,S,O),w}return m}function d(m,v,b=m,S,O){const _=[...Object.keys(v),...t.getSymbols(v)];for(let w=0;w<_.length;w++){const j=_[w],A=Object.getOwnPropertyDescriptor(m,j);(A==null||A.writable)&&(m[j]=f(v[j],j,b,S,O))}}function h(m){switch(n.getTag(m)){case r.argumentsTag:case r.arrayTag:case r.arrayBufferTag:case r.dataViewTag:case r.booleanTag:case r.dateTag:case r.float32ArrayTag:case r.float64ArrayTag:case r.int8ArrayTag:case r.int16ArrayTag:case r.int32ArrayTag:case r.mapTag:case r.numberTag:case r.objectTag:case r.regexpTag:case r.setTag:case r.stringTag:case r.symbolTag:case r.uint8ArrayTag:case r.uint8ClampedArrayTag:case r.uint16ArrayTag:case r.uint32ArrayTag:return!0;default:return!1}}e.cloneDeepWith=s,e.cloneDeepWithImpl=f,e.copyProperties=d})(Sp)),Sp}var t_;function e6(){return t_||(t_=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=YC();function n(r){return t.cloneDeepWithImpl(r,void 0,r,new Map,void 0)}e.cloneDeep=n})(xp)),xp}var n_;function t6(){return n_||(n_=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=HC(),n=e6();function r(l){return l=n.cloneDeep(l),u=>t.isMatch(u,l)}e.matches=r})(mp)),mp}var jp={},Ap={},Cp={},r_;function n6(){return r_||(r_=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=YC(),n=Qg(),r=KC();function l(u,s){return t.cloneDeepWith(u,(f,d,h,m)=>{const v=s==null?void 0:s(f,d,h,m);if(v!==void 0)return v;if(typeof u=="object"){if(n.getTag(u)===r.objectTag&&typeof u.constructor!="function"){const b={};return m.set(u,b),t.copyProperties(b,u,h,m),b}switch(Object.prototype.toString.call(u)){case r.numberTag:case r.stringTag:case r.booleanTag:{const b=new u.constructor(u==null?void 0:u.valueOf());return t.copyProperties(b,u),b}case r.argumentsTag:{const b={};return t.copyProperties(b,u),b.length=u.length,b[Symbol.iterator]=u[Symbol.iterator],b}default:return}}})}e.cloneDeepWith=l})(Cp)),Cp}var a_;function r6(){return a_||(a_=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=n6();function n(r){return t.cloneDeepWith(r)}e.cloneDeep=n})(Ap)),Ap}var Tp={},Np={},i_;function GC(){return i_||(i_=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=/^(?:0|[1-9]\d*)$/;function n(r,l=Number.MAX_SAFE_INTEGER){switch(typeof r){case"number":return Number.isInteger(r)&&r>=0&&r<l;case"symbol":return!1;case"string":return t.test(r)}}e.isIndex=n})(Np)),Np}var Pp={},l_;function a6(){return l_||(l_=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Qg();function n(r){return r!==null&&typeof r=="object"&&t.getTag(r)==="[object Arguments]"}e.isArguments=n})(Pp)),Pp}var u_;function i6(){return u_||(u_=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=MC(),n=GC(),r=a6(),l=Xg();function u(s,f){let d;if(Array.isArray(f)?d=f:typeof f=="string"&&t.isDeepKey(f)&&(s==null?void 0:s[f])==null?d=l.toPath(f):d=[f],d.length===0)return!1;let h=s;for(let m=0;m<d.length;m++){const v=d[m];if((h==null||!Object.hasOwn(h,v))&&!((Array.isArray(h)||r.isArguments(h))&&n.isIndex(v)&&v<h.length))return!1;h=h[v]}return!0}e.has=u})(Tp)),Tp}var o_;function l6(){return o_||(o_=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=HC(),n=Vg(),r=r6(),l=Fg(),u=i6();function s(f,d){switch(typeof f){case"object":{Object.is(f==null?void 0:f.valueOf(),-0)&&(f="-0");break}case"number":{f=n.toKey(f);break}}return d=r.cloneDeep(d),function(h){const m=l.get(h,f);return m===void 0?u.has(h,f):d===void 0?m===void 0:t.isMatch(m,d)}}e.matchesProperty=s})(jp)),jp}var s_;function u6(){return s_||(s_=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=IC(),n=Zz(),r=t6(),l=l6();function u(s){if(s==null)return t.identity;switch(typeof s){case"function":return s;case"object":return Array.isArray(s)&&s.length===2?l.matchesProperty(s[0],s[1]):r.matches(s);case"string":case"symbol":case"number":return n.property(s)}}e.iteratee=u})(dp)),dp}var c_;function o6(){return c_||(c_=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Yz(),n=Gz(),r=IC(),l=Fz(),u=u6();function s(f,d=r.identity){return l.isArrayLikeObject(f)?t.uniqBy(Array.from(f),n.ary(u.iteratee(d),1)):[]}e.uniqBy=s})(ap)),ap}var Mp,f_;function s6(){return f_||(f_=1,Mp=o6().uniqBy),Mp}var c6=s6();const d_=Qa(c6);function VC(e,t,n){return t===!0?d_(e,n):typeof t=="function"?d_(e,t):e}var Dp={exports:{}},Rp={},kp={exports:{}},Lp={};/**
@@ -125,4 +125,4 @@ Please change the parent <Route path="${j}"> to <Route path="${j==="/"?"*":`${j}
125
125
  *
126
126
  * This source code is licensed under the MIT license found in the
127
127
  * LICENSE file in the root directory of this source tree.
128
- */var MA;function CG(){if(MA)return Ve;MA=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),s=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),b=Symbol.for("react.view_transition"),S=Symbol.for("react.client.reference");function O(_){if(typeof _=="object"&&_!==null){var w=_.$$typeof;switch(w){case e:switch(_=_.type,_){case n:case l:case r:case d:case h:case b:return _;default:switch(_=_&&_.$$typeof,_){case s:case f:case v:case m:return _;case u:return _;default:return w}}case t:return w}}}return Ve.ContextConsumer=u,Ve.ContextProvider=s,Ve.Element=e,Ve.ForwardRef=f,Ve.Fragment=n,Ve.Lazy=v,Ve.Memo=m,Ve.Portal=t,Ve.Profiler=l,Ve.StrictMode=r,Ve.Suspense=d,Ve.SuspenseList=h,Ve.isContextConsumer=function(_){return O(_)===u},Ve.isContextProvider=function(_){return O(_)===s},Ve.isElement=function(_){return typeof _=="object"&&_!==null&&_.$$typeof===e},Ve.isForwardRef=function(_){return O(_)===f},Ve.isFragment=function(_){return O(_)===n},Ve.isLazy=function(_){return O(_)===v},Ve.isMemo=function(_){return O(_)===m},Ve.isPortal=function(_){return O(_)===t},Ve.isProfiler=function(_){return O(_)===l},Ve.isStrictMode=function(_){return O(_)===r},Ve.isSuspense=function(_){return O(_)===d},Ve.isSuspenseList=function(_){return O(_)===h},Ve.isValidElementType=function(_){return typeof _=="string"||typeof _=="function"||_===n||_===l||_===r||_===d||_===h||typeof _=="object"&&_!==null&&(_.$$typeof===v||_.$$typeof===m||_.$$typeof===s||_.$$typeof===u||_.$$typeof===f||_.$$typeof===S||_.getModuleId!==void 0)},Ve.typeOf=O,Ve}var DA;function TG(){return DA||(DA=1,xy.exports=CG()),xy.exports}var NG=TG(),RA=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",kA=null,Sy=null,z5=e=>{if(e===kA&&Array.isArray(Sy))return Sy;var t=[];return y.Children.forEach(e,n=>{ut(n)||(NG.isFragment(n)?t=t.concat(z5(n.props.children)):t.push(n))}),Sy=t,kA=e,t};function Nb(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(l=>RA(l)):r=[RA(t)],z5(e).forEach(l=>{var u=$i(l,"type.displayName")||$i(l,"type.name");u&&r.indexOf(u)!==-1&&n.push(l)}),n}var I5=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0,wy={},LA;function PG(){return LA||(LA=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){var l;if(typeof n!="object"||n==null)return!1;if(Object.getPrototypeOf(n)===null)return!0;if(Object.prototype.toString.call(n)!=="[object Object]"){const u=n[Symbol.toStringTag];return u==null||!((l=Object.getOwnPropertyDescriptor(n,Symbol.toStringTag))!=null&&l.writable)?!1:n.toString()===`[object ${u}]`}let r=n;for(;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(n)===r}e.isPlainObject=t})(wy)),wy}var Oy,zA;function MG(){return zA||(zA=1,Oy=PG().isPlainObject),Oy}var DG=MG();const RG=Qa(DG);var IA,BA,UA,$A,qA;function HA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function KA(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?HA(Object(n),!0).forEach(function(r){kG(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):HA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function kG(e,t,n){return(t=LG(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function LG(e){var t=zG(e,"string");return typeof t=="symbol"?t:t+""}function zG(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function dd(){return dd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},dd.apply(null,arguments)}function Ao(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var YA=(e,t,n,r,l)=>{var u=n-r,s;return s=dt(IA||(IA=Ao(["M ",",",""])),e,t),s+=dt(BA||(BA=Ao(["L ",",",""])),e+n,t),s+=dt(UA||(UA=Ao(["L ",",",""])),e+n-u/2,t+l),s+=dt($A||($A=Ao(["L ",",",""])),e+n-u/2-r,t+l),s+=dt(qA||(qA=Ao(["L ",","," Z"])),e,t),s},IG={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},BG=e=>{var t=Ct(e,IG),{x:n,y:r,upperWidth:l,lowerWidth:u,height:s,className:f}=t,{animationEasing:d,animationDuration:h,animationBegin:m,isUpdateAnimationActive:v}=t,b=y.useRef(null),[S,O]=y.useState(-1),_=y.useRef(l),w=y.useRef(u),j=y.useRef(s),A=y.useRef(n),N=y.useRef(r),T=hs(e,"trapezoid-");if(y.useEffect(()=>{if(b.current&&b.current.getTotalLength)try{var F=b.current.getTotalLength();F&&O(F)}catch{}},[]),n!==+n||r!==+r||l!==+l||u!==+u||s!==+s||l===0&&u===0||s===0)return null;var P=Ie("recharts-trapezoid",f);if(!v)return y.createElement("g",null,y.createElement("path",dd({},rn(t),{className:P,d:YA(n,r,l,u,s)})));var M=_.current,R=w.current,I=j.current,q=A.current,W=N.current,X="0px ".concat(S===-1?1:S,"px"),U="".concat(S,"px ").concat(S,"px"),se=JT(["strokeDasharray"],h,d);return y.createElement(ds,{animationId:T,key:T,canBegin:S>0,duration:h,easing:d,isActive:v,begin:m},F=>{var J=nt(M,l,F),z=nt(R,u,F),V=nt(I,s,F),ne=nt(q,n,F),le=nt(W,r,F);b.current&&(_.current=J,w.current=z,j.current=V,A.current=ne,N.current=le);var Q=F>0?{transition:se,strokeDasharray:U}:{strokeDasharray:X};return y.createElement("path",dd({},rn(t),{className:P,d:YA(ne,le,J,z,V),ref:b,style:KA(KA({},Q),t.style)}))})},UG=["option","shapeType","activeClassName","inActiveClassName"];function $G(e,t){if(e==null)return{};var n,r,l=qG(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function qG(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function GA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function hd(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?GA(Object(n),!0).forEach(function(r){HG(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):GA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function HG(e,t,n){return(t=KG(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function KG(e){var t=YG(e,"string");return typeof t=="symbol"?t:t+""}function YG(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function GG(e,t){return hd(hd({},t),e)}function VG(e,t){return e==="symbols"}function VA(e){var{shapeType:t,elementProps:n}=e;switch(t){case"rectangle":return y.createElement(rN,n);case"trapezoid":return y.createElement(BG,n);case"sector":return y.createElement(v0,n);case"symbols":if(VG(t))return y.createElement(Zg,n);break;case"curve":return y.createElement(Zl,n);default:return null}}function XG(e){return y.isValidElement(e)?e.props:e}function B5(e){var{option:t,shapeType:n,activeClassName:r="recharts-active-shape",inActiveClassName:l="recharts-shape"}=e,u=$G(e,UG),s;if(y.isValidElement(t))s=y.cloneElement(t,hd(hd({},u),XG(t)));else if(typeof t=="function")s=t(u,u.index);else if(RG(t)&&typeof t!="boolean"){var f=GG(t,u);s=y.createElement(VA,{shapeType:n,elementProps:f})}else{var d=u;s=y.createElement(VA,{shapeType:n,elementProps:d})}return u.isActive?y.createElement(ht,{className:r},s):y.createElement(ht,{className:l},s)}var Pb=(e,t,n)=>{var r=Xe();return(l,u)=>s=>{e==null||e(l,u,s),r(KP({activeIndex:String(u),activeDataKey:t,activeCoordinate:l.tooltipPosition,activeGraphicalItemId:n}))}},Mb=e=>{var t=Xe();return(n,r)=>l=>{e==null||e(n,r,l),t(eH())}},Db=(e,t,n)=>{var r=Xe();return(l,u)=>s=>{e==null||e(l,u,s),r(tH({activeIndex:String(u),activeDataKey:t,activeCoordinate:l.tooltipPosition,activeGraphicalItemId:n}))}};function Rb(e){var{tooltipEntrySettings:t}=e,n=Xe(),r=Jt(),l=y.useRef(null);return y.useLayoutEffect(()=>{r||(l.current===null?n(Zq(t)):l.current!==t&&n(Wq({prev:l.current,next:t})),l.current=t)},[t,n,r]),y.useLayoutEffect(()=>()=>{l.current&&(n(Qq(l.current)),l.current=null)},[n]),null}function U5(e){var{legendPayload:t}=e,n=Xe(),r=Jt(),l=y.useRef(null);return y.useLayoutEffect(()=>{r||(l.current===null?n(VT(t)):l.current!==t&&n(XT({prev:l.current,next:t})),l.current=t)},[n,r,t]),y.useLayoutEffect(()=>()=>{l.current&&(n(FT(l.current)),l.current=null)},[n]),null}function FG(e){var{legendPayload:t}=e,n=Xe(),r=pe(ke),l=y.useRef(null);return y.useLayoutEffect(()=>{r!=="centric"&&r!=="radial"||(l.current===null?n(VT(t)):l.current!==t&&n(XT({prev:l.current,next:t})),l.current=t)},[n,r,t]),y.useLayoutEffect(()=>()=>{l.current&&(n(FT(l.current)),l.current=null)},[n]),null}var _y,ZG=()=>{var[e]=y.useState(()=>Bo("uid-"));return e},WG=(_y=fR.useId)!==null&&_y!==void 0?_y:ZG;function QG(e,t){var n=WG();return t||(e?"".concat(e,"-").concat(n):n)}var JG=y.createContext(void 0),kb=e=>{var{id:t,type:n,children:r}=e,l=QG("recharts-".concat(n),t);return y.createElement(JG.Provider,{value:l},r(l))},eV={cartesianItems:[],polarItems:[]},$5=Qt({name:"graphicalItems",initialState:eV,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:et()},replaceCartesianGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,l=Vn(e).cartesianItems.indexOf(n);l>-1&&(e.cartesianItems[l]=r)},prepare:et()},removeCartesianGraphicalItem:{reducer(e,t){var n=Vn(e).cartesianItems.indexOf(t.payload);n>-1&&e.cartesianItems.splice(n,1)},prepare:et()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:et()},removePolarGraphicalItem:{reducer(e,t){var n=Vn(e).polarItems.indexOf(t.payload);n>-1&&e.polarItems.splice(n,1)},prepare:et()},replacePolarGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,l=Vn(e).polarItems.indexOf(n);l>-1&&(e.polarItems[l]=r)},prepare:et()}}}),{addCartesianGraphicalItem:tV,replaceCartesianGraphicalItem:nV,removeCartesianGraphicalItem:rV,addPolarGraphicalItem:aV,removePolarGraphicalItem:iV,replacePolarGraphicalItem:lV}=$5.actions,uV=$5.reducer,oV=e=>{var t=Xe(),n=y.useRef(null);return y.useLayoutEffect(()=>{n.current===null?t(tV(e)):n.current!==e&&t(nV({prev:n.current,next:e})),n.current=e},[t,e]),y.useLayoutEffect(()=>()=>{n.current&&(t(rV(n.current)),n.current=null)},[t]),null},q5=y.memo(oV),sV=e=>{var t=Xe(),n=y.useRef(null);return y.useLayoutEffect(()=>{n.current===null?t(aV(e)):n.current!==e&&t(lV({prev:n.current,next:e})),n.current=e},[t,e]),y.useLayoutEffect(()=>()=>{n.current&&(t(iV(n.current)),n.current=null)},[t]),null},cV=y.memo(sV),fV=["key"],dV=["onMouseEnter","onClick","onMouseLeave"],hV=["id"],mV=["id"];function Za(){return Za=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Za.apply(null,arguments)}function ph(e,t){if(e==null)return{};var n,r,l=vV(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function vV(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function XA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function at(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?XA(Object(n),!0).forEach(function(r){pV(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):XA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function pV(e,t,n){return(t=yV(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yV(e){var t=gV(e,"string");return typeof t=="symbol"?t:t+""}function gV(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function bV(e){var t=y.useMemo(()=>Nb(e.children,dh),[e.children]),n=pe(r=>jG(r,e.id,t));return n==null?null:y.createElement(FG,{legendPayload:n})}function xV(e){if(!(e==null||typeof e=="boolean"||typeof e=="function")){if(y.isValidElement(e)){var t,n=(t=e.props)===null||t===void 0?void 0:t.fill;return typeof n=="string"?n:void 0}var{fill:r}=e;return typeof r=="string"?r:void 0}}var SV=y.memo(e=>{var{dataKey:t,nameKey:n,sectors:r,stroke:l,strokeWidth:u,fill:s,name:f,hide:d,tooltipType:h,id:m,activeShape:v}=e,b=xV(v),S=r.map(_=>{var w=_.tooltipPayload;return b==null||w==null?w:w.map(j=>at(at({},j),{},{color:b,fill:b}))}),O={dataDefinedOnItem:S,getPosition:_=>{var w;return(w=r[Number(_)])===null||w===void 0?void 0:w.tooltipPosition},settings:{stroke:l,strokeWidth:u,fill:s,dataKey:t,nameKey:n,name:du(f,t),hide:d,type:h,color:s,unit:"",graphicalItemId:m}};return y.createElement(Rb,{tooltipEntrySettings:O})}),wV=(e,t)=>e>t?"start":e<t?"end":"middle",OV=(e,t,n)=>Wt(typeof t=="function"?t(e):t,n,n*.8),_V=(e,t,n)=>{var{top:r,left:l,width:u,height:s}=t,f=aN(u,s),d=l+Wt(e.cx,u,u/2),h=r+Wt(e.cy,s,s/2),m=Wt(e.innerRadius,f,0),v=OV(n,e.outerRadius,f),b=e.maxRadius||Math.sqrt(u*u+s*s)/2;return{cx:d,cy:h,innerRadius:m,outerRadius:v,maxRadius:b}},EV=(e,t)=>{var n=kt(t-e),r=Math.min(Math.abs(t-e),360);return n*r},jV=(e,t)=>{if(y.isValidElement(e))return y.cloneElement(e,t);if(typeof e=="function")return e(t);var n=Ie("recharts-pie-label-line",typeof e!="boolean"?e.className:""),{key:r}=t,l=ph(t,fV);return y.createElement(Zl,Za({},l,{type:"linear",className:n}))},AV=(e,t,n)=>{if(y.isValidElement(e))return y.cloneElement(e,t);var r=n;if(typeof e=="function"&&(r=e(t),y.isValidElement(r)))return r;var l=Ie("recharts-pie-label-text",k5(e));return y.createElement(hh,Za({},t,{alignmentBaseline:"middle",className:l}),r)};function CV(e){var{sectors:t,props:n,showLabels:r}=e,{label:l,labelLine:u,dataKey:s}=n;if(!r||!l||!t)return null;var f=pn(n),d=Bi(l),h=Bi(u),m=typeof l=="object"&&"offsetRadius"in l&&typeof l.offsetRadius=="number"&&l.offsetRadius||20,v=t.map((b,S)=>{var O=(b.startAngle+b.endAngle)/2,_=St(b.cx,b.cy,b.outerRadius+m,O),w=at(at(at(at({},f),b),{},{stroke:"none"},d),{},{index:S,textAnchor:wV(_.x,b.cx)},_),j=at(at(at(at({},f),b),{},{fill:"none",stroke:b.fill},h),{},{index:S,points:[St(b.cx,b.cy,b.outerRadius,O),_],key:"line"});return y.createElement(yn,{zIndex:wt.label,key:"label-".concat(b.startAngle,"-").concat(b.endAngle,"-").concat(b.midAngle,"-").concat(S)},y.createElement(ht,null,u&&jV(u,j),AV(l,w,$e(b,s))))});return y.createElement(ht,{className:"recharts-pie-labels"},v)}function TV(e){var{sectors:t,props:n,showLabels:r}=e,{label:l}=n;return typeof l=="object"&&l!=null&&"position"in l?y.createElement(Ab,{label:l}):y.createElement(CV,{sectors:t,props:n,showLabels:r})}function NV(e){var{sectors:t,activeShape:n,inactiveShape:r,allOtherPieProps:l,shape:u,id:s}=e,f=pe(Fa),d=pe(bb),h=pe(l5),{onMouseEnter:m,onClick:v,onMouseLeave:b}=l,S=ph(l,dV),O=Pb(m,l.dataKey,s),_=Mb(b),w=Db(v,l.dataKey,s);return t==null||t.length===0?null:y.createElement(y.Fragment,null,t.map((j,A)=>{if((j==null?void 0:j.startAngle)===0&&(j==null?void 0:j.endAngle)===0&&t.length!==1)return null;var N=h==null||h===s,T=String(A)===f&&(d==null||l.dataKey===d)&&N,P=f?r:null,M=n&&T?n:P,R=at(at({},j),{},{stroke:j.stroke,tabIndex:-1,[DT]:A,[RT]:s});return y.createElement(ht,Za({key:"sector-".concat(j==null?void 0:j.startAngle,"-").concat(j==null?void 0:j.endAngle,"-").concat(j.midAngle,"-").concat(A),tabIndex:-1,className:"recharts-pie-sector"},is(S,j,A),{onMouseEnter:O(j,A),onMouseLeave:_(j,A),onClick:w(j,A)}),y.createElement(B5,Za({option:u??M,index:A,shapeType:"sector",isActive:T},R)))}))}function PV(e){var t,{pieSettings:n,displayedData:r,cells:l,offset:u}=e,{cornerRadius:s,startAngle:f,endAngle:d,dataKey:h,nameKey:m,tooltipType:v}=n,b=Math.abs(n.minAngle),S=EV(f,d),O=Math.abs(S),_=r.length<=1?0:(t=n.paddingAngle)!==null&&t!==void 0?t:0,w=r.filter(I=>$e(I,h,0)!==0).length,j=(O>=360?w:w-1)*_,A=r.reduce((I,q)=>{var W=$e(q,h,0);return I+(de(W)?W:0)},0),N=b>0&&A>0&&r.some(I=>{var q=$e(I,h,0),W=(de(q)?q:0)/A;return q!==0&&W*O<b}),T=N?b:0,P=O-w*T-j,M;if(A>0){var R;M=r.map((I,q)=>{var W=$e(I,h,0),X=$e(I,m,q),U=_V(n,u,I),se=(de(W)?W:0)/A,F,J=at(at({},I),l&&l[q]&&l[q].props),z=J!=null&&"fill"in J&&typeof J.fill=="string"?J.fill:n.fill;q?F=R.endAngle+kt(S)*_*(W!==0?1:0):F=f;var V=F+kt(S)*((W!==0?T:0)+se*P),ne=(F+V)/2,le=(U.innerRadius+U.outerRadius)/2,Q=[{name:X,value:W,payload:J,dataKey:h,type:v,color:z,fill:z,graphicalItemId:n.id}],D=St(U.cx,U.cy,le,ne);return R=at(at(at(at({},n.presentationProps),{},{percent:se,cornerRadius:typeof s=="string"?parseFloat(s):s,name:X,tooltipPayload:Q,midAngle:ne,middleRadius:le,tooltipPosition:D},J),U),{},{value:W,dataKey:h,startAngle:F,endAngle:V,payload:J,paddingAngle:W!==0?kt(S)*_:0}),R})}return M}function MV(e){var{showLabels:t,sectors:n,children:r}=e,l=y.useMemo(()=>!t||!n?[]:n.map(u=>({value:u.value,payload:u.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:u.cx,cy:u.cy,innerRadius:u.innerRadius,outerRadius:u.outerRadius,startAngle:u.startAngle,endAngle:u.endAngle,clockWise:!1},fill:u.fill})),[n,t]);return y.createElement(sG,{value:t?l:void 0},r)}function DV(e){var{props:t,previousSectorsRef:n,id:r}=e,{sectors:l,isAnimationActive:u,animationBegin:s,animationDuration:f,animationEasing:d,activeShape:h,inactiveShape:m,onAnimationStart:v,onAnimationEnd:b}=t,S=hs(t,"recharts-pie-"),O=n.current,[_,w]=y.useState(!1),j=y.useCallback(()=>{typeof b=="function"&&b(),w(!1)},[b]),A=y.useCallback(()=>{typeof v=="function"&&v(),w(!0)},[v]);return y.createElement(MV,{showLabels:!_,sectors:l},y.createElement(ds,{animationId:S,begin:s,duration:f,isActive:u,easing:d,onAnimationStart:A,onAnimationEnd:j,key:S},N=>{var T,P=[],M=l&&l[0],R=(T=M==null?void 0:M.startAngle)!==null&&T!==void 0?T:0;return l==null||l.forEach((I,q)=>{var W=O&&O[q],X=q>0?$i(I,"paddingAngle",0):0;if(W){var U=nt(W.endAngle-W.startAngle,I.endAngle-I.startAngle,N),se=at(at({},I),{},{startAngle:R+X,endAngle:R+U+X});P.push(se),R=se.endAngle}else{var{endAngle:F,startAngle:J}=I,z=nt(0,F-J,N),V=at(at({},I),{},{startAngle:R+X,endAngle:R+z+X});P.push(V),R=V.endAngle}}),n.current=P,y.createElement(ht,null,y.createElement(NV,{sectors:P,activeShape:h,inactiveShape:m,allOtherPieProps:t,shape:t.shape,id:r}))}),y.createElement(TV,{showLabels:!_,sectors:l,props:t}),t.children)}var RV={animationBegin:400,animationDuration:1500,animationEasing:"ease",cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:"#fff",zIndex:wt.area};function kV(e){var{id:t}=e,n=ph(e,hV),{hide:r,className:l,rootTabIndex:u}=e,s=y.useMemo(()=>Nb(e.children,dh),[e.children]),f=pe(m=>AG(m,t,s)),d=y.useRef(null),h=Ie("recharts-pie",l);return r||f==null?(d.current=null,y.createElement(ht,{tabIndex:u,className:h})):y.createElement(yn,{zIndex:e.zIndex},y.createElement(SV,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:f,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,id:t,activeShape:e.activeShape}),y.createElement(ht,{tabIndex:u,className:h},y.createElement(DV,{props:at(at({},n),{},{sectors:f}),previousSectorsRef:d,id:t})))}function LV(e){var t=Ct(e,RV),{id:n}=t,r=ph(t,mV),l=pn(r);return y.createElement(kb,{id:n,type:"pie"},u=>y.createElement(y.Fragment,null,y.createElement(cV,{type:"pie",id:u,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:l,maxRadius:t.maxRadius}),y.createElement(bV,Za({},r,{id:u})),y.createElement(kV,Za({},r,{id:u}))))}var H5=LV;H5.displayName="Pie";var zV=["points"];function FA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Ey(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?FA(Object(n),!0).forEach(function(r){IV(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function IV(e,t,n){return(t=BV(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function BV(e){var t=UV(e,"string");return typeof t=="symbol"?t:t+""}function UV(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function md(){return md=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},md.apply(null,arguments)}function $V(e,t){if(e==null)return{};var n,r,l=qV(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function qV(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function HV(e){var{option:t,dotProps:n,className:r}=e;if(y.isValidElement(t))return y.cloneElement(t,n);if(typeof t=="function")return t(n);var l=Ie(r,typeof t!="boolean"?t.className:""),u=n??{},{points:s}=u,f=$V(u,zV);return y.createElement(P5,md({},f,{className:l}))}function KV(e,t){return e==null?!1:t?!0:e.length===1}function YV(e){var{points:t,dot:n,className:r,dotClassName:l,dataKey:u,baseProps:s,needClip:f,clipPathId:d,zIndex:h=wt.scatter}=e;if(!KV(t,n))return null;var m=I5(n),v=TL(n),b=t.map((O,_)=>{var w,j,A=Ey(Ey(Ey({r:3},s),v),{},{index:_,cx:(w=O.x)!==null&&w!==void 0?w:void 0,cy:(j=O.y)!==null&&j!==void 0?j:void 0,dataKey:u,value:O.value,payload:O.payload,points:t});return y.createElement(HV,{key:"dot-".concat(_),option:n,dotProps:A,className:l})}),S={};return f&&d!=null&&(S.clipPath="url(#clipPath-".concat(m?"":"dots-").concat(d,")")),y.createElement(yn,{zIndex:h},y.createElement(ht,md({className:r},S),b))}function ZA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function WA(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ZA(Object(n),!0).forEach(function(r){GV(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ZA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function GV(e,t,n){return(t=VV(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function VV(e){var t=XV(e,"string");return typeof t=="symbol"?t:t+""}function XV(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var K5=0,FV={xAxis:{},yAxis:{},zAxis:{}},Y5=Qt({name:"cartesianAxis",initialState:FV,reducers:{addXAxis:{reducer(e,t){e.xAxis[t.payload.id]=t.payload},prepare:et()},replaceXAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.xAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.xAxis[n.id],e.xAxis[r.id]=r)},prepare:et()},removeXAxis:{reducer(e,t){delete e.xAxis[t.payload.id]},prepare:et()},addYAxis:{reducer(e,t){e.yAxis[t.payload.id]=t.payload},prepare:et()},replaceYAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.yAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.yAxis[n.id],e.yAxis[r.id]=r)},prepare:et()},removeYAxis:{reducer(e,t){delete e.yAxis[t.payload.id]},prepare:et()},addZAxis:{reducer(e,t){e.zAxis[t.payload.id]=t.payload},prepare:et()},replaceZAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.zAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.zAxis[n.id],e.zAxis[r.id]=r)},prepare:et()},removeZAxis:{reducer(e,t){delete e.zAxis[t.payload.id]},prepare:et()},updateYAxisWidth(e,t){var{id:n,width:r}=t.payload,l=e.yAxis[n];if(l){var u,s=l.widthHistory||[];if(s.length===3&&s[0]===s[2]&&r===s[1]&&r!==l.width&&Math.abs(r-((u=s[0])!==null&&u!==void 0?u:0))<=1)return;var f=[...s,r].slice(-3);e.yAxis[n]=WA(WA({},l),{},{width:r,widthHistory:f})}}}}),{addXAxis:ZV,replaceXAxis:WV,removeXAxis:QV,addYAxis:JV,replaceYAxis:eX,removeYAxis:tX,addZAxis:KQ,replaceZAxis:YQ,removeZAxis:GQ,updateYAxisWidth:nX}=Y5.actions,rX=Y5.reducer,aX=$([Tt],e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),iX=$([aX,oa,sa],(e,t,n)=>{if(!(!e||t==null||n==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),Lb=()=>pe(iX),lX=()=>pe(FH);function QA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function jy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?QA(Object(n),!0).forEach(function(r){uX(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):QA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function uX(e,t,n){return(t=oX(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oX(e){var t=sX(e,"string");return typeof t=="symbol"?t:t+""}function sX(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var cX=e=>{var{point:t,childIndex:n,mainColor:r,activeDot:l,dataKey:u,clipPath:s}=e;if(l===!1||t.x==null||t.y==null)return null;var f={index:n,dataKey:u,cx:t.x,cy:t.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},d=jy(jy(jy({},f),Bi(l)),Wg(l)),h;return y.isValidElement(l)?h=y.cloneElement(l,d):typeof l=="function"?h=l(d):h=y.createElement(P5,d),y.createElement(ht,{className:"recharts-active-dot",clipPath:s},h)};function JA(e){var{points:t,mainColor:n,activeDot:r,itemDataKey:l,clipPath:u,zIndex:s=wt.activeDot}=e,f=pe(Fa),d=lX();if(t==null||d==null)return null;var h=t.find(m=>d.includes(m.payload));return ut(h)?null:y.createElement(yn,{zIndex:s},y.createElement(cX,{point:h,childIndex:Number(f),mainColor:n,dataKey:l,activeDot:r,clipPath:u}))}var e2=(e,t,n)=>{var r=n??e;if(!ut(r))return Wt(r,t,0)},fX=(e,t,n)=>{var r={},l=e.filter(Qd),u=e.filter(h=>h.stackId==null),s=l.reduce((h,m)=>{var v=h[m.stackId];return v==null&&(v=[]),v.push(m),h[m.stackId]=v,h},r),f=Object.entries(s).map(h=>{var m,[v,b]=h,S=b.map(_=>_.dataKey),O=e2(t,n,(m=b[0])===null||m===void 0?void 0:m.barSize);return{stackId:v,dataKeys:S,barSize:O}}),d=u.map(h=>{var m=[h.dataKey].filter(b=>b!=null),v=e2(t,n,h.barSize);return{stackId:void 0,dataKeys:m,barSize:v}});return[...f,...d]};function t2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function uf(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?t2(Object(n),!0).forEach(function(r){dX(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):t2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function dX(e,t,n){return(t=hX(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hX(e){var t=mX(e,"string");return typeof t=="symbol"?t:t+""}function mX(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function vX(e,t,n,r,l){var u,s=r.length;if(!(s<1)){var f=Wt(e,n,0,!0),d,h=[];if(je((u=r[0])===null||u===void 0?void 0:u.barSize)){var m=!1,v=n/s,b=r.reduce((A,N)=>A+(N.barSize||0),0);b+=(s-1)*f,b>=n&&(b-=(s-1)*f,f=0),b>=n&&v>0&&(m=!0,v*=.9,b=s*v);var S=(n-b)/2>>0,O={offset:S-f,size:0};d=r.reduce((A,N)=>{var T,P={stackId:N.stackId,dataKeys:N.dataKeys,position:{offset:O.offset+O.size+f,size:m?v:(T=N.barSize)!==null&&T!==void 0?T:0}},M=[...A,P];return O=P.position,M},h)}else{var _=Wt(t,n,0,!0);n-2*_-(s-1)*f<=0&&(f=0);var w=(n-2*_-(s-1)*f)/s;w>1&&(w>>=0);var j=je(l)?Math.min(w,l):w;d=r.reduce((A,N,T)=>[...A,{stackId:N.stackId,dataKeys:N.dataKeys,position:{offset:_+(w+f)*T+(w-j)/2,size:j}}],h)}return d}}var pX=(e,t,n,r,l,u,s)=>{var f=ut(s)?t:s,d=vX(n,r,l!==u?l:u,e,f);return l!==u&&d!=null&&(d=d.map(h=>uf(uf({},h),{},{position:uf(uf({},h.position),{},{offset:h.position.offset-l/2})}))),d},yX=(e,t)=>{var n=Wd(t);if(!(!e||n==null||t==null)){var{stackId:r}=t;if(r!=null){var l=e[r];if(l){var{stackedData:u}=l;if(u)return u.find(s=>s.key===n)}}}},gX=(e,t)=>{if(!(e==null||t==null)){var n=e.find(r=>r.stackId===t.stackId&&t.dataKey!=null&&r.dataKeys.includes(t.dataKey));if(n!=null)return n.position}};function bX(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&je(e.zIndex)?e.zIndex:t}var G5=e=>{var{chartData:t}=e,n=Xe(),r=Jt();return y.useEffect(()=>r?()=>{}:(n(cA(t)),()=>{n(cA(void 0))}),[t,n,r]),null},n2={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},V5=Qt({name:"brush",initialState:n2,reducers:{setBrushSettings(e,t){return t.payload==null?n2:t.payload}}}),{setBrushSettings:VQ}=V5.actions,xX=V5.reducer;function SX(e){return(e%180+180)%180}var wX=function(t){var{width:n,height:r}=t,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=SX(l),s=u*Math.PI/180,f=Math.atan(r/n),d=s>f&&s<Math.PI-f?r/Math.sin(s):n/Math.cos(s);return Math.abs(d)},OX={dots:[],areas:[],lines:[]},X5=Qt({name:"referenceElements",initialState:OX,reducers:{addDot:(e,t)=>{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=Vn(e).dots.findIndex(r=>r===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=Vn(e).areas.findIndex(r=>r===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var n=Vn(e).lines.findIndex(r=>r===t.payload);n!==-1&&e.lines.splice(n,1)}}}),{addDot:XQ,removeDot:FQ,addArea:ZQ,removeArea:WQ,addLine:QQ,removeLine:JQ}=X5.actions,_X=X5.reducer,EX=y.createContext(void 0),jX=e=>{var{children:t}=e,[n]=y.useState("".concat(Bo("recharts"),"-clip")),r=Lb();if(r==null)return null;var{x:l,y:u,width:s,height:f}=r;return y.createElement(EX.Provider,{value:n},y.createElement("defs",null,y.createElement("clipPath",{id:n},y.createElement("rect",{x:l,y:u,height:f,width:s}))),t)};function F5(e,t){if(t<1)return[];if(t===1)return e;for(var n=[],r=0;r<e.length;r+=t){var l=e[r];l!==void 0&&n.push(l)}return n}function AX(e,t,n){var r={width:e.width+t.width,height:e.height+t.height};return wX(r,n)}function CX(e,t,n){var r=n==="width",{x:l,y:u,width:s,height:f}=e;return t===1?{start:r?l:u,end:r?l+s:u+f}:{start:r?l+s:u+f,end:r?l:u}}function Jo(e,t,n,r,l){if(e*t<e*r||e*t>e*l)return!1;var u=n();return e*(t-e*u/2-r)>=0&&e*(t+e*u/2-l)<=0}function TX(e,t){return F5(e,t+1)}function NX(e,t,n,r,l){for(var u=(r||[]).slice(),{start:s,end:f}=t,d=0,h=1,m=s,v=function(){var O=r==null?void 0:r[d];if(O===void 0)return{v:F5(r,h)};var _=d,w,j=()=>(w===void 0&&(w=n(O,_)),w),A=O.coordinate,N=d===0||Jo(e,A,j,m,f);N||(d=0,m=s,h+=1),N&&(m=A+e*(j()/2+l),d+=h)},b;h<=u.length;)if(b=v(),b)return b.v;return[]}function PX(e,t,n,r,l){var u=(r||[]).slice(),s=u.length;if(s===0)return[];for(var{start:f,end:d}=t,h=1;h<=s;h++){for(var m=(s-1)%h,v=f,b=!0,S=function(){var T=r[_];if(T==null)return 0;var P=_,M,R=()=>(M===void 0&&(M=n(T,P)),M),I=T.coordinate,q=_===m||Jo(e,I,R,v,d);if(!q)return b=!1,1;q&&(v=I+e*(R()/2+l))},O,_=m;_<s&&(O=S(),!(O!==0&&O===1));_+=h);if(b){for(var w=[],j=m;j<s;j+=h){var A=r[j];A!=null&&w.push(A)}return w}}return[]}function r2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Ft(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?r2(Object(n),!0).forEach(function(r){MX(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function MX(e,t,n){return(t=DX(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function DX(e){var t=RX(e,"string");return typeof t=="symbol"?t:t+""}function RX(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kX(e,t,n,r,l){for(var u=(r||[]).slice(),s=u.length,{start:f}=t,{end:d}=t,h=function(b){var S=u[b];if(S==null)return 1;var O=S,_,w=()=>(_===void 0&&(_=n(S,b)),_);if(b===s-1){var j=e*(O.coordinate+e*w()/2-d);u[b]=O=Ft(Ft({},O),{},{tickCoord:j>0?O.coordinate-j*e:O.coordinate})}else u[b]=O=Ft(Ft({},O),{},{tickCoord:O.coordinate});if(O.tickCoord!=null){var A=Jo(e,O.tickCoord,w,f,d);A&&(d=O.tickCoord-e*(w()/2+l),u[b]=Ft(Ft({},O),{},{isShow:!0}))}},m=s-1;m>=0;m--)h(m);return u}function LX(e,t,n,r,l,u){var s=(r||[]).slice(),f=s.length,{start:d,end:h}=t;if(u){var m=r[f-1];if(m!=null){var v=n(m,f-1),b=e*(m.coordinate+e*v/2-h);if(s[f-1]=m=Ft(Ft({},m),{},{tickCoord:b>0?m.coordinate-b*e:m.coordinate}),m.tickCoord!=null){var S=Jo(e,m.tickCoord,()=>v,d,h);S&&(h=m.tickCoord-e*(v/2+l),s[f-1]=Ft(Ft({},m),{},{isShow:!0}))}}}for(var O=u?f-1:f,_=function(A){var N=s[A];if(N==null)return 1;var T=N,P,M=()=>(P===void 0&&(P=n(N,A)),P);if(A===0){var R=e*(T.coordinate-e*M()/2-d);s[A]=T=Ft(Ft({},T),{},{tickCoord:R<0?T.coordinate-R*e:T.coordinate})}else s[A]=T=Ft(Ft({},T),{},{tickCoord:T.coordinate});if(T.tickCoord!=null){var I=Jo(e,T.tickCoord,M,d,h);I&&(d=T.tickCoord+e*(M()/2+l),s[A]=Ft(Ft({},T),{},{isShow:!0}))}},w=0;w<O;w++)_(w);return s}function zb(e,t,n){var{tick:r,ticks:l,viewBox:u,minTickGap:s,orientation:f,interval:d,tickFormatter:h,unit:m,angle:v}=e;if(!l||!l.length||!r)return[];if(de(d)||fs.isSsr){var b;return(b=TX(l,de(d)?d:0))!==null&&b!==void 0?b:[]}var S=[],O=f==="top"||f==="bottom"?"width":"height",_=m&&O==="width"?Ro(m,{fontSize:t,letterSpacing:n}):{width:0,height:0},w=(P,M)=>{var R=typeof h=="function"?h(P.value,M):P.value;return O==="width"?AX(Ro(R,{fontSize:t,letterSpacing:n}),_,v):Ro(R,{fontSize:t,letterSpacing:n})[O]},j=l[0],A=l[1],N=l.length>=2&&j!=null&&A!=null?kt(A.coordinate-j.coordinate):1,T=CX(u,N,O);return d==="equidistantPreserveStart"?NX(N,T,w,l,s):d==="equidistantPreserveEnd"?PX(N,T,w,l,s):(d==="preserveStart"||d==="preserveStartEnd"?S=LX(N,T,w,l,s,d==="preserveStartEnd"):S=kX(N,T,w,l,s),S.filter(P=>P.isShow))}var zX=e=>{var{ticks:t,label:n,labelGapWithTick:r=5,tickSize:l=0,tickMargin:u=0}=e,s=0;if(t){Array.from(t).forEach(m=>{if(m){var v=m.getBoundingClientRect();v.width>s&&(s=v.width)}});var f=n?n.getBoundingClientRect().width:0,d=l+u,h=s+d+f+(n?r:0);return Math.round(h)}return 0},IX={xAxis:{},yAxis:{}},Z5=Qt({name:"renderedTicks",initialState:IX,reducers:{setRenderedTicks:(e,t)=>{var{axisType:n,axisId:r,ticks:l}=t.payload;e[n][r]=l},removeRenderedTicks:(e,t)=>{var{axisType:n,axisId:r}=t.payload;delete e[n][r]}}}),{setRenderedTicks:BX,removeRenderedTicks:UX}=Z5.actions,$X=Z5.reducer,qX=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function HX(e,t){if(e==null)return{};var n,r,l=KX(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function KX(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Xi(){return Xi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Xi.apply(null,arguments)}function a2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function ft(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?a2(Object(n),!0).forEach(function(r){YX(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function YX(e,t,n){return(t=GX(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function GX(e){var t=VX(e,"string");return typeof t=="symbol"?t:t+""}function VX(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ta={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd",zIndex:wt.axis};function XX(e){var{x:t,y:n,width:r,height:l,orientation:u,mirror:s,axisLine:f,otherSvgProps:d}=e;if(!f)return null;var h=ft(ft(ft({},d),pn(f)),{},{fill:"none"});if(u==="top"||u==="bottom"){var m=+(u==="top"&&!s||u==="bottom"&&s);h=ft(ft({},h),{},{x1:t,y1:n+m*l,x2:t+r,y2:n+m*l})}else{var v=+(u==="left"&&!s||u==="right"&&s);h=ft(ft({},h),{},{x1:t+v*r,y1:n,x2:t+v*r,y2:n+l})}return y.createElement("line",Xi({},h,{className:Ie("recharts-cartesian-axis-line",$i(f,"className"))}))}function FX(e,t,n,r,l,u,s,f,d){var h,m,v,b,S,O,_=f?-1:1,w=e.tickSize||s,j=de(e.tickCoord)?e.tickCoord:e.coordinate;switch(u){case"top":h=m=e.coordinate,b=n+ +!f*l,v=b-_*w,O=v-_*d,S=j;break;case"left":v=b=e.coordinate,m=t+ +!f*r,h=m-_*w,S=h-_*d,O=j;break;case"right":v=b=e.coordinate,m=t+ +f*r,h=m+_*w,S=h+_*d,O=j;break;default:h=m=e.coordinate,b=n+ +f*l,v=b+_*w,O=v+_*d,S=j;break}return{line:{x1:h,y1:v,x2:m,y2:b},tick:{x:S,y:O}}}function ZX(e,t){switch(e){case"left":return t?"start":"end";case"right":return t?"end":"start";default:return"middle"}}function WX(e,t){switch(e){case"left":case"right":return"middle";case"top":return t?"start":"end";default:return t?"end":"start"}}function QX(e){var{option:t,tickProps:n,value:r}=e,l,u=Ie(n.className,"recharts-cartesian-axis-tick-value");if(y.isValidElement(t))l=y.cloneElement(t,ft(ft({},n),{},{className:u}));else if(typeof t=="function")l=t(ft(ft({},n),{},{className:u}));else{var s="recharts-cartesian-axis-tick-value";typeof t!="boolean"&&(s=Ie(s,k5(t))),l=y.createElement(hh,Xi({},n,{className:s}),r)}return l}function JX(e){var{ticks:t,axisType:n,axisId:r}=e,l=Xe();return y.useEffect(()=>{if(r==null||n==null)return Fi;var u=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index}));return l(BX({ticks:u,axisId:r,axisType:n})),()=>{l(UX({axisId:r,axisType:n}))}},[l,t,r,n]),null}var eF=y.forwardRef((e,t)=>{var{ticks:n=[],tick:r,tickLine:l,stroke:u,tickFormatter:s,unit:f,padding:d,tickTextProps:h,orientation:m,mirror:v,x:b,y:S,width:O,height:_,tickSize:w,tickMargin:j,fontSize:A,letterSpacing:N,getTicksConfig:T,events:P,axisType:M,axisId:R}=e,I=zb(ft(ft({},T),{},{ticks:n}),A,N),q=pn(T),W=Bi(r),X=w5(q.textAnchor)?q.textAnchor:ZX(m,v),U=WX(m,v),se={};typeof l=="object"&&(se=l);var F=ft(ft({},q),{},{fill:"none"},se),J=I.map(ne=>ft({entry:ne},FX(ne,b,S,O,_,m,w,v,j))),z=J.map(ne=>{var{entry:le,line:Q}=ne;return y.createElement(ht,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(le.value,"-").concat(le.coordinate,"-").concat(le.tickCoord)},l&&y.createElement("line",Xi({},F,Q,{className:Ie("recharts-cartesian-axis-tick-line",$i(l,"className"))})))}),V=J.map((ne,le)=>{var Q,D,{entry:K,tick:oe}=ne,ce=ft(ft(ft(ft({verticalAnchor:U},q),{},{textAnchor:X,stroke:"none",fill:u},oe),{},{index:le,payload:K,visibleTicksCount:I.length,tickFormatter:s,padding:d},h),{},{angle:(Q=(D=h==null?void 0:h.angle)!==null&&D!==void 0?D:q.angle)!==null&&Q!==void 0?Q:0}),ge=ft(ft({},ce),W);return y.createElement(ht,Xi({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(K.value,"-").concat(K.coordinate,"-").concat(K.tickCoord)},is(P,K,le)),r&&y.createElement(QX,{option:r,tickProps:ge,value:"".concat(typeof s=="function"?s(K.value,le):K.value).concat(f||"")}))});return y.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(M,"-ticks")},y.createElement(JX,{ticks:I,axisId:R,axisType:M}),V.length>0&&y.createElement(yn,{zIndex:wt.label},y.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(M,"-tick-labels"),ref:t},V)),z.length>0&&y.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(M,"-tick-lines")},z))}),tF=y.forwardRef((e,t)=>{var{axisLine:n,width:r,height:l,className:u,hide:s,ticks:f,axisType:d,axisId:h}=e,m=HX(e,qX),[v,b]=y.useState(""),[S,O]=y.useState(""),_=y.useRef(null);y.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var j;return zX({ticks:_.current,label:(j=e.labelRef)===null||j===void 0?void 0:j.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var w=y.useCallback(j=>{if(j){var A=j.getElementsByClassName("recharts-cartesian-axis-tick-value");_.current=A;var N=A[0];if(N){var T=window.getComputedStyle(N),P=T.fontSize,M=T.letterSpacing;(P!==v||M!==S)&&(b(P),O(M))}}},[v,S]);return s||r!=null&&r<=0||l!=null&&l<=0?null:y.createElement(yn,{zIndex:e.zIndex},y.createElement(ht,{className:Ie("recharts-cartesian-axis",u)},y.createElement(XX,{x:e.x,y:e.y,width:r,height:l,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:pn(e)}),y.createElement(eF,{ref:w,axisType:d,events:m,fontSize:v,getTicksConfig:e,height:e.height,letterSpacing:S,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:f,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:h}),y.createElement(XY,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},y.createElement(aG,{label:e.label,labelRef:e.labelRef}),e.children)))}),Ib=y.forwardRef((e,t)=>{var n=Ct(e,ta);return y.createElement(tF,Xi({},n,{ref:t}))});Ib.displayName="CartesianAxis";var nF=["x1","y1","x2","y2","key"],rF=["offset"],aF=["xAxisId","yAxisId"],iF=["xAxisId","yAxisId"];function i2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Zt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?i2(Object(n),!0).forEach(function(r){lF(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function lF(e,t,n){return(t=uF(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uF(e){var t=oF(e,"string");return typeof t=="symbol"?t:t+""}function oF(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Mi(){return Mi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Mi.apply(null,arguments)}function vd(e,t){if(e==null)return{};var n,r,l=sF(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function sF(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var cF=e=>{var{fill:t}=e;if(!t||t==="none")return null;var{fillOpacity:n,x:r,y:l,width:u,height:s,ry:f}=e;return y.createElement("rect",{x:r,y:l,ry:f,width:u,height:s,stroke:"none",fill:t,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function W5(e){var{option:t,lineItemProps:n}=e,r;if(y.isValidElement(t))r=y.cloneElement(t,n);else if(typeof t=="function")r=t(n);else{var l,{x1:u,y1:s,x2:f,y2:d,key:h}=n,m=vd(n,nF),v=(l=pn(m))!==null&&l!==void 0?l:{},{offset:b}=v,S=vd(v,rF);r=y.createElement("line",Mi({},S,{x1:u,y1:s,x2:f,y2:d,fill:"none",key:h}))}return r}function fF(e){var{x:t,width:n,horizontal:r=!0,horizontalPoints:l}=e;if(!r||!l||!l.length)return null;var{xAxisId:u,yAxisId:s}=e,f=vd(e,aF),d=l.map((h,m)=>{var v=Zt(Zt({},f),{},{x1:t,y1:h,x2:t+n,y2:h,key:"line-".concat(m),index:m});return y.createElement(W5,{key:"line-".concat(m),option:r,lineItemProps:v})});return y.createElement("g",{className:"recharts-cartesian-grid-horizontal"},d)}function dF(e){var{y:t,height:n,vertical:r=!0,verticalPoints:l}=e;if(!r||!l||!l.length)return null;var{xAxisId:u,yAxisId:s}=e,f=vd(e,iF),d=l.map((h,m)=>{var v=Zt(Zt({},f),{},{x1:h,y1:t,x2:h,y2:t+n,key:"line-".concat(m),index:m});return y.createElement(W5,{option:r,lineItemProps:v,key:"line-".concat(m)})});return y.createElement("g",{className:"recharts-cartesian-grid-vertical"},d)}function hF(e){var{horizontalFill:t,fillOpacity:n,x:r,y:l,width:u,height:s,horizontalPoints:f,horizontal:d=!0}=e;if(!d||!t||!t.length||f==null)return null;var h=f.map(v=>Math.round(v+l-l)).sort((v,b)=>v-b);l!==h[0]&&h.unshift(0);var m=h.map((v,b)=>{var S=h[b+1],O=S==null,_=O?l+s-v:S-v;if(_<=0)return null;var w=b%t.length;return y.createElement("rect",{key:"react-".concat(b),y:v,x:r,height:_,width:u,stroke:"none",fill:t[w],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return y.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},m)}function mF(e){var{vertical:t=!0,verticalFill:n,fillOpacity:r,x:l,y:u,width:s,height:f,verticalPoints:d}=e;if(!t||!n||!n.length)return null;var h=d.map(v=>Math.round(v+l-l)).sort((v,b)=>v-b);l!==h[0]&&h.unshift(0);var m=h.map((v,b)=>{var S=h[b+1],O=S==null,_=O?l+s-v:S-v;if(_<=0)return null;var w=b%n.length;return y.createElement("rect",{key:"react-".concat(b),x:v,y:u,width:_,height:f,stroke:"none",fill:n[w],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return y.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},m)}var vF=(e,t)=>{var{xAxis:n,width:r,height:l,offset:u}=e;return TT(zb(Zt(Zt(Zt({},ta),n),{},{ticks:NT(n),viewBox:{x:0,y:0,width:r,height:l}})),u.left,u.left+u.width,t)},pF=(e,t)=>{var{yAxis:n,width:r,height:l,offset:u}=e;return TT(zb(Zt(Zt(Zt({},ta),n),{},{ticks:NT(n),viewBox:{x:0,y:0,width:r,height:l}})),u.top,u.top+u.height,t)},yF={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:wt.grid};function Q5(e){var t=c0(),n=f0(),r=IT(),l=Zt(Zt({},Ct(e,yF)),{},{x:de(e.x)?e.x:r.left,y:de(e.y)?e.y:r.top,width:de(e.width)?e.width:r.width,height:de(e.height)?e.height:r.height}),{xAxisId:u,yAxisId:s,x:f,y:d,width:h,height:m,syncWithTicks:v,horizontalValues:b,verticalValues:S}=l,O=Jt(),_=pe(q=>Wj(q,"xAxis",u,O)),w=pe(q=>Wj(q,"yAxis",s,O));if(!_r(h)||!_r(m)||!de(f)||!de(d))return null;var j=l.verticalCoordinatesGenerator||vF,A=l.horizontalCoordinatesGenerator||pF,{horizontalPoints:N,verticalPoints:T}=l;if((!N||!N.length)&&typeof A=="function"){var P=b&&b.length,M=A({yAxis:w?Zt(Zt({},w),{},{ticks:P?b:w.ticks}):void 0,width:t??h,height:n??m,offset:r},P?!0:v);Bf(Array.isArray(M),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof M,"]")),Array.isArray(M)&&(N=M)}if((!T||!T.length)&&typeof j=="function"){var R=S&&S.length,I=j({xAxis:_?Zt(Zt({},_),{},{ticks:R?S:_.ticks}):void 0,width:t??h,height:n??m,offset:r},R?!0:v);Bf(Array.isArray(I),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof I,"]")),Array.isArray(I)&&(T=I)}return y.createElement(yn,{zIndex:l.zIndex},y.createElement("g",{className:"recharts-cartesian-grid"},y.createElement(cF,{fill:l.fill,fillOpacity:l.fillOpacity,x:l.x,y:l.y,width:l.width,height:l.height,ry:l.ry}),y.createElement(hF,Mi({},l,{horizontalPoints:N})),y.createElement(mF,Mi({},l,{verticalPoints:T})),y.createElement(fF,Mi({},l,{offset:r,horizontalPoints:N,xAxis:_,yAxis:w})),y.createElement(dF,Mi({},l,{offset:r,verticalPoints:T,xAxis:_,yAxis:w}))))}Q5.displayName="CartesianGrid";var gF={},J5=Qt({name:"errorBars",initialState:gF,reducers:{addErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]||(e[n]=[]),e[n].push(r)},replaceErrorBar:(e,t)=>{var{itemId:n,prev:r,next:l}=t.payload;e[n]&&(e[n]=e[n].map(u=>u.dataKey===r.dataKey&&u.direction===r.direction?l:u))},removeErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]&&(e[n]=e[n].filter(l=>l.dataKey!==r.dataKey||l.direction!==r.direction))}}}),{addErrorBar:eJ,replaceErrorBar:tJ,removeErrorBar:nJ}=J5.actions,bF=J5.reducer,xF=["children"];function SF(e,t){if(e==null)return{};var n,r,l=wF(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function wF(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var OF={data:[],xAxisId:"xAxis-0",yAxisId:"yAxis-0",dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0},_F=y.createContext(OF);function EF(e){var{children:t}=e,n=SF(e,xF);return y.createElement(_F.Provider,{value:n},t)}function Bb(e,t){var n,r,l=pe(h=>fa(h,e)),u=pe(h=>da(h,t)),s=(n=l==null?void 0:l.allowDataOverflow)!==null&&n!==void 0?n:Et.allowDataOverflow,f=(r=u==null?void 0:u.allowDataOverflow)!==null&&r!==void 0?r:jt.allowDataOverflow,d=s||f;return{needClip:d,needClipX:s,needClipY:f}}function eM(e){var{xAxisId:t,yAxisId:n,clipPathId:r}=e,l=Lb(),{needClipX:u,needClipY:s,needClip:f}=Bb(t,n);if(!f||!l)return null;var{x:d,y:h,width:m,height:v}=l;return y.createElement("clipPath",{id:"clipPath-".concat(r)},y.createElement("rect",{x:u?d:d-m/2,y:s?h:h-v/2,width:u?m:m*2,height:s?v:v*2}))}function jF(e){var t=Bi(e),n=3,r=2;if(t!=null){var{r:l,strokeWidth:u}=t,s=Number(l),f=Number(u);return(Number.isNaN(s)||s<0)&&(s=n),(Number.isNaN(f)||f<0)&&(f=r),{r:s,strokeWidth:f}}return{r:n,strokeWidth:r}}function Tr(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(l=>l.id===t))===null||r===void 0?void 0:r.xAxisId)!==null&&n!==void 0?n:K5}function Nr(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(l=>l.id===t))===null||r===void 0?void 0:r.yAxisId)!==null&&n!==void 0?n:K5}var tM=(e,t,n)=>Xa(e,"xAxis",Tr(e,t),n),nM=(e,t,n)=>Va(e,"xAxis",Tr(e,t),n),rM=(e,t,n)=>Xa(e,"yAxis",Nr(e,t),n),aM=(e,t,n)=>Va(e,"yAxis",Nr(e,t),n),AF=$([ke,tM,rM,nM,aM],(e,t,n,r,l)=>Cr(e,"xAxis")?eu(t,r,!1):eu(n,l,!1)),CF=(e,t)=>t,iM=$([uh,CF],(e,t)=>e.filter(n=>n.type==="area").find(n=>n.id===t)),lM=e=>{var t=ke(e),n=Cr(t,"xAxis");return n?"yAxis":"xAxis"},TF=(e,t)=>{var n=lM(e);return n==="yAxis"?Nr(e,t):Tr(e,t)},NF=(e,t,n)=>ud(e,lM(e),TF(e,t),n),PF=$([iM,NF],(e,t)=>{var n;if(!(e==null||t==null)){var{stackId:r}=e,l=Wd(e);if(!(r==null||l==null)){var u=(n=t[r])===null||n===void 0?void 0:n.stackedData,s=u==null?void 0:u.find(f=>f.key===l);if(s!=null)return s.map(f=>[f[0],f[1]])}}}),MF=$([ke,tM,rM,nM,aM,PF,oN,AF,iM,iU],(e,t,n,r,l,u,s,f,d,h)=>{var{chartData:m,dataStartIndex:v,dataEndIndex:b}=s;if(!(d==null||e!=="horizontal"&&e!=="vertical"||t==null||n==null||r==null||l==null||r.length===0||l.length===0||f==null)){var{data:S}=d,O;if(S&&S.length>0?O=S:O=m==null?void 0:m.slice(v,b+1),O!=null)return QF({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:l,dataStartIndex:v,areaSettings:d,stackedData:u,displayedData:O,chartBaseValue:h,bandSize:f})}}),DF=["id"],RF=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function Li(){return Li=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Li.apply(null,arguments)}function uM(e,t){if(e==null)return{};var n,r,l=kF(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function kF(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function l2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Xl(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?l2(Object(n),!0).forEach(function(r){LF(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function LF(e,t,n){return(t=zF(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zF(e){var t=IF(e,"string");return typeof t=="symbol"?t:t+""}function IF(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function pd(e,t){return e&&e!=="none"?e:t}var BF=e=>{var{dataKey:t,name:n,stroke:r,fill:l,legendType:u,hide:s}=e;return[{inactive:s,dataKey:t,type:u,color:pd(r,l),value:du(n,t),payload:e}]},UF=y.memo(e=>{var{dataKey:t,data:n,stroke:r,strokeWidth:l,fill:u,name:s,hide:f,unit:d,tooltipType:h,id:m}=e,v={dataDefinedOnItem:n,getPosition:Fi,settings:{stroke:r,strokeWidth:l,fill:u,dataKey:t,nameKey:void 0,name:du(s,t),hide:f,type:h,color:pd(r,u),unit:d,graphicalItemId:m}};return y.createElement(Rb,{tooltipEntrySettings:v})});function $F(e){var{clipPathId:t,points:n,props:r}=e,{needClip:l,dot:u,dataKey:s}=r,f=pn(r);return y.createElement(YV,{points:n,dot:u,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:s,baseProps:f,needClip:l,clipPathId:t})}function qF(e){var{showLabels:t,children:n,points:r}=e,l=r.map(u=>{var s,f,d={x:(s=u.x)!==null&&s!==void 0?s:0,y:(f=u.y)!==null&&f!==void 0?f:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Xl(Xl({},d),{},{value:u.value,payload:u.payload,parentViewBox:void 0,viewBox:d,fill:void 0})});return y.createElement(T5,{value:t?l:void 0},n)}function u2(e){var{points:t,baseLine:n,needClip:r,clipPathId:l,props:u}=e,{layout:s,type:f,stroke:d,connectNulls:h,isRange:m}=u,{id:v}=u,b=uM(u,DF),S=pn(b),O=rn(b);return y.createElement(y.Fragment,null,(t==null?void 0:t.length)>1&&y.createElement(ht,{clipPath:r?"url(#clipPath-".concat(l,")"):void 0},y.createElement(Zl,Li({},O,{id:v,points:t,connectNulls:h,type:f,baseLine:n,layout:s,stroke:"none",className:"recharts-area-area"})),d!=="none"&&y.createElement(Zl,Li({},S,{className:"recharts-area-curve",layout:s,type:f,connectNulls:h,fill:"none",points:t})),d!=="none"&&m&&Array.isArray(n)&&y.createElement(Zl,Li({},S,{className:"recharts-area-curve",layout:s,type:f,connectNulls:h,fill:"none",points:n}))),y.createElement($F,{points:t,props:b,clipPathId:l}))}function HF(e){var t,n,{alpha:r,baseLine:l,points:u,strokeWidth:s}=e,f=(t=u[0])===null||t===void 0?void 0:t.y,d=(n=u[u.length-1])===null||n===void 0?void 0:n.y;if(!je(f)||!je(d))return null;var h=r*Math.abs(f-d),m=Math.max(...u.map(v=>v.x||0));return de(l)?m=Math.max(l,m):l&&Array.isArray(l)&&l.length&&(m=Math.max(...l.map(v=>v.x||0),m)),de(m)?y.createElement("rect",{x:0,y:f<d?f:f-h,width:m+(s?parseInt("".concat(s),10):1),height:Math.floor(h)}):null}function KF(e){var t,n,{alpha:r,baseLine:l,points:u,strokeWidth:s}=e,f=(t=u[0])===null||t===void 0?void 0:t.x,d=(n=u[u.length-1])===null||n===void 0?void 0:n.x;if(!je(f)||!je(d))return null;var h=r*Math.abs(f-d),m=Math.max(...u.map(v=>v.y||0));return de(l)?m=Math.max(l,m):l&&Array.isArray(l)&&l.length&&(m=Math.max(...l.map(v=>v.y||0),m)),de(m)?y.createElement("rect",{x:f<d?f:f-h,y:0,width:h,height:Math.floor(m+(s?parseInt("".concat(s),10):1))}):null}function YF(e){var{alpha:t,layout:n,points:r,baseLine:l,strokeWidth:u}=e;return n==="vertical"?y.createElement(HF,{alpha:t,points:r,baseLine:l,strokeWidth:u}):y.createElement(KF,{alpha:t,points:r,baseLine:l,strokeWidth:u})}function GF(e){var{needClip:t,clipPathId:n,props:r,previousPointsRef:l,previousBaselineRef:u}=e,{points:s,baseLine:f,isAnimationActive:d,animationBegin:h,animationDuration:m,animationEasing:v,onAnimationStart:b,onAnimationEnd:S}=r,O=y.useMemo(()=>({points:s,baseLine:f}),[s,f]),_=hs(O,"recharts-area-"),w=d0(),[j,A]=y.useState(!1),N=!j,T=y.useCallback(()=>{typeof S=="function"&&S(),A(!1)},[S]),P=y.useCallback(()=>{typeof b=="function"&&b(),A(!0)},[b]);if(w==null)return null;var M=l.current,R=u.current;return y.createElement(qF,{showLabels:N,points:s},r.children,y.createElement(ds,{animationId:_,begin:h,duration:m,isActive:d,easing:v,onAnimationEnd:T,onAnimationStart:P,key:_},I=>{if(M){var q=M.length/s.length,W=I===1?s:s.map((U,se)=>{var F=Math.floor(se*q);if(M[F]){var J=M[F];return Xl(Xl({},U),{},{x:nt(J.x,U.x,I),y:nt(J.y,U.y,I)})}return U}),X;return de(f)?X=nt(R,f,I):ut(f)||lr(f)?X=nt(R,0,I):X=f.map((U,se)=>{var F=Math.floor(se*q);if(Array.isArray(R)&&R[F]){var J=R[F];return Xl(Xl({},U),{},{x:nt(J.x,U.x,I),y:nt(J.y,U.y,I)})}return U}),I>0&&(l.current=W,u.current=X),y.createElement(u2,{points:W,baseLine:X,needClip:t,clipPathId:n,props:r})}return I>0&&(l.current=s,u.current=f),y.createElement(ht,null,d&&y.createElement("defs",null,y.createElement("clipPath",{id:"animationClipPath-".concat(n)},y.createElement(YF,{alpha:I,points:s,baseLine:f,layout:w,strokeWidth:r.strokeWidth}))),y.createElement(ht,{clipPath:"url(#animationClipPath-".concat(n,")")},y.createElement(u2,{points:s,baseLine:f,needClip:t,clipPathId:n,props:r})))}),y.createElement(Ab,{label:r.label}))}function VF(e){var{needClip:t,clipPathId:n,props:r}=e,l=y.useRef(null),u=y.useRef();return y.createElement(GF,{needClip:t,clipPathId:n,props:r,previousPointsRef:l,previousBaselineRef:u})}class XF extends y.PureComponent{render(){var{hide:t,dot:n,points:r,className:l,top:u,left:s,needClip:f,xAxisId:d,yAxisId:h,width:m,height:v,id:b,baseLine:S,zIndex:O}=this.props;if(t)return null;var _=Ie("recharts-area",l),w=b,{r:j,strokeWidth:A}=jF(n),N=I5(n),T=j*2+A,P=f?"url(#clipPath-".concat(N?"":"dots-").concat(w,")"):void 0;return y.createElement(yn,{zIndex:O},y.createElement(ht,{className:_},f&&y.createElement("defs",null,y.createElement(eM,{clipPathId:w,xAxisId:d,yAxisId:h}),!N&&y.createElement("clipPath",{id:"clipPath-dots-".concat(w)},y.createElement("rect",{x:s-T/2,y:u-T/2,width:m+T,height:v+T}))),y.createElement(VF,{needClip:f,clipPathId:w,props:this.props})),y.createElement(JA,{points:r,mainColor:pd(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:P}),this.props.isRange&&Array.isArray(S)&&y.createElement(JA,{points:S,mainColor:pd(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:P}))}}var FF={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:wt.area};function ZF(e){var t,{activeDot:n,animationBegin:r,animationDuration:l,animationEasing:u,connectNulls:s,dot:f,fill:d,fillOpacity:h,hide:m,isAnimationActive:v,legendType:b,stroke:S,xAxisId:O,yAxisId:_}=e,w=uM(e,RF),j=Zi(),A=s5(),{needClip:N}=Bb(O,_),T=Jt(),{points:P,isRange:M,baseLine:R}=(t=pe(se=>MF(se,e.id,T)))!==null&&t!==void 0?t:{},I=Lb();if(j!=="horizontal"&&j!=="vertical"||I==null||A!=="AreaChart"&&A!=="ComposedChart")return null;var{height:q,width:W,x:X,y:U}=I;return!P||!P.length?null:y.createElement(XF,Li({},w,{activeDot:n,animationBegin:r,animationDuration:l,animationEasing:u,baseLine:R,connectNulls:s,dot:f,fill:d,fillOpacity:h,height:q,hide:m,layout:j,isAnimationActive:v,isRange:M,legendType:b,needClip:N,points:P,stroke:S,width:W,left:X,top:U,xAxisId:O,yAxisId:_}))}var WF=(e,t,n,r,l)=>{var u=n??t;if(de(u))return u;var s=e==="horizontal"?l:r,f=s.scale.domain();if(s.type==="number"){var d=Math.max(f[0],f[1]),h=Math.min(f[0],f[1]);return u==="dataMin"?h:u==="dataMax"||d<0?d:Math.max(Math.min(f[0],f[1]),0)}return u==="dataMin"?f[0]:u==="dataMax"?f[1]:f[0]};function QF(e){var{areaSettings:{connectNulls:t,baseValue:n,dataKey:r},stackedData:l,layout:u,chartBaseValue:s,xAxis:f,yAxis:d,displayedData:h,dataStartIndex:m,xAxisTicks:v,yAxisTicks:b,bandSize:S}=e,O=l&&l.length,_=WF(u,s,n,f,d),w=u==="horizontal",j=!1,A=h.map((T,P)=>{var M,R,I,q;if(O)q=l[m+P];else{var W=$e(T,r);Array.isArray(W)?(q=W,j=!0):q=[_,W]}var X=(M=(R=q)===null||R===void 0?void 0:R[1])!==null&&M!==void 0?M:null,U=X==null||O&&!t&&$e(T,r)==null;if(w){var se;return{x:H_({axis:f,ticks:v,bandSize:S,entry:T,index:P}),y:U?null:(se=d.scale.map(X))!==null&&se!==void 0?se:null,value:q,payload:T}}return{x:U?null:(I=f.scale.map(X))!==null&&I!==void 0?I:null,y:H_({axis:d,ticks:b,bandSize:S,entry:T,index:P}),value:q,payload:T}}),N;return O||j?N=A.map(T=>{var P,M=Array.isArray(T.value)?T.value[0]:null;if(w){var R;return{x:T.x,y:M!=null&&T.y!=null&&(R=d.scale.map(M))!==null&&R!==void 0?R:null,payload:T.payload}}return{x:M!=null&&(P=f.scale.map(M))!==null&&P!==void 0?P:null,y:T.y,payload:T.payload}}):N=w?d.scale.map(_):f.scale.map(_),{points:A,baseLine:N??0,isRange:j}}function JF(e){var t=Ct(e,FF),n=Jt();return y.createElement(kb,{id:t.id,type:"area"},r=>y.createElement(y.Fragment,null,y.createElement(U5,{legendPayload:BF(t)}),y.createElement(UF,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:r}),y.createElement(q5,{type:"area",id:r,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:PT(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:n,connectNulls:t.connectNulls}),y.createElement(ZF,Li({},t,{id:r}))))}var oM=y.memo(JF,hu);oM.displayName="Area";var eZ="Invariant failed";function tZ(e,t){throw new Error(eZ)}function bg(){return bg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},bg.apply(null,arguments)}function Ub(e){return y.createElement(B5,bg({shapeType:"rectangle",activeClassName:"recharts-active-bar",inActiveClassName:"recharts-inactive-bar"},e))}var nZ=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(r,l)=>{if(de(t))return t;var u=de(r)||ut(r);return u?t(r,l):(u||tZ(),n)}},rZ=(e,t,n)=>n,aZ=(e,t)=>t,Es=$([uh,aZ],(e,t)=>e.filter(n=>n.type==="bar").find(n=>n.id===t)),iZ=$([Es],e=>e==null?void 0:e.maxBarSize),lZ=(e,t,n,r)=>r,uZ=$([ke,uh,Tr,Nr,rZ],(e,t,n,r,l)=>t.filter(u=>e==="horizontal"?u.xAxisId===n:u.yAxisId===r).filter(u=>u.isPanorama===l).filter(u=>u.hide===!1).filter(u=>u.type==="bar")),oZ=(e,t,n)=>{var r=ke(e),l=Tr(e,t),u=Nr(e,t);if(!(l==null||u==null))return r==="horizontal"?ud(e,"yAxis",u,n):ud(e,"xAxis",l,n)},sZ=(e,t)=>{var n=ke(e),r=Tr(e,t),l=Nr(e,t);if(!(r==null||l==null))return n==="horizontal"?Zj(e,"xAxis",r):Zj(e,"yAxis",l)},cZ=$([uZ,aU,sZ],fX),fZ=(e,t,n)=>{var r,l,u=Es(e,t);if(u==null)return 0;var s=Tr(e,t),f=Nr(e,t);if(s==null||f==null)return 0;var d=ke(e),h=xN(e),{maxBarSize:m}=u,v=ut(m)?h:m,b,S;return d==="horizontal"?(b=Xa(e,"xAxis",s,n),S=Va(e,"xAxis",s,n)):(b=Xa(e,"yAxis",f,n),S=Va(e,"yAxis",f,n)),(r=(l=eu(b,S,!0))!==null&&l!==void 0?l:v)!==null&&r!==void 0?r:0},sM=(e,t,n)=>{var r=ke(e),l=Tr(e,t),u=Nr(e,t);if(!(l==null||u==null)){var s,f;return r==="horizontal"?(s=Xa(e,"xAxis",l,n),f=Va(e,"xAxis",l,n)):(s=Xa(e,"yAxis",u,n),f=Va(e,"yAxis",u,n)),eu(s,f)}},dZ=$([cZ,xN,rU,SN,fZ,sM,iZ],pX),hZ=(e,t,n)=>{var r=Tr(e,t);if(r!=null)return Xa(e,"xAxis",r,n)},mZ=(e,t,n)=>{var r=Nr(e,t);if(r!=null)return Xa(e,"yAxis",r,n)},vZ=(e,t,n)=>{var r=Tr(e,t);if(r!=null)return Va(e,"xAxis",r,n)},pZ=(e,t,n)=>{var r=Nr(e,t);if(r!=null)return Va(e,"yAxis",r,n)},yZ=$([dZ,Es],gX),gZ=$([oZ,Es],yX),bZ=$([Tt,l0,hZ,mZ,vZ,pZ,yZ,ke,oN,sM,gZ,Es,lZ],(e,t,n,r,l,u,s,f,d,h,m,v,b)=>{var{chartData:S,dataStartIndex:O,dataEndIndex:_}=d;if(!(v==null||s==null||t==null||f!=="horizontal"&&f!=="vertical"||n==null||r==null||l==null||u==null||h==null)){var{data:w}=v,j;if(w!=null&&w.length>0?j=w:j=S==null?void 0:S.slice(O,_+1),j!=null)return VZ({layout:f,barSettings:v,pos:s,parentViewBox:t,bandSize:h,xAxis:n,yAxis:r,xAxisTicks:l,yAxisTicks:u,stackedData:m,displayedData:j,offset:e,cells:b,dataStartIndex:O})}}),xZ=["index"];function xg(){return xg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xg.apply(null,arguments)}function SZ(e,t){if(e==null)return{};var n,r,l=wZ(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function wZ(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var cM=y.createContext(void 0),OZ=e=>{var t=y.useContext(cM);if(t!=null)return t.stackId;if(e!=null)return PT(e)},_Z=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),EZ=e=>{var t=y.useContext(cM);if(t!=null){var{stackId:n}=t;return"url(#".concat(_Z(n,e),")")}},fM=e=>{var{index:t}=e,n=SZ(e,xZ),r=EZ(t);return y.createElement(ht,xg({className:"recharts-bar-stack-layer",clipPath:r},n))},jZ=["onMouseEnter","onMouseLeave","onClick"],AZ=["value","background","tooltipPosition"],CZ=["id"],TZ=["onMouseEnter","onClick","onMouseLeave"];function Wa(){return Wa=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Wa.apply(null,arguments)}function o2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function tn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?o2(Object(n),!0).forEach(function(r){NZ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function NZ(e,t,n){return(t=PZ(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function PZ(e){var t=MZ(e,"string");return typeof t=="symbol"?t:t+""}function MZ(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function yd(e,t){if(e==null)return{};var n,r,l=DZ(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function DZ(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var RZ=e=>{var{dataKey:t,name:n,fill:r,legendType:l,hide:u}=e;return[{inactive:u,dataKey:t,type:l,color:r,value:du(n,t),payload:e}]},kZ=y.memo(e=>{var{dataKey:t,stroke:n,strokeWidth:r,fill:l,name:u,hide:s,unit:f,tooltipType:d,id:h}=e,m={dataDefinedOnItem:void 0,getPosition:Fi,settings:{stroke:n,strokeWidth:r,fill:l,dataKey:t,nameKey:void 0,name:du(u,t),hide:s,type:d,color:l,unit:f,graphicalItemId:h}};return y.createElement(Rb,{tooltipEntrySettings:m})});function LZ(e){var t=pe(Fa),{data:n,dataKey:r,background:l,allOtherBarProps:u}=e,{onMouseEnter:s,onMouseLeave:f,onClick:d}=u,h=yd(u,jZ),m=Pb(s,r,u.id),v=Mb(f),b=Db(d,r,u.id);if(!l||n==null)return null;var S=Bi(l);return y.createElement(yn,{zIndex:bX(l,wt.barBackground)},n.map((O,_)=>{var{value:w,background:j,tooltipPosition:A}=O,N=yd(O,AZ);if(!j)return null;var T=m(O,_),P=v(O,_),M=b(O,_),R=tn(tn(tn(tn(tn({option:l,isActive:String(_)===t},N),{},{fill:"#eee"},j),S),is(h,O,_)),{},{onMouseEnter:T,onMouseLeave:P,onClick:M,dataKey:r,index:_,className:"recharts-bar-background-rectangle"});return y.createElement(Ub,Wa({key:"background-bar-".concat(_)},R))}))}function zZ(e){var{showLabels:t,children:n,rects:r}=e,l=r==null?void 0:r.map(u=>{var s={x:u.x,y:u.y,width:u.width,lowerWidth:u.width,upperWidth:u.width,height:u.height};return tn(tn({},s),{},{value:u.value,payload:u.payload,parentViewBox:u.parentViewBox,viewBox:s,fill:u.fill})});return y.createElement(T5,{value:t?l:void 0},n)}function IZ(e){var{shape:t,activeBar:n,baseProps:r,entry:l,index:u,dataKey:s}=e,f=pe(Fa),d=pe(bb),h=n&&String(l.originalDataIndex)===f&&(d==null||s===d),[m,v]=y.useState(!1),[b,S]=y.useState(!1);y.useEffect(()=>{var N;return h?(v(!0),N=requestAnimationFrame(()=>{S(!0)})):S(!1),()=>{cancelAnimationFrame(N)}},[h]);var O=y.useCallback(()=>{h||v(!1)},[h]),_=h&&b,w=h||m,j;h?n===!0?j=t:j=n:j=t;var A=y.createElement(Ub,Wa({},r,{name:String(r.name)},l,{isActive:_,option:j,index:u,dataKey:s,onTransitionEnd:O}));return w?y.createElement(yn,{zIndex:wt.activeBar},y.createElement(fM,{index:l.originalDataIndex},A)):A}function BZ(e){var{shape:t,baseProps:n,entry:r,index:l,dataKey:u}=e;return y.createElement(Ub,Wa({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:l,dataKey:u}))}function UZ(e){var t,{data:n,props:r}=e,l=(t=pn(r))!==null&&t!==void 0?t:{},{id:u}=l,s=yd(l,CZ),{shape:f,dataKey:d,activeBar:h}=r,{onMouseEnter:m,onClick:v,onMouseLeave:b}=r,S=yd(r,TZ),O=Pb(m,d,u),_=Mb(b),w=Db(v,d,u);return n?y.createElement(y.Fragment,null,n.map((j,A)=>y.createElement(fM,Wa({index:j.originalDataIndex,key:"rectangle-".concat(j==null?void 0:j.x,"-").concat(j==null?void 0:j.y,"-").concat(j==null?void 0:j.value,"-").concat(A),className:"recharts-bar-rectangle"},is(S,j,A),{onMouseEnter:O(j,A),onMouseLeave:_(j,A),onClick:w(j,A)}),h?y.createElement(IZ,{shape:f,activeBar:h,baseProps:s,entry:j,index:A,dataKey:d}):y.createElement(BZ,{shape:f,baseProps:s,entry:j,index:A,dataKey:d})))):null}function $Z(e){var{props:t,previousRectanglesRef:n}=e,{data:r,layout:l,isAnimationActive:u,animationBegin:s,animationDuration:f,animationEasing:d,onAnimationEnd:h,onAnimationStart:m}=t,v=n.current,b=hs(t,"recharts-bar-"),[S,O]=y.useState(!1),_=!S,w=y.useCallback(()=>{typeof h=="function"&&h(),O(!1)},[h]),j=y.useCallback(()=>{typeof m=="function"&&m(),O(!0)},[m]);return y.createElement(zZ,{showLabels:_,rects:r},y.createElement(ds,{animationId:b,begin:s,duration:f,isActive:u,easing:d,onAnimationEnd:w,onAnimationStart:j,key:b},A=>{var N=A===1?r:r==null?void 0:r.map((T,P)=>{var M=v&&v[P];if(M)return tn(tn({},T),{},{x:nt(M.x,T.x,A),y:nt(M.y,T.y,A),width:nt(M.width,T.width,A),height:nt(M.height,T.height,A)});if(l==="horizontal"){var R=nt(0,T.height,A),I=nt(T.stackedBarStart,T.y,A);return tn(tn({},T),{},{y:I,height:R})}var q=nt(0,T.width,A),W=nt(T.stackedBarStart,T.x,A);return tn(tn({},T),{},{width:q,x:W})});return A>0&&(n.current=N??null),N==null?null:y.createElement(ht,null,y.createElement(UZ,{props:t,data:N}))}),y.createElement(Ab,{label:t.label}),t.children)}function qZ(e){var t=y.useRef(null);return y.createElement($Z,{previousRectanglesRef:t,props:e})}var dM=0,HZ=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:$e(e,t)}};class KZ extends y.PureComponent{render(){var{hide:t,data:n,dataKey:r,className:l,xAxisId:u,yAxisId:s,needClip:f,background:d,id:h}=this.props;if(t||n==null)return null;var m=Ie("recharts-bar",l),v=h;return y.createElement(ht,{className:m,id:h},f&&y.createElement("defs",null,y.createElement(eM,{clipPathId:v,xAxisId:u,yAxisId:s})),y.createElement(ht,{className:"recharts-bar-rectangles",clipPath:f?"url(#clipPath-".concat(v,")"):void 0},y.createElement(LZ,{data:n,dataKey:r,background:d,allOtherBarProps:this.props}),y.createElement(qZ,this.props)))}}var YZ={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:dM,xAxisId:0,yAxisId:0,zIndex:wt.bar};function GZ(e){var{xAxisId:t,yAxisId:n,hide:r,legendType:l,minPointSize:u,activeBar:s,animationBegin:f,animationDuration:d,animationEasing:h,isAnimationActive:m}=e,{needClip:v}=Bb(t,n),b=Zi(),S=Jt(),O=Nb(e.children,dh),_=pe(A=>bZ(A,e.id,S,O));if(b!=="vertical"&&b!=="horizontal")return null;var w,j=_==null?void 0:_[0];return j==null||j.height==null||j.width==null?w=0:w=b==="vertical"?j.height/2:j.width/2,y.createElement(EF,{xAxisId:t,yAxisId:n,data:_,dataPointFormatter:HZ,errorBarOffset:w},y.createElement(KZ,Wa({},e,{layout:b,needClip:v,data:_,xAxisId:t,yAxisId:n,hide:r,legendType:l,minPointSize:u,activeBar:s,animationBegin:f,animationDuration:d,animationEasing:h,isAnimationActive:m})))}function VZ(e){var{layout:t,barSettings:{dataKey:n,minPointSize:r,hasCustomShape:l},pos:u,bandSize:s,xAxis:f,yAxis:d,xAxisTicks:h,yAxisTicks:m,stackedData:v,displayedData:b,offset:S,cells:O,parentViewBox:_,dataStartIndex:w}=e,j=t==="horizontal"?d:f,A=v?j.scale.domain():null,N=FI({numericAxis:j}),T=j.scale.map(N);return b.map((P,M)=>{var R,I,q,W,X,U;if(v){var se=v[M+w];if(se==null)return null;R=KI(se,A)}else R=$e(P,n),Array.isArray(R)||(R=[N,R]);var F=nZ(r,dM)(R[1],M);if(t==="horizontal"){var J,z=d.scale.map(R[0]),V=d.scale.map(R[1]);if(z==null||V==null)return null;I=K_({axis:f,ticks:h,bandSize:s,offset:u.offset,entry:P,index:M}),q=(J=V??z)!==null&&J!==void 0?J:void 0,W=u.size;var ne=z-V;if(X=lr(ne)?0:ne,U={x:I,y:S.top,width:W,height:S.height},Math.abs(F)>0&&Math.abs(X)<Math.abs(F)){var le=kt(X||F)*(Math.abs(F)-Math.abs(X));q-=le,X+=le}}else{var Q=f.scale.map(R[0]),D=f.scale.map(R[1]);if(Q==null||D==null)return null;if(I=Q,q=K_({axis:d,ticks:m,bandSize:s,offset:u.offset,entry:P,index:M}),W=D-Q,X=u.size,U={x:S.left,y:q,width:S.width,height:X},Math.abs(F)>0&&Math.abs(W)<Math.abs(F)){var K=kt(W||F)*(Math.abs(F)-Math.abs(W));W+=K}}if(I==null||q==null||W==null||X==null||!l&&(W===0||X===0))return null;var oe=tn(tn({},P),{},{stackedBarStart:T,x:I,y:q,width:W,height:X,value:v?R:R[1],payload:P,background:U,tooltipPosition:{x:I+W/2,y:q+X/2},parentViewBox:_,originalDataIndex:M},O&&O[M]&&O[M].props);return oe}).filter(Boolean)}function XZ(e){var t=Ct(e,YZ),n=OZ(t.stackId),r=Jt();return y.createElement(kb,{id:t.id,type:"bar"},l=>y.createElement(y.Fragment,null,y.createElement(U5,{legendPayload:RZ(t)}),y.createElement(kZ,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:l}),y.createElement(q5,{type:"bar",id:l,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:n,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:r,hasCustomShape:t.shape!=null}),y.createElement(yn,{zIndex:t.zIndex},y.createElement(GZ,Wa({},t,{id:l})))))}var hM=y.memo(XZ,hu);hM.displayName="Bar";var FZ=["domain","range"],ZZ=["domain","range"];function s2(e,t){if(e==null)return{};var n,r,l=WZ(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function WZ(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function c2(e,t){return e===t?!0:Array.isArray(e)&&e.length===2&&Array.isArray(t)&&t.length===2?e[0]===t[0]&&e[1]===t[1]:!1}function mM(e,t){if(e===t)return!0;var{domain:n,range:r}=e,l=s2(e,FZ),{domain:u,range:s}=t,f=s2(t,ZZ);return!c2(n,u)||!c2(r,s)?!1:hu(l,f)}var QZ=["type"],JZ=["dangerouslySetInnerHTML","ticks","scale"],eW=["id","scale"];function Sg(){return Sg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Sg.apply(null,arguments)}function f2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function d2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?f2(Object(n),!0).forEach(function(r){tW(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function tW(e,t,n){return(t=nW(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nW(e){var t=rW(e,"string");return typeof t=="symbol"?t:t+""}function rW(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function wg(e,t){if(e==null)return{};var n,r,l=aW(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function aW(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function iW(e){var t=Xe(),n=y.useRef(null),r=d0(),{type:l}=e,u=wg(e,QZ),s=Fd(r,"xAxis",l),f=y.useMemo(()=>{if(s!=null)return d2(d2({},u),{},{type:s})},[u,s]);return y.useLayoutEffect(()=>{f!=null&&(n.current===null?t(ZV(f)):n.current!==f&&t(WV({prev:n.current,next:f})),n.current=f)},[f,t]),y.useLayoutEffect(()=>()=>{n.current&&(t(QV(n.current)),n.current=null)},[t]),null}var lW=e=>{var{xAxisId:t,className:n}=e,r=pe(l0),l=Jt(),u="xAxis",s=pe(j=>IP(j,u,t,l)),f=pe(j=>kP(j,t)),d=pe(j=>Iq(j,t)),h=pe(j=>hP(j,t));if(f==null||d==null||h==null)return null;var{dangerouslySetInnerHTML:m,ticks:v,scale:b}=e,S=wg(e,JZ),{id:O,scale:_}=h,w=wg(h,eW);return y.createElement(Ib,Sg({},S,w,{x:d.x,y:d.y,width:f.width,height:f.height,className:Ie("recharts-".concat(u," ").concat(u),n),viewBox:r,ticks:s,axisType:u,axisId:t}))},uW={allowDataOverflow:Et.allowDataOverflow,allowDecimals:Et.allowDecimals,allowDuplicatedCategory:Et.allowDuplicatedCategory,angle:Et.angle,axisLine:ta.axisLine,height:Et.height,hide:!1,includeHidden:Et.includeHidden,interval:Et.interval,label:!1,minTickGap:Et.minTickGap,mirror:Et.mirror,orientation:Et.orientation,padding:Et.padding,reversed:Et.reversed,scale:Et.scale,tick:Et.tick,tickCount:Et.tickCount,tickLine:ta.tickLine,tickSize:ta.tickSize,type:Et.type,niceTicks:Et.niceTicks,xAxisId:0},oW=e=>{var t=Ct(e,uW);return y.createElement(y.Fragment,null,y.createElement(iW,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),y.createElement(lW,t))},$b=y.memo(oW,mM);$b.displayName="XAxis";var sW=["type"],cW=["dangerouslySetInnerHTML","ticks","scale"],fW=["id","scale"];function Og(){return Og=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Og.apply(null,arguments)}function h2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function m2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?h2(Object(n),!0).forEach(function(r){dW(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function dW(e,t,n){return(t=hW(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hW(e){var t=mW(e,"string");return typeof t=="symbol"?t:t+""}function mW(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _g(e,t){if(e==null)return{};var n,r,l=vW(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function vW(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function pW(e){var t=Xe(),n=y.useRef(null),r=d0(),{type:l}=e,u=_g(e,sW),s=Fd(r,"yAxis",l),f=y.useMemo(()=>{if(s!=null)return m2(m2({},u),{},{type:s})},[s,u]);return y.useLayoutEffect(()=>{f!=null&&(n.current===null?t(JV(f)):n.current!==f&&t(eX({prev:n.current,next:f})),n.current=f)},[f,t]),y.useLayoutEffect(()=>()=>{n.current&&(t(tX(n.current)),n.current=null)},[t]),null}function yW(e){var{yAxisId:t,className:n,width:r,label:l}=e,u=y.useRef(null),s=y.useRef(null),f=pe(l0),d=Jt(),h=Xe(),m="yAxis",v=pe(M=>LP(M,t)),b=pe(M=>Uq(M,t)),S=pe(M=>IP(M,m,t,d)),O=pe(M=>mP(M,t));if(y.useLayoutEffect(()=>{if(!(r!=="auto"||!v||jb(l)||y.isValidElement(l)||O==null)){var M=u.current;if(M){var R=M.getCalculatedWidth();Math.round(v.width)!==Math.round(R)&&h(nX({id:t,width:R}))}}},[S,v,h,l,t,r,O]),v==null||b==null||O==null)return null;var{dangerouslySetInnerHTML:_,ticks:w,scale:j}=e,A=_g(e,cW),{id:N,scale:T}=O,P=_g(O,fW);return y.createElement(Ib,Og({},A,P,{ref:u,labelRef:s,x:b.x,y:b.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:v.width,height:v.height,className:Ie("recharts-".concat(m," ").concat(m),n),viewBox:f,ticks:S,axisType:m,axisId:t}))}var gW={allowDataOverflow:jt.allowDataOverflow,allowDecimals:jt.allowDecimals,allowDuplicatedCategory:jt.allowDuplicatedCategory,angle:jt.angle,axisLine:ta.axisLine,hide:!1,includeHidden:jt.includeHidden,interval:jt.interval,label:!1,minTickGap:jt.minTickGap,mirror:jt.mirror,orientation:jt.orientation,padding:jt.padding,reversed:jt.reversed,scale:jt.scale,tick:jt.tick,tickCount:jt.tickCount,tickLine:ta.tickLine,tickSize:ta.tickSize,type:jt.type,niceTicks:jt.niceTicks,width:jt.width,yAxisId:0},bW=e=>{var t=Ct(e,gW);return y.createElement(y.Fragment,null,y.createElement(pW,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),y.createElement(yW,t))},qb=y.memo(bW,mM);qb.displayName="YAxis";var xW=(e,t)=>t,Hb=$([xW,ke,CN,Lt,n5,ha,uK,Tt],mK);function SW(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function Kb(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(SW(e)){var l=e.currentTarget.getBBox();n=l.width>0?t.width/l.width:1,r=l.height>0?t.height/l.height:1}else{var u=e.currentTarget;n=u.offsetWidth>0?t.width/u.offsetWidth:1,r=u.offsetHeight>0?t.height/u.offsetHeight:1}var s=(f,d)=>({relativeX:Math.round((f-t.left)/n),relativeY:Math.round((d-t.top)/r)});return"touches"in e?Array.from(e.touches).map(f=>s(f.clientX,f.clientY)):s(e.clientX,e.clientY)}var vM=Pn("mouseClick"),pM=us();pM.startListening({actionCreator:vM,effect:(e,t)=>{var n=e.payload,r=Hb(t.getState(),Kb(n));(r==null?void 0:r.activeIndex)!=null&&t.dispatch(nH({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var Eg=Pn("mouseMove"),yM=us(),Hl=null,Oi=null,Ay=null;yM.startListening({actionCreator:Eg,effect:(e,t)=>{var n=e.payload,r=t.getState(),{throttleDelay:l,throttledEvents:u}=r.eventSettings,s=u==="all"||(u==null?void 0:u.includes("mousemove"));Hl!==null&&(cancelAnimationFrame(Hl),Hl=null),Oi!==null&&(typeof l!="number"||!s)&&(clearTimeout(Oi),Oi=null),Ay=Kb(n);var f=()=>{var d=t.getState(),h=Os(d,d.tooltip.settings.shared);if(!Ay){Hl=null,Oi=null;return}if(h==="axis"){var m=Hb(d,Ay);(m==null?void 0:m.activeIndex)!=null?t.dispatch(GP({activeIndex:m.activeIndex,activeDataKey:void 0,activeCoordinate:m.activeCoordinate})):t.dispatch(YP())}Hl=null,Oi=null};if(!s){f();return}l==="raf"?Hl=requestAnimationFrame(f):typeof l=="number"&&Oi===null&&(Oi=setTimeout(f,l))}});function wW(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<<CHILDREN>>":t}var v2={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},gM=Qt({name:"rootProps",initialState:v2,reducers:{updateOptions:(e,t)=>{var n;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(n=t.payload.barGap)!==null&&n!==void 0?n:v2.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),OW=gM.reducer,{updateOptions:_W}=gM.actions,EW=null,jW={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},bM=Qt({name:"polarOptions",initialState:EW,reducers:jW}),{updatePolarOptions:AW}=bM.actions,CW=bM.reducer,xM=Pn("keyDown"),SM=Pn("focus"),wM=Pn("blur"),yh=us(),Kl=null,_i=null,of=null;yh.startListening({actionCreator:xM,effect:(e,t)=>{of=e.payload,Kl!==null&&(cancelAnimationFrame(Kl),Kl=null);var n=t.getState(),{throttleDelay:r,throttledEvents:l}=n.eventSettings,u=l==="all"||l.includes("keydown");_i!==null&&(typeof r!="number"||!u)&&(clearTimeout(_i),_i=null);var s=()=>{try{var f=t.getState(),d=f.rootProps.accessibilityLayer!==!1;if(!d)return;var{keyboardInteraction:h}=f.tooltip,m=of;if(m!=="ArrowRight"&&m!=="ArrowLeft"&&m!=="Enter")return;var v=Do(h,Vi(f),lu(f),uu(f)),b=v==null?-1:Number(v),S=!Number.isFinite(b)||b<0,O=ha(f),_=Vi(f),w=Os(f,f.tooltip.settings.shared);if(m==="Enter"){if(S)return;var j=cd(f,w,"hover",String(h.index));t.dispatch(sd({active:!h.active,activeIndex:h.index,activeCoordinate:j}));return}var A=Yq(f),N=A==="left-to-right"?1:-1,T=m==="ArrowRight"?1:-1,P;if(S){var M=lu(f),R=uu(f),I=T*N,q=F=>({active:!1,index:String(F),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(P=-1,I>0){for(var W=0;W<_.length;W++)if(Do(q(W),_,M,R)!=null){P=W;break}}else for(var X=_.length-1;X>=0;X--)if(Do(q(X),_,M,R)!=null){P=X;break}if(P<0)return}else{P=b+T*N;var U=(O==null?void 0:O.length)||_.length;if(U===0||P>=U||P<0)return}var se=cd(f,w,"hover",String(P));t.dispatch(sd({active:!0,activeIndex:P.toString(),activeCoordinate:se}))}finally{Kl=null,_i=null}};if(!u){s();return}r==="raf"?Kl=requestAnimationFrame(s):typeof r=="number"&&_i===null&&(s(),of=null,_i=setTimeout(()=>{of?s():(_i=null,Kl=null)},r))}});yh.startListening({actionCreator:SM,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:l}=n.tooltip;if(!l.active&&l.index==null){var u="0",s=Os(n,n.tooltip.settings.shared),f=cd(n,s,"hover",String(u));t.dispatch(sd({active:!0,activeIndex:u,activeCoordinate:f}))}}}});yh.startListening({actionCreator:wM,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:l}=n.tooltip;l.active&&t.dispatch(sd({active:!1,activeIndex:l.index,activeCoordinate:l.coordinate}))}}});function OM(e){e.persist();var{currentTarget:t}=e;return new Proxy(e,{get:(n,r)=>{if(r==="currentTarget")return t;var l=Reflect.get(n,r);return typeof l=="function"?l.bind(n):l}})}var Yn=Pn("externalEvent"),_M=us(),sf=new Map,Co=new Map,Cy=new Map;_M.startListening({actionCreator:Yn,effect:(e,t)=>{var{handler:n,reactEvent:r}=e.payload;if(n!=null){var l=r.type,u=OM(r);Cy.set(l,{handler:n,reactEvent:u});var s=sf.get(l);s!==void 0&&(cancelAnimationFrame(s),sf.delete(l));var f=t.getState(),{throttleDelay:d,throttledEvents:h}=f.eventSettings,m=h,v=m==="all"||(m==null?void 0:m.includes(l)),b=Co.get(l);b!==void 0&&(typeof d!="number"||!v)&&(clearTimeout(b),Co.delete(l));var S=()=>{var w=Cy.get(l);try{if(!w)return;var{handler:j,reactEvent:A}=w,N=t.getState(),T={activeCoordinate:GH(N),activeDataKey:bb(N),activeIndex:Fa(N),activeLabel:i5(N),activeTooltipIndex:Fa(N),isTooltipActive:VH(N)};j&&j(T,A)}finally{sf.delete(l),Co.delete(l),Cy.delete(l)}};if(!v){S();return}if(d==="raf"){var O=requestAnimationFrame(S);sf.set(l,O)}else if(typeof d=="number"){if(!Co.has(l)){S();var _=setTimeout(S,d);Co.set(l,_)}}else S()}}});var TW=$([Su],e=>e.tooltipItemPayloads),NW=$([TW,(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(u=>u.settings.graphicalItemId===n);if(r!=null){var{getPosition:l}=r;if(l!=null)return l(t)}}}),EM=Pn("touchMove"),jM=us(),Ei=null,Ba=null,p2=null,To=null;jM.startListening({actionCreator:EM,effect:(e,t)=>{var n=e.payload;if(!(n.touches==null||n.touches.length===0)){To=OM(n);var r=t.getState(),{throttleDelay:l,throttledEvents:u}=r.eventSettings,s=u==="all"||u.includes("touchmove");Ei!==null&&(cancelAnimationFrame(Ei),Ei=null),Ba!==null&&(typeof l!="number"||!s)&&(clearTimeout(Ba),Ba=null),p2=Array.from(n.touches).map(d=>Kb({clientX:d.clientX,clientY:d.clientY,currentTarget:n.currentTarget}));var f=()=>{if(To!=null){var d=t.getState(),h=Os(d,d.tooltip.settings.shared);if(h==="axis"){var m,v=(m=p2)===null||m===void 0?void 0:m[0];if(v==null){Ei=null,Ba=null;return}var b=Hb(d,v);(b==null?void 0:b.activeIndex)!=null&&t.dispatch(GP({activeIndex:b.activeIndex,activeDataKey:void 0,activeCoordinate:b.activeCoordinate}))}else if(h==="item"){var S,O=To.touches[0];if(document.elementFromPoint==null||O==null)return;var _=document.elementFromPoint(O.clientX,O.clientY);if(!_||!_.getAttribute)return;var w=_.getAttribute(DT),j=(S=_.getAttribute(RT))!==null&&S!==void 0?S:void 0,A=Ji(d).find(P=>P.id===j);if(w==null||A==null||j==null)return;var{dataKey:N}=A,T=NW(d,w,j);t.dispatch(KP({activeDataKey:N,activeIndex:w,activeCoordinate:T,activeGraphicalItemId:j}))}Ei=null,Ba=null}};if(!s){f();return}l==="raf"?Ei=requestAnimationFrame(f):typeof l=="number"&&Ba===null&&(f(),To=null,Ba=setTimeout(()=>{To?f():(Ba=null,Ei=null)},l))}}});var Yb={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},AM=Qt({name:"eventSettings",initialState:Yb,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),{setEventSettings:PW}=AM.actions,MW=AM.reducer,DW=eT({brush:xX,cartesianAxis:rX,chartData:KK,errorBars:bF,eventSettings:MW,graphicalItems:uV,layout:BI,legend:Y8,options:BK,polarAxis:xG,polarOptions:CW,referenceElements:_X,renderedTicks:$X,rootProps:OW,tooltip:rH,zIndex:AK}),RW=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return cI({reducer:DW,preloadedState:t,middleware:r=>{var l;return r({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((l="es6")!==null&&l!==void 0?l:"")}).concat([pM.middleware,yM.middleware,yh.middleware,_M.middleware,jM.middleware])},enhancers:r=>{var l=r;return typeof r=="function"&&(l=r()),l.concat(vT({type:"raf"}))},devTools:{serialize:{replacer:wW},name:"recharts-".concat(n)}})};function CM(e){var{preloadedState:t,children:n,reduxStoreName:r}=e,l=Jt(),u=y.useRef(null);if(l)return n;u.current==null&&(u.current=RW(t,r));var s=Jg;return y.createElement(uB,{context:s,store:u.current},n)}function kW(e){var{layout:t,margin:n}=e,r=Xe(),l=Jt();return y.useEffect(()=>{l||(r(LI(t)),r(kI(n)))},[r,l,t,n]),null}var TM=y.memo(kW,hu);function NM(e){var t=Xe();return y.useEffect(()=>{t(_W(e))},[t,e]),null}var LW=e=>{var t=Xe();return y.useEffect(()=>{t(PW(e))},[t,e]),null},PM=y.memo(LW,hu);function y2(e){var{zIndex:t,isPanorama:n}=e,r=y.useRef(null),l=Xe();return y.useLayoutEffect(()=>(r.current&&l(EK({zIndex:t,element:r.current,isPanorama:n})),()=>{l(jK({zIndex:t,isPanorama:n}))}),[l,t,n]),y.createElement("g",{tabIndex:-1,ref:r,className:"recharts-zIndex-layer_".concat(t)})}function g2(e){var{children:t,isPanorama:n}=e,r=pe(pK);if(!r||r.length===0)return t;var l=r.filter(s=>s<0),u=r.filter(s=>s>0);return y.createElement(y.Fragment,null,l.map(s=>y.createElement(y2,{key:s,zIndex:s,isPanorama:n})),t,u.map(s=>y.createElement(y2,{key:s,zIndex:s,isPanorama:n})))}var zW=["children"];function IW(e,t){if(e==null)return{};var n,r,l=BW(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function BW(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function gd(){return gd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},gd.apply(null,arguments)}var UW={width:"100%",height:"100%",display:"block"},$W=y.forwardRef((e,t)=>{var n=c0(),r=f0(),l=QT();if(!_r(n)||!_r(r))return null;var{children:u,otherAttributes:s,title:f,desc:d}=e,h,m;return s!=null&&(typeof s.tabIndex=="number"?h=s.tabIndex:h=l?0:void 0,typeof s.role=="string"?m=s.role:m=l?"application":void 0),y.createElement(qg,gd({},s,{title:f,desc:d,role:m,tabIndex:h,width:n,height:r,style:UW,ref:t}),u)}),qW=e=>{var{children:t}=e,n=pe(qd);if(!n)return null;var{width:r,height:l,y:u,x:s}=n;return y.createElement(qg,{width:r,height:l,x:s,y:u},t)},b2=y.forwardRef((e,t)=>{var{children:n}=e,r=IW(e,zW),l=Jt();return l?y.createElement(qW,null,y.createElement(g2,{isPanorama:!0},n)):y.createElement($W,gd({ref:t},r),y.createElement(g2,{isPanorama:!1},n))});function HW(){var e=Xe(),[t,n]=y.useState(null),r=pe(t8);return y.useEffect(()=>{if(t!=null){var l=t.getBoundingClientRect(),u=l.width/t.offsetWidth;je(u)&&u!==r&&e(II(u))}},[t,e,r]),n}function x2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function KW(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?x2(Object(n),!0).forEach(function(r){YW(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function YW(e,t,n){return(t=GW(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function GW(e){var t=VW(e,"string");return typeof t=="symbol"?t:t+""}function VW(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ga(){return Ga=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ga.apply(null,arguments)}var XW=()=>(JK(),null);function bd(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var FW=y.forwardRef((e,t)=>{var n,r,l=y.useRef(null),[u,s]=y.useState({containerWidth:bd((n=e.style)===null||n===void 0?void 0:n.width),containerHeight:bd((r=e.style)===null||r===void 0?void 0:r.height)}),f=y.useCallback((h,m)=>{s(v=>{var b=Math.round(h),S=Math.round(m);return v.containerWidth===b&&v.containerHeight===S?v:{containerWidth:b,containerHeight:S}})},[]),d=y.useCallback(h=>{if(typeof t=="function"&&t(h),l.current!=null&&(l.current.disconnect(),l.current=null),h!=null&&typeof ResizeObserver<"u"){var{width:m,height:v}=h.getBoundingClientRect();f(m,v);var b=O=>{var _=O[0];if(_!=null){var{width:w,height:j}=_.contentRect;f(w,j)}},S=new ResizeObserver(b);S.observe(h),l.current=S}},[t,f]);return y.useEffect(()=>()=>{var h=l.current;h!=null&&h.disconnect()},[f]),y.createElement(y.Fragment,null,y.createElement(ss,{width:u.containerWidth,height:u.containerHeight}),y.createElement("div",Ga({ref:d},e)))}),ZW=y.forwardRef((e,t)=>{var{width:n,height:r}=e,[l,u]=y.useState({containerWidth:bd(n),containerHeight:bd(r)}),s=y.useCallback((d,h)=>{u(m=>{var v=Math.round(d),b=Math.round(h);return m.containerWidth===v&&m.containerHeight===b?m:{containerWidth:v,containerHeight:b}})},[]),f=y.useCallback(d=>{if(typeof t=="function"&&t(d),d!=null){var{width:h,height:m}=d.getBoundingClientRect();s(h,m)}},[t,s]);return y.createElement(y.Fragment,null,y.createElement(ss,{width:l.containerWidth,height:l.containerHeight}),y.createElement("div",Ga({ref:f},e)))}),WW=y.forwardRef((e,t)=>{var{width:n,height:r}=e;return y.createElement(y.Fragment,null,y.createElement(ss,{width:n,height:r}),y.createElement("div",Ga({ref:t},e)))}),QW=y.forwardRef((e,t)=>{var{width:n,height:r}=e;return typeof n=="string"||typeof r=="string"?y.createElement(ZW,Ga({},e,{ref:t})):typeof n=="number"&&typeof r=="number"?y.createElement(WW,Ga({},e,{width:n,height:r,ref:t})):y.createElement(y.Fragment,null,y.createElement(ss,{width:n,height:r}),y.createElement("div",Ga({ref:t},e)))});function JW(e){return e?FW:QW}var eQ=y.forwardRef((e,t)=>{var{children:n,className:r,height:l,onClick:u,onContextMenu:s,onDoubleClick:f,onMouseDown:d,onMouseEnter:h,onMouseLeave:m,onMouseMove:v,onMouseUp:b,onTouchEnd:S,onTouchMove:O,onTouchStart:_,style:w,width:j,responsive:A,dispatchTouchEvents:N=!0}=e,T=y.useRef(null),P=Xe(),[M,R]=y.useState(null),[I,q]=y.useState(null),W=HW(),X=u0(),U=(X==null?void 0:X.width)>0?X.width:j,se=(X==null?void 0:X.height)>0?X.height:l,F=y.useCallback(fe=>{W(fe),typeof t=="function"&&t(fe),R(fe),q(fe),fe!=null&&(T.current=fe)},[W,t,R,q]),J=y.useCallback(fe=>{P(vM(fe)),P(Yn({handler:u,reactEvent:fe}))},[P,u]),z=y.useCallback(fe=>{P(Eg(fe)),P(Yn({handler:h,reactEvent:fe}))},[P,h]),V=y.useCallback(fe=>{P(YP()),P(Yn({handler:m,reactEvent:fe}))},[P,m]),ne=y.useCallback(fe=>{P(Eg(fe)),P(Yn({handler:v,reactEvent:fe}))},[P,v]),le=y.useCallback(()=>{P(SM())},[P]),Q=y.useCallback(()=>{P(wM())},[P]),D=y.useCallback(fe=>{P(xM(fe.key))},[P]),K=y.useCallback(fe=>{P(Yn({handler:s,reactEvent:fe}))},[P,s]),oe=y.useCallback(fe=>{P(Yn({handler:f,reactEvent:fe}))},[P,f]),ce=y.useCallback(fe=>{P(Yn({handler:d,reactEvent:fe}))},[P,d]),ge=y.useCallback(fe=>{P(Yn({handler:b,reactEvent:fe}))},[P,b]),ae=y.useCallback(fe=>{P(Yn({handler:_,reactEvent:fe}))},[P,_]),he=y.useCallback(fe=>{N&&P(EM(fe)),P(Yn({handler:O,reactEvent:fe}))},[P,N,O]),xe=y.useCallback(fe=>{P(Yn({handler:S,reactEvent:fe}))},[P,S]),ie=JW(A);return y.createElement(m5.Provider,{value:M},y.createElement(vC.Provider,{value:I},y.createElement(ie,{width:U??(w==null?void 0:w.width),height:se??(w==null?void 0:w.height),className:Ie("recharts-wrapper",r),style:KW({position:"relative",cursor:"default",width:U,height:se},w),onClick:J,onContextMenu:K,onDoubleClick:oe,onFocus:le,onBlur:Q,onKeyDown:D,onMouseDown:ce,onMouseEnter:z,onMouseLeave:V,onMouseMove:ne,onMouseUp:ge,onTouchEnd:xe,onTouchMove:he,onTouchStart:ae,ref:F},y.createElement(XW,null),n)))}),tQ=["width","height","responsive","children","className","style","compact","title","desc"];function nQ(e,t){if(e==null)return{};var n,r,l=rQ(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function rQ(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var MM=y.forwardRef((e,t)=>{var{width:n,height:r,responsive:l,children:u,className:s,style:f,compact:d,title:h,desc:m}=e,v=nQ(e,tQ),b=pn(v);return d?y.createElement(y.Fragment,null,y.createElement(ss,{width:n,height:r}),y.createElement(b2,{otherAttributes:b,title:h,desc:m},u)):y.createElement(eQ,{className:s,style:f,width:n,height:r,responsive:l??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},y.createElement(b2,{otherAttributes:b,title:h,desc:m,ref:t},y.createElement(jX,null,u)))});function jg(){return jg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},jg.apply(null,arguments)}function S2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function aQ(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?S2(Object(n),!0).forEach(function(r){iQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function iQ(e,t,n){return(t=lQ(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lQ(e){var t=uQ(e,"string");return typeof t=="symbol"?t:t+""}function uQ(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var oQ={top:5,right:5,bottom:5,left:5},sQ=aQ({accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,layout:"horizontal",margin:oQ,responsive:!1,reverseStackOrder:!1,stackOffset:"none",syncMethod:"index"},Yb),DM=y.forwardRef(function(t,n){var r,l=Ct(t.categoricalChartProps,sQ),{chartName:u,defaultTooltipEventType:s,validateTooltipEventTypes:f,tooltipPayloadSearcher:d,categoricalChartProps:h}=t,m={chartName:u,defaultTooltipEventType:s,validateTooltipEventTypes:f,tooltipPayloadSearcher:d,eventEmitter:void 0};return y.createElement(CM,{preloadedState:{options:m},reduxStoreName:(r=h.id)!==null&&r!==void 0?r:u},y.createElement(G5,{chartData:h.data}),y.createElement(TM,{layout:l.layout,margin:l.margin}),y.createElement(PM,{throttleDelay:l.throttleDelay,throttledEvents:l.throttledEvents}),y.createElement(NM,{baseValue:l.baseValue,accessibilityLayer:l.accessibilityLayer,barCategoryGap:l.barCategoryGap,maxBarSize:l.maxBarSize,stackOffset:l.stackOffset,barGap:l.barGap,barSize:l.barSize,syncId:l.syncId,syncMethod:l.syncMethod,className:l.className,reverseStackOrder:l.reverseStackOrder}),y.createElement(MM,jg({},l,{ref:n})))}),cQ=["axis","item"],fQ=y.forwardRef((e,t)=>y.createElement(DM,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:cQ,tooltipPayloadSearcher:_b,categoricalChartProps:e,ref:t}));function dQ(e){var t=Xe();return y.useEffect(()=>{t(AW(e))},[t,e]),null}var hQ=["layout"];function Ag(){return Ag=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ag.apply(null,arguments)}function mQ(e,t){if(e==null)return{};var n,r,l=vQ(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function vQ(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function w2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function pQ(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?w2(Object(n),!0).forEach(function(r){yQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function yQ(e,t,n){return(t=gQ(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gQ(e){var t=bQ(e,"string");return typeof t=="symbol"?t:t+""}function bQ(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var xQ={top:5,right:5,bottom:5,left:5},RM=pQ({accessibilityLayer:!0,stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:xQ,reverseStackOrder:!1,syncMethod:"index",layout:"radial",responsive:!1,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"},Yb),SQ=y.forwardRef(function(t,n){var r,l=Ct(t.categoricalChartProps,RM),{layout:u}=l,s=mQ(l,hQ),{chartName:f,defaultTooltipEventType:d,validateTooltipEventTypes:h,tooltipPayloadSearcher:m}=t,v={chartName:f,defaultTooltipEventType:d,validateTooltipEventTypes:h,tooltipPayloadSearcher:m,eventEmitter:void 0};return y.createElement(CM,{preloadedState:{options:v},reduxStoreName:(r=l.id)!==null&&r!==void 0?r:f},y.createElement(G5,{chartData:l.data}),y.createElement(TM,{layout:u,margin:l.margin}),y.createElement(PM,{throttleDelay:l.throttleDelay,throttledEvents:l.throttledEvents}),y.createElement(NM,{baseValue:void 0,accessibilityLayer:l.accessibilityLayer,barCategoryGap:l.barCategoryGap,maxBarSize:l.maxBarSize,stackOffset:l.stackOffset,barGap:l.barGap,barSize:l.barSize,syncId:l.syncId,syncMethod:l.syncMethod,className:l.className,reverseStackOrder:l.reverseStackOrder}),y.createElement(dQ,{cx:l.cx,cy:l.cy,startAngle:l.startAngle,endAngle:l.endAngle,innerRadius:l.innerRadius,outerRadius:l.outerRadius}),y.createElement(MM,Ag({},s,{ref:n})))});function O2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function _2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?O2(Object(n),!0).forEach(function(r){wQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function wQ(e,t,n){return(t=OQ(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function OQ(e){var t=_Q(e,"string");return typeof t=="symbol"?t:t+""}function _Q(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var EQ=["item"],jQ=_2(_2({},RM),{},{layout:"centric",startAngle:0,endAngle:360}),AQ=y.forwardRef((e,t)=>{var n=Ct(e,jQ);return y.createElement(SQ,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:EQ,tooltipPayloadSearcher:_b,categoricalChartProps:n,ref:t})}),CQ=["axis"],TQ=y.forwardRef((e,t)=>y.createElement(DM,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:CQ,tooltipPayloadSearcher:_b,categoricalChartProps:e,ref:t}));function E2(e){const t=new Date(e);return`${String(t.getHours()).padStart(2,"0")}:00`}function NQ({data:e,height:t=240,color:n="#6366f1"}){return x.jsx(o0,{width:"100%",height:t,children:x.jsxs(TQ,{data:e,children:[x.jsx("defs",{children:x.jsxs("linearGradient",{id:"areaGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[x.jsx("stop",{offset:"0%",stopColor:n,stopOpacity:.3}),x.jsx("stop",{offset:"100%",stopColor:n,stopOpacity:0})]})}),x.jsx(Q5,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),x.jsx($b,{dataKey:"bucket",tickFormatter:E2,tick:{fontSize:12,fill:"#6b7280"},axisLine:{stroke:"#e5e7eb"},tickLine:!1}),x.jsx(qb,{allowDecimals:!1,tick:{fontSize:12,fill:"#6b7280"},axisLine:!1,tickLine:!1,width:40}),x.jsx(Eb,{labelFormatter:r=>E2(String(r)),formatter:r=>[String(r),"Actions"],contentStyle:{fontSize:12,borderRadius:6,border:"1px solid #e5e7eb"}}),x.jsx(oM,{type:"monotone",dataKey:"count",stroke:n,strokeWidth:2,fill:"url(#areaGradient)"})]})})}function PQ(e){const t=e.decision??"";return x.jsx(v0,{...e,fill:iC[t]??lC})}function MQ({data:e,height:t=260}){const n=e.map(r=>({name:zg(r.decision),value:r.count,decision:r.decision,fill:iC[r.decision]??lC}));return x.jsx(o0,{width:"100%",height:t,children:x.jsxs(AQ,{children:[x.jsx(H5,{data:n,dataKey:"value",nameKey:"name",cx:"50%",cy:"45%",innerRadius:"55%",outerRadius:"80%",paddingAngle:2,shape:PQ}),x.jsx(Eb,{formatter:r=>[String(r),"Actions"],contentStyle:{fontSize:12,borderRadius:6,border:"1px solid #e5e7eb"}}),x.jsx(ZT,{verticalAlign:"bottom",iconType:"circle",iconSize:8,wrapperStyle:{fontSize:12}})]})})}function DQ(e){const t=e.reduce((n,r)=>Math.max(n,r.tool_name.length),0);return Math.min(t*7.5+12,220)}function j2({data:e,height:t}){const n=t??Math.max(120,e.length*36+20),r=y.useMemo(()=>DQ(e),[e]);return x.jsx(o0,{width:"100%",height:n,children:x.jsxs(fQ,{data:e,layout:"vertical",margin:{left:8,right:16,top:4,bottom:4},children:[x.jsx($b,{type:"number",allowDecimals:!1,tick:{fontSize:12,fill:"#6b7280"},axisLine:{stroke:"#e5e7eb"},tickLine:!1}),x.jsx(qb,{type:"category",dataKey:"tool_name",width:r,tick:{fontSize:12,fill:"#374151"},axisLine:!1,tickLine:!1}),x.jsx(Eb,{cursor:!1,formatter:l=>[String(l),"Calls"],contentStyle:{fontSize:12,borderRadius:6,border:"1px solid #e5e7eb"}}),x.jsx(hM,{dataKey:"count",fill:"#6366f1",barSize:20,radius:[0,4,4,0]})]})})}function RQ(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[l,u]=y.useState(null),[s,f]=y.useState(Io),d=y.useCallback(w=>{const j=new Date(Date.now()-s).toISOString();i4(j,void 0).then(A=>{t(A),u(null),w&&r(!1)}).catch(A=>{w&&(u(A instanceof Error?A.message:"Failed to load analytics"),r(!1))})},[s]);y.useEffect(()=>{r(!0),d(!0)},[d]);function h(w){w!==s&&f(w)}if(n)return x.jsxs("div",{className:"flex flex-col gap-6",children:[x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:Array.from({length:4},(w,j)=>x.jsx("div",{className:"h-20 animate-pulse rounded-md bg-gray-100"},j))}),x.jsx("div",{className:"h-64 animate-pulse rounded-md bg-gray-100"}),x.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[x.jsx("div",{className:"h-72 animate-pulse rounded-md bg-gray-100"}),x.jsx("div",{className:"h-72 animate-pulse rounded-md bg-gray-100"})]})]});if(l)return x.jsx(Ii,{error:l});if(!e||e.total===0)return x.jsxs("div",{className:"flex h-full flex-col gap-6",children:[x.jsxs("div",{children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Analytics"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Tool call volume and decision breakdown"})]}),x.jsx(A2,{activePreset:s,onPresetChange:h}),x.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsxs("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:[x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 6a7.5 7.5 0 1 0 7.5 7.5h-7.5V6Z"}),x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 10.5H21A7.5 7.5 0 0 0 13.5 3v7.5Z"})]}),x.jsx("p",{className:"text-sm font-medium",children:"No data yet"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Start sending tool calls through Helio"})]})]});const m=e.allowed_total??"—",v=e.blocked_total??"—",b=e.by_block_reason===void 0,S=(e.by_block_reason??[]).map(w=>({tool_name:zg(w.reason),count:w.count})),O=e.top_tools.map(w=>({tool_name:w.upstream?`${w.tool_name} (${w.upstream})`:w.tool_name,count:w.count})),_=e.approval_rate!=null?`${String(Math.round(e.approval_rate*100))}%`:"—";return x.jsxs("div",{className:"flex h-full flex-col gap-6 overflow-y-auto",children:[x.jsxs("div",{children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Analytics"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Tool call volume and decision breakdown"})]}),x.jsx(A2,{activePreset:s,onPresetChange:h}),x.jsx("section",{children:x.jsxs("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[x.jsx(cf,{label:"Total Actions",value:e.total}),x.jsx(cf,{label:"Allowed",value:m,color:"emerald"}),x.jsx(cf,{label:"Blocked",value:v,color:"red"}),x.jsx(cf,{label:"Approval Rate",value:_,color:"amber"})]})}),x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Actions Per Hour"}),x.jsx("div",{className:"rounded-md border border-gray-200 bg-white p-4",children:x.jsx(NQ,{data:e.per_hour})})]}),x.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Matched Actions"}),x.jsx("div",{className:"rounded-md border border-gray-200 bg-white p-4",children:e.by_decision.length>0?x.jsx(MQ,{data:e.by_decision}):x.jsx("p",{className:"py-8 text-center text-sm text-gray-400",children:"No decision data"})})]}),x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Top Tools"}),x.jsx("div",{className:"rounded-md border border-gray-200 bg-white p-4",children:O.length>0?x.jsx(j2,{data:O}):x.jsx("p",{className:"py-8 text-center text-sm text-gray-400",children:"No tool data"})})]})]}),x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Blocked by Reason"}),x.jsx("div",{className:"rounded-md border border-gray-200 bg-white p-4",children:b?x.jsx("p",{className:"py-8 text-center text-sm text-gray-400",children:"Requires a newer proxy version"}):S.length>0?x.jsx(j2,{data:S}):x.jsx("p",{className:"py-8 text-center text-sm text-gray-400",children:"No blocked actions"})})]})]})}function A2({activePreset:e,onPresetChange:t}){return x.jsx("div",{className:"flex gap-1.5",children:oC.map(n=>x.jsx("button",{type:"button",onClick:()=>{t(n.ms)},className:`rounded-md px-3 py-1.5 text-sm transition-colors ${e===n.ms?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:n.label},n.label))})}const kQ={emerald:"text-emerald-700",red:"text-red-700",amber:"text-amber-700"};function cf({label:e,value:t,color:n}){const r=(n&&kQ[n])??"text-gray-900";return x.jsxs("div",{className:"rounded-md border border-gray-200 bg-white p-4",children:[x.jsx("p",{className:"text-sm font-medium text-gray-500",children:e}),x.jsx("p",{className:`mt-1 text-2xl font-semibold tabular-nums ${r}`,children:typeof t=="number"?t.toLocaleString():t})]})}function LQ(){const[e,t]=y.useState("booting"),[n,r]=y.useState(!1),[l,u]=y.useState(""),[s,f]=y.useState(null),d=y.useCallback(()=>{Si(void 0),t("locked"),f("Session expired. Enter the dashboard secret again.")},[]),h=y.useCallback(async()=>{t("booting");try{const b=await J2();if(r(b.auth_required),!b.auth_required||b.authenticated){Si(b.csrf_token),f(null),t("ready");return}Si(void 0),t("locked"),f(null)}catch{Si(void 0),t("locked"),f("Unable to check session state. Verify the proxy is running and try again.")}},[]);y.useEffect(()=>{h()},[h]),y.useEffect(()=>(oO(d),()=>{oO(void 0)}),[d]);async function m(b){if(b.preventDefault(),!l.trim()){f("Enter the dashboard secret from your Helio config.");return}t("authenticating"),f(null);try{const S=await e4(l.trim());r(S.auth_required),Si(S.csrf_token),u(""),t("ready")}catch(S){Si(void 0),t("locked"),S instanceof Q2&&S.status===401?f("Invalid dashboard secret. Check your Helio config and try again."):f("Sign in failed due to a network or server error. Try again.")}}async function v(){try{await t4()}catch{}Si(void 0),t("locked"),f("Signed out. Enter the dashboard secret to unlock.")}return e==="booting"?x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-gray-50 px-4",children:x.jsxs("div",{className:"w-full max-w-md rounded-lg border border-gray-200 bg-white p-6 text-center shadow-sm",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Helio Dashboard"}),x.jsx("p",{className:"mt-2 text-sm text-gray-600",children:"Checking session status..."})]})}):e==="locked"||e==="authenticating"?x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-gray-50 px-4",children:x.jsxs("form",{onSubmit:b=>{m(b)},className:"w-full max-w-md rounded-lg border border-gray-200 bg-white p-6 shadow-sm",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Dashboard Locked"}),x.jsxs("p",{className:"mt-2 text-sm text-gray-600",children:["Enter your dashboard secret, the ",x.jsx("code",{children:"dashboard.api_secret"})," value from your Helio config. If that is an env placeholder (for example"," ",x.jsx("code",{children:"${HELIO_DASHBOARD_SECRET}"}),"), enter the value it resolves to."]}),x.jsx("label",{htmlFor:"dashboard-secret",className:"mt-4 block text-sm font-medium text-gray-700",children:"Dashboard secret"}),x.jsx("input",{id:"dashboard-secret",type:"password",autoComplete:"current-password",value:l,onChange:b=>{u(b.target.value)},disabled:e==="authenticating",className:"mt-1 w-full rounded-md border border-gray-300 px-3 py-2 text-sm text-gray-900 shadow-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:cursor-not-allowed disabled:bg-gray-100"}),s&&x.jsx("p",{className:"mt-3 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800",children:s}),x.jsx("button",{type:"submit",disabled:e==="authenticating",className:"mt-4 inline-flex w-full items-center justify-center rounded-md bg-blue-600 px-4 py-2 text-sm font-medium text-white hover:bg-blue-500 disabled:cursor-not-allowed disabled:bg-blue-300",children:e==="authenticating"?"Unlocking...":"Unlock Dashboard"})]})}):x.jsx(Kk,{children:x.jsx(f4,{children:x.jsx(c4,{onSessionExpired:d,children:x.jsx(xk,{children:x.jsxs(Ua,{element:x.jsx(y4,{onLogout:n?()=>void v():void 0}),children:[x.jsx(Ua,{index:!0,element:x.jsx(z4,{})}),x.jsx(Ua,{path:"approvals",element:x.jsx(Y4,{})}),x.jsx(Ua,{path:"audit",element:x.jsx(fL,{})}),x.jsx(Ua,{path:"limits",element:x.jsx(vL,{})}),x.jsx(Ua,{path:"budgets",element:x.jsx(SL,{})}),x.jsx(Ua,{path:"analytics",element:x.jsx(RQ,{})})]})})})})})}const kM=document.getElementById("root");if(!kM)throw new Error("Dashboard mount point #root not found in index.html");yR.createRoot(kM).render(x.jsx(y.StrictMode,{children:x.jsx(LQ,{})}));
128
+ */var MA;function CG(){if(MA)return Ve;MA=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),s=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),b=Symbol.for("react.view_transition"),S=Symbol.for("react.client.reference");function O(_){if(typeof _=="object"&&_!==null){var w=_.$$typeof;switch(w){case e:switch(_=_.type,_){case n:case l:case r:case d:case h:case b:return _;default:switch(_=_&&_.$$typeof,_){case s:case f:case v:case m:return _;case u:return _;default:return w}}case t:return w}}}return Ve.ContextConsumer=u,Ve.ContextProvider=s,Ve.Element=e,Ve.ForwardRef=f,Ve.Fragment=n,Ve.Lazy=v,Ve.Memo=m,Ve.Portal=t,Ve.Profiler=l,Ve.StrictMode=r,Ve.Suspense=d,Ve.SuspenseList=h,Ve.isContextConsumer=function(_){return O(_)===u},Ve.isContextProvider=function(_){return O(_)===s},Ve.isElement=function(_){return typeof _=="object"&&_!==null&&_.$$typeof===e},Ve.isForwardRef=function(_){return O(_)===f},Ve.isFragment=function(_){return O(_)===n},Ve.isLazy=function(_){return O(_)===v},Ve.isMemo=function(_){return O(_)===m},Ve.isPortal=function(_){return O(_)===t},Ve.isProfiler=function(_){return O(_)===l},Ve.isStrictMode=function(_){return O(_)===r},Ve.isSuspense=function(_){return O(_)===d},Ve.isSuspenseList=function(_){return O(_)===h},Ve.isValidElementType=function(_){return typeof _=="string"||typeof _=="function"||_===n||_===l||_===r||_===d||_===h||typeof _=="object"&&_!==null&&(_.$$typeof===v||_.$$typeof===m||_.$$typeof===s||_.$$typeof===u||_.$$typeof===f||_.$$typeof===S||_.getModuleId!==void 0)},Ve.typeOf=O,Ve}var DA;function TG(){return DA||(DA=1,xy.exports=CG()),xy.exports}var NG=TG(),RA=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",kA=null,Sy=null,z5=e=>{if(e===kA&&Array.isArray(Sy))return Sy;var t=[];return y.Children.forEach(e,n=>{ut(n)||(NG.isFragment(n)?t=t.concat(z5(n.props.children)):t.push(n))}),Sy=t,kA=e,t};function Nb(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(l=>RA(l)):r=[RA(t)],z5(e).forEach(l=>{var u=$i(l,"type.displayName")||$i(l,"type.name");u&&r.indexOf(u)!==-1&&n.push(l)}),n}var I5=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0,wy={},LA;function PG(){return LA||(LA=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(n){var l;if(typeof n!="object"||n==null)return!1;if(Object.getPrototypeOf(n)===null)return!0;if(Object.prototype.toString.call(n)!=="[object Object]"){const u=n[Symbol.toStringTag];return u==null||!((l=Object.getOwnPropertyDescriptor(n,Symbol.toStringTag))!=null&&l.writable)?!1:n.toString()===`[object ${u}]`}let r=n;for(;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(n)===r}e.isPlainObject=t})(wy)),wy}var Oy,zA;function MG(){return zA||(zA=1,Oy=PG().isPlainObject),Oy}var DG=MG();const RG=Qa(DG);var IA,BA,UA,$A,qA;function HA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function KA(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?HA(Object(n),!0).forEach(function(r){kG(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):HA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function kG(e,t,n){return(t=LG(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function LG(e){var t=zG(e,"string");return typeof t=="symbol"?t:t+""}function zG(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function dd(){return dd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},dd.apply(null,arguments)}function Ao(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var YA=(e,t,n,r,l)=>{var u=n-r,s;return s=dt(IA||(IA=Ao(["M ",",",""])),e,t),s+=dt(BA||(BA=Ao(["L ",",",""])),e+n,t),s+=dt(UA||(UA=Ao(["L ",",",""])),e+n-u/2,t+l),s+=dt($A||($A=Ao(["L ",",",""])),e+n-u/2-r,t+l),s+=dt(qA||(qA=Ao(["L ",","," Z"])),e,t),s},IG={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},BG=e=>{var t=Ct(e,IG),{x:n,y:r,upperWidth:l,lowerWidth:u,height:s,className:f}=t,{animationEasing:d,animationDuration:h,animationBegin:m,isUpdateAnimationActive:v}=t,b=y.useRef(null),[S,O]=y.useState(-1),_=y.useRef(l),w=y.useRef(u),j=y.useRef(s),A=y.useRef(n),N=y.useRef(r),T=hs(e,"trapezoid-");if(y.useEffect(()=>{if(b.current&&b.current.getTotalLength)try{var F=b.current.getTotalLength();F&&O(F)}catch{}},[]),n!==+n||r!==+r||l!==+l||u!==+u||s!==+s||l===0&&u===0||s===0)return null;var P=Ie("recharts-trapezoid",f);if(!v)return y.createElement("g",null,y.createElement("path",dd({},rn(t),{className:P,d:YA(n,r,l,u,s)})));var M=_.current,R=w.current,I=j.current,q=A.current,W=N.current,X="0px ".concat(S===-1?1:S,"px"),U="".concat(S,"px ").concat(S,"px"),se=JT(["strokeDasharray"],h,d);return y.createElement(ds,{animationId:T,key:T,canBegin:S>0,duration:h,easing:d,isActive:v,begin:m},F=>{var J=nt(M,l,F),z=nt(R,u,F),V=nt(I,s,F),ne=nt(q,n,F),le=nt(W,r,F);b.current&&(_.current=J,w.current=z,j.current=V,A.current=ne,N.current=le);var Q=F>0?{transition:se,strokeDasharray:U}:{strokeDasharray:X};return y.createElement("path",dd({},rn(t),{className:P,d:YA(ne,le,J,z,V),ref:b,style:KA(KA({},Q),t.style)}))})},UG=["option","shapeType","activeClassName","inActiveClassName"];function $G(e,t){if(e==null)return{};var n,r,l=qG(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function qG(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function GA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function hd(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?GA(Object(n),!0).forEach(function(r){HG(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):GA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function HG(e,t,n){return(t=KG(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function KG(e){var t=YG(e,"string");return typeof t=="symbol"?t:t+""}function YG(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function GG(e,t){return hd(hd({},t),e)}function VG(e,t){return e==="symbols"}function VA(e){var{shapeType:t,elementProps:n}=e;switch(t){case"rectangle":return y.createElement(rN,n);case"trapezoid":return y.createElement(BG,n);case"sector":return y.createElement(v0,n);case"symbols":if(VG(t))return y.createElement(Zg,n);break;case"curve":return y.createElement(Zl,n);default:return null}}function XG(e){return y.isValidElement(e)?e.props:e}function B5(e){var{option:t,shapeType:n,activeClassName:r="recharts-active-shape",inActiveClassName:l="recharts-shape"}=e,u=$G(e,UG),s;if(y.isValidElement(t))s=y.cloneElement(t,hd(hd({},u),XG(t)));else if(typeof t=="function")s=t(u,u.index);else if(RG(t)&&typeof t!="boolean"){var f=GG(t,u);s=y.createElement(VA,{shapeType:n,elementProps:f})}else{var d=u;s=y.createElement(VA,{shapeType:n,elementProps:d})}return u.isActive?y.createElement(ht,{className:r},s):y.createElement(ht,{className:l},s)}var Pb=(e,t,n)=>{var r=Xe();return(l,u)=>s=>{e==null||e(l,u,s),r(KP({activeIndex:String(u),activeDataKey:t,activeCoordinate:l.tooltipPosition,activeGraphicalItemId:n}))}},Mb=e=>{var t=Xe();return(n,r)=>l=>{e==null||e(n,r,l),t(eH())}},Db=(e,t,n)=>{var r=Xe();return(l,u)=>s=>{e==null||e(l,u,s),r(tH({activeIndex:String(u),activeDataKey:t,activeCoordinate:l.tooltipPosition,activeGraphicalItemId:n}))}};function Rb(e){var{tooltipEntrySettings:t}=e,n=Xe(),r=Jt(),l=y.useRef(null);return y.useLayoutEffect(()=>{r||(l.current===null?n(Zq(t)):l.current!==t&&n(Wq({prev:l.current,next:t})),l.current=t)},[t,n,r]),y.useLayoutEffect(()=>()=>{l.current&&(n(Qq(l.current)),l.current=null)},[n]),null}function U5(e){var{legendPayload:t}=e,n=Xe(),r=Jt(),l=y.useRef(null);return y.useLayoutEffect(()=>{r||(l.current===null?n(VT(t)):l.current!==t&&n(XT({prev:l.current,next:t})),l.current=t)},[n,r,t]),y.useLayoutEffect(()=>()=>{l.current&&(n(FT(l.current)),l.current=null)},[n]),null}function FG(e){var{legendPayload:t}=e,n=Xe(),r=pe(ke),l=y.useRef(null);return y.useLayoutEffect(()=>{r!=="centric"&&r!=="radial"||(l.current===null?n(VT(t)):l.current!==t&&n(XT({prev:l.current,next:t})),l.current=t)},[n,r,t]),y.useLayoutEffect(()=>()=>{l.current&&(n(FT(l.current)),l.current=null)},[n]),null}var _y,ZG=()=>{var[e]=y.useState(()=>Bo("uid-"));return e},WG=(_y=fR.useId)!==null&&_y!==void 0?_y:ZG;function QG(e,t){var n=WG();return t||(e?"".concat(e,"-").concat(n):n)}var JG=y.createContext(void 0),kb=e=>{var{id:t,type:n,children:r}=e,l=QG("recharts-".concat(n),t);return y.createElement(JG.Provider,{value:l},r(l))},eV={cartesianItems:[],polarItems:[]},$5=Qt({name:"graphicalItems",initialState:eV,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(t.payload)},prepare:et()},replaceCartesianGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,l=Vn(e).cartesianItems.indexOf(n);l>-1&&(e.cartesianItems[l]=r)},prepare:et()},removeCartesianGraphicalItem:{reducer(e,t){var n=Vn(e).cartesianItems.indexOf(t.payload);n>-1&&e.cartesianItems.splice(n,1)},prepare:et()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(t.payload)},prepare:et()},removePolarGraphicalItem:{reducer(e,t){var n=Vn(e).polarItems.indexOf(t.payload);n>-1&&e.polarItems.splice(n,1)},prepare:et()},replacePolarGraphicalItem:{reducer(e,t){var{prev:n,next:r}=t.payload,l=Vn(e).polarItems.indexOf(n);l>-1&&(e.polarItems[l]=r)},prepare:et()}}}),{addCartesianGraphicalItem:tV,replaceCartesianGraphicalItem:nV,removeCartesianGraphicalItem:rV,addPolarGraphicalItem:aV,removePolarGraphicalItem:iV,replacePolarGraphicalItem:lV}=$5.actions,uV=$5.reducer,oV=e=>{var t=Xe(),n=y.useRef(null);return y.useLayoutEffect(()=>{n.current===null?t(tV(e)):n.current!==e&&t(nV({prev:n.current,next:e})),n.current=e},[t,e]),y.useLayoutEffect(()=>()=>{n.current&&(t(rV(n.current)),n.current=null)},[t]),null},q5=y.memo(oV),sV=e=>{var t=Xe(),n=y.useRef(null);return y.useLayoutEffect(()=>{n.current===null?t(aV(e)):n.current!==e&&t(lV({prev:n.current,next:e})),n.current=e},[t,e]),y.useLayoutEffect(()=>()=>{n.current&&(t(iV(n.current)),n.current=null)},[t]),null},cV=y.memo(sV),fV=["key"],dV=["onMouseEnter","onClick","onMouseLeave"],hV=["id"],mV=["id"];function Za(){return Za=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Za.apply(null,arguments)}function ph(e,t){if(e==null)return{};var n,r,l=vV(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function vV(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function XA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function at(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?XA(Object(n),!0).forEach(function(r){pV(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):XA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function pV(e,t,n){return(t=yV(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yV(e){var t=gV(e,"string");return typeof t=="symbol"?t:t+""}function gV(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function bV(e){var t=y.useMemo(()=>Nb(e.children,dh),[e.children]),n=pe(r=>jG(r,e.id,t));return n==null?null:y.createElement(FG,{legendPayload:n})}function xV(e){if(!(e==null||typeof e=="boolean"||typeof e=="function")){if(y.isValidElement(e)){var t,n=(t=e.props)===null||t===void 0?void 0:t.fill;return typeof n=="string"?n:void 0}var{fill:r}=e;return typeof r=="string"?r:void 0}}var SV=y.memo(e=>{var{dataKey:t,nameKey:n,sectors:r,stroke:l,strokeWidth:u,fill:s,name:f,hide:d,tooltipType:h,id:m,activeShape:v}=e,b=xV(v),S=r.map(_=>{var w=_.tooltipPayload;return b==null||w==null?w:w.map(j=>at(at({},j),{},{color:b,fill:b}))}),O={dataDefinedOnItem:S,getPosition:_=>{var w;return(w=r[Number(_)])===null||w===void 0?void 0:w.tooltipPosition},settings:{stroke:l,strokeWidth:u,fill:s,dataKey:t,nameKey:n,name:du(f,t),hide:d,type:h,color:s,unit:"",graphicalItemId:m}};return y.createElement(Rb,{tooltipEntrySettings:O})}),wV=(e,t)=>e>t?"start":e<t?"end":"middle",OV=(e,t,n)=>Wt(typeof t=="function"?t(e):t,n,n*.8),_V=(e,t,n)=>{var{top:r,left:l,width:u,height:s}=t,f=aN(u,s),d=l+Wt(e.cx,u,u/2),h=r+Wt(e.cy,s,s/2),m=Wt(e.innerRadius,f,0),v=OV(n,e.outerRadius,f),b=e.maxRadius||Math.sqrt(u*u+s*s)/2;return{cx:d,cy:h,innerRadius:m,outerRadius:v,maxRadius:b}},EV=(e,t)=>{var n=kt(t-e),r=Math.min(Math.abs(t-e),360);return n*r},jV=(e,t)=>{if(y.isValidElement(e))return y.cloneElement(e,t);if(typeof e=="function")return e(t);var n=Ie("recharts-pie-label-line",typeof e!="boolean"?e.className:""),{key:r}=t,l=ph(t,fV);return y.createElement(Zl,Za({},l,{type:"linear",className:n}))},AV=(e,t,n)=>{if(y.isValidElement(e))return y.cloneElement(e,t);var r=n;if(typeof e=="function"&&(r=e(t),y.isValidElement(r)))return r;var l=Ie("recharts-pie-label-text",k5(e));return y.createElement(hh,Za({},t,{alignmentBaseline:"middle",className:l}),r)};function CV(e){var{sectors:t,props:n,showLabels:r}=e,{label:l,labelLine:u,dataKey:s}=n;if(!r||!l||!t)return null;var f=pn(n),d=Bi(l),h=Bi(u),m=typeof l=="object"&&"offsetRadius"in l&&typeof l.offsetRadius=="number"&&l.offsetRadius||20,v=t.map((b,S)=>{var O=(b.startAngle+b.endAngle)/2,_=St(b.cx,b.cy,b.outerRadius+m,O),w=at(at(at(at({},f),b),{},{stroke:"none"},d),{},{index:S,textAnchor:wV(_.x,b.cx)},_),j=at(at(at(at({},f),b),{},{fill:"none",stroke:b.fill},h),{},{index:S,points:[St(b.cx,b.cy,b.outerRadius,O),_],key:"line"});return y.createElement(yn,{zIndex:wt.label,key:"label-".concat(b.startAngle,"-").concat(b.endAngle,"-").concat(b.midAngle,"-").concat(S)},y.createElement(ht,null,u&&jV(u,j),AV(l,w,$e(b,s))))});return y.createElement(ht,{className:"recharts-pie-labels"},v)}function TV(e){var{sectors:t,props:n,showLabels:r}=e,{label:l}=n;return typeof l=="object"&&l!=null&&"position"in l?y.createElement(Ab,{label:l}):y.createElement(CV,{sectors:t,props:n,showLabels:r})}function NV(e){var{sectors:t,activeShape:n,inactiveShape:r,allOtherPieProps:l,shape:u,id:s}=e,f=pe(Fa),d=pe(bb),h=pe(l5),{onMouseEnter:m,onClick:v,onMouseLeave:b}=l,S=ph(l,dV),O=Pb(m,l.dataKey,s),_=Mb(b),w=Db(v,l.dataKey,s);return t==null||t.length===0?null:y.createElement(y.Fragment,null,t.map((j,A)=>{if((j==null?void 0:j.startAngle)===0&&(j==null?void 0:j.endAngle)===0&&t.length!==1)return null;var N=h==null||h===s,T=String(A)===f&&(d==null||l.dataKey===d)&&N,P=f?r:null,M=n&&T?n:P,R=at(at({},j),{},{stroke:j.stroke,tabIndex:-1,[DT]:A,[RT]:s});return y.createElement(ht,Za({key:"sector-".concat(j==null?void 0:j.startAngle,"-").concat(j==null?void 0:j.endAngle,"-").concat(j.midAngle,"-").concat(A),tabIndex:-1,className:"recharts-pie-sector"},is(S,j,A),{onMouseEnter:O(j,A),onMouseLeave:_(j,A),onClick:w(j,A)}),y.createElement(B5,Za({option:u??M,index:A,shapeType:"sector",isActive:T},R)))}))}function PV(e){var t,{pieSettings:n,displayedData:r,cells:l,offset:u}=e,{cornerRadius:s,startAngle:f,endAngle:d,dataKey:h,nameKey:m,tooltipType:v}=n,b=Math.abs(n.minAngle),S=EV(f,d),O=Math.abs(S),_=r.length<=1?0:(t=n.paddingAngle)!==null&&t!==void 0?t:0,w=r.filter(I=>$e(I,h,0)!==0).length,j=(O>=360?w:w-1)*_,A=r.reduce((I,q)=>{var W=$e(q,h,0);return I+(de(W)?W:0)},0),N=b>0&&A>0&&r.some(I=>{var q=$e(I,h,0),W=(de(q)?q:0)/A;return q!==0&&W*O<b}),T=N?b:0,P=O-w*T-j,M;if(A>0){var R;M=r.map((I,q)=>{var W=$e(I,h,0),X=$e(I,m,q),U=_V(n,u,I),se=(de(W)?W:0)/A,F,J=at(at({},I),l&&l[q]&&l[q].props),z=J!=null&&"fill"in J&&typeof J.fill=="string"?J.fill:n.fill;q?F=R.endAngle+kt(S)*_*(W!==0?1:0):F=f;var V=F+kt(S)*((W!==0?T:0)+se*P),ne=(F+V)/2,le=(U.innerRadius+U.outerRadius)/2,Q=[{name:X,value:W,payload:J,dataKey:h,type:v,color:z,fill:z,graphicalItemId:n.id}],D=St(U.cx,U.cy,le,ne);return R=at(at(at(at({},n.presentationProps),{},{percent:se,cornerRadius:typeof s=="string"?parseFloat(s):s,name:X,tooltipPayload:Q,midAngle:ne,middleRadius:le,tooltipPosition:D},J),U),{},{value:W,dataKey:h,startAngle:F,endAngle:V,payload:J,paddingAngle:W!==0?kt(S)*_:0}),R})}return M}function MV(e){var{showLabels:t,sectors:n,children:r}=e,l=y.useMemo(()=>!t||!n?[]:n.map(u=>({value:u.value,payload:u.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:u.cx,cy:u.cy,innerRadius:u.innerRadius,outerRadius:u.outerRadius,startAngle:u.startAngle,endAngle:u.endAngle,clockWise:!1},fill:u.fill})),[n,t]);return y.createElement(sG,{value:t?l:void 0},r)}function DV(e){var{props:t,previousSectorsRef:n,id:r}=e,{sectors:l,isAnimationActive:u,animationBegin:s,animationDuration:f,animationEasing:d,activeShape:h,inactiveShape:m,onAnimationStart:v,onAnimationEnd:b}=t,S=hs(t,"recharts-pie-"),O=n.current,[_,w]=y.useState(!1),j=y.useCallback(()=>{typeof b=="function"&&b(),w(!1)},[b]),A=y.useCallback(()=>{typeof v=="function"&&v(),w(!0)},[v]);return y.createElement(MV,{showLabels:!_,sectors:l},y.createElement(ds,{animationId:S,begin:s,duration:f,isActive:u,easing:d,onAnimationStart:A,onAnimationEnd:j,key:S},N=>{var T,P=[],M=l&&l[0],R=(T=M==null?void 0:M.startAngle)!==null&&T!==void 0?T:0;return l==null||l.forEach((I,q)=>{var W=O&&O[q],X=q>0?$i(I,"paddingAngle",0):0;if(W){var U=nt(W.endAngle-W.startAngle,I.endAngle-I.startAngle,N),se=at(at({},I),{},{startAngle:R+X,endAngle:R+U+X});P.push(se),R=se.endAngle}else{var{endAngle:F,startAngle:J}=I,z=nt(0,F-J,N),V=at(at({},I),{},{startAngle:R+X,endAngle:R+z+X});P.push(V),R=V.endAngle}}),n.current=P,y.createElement(ht,null,y.createElement(NV,{sectors:P,activeShape:h,inactiveShape:m,allOtherPieProps:t,shape:t.shape,id:r}))}),y.createElement(TV,{showLabels:!_,sectors:l,props:t}),t.children)}var RV={animationBegin:400,animationDuration:1500,animationEasing:"ease",cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:"#fff",zIndex:wt.area};function kV(e){var{id:t}=e,n=ph(e,hV),{hide:r,className:l,rootTabIndex:u}=e,s=y.useMemo(()=>Nb(e.children,dh),[e.children]),f=pe(m=>AG(m,t,s)),d=y.useRef(null),h=Ie("recharts-pie",l);return r||f==null?(d.current=null,y.createElement(ht,{tabIndex:u,className:h})):y.createElement(yn,{zIndex:e.zIndex},y.createElement(SV,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:f,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,id:t,activeShape:e.activeShape}),y.createElement(ht,{tabIndex:u,className:h},y.createElement(DV,{props:at(at({},n),{},{sectors:f}),previousSectorsRef:d,id:t})))}function LV(e){var t=Ct(e,RV),{id:n}=t,r=ph(t,mV),l=pn(r);return y.createElement(kb,{id:n,type:"pie"},u=>y.createElement(y.Fragment,null,y.createElement(cV,{type:"pie",id:u,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:l,maxRadius:t.maxRadius}),y.createElement(bV,Za({},r,{id:u})),y.createElement(kV,Za({},r,{id:u}))))}var H5=LV;H5.displayName="Pie";var zV=["points"];function FA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Ey(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?FA(Object(n),!0).forEach(function(r){IV(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function IV(e,t,n){return(t=BV(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function BV(e){var t=UV(e,"string");return typeof t=="symbol"?t:t+""}function UV(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function md(){return md=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},md.apply(null,arguments)}function $V(e,t){if(e==null)return{};var n,r,l=qV(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function qV(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function HV(e){var{option:t,dotProps:n,className:r}=e;if(y.isValidElement(t))return y.cloneElement(t,n);if(typeof t=="function")return t(n);var l=Ie(r,typeof t!="boolean"?t.className:""),u=n??{},{points:s}=u,f=$V(u,zV);return y.createElement(P5,md({},f,{className:l}))}function KV(e,t){return e==null?!1:t?!0:e.length===1}function YV(e){var{points:t,dot:n,className:r,dotClassName:l,dataKey:u,baseProps:s,needClip:f,clipPathId:d,zIndex:h=wt.scatter}=e;if(!KV(t,n))return null;var m=I5(n),v=TL(n),b=t.map((O,_)=>{var w,j,A=Ey(Ey(Ey({r:3},s),v),{},{index:_,cx:(w=O.x)!==null&&w!==void 0?w:void 0,cy:(j=O.y)!==null&&j!==void 0?j:void 0,dataKey:u,value:O.value,payload:O.payload,points:t});return y.createElement(HV,{key:"dot-".concat(_),option:n,dotProps:A,className:l})}),S={};return f&&d!=null&&(S.clipPath="url(#clipPath-".concat(m?"":"dots-").concat(d,")")),y.createElement(yn,{zIndex:h},y.createElement(ht,md({className:r},S),b))}function ZA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function WA(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ZA(Object(n),!0).forEach(function(r){GV(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ZA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function GV(e,t,n){return(t=VV(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function VV(e){var t=XV(e,"string");return typeof t=="symbol"?t:t+""}function XV(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var K5=0,FV={xAxis:{},yAxis:{},zAxis:{}},Y5=Qt({name:"cartesianAxis",initialState:FV,reducers:{addXAxis:{reducer(e,t){e.xAxis[t.payload.id]=t.payload},prepare:et()},replaceXAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.xAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.xAxis[n.id],e.xAxis[r.id]=r)},prepare:et()},removeXAxis:{reducer(e,t){delete e.xAxis[t.payload.id]},prepare:et()},addYAxis:{reducer(e,t){e.yAxis[t.payload.id]=t.payload},prepare:et()},replaceYAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.yAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.yAxis[n.id],e.yAxis[r.id]=r)},prepare:et()},removeYAxis:{reducer(e,t){delete e.yAxis[t.payload.id]},prepare:et()},addZAxis:{reducer(e,t){e.zAxis[t.payload.id]=t.payload},prepare:et()},replaceZAxis:{reducer(e,t){var{prev:n,next:r}=t.payload;e.zAxis[n.id]!==void 0&&(n.id!==r.id&&delete e.zAxis[n.id],e.zAxis[r.id]=r)},prepare:et()},removeZAxis:{reducer(e,t){delete e.zAxis[t.payload.id]},prepare:et()},updateYAxisWidth(e,t){var{id:n,width:r}=t.payload,l=e.yAxis[n];if(l){var u,s=l.widthHistory||[];if(s.length===3&&s[0]===s[2]&&r===s[1]&&r!==l.width&&Math.abs(r-((u=s[0])!==null&&u!==void 0?u:0))<=1)return;var f=[...s,r].slice(-3);e.yAxis[n]=WA(WA({},l),{},{width:r,widthHistory:f})}}}}),{addXAxis:ZV,replaceXAxis:WV,removeXAxis:QV,addYAxis:JV,replaceYAxis:eX,removeYAxis:tX,addZAxis:KQ,replaceZAxis:YQ,removeZAxis:GQ,updateYAxisWidth:nX}=Y5.actions,rX=Y5.reducer,aX=$([Tt],e=>({top:e.top,bottom:e.bottom,left:e.left,right:e.right})),iX=$([aX,oa,sa],(e,t,n)=>{if(!(!e||t==null||n==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,n-e.top-e.bottom)}}),Lb=()=>pe(iX),lX=()=>pe(FH);function QA(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function jy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?QA(Object(n),!0).forEach(function(r){uX(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):QA(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function uX(e,t,n){return(t=oX(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oX(e){var t=sX(e,"string");return typeof t=="symbol"?t:t+""}function sX(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var cX=e=>{var{point:t,childIndex:n,mainColor:r,activeDot:l,dataKey:u,clipPath:s}=e;if(l===!1||t.x==null||t.y==null)return null;var f={index:n,dataKey:u,cx:t.x,cy:t.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},d=jy(jy(jy({},f),Bi(l)),Wg(l)),h;return y.isValidElement(l)?h=y.cloneElement(l,d):typeof l=="function"?h=l(d):h=y.createElement(P5,d),y.createElement(ht,{className:"recharts-active-dot",clipPath:s},h)};function JA(e){var{points:t,mainColor:n,activeDot:r,itemDataKey:l,clipPath:u,zIndex:s=wt.activeDot}=e,f=pe(Fa),d=lX();if(t==null||d==null)return null;var h=t.find(m=>d.includes(m.payload));return ut(h)?null:y.createElement(yn,{zIndex:s},y.createElement(cX,{point:h,childIndex:Number(f),mainColor:n,dataKey:l,activeDot:r,clipPath:u}))}var e2=(e,t,n)=>{var r=n??e;if(!ut(r))return Wt(r,t,0)},fX=(e,t,n)=>{var r={},l=e.filter(Qd),u=e.filter(h=>h.stackId==null),s=l.reduce((h,m)=>{var v=h[m.stackId];return v==null&&(v=[]),v.push(m),h[m.stackId]=v,h},r),f=Object.entries(s).map(h=>{var m,[v,b]=h,S=b.map(_=>_.dataKey),O=e2(t,n,(m=b[0])===null||m===void 0?void 0:m.barSize);return{stackId:v,dataKeys:S,barSize:O}}),d=u.map(h=>{var m=[h.dataKey].filter(b=>b!=null),v=e2(t,n,h.barSize);return{stackId:void 0,dataKeys:m,barSize:v}});return[...f,...d]};function t2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function uf(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?t2(Object(n),!0).forEach(function(r){dX(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):t2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function dX(e,t,n){return(t=hX(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hX(e){var t=mX(e,"string");return typeof t=="symbol"?t:t+""}function mX(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function vX(e,t,n,r,l){var u,s=r.length;if(!(s<1)){var f=Wt(e,n,0,!0),d,h=[];if(je((u=r[0])===null||u===void 0?void 0:u.barSize)){var m=!1,v=n/s,b=r.reduce((A,N)=>A+(N.barSize||0),0);b+=(s-1)*f,b>=n&&(b-=(s-1)*f,f=0),b>=n&&v>0&&(m=!0,v*=.9,b=s*v);var S=(n-b)/2>>0,O={offset:S-f,size:0};d=r.reduce((A,N)=>{var T,P={stackId:N.stackId,dataKeys:N.dataKeys,position:{offset:O.offset+O.size+f,size:m?v:(T=N.barSize)!==null&&T!==void 0?T:0}},M=[...A,P];return O=P.position,M},h)}else{var _=Wt(t,n,0,!0);n-2*_-(s-1)*f<=0&&(f=0);var w=(n-2*_-(s-1)*f)/s;w>1&&(w>>=0);var j=je(l)?Math.min(w,l):w;d=r.reduce((A,N,T)=>[...A,{stackId:N.stackId,dataKeys:N.dataKeys,position:{offset:_+(w+f)*T+(w-j)/2,size:j}}],h)}return d}}var pX=(e,t,n,r,l,u,s)=>{var f=ut(s)?t:s,d=vX(n,r,l!==u?l:u,e,f);return l!==u&&d!=null&&(d=d.map(h=>uf(uf({},h),{},{position:uf(uf({},h.position),{},{offset:h.position.offset-l/2})}))),d},yX=(e,t)=>{var n=Wd(t);if(!(!e||n==null||t==null)){var{stackId:r}=t;if(r!=null){var l=e[r];if(l){var{stackedData:u}=l;if(u)return u.find(s=>s.key===n)}}}},gX=(e,t)=>{if(!(e==null||t==null)){var n=e.find(r=>r.stackId===t.stackId&&t.dataKey!=null&&r.dataKeys.includes(t.dataKey));if(n!=null)return n.position}};function bX(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&je(e.zIndex)?e.zIndex:t}var G5=e=>{var{chartData:t}=e,n=Xe(),r=Jt();return y.useEffect(()=>r?()=>{}:(n(cA(t)),()=>{n(cA(void 0))}),[t,n,r]),null},n2={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},V5=Qt({name:"brush",initialState:n2,reducers:{setBrushSettings(e,t){return t.payload==null?n2:t.payload}}}),{setBrushSettings:VQ}=V5.actions,xX=V5.reducer;function SX(e){return(e%180+180)%180}var wX=function(t){var{width:n,height:r}=t,l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,u=SX(l),s=u*Math.PI/180,f=Math.atan(r/n),d=s>f&&s<Math.PI-f?r/Math.sin(s):n/Math.cos(s);return Math.abs(d)},OX={dots:[],areas:[],lines:[]},X5=Qt({name:"referenceElements",initialState:OX,reducers:{addDot:(e,t)=>{e.dots.push(t.payload)},removeDot:(e,t)=>{var n=Vn(e).dots.findIndex(r=>r===t.payload);n!==-1&&e.dots.splice(n,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var n=Vn(e).areas.findIndex(r=>r===t.payload);n!==-1&&e.areas.splice(n,1)},addLine:(e,t)=>{e.lines.push(t.payload)},removeLine:(e,t)=>{var n=Vn(e).lines.findIndex(r=>r===t.payload);n!==-1&&e.lines.splice(n,1)}}}),{addDot:XQ,removeDot:FQ,addArea:ZQ,removeArea:WQ,addLine:QQ,removeLine:JQ}=X5.actions,_X=X5.reducer,EX=y.createContext(void 0),jX=e=>{var{children:t}=e,[n]=y.useState("".concat(Bo("recharts"),"-clip")),r=Lb();if(r==null)return null;var{x:l,y:u,width:s,height:f}=r;return y.createElement(EX.Provider,{value:n},y.createElement("defs",null,y.createElement("clipPath",{id:n},y.createElement("rect",{x:l,y:u,height:f,width:s}))),t)};function F5(e,t){if(t<1)return[];if(t===1)return e;for(var n=[],r=0;r<e.length;r+=t){var l=e[r];l!==void 0&&n.push(l)}return n}function AX(e,t,n){var r={width:e.width+t.width,height:e.height+t.height};return wX(r,n)}function CX(e,t,n){var r=n==="width",{x:l,y:u,width:s,height:f}=e;return t===1?{start:r?l:u,end:r?l+s:u+f}:{start:r?l+s:u+f,end:r?l:u}}function Jo(e,t,n,r,l){if(e*t<e*r||e*t>e*l)return!1;var u=n();return e*(t-e*u/2-r)>=0&&e*(t+e*u/2-l)<=0}function TX(e,t){return F5(e,t+1)}function NX(e,t,n,r,l){for(var u=(r||[]).slice(),{start:s,end:f}=t,d=0,h=1,m=s,v=function(){var O=r==null?void 0:r[d];if(O===void 0)return{v:F5(r,h)};var _=d,w,j=()=>(w===void 0&&(w=n(O,_)),w),A=O.coordinate,N=d===0||Jo(e,A,j,m,f);N||(d=0,m=s,h+=1),N&&(m=A+e*(j()/2+l),d+=h)},b;h<=u.length;)if(b=v(),b)return b.v;return[]}function PX(e,t,n,r,l){var u=(r||[]).slice(),s=u.length;if(s===0)return[];for(var{start:f,end:d}=t,h=1;h<=s;h++){for(var m=(s-1)%h,v=f,b=!0,S=function(){var T=r[_];if(T==null)return 0;var P=_,M,R=()=>(M===void 0&&(M=n(T,P)),M),I=T.coordinate,q=_===m||Jo(e,I,R,v,d);if(!q)return b=!1,1;q&&(v=I+e*(R()/2+l))},O,_=m;_<s&&(O=S(),!(O!==0&&O===1));_+=h);if(b){for(var w=[],j=m;j<s;j+=h){var A=r[j];A!=null&&w.push(A)}return w}}return[]}function r2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Ft(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?r2(Object(n),!0).forEach(function(r){MX(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function MX(e,t,n){return(t=DX(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function DX(e){var t=RX(e,"string");return typeof t=="symbol"?t:t+""}function RX(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function kX(e,t,n,r,l){for(var u=(r||[]).slice(),s=u.length,{start:f}=t,{end:d}=t,h=function(b){var S=u[b];if(S==null)return 1;var O=S,_,w=()=>(_===void 0&&(_=n(S,b)),_);if(b===s-1){var j=e*(O.coordinate+e*w()/2-d);u[b]=O=Ft(Ft({},O),{},{tickCoord:j>0?O.coordinate-j*e:O.coordinate})}else u[b]=O=Ft(Ft({},O),{},{tickCoord:O.coordinate});if(O.tickCoord!=null){var A=Jo(e,O.tickCoord,w,f,d);A&&(d=O.tickCoord-e*(w()/2+l),u[b]=Ft(Ft({},O),{},{isShow:!0}))}},m=s-1;m>=0;m--)h(m);return u}function LX(e,t,n,r,l,u){var s=(r||[]).slice(),f=s.length,{start:d,end:h}=t;if(u){var m=r[f-1];if(m!=null){var v=n(m,f-1),b=e*(m.coordinate+e*v/2-h);if(s[f-1]=m=Ft(Ft({},m),{},{tickCoord:b>0?m.coordinate-b*e:m.coordinate}),m.tickCoord!=null){var S=Jo(e,m.tickCoord,()=>v,d,h);S&&(h=m.tickCoord-e*(v/2+l),s[f-1]=Ft(Ft({},m),{},{isShow:!0}))}}}for(var O=u?f-1:f,_=function(A){var N=s[A];if(N==null)return 1;var T=N,P,M=()=>(P===void 0&&(P=n(N,A)),P);if(A===0){var R=e*(T.coordinate-e*M()/2-d);s[A]=T=Ft(Ft({},T),{},{tickCoord:R<0?T.coordinate-R*e:T.coordinate})}else s[A]=T=Ft(Ft({},T),{},{tickCoord:T.coordinate});if(T.tickCoord!=null){var I=Jo(e,T.tickCoord,M,d,h);I&&(d=T.tickCoord+e*(M()/2+l),s[A]=Ft(Ft({},T),{},{isShow:!0}))}},w=0;w<O;w++)_(w);return s}function zb(e,t,n){var{tick:r,ticks:l,viewBox:u,minTickGap:s,orientation:f,interval:d,tickFormatter:h,unit:m,angle:v}=e;if(!l||!l.length||!r)return[];if(de(d)||fs.isSsr){var b;return(b=TX(l,de(d)?d:0))!==null&&b!==void 0?b:[]}var S=[],O=f==="top"||f==="bottom"?"width":"height",_=m&&O==="width"?Ro(m,{fontSize:t,letterSpacing:n}):{width:0,height:0},w=(P,M)=>{var R=typeof h=="function"?h(P.value,M):P.value;return O==="width"?AX(Ro(R,{fontSize:t,letterSpacing:n}),_,v):Ro(R,{fontSize:t,letterSpacing:n})[O]},j=l[0],A=l[1],N=l.length>=2&&j!=null&&A!=null?kt(A.coordinate-j.coordinate):1,T=CX(u,N,O);return d==="equidistantPreserveStart"?NX(N,T,w,l,s):d==="equidistantPreserveEnd"?PX(N,T,w,l,s):(d==="preserveStart"||d==="preserveStartEnd"?S=LX(N,T,w,l,s,d==="preserveStartEnd"):S=kX(N,T,w,l,s),S.filter(P=>P.isShow))}var zX=e=>{var{ticks:t,label:n,labelGapWithTick:r=5,tickSize:l=0,tickMargin:u=0}=e,s=0;if(t){Array.from(t).forEach(m=>{if(m){var v=m.getBoundingClientRect();v.width>s&&(s=v.width)}});var f=n?n.getBoundingClientRect().width:0,d=l+u,h=s+d+f+(n?r:0);return Math.round(h)}return 0},IX={xAxis:{},yAxis:{}},Z5=Qt({name:"renderedTicks",initialState:IX,reducers:{setRenderedTicks:(e,t)=>{var{axisType:n,axisId:r,ticks:l}=t.payload;e[n][r]=l},removeRenderedTicks:(e,t)=>{var{axisType:n,axisId:r}=t.payload;delete e[n][r]}}}),{setRenderedTicks:BX,removeRenderedTicks:UX}=Z5.actions,$X=Z5.reducer,qX=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function HX(e,t){if(e==null)return{};var n,r,l=KX(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function KX(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Xi(){return Xi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Xi.apply(null,arguments)}function a2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function ft(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?a2(Object(n),!0).forEach(function(r){YX(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function YX(e,t,n){return(t=GX(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function GX(e){var t=VX(e,"string");return typeof t=="symbol"?t:t+""}function VX(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ta={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd",zIndex:wt.axis};function XX(e){var{x:t,y:n,width:r,height:l,orientation:u,mirror:s,axisLine:f,otherSvgProps:d}=e;if(!f)return null;var h=ft(ft(ft({},d),pn(f)),{},{fill:"none"});if(u==="top"||u==="bottom"){var m=+(u==="top"&&!s||u==="bottom"&&s);h=ft(ft({},h),{},{x1:t,y1:n+m*l,x2:t+r,y2:n+m*l})}else{var v=+(u==="left"&&!s||u==="right"&&s);h=ft(ft({},h),{},{x1:t+v*r,y1:n,x2:t+v*r,y2:n+l})}return y.createElement("line",Xi({},h,{className:Ie("recharts-cartesian-axis-line",$i(f,"className"))}))}function FX(e,t,n,r,l,u,s,f,d){var h,m,v,b,S,O,_=f?-1:1,w=e.tickSize||s,j=de(e.tickCoord)?e.tickCoord:e.coordinate;switch(u){case"top":h=m=e.coordinate,b=n+ +!f*l,v=b-_*w,O=v-_*d,S=j;break;case"left":v=b=e.coordinate,m=t+ +!f*r,h=m-_*w,S=h-_*d,O=j;break;case"right":v=b=e.coordinate,m=t+ +f*r,h=m+_*w,S=h+_*d,O=j;break;default:h=m=e.coordinate,b=n+ +f*l,v=b+_*w,O=v+_*d,S=j;break}return{line:{x1:h,y1:v,x2:m,y2:b},tick:{x:S,y:O}}}function ZX(e,t){switch(e){case"left":return t?"start":"end";case"right":return t?"end":"start";default:return"middle"}}function WX(e,t){switch(e){case"left":case"right":return"middle";case"top":return t?"start":"end";default:return t?"end":"start"}}function QX(e){var{option:t,tickProps:n,value:r}=e,l,u=Ie(n.className,"recharts-cartesian-axis-tick-value");if(y.isValidElement(t))l=y.cloneElement(t,ft(ft({},n),{},{className:u}));else if(typeof t=="function")l=t(ft(ft({},n),{},{className:u}));else{var s="recharts-cartesian-axis-tick-value";typeof t!="boolean"&&(s=Ie(s,k5(t))),l=y.createElement(hh,Xi({},n,{className:s}),r)}return l}function JX(e){var{ticks:t,axisType:n,axisId:r}=e,l=Xe();return y.useEffect(()=>{if(r==null||n==null)return Fi;var u=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index}));return l(BX({ticks:u,axisId:r,axisType:n})),()=>{l(UX({axisId:r,axisType:n}))}},[l,t,r,n]),null}var eF=y.forwardRef((e,t)=>{var{ticks:n=[],tick:r,tickLine:l,stroke:u,tickFormatter:s,unit:f,padding:d,tickTextProps:h,orientation:m,mirror:v,x:b,y:S,width:O,height:_,tickSize:w,tickMargin:j,fontSize:A,letterSpacing:N,getTicksConfig:T,events:P,axisType:M,axisId:R}=e,I=zb(ft(ft({},T),{},{ticks:n}),A,N),q=pn(T),W=Bi(r),X=w5(q.textAnchor)?q.textAnchor:ZX(m,v),U=WX(m,v),se={};typeof l=="object"&&(se=l);var F=ft(ft({},q),{},{fill:"none"},se),J=I.map(ne=>ft({entry:ne},FX(ne,b,S,O,_,m,w,v,j))),z=J.map(ne=>{var{entry:le,line:Q}=ne;return y.createElement(ht,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(le.value,"-").concat(le.coordinate,"-").concat(le.tickCoord)},l&&y.createElement("line",Xi({},F,Q,{className:Ie("recharts-cartesian-axis-tick-line",$i(l,"className"))})))}),V=J.map((ne,le)=>{var Q,D,{entry:K,tick:oe}=ne,ce=ft(ft(ft(ft({verticalAnchor:U},q),{},{textAnchor:X,stroke:"none",fill:u},oe),{},{index:le,payload:K,visibleTicksCount:I.length,tickFormatter:s,padding:d},h),{},{angle:(Q=(D=h==null?void 0:h.angle)!==null&&D!==void 0?D:q.angle)!==null&&Q!==void 0?Q:0}),ge=ft(ft({},ce),W);return y.createElement(ht,Xi({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(K.value,"-").concat(K.coordinate,"-").concat(K.tickCoord)},is(P,K,le)),r&&y.createElement(QX,{option:r,tickProps:ge,value:"".concat(typeof s=="function"?s(K.value,le):K.value).concat(f||"")}))});return y.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(M,"-ticks")},y.createElement(JX,{ticks:I,axisId:R,axisType:M}),V.length>0&&y.createElement(yn,{zIndex:wt.label},y.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(M,"-tick-labels"),ref:t},V)),z.length>0&&y.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(M,"-tick-lines")},z))}),tF=y.forwardRef((e,t)=>{var{axisLine:n,width:r,height:l,className:u,hide:s,ticks:f,axisType:d,axisId:h}=e,m=HX(e,qX),[v,b]=y.useState(""),[S,O]=y.useState(""),_=y.useRef(null);y.useImperativeHandle(t,()=>({getCalculatedWidth:()=>{var j;return zX({ticks:_.current,label:(j=e.labelRef)===null||j===void 0?void 0:j.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var w=y.useCallback(j=>{if(j){var A=j.getElementsByClassName("recharts-cartesian-axis-tick-value");_.current=A;var N=A[0];if(N){var T=window.getComputedStyle(N),P=T.fontSize,M=T.letterSpacing;(P!==v||M!==S)&&(b(P),O(M))}}},[v,S]);return s||r!=null&&r<=0||l!=null&&l<=0?null:y.createElement(yn,{zIndex:e.zIndex},y.createElement(ht,{className:Ie("recharts-cartesian-axis",u)},y.createElement(XX,{x:e.x,y:e.y,width:r,height:l,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:pn(e)}),y.createElement(eF,{ref:w,axisType:d,events:m,fontSize:v,getTicksConfig:e,height:e.height,letterSpacing:S,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:f,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:h}),y.createElement(XY,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},y.createElement(aG,{label:e.label,labelRef:e.labelRef}),e.children)))}),Ib=y.forwardRef((e,t)=>{var n=Ct(e,ta);return y.createElement(tF,Xi({},n,{ref:t}))});Ib.displayName="CartesianAxis";var nF=["x1","y1","x2","y2","key"],rF=["offset"],aF=["xAxisId","yAxisId"],iF=["xAxisId","yAxisId"];function i2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Zt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?i2(Object(n),!0).forEach(function(r){lF(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function lF(e,t,n){return(t=uF(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uF(e){var t=oF(e,"string");return typeof t=="symbol"?t:t+""}function oF(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Mi(){return Mi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Mi.apply(null,arguments)}function vd(e,t){if(e==null)return{};var n,r,l=sF(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function sF(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var cF=e=>{var{fill:t}=e;if(!t||t==="none")return null;var{fillOpacity:n,x:r,y:l,width:u,height:s,ry:f}=e;return y.createElement("rect",{x:r,y:l,ry:f,width:u,height:s,stroke:"none",fill:t,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function W5(e){var{option:t,lineItemProps:n}=e,r;if(y.isValidElement(t))r=y.cloneElement(t,n);else if(typeof t=="function")r=t(n);else{var l,{x1:u,y1:s,x2:f,y2:d,key:h}=n,m=vd(n,nF),v=(l=pn(m))!==null&&l!==void 0?l:{},{offset:b}=v,S=vd(v,rF);r=y.createElement("line",Mi({},S,{x1:u,y1:s,x2:f,y2:d,fill:"none",key:h}))}return r}function fF(e){var{x:t,width:n,horizontal:r=!0,horizontalPoints:l}=e;if(!r||!l||!l.length)return null;var{xAxisId:u,yAxisId:s}=e,f=vd(e,aF),d=l.map((h,m)=>{var v=Zt(Zt({},f),{},{x1:t,y1:h,x2:t+n,y2:h,key:"line-".concat(m),index:m});return y.createElement(W5,{key:"line-".concat(m),option:r,lineItemProps:v})});return y.createElement("g",{className:"recharts-cartesian-grid-horizontal"},d)}function dF(e){var{y:t,height:n,vertical:r=!0,verticalPoints:l}=e;if(!r||!l||!l.length)return null;var{xAxisId:u,yAxisId:s}=e,f=vd(e,iF),d=l.map((h,m)=>{var v=Zt(Zt({},f),{},{x1:h,y1:t,x2:h,y2:t+n,key:"line-".concat(m),index:m});return y.createElement(W5,{option:r,lineItemProps:v,key:"line-".concat(m)})});return y.createElement("g",{className:"recharts-cartesian-grid-vertical"},d)}function hF(e){var{horizontalFill:t,fillOpacity:n,x:r,y:l,width:u,height:s,horizontalPoints:f,horizontal:d=!0}=e;if(!d||!t||!t.length||f==null)return null;var h=f.map(v=>Math.round(v+l-l)).sort((v,b)=>v-b);l!==h[0]&&h.unshift(0);var m=h.map((v,b)=>{var S=h[b+1],O=S==null,_=O?l+s-v:S-v;if(_<=0)return null;var w=b%t.length;return y.createElement("rect",{key:"react-".concat(b),y:v,x:r,height:_,width:u,stroke:"none",fill:t[w],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return y.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},m)}function mF(e){var{vertical:t=!0,verticalFill:n,fillOpacity:r,x:l,y:u,width:s,height:f,verticalPoints:d}=e;if(!t||!n||!n.length)return null;var h=d.map(v=>Math.round(v+l-l)).sort((v,b)=>v-b);l!==h[0]&&h.unshift(0);var m=h.map((v,b)=>{var S=h[b+1],O=S==null,_=O?l+s-v:S-v;if(_<=0)return null;var w=b%n.length;return y.createElement("rect",{key:"react-".concat(b),x:v,y:u,width:_,height:f,stroke:"none",fill:n[w],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return y.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},m)}var vF=(e,t)=>{var{xAxis:n,width:r,height:l,offset:u}=e;return TT(zb(Zt(Zt(Zt({},ta),n),{},{ticks:NT(n),viewBox:{x:0,y:0,width:r,height:l}})),u.left,u.left+u.width,t)},pF=(e,t)=>{var{yAxis:n,width:r,height:l,offset:u}=e;return TT(zb(Zt(Zt(Zt({},ta),n),{},{ticks:NT(n),viewBox:{x:0,y:0,width:r,height:l}})),u.top,u.top+u.height,t)},yF={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:wt.grid};function Q5(e){var t=c0(),n=f0(),r=IT(),l=Zt(Zt({},Ct(e,yF)),{},{x:de(e.x)?e.x:r.left,y:de(e.y)?e.y:r.top,width:de(e.width)?e.width:r.width,height:de(e.height)?e.height:r.height}),{xAxisId:u,yAxisId:s,x:f,y:d,width:h,height:m,syncWithTicks:v,horizontalValues:b,verticalValues:S}=l,O=Jt(),_=pe(q=>Wj(q,"xAxis",u,O)),w=pe(q=>Wj(q,"yAxis",s,O));if(!_r(h)||!_r(m)||!de(f)||!de(d))return null;var j=l.verticalCoordinatesGenerator||vF,A=l.horizontalCoordinatesGenerator||pF,{horizontalPoints:N,verticalPoints:T}=l;if((!N||!N.length)&&typeof A=="function"){var P=b&&b.length,M=A({yAxis:w?Zt(Zt({},w),{},{ticks:P?b:w.ticks}):void 0,width:t??h,height:n??m,offset:r},P?!0:v);Bf(Array.isArray(M),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof M,"]")),Array.isArray(M)&&(N=M)}if((!T||!T.length)&&typeof j=="function"){var R=S&&S.length,I=j({xAxis:_?Zt(Zt({},_),{},{ticks:R?S:_.ticks}):void 0,width:t??h,height:n??m,offset:r},R?!0:v);Bf(Array.isArray(I),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof I,"]")),Array.isArray(I)&&(T=I)}return y.createElement(yn,{zIndex:l.zIndex},y.createElement("g",{className:"recharts-cartesian-grid"},y.createElement(cF,{fill:l.fill,fillOpacity:l.fillOpacity,x:l.x,y:l.y,width:l.width,height:l.height,ry:l.ry}),y.createElement(hF,Mi({},l,{horizontalPoints:N})),y.createElement(mF,Mi({},l,{verticalPoints:T})),y.createElement(fF,Mi({},l,{offset:r,horizontalPoints:N,xAxis:_,yAxis:w})),y.createElement(dF,Mi({},l,{offset:r,verticalPoints:T,xAxis:_,yAxis:w}))))}Q5.displayName="CartesianGrid";var gF={},J5=Qt({name:"errorBars",initialState:gF,reducers:{addErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]||(e[n]=[]),e[n].push(r)},replaceErrorBar:(e,t)=>{var{itemId:n,prev:r,next:l}=t.payload;e[n]&&(e[n]=e[n].map(u=>u.dataKey===r.dataKey&&u.direction===r.direction?l:u))},removeErrorBar:(e,t)=>{var{itemId:n,errorBar:r}=t.payload;e[n]&&(e[n]=e[n].filter(l=>l.dataKey!==r.dataKey||l.direction!==r.direction))}}}),{addErrorBar:eJ,replaceErrorBar:tJ,removeErrorBar:nJ}=J5.actions,bF=J5.reducer,xF=["children"];function SF(e,t){if(e==null)return{};var n,r,l=wF(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function wF(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var OF={data:[],xAxisId:"xAxis-0",yAxisId:"yAxis-0",dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0},_F=y.createContext(OF);function EF(e){var{children:t}=e,n=SF(e,xF);return y.createElement(_F.Provider,{value:n},t)}function Bb(e,t){var n,r,l=pe(h=>fa(h,e)),u=pe(h=>da(h,t)),s=(n=l==null?void 0:l.allowDataOverflow)!==null&&n!==void 0?n:Et.allowDataOverflow,f=(r=u==null?void 0:u.allowDataOverflow)!==null&&r!==void 0?r:jt.allowDataOverflow,d=s||f;return{needClip:d,needClipX:s,needClipY:f}}function eM(e){var{xAxisId:t,yAxisId:n,clipPathId:r}=e,l=Lb(),{needClipX:u,needClipY:s,needClip:f}=Bb(t,n);if(!f||!l)return null;var{x:d,y:h,width:m,height:v}=l;return y.createElement("clipPath",{id:"clipPath-".concat(r)},y.createElement("rect",{x:u?d:d-m/2,y:s?h:h-v/2,width:u?m:m*2,height:s?v:v*2}))}function jF(e){var t=Bi(e),n=3,r=2;if(t!=null){var{r:l,strokeWidth:u}=t,s=Number(l),f=Number(u);return(Number.isNaN(s)||s<0)&&(s=n),(Number.isNaN(f)||f<0)&&(f=r),{r:s,strokeWidth:f}}return{r:n,strokeWidth:r}}function Tr(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(l=>l.id===t))===null||r===void 0?void 0:r.xAxisId)!==null&&n!==void 0?n:K5}function Nr(e,t){var n,r;return(n=(r=e.graphicalItems.cartesianItems.find(l=>l.id===t))===null||r===void 0?void 0:r.yAxisId)!==null&&n!==void 0?n:K5}var tM=(e,t,n)=>Xa(e,"xAxis",Tr(e,t),n),nM=(e,t,n)=>Va(e,"xAxis",Tr(e,t),n),rM=(e,t,n)=>Xa(e,"yAxis",Nr(e,t),n),aM=(e,t,n)=>Va(e,"yAxis",Nr(e,t),n),AF=$([ke,tM,rM,nM,aM],(e,t,n,r,l)=>Cr(e,"xAxis")?eu(t,r,!1):eu(n,l,!1)),CF=(e,t)=>t,iM=$([uh,CF],(e,t)=>e.filter(n=>n.type==="area").find(n=>n.id===t)),lM=e=>{var t=ke(e),n=Cr(t,"xAxis");return n?"yAxis":"xAxis"},TF=(e,t)=>{var n=lM(e);return n==="yAxis"?Nr(e,t):Tr(e,t)},NF=(e,t,n)=>ud(e,lM(e),TF(e,t),n),PF=$([iM,NF],(e,t)=>{var n;if(!(e==null||t==null)){var{stackId:r}=e,l=Wd(e);if(!(r==null||l==null)){var u=(n=t[r])===null||n===void 0?void 0:n.stackedData,s=u==null?void 0:u.find(f=>f.key===l);if(s!=null)return s.map(f=>[f[0],f[1]])}}}),MF=$([ke,tM,rM,nM,aM,PF,oN,AF,iM,iU],(e,t,n,r,l,u,s,f,d,h)=>{var{chartData:m,dataStartIndex:v,dataEndIndex:b}=s;if(!(d==null||e!=="horizontal"&&e!=="vertical"||t==null||n==null||r==null||l==null||r.length===0||l.length===0||f==null)){var{data:S}=d,O;if(S&&S.length>0?O=S:O=m==null?void 0:m.slice(v,b+1),O!=null)return QF({layout:e,xAxis:t,yAxis:n,xAxisTicks:r,yAxisTicks:l,dataStartIndex:v,areaSettings:d,stackedData:u,displayedData:O,chartBaseValue:h,bandSize:f})}}),DF=["id"],RF=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function Li(){return Li=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Li.apply(null,arguments)}function uM(e,t){if(e==null)return{};var n,r,l=kF(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function kF(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function l2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function Xl(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?l2(Object(n),!0).forEach(function(r){LF(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function LF(e,t,n){return(t=zF(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zF(e){var t=IF(e,"string");return typeof t=="symbol"?t:t+""}function IF(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function pd(e,t){return e&&e!=="none"?e:t}var BF=e=>{var{dataKey:t,name:n,stroke:r,fill:l,legendType:u,hide:s}=e;return[{inactive:s,dataKey:t,type:u,color:pd(r,l),value:du(n,t),payload:e}]},UF=y.memo(e=>{var{dataKey:t,data:n,stroke:r,strokeWidth:l,fill:u,name:s,hide:f,unit:d,tooltipType:h,id:m}=e,v={dataDefinedOnItem:n,getPosition:Fi,settings:{stroke:r,strokeWidth:l,fill:u,dataKey:t,nameKey:void 0,name:du(s,t),hide:f,type:h,color:pd(r,u),unit:d,graphicalItemId:m}};return y.createElement(Rb,{tooltipEntrySettings:v})});function $F(e){var{clipPathId:t,points:n,props:r}=e,{needClip:l,dot:u,dataKey:s}=r,f=pn(r);return y.createElement(YV,{points:n,dot:u,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:s,baseProps:f,needClip:l,clipPathId:t})}function qF(e){var{showLabels:t,children:n,points:r}=e,l=r.map(u=>{var s,f,d={x:(s=u.x)!==null&&s!==void 0?s:0,y:(f=u.y)!==null&&f!==void 0?f:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Xl(Xl({},d),{},{value:u.value,payload:u.payload,parentViewBox:void 0,viewBox:d,fill:void 0})});return y.createElement(T5,{value:t?l:void 0},n)}function u2(e){var{points:t,baseLine:n,needClip:r,clipPathId:l,props:u}=e,{layout:s,type:f,stroke:d,connectNulls:h,isRange:m}=u,{id:v}=u,b=uM(u,DF),S=pn(b),O=rn(b);return y.createElement(y.Fragment,null,(t==null?void 0:t.length)>1&&y.createElement(ht,{clipPath:r?"url(#clipPath-".concat(l,")"):void 0},y.createElement(Zl,Li({},O,{id:v,points:t,connectNulls:h,type:f,baseLine:n,layout:s,stroke:"none",className:"recharts-area-area"})),d!=="none"&&y.createElement(Zl,Li({},S,{className:"recharts-area-curve",layout:s,type:f,connectNulls:h,fill:"none",points:t})),d!=="none"&&m&&Array.isArray(n)&&y.createElement(Zl,Li({},S,{className:"recharts-area-curve",layout:s,type:f,connectNulls:h,fill:"none",points:n}))),y.createElement($F,{points:t,props:b,clipPathId:l}))}function HF(e){var t,n,{alpha:r,baseLine:l,points:u,strokeWidth:s}=e,f=(t=u[0])===null||t===void 0?void 0:t.y,d=(n=u[u.length-1])===null||n===void 0?void 0:n.y;if(!je(f)||!je(d))return null;var h=r*Math.abs(f-d),m=Math.max(...u.map(v=>v.x||0));return de(l)?m=Math.max(l,m):l&&Array.isArray(l)&&l.length&&(m=Math.max(...l.map(v=>v.x||0),m)),de(m)?y.createElement("rect",{x:0,y:f<d?f:f-h,width:m+(s?parseInt("".concat(s),10):1),height:Math.floor(h)}):null}function KF(e){var t,n,{alpha:r,baseLine:l,points:u,strokeWidth:s}=e,f=(t=u[0])===null||t===void 0?void 0:t.x,d=(n=u[u.length-1])===null||n===void 0?void 0:n.x;if(!je(f)||!je(d))return null;var h=r*Math.abs(f-d),m=Math.max(...u.map(v=>v.y||0));return de(l)?m=Math.max(l,m):l&&Array.isArray(l)&&l.length&&(m=Math.max(...l.map(v=>v.y||0),m)),de(m)?y.createElement("rect",{x:f<d?f:f-h,y:0,width:h,height:Math.floor(m+(s?parseInt("".concat(s),10):1))}):null}function YF(e){var{alpha:t,layout:n,points:r,baseLine:l,strokeWidth:u}=e;return n==="vertical"?y.createElement(HF,{alpha:t,points:r,baseLine:l,strokeWidth:u}):y.createElement(KF,{alpha:t,points:r,baseLine:l,strokeWidth:u})}function GF(e){var{needClip:t,clipPathId:n,props:r,previousPointsRef:l,previousBaselineRef:u}=e,{points:s,baseLine:f,isAnimationActive:d,animationBegin:h,animationDuration:m,animationEasing:v,onAnimationStart:b,onAnimationEnd:S}=r,O=y.useMemo(()=>({points:s,baseLine:f}),[s,f]),_=hs(O,"recharts-area-"),w=d0(),[j,A]=y.useState(!1),N=!j,T=y.useCallback(()=>{typeof S=="function"&&S(),A(!1)},[S]),P=y.useCallback(()=>{typeof b=="function"&&b(),A(!0)},[b]);if(w==null)return null;var M=l.current,R=u.current;return y.createElement(qF,{showLabels:N,points:s},r.children,y.createElement(ds,{animationId:_,begin:h,duration:m,isActive:d,easing:v,onAnimationEnd:T,onAnimationStart:P,key:_},I=>{if(M){var q=M.length/s.length,W=I===1?s:s.map((U,se)=>{var F=Math.floor(se*q);if(M[F]){var J=M[F];return Xl(Xl({},U),{},{x:nt(J.x,U.x,I),y:nt(J.y,U.y,I)})}return U}),X;return de(f)?X=nt(R,f,I):ut(f)||lr(f)?X=nt(R,0,I):X=f.map((U,se)=>{var F=Math.floor(se*q);if(Array.isArray(R)&&R[F]){var J=R[F];return Xl(Xl({},U),{},{x:nt(J.x,U.x,I),y:nt(J.y,U.y,I)})}return U}),I>0&&(l.current=W,u.current=X),y.createElement(u2,{points:W,baseLine:X,needClip:t,clipPathId:n,props:r})}return I>0&&(l.current=s,u.current=f),y.createElement(ht,null,d&&y.createElement("defs",null,y.createElement("clipPath",{id:"animationClipPath-".concat(n)},y.createElement(YF,{alpha:I,points:s,baseLine:f,layout:w,strokeWidth:r.strokeWidth}))),y.createElement(ht,{clipPath:"url(#animationClipPath-".concat(n,")")},y.createElement(u2,{points:s,baseLine:f,needClip:t,clipPathId:n,props:r})))}),y.createElement(Ab,{label:r.label}))}function VF(e){var{needClip:t,clipPathId:n,props:r}=e,l=y.useRef(null),u=y.useRef();return y.createElement(GF,{needClip:t,clipPathId:n,props:r,previousPointsRef:l,previousBaselineRef:u})}class XF extends y.PureComponent{render(){var{hide:t,dot:n,points:r,className:l,top:u,left:s,needClip:f,xAxisId:d,yAxisId:h,width:m,height:v,id:b,baseLine:S,zIndex:O}=this.props;if(t)return null;var _=Ie("recharts-area",l),w=b,{r:j,strokeWidth:A}=jF(n),N=I5(n),T=j*2+A,P=f?"url(#clipPath-".concat(N?"":"dots-").concat(w,")"):void 0;return y.createElement(yn,{zIndex:O},y.createElement(ht,{className:_},f&&y.createElement("defs",null,y.createElement(eM,{clipPathId:w,xAxisId:d,yAxisId:h}),!N&&y.createElement("clipPath",{id:"clipPath-dots-".concat(w)},y.createElement("rect",{x:s-T/2,y:u-T/2,width:m+T,height:v+T}))),y.createElement(VF,{needClip:f,clipPathId:w,props:this.props})),y.createElement(JA,{points:r,mainColor:pd(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:P}),this.props.isRange&&Array.isArray(S)&&y.createElement(JA,{points:S,mainColor:pd(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:P}))}}var FF={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:wt.area};function ZF(e){var t,{activeDot:n,animationBegin:r,animationDuration:l,animationEasing:u,connectNulls:s,dot:f,fill:d,fillOpacity:h,hide:m,isAnimationActive:v,legendType:b,stroke:S,xAxisId:O,yAxisId:_}=e,w=uM(e,RF),j=Zi(),A=s5(),{needClip:N}=Bb(O,_),T=Jt(),{points:P,isRange:M,baseLine:R}=(t=pe(se=>MF(se,e.id,T)))!==null&&t!==void 0?t:{},I=Lb();if(j!=="horizontal"&&j!=="vertical"||I==null||A!=="AreaChart"&&A!=="ComposedChart")return null;var{height:q,width:W,x:X,y:U}=I;return!P||!P.length?null:y.createElement(XF,Li({},w,{activeDot:n,animationBegin:r,animationDuration:l,animationEasing:u,baseLine:R,connectNulls:s,dot:f,fill:d,fillOpacity:h,height:q,hide:m,layout:j,isAnimationActive:v,isRange:M,legendType:b,needClip:N,points:P,stroke:S,width:W,left:X,top:U,xAxisId:O,yAxisId:_}))}var WF=(e,t,n,r,l)=>{var u=n??t;if(de(u))return u;var s=e==="horizontal"?l:r,f=s.scale.domain();if(s.type==="number"){var d=Math.max(f[0],f[1]),h=Math.min(f[0],f[1]);return u==="dataMin"?h:u==="dataMax"||d<0?d:Math.max(Math.min(f[0],f[1]),0)}return u==="dataMin"?f[0]:u==="dataMax"?f[1]:f[0]};function QF(e){var{areaSettings:{connectNulls:t,baseValue:n,dataKey:r},stackedData:l,layout:u,chartBaseValue:s,xAxis:f,yAxis:d,displayedData:h,dataStartIndex:m,xAxisTicks:v,yAxisTicks:b,bandSize:S}=e,O=l&&l.length,_=WF(u,s,n,f,d),w=u==="horizontal",j=!1,A=h.map((T,P)=>{var M,R,I,q;if(O)q=l[m+P];else{var W=$e(T,r);Array.isArray(W)?(q=W,j=!0):q=[_,W]}var X=(M=(R=q)===null||R===void 0?void 0:R[1])!==null&&M!==void 0?M:null,U=X==null||O&&!t&&$e(T,r)==null;if(w){var se;return{x:H_({axis:f,ticks:v,bandSize:S,entry:T,index:P}),y:U?null:(se=d.scale.map(X))!==null&&se!==void 0?se:null,value:q,payload:T}}return{x:U?null:(I=f.scale.map(X))!==null&&I!==void 0?I:null,y:H_({axis:d,ticks:b,bandSize:S,entry:T,index:P}),value:q,payload:T}}),N;return O||j?N=A.map(T=>{var P,M=Array.isArray(T.value)?T.value[0]:null;if(w){var R;return{x:T.x,y:M!=null&&T.y!=null&&(R=d.scale.map(M))!==null&&R!==void 0?R:null,payload:T.payload}}return{x:M!=null&&(P=f.scale.map(M))!==null&&P!==void 0?P:null,y:T.y,payload:T.payload}}):N=w?d.scale.map(_):f.scale.map(_),{points:A,baseLine:N??0,isRange:j}}function JF(e){var t=Ct(e,FF),n=Jt();return y.createElement(kb,{id:t.id,type:"area"},r=>y.createElement(y.Fragment,null,y.createElement(U5,{legendPayload:BF(t)}),y.createElement(UF,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:r}),y.createElement(q5,{type:"area",id:r,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:PT(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:n,connectNulls:t.connectNulls}),y.createElement(ZF,Li({},t,{id:r}))))}var oM=y.memo(JF,hu);oM.displayName="Area";var eZ="Invariant failed";function tZ(e,t){throw new Error(eZ)}function bg(){return bg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},bg.apply(null,arguments)}function Ub(e){return y.createElement(B5,bg({shapeType:"rectangle",activeClassName:"recharts-active-bar",inActiveClassName:"recharts-inactive-bar"},e))}var nZ=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(r,l)=>{if(de(t))return t;var u=de(r)||ut(r);return u?t(r,l):(u||tZ(),n)}},rZ=(e,t,n)=>n,aZ=(e,t)=>t,Es=$([uh,aZ],(e,t)=>e.filter(n=>n.type==="bar").find(n=>n.id===t)),iZ=$([Es],e=>e==null?void 0:e.maxBarSize),lZ=(e,t,n,r)=>r,uZ=$([ke,uh,Tr,Nr,rZ],(e,t,n,r,l)=>t.filter(u=>e==="horizontal"?u.xAxisId===n:u.yAxisId===r).filter(u=>u.isPanorama===l).filter(u=>u.hide===!1).filter(u=>u.type==="bar")),oZ=(e,t,n)=>{var r=ke(e),l=Tr(e,t),u=Nr(e,t);if(!(l==null||u==null))return r==="horizontal"?ud(e,"yAxis",u,n):ud(e,"xAxis",l,n)},sZ=(e,t)=>{var n=ke(e),r=Tr(e,t),l=Nr(e,t);if(!(r==null||l==null))return n==="horizontal"?Zj(e,"xAxis",r):Zj(e,"yAxis",l)},cZ=$([uZ,aU,sZ],fX),fZ=(e,t,n)=>{var r,l,u=Es(e,t);if(u==null)return 0;var s=Tr(e,t),f=Nr(e,t);if(s==null||f==null)return 0;var d=ke(e),h=xN(e),{maxBarSize:m}=u,v=ut(m)?h:m,b,S;return d==="horizontal"?(b=Xa(e,"xAxis",s,n),S=Va(e,"xAxis",s,n)):(b=Xa(e,"yAxis",f,n),S=Va(e,"yAxis",f,n)),(r=(l=eu(b,S,!0))!==null&&l!==void 0?l:v)!==null&&r!==void 0?r:0},sM=(e,t,n)=>{var r=ke(e),l=Tr(e,t),u=Nr(e,t);if(!(l==null||u==null)){var s,f;return r==="horizontal"?(s=Xa(e,"xAxis",l,n),f=Va(e,"xAxis",l,n)):(s=Xa(e,"yAxis",u,n),f=Va(e,"yAxis",u,n)),eu(s,f)}},dZ=$([cZ,xN,rU,SN,fZ,sM,iZ],pX),hZ=(e,t,n)=>{var r=Tr(e,t);if(r!=null)return Xa(e,"xAxis",r,n)},mZ=(e,t,n)=>{var r=Nr(e,t);if(r!=null)return Xa(e,"yAxis",r,n)},vZ=(e,t,n)=>{var r=Tr(e,t);if(r!=null)return Va(e,"xAxis",r,n)},pZ=(e,t,n)=>{var r=Nr(e,t);if(r!=null)return Va(e,"yAxis",r,n)},yZ=$([dZ,Es],gX),gZ=$([oZ,Es],yX),bZ=$([Tt,l0,hZ,mZ,vZ,pZ,yZ,ke,oN,sM,gZ,Es,lZ],(e,t,n,r,l,u,s,f,d,h,m,v,b)=>{var{chartData:S,dataStartIndex:O,dataEndIndex:_}=d;if(!(v==null||s==null||t==null||f!=="horizontal"&&f!=="vertical"||n==null||r==null||l==null||u==null||h==null)){var{data:w}=v,j;if(w!=null&&w.length>0?j=w:j=S==null?void 0:S.slice(O,_+1),j!=null)return VZ({layout:f,barSettings:v,pos:s,parentViewBox:t,bandSize:h,xAxis:n,yAxis:r,xAxisTicks:l,yAxisTicks:u,stackedData:m,displayedData:j,offset:e,cells:b,dataStartIndex:O})}}),xZ=["index"];function xg(){return xg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xg.apply(null,arguments)}function SZ(e,t){if(e==null)return{};var n,r,l=wZ(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function wZ(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var cM=y.createContext(void 0),OZ=e=>{var t=y.useContext(cM);if(t!=null)return t.stackId;if(e!=null)return PT(e)},_Z=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),EZ=e=>{var t=y.useContext(cM);if(t!=null){var{stackId:n}=t;return"url(#".concat(_Z(n,e),")")}},fM=e=>{var{index:t}=e,n=SZ(e,xZ),r=EZ(t);return y.createElement(ht,xg({className:"recharts-bar-stack-layer",clipPath:r},n))},jZ=["onMouseEnter","onMouseLeave","onClick"],AZ=["value","background","tooltipPosition"],CZ=["id"],TZ=["onMouseEnter","onClick","onMouseLeave"];function Wa(){return Wa=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Wa.apply(null,arguments)}function o2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function tn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?o2(Object(n),!0).forEach(function(r){NZ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function NZ(e,t,n){return(t=PZ(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function PZ(e){var t=MZ(e,"string");return typeof t=="symbol"?t:t+""}function MZ(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function yd(e,t){if(e==null)return{};var n,r,l=DZ(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function DZ(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var RZ=e=>{var{dataKey:t,name:n,fill:r,legendType:l,hide:u}=e;return[{inactive:u,dataKey:t,type:l,color:r,value:du(n,t),payload:e}]},kZ=y.memo(e=>{var{dataKey:t,stroke:n,strokeWidth:r,fill:l,name:u,hide:s,unit:f,tooltipType:d,id:h}=e,m={dataDefinedOnItem:void 0,getPosition:Fi,settings:{stroke:n,strokeWidth:r,fill:l,dataKey:t,nameKey:void 0,name:du(u,t),hide:s,type:d,color:l,unit:f,graphicalItemId:h}};return y.createElement(Rb,{tooltipEntrySettings:m})});function LZ(e){var t=pe(Fa),{data:n,dataKey:r,background:l,allOtherBarProps:u}=e,{onMouseEnter:s,onMouseLeave:f,onClick:d}=u,h=yd(u,jZ),m=Pb(s,r,u.id),v=Mb(f),b=Db(d,r,u.id);if(!l||n==null)return null;var S=Bi(l);return y.createElement(yn,{zIndex:bX(l,wt.barBackground)},n.map((O,_)=>{var{value:w,background:j,tooltipPosition:A}=O,N=yd(O,AZ);if(!j)return null;var T=m(O,_),P=v(O,_),M=b(O,_),R=tn(tn(tn(tn(tn({option:l,isActive:String(_)===t},N),{},{fill:"#eee"},j),S),is(h,O,_)),{},{onMouseEnter:T,onMouseLeave:P,onClick:M,dataKey:r,index:_,className:"recharts-bar-background-rectangle"});return y.createElement(Ub,Wa({key:"background-bar-".concat(_)},R))}))}function zZ(e){var{showLabels:t,children:n,rects:r}=e,l=r==null?void 0:r.map(u=>{var s={x:u.x,y:u.y,width:u.width,lowerWidth:u.width,upperWidth:u.width,height:u.height};return tn(tn({},s),{},{value:u.value,payload:u.payload,parentViewBox:u.parentViewBox,viewBox:s,fill:u.fill})});return y.createElement(T5,{value:t?l:void 0},n)}function IZ(e){var{shape:t,activeBar:n,baseProps:r,entry:l,index:u,dataKey:s}=e,f=pe(Fa),d=pe(bb),h=n&&String(l.originalDataIndex)===f&&(d==null||s===d),[m,v]=y.useState(!1),[b,S]=y.useState(!1);y.useEffect(()=>{var N;return h?(v(!0),N=requestAnimationFrame(()=>{S(!0)})):S(!1),()=>{cancelAnimationFrame(N)}},[h]);var O=y.useCallback(()=>{h||v(!1)},[h]),_=h&&b,w=h||m,j;h?n===!0?j=t:j=n:j=t;var A=y.createElement(Ub,Wa({},r,{name:String(r.name)},l,{isActive:_,option:j,index:u,dataKey:s,onTransitionEnd:O}));return w?y.createElement(yn,{zIndex:wt.activeBar},y.createElement(fM,{index:l.originalDataIndex},A)):A}function BZ(e){var{shape:t,baseProps:n,entry:r,index:l,dataKey:u}=e;return y.createElement(Ub,Wa({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:l,dataKey:u}))}function UZ(e){var t,{data:n,props:r}=e,l=(t=pn(r))!==null&&t!==void 0?t:{},{id:u}=l,s=yd(l,CZ),{shape:f,dataKey:d,activeBar:h}=r,{onMouseEnter:m,onClick:v,onMouseLeave:b}=r,S=yd(r,TZ),O=Pb(m,d,u),_=Mb(b),w=Db(v,d,u);return n?y.createElement(y.Fragment,null,n.map((j,A)=>y.createElement(fM,Wa({index:j.originalDataIndex,key:"rectangle-".concat(j==null?void 0:j.x,"-").concat(j==null?void 0:j.y,"-").concat(j==null?void 0:j.value,"-").concat(A),className:"recharts-bar-rectangle"},is(S,j,A),{onMouseEnter:O(j,A),onMouseLeave:_(j,A),onClick:w(j,A)}),h?y.createElement(IZ,{shape:f,activeBar:h,baseProps:s,entry:j,index:A,dataKey:d}):y.createElement(BZ,{shape:f,baseProps:s,entry:j,index:A,dataKey:d})))):null}function $Z(e){var{props:t,previousRectanglesRef:n}=e,{data:r,layout:l,isAnimationActive:u,animationBegin:s,animationDuration:f,animationEasing:d,onAnimationEnd:h,onAnimationStart:m}=t,v=n.current,b=hs(t,"recharts-bar-"),[S,O]=y.useState(!1),_=!S,w=y.useCallback(()=>{typeof h=="function"&&h(),O(!1)},[h]),j=y.useCallback(()=>{typeof m=="function"&&m(),O(!0)},[m]);return y.createElement(zZ,{showLabels:_,rects:r},y.createElement(ds,{animationId:b,begin:s,duration:f,isActive:u,easing:d,onAnimationEnd:w,onAnimationStart:j,key:b},A=>{var N=A===1?r:r==null?void 0:r.map((T,P)=>{var M=v&&v[P];if(M)return tn(tn({},T),{},{x:nt(M.x,T.x,A),y:nt(M.y,T.y,A),width:nt(M.width,T.width,A),height:nt(M.height,T.height,A)});if(l==="horizontal"){var R=nt(0,T.height,A),I=nt(T.stackedBarStart,T.y,A);return tn(tn({},T),{},{y:I,height:R})}var q=nt(0,T.width,A),W=nt(T.stackedBarStart,T.x,A);return tn(tn({},T),{},{width:q,x:W})});return A>0&&(n.current=N??null),N==null?null:y.createElement(ht,null,y.createElement(UZ,{props:t,data:N}))}),y.createElement(Ab,{label:t.label}),t.children)}function qZ(e){var t=y.useRef(null);return y.createElement($Z,{previousRectanglesRef:t,props:e})}var dM=0,HZ=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:$e(e,t)}};class KZ extends y.PureComponent{render(){var{hide:t,data:n,dataKey:r,className:l,xAxisId:u,yAxisId:s,needClip:f,background:d,id:h}=this.props;if(t||n==null)return null;var m=Ie("recharts-bar",l),v=h;return y.createElement(ht,{className:m,id:h},f&&y.createElement("defs",null,y.createElement(eM,{clipPathId:v,xAxisId:u,yAxisId:s})),y.createElement(ht,{className:"recharts-bar-rectangles",clipPath:f?"url(#clipPath-".concat(v,")"):void 0},y.createElement(LZ,{data:n,dataKey:r,background:d,allOtherBarProps:this.props}),y.createElement(qZ,this.props)))}}var YZ={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:dM,xAxisId:0,yAxisId:0,zIndex:wt.bar};function GZ(e){var{xAxisId:t,yAxisId:n,hide:r,legendType:l,minPointSize:u,activeBar:s,animationBegin:f,animationDuration:d,animationEasing:h,isAnimationActive:m}=e,{needClip:v}=Bb(t,n),b=Zi(),S=Jt(),O=Nb(e.children,dh),_=pe(A=>bZ(A,e.id,S,O));if(b!=="vertical"&&b!=="horizontal")return null;var w,j=_==null?void 0:_[0];return j==null||j.height==null||j.width==null?w=0:w=b==="vertical"?j.height/2:j.width/2,y.createElement(EF,{xAxisId:t,yAxisId:n,data:_,dataPointFormatter:HZ,errorBarOffset:w},y.createElement(KZ,Wa({},e,{layout:b,needClip:v,data:_,xAxisId:t,yAxisId:n,hide:r,legendType:l,minPointSize:u,activeBar:s,animationBegin:f,animationDuration:d,animationEasing:h,isAnimationActive:m})))}function VZ(e){var{layout:t,barSettings:{dataKey:n,minPointSize:r,hasCustomShape:l},pos:u,bandSize:s,xAxis:f,yAxis:d,xAxisTicks:h,yAxisTicks:m,stackedData:v,displayedData:b,offset:S,cells:O,parentViewBox:_,dataStartIndex:w}=e,j=t==="horizontal"?d:f,A=v?j.scale.domain():null,N=FI({numericAxis:j}),T=j.scale.map(N);return b.map((P,M)=>{var R,I,q,W,X,U;if(v){var se=v[M+w];if(se==null)return null;R=KI(se,A)}else R=$e(P,n),Array.isArray(R)||(R=[N,R]);var F=nZ(r,dM)(R[1],M);if(t==="horizontal"){var J,z=d.scale.map(R[0]),V=d.scale.map(R[1]);if(z==null||V==null)return null;I=K_({axis:f,ticks:h,bandSize:s,offset:u.offset,entry:P,index:M}),q=(J=V??z)!==null&&J!==void 0?J:void 0,W=u.size;var ne=z-V;if(X=lr(ne)?0:ne,U={x:I,y:S.top,width:W,height:S.height},Math.abs(F)>0&&Math.abs(X)<Math.abs(F)){var le=kt(X||F)*(Math.abs(F)-Math.abs(X));q-=le,X+=le}}else{var Q=f.scale.map(R[0]),D=f.scale.map(R[1]);if(Q==null||D==null)return null;if(I=Q,q=K_({axis:d,ticks:m,bandSize:s,offset:u.offset,entry:P,index:M}),W=D-Q,X=u.size,U={x:S.left,y:q,width:S.width,height:X},Math.abs(F)>0&&Math.abs(W)<Math.abs(F)){var K=kt(W||F)*(Math.abs(F)-Math.abs(W));W+=K}}if(I==null||q==null||W==null||X==null||!l&&(W===0||X===0))return null;var oe=tn(tn({},P),{},{stackedBarStart:T,x:I,y:q,width:W,height:X,value:v?R:R[1],payload:P,background:U,tooltipPosition:{x:I+W/2,y:q+X/2},parentViewBox:_,originalDataIndex:M},O&&O[M]&&O[M].props);return oe}).filter(Boolean)}function XZ(e){var t=Ct(e,YZ),n=OZ(t.stackId),r=Jt();return y.createElement(kb,{id:t.id,type:"bar"},l=>y.createElement(y.Fragment,null,y.createElement(U5,{legendPayload:RZ(t)}),y.createElement(kZ,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:l}),y.createElement(q5,{type:"bar",id:l,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:n,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:r,hasCustomShape:t.shape!=null}),y.createElement(yn,{zIndex:t.zIndex},y.createElement(GZ,Wa({},t,{id:l})))))}var hM=y.memo(XZ,hu);hM.displayName="Bar";var FZ=["domain","range"],ZZ=["domain","range"];function s2(e,t){if(e==null)return{};var n,r,l=WZ(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function WZ(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function c2(e,t){return e===t?!0:Array.isArray(e)&&e.length===2&&Array.isArray(t)&&t.length===2?e[0]===t[0]&&e[1]===t[1]:!1}function mM(e,t){if(e===t)return!0;var{domain:n,range:r}=e,l=s2(e,FZ),{domain:u,range:s}=t,f=s2(t,ZZ);return!c2(n,u)||!c2(r,s)?!1:hu(l,f)}var QZ=["type"],JZ=["dangerouslySetInnerHTML","ticks","scale"],eW=["id","scale"];function Sg(){return Sg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Sg.apply(null,arguments)}function f2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function d2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?f2(Object(n),!0).forEach(function(r){tW(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function tW(e,t,n){return(t=nW(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nW(e){var t=rW(e,"string");return typeof t=="symbol"?t:t+""}function rW(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function wg(e,t){if(e==null)return{};var n,r,l=aW(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function aW(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function iW(e){var t=Xe(),n=y.useRef(null),r=d0(),{type:l}=e,u=wg(e,QZ),s=Fd(r,"xAxis",l),f=y.useMemo(()=>{if(s!=null)return d2(d2({},u),{},{type:s})},[u,s]);return y.useLayoutEffect(()=>{f!=null&&(n.current===null?t(ZV(f)):n.current!==f&&t(WV({prev:n.current,next:f})),n.current=f)},[f,t]),y.useLayoutEffect(()=>()=>{n.current&&(t(QV(n.current)),n.current=null)},[t]),null}var lW=e=>{var{xAxisId:t,className:n}=e,r=pe(l0),l=Jt(),u="xAxis",s=pe(j=>IP(j,u,t,l)),f=pe(j=>kP(j,t)),d=pe(j=>Iq(j,t)),h=pe(j=>hP(j,t));if(f==null||d==null||h==null)return null;var{dangerouslySetInnerHTML:m,ticks:v,scale:b}=e,S=wg(e,JZ),{id:O,scale:_}=h,w=wg(h,eW);return y.createElement(Ib,Sg({},S,w,{x:d.x,y:d.y,width:f.width,height:f.height,className:Ie("recharts-".concat(u," ").concat(u),n),viewBox:r,ticks:s,axisType:u,axisId:t}))},uW={allowDataOverflow:Et.allowDataOverflow,allowDecimals:Et.allowDecimals,allowDuplicatedCategory:Et.allowDuplicatedCategory,angle:Et.angle,axisLine:ta.axisLine,height:Et.height,hide:!1,includeHidden:Et.includeHidden,interval:Et.interval,label:!1,minTickGap:Et.minTickGap,mirror:Et.mirror,orientation:Et.orientation,padding:Et.padding,reversed:Et.reversed,scale:Et.scale,tick:Et.tick,tickCount:Et.tickCount,tickLine:ta.tickLine,tickSize:ta.tickSize,type:Et.type,niceTicks:Et.niceTicks,xAxisId:0},oW=e=>{var t=Ct(e,uW);return y.createElement(y.Fragment,null,y.createElement(iW,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),y.createElement(lW,t))},$b=y.memo(oW,mM);$b.displayName="XAxis";var sW=["type"],cW=["dangerouslySetInnerHTML","ticks","scale"],fW=["id","scale"];function Og(){return Og=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Og.apply(null,arguments)}function h2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function m2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?h2(Object(n),!0).forEach(function(r){dW(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function dW(e,t,n){return(t=hW(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hW(e){var t=mW(e,"string");return typeof t=="symbol"?t:t+""}function mW(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _g(e,t){if(e==null)return{};var n,r,l=vW(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function vW(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function pW(e){var t=Xe(),n=y.useRef(null),r=d0(),{type:l}=e,u=_g(e,sW),s=Fd(r,"yAxis",l),f=y.useMemo(()=>{if(s!=null)return m2(m2({},u),{},{type:s})},[s,u]);return y.useLayoutEffect(()=>{f!=null&&(n.current===null?t(JV(f)):n.current!==f&&t(eX({prev:n.current,next:f})),n.current=f)},[f,t]),y.useLayoutEffect(()=>()=>{n.current&&(t(tX(n.current)),n.current=null)},[t]),null}function yW(e){var{yAxisId:t,className:n,width:r,label:l}=e,u=y.useRef(null),s=y.useRef(null),f=pe(l0),d=Jt(),h=Xe(),m="yAxis",v=pe(M=>LP(M,t)),b=pe(M=>Uq(M,t)),S=pe(M=>IP(M,m,t,d)),O=pe(M=>mP(M,t));if(y.useLayoutEffect(()=>{if(!(r!=="auto"||!v||jb(l)||y.isValidElement(l)||O==null)){var M=u.current;if(M){var R=M.getCalculatedWidth();Math.round(v.width)!==Math.round(R)&&h(nX({id:t,width:R}))}}},[S,v,h,l,t,r,O]),v==null||b==null||O==null)return null;var{dangerouslySetInnerHTML:_,ticks:w,scale:j}=e,A=_g(e,cW),{id:N,scale:T}=O,P=_g(O,fW);return y.createElement(Ib,Og({},A,P,{ref:u,labelRef:s,x:b.x,y:b.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:v.width,height:v.height,className:Ie("recharts-".concat(m," ").concat(m),n),viewBox:f,ticks:S,axisType:m,axisId:t}))}var gW={allowDataOverflow:jt.allowDataOverflow,allowDecimals:jt.allowDecimals,allowDuplicatedCategory:jt.allowDuplicatedCategory,angle:jt.angle,axisLine:ta.axisLine,hide:!1,includeHidden:jt.includeHidden,interval:jt.interval,label:!1,minTickGap:jt.minTickGap,mirror:jt.mirror,orientation:jt.orientation,padding:jt.padding,reversed:jt.reversed,scale:jt.scale,tick:jt.tick,tickCount:jt.tickCount,tickLine:ta.tickLine,tickSize:ta.tickSize,type:jt.type,niceTicks:jt.niceTicks,width:jt.width,yAxisId:0},bW=e=>{var t=Ct(e,gW);return y.createElement(y.Fragment,null,y.createElement(pW,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),y.createElement(yW,t))},qb=y.memo(bW,mM);qb.displayName="YAxis";var xW=(e,t)=>t,Hb=$([xW,ke,CN,Lt,n5,ha,uK,Tt],mK);function SW(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function Kb(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(SW(e)){var l=e.currentTarget.getBBox();n=l.width>0?t.width/l.width:1,r=l.height>0?t.height/l.height:1}else{var u=e.currentTarget;n=u.offsetWidth>0?t.width/u.offsetWidth:1,r=u.offsetHeight>0?t.height/u.offsetHeight:1}var s=(f,d)=>({relativeX:Math.round((f-t.left)/n),relativeY:Math.round((d-t.top)/r)});return"touches"in e?Array.from(e.touches).map(f=>s(f.clientX,f.clientY)):s(e.clientX,e.clientY)}var vM=Pn("mouseClick"),pM=us();pM.startListening({actionCreator:vM,effect:(e,t)=>{var n=e.payload,r=Hb(t.getState(),Kb(n));(r==null?void 0:r.activeIndex)!=null&&t.dispatch(nH({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var Eg=Pn("mouseMove"),yM=us(),Hl=null,Oi=null,Ay=null;yM.startListening({actionCreator:Eg,effect:(e,t)=>{var n=e.payload,r=t.getState(),{throttleDelay:l,throttledEvents:u}=r.eventSettings,s=u==="all"||(u==null?void 0:u.includes("mousemove"));Hl!==null&&(cancelAnimationFrame(Hl),Hl=null),Oi!==null&&(typeof l!="number"||!s)&&(clearTimeout(Oi),Oi=null),Ay=Kb(n);var f=()=>{var d=t.getState(),h=Os(d,d.tooltip.settings.shared);if(!Ay){Hl=null,Oi=null;return}if(h==="axis"){var m=Hb(d,Ay);(m==null?void 0:m.activeIndex)!=null?t.dispatch(GP({activeIndex:m.activeIndex,activeDataKey:void 0,activeCoordinate:m.activeCoordinate})):t.dispatch(YP())}Hl=null,Oi=null};if(!s){f();return}l==="raf"?Hl=requestAnimationFrame(f):typeof l=="number"&&Oi===null&&(Oi=setTimeout(f,l))}});function wW(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<<CHILDREN>>":t}var v2={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},gM=Qt({name:"rootProps",initialState:v2,reducers:{updateOptions:(e,t)=>{var n;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(n=t.payload.barGap)!==null&&n!==void 0?n:v2.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),OW=gM.reducer,{updateOptions:_W}=gM.actions,EW=null,jW={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},bM=Qt({name:"polarOptions",initialState:EW,reducers:jW}),{updatePolarOptions:AW}=bM.actions,CW=bM.reducer,xM=Pn("keyDown"),SM=Pn("focus"),wM=Pn("blur"),yh=us(),Kl=null,_i=null,of=null;yh.startListening({actionCreator:xM,effect:(e,t)=>{of=e.payload,Kl!==null&&(cancelAnimationFrame(Kl),Kl=null);var n=t.getState(),{throttleDelay:r,throttledEvents:l}=n.eventSettings,u=l==="all"||l.includes("keydown");_i!==null&&(typeof r!="number"||!u)&&(clearTimeout(_i),_i=null);var s=()=>{try{var f=t.getState(),d=f.rootProps.accessibilityLayer!==!1;if(!d)return;var{keyboardInteraction:h}=f.tooltip,m=of;if(m!=="ArrowRight"&&m!=="ArrowLeft"&&m!=="Enter")return;var v=Do(h,Vi(f),lu(f),uu(f)),b=v==null?-1:Number(v),S=!Number.isFinite(b)||b<0,O=ha(f),_=Vi(f),w=Os(f,f.tooltip.settings.shared);if(m==="Enter"){if(S)return;var j=cd(f,w,"hover",String(h.index));t.dispatch(sd({active:!h.active,activeIndex:h.index,activeCoordinate:j}));return}var A=Yq(f),N=A==="left-to-right"?1:-1,T=m==="ArrowRight"?1:-1,P;if(S){var M=lu(f),R=uu(f),I=T*N,q=F=>({active:!1,index:String(F),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(P=-1,I>0){for(var W=0;W<_.length;W++)if(Do(q(W),_,M,R)!=null){P=W;break}}else for(var X=_.length-1;X>=0;X--)if(Do(q(X),_,M,R)!=null){P=X;break}if(P<0)return}else{P=b+T*N;var U=(O==null?void 0:O.length)||_.length;if(U===0||P>=U||P<0)return}var se=cd(f,w,"hover",String(P));t.dispatch(sd({active:!0,activeIndex:P.toString(),activeCoordinate:se}))}finally{Kl=null,_i=null}};if(!u){s();return}r==="raf"?Kl=requestAnimationFrame(s):typeof r=="number"&&_i===null&&(s(),of=null,_i=setTimeout(()=>{of?s():(_i=null,Kl=null)},r))}});yh.startListening({actionCreator:SM,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:l}=n.tooltip;if(!l.active&&l.index==null){var u="0",s=Os(n,n.tooltip.settings.shared),f=cd(n,s,"hover",String(u));t.dispatch(sd({active:!0,activeIndex:u,activeCoordinate:f}))}}}});yh.startListening({actionCreator:wM,effect:(e,t)=>{var n=t.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:l}=n.tooltip;l.active&&t.dispatch(sd({active:!1,activeIndex:l.index,activeCoordinate:l.coordinate}))}}});function OM(e){e.persist();var{currentTarget:t}=e;return new Proxy(e,{get:(n,r)=>{if(r==="currentTarget")return t;var l=Reflect.get(n,r);return typeof l=="function"?l.bind(n):l}})}var Yn=Pn("externalEvent"),_M=us(),sf=new Map,Co=new Map,Cy=new Map;_M.startListening({actionCreator:Yn,effect:(e,t)=>{var{handler:n,reactEvent:r}=e.payload;if(n!=null){var l=r.type,u=OM(r);Cy.set(l,{handler:n,reactEvent:u});var s=sf.get(l);s!==void 0&&(cancelAnimationFrame(s),sf.delete(l));var f=t.getState(),{throttleDelay:d,throttledEvents:h}=f.eventSettings,m=h,v=m==="all"||(m==null?void 0:m.includes(l)),b=Co.get(l);b!==void 0&&(typeof d!="number"||!v)&&(clearTimeout(b),Co.delete(l));var S=()=>{var w=Cy.get(l);try{if(!w)return;var{handler:j,reactEvent:A}=w,N=t.getState(),T={activeCoordinate:GH(N),activeDataKey:bb(N),activeIndex:Fa(N),activeLabel:i5(N),activeTooltipIndex:Fa(N),isTooltipActive:VH(N)};j&&j(T,A)}finally{sf.delete(l),Co.delete(l),Cy.delete(l)}};if(!v){S();return}if(d==="raf"){var O=requestAnimationFrame(S);sf.set(l,O)}else if(typeof d=="number"){if(!Co.has(l)){S();var _=setTimeout(S,d);Co.set(l,_)}}else S()}}});var TW=$([Su],e=>e.tooltipItemPayloads),NW=$([TW,(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(u=>u.settings.graphicalItemId===n);if(r!=null){var{getPosition:l}=r;if(l!=null)return l(t)}}}),EM=Pn("touchMove"),jM=us(),Ei=null,Ba=null,p2=null,To=null;jM.startListening({actionCreator:EM,effect:(e,t)=>{var n=e.payload;if(!(n.touches==null||n.touches.length===0)){To=OM(n);var r=t.getState(),{throttleDelay:l,throttledEvents:u}=r.eventSettings,s=u==="all"||u.includes("touchmove");Ei!==null&&(cancelAnimationFrame(Ei),Ei=null),Ba!==null&&(typeof l!="number"||!s)&&(clearTimeout(Ba),Ba=null),p2=Array.from(n.touches).map(d=>Kb({clientX:d.clientX,clientY:d.clientY,currentTarget:n.currentTarget}));var f=()=>{if(To!=null){var d=t.getState(),h=Os(d,d.tooltip.settings.shared);if(h==="axis"){var m,v=(m=p2)===null||m===void 0?void 0:m[0];if(v==null){Ei=null,Ba=null;return}var b=Hb(d,v);(b==null?void 0:b.activeIndex)!=null&&t.dispatch(GP({activeIndex:b.activeIndex,activeDataKey:void 0,activeCoordinate:b.activeCoordinate}))}else if(h==="item"){var S,O=To.touches[0];if(document.elementFromPoint==null||O==null)return;var _=document.elementFromPoint(O.clientX,O.clientY);if(!_||!_.getAttribute)return;var w=_.getAttribute(DT),j=(S=_.getAttribute(RT))!==null&&S!==void 0?S:void 0,A=Ji(d).find(P=>P.id===j);if(w==null||A==null||j==null)return;var{dataKey:N}=A,T=NW(d,w,j);t.dispatch(KP({activeDataKey:N,activeIndex:w,activeCoordinate:T,activeGraphicalItemId:j}))}Ei=null,Ba=null}};if(!s){f();return}l==="raf"?Ei=requestAnimationFrame(f):typeof l=="number"&&Ba===null&&(f(),To=null,Ba=setTimeout(()=>{To?f():(Ba=null,Ei=null)},l))}}});var Yb={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},AM=Qt({name:"eventSettings",initialState:Yb,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=t.payload.throttledEvents)}}}),{setEventSettings:PW}=AM.actions,MW=AM.reducer,DW=eT({brush:xX,cartesianAxis:rX,chartData:KK,errorBars:bF,eventSettings:MW,graphicalItems:uV,layout:BI,legend:Y8,options:BK,polarAxis:xG,polarOptions:CW,referenceElements:_X,renderedTicks:$X,rootProps:OW,tooltip:rH,zIndex:AK}),RW=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return cI({reducer:DW,preloadedState:t,middleware:r=>{var l;return r({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((l="es6")!==null&&l!==void 0?l:"")}).concat([pM.middleware,yM.middleware,yh.middleware,_M.middleware,jM.middleware])},enhancers:r=>{var l=r;return typeof r=="function"&&(l=r()),l.concat(vT({type:"raf"}))},devTools:{serialize:{replacer:wW},name:"recharts-".concat(n)}})};function CM(e){var{preloadedState:t,children:n,reduxStoreName:r}=e,l=Jt(),u=y.useRef(null);if(l)return n;u.current==null&&(u.current=RW(t,r));var s=Jg;return y.createElement(uB,{context:s,store:u.current},n)}function kW(e){var{layout:t,margin:n}=e,r=Xe(),l=Jt();return y.useEffect(()=>{l||(r(LI(t)),r(kI(n)))},[r,l,t,n]),null}var TM=y.memo(kW,hu);function NM(e){var t=Xe();return y.useEffect(()=>{t(_W(e))},[t,e]),null}var LW=e=>{var t=Xe();return y.useEffect(()=>{t(PW(e))},[t,e]),null},PM=y.memo(LW,hu);function y2(e){var{zIndex:t,isPanorama:n}=e,r=y.useRef(null),l=Xe();return y.useLayoutEffect(()=>(r.current&&l(EK({zIndex:t,element:r.current,isPanorama:n})),()=>{l(jK({zIndex:t,isPanorama:n}))}),[l,t,n]),y.createElement("g",{tabIndex:-1,ref:r,className:"recharts-zIndex-layer_".concat(t)})}function g2(e){var{children:t,isPanorama:n}=e,r=pe(pK);if(!r||r.length===0)return t;var l=r.filter(s=>s<0),u=r.filter(s=>s>0);return y.createElement(y.Fragment,null,l.map(s=>y.createElement(y2,{key:s,zIndex:s,isPanorama:n})),t,u.map(s=>y.createElement(y2,{key:s,zIndex:s,isPanorama:n})))}var zW=["children"];function IW(e,t){if(e==null)return{};var n,r,l=BW(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function BW(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function gd(){return gd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},gd.apply(null,arguments)}var UW={width:"100%",height:"100%",display:"block"},$W=y.forwardRef((e,t)=>{var n=c0(),r=f0(),l=QT();if(!_r(n)||!_r(r))return null;var{children:u,otherAttributes:s,title:f,desc:d}=e,h,m;return s!=null&&(typeof s.tabIndex=="number"?h=s.tabIndex:h=l?0:void 0,typeof s.role=="string"?m=s.role:m=l?"application":void 0),y.createElement(qg,gd({},s,{title:f,desc:d,role:m,tabIndex:h,width:n,height:r,style:UW,ref:t}),u)}),qW=e=>{var{children:t}=e,n=pe(qd);if(!n)return null;var{width:r,height:l,y:u,x:s}=n;return y.createElement(qg,{width:r,height:l,x:s,y:u},t)},b2=y.forwardRef((e,t)=>{var{children:n}=e,r=IW(e,zW),l=Jt();return l?y.createElement(qW,null,y.createElement(g2,{isPanorama:!0},n)):y.createElement($W,gd({ref:t},r),y.createElement(g2,{isPanorama:!1},n))});function HW(){var e=Xe(),[t,n]=y.useState(null),r=pe(t8);return y.useEffect(()=>{if(t!=null){var l=t.getBoundingClientRect(),u=l.width/t.offsetWidth;je(u)&&u!==r&&e(II(u))}},[t,e,r]),n}function x2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function KW(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?x2(Object(n),!0).forEach(function(r){YW(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function YW(e,t,n){return(t=GW(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function GW(e){var t=VW(e,"string");return typeof t=="symbol"?t:t+""}function VW(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ga(){return Ga=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ga.apply(null,arguments)}var XW=()=>(JK(),null);function bd(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var FW=y.forwardRef((e,t)=>{var n,r,l=y.useRef(null),[u,s]=y.useState({containerWidth:bd((n=e.style)===null||n===void 0?void 0:n.width),containerHeight:bd((r=e.style)===null||r===void 0?void 0:r.height)}),f=y.useCallback((h,m)=>{s(v=>{var b=Math.round(h),S=Math.round(m);return v.containerWidth===b&&v.containerHeight===S?v:{containerWidth:b,containerHeight:S}})},[]),d=y.useCallback(h=>{if(typeof t=="function"&&t(h),l.current!=null&&(l.current.disconnect(),l.current=null),h!=null&&typeof ResizeObserver<"u"){var{width:m,height:v}=h.getBoundingClientRect();f(m,v);var b=O=>{var _=O[0];if(_!=null){var{width:w,height:j}=_.contentRect;f(w,j)}},S=new ResizeObserver(b);S.observe(h),l.current=S}},[t,f]);return y.useEffect(()=>()=>{var h=l.current;h!=null&&h.disconnect()},[f]),y.createElement(y.Fragment,null,y.createElement(ss,{width:u.containerWidth,height:u.containerHeight}),y.createElement("div",Ga({ref:d},e)))}),ZW=y.forwardRef((e,t)=>{var{width:n,height:r}=e,[l,u]=y.useState({containerWidth:bd(n),containerHeight:bd(r)}),s=y.useCallback((d,h)=>{u(m=>{var v=Math.round(d),b=Math.round(h);return m.containerWidth===v&&m.containerHeight===b?m:{containerWidth:v,containerHeight:b}})},[]),f=y.useCallback(d=>{if(typeof t=="function"&&t(d),d!=null){var{width:h,height:m}=d.getBoundingClientRect();s(h,m)}},[t,s]);return y.createElement(y.Fragment,null,y.createElement(ss,{width:l.containerWidth,height:l.containerHeight}),y.createElement("div",Ga({ref:f},e)))}),WW=y.forwardRef((e,t)=>{var{width:n,height:r}=e;return y.createElement(y.Fragment,null,y.createElement(ss,{width:n,height:r}),y.createElement("div",Ga({ref:t},e)))}),QW=y.forwardRef((e,t)=>{var{width:n,height:r}=e;return typeof n=="string"||typeof r=="string"?y.createElement(ZW,Ga({},e,{ref:t})):typeof n=="number"&&typeof r=="number"?y.createElement(WW,Ga({},e,{width:n,height:r,ref:t})):y.createElement(y.Fragment,null,y.createElement(ss,{width:n,height:r}),y.createElement("div",Ga({ref:t},e)))});function JW(e){return e?FW:QW}var eQ=y.forwardRef((e,t)=>{var{children:n,className:r,height:l,onClick:u,onContextMenu:s,onDoubleClick:f,onMouseDown:d,onMouseEnter:h,onMouseLeave:m,onMouseMove:v,onMouseUp:b,onTouchEnd:S,onTouchMove:O,onTouchStart:_,style:w,width:j,responsive:A,dispatchTouchEvents:N=!0}=e,T=y.useRef(null),P=Xe(),[M,R]=y.useState(null),[I,q]=y.useState(null),W=HW(),X=u0(),U=(X==null?void 0:X.width)>0?X.width:j,se=(X==null?void 0:X.height)>0?X.height:l,F=y.useCallback(fe=>{W(fe),typeof t=="function"&&t(fe),R(fe),q(fe),fe!=null&&(T.current=fe)},[W,t,R,q]),J=y.useCallback(fe=>{P(vM(fe)),P(Yn({handler:u,reactEvent:fe}))},[P,u]),z=y.useCallback(fe=>{P(Eg(fe)),P(Yn({handler:h,reactEvent:fe}))},[P,h]),V=y.useCallback(fe=>{P(YP()),P(Yn({handler:m,reactEvent:fe}))},[P,m]),ne=y.useCallback(fe=>{P(Eg(fe)),P(Yn({handler:v,reactEvent:fe}))},[P,v]),le=y.useCallback(()=>{P(SM())},[P]),Q=y.useCallback(()=>{P(wM())},[P]),D=y.useCallback(fe=>{P(xM(fe.key))},[P]),K=y.useCallback(fe=>{P(Yn({handler:s,reactEvent:fe}))},[P,s]),oe=y.useCallback(fe=>{P(Yn({handler:f,reactEvent:fe}))},[P,f]),ce=y.useCallback(fe=>{P(Yn({handler:d,reactEvent:fe}))},[P,d]),ge=y.useCallback(fe=>{P(Yn({handler:b,reactEvent:fe}))},[P,b]),ae=y.useCallback(fe=>{P(Yn({handler:_,reactEvent:fe}))},[P,_]),he=y.useCallback(fe=>{N&&P(EM(fe)),P(Yn({handler:O,reactEvent:fe}))},[P,N,O]),xe=y.useCallback(fe=>{P(Yn({handler:S,reactEvent:fe}))},[P,S]),ie=JW(A);return y.createElement(m5.Provider,{value:M},y.createElement(vC.Provider,{value:I},y.createElement(ie,{width:U??(w==null?void 0:w.width),height:se??(w==null?void 0:w.height),className:Ie("recharts-wrapper",r),style:KW({position:"relative",cursor:"default",width:U,height:se},w),onClick:J,onContextMenu:K,onDoubleClick:oe,onFocus:le,onBlur:Q,onKeyDown:D,onMouseDown:ce,onMouseEnter:z,onMouseLeave:V,onMouseMove:ne,onMouseUp:ge,onTouchEnd:xe,onTouchMove:he,onTouchStart:ae,ref:F},y.createElement(XW,null),n)))}),tQ=["width","height","responsive","children","className","style","compact","title","desc"];function nQ(e,t){if(e==null)return{};var n,r,l=rQ(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function rQ(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var MM=y.forwardRef((e,t)=>{var{width:n,height:r,responsive:l,children:u,className:s,style:f,compact:d,title:h,desc:m}=e,v=nQ(e,tQ),b=pn(v);return d?y.createElement(y.Fragment,null,y.createElement(ss,{width:n,height:r}),y.createElement(b2,{otherAttributes:b,title:h,desc:m},u)):y.createElement(eQ,{className:s,style:f,width:n,height:r,responsive:l??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},y.createElement(b2,{otherAttributes:b,title:h,desc:m,ref:t},y.createElement(jX,null,u)))});function jg(){return jg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},jg.apply(null,arguments)}function S2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function aQ(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?S2(Object(n),!0).forEach(function(r){iQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function iQ(e,t,n){return(t=lQ(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lQ(e){var t=uQ(e,"string");return typeof t=="symbol"?t:t+""}function uQ(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var oQ={top:5,right:5,bottom:5,left:5},sQ=aQ({accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,layout:"horizontal",margin:oQ,responsive:!1,reverseStackOrder:!1,stackOffset:"none",syncMethod:"index"},Yb),DM=y.forwardRef(function(t,n){var r,l=Ct(t.categoricalChartProps,sQ),{chartName:u,defaultTooltipEventType:s,validateTooltipEventTypes:f,tooltipPayloadSearcher:d,categoricalChartProps:h}=t,m={chartName:u,defaultTooltipEventType:s,validateTooltipEventTypes:f,tooltipPayloadSearcher:d,eventEmitter:void 0};return y.createElement(CM,{preloadedState:{options:m},reduxStoreName:(r=h.id)!==null&&r!==void 0?r:u},y.createElement(G5,{chartData:h.data}),y.createElement(TM,{layout:l.layout,margin:l.margin}),y.createElement(PM,{throttleDelay:l.throttleDelay,throttledEvents:l.throttledEvents}),y.createElement(NM,{baseValue:l.baseValue,accessibilityLayer:l.accessibilityLayer,barCategoryGap:l.barCategoryGap,maxBarSize:l.maxBarSize,stackOffset:l.stackOffset,barGap:l.barGap,barSize:l.barSize,syncId:l.syncId,syncMethod:l.syncMethod,className:l.className,reverseStackOrder:l.reverseStackOrder}),y.createElement(MM,jg({},l,{ref:n})))}),cQ=["axis","item"],fQ=y.forwardRef((e,t)=>y.createElement(DM,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:cQ,tooltipPayloadSearcher:_b,categoricalChartProps:e,ref:t}));function dQ(e){var t=Xe();return y.useEffect(()=>{t(AW(e))},[t,e]),null}var hQ=["layout"];function Ag(){return Ag=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ag.apply(null,arguments)}function mQ(e,t){if(e==null)return{};var n,r,l=vQ(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(r=0;r<u.length;r++)n=u[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}function vQ(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function w2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function pQ(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?w2(Object(n),!0).forEach(function(r){yQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function yQ(e,t,n){return(t=gQ(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gQ(e){var t=bQ(e,"string");return typeof t=="symbol"?t:t+""}function bQ(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var xQ={top:5,right:5,bottom:5,left:5},RM=pQ({accessibilityLayer:!0,stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:xQ,reverseStackOrder:!1,syncMethod:"index",layout:"radial",responsive:!1,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"},Yb),SQ=y.forwardRef(function(t,n){var r,l=Ct(t.categoricalChartProps,RM),{layout:u}=l,s=mQ(l,hQ),{chartName:f,defaultTooltipEventType:d,validateTooltipEventTypes:h,tooltipPayloadSearcher:m}=t,v={chartName:f,defaultTooltipEventType:d,validateTooltipEventTypes:h,tooltipPayloadSearcher:m,eventEmitter:void 0};return y.createElement(CM,{preloadedState:{options:v},reduxStoreName:(r=l.id)!==null&&r!==void 0?r:f},y.createElement(G5,{chartData:l.data}),y.createElement(TM,{layout:u,margin:l.margin}),y.createElement(PM,{throttleDelay:l.throttleDelay,throttledEvents:l.throttledEvents}),y.createElement(NM,{baseValue:void 0,accessibilityLayer:l.accessibilityLayer,barCategoryGap:l.barCategoryGap,maxBarSize:l.maxBarSize,stackOffset:l.stackOffset,barGap:l.barGap,barSize:l.barSize,syncId:l.syncId,syncMethod:l.syncMethod,className:l.className,reverseStackOrder:l.reverseStackOrder}),y.createElement(dQ,{cx:l.cx,cy:l.cy,startAngle:l.startAngle,endAngle:l.endAngle,innerRadius:l.innerRadius,outerRadius:l.outerRadius}),y.createElement(MM,Ag({},s,{ref:n})))});function O2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,r)}return n}function _2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?O2(Object(n),!0).forEach(function(r){wQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O2(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function wQ(e,t,n){return(t=OQ(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function OQ(e){var t=_Q(e,"string");return typeof t=="symbol"?t:t+""}function _Q(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var EQ=["item"],jQ=_2(_2({},RM),{},{layout:"centric",startAngle:0,endAngle:360}),AQ=y.forwardRef((e,t)=>{var n=Ct(e,jQ);return y.createElement(SQ,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:EQ,tooltipPayloadSearcher:_b,categoricalChartProps:n,ref:t})}),CQ=["axis"],TQ=y.forwardRef((e,t)=>y.createElement(DM,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:CQ,tooltipPayloadSearcher:_b,categoricalChartProps:e,ref:t}));function E2(e){const t=new Date(e);return`${String(t.getHours()).padStart(2,"0")}:00`}function NQ({data:e,height:t=240,color:n="#6366f1"}){return x.jsx(o0,{width:"100%",height:t,children:x.jsxs(TQ,{data:e,children:[x.jsx("defs",{children:x.jsxs("linearGradient",{id:"areaGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[x.jsx("stop",{offset:"0%",stopColor:n,stopOpacity:.3}),x.jsx("stop",{offset:"100%",stopColor:n,stopOpacity:0})]})}),x.jsx(Q5,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),x.jsx($b,{dataKey:"bucket",tickFormatter:E2,tick:{fontSize:12,fill:"#6b7280"},axisLine:{stroke:"#e5e7eb"},tickLine:!1}),x.jsx(qb,{allowDecimals:!1,tick:{fontSize:12,fill:"#6b7280"},axisLine:!1,tickLine:!1,width:40}),x.jsx(Eb,{labelFormatter:r=>E2(String(r)),formatter:r=>[String(r),"Actions"],contentStyle:{fontSize:12,borderRadius:6,border:"1px solid #e5e7eb"}}),x.jsx(oM,{type:"monotone",dataKey:"count",stroke:n,strokeWidth:2,fill:"url(#areaGradient)"})]})})}function PQ(e){const t=e.decision??"";return x.jsx(v0,{...e,fill:iC[t]??lC})}function MQ({data:e,height:t=260}){const n=e.map(r=>({name:zg(r.decision),value:r.count,decision:r.decision,fill:iC[r.decision]??lC}));return x.jsx(o0,{width:"100%",height:t,children:x.jsxs(AQ,{children:[x.jsx(H5,{data:n,dataKey:"value",nameKey:"name",cx:"50%",cy:"45%",innerRadius:"55%",outerRadius:"80%",paddingAngle:2,shape:PQ}),x.jsx(Eb,{formatter:r=>[String(r),"Actions"],contentStyle:{fontSize:12,borderRadius:6,border:"1px solid #e5e7eb"}}),x.jsx(ZT,{verticalAlign:"bottom",iconType:"circle",iconSize:8,wrapperStyle:{fontSize:12}})]})})}function DQ(e){const t=e.reduce((n,r)=>Math.max(n,r.tool_name.length),0);return Math.min(t*7.5+12,220)}function j2({data:e,height:t}){const n=t??Math.max(120,e.length*36+20),r=y.useMemo(()=>DQ(e),[e]);return x.jsx(o0,{width:"100%",height:n,children:x.jsxs(fQ,{data:e,layout:"vertical",margin:{left:8,right:16,top:4,bottom:4},children:[x.jsx($b,{type:"number",allowDecimals:!1,tick:{fontSize:12,fill:"#6b7280"},axisLine:{stroke:"#e5e7eb"},tickLine:!1}),x.jsx(qb,{type:"category",dataKey:"tool_name",width:r,tick:{fontSize:12,fill:"#374151"},axisLine:!1,tickLine:!1}),x.jsx(Eb,{cursor:!1,formatter:l=>[String(l),"Calls"],contentStyle:{fontSize:12,borderRadius:6,border:"1px solid #e5e7eb"}}),x.jsx(hM,{dataKey:"count",fill:"#6366f1",barSize:20,radius:[0,4,4,0]})]})})}function RQ(){const[e,t]=y.useState(null),[n,r]=y.useState(!0),[l,u]=y.useState(null),[s,f]=y.useState(Io),d=y.useCallback(w=>{const j=new Date(Date.now()-s).toISOString();i4(j,void 0).then(A=>{t(A),u(null),w&&r(!1)}).catch(A=>{w&&(u(A instanceof Error?A.message:"Failed to load analytics"),r(!1))})},[s]);y.useEffect(()=>{r(!0),d(!0)},[d]);function h(w){w!==s&&f(w)}if(n)return x.jsxs("div",{className:"flex flex-col gap-6",children:[x.jsx("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:Array.from({length:4},(w,j)=>x.jsx("div",{className:"h-20 animate-pulse rounded-md bg-gray-100"},j))}),x.jsx("div",{className:"h-64 animate-pulse rounded-md bg-gray-100"}),x.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[x.jsx("div",{className:"h-72 animate-pulse rounded-md bg-gray-100"}),x.jsx("div",{className:"h-72 animate-pulse rounded-md bg-gray-100"})]})]});if(l)return x.jsx(Ii,{error:l});if(!e||e.total===0)return x.jsxs("div",{className:"flex h-full flex-col gap-6",children:[x.jsxs("div",{children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Analytics"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Tool call volume and decision breakdown"})]}),x.jsx(A2,{activePreset:s,onPresetChange:h}),x.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 text-gray-500",children:[x.jsxs("svg",{className:"h-10 w-10 text-gray-300",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",children:[x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M10.5 6a7.5 7.5 0 1 0 7.5 7.5h-7.5V6Z"}),x.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13.5 10.5H21A7.5 7.5 0 0 0 13.5 3v7.5Z"})]}),x.jsx("p",{className:"text-sm font-medium",children:"No data yet"}),x.jsx("p",{className:"text-xs text-gray-400",children:"Start sending tool calls through Helio"})]})]});const m=e.allowed_total??"—",v=e.blocked_total??"—",b=e.by_block_reason===void 0,S=(e.by_block_reason??[]).map(w=>({tool_name:zg(w.reason),count:w.count})),O=e.top_tools.map(w=>({tool_name:w.upstream?`${w.tool_name} (${w.upstream})`:w.tool_name,count:w.count})),_=e.approval_rate!=null?`${String(Math.round(e.approval_rate*100))}%`:"—";return x.jsxs("div",{className:"flex h-full flex-col gap-6 overflow-y-auto",children:[x.jsxs("div",{children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Analytics"}),x.jsx("p",{className:"mt-1 text-sm text-gray-500",children:"Tool call volume and decision breakdown"})]}),x.jsx(A2,{activePreset:s,onPresetChange:h}),x.jsx("section",{children:x.jsxs("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[x.jsx(cf,{label:"Total Actions",value:e.total}),x.jsx(cf,{label:"Allowed",value:m,color:"emerald"}),x.jsx(cf,{label:"Blocked",value:v,color:"red"}),x.jsx(cf,{label:"Approval Rate",value:_,color:"amber"})]})}),x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Actions Per Hour"}),x.jsx("div",{className:"rounded-md border border-gray-200 bg-white p-4",children:x.jsx(NQ,{data:e.per_hour})})]}),x.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Matched Actions"}),x.jsx("div",{className:"rounded-md border border-gray-200 bg-white p-4",children:e.by_decision.length>0?x.jsx(MQ,{data:e.by_decision}):x.jsx("p",{className:"py-8 text-center text-sm text-gray-400",children:"No decision data"})})]}),x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Top Tools"}),x.jsx("div",{className:"rounded-md border border-gray-200 bg-white p-4",children:O.length>0?x.jsx(j2,{data:O}):x.jsx("p",{className:"py-8 text-center text-sm text-gray-400",children:"No tool data"})})]})]}),x.jsxs("section",{children:[x.jsx("h2",{className:"mb-3 text-sm font-medium text-gray-500",children:"Blocked by Reason"}),x.jsx("div",{className:"rounded-md border border-gray-200 bg-white p-4",children:b?x.jsx("p",{className:"py-8 text-center text-sm text-gray-400",children:"Requires a newer proxy version"}):S.length>0?x.jsx(j2,{data:S}):x.jsx("p",{className:"py-8 text-center text-sm text-gray-400",children:"No blocked actions"})})]})]})}function A2({activePreset:e,onPresetChange:t}){return x.jsx("div",{className:"flex gap-1.5",children:oC.map(n=>x.jsx("button",{type:"button",onClick:()=>{t(n.ms)},className:`rounded-md px-3 py-1.5 text-sm transition-colors ${e===n.ms?"bg-gray-900 text-white":"border border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:n.label},n.label))})}const kQ={emerald:"text-emerald-700",red:"text-red-700",amber:"text-amber-700"};function cf({label:e,value:t,color:n}){const r=(n&&kQ[n])??"text-gray-900";return x.jsxs("div",{className:"rounded-md border border-gray-200 bg-white p-4",children:[x.jsx("p",{className:"text-sm font-medium text-gray-500",children:e}),x.jsx("p",{className:`mt-1 text-2xl font-semibold tabular-nums ${r}`,children:typeof t=="number"?t.toLocaleString():t})]})}function LQ(){const[e,t]=y.useState("booting"),[n,r]=y.useState(!1),[l,u]=y.useState(""),[s,f]=y.useState(null),d=y.useCallback(()=>{Si(void 0),t("locked"),f("Session expired. Enter the dashboard secret again.")},[]),h=y.useCallback(async()=>{t("booting");try{const b=await J2();if(r(b.auth_required),!b.auth_required||b.authenticated){Si(b.csrf_token),f(null),t("ready");return}Si(void 0),t("locked"),f(null)}catch{Si(void 0),t("locked"),f("Unable to check session state. Verify the proxy is running and try again.")}},[]);y.useEffect(()=>{h()},[h]),y.useEffect(()=>(oO(d),()=>{oO(void 0)}),[d]);async function m(b){if(b.preventDefault(),!l.trim()){f("Enter the dashboard secret.");return}t("authenticating"),f(null);try{const S=await e4(l.trim());r(S.auth_required),Si(S.csrf_token),u(""),t("ready")}catch(S){Si(void 0),t("locked"),S instanceof Q2&&S.status===401?f("Invalid dashboard secret. Enter the secret itself, not the sha256: digest stored in your Helio config."):f("Sign in failed due to a network or server error. Try again.")}}async function v(){try{await t4()}catch{}Si(void 0),t("locked"),f("Signed out. Enter the dashboard secret to unlock.")}return e==="booting"?x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-gray-50 px-4",children:x.jsxs("div",{className:"w-full max-w-md rounded-lg border border-gray-200 bg-white p-6 text-center shadow-sm",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Helio Dashboard"}),x.jsx("p",{className:"mt-2 text-sm text-gray-600",children:"Checking session status..."})]})}):e==="locked"||e==="authenticating"?x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-gray-50 px-4",children:x.jsxs("form",{onSubmit:b=>{m(b)},className:"w-full max-w-md rounded-lg border border-gray-200 bg-white p-6 shadow-sm",children:[x.jsx("h1",{className:"text-lg font-semibold text-gray-900",children:"Dashboard Locked"}),x.jsxs("p",{className:"mt-2 text-sm text-gray-600",children:["Enter your dashboard secret, the value ",x.jsx("code",{children:"helio init"})," printed. If"," ",x.jsx("code",{children:"dashboard.api_secret"})," in your Helio config is a ",x.jsx("code",{children:"sha256:"})," digest or an env placeholder (for example ",x.jsx("code",{children:"${HELIO_DASHBOARD_SECRET}"}),"), enter the secret behind it, not the config value."]}),x.jsx("label",{htmlFor:"dashboard-secret",className:"mt-4 block text-sm font-medium text-gray-700",children:"Dashboard secret"}),x.jsx("input",{id:"dashboard-secret",type:"password",autoComplete:"current-password",value:l,onChange:b=>{u(b.target.value)},disabled:e==="authenticating",className:"mt-1 w-full rounded-md border border-gray-300 px-3 py-2 text-sm text-gray-900 shadow-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:cursor-not-allowed disabled:bg-gray-100"}),s&&x.jsx("p",{className:"mt-3 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800",children:s}),x.jsx("button",{type:"submit",disabled:e==="authenticating",className:"mt-4 inline-flex w-full items-center justify-center rounded-md bg-blue-600 px-4 py-2 text-sm font-medium text-white hover:bg-blue-500 disabled:cursor-not-allowed disabled:bg-blue-300",children:e==="authenticating"?"Unlocking...":"Unlock Dashboard"})]})}):x.jsx(Kk,{children:x.jsx(f4,{children:x.jsx(c4,{onSessionExpired:d,children:x.jsx(xk,{children:x.jsxs(Ua,{element:x.jsx(y4,{onLogout:n?()=>void v():void 0}),children:[x.jsx(Ua,{index:!0,element:x.jsx(z4,{})}),x.jsx(Ua,{path:"approvals",element:x.jsx(Y4,{})}),x.jsx(Ua,{path:"audit",element:x.jsx(fL,{})}),x.jsx(Ua,{path:"limits",element:x.jsx(vL,{})}),x.jsx(Ua,{path:"budgets",element:x.jsx(SL,{})}),x.jsx(Ua,{path:"analytics",element:x.jsx(RQ,{})})]})})})})})}const kM=document.getElementById("root");if(!kM)throw new Error("Dashboard mount point #root not found in index.html");yR.createRoot(kM).render(x.jsx(y.StrictMode,{children:x.jsx(LQ,{})}));