tokentracker-cli 0.15.1 → 0.15.3

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.
Files changed (31) hide show
  1. package/README.zh-CN.md +6 -4
  2. package/dashboard/dist/assets/Card-CFkWVhb0.js +1 -0
  3. package/dashboard/dist/assets/DashboardPage-RjZ7ipnP.js +1 -0
  4. package/dashboard/dist/assets/FadeIn-Dnh91CXb.js +1 -0
  5. package/dashboard/dist/assets/HeaderGithubStar-Csm3Ealb.js +1 -0
  6. package/dashboard/dist/assets/IpCheckPage-CO11dZjw.js +1 -0
  7. package/dashboard/dist/assets/LandingPage-DGwfREJQ.js +4356 -0
  8. package/dashboard/dist/assets/LeaderboardPage-BNEOrCyJ.js +5 -0
  9. package/dashboard/dist/assets/LeaderboardProfilePage-BTr06sjH.js +1 -0
  10. package/dashboard/dist/assets/LimitsPage-Do6ixJEC.js +2 -0
  11. package/dashboard/dist/assets/LoginPage-DkI12oqp.js +1 -0
  12. package/dashboard/dist/assets/PopoverPopup-D3QrvkAB.js +12 -0
  13. package/dashboard/dist/assets/ProviderIcon-BrQ-p8RF.js +1 -0
  14. package/dashboard/dist/assets/SettingsPage-BRqlRIMB.js +1 -0
  15. package/dashboard/dist/assets/SkillsPage-tu65Bfiu.js +1 -0
  16. package/dashboard/dist/assets/WidgetsPage-C9GQDr-H.js +1 -0
  17. package/dashboard/dist/assets/chevron-down-DL3I7ot4.js +1 -0
  18. package/dashboard/dist/assets/download-6m9qXhnE.js +1 -0
  19. package/dashboard/dist/assets/leaderboard-columns-hS7oew2p.js +1 -0
  20. package/dashboard/dist/assets/main-B5QLmAE0.js +612 -0
  21. package/dashboard/dist/assets/{main-B-qohcBn.css → main-Bnr_KT_S.css} +1 -1
  22. package/dashboard/dist/assets/use-limits-display-prefs-BcoGb7lc.js +1 -0
  23. package/dashboard/dist/assets/use-native-settings-B3GRVvNg.js +1 -0
  24. package/dashboard/dist/assets/use-reduced-motion-CybCedEn.js +1 -0
  25. package/dashboard/dist/assets/use-usage-limits-CNGlifnQ.js +1 -0
  26. package/dashboard/dist/index.html +2 -2
  27. package/dashboard/dist/share.html +2 -2
  28. package/package.json +1 -1
  29. package/src/lib/local-api.js +5 -1
  30. package/src/lib/pricing/seed-snapshot.json +1 -1
  31. package/dashboard/dist/assets/main-DAAixEqh.js +0 -4982
@@ -0,0 +1 @@
1
+ import{c as yr,i as ki,f as qa,a as Va,J as wi,u as Ga,m as vi,r as h,M as Ka,b as _i,d as Ni,e as Ln,g as Si,h as vt,j as $t,k as wt,l as Mi,n as lr,o as yn,p as gr,q as Nn,s as ji,t as Di,v as Ci,w as pr,x as Pt,y as Bn,z as Ti,A as Te,B as m,C as Xa,D as s,L as Oi,E as pe,R as F,X as Ai,F as Sn,G as Oe,H as wn,I as Fi,K as Qa,N as Ja,O as br,P as Ei,Q as Za,_ as eo,S as cr,T as Wi,U as Ii,V as Pi,W as Li,Y as Bi,Z as $i,$ as Ri,a0 as Yi,a1 as Hi,a2 as Ui,a3 as Ge,a4 as na}from"./main-B5QLmAE0.js";import{u as zi}from"./use-usage-limits-CNGlifnQ.js";import{u as qi,a as Vi,b as Gi,c as Ki,d as Xi,D as Qi,e as Ji,f as Zi,g as el,h as tl,i as nl,P as rl,j as al,k as ol,l as sl,m as il,L as ll}from"./PopoverPopup-D3QrvkAB.js";import{C as xr}from"./Card-CFkWVhb0.js";import{u as kr}from"./use-reduced-motion-CybCedEn.js";import{P as to}from"./ProviderIcon-BrQ-p8RF.js";import{F as At}from"./FadeIn-Dnh91CXb.js";const cl=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],dl=yr("chevron-right",cl);const ul=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],no=yr("info",ul);const fl=[["path",{d:"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6",key:"y09zxi"}],["path",{d:"m21 3-9 9",key:"mpx6sq"}],["path",{d:"M15 3h6v6",key:"1q9fwt"}]],hl=yr("square-arrow-out-up-right",fl);function ml(...e){const t=!Array.isArray(e[0]),n=t?0:-1,r=e[0+n],a=e[1+n],o=e[2+n],i=e[3+n],l=ki(a,o,i);return t?l(r):l}function yl(e,t,n={}){const r=e.get();let a=null,o=r,i;const l=typeof r=="string"?r.replace(/[\d.-]/g,""):void 0,c=()=>{a&&(a.stop(),a=null),e.animation=void 0},d=()=>{const f=ra(e.get()),y=ra(o);if(f===y){c();return}const g=a?a.getGeneratorVelocity():e.getVelocity();c(),a=new wi({keyframes:[f,y],velocity:g,type:"spring",restDelta:.001,restSpeed:.01,...n,onUpdate:i})},u=()=>{d(),e.animation=a??void 0,e.events.animationStart?.notify(),a?.then(()=>{e.animation=void 0,e.events.animationComplete?.notify()})};if(e.attach((f,y)=>{o=f,i=g=>y($n(g,l)),qa.postRender(u)},c),Va(t)){let f=n.skipInitialAnimation===!0;const y=t.on("change",p=>{f?(f=!1,e.jump($n(p,l),!1)):e.set($n(p,l))}),g=e.on("destroy",y);return()=>{y(),g()}}return c}function $n(e,t){return t?e+t:e}function ra(e){return typeof e=="number"?e:parseFloat(e)}function wr(e){const t=Ga(()=>vi(e)),{isStatic:n}=h.useContext(Ka);if(n){const[,r]=h.useState(e);h.useEffect(()=>t.on("change",r),[])}return t}function ro(e,t){const n=wr(t()),r=()=>n.set(t());return r(),_i(()=>{const a=()=>qa.preRender(r,!1,!0),o=e.map(i=>i.on("change",a));return()=>{o.forEach(i=>i()),Ni(r)}}),n}function gl(e){Ln.current=[],e();const t=ro(Ln.current,e);return Ln.current=void 0,t}function ao(e,t,n,r){if(typeof e=="function")return gl(e);const o=typeof t=="function"?t:ml(t,n,r),i=Array.isArray(e)?aa(e,o):aa([e],([c])=>o(c)),l=Array.isArray(e)?void 0:e.accelerate;return l&&!l.isTransformed&&typeof t!="function"&&Array.isArray(n)&&r?.clamp!==!1&&(i.accelerate={...l,times:t,keyframes:n,isTransformed:!0}),i}function aa(e,t){const n=Ga(()=>[]);return ro(e,()=>{n.length=0;const r=e.length;for(let a=0;a<r;a++)n[a]=e[a].get();return t(n)})}function pl(e,t={}){const{isStatic:n}=h.useContext(Ka),r=()=>Va(e)?e.get():e;if(n)return ao(r);const a=wr(r());return h.useInsertionEffect(()=>yl(a,e,t),[a,JSON.stringify(t)]),a}function bl(e,t={}){return pl(e,{type:"spring",...t})}function xl({baseUrl:e,accessToken:t,guestAllowed:n=!1,weeks:r=52,weekStartsOn:a="sun",cacheKey:o,timeZone:i,tzOffsetMinutes:l,now:c}={}){const d=h.useMemo(()=>Si({weeks:r,weekStartsOn:a,now:c}),[c,r,a]),[u,f]=h.useState([]),[y,g]=h.useState(null),[p,b]=h.useState("edge"),[x,v]=h.useState(!1),[_,k]=h.useState(null),D=vt(),C=$t(t),M=!n,A=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),N=h.useMemo(()=>{if(!o)return null;const E=Nn({timeZone:i,offsetMinutes:l});return`tokentracker.heatmap.${o}.${r}.${a}.${E}`},[o,i,l,r,a]),T=h.useCallback(()=>{if(!N||typeof window>"u")return null;try{const E=window.localStorage.getItem(N);if(!E)return null;const I=JSON.parse(E);return!I||!I.heatmap?null:I}catch{return null}},[N]),O=h.useCallback(E=>{if(!(!N||typeof window>"u"))try{window.localStorage.setItem(N,JSON.stringify(E))}catch{}},[N]),S=h.useCallback(()=>{if(!(!N||typeof window>"u"))try{window.localStorage.removeItem(N)}catch{}},[N]),W=h.useCallback(async()=>{const E=await wt(t);if(!(!E&&!D&&!A)){v(!0),k(null);try{try{const Y=await Mi({baseUrl:e,accessToken:E,weeks:r,to:d.to,weekStartsOn:a,timeZone:i,tzOffsetMinutes:l}),P=Array.isArray(Y?.weeks)?Y.weeks:[];if(!P.length&&M){const q=T();if(q?.heatmap){g(q.heatmap),f(q.daily||[]),b("cache");return}}if(!P.some(q=>(Array.isArray(q)?q:[]).some(ne=>ne&&Number.isFinite(Number(ne.level))))&&P.length){const q=[];for(const X of P)for(const G of Array.isArray(X)?X:[])G?.day&&q.push({day:G.day,total_tokens:G.total_tokens??G.value??0,billable_total_tokens:G.billable_total_tokens??G.value??G.total_tokens??0});const ne=lr({dailyRows:q,weeks:r,to:Y?.to||d.to,weekStartsOn:a});f(q),g({...ne,week_starts_on:a,active_days:q.filter(X=>Number(X?.billable_total_tokens??X?.total_tokens)>0).length,streak_days:yn({dailyRows:q,to:Y?.to||d.to})}),b("client"),M?O({heatmap:{...ne,week_starts_on:a,active_days:q.filter(X=>Number(X?.billable_total_tokens??X?.total_tokens)>0).length,streak_days:yn({dailyRows:q,to:Y?.to||d.to})},daily:q,fetchedAt:new Date().toISOString()}):S();return}g(Y||null),f([]),b("edge"),Y&&M?O({heatmap:Y,daily:[],fetchedAt:new Date().toISOString()}):M||S();return}catch(Y){const P=Y,U=P?.status??P?.statusCode;if(U===401||U===403)throw Y}const I=await gr({baseUrl:e,accessToken:E,from:d.from,to:d.to,timeZone:i,tzOffsetMinutes:l}),H=Array.isArray(I?.data)?I.data:[];f(H);const te=lr({dailyRows:H,weeks:r,to:d.to,weekStartsOn:a});g({...te,week_starts_on:a,active_days:H.filter(Y=>Number(Y?.billable_total_tokens??Y?.total_tokens)>0).length,streak_days:yn({dailyRows:H,to:d.to})}),b("client"),M?O({heatmap:{...te,week_starts_on:a,active_days:H.filter(Y=>Number(Y?.billable_total_tokens??Y?.total_tokens)>0).length,streak_days:yn({dailyRows:H,to:d.to})},daily:H,fetchedAt:new Date().toISOString()}):S()}catch(I){if(M){const H=T();if(H?.heatmap)g(H.heatmap),f(H.daily||[]),b("cache"),k(null);else{const te=I;k(te?.message||String(te)),f([]),g(null),b("edge")}}else{const H=I;k(H?.message||String(H)),f([]),g(null),b("edge")}}finally{v(!1)}}},[t,e,D,n,M,d.from,d.to,T,C,i,l,a,r,S,O,A]);return h.useEffect(()=>{if(!C&&!n&&!D&&!A){f([]),v(!1),k(null),g(null),b("edge");return}if(!M)S(),f([]),k(null),g(null),b("edge");else{const E=T();E?.heatmap&&(g(E.heatmap),f(E.daily||[]),b("cache"))}W()},[t,D,T,W,C,n,M,S,A]),{range:d,daily:u,heatmap:y,source:D?"mock":p==="client"?"edge":p,loading:x,error:_,refresh:W}}function kl({baseUrl:e,accessToken:t,limit:n=3,from:r,to:a,source:o,timeZone:i,tzOffsetMinutes:l}={}){const[c,d]=h.useState([]),[u,f]=h.useState(!1),[y,g]=h.useState(null),p=vt(),b=$t(t),x=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),v=h.useCallback(async()=>{const _=await wt(t);if(!_&&!p&&!x){d([]),g(null),f(!1);return}f(!0),g(null);try{const k=await ji({baseUrl:e,accessToken:_,limit:n,from:r,to:a,source:o,timeZone:i,tzOffsetMinutes:l});d(Array.isArray(k?.entries)?k.entries:[])}catch(k){const D=k?.message||String(k);g(D),d([])}finally{f(!1)}},[t,e,r,n,p,o,i,a,l,x]);return h.useEffect(()=>{if(!b&&!p&&!x){d([]),g(null),f(!1);return}v()},[p,v,b,x]),{entries:c,loading:u,error:y,refresh:v}}const wl=24;function vl({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:r,from:a,to:o,months:i=wl,cacheKey:l,timeZone:c,tzOffsetMinutes:d,now:u,sharedRows:f,sharedRange:y}={}){const[g,p]=h.useState([]),[b,x]=h.useState(()=>({from:a,to:o})),[v,_]=h.useState("edge"),[k,D]=h.useState(null),[C,M]=h.useState(!1),[A,N]=h.useState(null),T=vt(),O=$t(t),S=!n,W=Array.isArray(f),j=y?.from||a,E=y?.to||o,I=h.useMemo(()=>r==="day"?"hourly":r==="total"?"monthly":"daily",[r]),H=(()=>{if(!l)return null;const X=_l(e)||"default",G=Nn({timeZone:c,offsetMinutes:d});if(I==="hourly")return`tokentracker.trend.${l}.${X}.hourly.${o||a||"day"}.${G}`;if(I==="monthly")return`tokentracker.trend.${l}.${X}.monthly.${i}.${o||"today"}.${G}`;const J=`${a||""}.${o||""}`;return`tokentracker.trend.${l}.${X}.daily.${J}.${G}`})(),te=h.useCallback(()=>{if(!H||typeof window>"u")return null;try{const X=window.localStorage.getItem(H);if(!X)return null;const G=JSON.parse(X);return!G||!Array.isArray(G.rows)?null:G}catch{return null}},[H]),Y=h.useCallback(X=>{if(!(!H||typeof window>"u"))try{window.localStorage.setItem(H,JSON.stringify(X))}catch{}},[H]),P=h.useCallback(()=>{if(!(!H||typeof window>"u"))try{window.localStorage.removeItem(H)}catch{}},[H]),U=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),q=h.useCallback(async()=>{if(W){p(Array.isArray(f)?f:[]),x({from:j,to:E}),_("shared"),D(null),M(!1),N(null);return}const X=await wt(t);if(!(!X&&!T&&!U)){M(!0),N(null);try{let G;I==="hourly"?G=await Di({baseUrl:e,accessToken:X,day:o||a,timeZone:c,tzOffsetMinutes:d}):I==="monthly"?G=await Ci({baseUrl:e,accessToken:X,months:i,to:o,timeZone:c,tzOffsetMinutes:d}):G=await gr({baseUrl:e,accessToken:X,from:a,to:o,timeZone:c,tzOffsetMinutes:d});const J=G?.from||a||G?.day||null,se=G?.to||o||G?.day||null;let ie=Array.isArray(G?.data)?G.data:[];I==="daily"?ie=Yn(ie,J||a,se||o,{timeZone:c,offsetMinutes:d,now:u}):I==="hourly"?ie=Hn(ie,{timeZone:c,offsetMinutes:d,now:u}):I==="monthly"&&(ie=Un(ie,{timeZone:c,offsetMinutes:d,now:u}));const Ae=new Date().toISOString();p(ie),x({from:J,to:se}),_("edge"),D(Ae),S?Y({rows:ie,from:J,to:se,mode:I,fetchedAt:Ae}):P()}catch(G){if(S){const J=te();if(J?.rows){let se=I==="daily"?Yn(J.rows||[],J.from||a,J.to||o,{timeZone:c,offsetMinutes:d,now:u}):Array.isArray(J.rows)?J.rows:[];I==="hourly"?se=Hn(se,{timeZone:c,offsetMinutes:d,now:u}):I==="monthly"&&(se=Un(se,{timeZone:c,offsetMinutes:d,now:u})),p(se),x({from:J.from||a,to:J.to||o}),_("cache"),D(J.fetchedAt||null),N(null)}else{p([]),x({from:a,to:o}),_("edge"),D(null);const se=G;N(se?.message||String(se))}}else{p([]),x({from:a,to:o}),_("edge"),D(null);const J=G;N(J?.message||String(J))}}finally{M(!1)}}},[t,e,a,T,n,S,I,i,te,O,W,j,f,E,c,o,d,u,P,Y,U]);h.useEffect(()=>{if(W){p(Array.isArray(f)?f:[]),x({from:j,to:E}),_("shared"),D(null),M(!1),N(null);return}if(!O&&!n&&!T&&!U){p([]),x({from:a,to:o}),N(null),M(!1),_("edge"),D(null);return}if(!S)P(),p([]),x({from:a,to:o}),N(null),_("edge"),D(null);else{const X=te();if(X?.rows){let G=I==="daily"?Yn(X.rows||[],X.from||a,X.to||o,{timeZone:c,offsetMinutes:d,now:u}):Array.isArray(X.rows)?X.rows:[];I==="hourly"?G=Hn(G,{timeZone:c,offsetMinutes:d,now:u}):I==="monthly"&&(G=Un(G,{timeZone:c,offsetMinutes:d,now:u})),p(G),x({from:X.from||a,to:X.to||o}),_("cache"),D(X.fetchedAt||null)}}q()},[t,T,te,q,W,j,f,E,O,n,S,P,U]);const ne=T?"mock":v;return{rows:g,from:b.from||a,to:b.to||o,source:ne,fetchedAt:k,loading:C,error:A,refresh:q}}function _l(e){try{return new URL(e).host}catch{return null}}function Rn(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const r=Number(n[0]),a=Number(n[1])-1,o=Number(n[2]);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(o))return null;const i=new Date(Date.UTC(r,a,o));return Number.isFinite(i.getTime())&&Pt(i)===t?i:null}function Nl(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Yn(e,t,n,{timeZone:r,offsetMinutes:a,now:o}={}){const i=Rn(t),l=Rn(n);if(!i||!l||l<i)return Array.isArray(e)?e:[];const c=o instanceof Date&&Number.isFinite(o.getTime())?o:new Date,d=pr({timeZone:r,offsetMinutes:a,date:c}),u=Rn(d),f=u?u.getTime():c.getTime(),y=new Map;for(const p of e||[])p?.day&&y.set(p.day,p);const g=[];for(let p=i;p<=l;p=Nl(p,1)){const b=Pt(p),x=y.get(b),v=p.getTime()>f;if(x){g.push({...x,missing:!1,future:v});continue}g.push({day:b,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!v,future:v})}return g}function Hn(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const a=oo({timeZone:t,offsetMinutes:n,now:r});return a?e.map(o=>{const i=o?.hour||o?.label||"",l=Sl(i);if(!l)return{...o,future:!1};const c=l.dayNum>a.dayNum||l.dayNum===a.dayNum&&l.slot>a.slot;return{...o,future:c}}):e}function Un(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const a=oo({timeZone:t,offsetMinutes:n,now:r});return a?e.map(o=>{const i=o?.month||o?.label||"",l=Ml(i);if(!l)return{...o,future:!1};const c=l.year>a.year||l.year===a.year&&l.month>a.month;return{...o,future:c}}):e}function oo({timeZone:e,offsetMinutes:t,now:n}={}){const r=n instanceof Date&&Number.isFinite(n.getTime())?n:new Date;if(e&&typeof Intl<"u"&&Intl.DateTimeFormat)try{const y=new Intl.DateTimeFormat("en-CA",{timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(r).reduce((_,k)=>(k.type&&k.value&&(_[k.type]=k.value),_),{}),g=Number(y.year),p=Number(y.month),b=Number(y.day),x=Number(y.hour),v=Number(y.minute);if(Number.isFinite(g)&&Number.isFinite(p)&&Number.isFinite(b)&&Number.isFinite(x)&&Number.isFinite(v)){const _=x*2+(v>=30?1:0);return{year:g,month:p,day:b,hour:x,minute:v,dayNum:g*1e4+p*100+b,slot:_}}}catch{}if(Number.isFinite(t)){const u=new Date(r.getTime()+t*60*1e3),f=u.getUTCFullYear(),y=u.getUTCMonth()+1,g=u.getUTCDate(),p=u.getUTCHours(),b=u.getUTCMinutes(),x=p*2+(b>=30?1:0);return{year:f,month:y,day:g,hour:p,minute:b,dayNum:f*1e4+y*100+g,slot:x}}const a=r.getFullYear(),o=r.getMonth()+1,i=r.getDate(),l=r.getHours(),c=r.getMinutes(),d=l*2+(c>=30?1:0);return{year:a,month:o,day:i,hour:l,minute:c,dayNum:a*1e4+o*100+i,slot:d}}function Sl(e){if(!e)return null;const t=String(e).trim(),[n,r]=t.split("T");if(!n||!r)return null;const a=n.split("-");if(a.length!==3)return null;const o=Number(a[0]),i=Number(a[1]),l=Number(a[2]);if(!Number.isFinite(o)||!Number.isFinite(i)||!Number.isFinite(l))return null;const c=r.split(":"),d=Number(c[0]),u=Number(c[1]);if(!Number.isFinite(d)||d<0||d>23||!Number.isFinite(u)||u<0||u>59)return null;const f=d*2+(u>=30?1:0);return{dayNum:o*1e4+i*100+l,slot:f}}function Ml(e){if(!e)return null;const n=String(e).trim().split("-");if(n.length!==2)return null;const r=Number(n[0]),a=Number(n[1]);return!Number.isFinite(r)||!Number.isFinite(a)||a<1||a>12?null:{year:r,month:a}}function oa({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:r,to:a,includeDaily:o=!0,cacheKey:i,timeZone:l,tzOffsetMinutes:c,now:d}={}){const[u,f]=h.useState([]),[y,g]=h.useState(null),[p,b]=h.useState(null),[x,v]=h.useState("edge"),[_,k]=h.useState(null),[D,C]=h.useState(!1),[M,A]=h.useState(null),N=vt(),T=$t(t),O=!n,S=(()=>{if(!i)return null;const Y=jl(e)||"default",P=o?"daily":"summary",U=Nn({timeZone:l,offsetMinutes:c});return`tokentracker.usage.${i}.${Y}.${r}.${a}.${P}.${U}`})(),W=h.useCallback(()=>{if(!S||typeof window>"u")return null;try{const Y=window.localStorage.getItem(S);if(!Y)return null;const P=JSON.parse(Y);return!P||!P.summary?null:P}catch{return null}},[S]),j=h.useCallback(Y=>{if(!(!S||typeof window>"u"))try{window.localStorage.setItem(S,JSON.stringify(Y))}catch{}},[S]),E=h.useCallback(()=>{if(!(!S||typeof window>"u"))try{window.localStorage.removeItem(S)}catch{}},[S]),I=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),H=h.useCallback(async()=>{const Y=await wt(t);if(!(!Y&&!N&&!I)){C(!0),A(null);try{let P=null,U=null;if(o){const[J,se]=await Promise.allSettled([gr({baseUrl:e,accessToken:Y,from:r,to:a,timeZone:l,tzOffsetMinutes:c}),Bn({baseUrl:e,accessToken:Y,from:r,to:a,timeZone:l,tzOffsetMinutes:c,rolling:!0})]);if(J.status==="rejected")throw J.reason;P=J.value,U=se.status==="fulfilled"?se.value:null}else U=await Bn({baseUrl:e,accessToken:Y,from:r,to:a,timeZone:l,tzOffsetMinutes:c,rolling:!0});let q=o&&Array.isArray(P?.data)?P.data:[];o&&(q=qn(q,r,a,{timeZone:l,offsetMinutes:c,now:d}));let ne=U?.totals||P?.summary?.totals||null,X=U?.rolling||P?.summary?.rolling||null;if(o&&!ne&&!U)try{const J=await Bn({baseUrl:e,accessToken:Y,from:r,to:a,timeZone:l,tzOffsetMinutes:c,rolling:!0});ne=J?.totals||null,X=J?.rolling||X}catch{}const G=new Date().toISOString();f(q),g(ne),b(X),v("edge"),k(G),ne&&O?j({summary:ne,rolling:X,daily:q,from:r,to:a,includeDaily:o,fetchedAt:G}):O||E()}catch(P){if(O){const U=W();if(U?.summary){g(U.summary),b(U.rolling||null);const q=Array.isArray(U.daily)?U.daily:[],ne=o?qn(q,U.from||r,U.to||a,{timeZone:l,offsetMinutes:c,now:d}):q;f(ne),v("cache"),k(U.fetchedAt||null),A(null)}else{const q=P;A(q?.message||String(q)),f([]),g(null),b(null),v("edge"),k(null)}}else{const U=P;A(U?.message||String(U)),f([]),g(null),b(null),v("edge"),k(null)}}finally{C(!1)}}},[t,e,r,o,N,n,O,d,W,T,l,a,c,E,j,I]);return h.useEffect(()=>{const Y=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");if(!T&&!n&&!N&&!Y){f([]),g(null),b(null),A(null),C(!1),v("edge"),k(null);return}if(!O)E(),f([]),g(null),b(null),A(null),v("edge"),k(null);else{const P=W();if(P?.summary){g(P.summary),b(P.rolling||null);const U=Array.isArray(P.daily)?P.daily:[],q=o?qn(U,P.from||r,P.to||a,{timeZone:l,offsetMinutes:c,now:d}):U;f(q),v("cache"),k(P.fetchedAt||null)}}H()},[t,N,W,H,T,n,O,E,I]),{daily:u,summary:y,rolling:p,source:N?"mock":x,fetchedAt:_,loading:D,error:M,refresh:H}}function jl(e){try{return new URL(e).host}catch{return null}}function zn(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const r=Number(n[0]),a=Number(n[1])-1,o=Number(n[2]);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(o))return null;const i=new Date(Date.UTC(r,a,o));return Number.isFinite(i.getTime())&&Pt(i)===t?i:null}function Dl(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function qn(e,t,n,{timeZone:r,offsetMinutes:a,now:o}={}){const i=zn(t),l=zn(n);if(!i||!l||l<i)return Array.isArray(e)?e:[];const c=o instanceof Date&&Number.isFinite(o.getTime())?o:new Date,d=pr({timeZone:r,offsetMinutes:a,date:c}),u=zn(d),f=u?u.getTime():c.getTime(),y=new Map;for(const p of e||[])p?.day&&y.set(p.day,p);const g=[];for(let p=i;p<=l;p=Dl(p,1)){const b=Pt(p),x=y.get(b),v=p.getTime()>f;if(x){g.push({...x,missing:!1,future:v});continue}g.push({day:b,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!v,future:v})}return g}function Cl({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:r,to:a,cacheKey:o,timeZone:i,tzOffsetMinutes:l}={}){const[c,d]=h.useState(null),[u,f]=h.useState("edge"),[y,g]=h.useState(!1),[p,b]=h.useState(null),x=vt(),v=$t(t),_=!n,k=h.useMemo(()=>{if(!o)return null;const O=Tl(e)||"default",S=Nn({timeZone:i,offsetMinutes:l});return`tokentracker.modelBreakdown.${o}.${O}.${r}.${a}.${S}`},[e,o,r,i,a,l]),D=h.useCallback(()=>{if(!k||typeof window>"u")return null;try{const O=window.localStorage.getItem(k);if(!O)return null;const S=JSON.parse(O);return!S||!S.breakdown?null:S}catch{return null}},[k]),C=h.useCallback(O=>{if(!(!k||typeof window>"u"))try{window.localStorage.setItem(k,JSON.stringify(O))}catch{}},[k]),M=h.useCallback(()=>{if(!(!k||typeof window>"u"))try{window.localStorage.removeItem(k)}catch{}},[k]),A=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),N=h.useCallback(async()=>{const O=await wt(t);if(!(!O&&!x&&!A)){g(!0),b(null);try{const S=await Ti({baseUrl:e,accessToken:O,from:r,to:a,timeZone:i,tzOffsetMinutes:l});d(S||null),f("edge"),S&&_?C({breakdown:S,fetchedAt:new Date().toISOString()}):_||M()}catch(S){if(_){const W=D();if(W?.breakdown)d(W.breakdown),f("cache"),b(null);else{d(null),f("edge");const j=S;b(j?.message||String(j))}}else{d(null),f("edge");const W=S;b(W?.message||String(W))}}finally{g(!1)}}},[t,e,r,x,n,_,D,i,a,v,l,M,C,A]);return h.useEffect(()=>{if(!v&&!n&&!x&&!A){d(null),f("edge"),b(null),g(!1);return}if(!_)M(),d(null),f("edge"),b(null);else{const O=D();O?.breakdown&&(d(O.breakdown),f("cache"))}N()},[t,x,D,N,v,n,_,M,A]),{breakdown:c,source:x?"mock":u,loading:y,error:p,refresh:N}}function Tl(e){try{return new URL(e).host}catch{return null}}const so=new Set(["day","hour","month"]);function Ol(e){return so.has(e)}function sa(e){if(e==null)return null;const t=String(e).trim();if(!/^[0-9]+$/.test(t))return null;const n=t.replace(/^0+/,"");return n.length===0?"0":n}function Al(e,t){const n=sa(e),r=sa(t);if(n&&r)return n.length!==r.length?n.length<r.length?-1:1:n===r?0:n<r?-1:1;const a=Te(e),o=Te(t);return a==null&&o==null?0:a==null?1:o==null?-1:a===o?0:a<o?-1:1}function Fl(e,t){const n=typeof e=="string"?e:String(e||""),r=typeof t=="string"?t:String(t||"");return n===r?0:n<r?-1:1}function El(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!n)return null;const r=Number(n[1]),a=Number(n[2]),o=Number(n[3]);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(o))return null;const i=new Date(Date.UTC(r,a-1,o));return!Number.isFinite(i.getTime())||i.getUTCFullYear()!==r||i.getUTCMonth()+1!==a||i.getUTCDate()!==o?null:i.getTime()}function Wl(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})$/);if(!n)return null;const r=Number(n[1]),a=Number(n[2]);if(!Number.isFinite(r)||!Number.isFinite(a)||a<1||a>12)return null;const o=new Date(Date.UTC(r,a-1,1));return Number.isFinite(o.getTime())?o.getTime():null}function Il(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2}))?Z?$/);if(!n)return null;const r=Number(n[1]),a=Number(n[2]),o=Number(n[3]),i=Number(n[4]),l=Number(n[5]),c=Number(n[6]||0);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(o)||!Number.isFinite(i)||!Number.isFinite(l)||!Number.isFinite(c)||a<1||a>12||o<1||o>31||i<0||i>23||l<0||l>59||c<0||c>59)return null;const d=new Date(Date.UTC(r,a-1,o,i,l,c));return Number.isFinite(d.getTime())?d.getTime():null}function Pl(e,t,n){const r=n==="hour"?Il:n==="month"?Wl:El,a=r(e),o=r(t);return a!=null&&o!=null?a===o?0:a<o?-1:1:Fl(e,t)}function io(e,{key:t,dir:n}){const r=n==="asc"?1:-1,a=Array.isArray(e)?e:[],o=so.has(t)?(l,c)=>Pl(l,c,t):Al,i=l=>t==="total_tokens"&&l?.billable_total_tokens!=null?l.billable_total_tokens:l?.[t];return a.map((l,c)=>({row:l,index:c})).sort((l,c)=>{const d=i(l.row),u=i(c.row),f=d==null,y=u==null;if(f&&y)return l.index-c.index;if(f)return 1;if(y)return-1;const g=o(d,u);return g!==0?g*r:l.index-c.index}).map(l=>l.row)}function Ll(){return[{key:"day",label:m("daily.sort.date.label"),title:m("daily.sort.date.title")},{key:"total_tokens",label:m("daily.sort.total.label"),title:m("daily.sort.total.title")},{key:"input_tokens",label:m("daily.sort.input.label"),title:m("daily.sort.input.title")},{key:"output_tokens",label:m("daily.sort.output.label"),title:m("daily.sort.output.title")},{key:"cached_input_tokens",label:m("daily.sort.cached.label"),title:m("daily.sort.cached.title")},{key:"reasoning_output_tokens",label:m("daily.sort.reasoning.label"),title:m("daily.sort.reasoning.title")},{key:"conversation_count",label:m("daily.sort.conversations.label"),title:m("daily.sort.conversations.title")}]}function ia(e){const t=Ol(e)?e:"day";return Ll().map((n,r)=>r===0?{...n,key:t}:n)}function la(e,{key:t,dir:n}){return io(e,{key:t,dir:n})}const vn=12,Bl=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens"];function $l(e){if(typeof e=="bigint")return e!==0n;if(typeof e=="number")return Number.isFinite(e)&&e!==0;if(e==null)return!1;const t=String(e).trim();if(!t||!/^-?\d+$/.test(t))return!1;const n=t.startsWith("-")?t.slice(1):t;return/[1-9]/.test(n)}function Rl(e){return Bl.some(t=>$l(e?.[t]))}function Yl(e){const t=Array.isArray(e)?e:[];if(!t.length)return[];const n=io(t,{key:"month",dir:"asc"}),r=n.findIndex(a=>a?.month&&Rl(a));return r===-1?t:n.slice(r)}function Hl(e,t,n=vn){const r=Array.isArray(e)?e:[],a=Number.isFinite(n)&&n>0?n:vn,i=(Number.isFinite(t)&&t>=0?Math.floor(t):0)*a;return r.slice(i,i+a)}function Ul({publicMode:e,screenshotMode:t,forceInstall:n,accessEnabled:r,heatmapLoading:a,activeDays:o,hasActiveDeviceToken:i}={}){return e||t?!1:n?!0:r&&!a&&o===0&&!i}function lo(e){if(typeof e!="string")return null;const t=e.trim();return t?t.toLowerCase():null}function zl(e){const t=lo(e?.model_id);return t||null}function co(e,t){return e?.model?String(e.model):t}function Lt(e,t=0){const n=Te(e?.billable_total_tokens),r=Te(e?.total_tokens);return n!=null&&n>0?n:r!=null&&r>0?r:n??r??t}function ql(e,{copyFn:t}={}){const n=typeof t=="function"?t:i=>i,a=(Array.isArray(e?.sources)?e.sources:[]).map(i=>{const l=Lt(i?.totals),c=Te(i?.totals?.total_cost_usd)??0;return{source:i?.source,totalTokens:Number.isFinite(l)?l:0,totalCost:Number.isFinite(c)?c:0,models:Array.isArray(i?.models)?i.models:[]}}).filter(i=>i.totalTokens>0);if(!a.length)return[];const o=a.reduce((i,l)=>i+l.totalTokens,0);return typeof e?.pricing?.pricing_mode=="string"&&e.pricing.pricing_mode.toUpperCase(),a.slice().sort((i,l)=>l.totalTokens-i.totalTokens).map(i=>{const l=i.source?String(i.source).toUpperCase():n("shared.placeholder.short"),c=o>0?i.totalTokens/o*100:0,d=Number.isFinite(c)?c.toFixed(1):"0.0",u=i.models.map(f=>{const y=Lt(f?.totals);if(!Number.isFinite(y)||y<=0)return null;const g=i.totalTokens>0?Math.round(y/i.totalTokens*1e3)/10:0,p=co(f,n("shared.placeholder.short")),b=zl(f),x=i.totalCost>0&&i.totalTokens>0?y/i.totalTokens*i.totalCost:null;return{id:b,name:p,share:g,usage:y,cost:x}}).filter(Boolean);return{source:i.source,label:l,totalPercent:String(d),usd:i.totalCost,usage:i.totalTokens,models:u}})}function Vl(e,{limit:t=3,copyFn:n}={}){const r=typeof n=="function"?n:y=>y,a=Array.isArray(e?.sources)?e.sources:[];if(!a.length)return[];const o=new Map,i=new Map,l=new Map;let c=0;for(const y of a){const g=Array.isArray(y?.models)?y.models:[];for(const p of g){const b=Lt(p?.totals);if(!Number.isFinite(b)||b<=0)continue;c+=b;const x=co(p,r("shared.placeholder.short")),v=lo(x);if(!v)continue;o.set(v,(o.get(v)||0)+b);const _=l.get(v)||0;b>=_&&(l.set(v,b),i.set(v,x))}}if(!o.size)return[];const d=Array.from(o.values()).reduce((y,g)=>y+g,0),u=c>0?c:d,f=Number.isFinite(t)?Math.max(0,Math.floor(t)):3;return Array.from(o.entries()).map(([y,g])=>{const p=u>0?(g/u*100).toFixed(1):"0.0";return{id:y,name:i.get(y)||r("shared.placeholder.short"),tokens:g,percent:String(p)}}).sort((y,g)=>g.tokens!==y.tokens?g.tokens-y.tokens:String(y.name).localeCompare(String(g.name))).slice(0,f)}const ft=12,Jt=3,Vn=26,Gl=["#ebedf0","#a7f3d0","#6ee7b7","#34d399","#10b981"],Kl=["#30363d","#065f46","#059669","#10b981","#34d399"],Xl=[m("heatmap.month.jan"),m("heatmap.month.feb"),m("heatmap.month.mar"),m("heatmap.month.apr"),m("heatmap.month.may"),m("heatmap.month.jun"),m("heatmap.month.jul"),m("heatmap.month.aug"),m("heatmap.month.sep"),m("heatmap.month.oct"),m("heatmap.month.nov"),m("heatmap.month.dec")];function Ql(e){if(typeof e=="bigint")return e.toLocaleString();if(typeof e=="number")return Number.isFinite(e)?Math.round(e).toLocaleString():"0";if(typeof e=="string"){const t=Number(e);return Number.isFinite(t)?Math.round(t).toLocaleString():e}return"0"}function Jl(e){if(typeof e!="string")return null;const t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());if(!t)return null;const n=new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3])));return Number.isFinite(n.getTime())?n:null}function uo(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Zl(e,t){return Math.floor((Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())-Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))/864e5)}function ec(e,t){const n=t==="mon"?1:0,r=e.getUTCDay();return uo(e,-((r-n+7)%7))}function tc(e,t,n){if(!e)return[];const r=Jl(t)||new Date,a=[];for(let d=11;d>=0;d-=1)a.push(new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()-d,1)));const o=ec(r,n),i=uo(o,-(e-1)*7),l=[],c=new Set;for(const d of a){const u=Math.floor(Zl(i,d)/7);u<0||u>=e||c.has(u)||(c.add(u),l.push({label:Xl[d.getUTCMonth()],index:u}))}return l}function nc({heatmap:e,timeZoneLabel:t,timeZoneShortLabel:n,hideLegend:r=!1}){const{resolvedTheme:a}=Xa(),i=a==="dark"?Kl:Gl,l=h.useRef(null);h.useEffect(()=>{const p=l.current;p&&(p.scrollLeft=p.scrollWidth)},[e?.weeks]);const c=e?.week_starts_on==="mon"?"mon":"sun",d=h.useMemo(()=>{const p=Array.isArray(e?.weeks)?e.weeks:[];if(!p.length)return{weeks:[]};const b=[];for(const x of p)for(const v of Array.isArray(x)?x:[])v?.day&&b.push({day:v.day,total_tokens:v.total_tokens??v.value??0,billable_total_tokens:v.billable_total_tokens??v.value??v.total_tokens??0});return lr({dailyRows:b,weeks:Math.max(52,p.length),to:e?.to,weekStartsOn:c})},[e?.to,e?.weeks,c]),u=d?.weeks||[],f=c==="mon"?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"].map(p=>m(`heatmap.day.${p.toLowerCase()}`)):["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].map(p=>m(`heatmap.day.${p.toLowerCase()}`)),y=h.useMemo(()=>tc(u.length,d?.to,c),[d?.to,u.length,c]);if(!u.length)return s.jsx("div",{className:"py-8 text-center text-sm text-oai-gray-500",children:m("heatmap.empty")});const g=Vn+u.length*ft+Math.max(0,u.length-1)*Jt;return s.jsxs("div",{className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5",children:[s.jsxs("div",{className:"flex items-baseline justify-between mb-3",children:[s.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:m("heatmap.title")}),s.jsx("span",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400",children:n||m("heatmap.legend.utc")})]}),s.jsx("div",{ref:l,className:"overflow-x-auto overflow-y-hidden heatmap-scroll-thin",children:s.jsxs("div",{style:{minWidth:g},children:[s.jsxs("div",{className:"grid text-[10px] uppercase text-oai-gray-400 dark:text-oai-gray-400 mb-1",style:{gridTemplateColumns:`${Vn}px repeat(${u.length}, ${ft}px)`,columnGap:Jt},children:[s.jsx("span",{}),y.map(p=>s.jsx("span",{style:{gridColumnStart:p.index+2},className:"whitespace-nowrap",children:p.label},`${p.label}-${p.index}`))]}),s.jsxs("div",{className:"grid",style:{gridTemplateColumns:`${Vn}px repeat(${u.length}, ${ft}px)`,columnGap:Jt},children:[s.jsx("div",{className:"grid text-[10px] text-oai-gray-400 dark:text-oai-gray-400 sticky left-0 bg-white dark:bg-oai-gray-900 pr-2",style:{gridTemplateRows:`repeat(7, ${ft}px)`,rowGap:Jt},children:f.map(p=>s.jsx("span",{className:"leading-none",children:p},p))}),s.jsx("div",{className:"grid",style:{gridAutoFlow:"column",gridTemplateRows:`repeat(7, ${ft}px)`,gap:Jt},children:u.map((p,b)=>(Array.isArray(p)?p:[]).map((x,v)=>{if(!x)return null;const _=x.day||`e-${b}-${v}`,k=Number(x.level)||0,D=i[k]||i[0],C=t||n||m("heatmap.legend.utc");return s.jsx("span",{title:m("heatmap.tooltip",{day:x.day,value:Ql(x.value),unit:m("heatmap.unit.tokens"),tz:C}),className:"rounded-[2px] transition-transform hover:scale-125 hover:z-10",style:{width:ft,height:ft,background:D}},_)}))})]})]})}),!r&&s.jsxs("div",{className:"flex items-center justify-center gap-2 mt-3",children:[s.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:m("heatmap.legend.less")}),s.jsx("div",{className:"flex gap-0.5",children:i.map((p,b)=>s.jsx("span",{className:"rounded-[1px]",style:{width:10,height:10,background:p}},b))}),s.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:m("heatmap.legend.more")})]})]})}function rc(){return s.jsxs(Oi,{to:"/landing",className:"flex items-center gap-2.5 no-underline hover:opacity-80 transition-opacity",children:[s.jsx("img",{src:"/app-icon.png",alt:"Token Tracker",width:28,height:28,className:"rounded-md"}),s.jsx("span",{className:"text-base font-semibold text-oai-black dark:text-oai-white leading-tight",children:"Token Tracker"})]})}function ac({children:e,header:t,footer:n,className:r="",hideHeader:a=!1,hideFooter:o=!1,bare:i=!1}){return i?s.jsxs("div",{className:`flex flex-col flex-1 min-h-0 ${r}`,children:[s.jsx("main",{className:"flex-1 px-6 py-6",children:e}),!o&&n&&s.jsx("footer",{className:"border-t border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 mt-auto transition-colors duration-200",children:n})]}):s.jsxs("div",{className:`min-h-screen bg-oai-white dark:bg-oai-gray-950 text-oai-black dark:text-oai-white font-sans flex flex-col transition-colors duration-200 ${r}`,children:[!a&&s.jsxs("header",{className:"border-b border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 flex items-center justify-between transition-colors duration-200",children:[s.jsx(rc,{}),s.jsx("div",{className:"flex-1 flex justify-center",children:t})]}),s.jsx("main",{className:"flex-1 px-6 py-6",children:e}),!o&&n&&s.jsx("footer",{className:"border-t border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 mt-auto transition-colors duration-200",children:n})]})}function oc({children:e,variant:t="info",size:n="md",className:r=""}){const a="inline-flex items-center font-medium",o={success:"bg-oai-brand-100 dark:bg-oai-brand-900/30 text-oai-brand-700 dark:text-oai-brand-400 rounded-full",warning:"bg-oai-amber-50 dark:bg-oai-amber-900/30 text-oai-amber-dark dark:text-oai-amber-400 rounded-full",error:"bg-red-50 dark:bg-red-900/30 text-red-600 dark:text-red-400 rounded-full",info:"bg-oai-gray-100 dark:bg-oai-gray-800 text-oai-gray-600 dark:text-oai-gray-300 rounded-full",secondary:"bg-oai-gray-100 dark:bg-oai-gray-800 text-oai-gray-500 dark:text-oai-gray-300 rounded-md"},i={sm:"px-2 py-0.5 text-xs",md:"px-2.5 py-1 text-sm"},l=`${a} ${o[t]} ${i[n]} ${r}`.trim();return s.jsx("span",{className:l,children:e})}const sc=h.forwardRef(function(t,n){const{render:r,className:a,disabled:o=!1,nativeButton:i=!0,...l}=t,{store:c}=qi(),d=c.useState("open");function u(p){d&&c.setOpen(!1,Ki(Xi,p.nativeEvent))}const{getButtonProps:f,buttonRef:y}=Vi({disabled:o,native:i}),g=h.useMemo(()=>({disabled:o}),[o]);return Gi("button",t,{state:g,ref:[n,y],props:[{onClick:u},l,f]})});var ic={};function lc(e,t){return e==="."?{width:"0.34ch",justifyContent:"center",marginInline:"-0.04ch"}:e===","?{width:"0.08ch",justifyContent:"center",marginInline:"-0.30ch"}:{width:"0.72ch",justifyContent:"flex-start",paddingLeft:"0.04ch",height:t}}function cc({mv:e,digit:t,height:n}){const r=ao(e,a=>{const o=(a%10+10)%10,i=(10+t-o)%10;let l=i*n;return i>5&&(l-=10*n),l});return s.jsx(pe.span,{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",y:r},children:t})}function dc(e){const t=Math.round(e),n=1e-9*Math.max(1,Math.abs(e));return Math.abs(e-t)<n?t:e}function uc(e,t){const n=e/t;return Math.floor(dc(n))}function fc(e){const t=String(e??""),n=Array.from(t),r=n.indexOf(".");let a=n.filter((l,c)=>/\d/.test(l)&&(r===-1||c<r)).length,o=0,i=!1;return n.map(l=>{if(!/\d/.test(l))return l==="."&&(i=!0),l;if(!i){const c=10**Math.max(a-1,0);return a-=1,c}return o+=1,10**-o})}function hc({place:e,value:t,height:n,digitStyle:r,shouldReduceMotion:a}){if(typeof e!="number"){const c=lc(e,n);return s.jsx("span",{"data-counter-token":"static",className:"relative inline-flex items-center justify-center",style:{height:n,...c,...r},children:e})}const o=uc(t,e),i=wr(0),l=bl(i,{stiffness:220,damping:26,mass:.8});return h.useEffect(()=>{i.set(o)},[i,o]),a?s.jsx("span",{"data-counter-token":"digit",className:"relative inline-flex items-center justify-center overflow-hidden",style:{height:n,position:"relative",width:"0.9ch",fontVariantNumeric:"tabular-nums",...r},children:Math.abs(o)%10}):s.jsx("span",{"data-counter-token":"digit",className:"relative inline-flex overflow-hidden",style:{height:n,position:"relative",width:"0.9ch",fontVariantNumeric:"tabular-nums",...r},children:Array.from({length:10},(c,d)=>s.jsx(cc,{mv:l,digit:d,height:n},d))})}function mc({value:e,displayValue:t,fontSize:n=72,padding:r=0,places:a,gap:o=6,borderRadius:i=4,horizontalPadding:l=0,textColor:c="inherit",fontWeight:d="inherit",containerStyle:u,counterStyle:f,digitStyle:y,gradientHeight:g=14,gradientFrom:p="rgba(255,255,255,0.95)",gradientTo:b="rgba(255,255,255,0)",topGradientStyle:x,bottomGradientStyle:v}){const _=String(t??e??""),k=h.useMemo(()=>Array.isArray(a)&&a.length?a:fc(_),[a,_]),D=typeof navigator<"u"&&/jsdom/i.test(navigator.userAgent||"")||typeof process<"u"&&ic?.VITEST==="true",C=kr()||D,M=Number.isFinite(Number(e))?Math.abs(Number(e)):0,A=n+r;return C?s.jsx("span",{"data-counter-root":"true",style:{display:"inline-flex",alignItems:"center",color:c,fontSize:n,fontWeight:d,lineHeight:1,...u,...f},children:_}):s.jsxs("span",{"data-counter-root":"true",style:{position:"relative",display:"inline-block",...u},children:[s.jsx("span",{style:{fontSize:n,display:"flex",gap:o,overflow:"hidden",borderRadius:i,paddingLeft:l,paddingRight:l,lineHeight:1,color:c,fontWeight:d,...f},children:k.map((N,T)=>s.jsx(hc,{place:N,value:M,height:A,digitStyle:y,shouldReduceMotion:C},`${String(N)}-${T}`))}),s.jsxs("span",{style:{pointerEvents:"none",position:"absolute",inset:0,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[s.jsx("span",{style:x??{height:g,background:`linear-gradient(to bottom, ${p}, ${b})`}}),s.jsx("span",{style:v??{height:g,background:`linear-gradient(to top, ${p}, ${b})`}})]})]})}function yc(e){if(!Number.isFinite(e))return m("shared.placeholder.short");const t=Sn(e.toFixed(2),{decimals:2});return t==="-"?m("shared.placeholder.short"):t}function ca(e){return!Number.isFinite(e)||e<=0?null:e<.01?"<$0.01":Sn(e.toFixed(2),{decimals:2})}function da(e){const t=Number(e);return!Number.isFinite(t)||t<=0?null:Oe(t,{decimals:1})}const gc=F.memo(function({isOpen:t,onClose:n,fleetData:r=[]}){const a=h.useMemo(()=>(Array.isArray(r)?r:[]).map(i=>{const l=Te(i?.usd)??0,c=Te(i?.usage)??0,d=Array.isArray(i?.models)?i.models:[];return{label:i?.label?String(i.label):"",usdValue:l,usdLabel:ca(l),tokensLabel:da(c),models:d.map(u=>{const f=Te(u?.usage)??0,y=Te(u?.cost)??0;return{id:u?.id?String(u.id):"",name:u?.name?String(u.name):"",tokensLabel:da(f),costLabel:ca(y),sortCost:y}}).filter(u=>u.costLabel||u.tokensLabel).sort((u,f)=>f.sortCost-u.sortCost)}}).filter(i=>i.usdValue>0||i.models.length>0).sort((i,l)=>l.usdValue-i.usdValue),[r]),o=h.useMemo(()=>{const i=a.reduce((l,c)=>l+c.usdValue,0);return yc(i)},[a]);return s.jsx(Qi,{open:t,onOpenChange:i=>{i||n?.()},children:s.jsxs(Ji,{children:[s.jsx(Zi,{className:"cost-modal-backdrop","data-cost-analysis-backdrop":"true"}),s.jsx(el,{className:"fixed inset-0 z-[101] flex items-center justify-center p-4",children:s.jsxs(tl,{className:"cost-modal-popup relative w-full max-w-[460px] max-h-[calc(100vh-2rem)] flex flex-col rounded-2xl bg-white dark:bg-oai-gray-950 shadow-[0_20px_60px_-20px_rgba(0,0,0,0.25)] dark:shadow-[0_20px_60px_-10px_rgba(0,0,0,0.65)] ring-1 ring-oai-gray-200 dark:ring-oai-gray-800 overflow-hidden",children:[s.jsx(nl,{render:s.jsx("h2",{className:"sr-only"}),children:m("dashboard.cost_breakdown.title")}),s.jsx(sc,{type:"button",className:"absolute top-3 right-3 flex h-9 w-9 items-center justify-center rounded-md text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-800 dark:hover:text-oai-gray-100 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand/50 transition-colors z-10","aria-label":m("dashboard.cost_breakdown.close"),children:s.jsx(Ai,{size:16,strokeWidth:2,"aria-hidden":!0})}),s.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto oai-scrollbar",children:s.jsxs("div",{className:"px-3 py-6",children:[s.jsx("p",{className:"text-label uppercase tracking-[0.12em] text-oai-gray-500 dark:text-oai-gray-400 mb-2",children:m("dashboard.cost_breakdown.total_label")}),s.jsx("p",{className:"font-bold text-oai-brand tabular-nums tracking-tight leading-none mb-6",style:{fontSize:"clamp(24px, 6.5vw, 32px)"},children:o}),a.length===0?s.jsx("p",{className:"text-body-sm text-oai-gray-500 dark:text-oai-gray-400",children:"No spend recorded."}):s.jsxs("div",{role:"table","aria-label":m("dashboard.cost_breakdown.title"),children:[s.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-2 mb-2 border-b border-oai-gray-200 dark:border-oai-gray-800 text-label uppercase text-oai-gray-500 dark:text-oai-gray-400",children:[s.jsx("span",{role:"columnheader",children:"Model"}),s.jsx("span",{role:"columnheader",children:"Cost"})]}),a.map((i,l)=>{const c=`fleet-${l}`;return s.jsxs("div",{role:"rowgroup","aria-labelledby":c,className:l>0?"mt-5":"mt-2",children:[s.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-2",children:[s.jsx("span",{id:c,role:"rowheader",className:"flex-1 min-w-0 text-body-sm font-semibold text-oai-black dark:text-oai-white truncate leading-none",children:i.label}),s.jsx("span",{role:"cell",className:"shrink-0 text-body-sm font-semibold text-oai-black dark:text-oai-white tabular-nums leading-none",children:i.usdLabel||"—"})]}),i.models.map((d,u)=>s.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-[5px]",children:[s.jsx("span",{role:"cell",className:"flex-1 min-w-0 text-caption text-oai-gray-500 dark:text-oai-gray-400 truncate leading-none",title:d.name,children:d.name}),s.jsx("span",{role:"cell",className:"shrink-0 text-caption text-oai-gray-700 dark:text-oai-gray-300 tabular-nums leading-none",children:d.costLabel||""})]},d.id||`${d.name}-${u}`))]},`${i.label}-${l}`)})]})]})})]})})]})})});function pc({projectEntries:e=[],projectLimit:t=3,onProjectLimitChange:n,copy:r,hasDetailsActual:a,dailyEmptyPrefix:o,installSyncCmd:i,dailyEmptySuffix:l,detailsColumns:c,ariaSortFor:d,toggleSort:u,sortIconFor:f,pagedDetails:y,dailyBreakdownRows:g=[],dailyBreakdownColumns:p=[],dailyBreakdownAriaSortFor:b,dailyBreakdownSortIconFor:x,dailyBreakdownDateKey:v="day",detailsDateKey:_,renderDetailDate:k,renderDailyBreakdownDate:D,renderDetailCell:C,DETAILS_PAGED_PERIODS:M,period:A,detailsPageCount:N,detailsPage:T,setDetailsPage:O}){const[S,W]=h.useState("daily");return s.jsxs(xr,{children:[s.jsxs("div",{className:"flex items-center justify-between gap-3 mb-4",children:[s.jsxs("div",{role:"tablist","aria-label":"Data view",className:"flex gap-1",children:[s.jsx("button",{role:"tab","aria-selected":S==="daily",type:"button",onClick:()=>W("daily"),className:`text-xs font-medium px-3 py-1.5 rounded transition-colors ${S==="daily"?"text-oai-black dark:text-oai-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-500 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800/50"}`,children:r("dashboard.daily.title")}),s.jsx("button",{role:"tab","aria-selected":S==="projects",type:"button",onClick:()=>W("projects"),className:`text-xs font-medium px-3 py-1.5 rounded transition-colors ${S==="projects"?"text-oai-black dark:text-oai-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-500 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800/50"}`,children:r("dashboard.projects.title")})]}),S==="projects"&&s.jsxs("select",{"aria-label":"Number of projects to display",value:t,onChange:j=>n?.(Number(j.target.value)),className:"text-xs text-oai-gray-600 dark:text-oai-gray-300 bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded px-2 py-1 hover:border-oai-gray-300 dark:hover:border-oai-gray-600 focus:border-oai-brand dark:focus:border-oai-brand focus:outline-none transition-colors",children:[s.jsx("option",{value:3,children:r("dashboard.projects.limit_top_3")}),s.jsx("option",{value:6,children:r("dashboard.projects.limit_top_6")}),s.jsx("option",{value:10,children:r("dashboard.projects.limit_top_10")})]})]}),S==="projects"&&s.jsx("div",{className:"space-y-1",children:e.slice(0,t).map((j,E)=>{const I=typeof j?.project_ref=="string"?j.project_ref:"",H=j?.project_key||I||`entry-${E}`,te=j?.billable_total_tokens??j?.total_tokens,Y=Number(te),P=Number.isFinite(Y)?Y.toLocaleString():"—",U=j?.project_key||I.split("/").pop()||"—";return s.jsxs("div",{className:"flex items-center gap-3 p-2 rounded-lg",children:[s.jsx("div",{className:"w-8 h-8 rounded-md oai-bg-elevated flex items-center justify-center oai-text-caption font-medium text-oai-gray-500 dark:text-oai-gray-300",children:(j?.project_key?.[0]||"?").toUpperCase()}),s.jsx("div",{className:"min-w-0 flex-1",children:s.jsx("div",{className:"oai-text-body-sm font-medium text-oai-black dark:text-oai-white truncate",children:U})}),s.jsx("div",{className:"oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:P})]},H)})}),S==="daily"&&s.jsxs("div",{children:[g?.length===0?s.jsxs("div",{className:"oai-text-body-sm text-oai-gray-500 dark:text-oai-gray-300 mb-4",children:[o,s.jsx("code",{className:"mx-1 rounded border border-oai-gray-300 dark:border-oai-gray-700 oai-bg-elevated px-1.5 py-0.5 font-mono oai-text-caption",children:i}),l]}):s.jsx("div",{className:"overflow-auto max-h-[384px] -mx-4 oai-scrollbar",children:s.jsxs("table",{className:"w-full border-collapse",children:[s.jsx("thead",{className:"sticky top-0 z-10",children:s.jsx("tr",{className:"border-b border-oai-gray-200 dark:border-oai-gray-700",children:p.map(j=>s.jsx("th",{"aria-sort":b?.(j.key)||"none",className:"text-left p-0 bg-white dark:bg-oai-gray-900",children:s.jsx("button",{type:"button",onClick:()=>u(j.key),className:"flex w-full items-center justify-start px-4 py-2 text-left oai-text-caption font-semibold text-oai-gray-600 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white transition-colors",children:s.jsxs("span",{className:"inline-flex items-center gap-1",children:[s.jsx("span",{children:j.label}),s.jsx("span",{className:"text-oai-gray-400 dark:text-oai-gray-400",children:x?.(j.key)||""})]})})},j.key))})}),s.jsx("tbody",{children:g.map(j=>s.jsxs("tr",{className:`border-b border-oai-gray-100 dark:border-oai-gray-800 last:border-b-0 hover:bg-oai-gray-50/50 dark:hover:bg-oai-gray-800/50 transition-colors ${j.missing?"text-oai-gray-400 dark:text-oai-gray-400":j.future?"text-oai-gray-300 dark:text-oai-gray-600":"text-oai-black dark:text-oai-white"}`,children:[s.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-500 dark:text-oai-gray-300",children:D?D(j):k(j)}),s.jsx("td",{className:"px-4 py-2 oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:C(j,"total_tokens")}),s.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C(j,"input_tokens")}),s.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C(j,"output_tokens")}),s.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C(j,"cached_input_tokens")}),s.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C(j,"reasoning_output_tokens")}),s.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C(j,"conversation_count")})]},String(j?.[v]||j?.day||j?.hour||j?.month||"")))})]})}),S!=="daily"&&M.has(A)&&N>1?s.jsxs("div",{className:"mt-3 flex items-center justify-between oai-text-caption",children:[s.jsx("button",{type:"button",onClick:()=>O(j=>Math.max(0,j-1)),disabled:T===0,className:"px-3 py-1.5 text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 rounded-md disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:r("details.pagination.prev")}),s.jsxs("span",{className:"oai-text-muted",children:[T+1," / ",N]}),s.jsx("button",{type:"button",onClick:()=>O(j=>Math.min(N-1,j+1)),disabled:T+1>=N,className:"px-3 py-1.5 text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 rounded-md disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:r("details.pagination.next")})]}):null]})]})}function kn(e){return typeof e!="string"?"":e.trim()}function ua(e){const t=kn(e);return t?t.split(/[_\-\s]+/).filter(Boolean).map(n=>n.slice(0,1).toUpperCase()+n.slice(1).toLowerCase()).join(" "):""}function bc(e){if(!Array.isArray(e))return[];const t=new Map;for(const n of e){if(!n||typeof n!="object")continue;const r=kn(n.tool),a=kn(n.planType)||kn(n.plan_type);if(!r||!a)continue;const o=ua(r)||r,i=ua(a)||a;t.set(`${r.toLowerCase()}::${a.toLowerCase()}`,{tool:o,plan:i})}return Array.from(t.values())}function xc({period:e="month",rankLabel:t,streakDays:n,subscriptions:r=[],periodConversations:a,rolling:o,topModels:i=[],className:l=""}){const c=m("shared.placeholder.short"),d=m("shared.unit.percent"),u=t??m("identity_card.rank_placeholder"),f=Number.isFinite(Number(n))?Number(n):0,y=f?m("identity_card.streak_value",{days:f}):m("identity_card.rank_placeholder"),g=bc(r),p={thousandSuffix:m("shared.unit.thousand_abbrev"),millionSuffix:m("shared.unit.million_abbrev"),billionSuffix:m("shared.unit.billion_abbrev")},b=_=>{if(_==null)return c;const k=Oe(_,p);return k==="-"?c:k},x=(()=>{switch(e){case"day":return m("stats.period.today");case"week":return m("stats.period.week");case"month":return m("stats.period.month");case"total":return m("stats.period.all");default:return m("stats.period.convs")}})(),v=i.slice(0,3);return s.jsxs(xr,{className:`h-full ${l}`,children:[s.jsxs("div",{className:"grid grid-cols-4 gap-2",children:[s.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[s.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:b(o?.last_7d?.totals?.billable_total_tokens)}),s.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"7d"})]}),s.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[s.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:b(o?.last_30d?.totals?.billable_total_tokens)}),s.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"30d"})]}),s.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[s.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:b(o?.last_30d?.avg_per_active_day)}),s.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"avg"})]}),s.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[s.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:b(a)}),s.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:x})]})]}),v.length>0&&s.jsx("div",{className:"mt-4 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800",children:v.map((_,k)=>{const D=_?.name?String(_.name):c,C=_?.percent?String(_.percent):"",M=k===v.length-1,A=k+1;return s.jsxs("div",{className:`flex items-center py-2 ${M?"":"border-b border-oai-gray-50 dark:border-oai-gray-800"}`,children:[s.jsx("span",{className:"w-5 h-5 flex items-center justify-center rounded-full bg-oai-gray-100 dark:bg-oai-gray-800 text-[10px] font-semibold text-oai-gray-500 dark:text-oai-gray-300 flex-shrink-0",children:A}),s.jsx("span",{className:"flex-1 text-sm text-oai-gray-700 dark:text-oai-gray-300 truncate px-2.5",title:D,children:D}),s.jsxs("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums flex-shrink-0",children:[C,d]})]},_.id||D)})}),g.length>0&&s.jsx("div",{className:"mt-3 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800 flex flex-wrap gap-1.5",children:g.map((_,k)=>s.jsxs(oc,{variant:"secondary",size:"sm",children:[_.tool," ",_.plan]},`${_.tool}:${_.plan}:${k}`))}),s.jsxs("div",{className:"mt-4 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800 flex items-center justify-between text-xs text-oai-gray-400 dark:text-oai-gray-400",children:[s.jsxs("div",{className:"flex items-center gap-1.5",children:[s.jsx("span",{children:m("identity_card.rank_label")}),s.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:u})]}),s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsx("span",{children:m("identity_card.streak_label")}),s.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:y})]})]})]})}function kc(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const wc={},nn={};function pt(e,t){try{const r=(wc[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return r in nn?nn[r]:fa(r,r.split(":"))}catch{if(e in nn)return nn[e];const n=e?.match(vc);return n?fa(e,n.slice(1)):NaN}}const vc=/([+-]\d\d):?(\d\d)?/;function fa(e,t){const n=+(t[0]||0),r=+(t[1]||0),a=+(t[2]||0)/60;return nn[e]=n*60+r>0?n*60+r+a:n*60-r-a}class $e extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(pt(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),fo(this),dr(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new $e(...n,t):new $e(Date.now(),t)}withTimeZone(t){return new $e(+this,t)}getTimezoneOffset(){const t=-pt(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),dr(this),+this}[Symbol.for("constructDateFrom")](t){return new $e(+new Date(t),this.timeZone)}}const ha=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!ha.test(e))return;const t=e.replace(ha,"$1UTC");$e.prototype[t]&&(e.startsWith("get")?$e.prototype[e]=function(){return this.internal[t]()}:($e.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),_c(this),+this},$e.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),dr(this),+this}))});function dr(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-pt(e.timeZone,e)*60))}function _c(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),fo(e)}function fo(e){const t=pt(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const a=-new Date(+e).getTimezoneOffset(),o=-new Date(+r).getTimezoneOffset(),i=a-o,l=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();i&&l&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+i);const c=a-n;c&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+c);const d=new Date(+e);d.setUTCSeconds(0);const u=a>0?d.getSeconds():(d.getSeconds()-60)%60,f=Math.round(-(pt(e.timeZone,e)*60))%60;(f||u)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+f),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+f+u));const y=pt(e.timeZone,e),g=y>0?Math.floor(y):Math.ceil(y),b=-new Date(+e).getTimezoneOffset()-g,x=g!==n,v=b-c;if(x&&v){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+v);const _=pt(e.timeZone,e),k=_>0?Math.floor(_):Math.ceil(_),D=g-k;D&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+D),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+D))}}class ge extends $e{static tz(t,...n){return n.length?new ge(...n,t):new ge(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),a=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,a]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${r} ${n} ${a}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,a]=this.tzComponents();return`${t} GMT${n}${r}${a} (${kc(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),a=String(Math.abs(t)%60).padStart(2,"0");return[n,r,a]}withTimeZone(t){return new ge(+this,t)}[Symbol.for("constructDateFrom")](t){return new ge(+new Date(t),this.timeZone)}}const ho=6048e5,Nc=864e5,ma=Symbol.for("constructDateFrom");function de(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&ma in e?e[ma](t):e instanceof Date?new e.constructor(t):new Date(t)}function ae(e,t){return de(t||e,e)}function mo(e,t,n){const r=ae(e,n?.in);return isNaN(t)?de(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function yo(e,t,n){const r=ae(e,n?.in);if(isNaN(t))return de(e,NaN);if(!t)return r;const a=r.getDate(),o=de(e,r.getTime());o.setMonth(r.getMonth()+t+1,0);const i=o.getDate();return a>=i?o:(r.setFullYear(o.getFullYear(),o.getMonth(),a),r)}let Sc={};function on(){return Sc}function Bt(e,t){const n=on(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=ae(e,t?.in),o=a.getDay(),i=(o<r?7:0)+o-r;return a.setDate(a.getDate()-i),a.setHours(0,0,0,0),a}function rn(e,t){return Bt(e,{...t,weekStartsOn:1})}function go(e,t){const n=ae(e,t?.in),r=n.getFullYear(),a=de(n,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);const o=rn(a),i=de(n,0);i.setFullYear(r,0,4),i.setHours(0,0,0,0);const l=rn(i);return n.getTime()>=o.getTime()?r+1:n.getTime()>=l.getTime()?r:r-1}function ya(e){const t=ae(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Rt(e,...t){const n=de.bind(null,t.find(r=>typeof r=="object"));return t.map(n)}function an(e,t){const n=ae(e,t?.in);return n.setHours(0,0,0,0),n}function vr(e,t,n){const[r,a]=Rt(n?.in,e,t),o=an(r),i=an(a),l=+o-ya(o),c=+i-ya(i);return Math.round((l-c)/Nc)}function Mc(e,t){const n=go(e,t),r=de(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),rn(r)}function jc(e,t,n){return mo(e,t*7,n)}function Dc(e,t,n){return yo(e,t*12,n)}function Cc(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=de.bind(null,a));const o=ae(a,r);(!n||n<o||isNaN(+o))&&(n=o)}),de(r,n||NaN)}function Tc(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=de.bind(null,a));const o=ae(a,r);(!n||n>o||isNaN(+o))&&(n=o)}),de(r,n||NaN)}function Oc(e,t,n){const[r,a]=Rt(n?.in,e,t);return+an(r)==+an(a)}function po(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Ac(e){return!(!po(e)&&typeof e!="number"||isNaN(+ae(e)))}function bo(e,t,n){const[r,a]=Rt(n?.in,e,t),o=r.getFullYear()-a.getFullYear(),i=r.getMonth()-a.getMonth();return o*12+i}function Fc(e,t){const n=ae(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function xo(e,t){const[n,r]=Rt(e,t.start,t.end);return{start:n,end:r}}function Ec(e,t){const{start:n,end:r}=xo(t?.in,e);let a=+n>+r;const o=a?+n:+r,i=a?r:n;i.setHours(0,0,0,0),i.setDate(1);let l=1;const c=[];for(;+i<=o;)c.push(de(n,i)),i.setMonth(i.getMonth()+l);return a?c.reverse():c}function Wc(e,t){const n=ae(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Ic(e,t){const n=ae(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function ko(e,t){const n=ae(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Pc(e,t){const{start:n,end:r}=xo(t?.in,e);let a=+n>+r;const o=a?+n:+r,i=a?r:n;i.setHours(0,0,0,0),i.setMonth(0,1);let l=1;const c=[];for(;+i<=o;)c.push(de(n,i)),i.setFullYear(i.getFullYear()+l);return a?c.reverse():c}function wo(e,t){const n=on(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=ae(e,t?.in),o=a.getDay(),i=(o<r?-7:0)+6-(o-r);return a.setDate(a.getDate()+i),a.setHours(23,59,59,999),a}function Lc(e,t){return wo(e,{...t,weekStartsOn:1})}const Bc={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},$c=(e,t,n)=>{let r;const a=Bc[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function Gn(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Rc={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Yc={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Hc={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Uc={date:Gn({formats:Rc,defaultWidth:"full"}),time:Gn({formats:Yc,defaultWidth:"full"}),dateTime:Gn({formats:Hc,defaultWidth:"full"})},zc={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},qc=(e,t,n,r)=>zc[e];function Zt(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,l=n?.width?String(n.width):i;a=e.formattingValues[l]||e.formattingValues[i]}else{const i=e.defaultWidth,l=n?.width?String(n.width):e.defaultWidth;a=e.values[l]||e.values[i]}const o=e.argumentCallback?e.argumentCallback(t):t;return a[o]}}const Vc={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Gc={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Kc={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Xc={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Qc={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Jc={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Zc=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},ed={ordinalNumber:Zc,era:Zt({values:Vc,defaultWidth:"wide"}),quarter:Zt({values:Gc,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Zt({values:Kc,defaultWidth:"wide"}),day:Zt({values:Xc,defaultWidth:"wide"}),dayPeriod:Zt({values:Qc,defaultWidth:"wide",formattingValues:Jc,defaultFormattingWidth:"wide"})};function en(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(a);if(!o)return null;const i=o[0],l=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(l)?nd(l,f=>f.test(i)):td(l,f=>f.test(i));let d;d=e.valueCallback?e.valueCallback(c):c,d=n.valueCallback?n.valueCallback(d):d;const u=t.slice(i.length);return{value:d,rest:u}}}function td(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function nd(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function rd(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],o=t.match(e.parsePattern);if(!o)return null;let i=e.valueCallback?e.valueCallback(o[0]):o[0];i=n.valueCallback?n.valueCallback(i):i;const l=t.slice(a.length);return{value:i,rest:l}}}const ad=/^(\d+)(th|st|nd|rd)?/i,od=/\d+/i,sd={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},id={any:[/^b/i,/^(a|c)/i]},ld={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},cd={any:[/1/i,/2/i,/3/i,/4/i]},dd={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ud={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},fd={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},hd={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},md={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},yd={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},gd={ordinalNumber:rd({matchPattern:ad,parsePattern:od,valueCallback:e=>parseInt(e,10)}),era:en({matchPatterns:sd,defaultMatchWidth:"wide",parsePatterns:id,defaultParseWidth:"any"}),quarter:en({matchPatterns:ld,defaultMatchWidth:"wide",parsePatterns:cd,defaultParseWidth:"any",valueCallback:e=>e+1}),month:en({matchPatterns:dd,defaultMatchWidth:"wide",parsePatterns:ud,defaultParseWidth:"any"}),day:en({matchPatterns:fd,defaultMatchWidth:"wide",parsePatterns:hd,defaultParseWidth:"any"}),dayPeriod:en({matchPatterns:md,defaultMatchWidth:"any",parsePatterns:yd,defaultParseWidth:"any"})},Wt={code:"en-US",formatDistance:$c,formatLong:Uc,formatRelative:qc,localize:ed,match:gd,options:{weekStartsOn:0,firstWeekContainsDate:1}};function pd(e,t){const n=ae(e,t?.in);return vr(n,ko(n))+1}function _r(e,t){const n=ae(e,t?.in),r=+rn(n)-+Mc(n);return Math.round(r/ho)+1}function vo(e,t){const n=ae(e,t?.in),r=n.getFullYear(),a=on(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,i=de(t?.in||e,0);i.setFullYear(r+1,0,o),i.setHours(0,0,0,0);const l=Bt(i,t),c=de(t?.in||e,0);c.setFullYear(r,0,o),c.setHours(0,0,0,0);const d=Bt(c,t);return+n>=+l?r+1:+n>=+d?r:r-1}function bd(e,t){const n=on(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=vo(e,t),o=de(t?.in||e,0);return o.setFullYear(a,0,r),o.setHours(0,0,0,0),Bt(o,t)}function Nr(e,t){const n=ae(e,t?.in),r=+Bt(n,t)-+bd(n,t);return Math.round(r/ho)+1}function re(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const nt={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return re(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):re(n+1,2)},d(e,t){return re(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return n==="am"?"a.m.":"p.m."}},h(e,t){return re(e.getHours()%12||12,t.length)},H(e,t){return re(e.getHours(),t.length)},m(e,t){return re(e.getMinutes(),t.length)},s(e,t){return re(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return re(a,t.length)}},Ft={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},ga={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return nt.y(e,t)},Y:function(e,t,n,r){const a=vo(e,r),o=a>0?a:1-a;if(t==="YY"){const i=o%100;return re(i,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):re(o,t.length)},R:function(e,t){const n=go(e);return re(n,t.length)},u:function(e,t){const n=e.getFullYear();return re(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return re(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return re(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return nt.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return re(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=Nr(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):re(a,t.length)},I:function(e,t,n){const r=_r(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):re(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):nt.d(e,t)},D:function(e,t,n){const r=pd(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):re(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return re(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return re(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return re(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=Ft.noon:r===0?a=Ft.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=Ft.evening:r>=12?a=Ft.afternoon:r>=4?a=Ft.morning:a=Ft.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return nt.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):nt.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):re(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):re(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):nt.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):nt.s(e,t)},S:function(e,t){return nt.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return ba(r);case"XXXX":case"XX":return yt(r);default:return yt(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return ba(r);case"xxxx":case"xx":return yt(r);default:return yt(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+pa(r,":");default:return"GMT"+yt(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+pa(r,":");default:return"GMT"+yt(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return re(r,t.length)},T:function(e,t,n){return re(+e,t.length)}};function pa(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),o=r%60;return o===0?n+String(a):n+String(a)+t+re(o,2)}function ba(e,t){return e%60===0?(e>0?"-":"+")+re(Math.abs(e)/60,2):yt(e,t)}function yt(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=re(Math.trunc(r/60),2),o=re(r%60,2);return n+a+t+o}const xa=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},_o=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},xd=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return xa(e,t);let o;switch(r){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",xa(r,t)).replace("{{time}}",_o(a,t))},kd={p:_o,P:xd},wd=/^D+$/,vd=/^Y+$/,_d=["D","DD","YY","YYYY"];function Nd(e){return wd.test(e)}function Sd(e){return vd.test(e)}function Md(e,t,n){const r=jd(e,t,n);if(console.warn(r),_d.includes(e))throw new RangeError(r)}function jd(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Dd=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Cd=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Td=/^'([^]*?)'?$/,Od=/''/g,Ad=/[a-zA-Z]/;function Re(e,t,n){const r=on(),a=n?.locale??r.locale??Wt,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,l=ae(e,n?.in);if(!Ac(l))throw new RangeError("Invalid time value");let c=t.match(Cd).map(u=>{const f=u[0];if(f==="p"||f==="P"){const y=kd[f];return y(u,a.formatLong)}return u}).join("").match(Dd).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const f=u[0];if(f==="'")return{isToken:!1,value:Fd(u)};if(ga[f])return{isToken:!0,value:u};if(f.match(Ad))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:u}});a.localize.preprocessor&&(c=a.localize.preprocessor(l,c));const d={firstWeekContainsDate:o,weekStartsOn:i,locale:a};return c.map(u=>{if(!u.isToken)return u.value;const f=u.value;(!n?.useAdditionalWeekYearTokens&&Sd(f)||!n?.useAdditionalDayOfYearTokens&&Nd(f))&&Md(f,t,String(e));const y=ga[f[0]];return y(l,f,a.localize,d)}).join("")}function Fd(e){const t=e.match(Td);return t?t[1].replace(Od,"'"):e}function Ed(e,t){const n=ae(e,t?.in),r=n.getFullYear(),a=n.getMonth(),o=de(n,0);return o.setFullYear(r,a+1,0),o.setHours(0,0,0,0),o.getDate()}function Wd(e,t){return ae(e,t?.in).getMonth()}function Id(e,t){return ae(e,t?.in).getFullYear()}function Pd(e,t){return+ae(e)>+ae(t)}function Ld(e,t){return+ae(e)<+ae(t)}function Bd(e,t,n){const[r,a]=Rt(n?.in,e,t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function $d(e,t,n){const[r,a]=Rt(n?.in,e,t);return r.getFullYear()===a.getFullYear()}function Rd(e,t,n){const r=ae(e,n?.in),a=r.getFullYear(),o=r.getDate(),i=de(e,0);i.setFullYear(a,t,15),i.setHours(0,0,0,0);const l=Ed(i);return r.setMonth(t,Math.min(o,l)),r}function Yd(e,t,n){const r=ae(e,n?.in);return isNaN(+r)?de(e,NaN):(r.setFullYear(t),r)}const ka=5,Hd=4;function Ud(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,a=t.addDays(e,-r+1),o=t.addDays(a,ka*7-1);return t.getMonth(e)===t.getMonth(o)?ka:Hd}function No(e,t){const n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-6):t.addDays(n,-1*(r-1))}function zd(e,t){const n=No(e,t),r=Ud(e,t);return t.addDays(n,r*7-1)}const So={...Wt,labels:{labelDayButton:(e,t,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(i,l)=>Re(i,l,{locale:Wt,...n});let o=a(e,"PPPP");return t.today&&(o=`Today, ${o}`),t.selected&&(o=`${o}, selected`),o},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>Re(a,o,{locale:Wt,...t}),r(e,"LLLL yyyy")},labelGridcell:(e,t,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(i,l)=>Re(i,l,{locale:Wt,...n});let o=a(e,"PPPP");return t?.today&&(o=`Today, ${o}`),o},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>Re(a,o,{locale:Wt,...t}),r(e,"cccc")}}};class Se{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?ge.tz(this.options.timeZone):new this.Date,this.newDate=(r,a,o)=>this.overrides?.newDate?this.overrides.newDate(r,a,o):this.options.timeZone?new ge(r,a,o,this.options.timeZone):new Date(r,a,o),this.addDays=(r,a)=>this.overrides?.addDays?this.overrides.addDays(r,a):mo(r,a),this.addMonths=(r,a)=>this.overrides?.addMonths?this.overrides.addMonths(r,a):yo(r,a),this.addWeeks=(r,a)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,a):jc(r,a),this.addYears=(r,a)=>this.overrides?.addYears?this.overrides.addYears(r,a):Dc(r,a),this.differenceInCalendarDays=(r,a)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,a):vr(r,a),this.differenceInCalendarMonths=(r,a)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,a):bo(r,a),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):Ec(r),this.eachYearOfInterval=r=>{const a=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):Pc(r),o=new Set(a.map(l=>this.getYear(l)));if(o.size===a.length)return a;const i=[];return o.forEach(l=>{i.push(new Date(l,0,1))}),i},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):zd(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):Lc(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):Fc(r),this.endOfWeek=(r,a)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,a):wo(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):Ic(r),this.format=(r,a,o)=>{const i=this.overrides?.format?this.overrides.format(r,a,this.options):Re(r,a,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(i):i},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):_r(r),this.getMonth=(r,a)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):Wd(r,this.options),this.getYear=(r,a)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):Id(r,this.options),this.getWeek=(r,a)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):Nr(r,this.options),this.isAfter=(r,a)=>this.overrides?.isAfter?this.overrides.isAfter(r,a):Pd(r,a),this.isBefore=(r,a)=>this.overrides?.isBefore?this.overrides.isBefore(r,a):Ld(r,a),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):po(r),this.isSameDay=(r,a)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,a):Oc(r,a),this.isSameMonth=(r,a)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,a):Bd(r,a),this.isSameYear=(r,a)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,a):$d(r,a),this.max=r=>this.overrides?.max?this.overrides.max(r):Cc(r),this.min=r=>this.overrides?.min?this.overrides.min(r):Tc(r),this.setMonth=(r,a)=>this.overrides?.setMonth?this.overrides.setMonth(r,a):Rd(r,a),this.setYear=(r,a)=>this.overrides?.setYear?this.overrides.setYear(r,a):Yd(r,a),this.startOfBroadcastWeek=(r,a)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):No(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):an(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):rn(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):Wc(r),this.startOfWeek=(r,a)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):Bt(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):ko(r),this.options={locale:So,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),r={};for(let a=0;a<10;a++)r[a.toString()]=n.format(a);return r}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,r=>n[r]||r)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&Se.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:a}=this.options,o=n?.code;if(o&&Se.yearFirstLocales.has(o))try{return new Intl.DateTimeFormat(o,{month:"long",year:"numeric",timeZone:r,numberingSystem:a}).format(t)}catch{}const i=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,i)}}Se.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const Ye=new Se;class Mo{constructor(t,n,r=Ye){this.date=t,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(t,n)),this.dateLib=r,this.isoDate=r.format(t,"yyyy-MM-dd"),this.displayMonthId=r.format(n,"yyyy-MM"),this.dateMonthId=r.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class qd{constructor(t,n){this.date=t,this.weeks=n}}class Vd{constructor(t,n){this.days=n,this.weekNumber=t}}function Gd(e){return F.createElement("button",{...e})}function Kd(e){return F.createElement("span",{...e})}function Xd(e){const{size:t=24,orientation:n="left",className:r}=e;return F.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&F.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&F.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&F.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&F.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function Qd(e){const{day:t,modifiers:n,...r}=e;return F.createElement("td",{...r})}function Jd(e){const{day:t,modifiers:n,...r}=e,a=F.useRef(null);return F.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),F.createElement("button",{ref:a,...r})}var R;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(R||(R={}));var le;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(le||(le={}));var Pe;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Pe||(Pe={}));var Ne;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(Ne||(Ne={}));function Zd(e){const{options:t,className:n,components:r,classNames:a,...o}=e,i=[a[R.Dropdown],n].join(" "),l=t?.find(({value:c})=>c===o.value);return F.createElement("span",{"data-disabled":o.disabled,className:a[R.DropdownRoot]},F.createElement(r.Select,{className:i,...o},t?.map(({value:c,label:d,disabled:u})=>F.createElement(r.Option,{key:c,value:c,disabled:u},d))),F.createElement("span",{className:a[R.CaptionLabel],"aria-hidden":!0},l?.label,F.createElement(r.Chevron,{orientation:"down",size:18,className:a[R.Chevron]})))}function eu(e){return F.createElement("div",{...e})}function tu(e){return F.createElement("div",{...e})}function nu(e){const{calendarMonth:t,displayIndex:n,...r}=e;return F.createElement("div",{...r},e.children)}function ru(e){const{calendarMonth:t,displayIndex:n,...r}=e;return F.createElement("div",{...r})}function au(e){return F.createElement("table",{...e})}function ou(e){return F.createElement("div",{...e})}const jo=h.createContext(void 0);function sn(){const e=h.useContext(jo);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function su(e){const{components:t}=sn();return F.createElement(t.Dropdown,{...e})}function iu(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:a,...o}=e,{components:i,classNames:l,labels:{labelPrevious:c,labelNext:d}}=sn(),u=h.useCallback(y=>{a&&n?.(y)},[a,n]),f=h.useCallback(y=>{r&&t?.(y)},[r,t]);return F.createElement("nav",{...o},F.createElement(i.PreviousMonthButton,{type:"button",className:l[R.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":c(r),onClick:f},F.createElement(i.Chevron,{disabled:r?void 0:!0,className:l[R.Chevron],orientation:"left"})),F.createElement(i.NextMonthButton,{type:"button",className:l[R.NextMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":d(a),onClick:u},F.createElement(i.Chevron,{disabled:a?void 0:!0,orientation:"right",className:l[R.Chevron]})))}function lu(e){const{components:t}=sn();return F.createElement(t.Button,{...e})}function cu(e){return F.createElement("option",{...e})}function du(e){const{components:t}=sn();return F.createElement(t.Button,{...e})}function uu(e){const{rootRef:t,...n}=e;return F.createElement("div",{...n,ref:t})}function fu(e){return F.createElement("select",{...e})}function hu(e){const{week:t,...n}=e;return F.createElement("tr",{...n})}function mu(e){return F.createElement("th",{...e})}function yu(e){return F.createElement("thead",{"aria-hidden":!0},F.createElement("tr",{...e}))}function gu(e){const{week:t,...n}=e;return F.createElement("th",{...n})}function pu(e){return F.createElement("th",{...e})}function bu(e){return F.createElement("tbody",{...e})}function xu(e){const{components:t}=sn();return F.createElement(t.Dropdown,{...e})}const ku=Object.freeze(Object.defineProperty({__proto__:null,Button:Gd,CaptionLabel:Kd,Chevron:Xd,Day:Qd,DayButton:Jd,Dropdown:Zd,DropdownNav:eu,Footer:tu,Month:nu,MonthCaption:ru,MonthGrid:au,Months:ou,MonthsDropdown:su,Nav:iu,NextMonthButton:lu,Option:cu,PreviousMonthButton:du,Root:uu,Select:fu,Week:hu,WeekNumber:gu,WeekNumberHeader:pu,Weekday:mu,Weekdays:yu,Weeks:bu,YearsDropdown:xu},Symbol.toStringTag,{value:"Module"}));function Ke(e,t,n=!1,r=Ye){let{from:a,to:o}=e;const{differenceInCalendarDays:i,isSameDay:l}=r;return a&&o?(i(o,a)<0&&([a,o]=[o,a]),i(t,a)>=(n?1:0)&&i(o,t)>=(n?1:0)):!n&&o?l(o,t):!n&&a?l(a,t):!1}function Sr(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function Mn(e){return!!(e&&typeof e=="object"&&"from"in e)}function Mr(e){return!!(e&&typeof e=="object"&&"after"in e)}function jr(e){return!!(e&&typeof e=="object"&&"before"in e)}function Do(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Co(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Xe(e,t,n=Ye){const r=Array.isArray(t)?t:[t],{isSameDay:a,differenceInCalendarDays:o,isAfter:i}=n;return r.some(l=>{if(typeof l=="boolean")return l;if(n.isDate(l))return a(e,l);if(Co(l,n))return l.some(c=>a(e,c));if(Mn(l))return Ke(l,e,!1,n);if(Do(l))return Array.isArray(l.dayOfWeek)?l.dayOfWeek.includes(e.getDay()):l.dayOfWeek===e.getDay();if(Sr(l)){const c=o(l.before,e),d=o(l.after,e),u=c>0,f=d<0;return i(l.before,l.after)?f&&u:u||f}return Mr(l)?o(e,l.after)>0:jr(l)?o(l.before,e)>0:typeof l=="function"?l(e):!1})}function wu(e,t,n,r,a){const{disabled:o,hidden:i,modifiers:l,showOutsideDays:c,broadcastCalendar:d,today:u=a.today()}=t,{isSameDay:f,isSameMonth:y,startOfMonth:g,isBefore:p,endOfMonth:b,isAfter:x}=a,v=n&&g(n),_=r&&b(r),k={[le.focused]:[],[le.outside]:[],[le.disabled]:[],[le.hidden]:[],[le.today]:[]},D={};for(const C of e){const{date:M,displayMonth:A}=C,N=!!(A&&!y(M,A)),T=!!(v&&p(M,v)),O=!!(_&&x(M,_)),S=!!(o&&Xe(M,o,a)),W=!!(i&&Xe(M,i,a))||T||O||!d&&!c&&N||d&&c===!1&&N,j=f(M,u);N&&k.outside.push(C),S&&k.disabled.push(C),W&&k.hidden.push(C),j&&k.today.push(C),l&&Object.keys(l).forEach(E=>{const I=l?.[E];I&&Xe(M,I,a)&&(D[E]?D[E].push(C):D[E]=[C])})}return C=>{const M={[le.focused]:!1,[le.disabled]:!1,[le.hidden]:!1,[le.outside]:!1,[le.today]:!1},A={};for(const N in k){const T=k[N];M[N]=T.some(O=>O===C)}for(const N in D)A[N]=D[N].some(T=>T===C);return{...M,...A}}}function vu(e,t,n={}){return Object.entries(e).filter(([,a])=>a===!0).reduce((a,[o])=>(n[o]?a.push(n[o]):t[le[o]]?a.push(t[le[o]]):t[Pe[o]]&&a.push(t[Pe[o]]),a),[t[R.Day]])}function _u(e){return{...ku,...e}}function Nu(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,r])=>{n.startsWith("data-")&&(t[n]=r)}),t}function Su(){const e={};for(const t in R)e[R[t]]=`rdp-${R[t]}`;for(const t in le)e[le[t]]=`rdp-${le[t]}`;for(const t in Pe)e[Pe[t]]=`rdp-${Pe[t]}`;for(const t in Ne)e[Ne[t]]=`rdp-${Ne[t]}`;return e}function To(e,t,n){return(n??new Se(t)).formatMonthYear(e)}const Mu=To;function ju(e,t,n){return(n??new Se(t)).format(e,"d")}function Du(e,t=Ye){return t.format(e,"LLLL")}function Cu(e,t,n){return(n??new Se(t)).format(e,"cccccc")}function Tu(e,t=Ye){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function Ou(){return""}function Oo(e,t=Ye){return t.format(e,"yyyy")}const Au=Oo,Fu=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:To,formatDay:ju,formatMonthCaption:Mu,formatMonthDropdown:Du,formatWeekNumber:Tu,formatWeekNumberHeader:Ou,formatWeekdayName:Cu,formatYearCaption:Au,formatYearDropdown:Oo},Symbol.toStringTag,{value:"Module"}));function Eu(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...Fu,...e}}function Dr(e,t,n,r){let a=(r??new Se(n)).format(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a}const Wu=Dr;function Cr(e,t,n){return(n??new Se(t)).formatMonthYear(e)}const Iu=Cr;function Ao(e,t,n,r){let a=(r??new Se(n)).format(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a}function Fo(e){return"Choose the Month"}function Eo(){return""}const Pu="Go to the Next Month";function Wo(e,t){return Pu}function Io(e){return"Go to the Previous Month"}function Po(e,t,n){return(n??new Se(t)).format(e,"cccc")}function Lo(e,t){return`Week ${e}`}function Bo(e){return"Week Number"}function $o(e){return"Choose the Year"}const Lu=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Iu,labelDay:Wu,labelDayButton:Dr,labelGrid:Cr,labelGridcell:Ao,labelMonthDropdown:Fo,labelNav:Eo,labelNext:Wo,labelPrevious:Io,labelWeekNumber:Lo,labelWeekNumberHeader:Bo,labelWeekday:Po,labelYearDropdown:$o},Symbol.toStringTag,{value:"Module"})),Ie=(e,t,n)=>t||(n?typeof n=="function"?n:(...r)=>n:e);function Bu(e,t){const n=t.locale?.labels??{};return{...Lu,...e??{},labelDayButton:Ie(Dr,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:Ie(Fo,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:Ie(Wo,e?.labelNext,n.labelNext),labelPrevious:Ie(Io,e?.labelPrevious,n.labelPrevious),labelWeekNumber:Ie(Lo,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:Ie($o,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:Ie(Cr,e?.labelGrid,n.labelGrid),labelGridcell:Ie(Ao,e?.labelGridcell,n.labelGridcell),labelNav:Ie(Eo,e?.labelNav,n.labelNav),labelWeekNumberHeader:Ie(Bo,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:Ie(Po,e?.labelWeekday,n.labelWeekday)}}function $u(e,t,n,r,a){const{startOfMonth:o,startOfYear:i,endOfYear:l,eachMonthOfInterval:c,getMonth:d}=a;return c({start:i(e),end:l(e)}).map(y=>{const g=r.formatMonthDropdown(y,a),p=d(y),b=t&&y<o(t)||n&&y>o(n)||!1;return{value:p,label:g,disabled:b}})}function Ru(e,t={},n={}){let r={...t?.[R.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{r={...r,...n?.[a]}}),r}function Yu(e,t,n,r){const a=r??e.today(),o=n?e.startOfBroadcastWeek(a,e):t?e.startOfISOWeek(a):e.startOfWeek(a),i=[];for(let l=0;l<7;l++){const c=e.addDays(o,l);i.push(c)}return i}function Hu(e,t,n,r,a=!1){if(!e||!t)return;const{startOfYear:o,endOfYear:i,eachYearOfInterval:l,getYear:c}=r,d=o(e),u=i(t),f=l({start:d,end:u});return a&&f.reverse(),f.map(y=>{const g=n.formatYearDropdown(y,r);return{value:c(y),label:g,disabled:!1}})}function Uu(e,t={}){const{weekStartsOn:n,locale:r}=t,a=n??r?.options?.weekStartsOn??0,o=l=>{const c=typeof l=="number"||typeof l=="string"?new Date(l):l;return new ge(c.getFullYear(),c.getMonth(),c.getDate(),12,0,0,e)},i=l=>{const c=o(l);return new Date(c.getFullYear(),c.getMonth(),c.getDate(),0,0,0,0)};return{today:()=>o(ge.tz(e)),newDate:(l,c,d)=>new ge(l,c,d,12,0,0,e),startOfDay:l=>o(l),startOfWeek:(l,c)=>{const d=o(l),u=c?.weekStartsOn??a,f=(d.getDay()-u+7)%7;return d.setDate(d.getDate()-f),d},startOfISOWeek:l=>{const c=o(l),d=(c.getDay()-1+7)%7;return c.setDate(c.getDate()-d),c},startOfMonth:l=>{const c=o(l);return c.setDate(1),c},startOfYear:l=>{const c=o(l);return c.setMonth(0,1),c},endOfWeek:(l,c)=>{const d=o(l),y=(((c?.weekStartsOn??a)+6)%7-d.getDay()+7)%7;return d.setDate(d.getDate()+y),d},endOfISOWeek:l=>{const c=o(l),d=(7-c.getDay())%7;return c.setDate(c.getDate()+d),c},endOfMonth:l=>{const c=o(l);return c.setMonth(c.getMonth()+1,0),c},endOfYear:l=>{const c=o(l);return c.setMonth(11,31),c},eachMonthOfInterval:l=>{const c=o(l.start),d=o(l.end),u=[],f=new ge(c.getFullYear(),c.getMonth(),1,12,0,0,e),y=d.getFullYear()*12+d.getMonth();for(;f.getFullYear()*12+f.getMonth()<=y;)u.push(new ge(f,e)),f.setMonth(f.getMonth()+1,1);return u},addDays:(l,c)=>{const d=o(l);return d.setDate(d.getDate()+c),d},addWeeks:(l,c)=>{const d=o(l);return d.setDate(d.getDate()+c*7),d},addMonths:(l,c)=>{const d=o(l);return d.setMonth(d.getMonth()+c),d},addYears:(l,c)=>{const d=o(l);return d.setFullYear(d.getFullYear()+c),d},eachYearOfInterval:l=>{const c=o(l.start),d=o(l.end),u=[],f=new ge(c.getFullYear(),0,1,12,0,0,e);for(;f.getFullYear()<=d.getFullYear();)u.push(new ge(f,e)),f.setFullYear(f.getFullYear()+1,0,1);return u},getWeek:(l,c)=>{const d=i(l);return Nr(d,{weekStartsOn:c?.weekStartsOn??a,firstWeekContainsDate:c?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1})},getISOWeek:l=>{const c=i(l);return _r(c)},differenceInCalendarDays:(l,c)=>{const d=i(l),u=i(c);return vr(d,u)},differenceInCalendarMonths:(l,c)=>{const d=i(l),u=i(c);return bo(d,u)}}}const ln=e=>e instanceof HTMLElement?e:null,Kn=e=>[...e.querySelectorAll("[data-animated-month]")??[]],zu=e=>ln(e.querySelector("[data-animated-month]")),Xn=e=>ln(e.querySelector("[data-animated-caption]")),Qn=e=>ln(e.querySelector("[data-animated-weeks]")),qu=e=>ln(e.querySelector("[data-animated-nav]")),Vu=e=>ln(e.querySelector("[data-animated-weekdays]"));function Gu(e,t,{classNames:n,months:r,focused:a,dateLib:o}){const i=h.useRef(null),l=h.useRef(r),c=h.useRef(!1);h.useLayoutEffect(()=>{const d=l.current;if(l.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||d.length===0||r.length!==d.length)return;const u=o.isSameMonth(r[0].date,d[0].date),f=o.isAfter(r[0].date,d[0].date),y=f?n[Ne.caption_after_enter]:n[Ne.caption_before_enter],g=f?n[Ne.weeks_after_enter]:n[Ne.weeks_before_enter],p=i.current,b=e.current.cloneNode(!0);if(b instanceof HTMLElement?(Kn(b).forEach(k=>{if(!(k instanceof HTMLElement))return;const D=zu(k);D&&k.contains(D)&&k.removeChild(D);const C=Xn(k);C&&C.classList.remove(y);const M=Qn(k);M&&M.classList.remove(g)}),i.current=b):i.current=null,c.current||u||a)return;const x=p instanceof HTMLElement?Kn(p):[],v=Kn(e.current);if(v?.every(_=>_ instanceof HTMLElement)&&x&&x.every(_=>_ instanceof HTMLElement)){c.current=!0,e.current.style.isolation="isolate";const _=qu(e.current);_&&(_.style.zIndex="1"),v.forEach((k,D)=>{const C=x[D];if(!C)return;k.style.position="relative",k.style.overflow="hidden";const M=Xn(k);M&&M.classList.add(y);const A=Qn(k);A&&A.classList.add(g);const N=()=>{c.current=!1,e.current&&(e.current.style.isolation=""),_&&(_.style.zIndex=""),M&&M.classList.remove(y),A&&A.classList.remove(g),k.style.position="",k.style.overflow="",k.contains(C)&&k.removeChild(C)};C.style.pointerEvents="none",C.style.position="absolute",C.style.overflow="hidden",C.setAttribute("aria-hidden","true");const T=Vu(C);T&&(T.style.opacity="0");const O=Xn(C);O&&(O.classList.add(f?n[Ne.caption_before_exit]:n[Ne.caption_after_exit]),O.addEventListener("animationend",N));const S=Qn(C);S&&S.classList.add(f?n[Ne.weeks_before_exit]:n[Ne.weeks_after_exit]),k.insertBefore(C,k.firstChild)})}})}function Ku(e,t,n,r){const a=e[0],o=e[e.length-1],{ISOWeek:i,fixedWeeks:l,broadcastCalendar:c}=n??{},{addDays:d,differenceInCalendarDays:u,differenceInCalendarMonths:f,endOfBroadcastWeek:y,endOfISOWeek:g,endOfMonth:p,endOfWeek:b,isAfter:x,startOfBroadcastWeek:v,startOfISOWeek:_,startOfWeek:k}=r,D=c?v(a,r):i?_(a):k(a),C=c?y(o):i?g(p(o)):b(p(o)),M=t&&(c?y(t):i?g(t):b(t)),A=M&&x(C,M)?M:C,N=u(A,D),T=f(o,a)+1,O=[];for(let j=0;j<=N;j++){const E=d(D,j);O.push(E)}const W=(c?35:42)*T;if(l&&O.length<W){const j=W-O.length;for(let E=0;E<j;E++){const I=d(O[O.length-1],1);O.push(I)}}return O}function Xu(e){const t=[];return e.reduce((n,r)=>{const a=r.weeks.reduce((o,i)=>o.concat(i.days.slice()),t.slice());return n.concat(a.slice())},t.slice())}function Qu(e,t,n,r){const{numberOfMonths:a=1}=n,o=[];for(let i=0;i<a;i++){const l=r.addMonths(e,i);if(t&&l>t)break;o.push(l)}return o}function wa(e,t,n,r){const{month:a,defaultMonth:o,today:i=r.today(),numberOfMonths:l=1}=e;let c=a||o||i;const{differenceInCalendarMonths:d,addMonths:u,startOfMonth:f}=r;if(n&&d(n,c)<l-1){const y=-1*(l-1);c=u(n,y)}return t&&d(c,t)<0&&(c=t),f(c)}function Ju(e,t,n,r){const{addDays:a,endOfBroadcastWeek:o,endOfISOWeek:i,endOfMonth:l,endOfWeek:c,getISOWeek:d,getWeek:u,startOfBroadcastWeek:f,startOfISOWeek:y,startOfWeek:g}=r,p=e.reduce((b,x)=>{const v=n.broadcastCalendar?f(x,r):n.ISOWeek?y(x):g(x),_=n.broadcastCalendar?o(x):n.ISOWeek?i(l(x)):c(l(x)),k=t.filter(A=>A>=v&&A<=_),D=n.broadcastCalendar?35:42;if(n.fixedWeeks&&k.length<D){const A=t.filter(N=>{const T=D-k.length;return N>_&&N<=a(_,T)});k.push(...A)}const C=k.reduce((A,N)=>{const T=n.ISOWeek?d(N):u(N),O=A.find(W=>W.weekNumber===T),S=new Mo(N,x,r);return O?O.days.push(S):A.push(new Vd(T,[S])),A},[]),M=new qd(x,C);return b.push(M),b},[]);return n.reverseMonths?p.reverse():p}function Zu(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:a,startOfDay:o,startOfMonth:i,endOfMonth:l,addYears:c,endOfYear:d,newDate:u,today:f}=t,{fromYear:y,toYear:g,fromMonth:p,toMonth:b}=e;!n&&p&&(n=p),!n&&y&&(n=t.newDate(y,0,1)),!r&&b&&(r=b),!r&&g&&(r=u(g,11,31));const x=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=i(n):y?n=u(y,0,1):!n&&x&&(n=a(c(e.today??f(),-100))),r?r=l(r):g?r=u(g,11,31):!r&&x&&(r=d(e.today??f())),[n&&o(n),r&&o(r)]}function ef(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:o=1}=n,{startOfMonth:i,addMonths:l,differenceInCalendarMonths:c}=r,d=a?o:1,u=i(e);if(!t)return l(u,d);if(!(c(t,e)<o))return l(u,d)}function tf(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:o}=n,{startOfMonth:i,addMonths:l,differenceInCalendarMonths:c}=r,d=a?o??1:1,u=i(e);if(!t)return l(u,-d);if(!(c(u,t)<=0))return l(u,-d)}function nf(e){const t=[];return e.reduce((n,r)=>n.concat(r.weeks.slice()),t.slice())}function jn(e,t){const[n,r]=h.useState(e);return[t===void 0?n:t,r]}function rf(e,t){const[n,r]=Zu(e,t),{startOfMonth:a,endOfMonth:o}=t,i=wa(e,n,r,t),[l,c]=jn(i,e.month?i:void 0);h.useEffect(()=>{const D=wa(e,n,r,t);c(D)},[e.timeZone]);const{months:d,weeks:u,days:f,previousMonth:y,nextMonth:g}=h.useMemo(()=>{const D=Qu(l,r,{numberOfMonths:e.numberOfMonths},t),C=Ku(D,e.endMonth?o(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),M=Ju(D,C,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),A=nf(M),N=Xu(M),T=tf(l,n,e,t),O=ef(l,r,e,t);return{months:M,weeks:A,days:N,previousMonth:T,nextMonth:O}},[t,l.getTime(),r?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:p,onMonthChange:b}=e,x=D=>u.some(C=>C.days.some(M=>M.isEqualTo(D))),v=D=>{if(p)return;let C=a(D);n&&C<a(n)&&(C=a(n)),r&&C>a(r)&&(C=a(r)),c(C),b?.(C)};return{months:d,weeks:u,days:f,navStart:n,navEnd:r,previousMonth:y,nextMonth:g,goToMonth:v,goToDay:D=>{x(D)||v(D.date)}}}var Be;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(Be||(Be={}));function va(e){return!e[le.disabled]&&!e[le.hidden]&&!e[le.outside]}function af(e,t,n,r){let a,o=-1;for(const i of e){const l=t(i);va(l)&&(l[le.focused]&&o<Be.FocusedModifier?(a=i,o=Be.FocusedModifier):r?.isEqualTo(i)&&o<Be.LastFocused?(a=i,o=Be.LastFocused):n(i.date)&&o<Be.Selected?(a=i,o=Be.Selected):l[le.today]&&o<Be.Today&&(a=i,o=Be.Today))}return a||(a=e.find(i=>va(t(i)))),a}function of(e,t,n,r,a,o,i){const{ISOWeek:l,broadcastCalendar:c}=o,{addDays:d,addMonths:u,addWeeks:f,addYears:y,endOfBroadcastWeek:g,endOfISOWeek:p,endOfWeek:b,max:x,min:v,startOfBroadcastWeek:_,startOfISOWeek:k,startOfWeek:D}=i;let M={day:d,week:f,month:u,year:y,startOfWeek:A=>c?_(A,i):l?k(A):D(A),endOfWeek:A=>c?g(A):l?p(A):b(A)}[e](n,t==="after"?1:-1);return t==="before"&&r?M=x([r,M]):t==="after"&&a&&(M=v([a,M])),M}function Ro(e,t,n,r,a,o,i,l=0){if(l>365)return;const c=of(e,t,n.date,r,a,o,i),d=!!(o.disabled&&Xe(c,o.disabled,i)),u=!!(o.hidden&&Xe(c,o.hidden,i)),f=c,y=new Mo(c,f,i);return!d&&!u?y:Ro(e,t,y,r,a,o,i,l+1)}function sf(e,t,n,r,a){const{autoFocus:o}=e,[i,l]=h.useState(),c=af(t.days,n,r||(()=>!1),i),[d,u]=h.useState(o?c:void 0);return{isFocusTarget:b=>!!c?.isEqualTo(b),setFocused:u,focused:d,blur:()=>{l(d),u(void 0)},moveFocus:(b,x)=>{if(!d)return;const v=Ro(b,x,d,t.navStart,t.navEnd,e,a);v&&(e.disableNavigation&&!t.days.some(k=>k.isEqualTo(v))||(t.goToDay(v),u(v)))}}}function lf(e,t){const{selected:n,required:r,onSelect:a}=e,[o,i]=jn(n,a?n:void 0),l=a?n:o,{isSameDay:c}=t,d=g=>l?.some(p=>c(p,g))??!1,{min:u,max:f}=e;return{selected:l,select:(g,p,b)=>{let x=[...l??[]];if(d(g)){if(l?.length===u||r&&l?.length===1)return;x=l?.filter(v=>!c(v,g))}else l?.length===f?x=[g]:x=[...x,g];return a||i(x),a?.(x,g,p,b),x},isSelected:d}}function cf(e,t,n=0,r=0,a=!1,o=Ye){const{from:i,to:l}=t||{},{isSameDay:c,isAfter:d,isBefore:u}=o;let f;if(!i&&!l)f={from:e,to:n>0?void 0:e};else if(i&&!l)c(i,e)?n===0?f={from:i,to:e}:a?f={from:i,to:void 0}:f=void 0:u(e,i)?f={from:e,to:i}:f={from:i,to:e};else if(i&&l)if(c(i,e)&&c(l,e))a?f={from:i,to:l}:f=void 0;else if(c(i,e))f={from:i,to:n>0?void 0:e};else if(c(l,e))f={from:e,to:n>0?void 0:e};else if(u(e,i))f={from:e,to:l};else if(d(e,i))f={from:i,to:e};else if(d(e,l))f={from:i,to:e};else throw new Error("Invalid range");if(f?.from&&f?.to){const y=o.differenceInCalendarDays(f.to,f.from);r>0&&y>r?f={from:e,to:void 0}:n>1&&y<n&&(f={from:e,to:void 0})}return f}function df(e,t,n=Ye){const r=Array.isArray(t)?t:[t];let a=e.from;const o=n.differenceInCalendarDays(e.to,e.from),i=Math.min(o,6);for(let l=0;l<=i;l++){if(r.includes(a.getDay()))return!0;a=n.addDays(a,1)}return!1}function _a(e,t,n=Ye){return Ke(e,t.from,!1,n)||Ke(e,t.to,!1,n)||Ke(t,e.from,!1,n)||Ke(t,e.to,!1,n)}function uf(e,t,n=Ye){const r=Array.isArray(t)?t:[t];if(r.filter(l=>typeof l!="function").some(l=>typeof l=="boolean"?l:n.isDate(l)?Ke(e,l,!1,n):Co(l,n)?l.some(c=>Ke(e,c,!1,n)):Mn(l)?l.from&&l.to?_a(e,{from:l.from,to:l.to},n):!1:Do(l)?df(e,l.dayOfWeek,n):Sr(l)?n.isAfter(l.before,l.after)?_a(e,{from:n.addDays(l.after,1),to:n.addDays(l.before,-1)},n):Xe(e.from,l,n)||Xe(e.to,l,n):Mr(l)||jr(l)?Xe(e.from,l,n)||Xe(e.to,l,n):!1))return!0;const i=r.filter(l=>typeof l=="function");if(i.length){let l=e.from;const c=n.differenceInCalendarDays(e.to,e.from);for(let d=0;d<=c;d++){if(i.some(u=>u(l)))return!0;l=n.addDays(l,1)}}return!1}function ff(e,t){const{disabled:n,excludeDisabled:r,resetOnSelect:a,selected:o,required:i,onSelect:l}=e,[c,d]=jn(o,l?o:void 0),u=l?o:c;return{selected:u,select:(g,p,b)=>{const{min:x,max:v}=e;let _;if(g){const k=u?.from,D=u?.to,C=!!k&&!!D,M=!!k&&!!D&&t.isSameDay(k,D)&&t.isSameDay(g,k);a&&(C||!u?.from)?!i&&M?_=void 0:_={from:g,to:void 0}:_=cf(g,u,x,v,i,t)}return r&&n&&_?.from&&_.to&&uf({from:_.from,to:_.to},n,t)&&(_.from=g,_.to=void 0),l||d(_),l?.(_,g,p,b),_},isSelected:g=>u&&Ke(u,g,!1,t)}}function hf(e,t){const{selected:n,required:r,onSelect:a}=e,[o,i]=jn(n,a?n:void 0),l=a?n:o,{isSameDay:c}=t;return{selected:l,select:(f,y,g)=>{let p=f;return!r&&l&&l&&c(f,l)&&(p=void 0),a||i(p),a?.(p,f,y,g),p},isSelected:f=>l?c(l,f):!1}}function mf(e,t){const n=hf(e,t),r=lf(e,t),a=ff(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return a;default:return}}function Ce(e,t){return e instanceof ge&&e.timeZone===t?e:new ge(e,t)}function Et(e,t,n){return Ce(e,t)}function Na(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?Et(e,t):Array.isArray(e)?e.map(r=>r instanceof Date?Et(r,t):r):Mn(e)?{...e,from:e.from?Ce(e.from,t):e.from,to:e.to?Ce(e.to,t):e.to}:Sr(e)?{before:Et(e.before,t),after:Et(e.after,t)}:Mr(e)?{after:Et(e.after,t)}:jr(e)?{before:Et(e.before,t)}:e}function Jn(e,t,n){return e&&(Array.isArray(e)?e.map(r=>Na(r,t)):Na(e,t))}function yf(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=Ce(t.today,n)),t.month&&(t.month=Ce(t.month,n)),t.defaultMonth&&(t.defaultMonth=Ce(t.defaultMonth,n)),t.startMonth&&(t.startMonth=Ce(t.startMonth,n)),t.endMonth&&(t.endMonth=Ce(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=Ce(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(z=>Ce(z,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?Ce(t.selected.from,n):t.selected.from,to:t.selected.to?Ce(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=Jn(t.disabled,n)),t.hidden!==void 0&&(t.hidden=Jn(t.hidden,n)),t.modifiers)){const z={};Object.keys(t.modifiers).forEach(Z=>{z[Z]=Jn(t.modifiers?.[Z],n)}),t.modifiers=z}const{components:r,formatters:a,labels:o,dateLib:i,locale:l,classNames:c}=h.useMemo(()=>{const z={...So,...t.locale},Z=t.broadcastCalendar?1:t.weekStartsOn,B=t.noonSafe&&t.timeZone?Uu(t.timeZone,{weekStartsOn:Z,locale:z}):void 0,V=t.dateLib&&B?{...B,...t.dateLib}:t.dateLib??B,ye=new Se({locale:z,weekStartsOn:Z,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},V);return{dateLib:ye,components:_u(t.components),formatters:Eu(t.formatters),labels:Bu(t.labels,ye.options),locale:z,classNames:{...Su(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:i.today()});const{captionLayout:d,mode:u,navLayout:f,numberOfMonths:y=1,onDayBlur:g,onDayClick:p,onDayFocus:b,onDayKeyDown:x,onDayMouseEnter:v,onDayMouseLeave:_,onNextClick:k,onPrevClick:D,showWeekNumber:C,styles:M}=t,{formatCaption:A,formatDay:N,formatMonthDropdown:T,formatWeekNumber:O,formatWeekNumberHeader:S,formatWeekdayName:W,formatYearDropdown:j}=a,E=rf(t,i),{days:I,months:H,navStart:te,navEnd:Y,previousMonth:P,nextMonth:U,goToMonth:q}=E,ne=wu(I,t,te,Y,i),{isSelected:X,select:G,selected:J}=mf(t,i)??{},{blur:se,focused:ie,isFocusTarget:Ae,moveFocus:ot,setFocused:ke}=sf(t,E,ne,X??(()=>!1),i),{labelDayButton:Me,labelGridcell:Yt,labelGrid:Qe,labelMonthDropdown:He,labelNav:we,labelPrevious:st,labelNext:he,labelWeekday:me,labelWeekNumber:je,labelWeekNumberHeader:Fe,labelYearDropdown:Je}=o,Ze=h.useMemo(()=>Yu(i,t.ISOWeek,t.broadcastCalendar,t.today),[i,t.ISOWeek,t.broadcastCalendar,t.today]),ve=u!==void 0||p!==void 0,it=h.useCallback(()=>{P&&(q(P),D?.(P))},[P,q,D]),De=h.useCallback(()=>{U&&(q(U),k?.(U))},[q,U,k]),Ht=h.useCallback((z,Z)=>B=>{B.preventDefault(),B.stopPropagation(),ke(z),!Z.disabled&&(G?.(z.date,Z,B),p?.(z.date,Z,B))},[G,p,ke]),Ut=h.useCallback((z,Z)=>B=>{ke(z),b?.(z.date,Z,B)},[b,ke]),et=h.useCallback((z,Z)=>B=>{se(),g?.(z.date,Z,B)},[se,g]),ee=h.useCallback((z,Z)=>B=>{const V={ArrowLeft:[B.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[B.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[B.shiftKey?"year":"week","after"],ArrowUp:[B.shiftKey?"year":"week","before"],PageUp:[B.shiftKey?"year":"month","before"],PageDown:[B.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(V[B.key]){B.preventDefault(),B.stopPropagation();const[ye,Q]=V[B.key];ot(ye,Q)}x?.(z.date,Z,B)},[ot,x,t.dir]),_t=h.useCallback((z,Z)=>B=>{v?.(z.date,Z,B)},[v]),be=h.useCallback((z,Z)=>B=>{_?.(z.date,Z,B)},[_]),xe=h.useCallback(z=>Z=>{const B=Number(Z.target.value),V=i.setMonth(i.startOfMonth(z),B);q(V)},[i,q]),Nt=h.useCallback(z=>Z=>{const B=Number(Z.target.value),V=i.setYear(i.startOfMonth(z),B);q(V)},[i,q]),{className:lt,style:zt}=h.useMemo(()=>({className:[c[R.Root],t.className].filter(Boolean).join(" "),style:{...M?.[R.Root],...t.style}}),[c,t.className,t.style,M]),qt=Nu(t),St=h.useRef(null);Gu(St,!!t.animate,{classNames:c,months:H,focused:ie,dateLib:i});const Vt={dayPickerProps:t,selected:J,select:G,isSelected:X,months:H,nextMonth:U,previousMonth:P,goToMonth:q,getModifiers:ne,components:r,classNames:c,styles:M,labels:o,formatters:a};return F.createElement(jo.Provider,{value:Vt},F.createElement(r.Root,{rootRef:t.animate?St:void 0,className:lt,style:zt,dir:t.dir,id:t.id,lang:t.lang??l.code,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...qt},F.createElement(r.Months,{className:c[R.Months],style:M?.[R.Months]},!t.hideNavigation&&!f&&F.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[R.Nav],style:M?.[R.Nav],"aria-label":we(),onPreviousClick:it,onNextClick:De,previousMonth:P,nextMonth:U}),H.map((z,Z)=>F.createElement(r.Month,{"data-animated-month":t.animate?"true":void 0,className:c[R.Month],style:M?.[R.Month],key:Z,displayIndex:Z,calendarMonth:z},f==="around"&&!t.hideNavigation&&Z===0&&F.createElement(r.PreviousMonthButton,{type:"button",className:c[R.PreviousMonthButton],tabIndex:P?void 0:-1,"aria-disabled":P?void 0:!0,"aria-label":st(P),onClick:it,"data-animated-button":t.animate?"true":void 0},F.createElement(r.Chevron,{disabled:P?void 0:!0,className:c[R.Chevron],orientation:t.dir==="rtl"?"right":"left"})),F.createElement(r.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:c[R.MonthCaption],style:M?.[R.MonthCaption],calendarMonth:z,displayIndex:Z},d?.startsWith("dropdown")?F.createElement(r.DropdownNav,{className:c[R.Dropdowns],style:M?.[R.Dropdowns]},(()=>{const B=d==="dropdown"||d==="dropdown-months"?F.createElement(r.MonthsDropdown,{key:"month",className:c[R.MonthsDropdown],"aria-label":He(),classNames:c,components:r,disabled:!!t.disableNavigation,onChange:xe(z.date),options:$u(z.date,te,Y,a,i),style:M?.[R.Dropdown],value:i.getMonth(z.date)}):F.createElement("span",{key:"month"},T(z.date,i)),V=d==="dropdown"||d==="dropdown-years"?F.createElement(r.YearsDropdown,{key:"year",className:c[R.YearsDropdown],"aria-label":Je(i.options),classNames:c,components:r,disabled:!!t.disableNavigation,onChange:Nt(z.date),options:Hu(te,Y,a,i,!!t.reverseYears),style:M?.[R.Dropdown],value:i.getYear(z.date)}):F.createElement("span",{key:"year"},j(z.date,i));return i.getMonthYearOrder()==="year-first"?[V,B]:[B,V]})(),F.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},A(z.date,i.options,i))):F.createElement(r.CaptionLabel,{className:c[R.CaptionLabel],role:"status","aria-live":"polite"},A(z.date,i.options,i))),f==="around"&&!t.hideNavigation&&Z===y-1&&F.createElement(r.NextMonthButton,{type:"button",className:c[R.NextMonthButton],tabIndex:U?void 0:-1,"aria-disabled":U?void 0:!0,"aria-label":he(U),onClick:De,"data-animated-button":t.animate?"true":void 0},F.createElement(r.Chevron,{disabled:U?void 0:!0,className:c[R.Chevron],orientation:t.dir==="rtl"?"left":"right"})),Z===y-1&&f==="after"&&!t.hideNavigation&&F.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[R.Nav],style:M?.[R.Nav],"aria-label":we(),onPreviousClick:it,onNextClick:De,previousMonth:P,nextMonth:U}),F.createElement(r.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":Qe(z.date,i.options,i)||void 0,className:c[R.MonthGrid],style:M?.[R.MonthGrid]},!t.hideWeekdays&&F.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:c[R.Weekdays],style:M?.[R.Weekdays]},C&&F.createElement(r.WeekNumberHeader,{"aria-label":Fe(i.options),className:c[R.WeekNumberHeader],style:M?.[R.WeekNumberHeader],scope:"col"},S()),Ze.map(B=>F.createElement(r.Weekday,{"aria-label":me(B,i.options,i),className:c[R.Weekday],key:String(B),style:M?.[R.Weekday],scope:"col"},W(B,i.options,i)))),F.createElement(r.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:c[R.Weeks],style:M?.[R.Weeks]},z.weeks.map(B=>F.createElement(r.Week,{className:c[R.Week],key:B.weekNumber,style:M?.[R.Week],week:B},C&&F.createElement(r.WeekNumber,{week:B,style:M?.[R.WeekNumber],"aria-label":je(B.weekNumber,{locale:l}),className:c[R.WeekNumber],scope:"row",role:"rowheader"},O(B.weekNumber,i)),B.days.map(V=>{const{date:ye}=V,Q=ne(V);if(Q[le.focused]=!Q.hidden&&!!ie?.isEqualTo(V),Q[Pe.selected]=X?.(ye)||Q.selected,Mn(J)){const{from:Ue,to:ct}=J;Q[Pe.range_start]=!!(Ue&&ct&&i.isSameDay(ye,Ue)),Q[Pe.range_end]=!!(Ue&&ct&&i.isSameDay(ye,ct)),Q[Pe.range_middle]=Ke(J,ye,!0,i)}const Gt=Ru(Q,M,t.modifiersStyles),Mt=vu(Q,c,t.modifiersClassNames),jt=!ve&&!Q.hidden?Yt(ye,Q,i.options,i):void 0;return F.createElement(r.Day,{key:`${V.isoDate}_${V.displayMonthId}`,day:V,modifiers:Q,className:Mt.join(" "),style:Gt,role:"gridcell","aria-selected":Q.selected||void 0,"aria-label":jt,"data-day":V.isoDate,"data-month":V.outside?V.dateMonthId:void 0,"data-selected":Q.selected||void 0,"data-disabled":Q.disabled||void 0,"data-hidden":Q.hidden||void 0,"data-outside":V.outside||void 0,"data-focused":Q.focused||void 0,"data-today":Q.today||void 0},!Q.hidden&&ve?F.createElement(r.DayButton,{className:c[R.DayButton],style:M?.[R.DayButton],type:"button",day:V,modifiers:Q,disabled:!Q.focused&&Q.disabled||void 0,"aria-disabled":Q.focused&&Q.disabled||void 0,tabIndex:Ae(V)?0:-1,"aria-label":Me(ye,Q,i.options,i),onClick:Ht(V,Q),onBlur:et(V,Q),onFocus:Ut(V,Q),onKeyDown:ee(V,Q),onMouseEnter:_t(V,Q),onMouseLeave:be(V,Q)},N(ye,i.options,i)):!Q.hidden&&N(V.date,i.options,i))})))))))),t.footer&&F.createElement(r.Footer,{className:c[R.Footer],style:M?.[R.Footer],role:"status","aria-live":"polite"},t.footer)))}function Sa(e){if(!e)return"";const t=e.split("-");if(t.length!==3)return e;const n=new Date(Number(t[0]),Number(t[1])-1,Number(t[2]));return Number.isFinite(n.getTime())?Re(n,"MMM d"):e}function gf({from:e,to:t,onApply:n,onCancel:r}){const a=h.useMemo(()=>{const d={from:void 0,to:void 0};if(e){const u=e.split("-");d.from=new Date(Number(u[0]),Number(u[1])-1,Number(u[2]))}if(t){const u=t.split("-");d.to=new Date(Number(u[0]),Number(u[1])-1,Number(u[2]))}return d},[e,t]),[o,i]=h.useState(a),l=()=>{if(!o?.from)return;const d=Re(o.from,"yyyy-MM-dd"),u=o.to?Re(o.to,"yyyy-MM-dd"):d;n?.(d,u)},c=!!o?.from;return s.jsxs("div",{className:"p-4",children:[s.jsx(yf,{mode:"range",selected:o,onSelect:i,numberOfMonths:2,showOutsideDays:!1,classNames:{root:"rdp-oai",months:"flex gap-4",month:"space-y-3",month_caption:"flex justify-center items-center h-8",caption_label:"text-sm font-medium text-oai-black dark:text-oai-white",nav:"flex items-center justify-between absolute inset-x-0 top-0 px-2",button_previous:"inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",button_next:"inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",chevron:"w-4 h-4",month_grid:"border-collapse",weekdays:"flex",weekday:"w-9 text-center text-xs font-medium text-oai-gray-400 dark:text-oai-gray-500 py-1",week:"flex",day:"w-9 h-9 text-center text-sm p-0 relative",day_button:"w-full h-full inline-flex items-center justify-center rounded-md transition-colors hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 text-oai-black dark:text-oai-white cursor-pointer rdp-day-btn",today:"font-bold",selected:"rdp-selected",range_start:"rdp-selected rdp-range-start",range_end:"rdp-selected rdp-range-end",range_middle:"rdp-range-mid",outside:"text-oai-gray-300 dark:text-oai-gray-600",disabled:"text-oai-gray-300 dark:text-oai-gray-600 cursor-not-allowed",hidden:"invisible"},styles:{months:{position:"relative"}}}),s.jsxs("div",{className:"flex items-center justify-end gap-2 mt-4 pt-3 border-t border-oai-gray-200 dark:border-oai-gray-700",children:[c&&o.from&&s.jsxs("span",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mr-auto",children:[Re(o.from,"MMM d, yyyy"),o.to&&o.to.getTime()!==o.from.getTime()?` — ${Re(o.to,"MMM d, yyyy")}`:""]}),s.jsx(wn,{variant:"secondary",size:"sm",onClick:r,children:"Cancel"}),s.jsx(wn,{variant:"primary",size:"sm",onClick:l,disabled:!c,children:"Apply"})]})]})}const Ma={claude:290,codex:165},ja={system_prompt:{l:.55,c:.05},messages:{l:.65,c:.18},tool_calls:{l:.6,c:.14},custom_agents:{l:.55,c:.1},reasoning:{l:.7,c:.08}};function pf(e,t){const n=Ma[t]??Ma.claude,r=ja[e]||ja.system_prompt;return`oklch(${r.l} ${r.c} ${n})`}const bf=[{key:"system_prompt",from:["system_prefix"]},{key:"messages",from:["user_input","conversation_history","assistant_response"]},{key:"tool_calls",from:["tool_calls"]},{key:"custom_agents",from:["subagents"]},{key:"reasoning",from:["reasoning"]}],xf=[["by_type","dashboard.context_breakdown.exec_details.group_by_type"],["by_executable","dashboard.context_breakdown.exec_details.group_by_executable"],["by_command","dashboard.context_breakdown.exec_details.group_by_command"],["by_duration","dashboard.context_breakdown.exec_details.group_by_duration"],["by_output","dashboard.context_breakdown.exec_details.group_by_output"],["by_exit","dashboard.context_breakdown.exec_details.group_by_exit"]],kf={duration:.18,ease:[.4,0,.2,1]},wf={height:0,opacity:0},vf={height:"auto",opacity:1},_f={height:0,opacity:0};function Nf(e){const t=Number(e||0);return Number.isFinite(t)&&t>0?t:0}function Sf(e,t){const n={};for(const r of["input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens","total_tokens"])n[r]=Math.round(Number(e?.[r]||0)*t);return n}function Yo(e,t=null){const n=e.reduce((i,l)=>i+Number(l.totals.total_tokens||0),0),r=Nf(t),a=r||n,o=r&&n>0?r/n:1;return e.map(i=>{const l=o===1?i.totals:Sf(i.totals,o);return{...i,totals:l,percent:a>0?Number((l.total_tokens/a*100).toFixed(2)):0}}).sort((i,l)=>l.totals.total_tokens-i.totals.total_tokens)}function Mf(e,t=null){const n=new Map;for(const a of e||[])n.set(a.key,a);const r=bf.map(a=>{const o={input_tokens:0,cached_input_tokens:0,cache_creation_input_tokens:0,output_tokens:0,reasoning_output_tokens:0,total_tokens:0};for(const i of a.from){const l=n.get(i);if(!l)continue;const c=l.totals||{};o.input_tokens+=c.input_tokens||0,o.cached_input_tokens+=c.cached_input_tokens||0,o.cache_creation_input_tokens+=c.cache_creation_input_tokens||0,o.output_tokens+=c.output_tokens||0,o.reasoning_output_tokens+=c.reasoning_output_tokens||0,o.total_tokens+=c.total_tokens||0}return{key:a.key,totals:o}});return Yo(r,t)}function jf(e,t=null){const n=e?.totals||{},r=Number(n.reasoning_output_tokens||0),a=(e?.tool_calls_breakdown?.categories||[]).reduce((d,u)=>u?.name==="Text Response"?d:d+Number(u?.totals?.total_tokens||0),0),o=Number(n.total_tokens||0),i=Math.min(Math.max(0,a),Math.max(0,o-r)),c=[{key:"messages",totals:{total_tokens:Math.max(0,o-r-i)}},{key:"tool_calls",totals:{total_tokens:i}},{key:"reasoning",totals:{total_tokens:r}}];return Yo(c,t)}function Da(e){return m(`dashboard.context_breakdown.category.${e}`)}function bt(e){return!Number.isFinite(Number(e))||Number(e)<=0?"0":Oe(Number(e),{decimals:1})}function Df(e){return typeof e!="string"?"":e.startsWith("mcp__")?e.split("__").slice(2).join("__")||e:e.includes("/")&&e.split("/").pop()||e}function Cf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||null,r=Number(n?n.input_tokens||0:t?.input_tokens||0),a=Number(n?n.output_tokens||0:t?.output_tokens||0),o=Number(n?n.cached_input_tokens||0:t?.cache_read||0),i=Number(n?n.cache_creation_input_tokens||0:t?.cache_creation||0),l=Number(n?n.total_tokens||r+a:t?.total_tokens||a);return{name:Df(t?.name?String(t.name):""),calls:Number(t?.calls||0),input_tokens:r,output_tokens:a,cache_read:o,cache_creation:i,total_tokens:Number(l||0)}}).filter(t=>t.name).sort((t,n)=>(n.total_tokens||0)-(t.total_tokens||0))}function Tf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},r=Array.isArray(t?.tools)?t.tools:[],a=Number(n.input_tokens||0),o=Number(n.output_tokens||0),i=Number(n.cached_input_tokens||0),l=Number(n.cache_creation_input_tokens||0);return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),totals:{input_tokens:a,output_tokens:o,cached_input_tokens:i,cache_creation_input_tokens:l,total_tokens:Number(n.total_tokens||a+o)},tools:Cf(r),toolCount:r.length}}).filter(t=>t.name).sort((t,n)=>(n.totals.total_tokens||0)-(t.totals.total_tokens||0))}function Of(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},r=Number(n.input_tokens||0),a=Number(n.output_tokens||0),o=Number(n.cached_input_tokens||0),i=Number(n.cache_creation_input_tokens||0);return{key:t?.key?String(t.key):"",name:t?.name?String(t.name):"",totals:{input_tokens:r,output_tokens:a,cached_input_tokens:o,cache_creation_input_tokens:i,total_tokens:Number(n.total_tokens||r+a+o+i)}}}).filter(t=>t.key||t.name).sort((t,n)=>(n.totals.total_tokens||0)-(t.totals.total_tokens||0))}function Af(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{};return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),total_tokens:Number(n.total_tokens||0)}}).filter(t=>t.name).sort((t,n)=>Number(n.total_tokens||0)-Number(t.total_tokens||0))}function Ff(e){if(e?.key){const t=m(`dashboard.context_breakdown.message_details.${e.key}`);if(t&&!t.includes("dashboard.context_breakdown"))return t}return e?.name||""}function Ef(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},r=Number(n.input_tokens||0),a=Number(n.output_tokens||0),o=Number(n.cached_input_tokens||0),i=Number(n.cache_creation_input_tokens||0);return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),failures:Number(t?.failures||0),duration_ms:Number(t?.duration_ms||0),max_duration_ms:Number(t?.max_duration_ms||0),output_chars:Number(t?.output_chars||0),output_lines:Number(t?.output_lines||0),totals:{input_tokens:r,output_tokens:a,cached_input_tokens:o,cache_creation_input_tokens:i,total_tokens:Number(n.total_tokens||r+a)}}}).filter(t=>t.name).sort((t,n)=>Number(n.totals.total_tokens||0)-Number(t.totals.total_tokens||0))}function Ca(e){const t=Number(e||0);return!Number.isFinite(t)||t<=0?"0ms":t<1e3?`${Math.round(t)}ms`:t<6e4?`${(t/1e3).toFixed(1)}s`:`${Math.round(t/1e3)}s`}function Wf(e,t){return e?t==="by_executable"?e.by_executable||[]:t==="by_command"?e.by_command||[]:t==="by_duration"?e.by_duration||[]:t==="by_output"?e.by_output||[]:t==="by_exit"?e.by_exit||[]:e.by_type||[]:[]}function Ta(e){return e==="exec_command"||e==="Bash"}function Ho(e){return e==="codex"?"dashboard.context_breakdown.empty_codex":"dashboard.context_breakdown.empty"}function If(e){return e==="codex"?"dashboard.context_breakdown.error_codex":"dashboard.context_breakdown.error"}function Pf(e){return e==="codex"?"dashboard.context_breakdown.footnote_codex":"dashboard.context_breakdown.footnote"}const Lf=10;function It({level:e=0,colorSquare:t=null,label:n,labelSuffix:r=null,labelTone:a="default",hasChevron:o=!1,open:i=!1,onToggle:l,tokens:c,percent:d=null,children:u,share:f=null,fillColor:y=null}){const g=a==="accent"?"text-oai-brand truncate":a==="muted"?"text-oai-gray-500 dark:text-oai-gray-400 truncate":a==="strong"?"font-medium text-oai-black dark:text-oai-white truncate":"text-oai-gray-700 dark:text-oai-gray-300 truncate",p=s.jsx("span",{className:"shrink-0 flex items-center justify-start",style:{width:Lf},"aria-hidden":!t,children:t}),b=s.jsxs(s.Fragment,{children:[p,s.jsx("span",{className:g,children:n}),r,o&&s.jsx(pe.span,{animate:{rotate:i?90:0},transition:{duration:.15},className:"shrink-0 text-oai-gray-400 dark:text-oai-gray-500 flex items-center","aria-hidden":"true",children:s.jsx(dl,{size:11})})]}),x=y&&f!=null&&f>0,v=x?Math.max(0,Math.min(100,f)):0;return s.jsxs("li",{className:"min-w-0 group/row",children:[s.jsxs("div",{className:"relative grid grid-cols-[minmax(0,1fr)_64px_48px] items-center gap-2 text-xs py-1 px-1 rounded-sm transition-colors duration-150",style:x?{backgroundImage:`linear-gradient(to right, ${y.replace(/\)\s*$/," / 0.10)")} 0%, ${y.replace(/\)\s*$/," / 0.10)")} ${v}%, transparent ${v}%)`}:void 0,children:[o?s.jsx("button",{type:"button",onClick:l,"aria-expanded":i,className:"relative flex items-center gap-1.5 min-w-0 text-left cursor-pointer focus-visible:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-oai-brand/40 rounded-sm",children:b}):s.jsx("div",{className:"relative flex items-center gap-1.5 min-w-0",children:b}),s.jsx("span",{className:"relative text-right tabular-nums text-oai-gray-500 dark:text-oai-gray-400",children:c||""}),s.jsx("span",{className:"relative text-right tabular-nums text-[10px] text-oai-gray-400 dark:text-oai-gray-500 font-normal",children:d||""})]}),o&&u?s.jsx(br,{initial:!1,children:i&&s.jsx(pe.div,{initial:wf,animate:vf,exit:_f,transition:kf,style:{overflow:"hidden"},children:u},"content")}):null]})}function Oa({execDetails:e,source:t="claude"}){const[n,r]=h.useState("by_type"),a=Ef(Wf(e,n)),o=t==="codex",i=o?"grid-cols-[minmax(0,1fr)_48px_48px_72px_72px_60px_60px]":"grid-cols-[minmax(0,1fr)_56px_60px]";return s.jsxs("div",{className:"mt-2 ml-4",children:[s.jsx("div",{className:"flex flex-wrap items-center gap-1 rounded-md bg-oai-gray-100 dark:bg-oai-gray-900 p-1 w-fit max-w-full",children:xf.map(([l,c])=>s.jsx("button",{type:"button",onClick:()=>r(l),className:"h-7 px-2 rounded-md text-[10px] font-medium transition-colors "+(n===l?"bg-oai-white dark:bg-oai-gray-800 text-oai-black dark:text-oai-white shadow-sm":"text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-white/70 dark:hover:bg-oai-gray-800/70"),children:m(c)},l))}),a.length===0?s.jsx("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:"—"}):s.jsx("div",{className:"mt-2 overflow-x-auto",children:s.jsxs("div",{role:"table","aria-label":m("dashboard.context_breakdown.exec_details.title"),className:o?"min-w-[420px]":"min-w-[260px]",children:[s.jsxs("div",{role:"row",className:`grid ${i} gap-2 py-1.5 mb-1 border-b border-oai-gray-200 dark:border-oai-gray-800 text-label uppercase text-oai-gray-500 dark:text-oai-gray-400`,children:[s.jsx("span",{role:"columnheader",children:m("dashboard.context_breakdown.exec_details.kind_column")}),s.jsx("span",{role:"columnheader",className:"text-right",children:m("dashboard.context_breakdown.exec_details.calls_column")}),o&&s.jsxs(s.Fragment,{children:[s.jsx("span",{role:"columnheader",className:"text-right",children:m("dashboard.context_breakdown.exec_details.failures_column")}),s.jsx("span",{role:"columnheader",className:"text-right",children:m("dashboard.context_breakdown.exec_details.duration_column")}),s.jsx("span",{role:"columnheader",className:"text-right",children:m("dashboard.context_breakdown.exec_details.max_duration_column")})]}),s.jsx("span",{role:"columnheader",className:"text-right",children:m("dashboard.context_breakdown.tool_details.total_column")}),o&&s.jsx("span",{role:"columnheader",className:"text-right",children:m("dashboard.context_breakdown.exec_details.output_column")})]}),a.map((l,c)=>s.jsxs(pe.div,{role:"row",className:`grid ${i} gap-2 py-1.5`,title:l.name,initial:{opacity:0},animate:{opacity:1},transition:{duration:.18,delay:c*.02},children:[s.jsx("span",{role:"cell",className:"min-w-0 text-body-sm font-medium text-oai-black dark:text-oai-white truncate",children:l.name}),s.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Oe(l.calls||0)}),o&&s.jsxs(s.Fragment,{children:[s.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Oe(l.failures||0)}),s.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Ca(l.duration_ms||0)}),s.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Ca(l.max_duration_ms||0)})]}),s.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:bt(l.totals.total_tokens||0)}),o&&s.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Oe(l.output_lines||0)})]},l.name))]})})]})}function Aa({toolSet:e,execDetails:t,source:n,codexQueueFallback:r}){const[a,o]=h.useState({}),[i,l]=h.useState(!1),c=Tf(e?.categories||[]);function d(u){o(f=>({...f,[u]:!f[u]}))}return c.length===0?s.jsx("p",{className:"text-[11px] text-oai-gray-400 dark:text-oai-gray-500 py-0.5",children:n==="codex"&&r?m("dashboard.context_breakdown.tool_details.unavailable_codex"):m(Ho(n))}):s.jsx("ul",{className:"mt-0.5 mb-0.5 space-y-0.5",children:c.map(u=>{const f=u.toolCount>0,y=u.name==="Execution"&&t,g=y&&u.tools.some(b=>Ta(b.name)),p=!!a[u.name];return s.jsxs(It,{level:1,label:u.name,labelTone:"strong",hasChevron:f||y&&!g,open:p||y&&!g&&i,onToggle:()=>{f?d(u.name):y&&!g&&l(b=>!b)},tokens:bt(u.totals.total_tokens||0),percent:null,children:[f&&s.jsx("ul",{className:"space-y-0.5",children:u.tools.map(b=>{const x=y&&Ta(b.name);return s.jsx(It,{level:2,label:b.name,labelTone:x?"accent":"default",hasChevron:x,open:i,onToggle:()=>l(v=>!v),tokens:bt(b.total_tokens||0),percent:null,children:x&&s.jsx(Oa,{execDetails:t,source:n})},b.name)})}),y&&!g&&s.jsx(Oa,{execDetails:t,source:n})]},u.name)})})}function Bf({from:e,to:t,source:n="claude",referenceTotalTokens:r=null,onLoadingChange:a=null}){const[o,i]=h.useState(null),[l,c]=h.useState(!1),[d,u]=h.useState(null),[f,y]=h.useState({});function g(S){y(W=>({...W,[S]:!W[S]}))}if(h.useEffect(()=>{let S=!1;return c(!0),a?.(!0),u(null),Fi({from:e,to:t,source:n,timeZone:Ja(),tzOffsetMinutes:Qa()}).then(W=>{S||i(W)}).catch(W=>{S||u(W?.message||String(W))}).finally(()=>{S||(c(!1),a?.(!1))}),()=>{S=!0}},[e,t,n]),l&&!o)return s.jsxs("div",{children:[s.jsx("div",{className:"h-1 w-full bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden animate-pulse"}),s.jsx("div",{className:"mt-3 grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-2",children:[0,1,2,3,4].map(S=>s.jsx("div",{className:"h-3 rounded bg-oai-gray-100 dark:bg-oai-gray-800 animate-pulse",style:{animationDelay:`${S*80}ms`}},S))}),s.jsx("p",{className:"mt-3 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:m("dashboard.context_breakdown.loading_hint")})]});if(d)return s.jsx("p",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:m(If(n))});if(!o||o.scope!=="supported"||!o.totals?.total_tokens)return s.jsx("p",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:m(Ho(n))});const p=n==="claude"?Mf(o.categories||[],r):jf(o,r),b=o.tool_calls_breakdown||null,x=o.skills_breakdown||null,v=o.message_breakdown||null,_=o.configured_resources||null,k=o.exec_command_breakdown||null,D=Af(x?.skills||[]),C=Of(v?.categories||[]),M=n==="codex"&&(o?.breakdown_status==="queue_fallback"||o?.fallback==="queue_totals"),A=n==="claude"?b?.tool_calls||null:b||null,N=n==="claude"&&b?.subagents||null,T=N?.categories?.length>0||(_?.custom_agents_count||0)>0,O=[...p].sort((S,W)=>(W.totals?.total_tokens||0)-(S.totals?.total_tokens||0));return s.jsxs("div",{role:"region","aria-label":m("dashboard.context_breakdown.bar_aria",{summary:p.filter(S=>S.percent>0).map(S=>`${Da(S.key)} ${S.percent}%`).join(",")}),children:[s.jsxs("ul",{className:"space-y-0.5",children:[O.map(S=>{const W=S.key==="system_prompt",j=S.key==="messages",E=S.key==="tool_calls",I=S.key==="custom_agents";S.key;const H=j&&C.length>0||E&&(A?.categories?.length>0||M)||I&&T&&N,te=!!f[S.key],Y=pf(S.key,n),P=s.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0",style:{backgroundColor:Y},"aria-hidden":"true"}),U=W?s.jsxs("span",{className:"relative inline-flex shrink-0 group",children:[s.jsx(no,{size:11,className:"text-oai-gray-400 dark:text-oai-gray-500 cursor-help","aria-hidden":"true"}),s.jsx("span",{role:"tooltip",className:"pointer-events-none absolute left-1/2 bottom-full z-20 mb-1.5 -translate-x-1/2 w-64 rounded-md border border-oai-gray-200 dark:border-oai-gray-700 bg-oai-white dark:bg-oai-gray-900 px-2.5 py-1.5 text-[11px] leading-snug text-oai-gray-700 dark:text-oai-gray-200 shadow-md opacity-0 group-hover:opacity-100 transition-opacity",children:m("dashboard.context_breakdown.system_prefix_tooltip")})]}):null,q=S.percent>0?`${S.percent.toFixed(S.percent<.1&&S.percent>0?2:1)}%`:"0.0%";return s.jsxs(It,{level:0,colorSquare:P,label:Da(S.key),labelSuffix:U,tokens:bt(S.totals?.total_tokens||0),percent:q,hasChevron:H,open:te,onToggle:()=>g(S.key),share:S.percent,fillColor:Y,children:[j&&s.jsx("ul",{className:"space-y-0.5",children:C.map(ne=>s.jsx(It,{level:1,label:Ff(ne),tokens:bt(ne.totals.total_tokens||0),percent:null},ne.key||ne.name))}),E&&A&&s.jsx(Aa,{toolSet:A,execDetails:k,source:n,codexQueueFallback:M}),E&&M&&!A&&s.jsx("p",{className:"text-[11px] text-oai-gray-400 dark:text-oai-gray-500 py-0.5",children:m("dashboard.context_breakdown.tool_details.unavailable_codex")}),I&&N&&s.jsx(Aa,{toolSet:N,execDetails:null,source:n,codexQueueFallback:!1})]},S.key)}),D.length>0&&s.jsx(It,{level:0,colorSquare:s.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:m("dashboard.context_breakdown.category.skills"),tokens:bt(D.reduce((S,W)=>S+(W.total_tokens||0),0)),percent:null,hasChevron:!0,open:!!f.skills,onToggle:()=>g("skills"),children:s.jsx("ul",{className:"space-y-0.5",children:D.slice(0,12).map(S=>s.jsx(It,{level:1,label:S.name,tokens:bt(S.total_tokens),percent:null},S.name))})})]}),s.jsx("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:m(Pf(n))}),M?s.jsx("p",{className:"mt-2 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:m("dashboard.context_breakdown.tool_details.unavailable_codex")}):null,_?s.jsxs("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:[Oe(_.skills_count||0)," skills ·"," ",Oe(_.mcp_servers_count||0)," MCP servers ·"," ",Oe(_.custom_agents_count||0)," agents ·"," ",Oe(_.memory_files_count||0)," memory files"]}):null]})}function Uo(e){if(!Number.isFinite(Number(e)))return null;const t=Number(e);return t<=0?null:Oe(t,{decimals:1})}function zo(e){const t=Number(e);return!Number.isFinite(t)||t<=0?null:t<.01?"<$0.01":Sn(t.toFixed(2),{decimals:2})}function $f(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?{key:t,label:Fa(t)}:{key:t.key,label:t.label||Fa(t.key)}):[]}function Rf(e){if(typeof e!="string")return null;const t=e.replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);if(!t)return null;const n=Number(t[0]);return Number.isFinite(n)?n:null}const Yf={CODEX:"#10b981",CLAUDE:"#8b5cf6",OPENCODE:"#f59e0b",GEMINI:"#3b82f6",KIMI:"#a78bfa","KILO-CLI":"#facc15","KILO-CODE":"#facc15"};function Zn(e,t){const n=e?.toUpperCase?.()||"";return Yf[n]||`hsl(${150+t*40}, 60%, 45%)`}function Hf(e){const t=String(e?.source||"").trim().toLowerCase(),n=String(e?.label||"").trim().toLowerCase();return t==="claude"||n==="claude"?"claude":t==="codex"||n==="codex"?"codex":null}const Uf={day:"usage.period.day",week:"usage.period.week",month:"usage.period.month",total:"usage.period.total",custom:"usage.period.custom"};function Fa(e){const t=Uf[e];return t?m(t):String(e).toUpperCase()}function zf({loading:e,onClick:t}){const n=kr();return s.jsx(wn,{variant:"secondary",size:"sm",disabled:e,onClick:t,"aria-label":m("usage.button.refresh"),className:"w-8 p-0",children:s.jsx(pe.span,{"aria-hidden":"true",animate:e?{rotate:360}:{rotate:0},transition:e&&!n?{duration:1,repeat:1/0,ease:"linear"}:{duration:.3},style:{display:"inline-block"},children:"↻"})})}function qf({period:e,periods:t,onPeriodChange:n,summaryValue:r,summaryLabel:a,summaryCostValue:o,onCostInfo:i,fleetData:l=[],onRefresh:c,loading:d,className:u="",customFrom:f,customTo:y,onCustomRangeApply:g,customRangeOpen:p,onCustomRangeOpenChange:b,onOpenShare:x,from:v,to:_}){const k=$f(t),D=Rf(String(r??"")),C=D!=null,[M,A]=h.useState(null),{resolvedTheme:N}=Xa(),T=N==="dark",O=T?"rgba(10,10,10,0.98)":"rgba(255,255,255,0.96)",S=T?"rgba(10,10,10,0)":"rgba(255,255,255,0)",W=l.filter(j=>j.models?.length>0);return s.jsxs(xr,{className:u,children:[s.jsxs("div",{className:"flex items-center justify-between gap-3 mb-6",children:[s.jsx("div",{role:"tablist","aria-label":m("usage.overview.tablist_aria"),className:"flex gap-1",children:k.map(j=>{const E=e===j.key,I=`text-xs font-medium px-3 py-1.5 rounded-md transition-colors ${E?"text-oai-black dark:text-oai-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-500 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800"}`;if(j.key==="custom"){const H=E&&f&&y?`${Sa(f)} — ${Sa(y)}`:j.label;return s.jsxs(rl,{open:p,onOpenChange:te=>{te?n?.("custom"):b?.(te)},children:[s.jsx(al,{render:s.jsx("button",{role:"tab","aria-selected":E,type:"button",className:I}),children:H}),s.jsx(ol,{children:s.jsx(sl,{sideOffset:8,side:"bottom",align:"start",className:"!z-[9999]",children:s.jsx(il,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:s.jsx(gf,{from:f,to:y,onApply:g,onCancel:()=>b?.(!1)})})})})]},"custom")}return s.jsx("button",{role:"tab","aria-selected":E,type:"button",className:I,onClick:()=>n?.(j.key),children:j.label},j.key)})}),s.jsxs("div",{className:"flex items-center gap-1.5",children:[x?s.jsxs("button",{type:"button",onClick:x,"aria-label":m("share.button.aria"),className:"inline-flex items-center justify-center gap-1.5 h-8 px-3 text-xs font-medium rounded-md border border-oai-gray-300 dark:border-oai-gray-700 bg-oai-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white hover:border-oai-brand hover:text-oai-brand transition-colors duration-200",children:[s.jsx(hl,{className:"h-3.5 w-3.5",strokeWidth:2}),m("share.button.label")]}):null,c&&s.jsx(zf,{loading:d,onClick:c})]})]}),s.jsxs("div",{className:"text-center mb-8",children:[s.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wider mb-3",children:a}),s.jsx("div",{className:"text-6xl md:text-7xl font-bold text-oai-black dark:text-oai-white tracking-tight tabular-nums",children:C?s.jsx(mc,{value:D,displayValue:r,fontSize:72,padding:6,gap:1,textColor:"var(--oai-black, #111827)",fontWeight:700,gradientHeight:T?0:8,gradientFrom:O,gradientTo:S,counterStyle:{paddingLeft:0,paddingRight:0,gap:0},digitStyle:{width:"0.88ch"}}):r}),o&&s.jsx("div",{className:"flex items-center justify-center gap-2 mt-4",children:i?s.jsxs("button",{type:"button",onClick:i,className:"inline-flex items-center gap-1.5 text-xl font-bold text-oai-brand hover:text-oai-brand-dark dark:hover:text-oai-brand-light transition-colors cursor-pointer","aria-label":m("usage.overview.cost_breakdown_aria"),children:[o,s.jsx(no,{size:16,strokeWidth:2,className:"opacity-80"})]}):s.jsx("span",{className:"text-xl font-bold text-oai-brand",children:o})})]}),W.length>0&&s.jsxs("div",{className:"space-y-6",children:[s.jsx("div",{role:"img","aria-label":m("usage.overview.distribution_aria",{items:W.map(j=>m("usage.overview.distribution_item",{label:j.label,percent:j.totalPercent})).join(",")}),className:"h-1.5 w-full bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden flex",children:W.map((j,E)=>{const I=Zn(j.label,E);return s.jsx(pe.div,{initial:{width:0},animate:{width:`${j.totalPercent}%`},transition:{duration:.5,delay:.45+E*.04,ease:[.16,1,.3,1]},className:"h-full",style:{backgroundColor:I},title:`${j.label}: ${j.totalPercent}%`},j.label)})}),s.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 xl:grid-cols-5 gap-3",children:W.map((j,E)=>{const I=Zn(j.label,E),H=M===j.label;return s.jsxs("button",{"aria-expanded":H,"aria-controls":`provider-details-${j.label}`,"aria-label":m("usage.overview.provider_card_aria",{provider:j.label,percent:j.totalPercent,tokens:Uo(j.usage)||"0",cost:zo(j.usd)||"$0",action:m(H?"usage.overview.collapse":"usage.overview.expand")}),onClick:()=>A(H?null:j.label),className:`min-w-0 text-left p-3 rounded-lg border transition-colors duration-200 ${H?"border-oai-gray-300 dark:border-oai-gray-600 bg-oai-gray-50 dark:bg-oai-gray-800":"border-oai-gray-200 dark:border-oai-gray-700 hover:border-oai-gray-300 dark:hover:border-oai-gray-600"}`,children:[s.jsxs("div",{className:"flex items-center gap-1.5 mb-1",children:[s.jsx(to,{provider:j.label,size:15,color:I,className:"text-oai-gray-700 dark:text-oai-gray-300 shrink-0"}),s.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-oai-white",children:j.label})]}),s.jsxs("div",{className:"text-lg font-semibold text-oai-black dark:text-oai-white tabular-nums",children:[j.totalPercent,"%"]}),s.jsx("div",{className:"mt-0.5 text-[11px] text-oai-gray-400 dark:text-oai-gray-400 tabular-nums",children:m("usage.overview.model_count",{count:j.models.length})})]},j.label)})}),M&&s.jsx("div",{id:`provider-details-${M}`,role:"region","aria-label":m("usage.overview.model_details_aria",{provider:M}),className:"mt-2",children:W.filter(j=>j.label===M).map(j=>{const E=Zn(j.label,0),I=Hf(j),H=[...j.models].sort((Y,P)=>(P.share||0)-(Y.share||0)),te=I?`${I==="claude"?"Claude":"Codex"} Context Breakdown`:j.label;return s.jsx(Vf,{provider:j,color:E,providerHeading:te,contextSource:I,from:v,to:_,sortedModels:H},j.label)})})]})]})}function Vf({provider:e,color:t,providerHeading:n,contextSource:r,from:a,to:o,sortedModels:i}){const[l,c]=h.useState(!1);return s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-1.5 mb-3",children:[s.jsx(to,{provider:e.label,size:14,color:t,className:"shrink-0"}),s.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-oai-white",children:n}),r&&l&&s.jsx(ll,{size:12,className:"text-oai-gray-400 dark:text-oai-gray-500 animate-spin shrink-0","aria-label":m("dashboard.context_breakdown.loading_aria")})]}),r?s.jsx("div",{className:"mb-4 pb-4 border-b border-oai-gray-200 dark:border-oai-gray-700",children:s.jsx(Bf,{from:a,to:o,source:r,referenceTotalTokens:e.usage,onLoadingChange:c})}):null,s.jsx("div",{className:"space-y-3",children:i.map(d=>{const u=Uo(d.usage),f=zo(d.cost),y=Math.max(0,Math.min(100,Number(d.share)||0));return s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-baseline gap-4 mb-1.5",children:[s.jsx("span",{className:"flex-1 min-w-0 text-sm text-oai-gray-700 dark:text-oai-gray-300 truncate",title:d.name,children:d.name}),s.jsx("span",{className:"shrink-0 w-16 text-right text-sm text-oai-gray-500 dark:text-oai-gray-400 tabular-nums",children:u}),s.jsx("span",{className:"shrink-0 w-16 text-right text-sm text-oai-gray-500 dark:text-oai-gray-400 tabular-nums",children:f}),s.jsxs("span",{className:"shrink-0 w-12 text-right text-sm text-oai-black dark:text-oai-white tabular-nums",children:[d.share,"%"]})]}),s.jsx("div",{className:"h-[3px] bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden",role:"progressbar","aria-valuenow":y,"aria-valuemin":0,"aria-valuemax":100,children:s.jsx("div",{className:"h-full transition-[width] duration-500 ease-out",style:{width:`${y}%`,backgroundColor:t,opacity:.45}})})]},d.id||d.name)})})]})}function Ea(e,t){if(!Array.isArray(e)||e.length===0)return 0;if(e.length===1)return e[0];const n=(e.length-1)*t,r=Math.floor(n),a=Math.ceil(n);if(r===a)return e[r];const o=n-r;return e[r]+(e[a]-e[r])*o}function Gf(e){const t=Array.isArray(e)?e.filter(a=>Number.isFinite(a)&&a>0).sort((a,o)=>a-o):[];if(t.length===0)return{rawMax:0,effectiveMax:1,clippedValues:Array.isArray(e)?e.map(()=>0):[]};const n=t.at(-1)??0;let r=n;if(t.length>=4){const a=Ea(t,.25),o=Ea(t,.75),i=Math.max(o-a,0),l=o+i*1.5;n>l&&(r=Math.max(l,o,1))}return{rawMax:n,effectiveMax:Math.max(r,1),clippedValues:Array.isArray(e)?e.map(a=>!Number.isFinite(a)||a<=0?0:Math.min(a,Math.max(r,1))):[]}}function Kf({value:e,displayValue:t,scale:n,index:r,row:a,totalBars:o}){const i=kr(),l=n.effectiveMax>0?t/n.effectiveMax*100:0,c=`${Math.max(l,2)}%`,d=a?.missing,u=a?.future,f=o<=7?"6px":o<=14?"4px":"3px";return s.jsx(pe.div,{className:"group relative flex-1 self-stretch",initial:{opacity:0,scaleY:0},animate:{opacity:1,scaleY:1},transition:{duration:i?0:.3,delay:i?0:.4+r*.008,ease:[.16,1,.3,1]},style:{originY:1},children:s.jsxs("div",{className:"absolute inset-x-0 bottom-0",style:{height:c},children:[s.jsx("div",{"data-trend-bar":"true",className:"h-full w-full cursor-pointer transition-all duration-200 group-hover:brightness-110",style:{minHeight:e>0?"4px":"2px",opacity:d||u?.2:1,borderRadius:`${f} ${f} 0 0`,background:e>0?"#10b981":"var(--oai-gray-100)"},title:`${e.toLocaleString()}`}),s.jsx("div",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-oai-black text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-20",children:e.toLocaleString()})]})})}function Xf({rows:e,from:t,to:n,period:r,timeZoneLabel:a,showTimeZoneLabel:o=!0,className:i=""}){const l=Array.isArray(e)&&e.length?e:[],c=l.map(u=>{if(u?.missing||u?.future)return 0;const f=u?.billable_total_tokens??u?.total_tokens??u?.value;if(f==null)return 0;const y=Number(f);return Number.isFinite(y)?y:0}),d=Gf(c);return s.jsxs("div",{className:`rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5 ${i}`,children:[s.jsxs("div",{className:"mb-3",children:[s.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:m("trend.monitor.label")}),o&&a&&s.jsx("p",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400 mt-0.5",children:a})]}),s.jsxs("div",{className:"space-y-3",children:[s.jsxs("div",{className:"relative",children:[s.jsx("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none",children:[0,25,50,75,100].map(u=>s.jsx("div",{className:"w-full border-t border-oai-gray-100 dark:border-oai-gray-800",style:{top:`${100-u}%`}},u))}),s.jsx("div",{className:"h-40 flex items-end gap-1 relative z-0",children:c.length>0?c.map((u,f)=>s.jsx(Kf,{value:u,displayValue:d.clippedValues[f]??0,scale:d,index:f,row:l[f],totalBars:c.length},f)):s.jsx("div",{className:"flex-1 h-full flex items-center justify-center",children:s.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:"No data yet"})})})]}),t&&n&&s.jsxs("div",{className:"flex justify-between text-xs text-oai-gray-500 dark:text-oai-gray-300 font-medium pt-2 border-t border-oai-gray-100 dark:border-oai-gray-800",children:[s.jsx("span",{children:t}),s.jsx("span",{children:n})]})]})]})}const Wa={"idle-living":"idle/living.svg","idle-doze":"idle/doze.svg","idle-follow":"idle/follow.svg","idle-look":"idle/look.svg","idle-yawn":"idle/yawn.svg","idle-collapse":"idle/collapse.svg","working-building":"working/building.svg","working-carrying":"working/carrying.svg","working-conducting":"working/conducting.svg","working-confused":"working/confused.svg","working-debugger":"working/debugger.svg","working-juggling":"working/juggling.svg","working-overheated":"working/overheated.svg","working-pushing":"working/pushing.svg","working-sweeping":"working/sweeping.svg","working-thinking":"working/thinking.svg","working-typing":"working/typing.svg","working-ultrathink":"working/ultrathink.svg","working-wizard":"working/wizard.svg","mini-alert":"mini/alert.svg","mini-crabwalk":"mini/crabwalk.svg","mini-enter":"mini/enter.svg","mini-enter-sleep":"mini/enter-sleep.svg","mini-happy":"mini/happy.svg","mini-idle":"mini/idle.svg","mini-peek":"mini/peek.svg","mini-sleep":"mini/sleep.svg","react-double":"react/double.svg","react-drag":"react/drag.svg","react-left":"react/left.svg","react-right":"react/right.svg","collapse-sleep":"sleep/collapse-sleep.svg",sleeping:"sleep/sleeping.svg",wake:"sleep/wake.svg",disconnected:"status/disconnected.svg",error:"status/error.svg",notification:"status/notification.svg",happy:"happy.svg","static-base":"static-base.svg"},er=new Map;async function Qf(e){if(er.has(e))return er.get(e);const t=await fetch(`/clawd/${e}`);if(!t.ok)return null;const r=(await t.text()).replace(/<svg([^>]*)>/,(a,o)=>`<svg${o.replace(/\s+width="[^"]*"/g,"").replace(/\s+height="[^"]*"/g,"")} width="100%" height="100%">`);return er.set(e,r),r}function Jf({state:e="idle-living",size:t=48,className:n=""}){const[r,a]=h.useState(""),o=h.useRef(null),l=Zf()?"static-base":e,c=Wa[l]||Wa["static-base"];return h.useEffect(()=>{let d=!1;return Qf(c).then(u=>{!d&&u&&a(u)}),()=>{d=!0}},[c]),h.useEffect(()=>{const d=o.current?.querySelector("svg");if(d)try{const u=d.getBBox();u.width>0&&u.height>0&&d.setAttribute("viewBox",`${u.x-2} ${u.y-2} ${u.width+4} ${u.height+4}`)}catch{}},[r]),s.jsx("div",{ref:o,className:`clawd-animated ${n}`,style:{width:t,height:t,display:"inline-flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},dangerouslySetInnerHTML:{__html:r}})}function Zf(){const[e,t]=h.useState(()=>typeof window>"u"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches);return h.useEffect(()=>{const n=window.matchMedia("(prefers-reduced-motion: reduce)"),r=a=>t(a.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}function eh({todayTokens:e=0,isSyncing:t=!1,hasError:n=!1,isDisconnected:r=!1}={}){return h.useMemo(()=>n?"error":r?"disconnected":t?"working-typing":e===0?"sleeping":e<5e4?"idle-living":e<2e5?"idle-look":e<5e5?"working-ultrathink":e<2e6?"working-typing":"working-ultrathink",[e,t,n,r])}const Ia="macAppBannerDismissed",th="leaderboardBannerDismissed",nh="https://github.com/mm7894215/TokenTracker/releases/latest",Pa="tokentracker_native_app",gn=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(Pa,"1"),!0):localStorage.getItem(Pa)==="1"}catch{return!1}})();function rh({todayTokens:e=0,isSyncing:t=!1,enterDelay:n=0}){const{openLoginModal:r}=Ei(),{signedIn:a}=Za(),o=eh({todayTokens:e,isSyncing:t}),i=gn?th:Ia,[l,c]=h.useState(()=>{try{return localStorage.getItem(i)==="1"?!0:!gn&&new URLSearchParams(window.location.search).get("from")==="menubar"?(localStorage.setItem(Ia,"1"),!0):!1}catch{return!1}}),d=h.useCallback(()=>{c(!0);try{localStorage.setItem(i,"1")}catch{}},[i]);if(l)return null;let u,f,y,g,p,b;gn&&a?(u="View the Leaderboard",f="Compare your usage globally",y="Leaderboard",g=s.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:s.jsx("path",{d:"M2 8.5V10h8V8.5M6 1.5v6m0 0L3.5 5M6 7.5l2.5-2.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",transform:"rotate(180 6 6)"})}),p=()=>{window.location.pathname="/leaderboard"}):gn?(u="Join the Leaderboard",f="Log in to compare your usage with others",y="Log In",g=s.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:s.jsx("path",{d:"M6.5 1.5h3a1 1 0 011 1v7a1 1 0 01-1 1h-3M5 8.5L7.5 6 5 3.5M7.5 6H1.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})}),p=r):(u="Try the Menu Bar App",f="Always-on stats with Clawd companion",y="Download",g=s.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:s.jsx("path",{d:"M6 2v6m0 0L3.5 5.5M6 8l2.5-2.5M2 10h8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})}),b=nh);const x=b?pe.a:pe.button,v=b?{href:b,target:"_blank",rel:"noopener noreferrer"}:{onClick:p};return s.jsx(pe.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.35,delay:n,ease:[.16,1,.3,1]},className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-4",children:s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"flex-shrink-0",children:s.jsx(Jf,{state:o,size:56})}),s.jsxs("div",{className:"flex-1 min-w-0",children:[s.jsx("div",{className:"text-sm font-medium text-oai-gray-900 dark:text-oai-white",children:u}),s.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-0.5",children:f})]}),s.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[s.jsxs(x,{...v,whileHover:{scale:1.03},whileTap:{scale:.97},className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-oai-gray-900 dark:bg-oai-white dark:text-oai-gray-900 rounded-md hover:opacity-90 transition-opacity",children:[y,g]}),s.jsx("button",{onClick:d,className:"p-1 text-oai-gray-400 hover:text-oai-gray-600 dark:hover:text-oai-gray-300 transition-colors","aria-label":"Dismiss",children:s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:s.jsx("path",{d:"M4 4l6 6m0-6L4 10",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})})})]})]})})}const La="widgetOnboardingDismissed",Ba="tokentracker_native_app",ah=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(Ba,"1"),!0):localStorage.getItem(Ba)==="1"}catch{return!1}})();function oh({enterDelay:e=0}){const[t,n]=h.useState(()=>{try{return localStorage.getItem(La)==="1"}catch{return!1}}),r=h.useCallback(()=>{n(!0);try{localStorage.setItem(La,"1")}catch{}},[]);return ah?s.jsx(br,{initial:!1,children:!t&&s.jsxs(pe.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-8,transition:{duration:.2,ease:[.4,0,.2,1]}},transition:{duration:.35,delay:e,ease:[.16,1,.3,1]},className:"relative rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-4",children:[s.jsx("button",{type:"button",onClick:r,"aria-label":m("dashboard.widgets.dismiss_aria"),className:"absolute top-2.5 right-2.5 z-10 inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-gray-300 dark:focus-visible:ring-oai-gray-600 transition-colors",children:s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:s.jsx("path",{d:"M4 4l6 6m0-6L4 10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),s.jsx("div",{className:"rounded-lg overflow-hidden ring-1 ring-black/5 dark:ring-white/10 shadow-sm",children:s.jsx("img",{src:"/widgets-overview.png",alt:m("dashboard.widgets.title"),width:734,height:552,className:"w-full h-auto block",loading:"lazy",decoding:"async"})}),s.jsxs("div",{className:"mt-4",children:[s.jsx("div",{className:"text-sm font-medium tracking-tight text-oai-gray-900 dark:text-oai-white",children:m("dashboard.widgets.title")}),s.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-1 leading-snug",children:m("dashboard.widgets.hint")})]})]},"widget-onboarding-card")}):null}function sh(e){const{copy:t,onOpenShare:n,screenshotMode:r,showExpiredGate:a,showAuthGate:o,screenshotTitleLine1:i,screenshotTitleLine2:l,identityDisplayName:c,identityStartDate:d,activeDays:u,identitySubscriptions:f,identityScrambleDurationMs:y,projectUsageEntries:g,projectUsageLimit:p,setProjectUsageLimit:b,topModels:x,signedIn:v,publicMode:_,isLocalMode:k,shouldShowInstall:D,installPrompt:C,handleCopyInstall:M,installCopied:A,installInitCmdDisplay:N,trendRowsForDisplay:T,trendFromForDisplay:O,trendToForDisplay:S,usageFrom:W,usageTo:j,period:E,trendTimeZoneLabel:I,activityHeatmapBlock:H,isCapturing:te,handleShareToX:Y,screenshotTwitterButton:P,screenshotTwitterHint:U,periodsForDisplay:q,setSelectedPeriod:ne,customFrom:X,customTo:G,onCustomRangeApply:J,customRangeOpen:se,onCustomRangeOpenChange:ie,summaryLabel:Ae,summaryValue:ot,summaryTotalTokensRaw:ke,summaryCostValue:Me,summaryConversationsValue:Yt,rollingUsage:Qe,costInfoEnabled:He,openCostModal:we,costModalOpen:st,closeCostModal:he,allowBreakdownToggle:me,refreshAll:je,usageLoadingState:Fe,fleetData:Je,hasDetailsActual:Ze,dailyEmptyPrefix:ve,installSyncCmd:it,dailyEmptySuffix:De,detailsColumns:Ht,ariaSortFor:Ut,toggleSort:et,sortIconFor:ee,pagedDetails:_t,dailyBreakdownRows:be,dailyBreakdownColumns:xe,dailyBreakdownAriaSortFor:Nt,dailyBreakdownSortIconFor:lt,dailyBreakdownDateKey:zt,detailsDateKey:qt,renderDetailDate:St,renderDailyBreakdownDate:Vt,renderDetailCell:z,DETAILS_PAGED_PERIODS:Z,detailsPageCount:B,detailsPage:V,setDetailsPage:ye}=e,Q=null,Gt=null,Mt=.06,jt=.05,Ue=.11;let ct=0;const ze=()=>Ue+Mt*ct++,qe=Ue+Mt*5;return s.jsxs(s.Fragment,{children:[s.jsx(ac,{bare:!r,hideHeader:r,header:Q,footer:r?null:Gt,className:r?"screenshot-mode":"",children:a||o?null:s.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-4",children:[s.jsxs("div",{className:"lg:col-span-4 flex flex-col gap-4 min-w-0 order-2 lg:order-1",children:[r?s.jsx("div",{className:"flex items-start justify-between gap-4",children:s.jsxs("div",{className:"flex flex-col gap-1",children:[s.jsx("span",{className:"text-3xl md:text-4xl font-semibold text-oai-black dark:text-oai-white tracking-tight leading-none",children:i}),s.jsx("span",{className:"text-2xl md:text-3xl font-semibold text-oai-black dark:text-oai-white tracking-tight leading-none",children:l})]})}):null,k?s.jsx(rh,{todayTokens:ke,isSyncing:Fe,enterDelay:ze()}):null,s.jsx(At,{delay:ze(),children:s.jsx(xc,{title:t("dashboard.identity.title"),subtitle:t("dashboard.identity.subtitle"),period:E,rankLabel:d??t("identity_card.rank_placeholder"),streakDays:u,subscriptions:f,periodConversations:Yt,rolling:Qe,topModels:x})}),k?s.jsx(oh,{enterDelay:ze()}):null,D?s.jsx(At,{delay:ze(),children:s.jsxs("div",{className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-3",children:[s.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-300 mb-1.5",children:C}),s.jsxs(pe.button,{onClick:M,whileHover:{scale:1.01},whileTap:{scale:.99},className:"w-full flex items-center justify-between px-3 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-700 rounded-lg transition-colors",children:[s.jsx("code",{className:"text-xs font-mono text-oai-gray-700 dark:text-oai-gray-300",children:N}),s.jsx(pe.span,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},className:"text-xs text-oai-brand",children:A?"Copied ✓":"Copy"},A?"copied":"copy")]})]})}):null,H&&s.jsx(At,{delay:ze(),children:H}),r?null:s.jsx(At,{delay:ze(),children:s.jsx(Xf,{rows:T,from:O,to:S,period:E,timeZoneLabel:I,showTimeZoneLabel:!1})}),r?s.jsxs("div",{className:"mt-4 flex flex-col items-center gap-2","data-screenshot-exclude":"true",style:te?{display:"none"}:void 0,children:[s.jsx(wn,{type:"button",onClick:Y,variant:"primary",size:"lg",disabled:te,children:P}),s.jsx("span",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-300",children:U})]}):null]}),s.jsxs("div",{className:"lg:col-span-8 flex flex-col gap-4 min-w-0 order-1 lg:order-2",children:[s.jsx(At,{delay:jt,children:s.jsx(qf,{period:E,periods:q,onPeriodChange:ne,summaryLabel:Ae,summaryValue:ot,summaryCostValue:Me,onCostInfo:He?we:null,fleetData:Je,onRefresh:r?null:je,loading:Fe,onOpenShare:r?null:n,customFrom:X,customTo:G,onCustomRangeApply:J,customRangeOpen:se,onCustomRangeOpenChange:ie,from:W,to:j})}),r?null:s.jsx(At,{delay:qe,children:s.jsx(pc,{projectEntries:g,projectLimit:p,onProjectLimitChange:b,copy:t,hasDetailsActual:Ze,dailyEmptyPrefix:ve,installSyncCmd:it,dailyEmptySuffix:De,detailsColumns:Ht,ariaSortFor:Ut,toggleSort:et,sortIconFor:ee,pagedDetails:_t,dailyBreakdownRows:be,dailyBreakdownColumns:xe,dailyBreakdownAriaSortFor:Nt,dailyBreakdownSortIconFor:lt,dailyBreakdownDateKey:zt,detailsDateKey:qt,renderDetailDate:St,renderDailyBreakdownDate:Vt,renderDetailCell:z,DETAILS_PAGED_PERIODS:Z,period:E,detailsPageCount:B,detailsPage:V,setDetailsPage:ye})})]})]})}),s.jsx(gc,{isOpen:st,onClose:he,fleetData:Je})]})}function qo(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const xt=new Map,kt=new Map;function Vo(){typeof window>"u"||window.__tokentrackerNativeSaveListener||(window.__tokentrackerNativeSaveListener=!0,window.addEventListener("native:saveImageResult",e=>{const t=e?.detail||{},n=typeof t.requestId=="string"?t.requestId:null;if(!n||!xt.has(n))return;const r=xt.get(n);xt.delete(n),r({ok:!!t.ok,path:typeof t.path=="string"?t.path:void 0,error:typeof t.error=="string"?t.error:void 0})}),window.addEventListener("native:copyImageResult",e=>{const t=e?.detail||{},n=typeof t.requestId=="string"?t.requestId:null;if(!n||!kt.has(n))return;const r=kt.get(n);kt.delete(n),r({ok:!!t.ok,error:typeof t.error=="string"?t.error:void 0})}))}async function ih(e){if(!qo()||typeof window>"u")return{ok:!1,error:"native bridge unavailable"};const t=window?.webkit?.messageHandlers?.nativeBridge;if(!t)return{ok:!1,error:"native bridge unavailable"};Vo();const n=`copy_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(r=>{const a=window.setTimeout(()=>{kt.has(n)&&(kt.delete(n),r({ok:!1,error:"timeout"}))},8e3);kt.set(n,o=>{window.clearTimeout(a),r(o)});try{t.postMessage({type:"action",name:"copyImageToClipboard",requestId:n,dataUrl:e})}catch(o){kt.delete(n),window.clearTimeout(a),r({ok:!1,error:o?.message||String(o)})}})}async function $a(e,t){if(!qo()||typeof window>"u")return{ok:!1,error:"native bridge unavailable"};const n=window?.webkit?.messageHandlers?.nativeBridge;if(!n)return{ok:!1,error:"native bridge unavailable"};Vo();const r=`save_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(a=>{const o=window.setTimeout(()=>{xt.has(r)&&(xt.delete(r),a({ok:!1,error:"timeout"}))},8e3);xt.set(r,i=>{window.clearTimeout(o),a(i)});try{n.postMessage({type:"action",name:"saveImageToDownloads",requestId:r,filename:t,dataUrl:e})}catch(i){xt.delete(r),window.clearTimeout(o),a({ok:!1,error:i?.message||String(i)})}})}const Go=1200,Ko=1630,Xo={broadsheet:{width:1200,height:1630},"annual-report":{width:1080,height:1865}},lh="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter+Tight:wght@400;500;600;700&family=IBM+Plex+Serif:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@500;600;700&display=swap";let tr=!1;function ch(){if(typeof document>"u"||tr)return;if(document.querySelector('link[data-share-card-fonts="true"]')){tr=!0;return}const t=document.createElement("link");t.rel="stylesheet",t.href=lh,t.dataset.shareCardFonts="true",t.crossOrigin="anonymous",document.head.appendChild(t),tr=!0}async function dh(){if(typeof document>"u")return;const e=document.fonts;if(!(!e||typeof e.ready?.then!="function"))try{await e.ready}catch{}}async function uh(e,t={}){if(typeof window>"u"||!e)return null;ch(),await dh(),await new Promise(c=>requestAnimationFrame(()=>c(null)));const{toBlob:n,toPng:r}=await eo(async()=>{const{toBlob:c,toPng:d}=await import("./index-BeoRn2gJ.js");return{toBlob:c,toPng:d}},[]),a=t.pixelRatio??2,o=e.offsetWidth||Go,i=e.offsetHeight||Ko,l={pixelRatio:a,cacheBust:!0,width:o,height:i,style:{width:`${o}px`,height:`${i}px`},skipFonts:!1,filter:c=>!(c instanceof HTMLElement)||c.dataset?.screenshotExclude!=="true"};try{const c=await n(e,l);if(c)return c}catch{}try{const c=await r(e,l);return c?await(await fetch(c)).blob():null}catch{return null}}async function nr(e){return new Promise(t=>{const n=new FileReader;n.onload=()=>{const r=typeof n.result=="string"?n.result:null;t(r)},n.onerror=()=>t(null),n.readAsDataURL(e)})}function Ra(e,t){if(typeof window>"u"||!e)return!1;try{const n=URL.createObjectURL(e),r=document.createElement("a");return r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e3),!0}catch{return!1}}function ur(e){const t=Te(e);return Number.isFinite(t)?t:0}function fh(e){return e?ur(e.billable_total_tokens??e.total_tokens):0}function hh(e){const t=Array.isArray(e?.weeks)?e.weeks:[];if(!t.length)return{weeks:[],totalDays:0,activeDays:0};let n=0,r=0;return{weeks:t.map(o=>(Array.isArray(o)?o:[]).slice(0,7).map(l=>{const c=!!l?.future,d=Number.isFinite(l?.level)?Math.max(0,Math.min(4,Math.round(l.level))):0;l?.day&&!c&&(n+=1,d>0&&(r+=1));const u=l?.billable_total_tokens??l?.total_tokens??l?.value??0,f=Number.isFinite(u)?Math.max(0,u):0;return{day:typeof l?.day=="string"?l.day:"",level:d,value:f,future:c}})),totalDays:n,activeDays:r}}function mh(e){const{handle:t,startDate:n,activeDays:r,summary:a,topModels:o,rank:i,period:l,periodFrom:c,periodTo:d,heatmap:u,capturedAt:f}=e,y=fh(a),g=ur(a?.total_cost_usd),p=Array.isArray(o)?o.slice(0,3).map(x=>({id:x?.id??null,name:typeof x?.name=="string"&&x.name?x.name:"—",tokens:ur(x?.tokens),percent:typeof x?.percent=="string"&&x.percent?x.percent:"0.0"})):[],b=hh(u);return{handle:t||"—",startDate:n||null,activeDays:Number.isFinite(r)&&r>0?Math.floor(r):0,totalTokens:y,totalCost:g,period:l,periodFrom:c,periodTo:d,topModels:p,rank:typeof i=="number"&&Number.isFinite(i)&&i>0?Math.floor(i):null,heatmapWeeks:b.weeks,heatmapTotalDays:b.totalDays,heatmapActiveDays:b.activeDays,capturedAt:f||new Date().toISOString()}}const yh=["share.month_short.jan","share.month_short.feb","share.month_short.mar","share.month_short.apr","share.month_short.may","share.month_short.jun","share.month_short.jul","share.month_short.aug","share.month_short.sep","share.month_short.oct","share.month_short.nov","share.month_short.dec"];function gh(e){const t=yh[e];return t?m(t):"—"}function Qo(e,t){return m("share.date.month_year",{month:gh(e),year:t})}function ph(e){if(!e)return"—";const t=e.split("-");if(t.length!==3)return e;const[n,r]=t,a=Number(r)-1;return a<0||a>11?e:Qo(a,n)}function bh(e){if(e.period==="total")return m("share.issue.all_time");if(e.period==="day"&&e.periodTo)return e.periodTo.replace(/-/g,".");if(e.period==="custom"&&e.periodFrom&&e.periodTo)return`${e.periodFrom.replace(/-/g,".")} — ${e.periodTo.replace(/-/g,".")}`;if(e.periodTo){const t=new Date(`${e.periodTo}T00:00:00Z`);if(!Number.isNaN(t.getTime()))return Qo(t.getUTCMonth(),t.getUTCFullYear())}return m(`usage.period.${e.period}`)}function fr(e){return Number.isFinite(e)?Math.round(e).toLocaleString("en-US"):"—"}function Jo(e){return!Number.isFinite(e)||e<=0?"$0.00":e>=1e3?`$${Math.round(e).toLocaleString("en-US")}`:`$${e.toFixed(2)}`}function xh(e){const t=e.topModels[0];if(t){const n=parseFloat(t.percent);return Number.isFinite(n)&&n>=60?m("share.hook.top_loyal",{percent:Math.round(n),name:t.name}):e.activeDays>=60?m("share.hook.days_record",{days:e.activeDays}):Number.isFinite(n)&&n>=30?m("share.hook.top_led",{name:t.name,percent:Math.round(n)}):e.topModels.length>1?m("share.hook.multi_models",{count:e.topModels.length,days:e.activeDays}):m("share.hook.days_with_model",{days:e.activeDays,name:t.name})}return e.activeDays>0?m("share.hook.days_record",{days:e.activeDays}):m("share.hook.new_chapter")}function kh(e,t){const n=(e||"").length;if(n<=t.baseChars)return t.baseSize;const r=t.baseSize-(n-t.baseChars)*t.shrinkPerChar;return Math.max(t.minSize,r)}function wh(e){if(!e||e.future)return null;const t=typeof e.level=="number"?e.level:0;return t<0?0:t>4?4:Math.round(t)}function vh({weeks:e,palette:t,width:n,gap:r=3,radius:a=2,emptyColor:o}){if(!Array.isArray(e)||e.length===0||!n||n<=0)return null;const i=t||["#eee","#ccc","#999","#666","#333"],l=o||i[0],c=e.length,d=(c-1)*r,u=Math.max(4,(n-d)/c),f=7*u+6*r;return s.jsx("svg",{width:n,height:f,viewBox:`0 0 ${n} ${f}`,xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,style:{display:"block"},children:e.map((y,g)=>(Array.isArray(y)?y:[]).map((b,x)=>{if(x>=7)return null;const v=wh(b),_=g*(u+r),k=x*(u+r),D=v===null?l:i[v];return s.jsx("rect",{x:_,y:k,width:u,height:u,rx:a,ry:a,fill:D},`${g}-${x}`)}))})}const _h="oklch(0.97 0.01 85)",_e="oklch(0.18 0.02 85)",rt="oklch(0.38 0.015 85)",Ya="oklch(0.55 0.012 85)",ht="oklch(0.55 0.22 25)",mt='"Instrument Serif", "Times New Roman", Georgia, serif',Nh='"Inter Tight", "Helvetica Neue", Arial, sans-serif',Sh=["oklch(0.93 0.013 80)","oklch(0.87 0.04 55)","oklch(0.78 0.09 45)","oklch(0.67 0.16 35)","oklch(0.55 0.22 25)"];function Zo({data:e}){const t=bh(e),n=fr(e.totalTokens),r=Jo(e.totalCost),a=ph(e.startDate),o=kh(n,{baseSize:188,baseChars:9,shrinkPerChar:14,minSize:104}),i=xh(e),l=Array.isArray(e.heatmapWeeks)&&e.heatmapWeeks.length>0;return s.jsxs("div",{style:{width:"100%",height:"100%",background:_h,color:_e,fontFamily:Nh,padding:"80px 88px 68px 88px",boxSizing:"border-box",display:"flex",flexDirection:"column",position:"relative"},children:[s.jsxs("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:24,paddingBottom:14,borderBottom:`1px solid ${Ya}`},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:14,fontSize:14,fontWeight:500,letterSpacing:"0.22em",textTransform:"uppercase",color:_e},children:[s.jsx("div",{style:{width:10,height:10,borderRadius:"50%",background:ht}}),"The Token Tracker"]}),s.jsxs("div",{style:{fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:rt,textAlign:"right"},children:[m("share.card.broadsheet.issue")," № ",t]})]}),s.jsxs("div",{style:{marginTop:24,display:"flex",justifyContent:"space-between",alignItems:"flex-end",gap:24},children:[s.jsxs("div",{children:[s.jsx("div",{style:{fontSize:12,letterSpacing:"0.2em",textTransform:"uppercase",color:rt,marginBottom:6},children:m("share.card.broadsheet.by")}),s.jsx("div",{style:{fontFamily:mt,fontSize:52,fontStyle:"italic",lineHeight:1,color:_e,letterSpacing:"-0.01em"},children:e.handle})]}),s.jsxs("div",{style:{fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:rt,textAlign:"right",lineHeight:1.6},children:[m("share.card.broadsheet.tracked_since"),s.jsx("br",{}),s.jsx("span",{style:{color:_e},children:a})]})]}),s.jsxs("div",{style:{marginTop:40,display:"flex",flexDirection:"column"},children:[s.jsx("div",{style:{fontSize:13,letterSpacing:"0.3em",textTransform:"uppercase",color:ht,marginBottom:10},children:m("share.card.broadsheet.total_tokens")}),s.jsx("div",{style:{fontFamily:mt,fontSize:o,fontWeight:400,lineHeight:.86,letterSpacing:"-0.032em",color:_e,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap",overflow:"hidden"},children:n}),s.jsxs("div",{style:{marginTop:14,fontFamily:mt,fontStyle:"italic",fontSize:34,lineHeight:1.15,color:_e,letterSpacing:"-0.005em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:["“",i,"”"]}),s.jsx("div",{style:{marginTop:14,height:1,background:ht,width:"100%"}}),s.jsxs("div",{style:{marginTop:10,display:"flex",justifyContent:"space-between",fontSize:13,letterSpacing:"0.16em",textTransform:"uppercase",color:rt},children:[s.jsxs("span",{children:[m("share.card.broadsheet.estimated_spend")," · ",r]}),s.jsx("span",{children:m("share.card.broadsheet.billable_days",{days:e.activeDays})})]})]}),l?s.jsxs("section",{style:{marginTop:40},children:[s.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",marginBottom:12},children:[s.jsx("div",{style:{fontSize:12,letterSpacing:"0.3em",textTransform:"uppercase",color:_e,fontWeight:600},children:m("share.card.broadsheet.heatmap_title")}),s.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:rt},children:m("share.card.broadsheet.heatmap_days_on_record",{active:e.heatmapActiveDays,total:e.heatmapTotalDays})})]}),s.jsx(vh,{weeks:e.heatmapWeeks,palette:Sh,width:1024,gap:3,radius:2})]}):null,s.jsxs("section",{style:{marginTop:30,flex:1},children:[s.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",borderBottom:`1px solid ${_e}`,paddingBottom:10,marginBottom:6},children:[s.jsx("div",{style:{fontSize:12,letterSpacing:"0.3em",textTransform:"uppercase",color:_e,fontWeight:600},children:m("share.card.broadsheet.roster_title")}),s.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:rt},children:m("share.card.broadsheet.roster_subtitle")})]}),e.topModels.length===0?s.jsx("div",{style:{fontFamily:mt,fontStyle:"italic",fontSize:26,color:rt,paddingTop:14},children:m("share.card.broadsheet.empty")}):e.topModels.map((c,d)=>s.jsxs("div",{style:{display:"grid",gridTemplateColumns:"52px 1fr auto 68px",alignItems:"baseline",gap:16,padding:"13px 0",borderBottom:`1px solid ${Ya}`},children:[s.jsx("div",{style:{fontFamily:mt,fontSize:34,fontStyle:"italic",color:ht,lineHeight:1},children:String(d+1).padStart(2,"0")}),s.jsx("div",{style:{fontFamily:mt,fontSize:32,color:_e,lineHeight:1.1,letterSpacing:"-0.01em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:c.name}),s.jsx("div",{style:{fontFamily:mt,fontSize:28,color:_e,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap"},children:fr(c.tokens)}),s.jsxs("div",{style:{fontSize:13,letterSpacing:"0.1em",color:rt,textAlign:"right",fontFeatureSettings:'"tnum" 1'},children:[c.percent,"%"]})]},c.id||c.name))]}),s.jsxs("footer",{style:{marginTop:18,paddingTop:12,borderTop:`1px solid ${_e}`,display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:_e},children:[s.jsxs("div",{style:{display:"flex",gap:28},children:[s.jsxs("span",{children:[m("share.card.broadsheet.global_rank")," ",s.jsxs("span",{style:{color:ht},children:["№ ",e.rank!=null?e.rank:"—"]})]}),s.jsxs("span",{children:[m("share.card.broadsheet.active_days")," ",s.jsx("span",{style:{color:ht},children:m("share.card.broadsheet.days_count",{days:e.activeDays})})]})]}),s.jsxs("div",{children:[m("share.card.broadsheet.track_yours")," ",s.jsx("span",{style:{color:ht},children:"→ tokentracker.cc"})]})]})]})}const Mh=Xo["annual-report"].width,jh="#0a0820",at="#ffffffee",gt="rgba(255,255,255,0.45)",rr="#a78bfa",Dh={background:"rgba(20,15,50,0.38)",backdropFilter:"blur(40px)",WebkitBackdropFilter:"blur(40px)",border:"1px solid rgba(255,255,255,0.05)",boxShadow:["0 39px 56px -36px rgba(255,255,255,0.10) inset","0 7px 11px -4px rgba(255,255,255,0.06) inset","0 -82px 68px -64px rgba(101,67,149,0.08) inset","0 98px 100px -48px rgba(208,171,255,0.06) inset","0 4px 18px 0 rgba(156,146,215,0.06) inset","0 1px 40px 0 rgba(228,222,255,0.04) inset"].join(", ")},pn={background:"rgba(20,15,50,0.38)",backdropFilter:"blur(32px)",WebkitBackdropFilter:"blur(32px)",border:"1px solid rgba(255,255,255,0.06)",boxShadow:"0 1px 8px 0 rgba(228,222,255,0.06) inset"},hr='"Space Grotesk", "Inter Tight", sans-serif',ar='"Inter Tight", sans-serif',Ch="rgba(255,255,255,0.06)",es=[Ch,"#4a3d8f","#6b5cbe","#9060e0","#d946ef"],ts=48,ns=28,_n=4,rs=20,Th=Mh-ts*2-ns*2,Oh=(Th-rs*2)/3,mr=Math.min(Math.floor((Oh-_n*6)/7),40),Ah=mr*7+_n*6;function Fh(e){if(!Array.isArray(e))return e;const t=[];for(const l of e)if(Array.isArray(l))for(const c of l)c?.day&&!c.future&&c.value>0&&t.push(c.value);if(!t.length)return e;t.sort((l,c)=>l-c);const n=l=>{const c=t.length,d=(c-1)*l,u=Math.floor(d);return Math.round((t[u]??0)+((t[Math.min(c-1,u+1)]??0)-(t[u]??0))*(d-u))},r=n(.5),a=n(.75),o=n(.9),i=l=>!l||l<=0?0:l<=r?1:l<=a?2:l<=o?3:4;return e.map(l=>Array.isArray(l)?l.map(c=>c?.day&&!c.future&&typeof c.value=="number"?{...c,level:i(c.value)}:c):l)}function Eh(e){if(!Array.isArray(e))return[];const t={},n=Fh(e);for(const r of n)if(Array.isArray(r))for(const a of r){if(!a?.day||a.future)continue;const o=a.day.split("-");if(o.length<2)continue;const i=`${o[0]}-${o[1]}`;(t[i]??=[]).push(a)}return Object.entries(t).sort(([r],[a])=>r.localeCompare(a)).slice(-12).map(([r,a])=>({month:parseInt(r.split("-")[1],10),cells:a}))}function Wh(e){if(!e.length)return[];const t=[...e].sort((i,l)=>i.day.localeCompare(l.day));let n=new Date(`${t[0].day}T00:00:00Z`).getUTCDay();const r=Array(n).fill(null).concat(t),a=[];for(let i=0;i<r.length;i+=7)a.push(r.slice(i,i+7));const o=a[a.length-1];for(;o&&o.length<7;)o.push(null);return a.slice(0,6)}const Ih=["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Ph(e){if(!Array.isArray(e))return 0;const t=[];for(const a of e)if(Array.isArray(a))for(const o of a)o?.day&&!o.future&&t.push(o);t.sort((a,o)=>a.day.localeCompare(o.day));let n=0,r=0;for(const a of t)(a.level||0)>0?(r++,r>n&&(n=r)):r=0;return n}function Ha(e){const[t,n]=h.useState(null);return h.useEffect(()=>{if(!e){n(null);return}let r=!1;const a=new Image;return a.crossOrigin="anonymous",a.onload=()=>{if(!r)try{const o=document.createElement("canvas");o.width=a.naturalWidth,o.height=a.naturalHeight,o.getContext("2d").drawImage(a,0,0),n(o.toDataURL("image/png"))}catch{n(null)}},a.onerror=()=>{r||n(null)},a.src=e,()=>{r=!0}},[e]),t}function Lh({data:e}){const t=Wh(e.cells);return s.jsxs("div",{children:[s.jsx("div",{style:{fontSize:16,fontWeight:600,color:gt,fontFamily:hr,marginBottom:4},children:Ih[e.month]}),s.jsx("div",{style:{display:"flex",flexDirection:"column",gap:_n},children:t.map((n,r)=>s.jsx("div",{style:{display:"flex",gap:_n},children:n.map((a,o)=>{const i=a?Math.min(4,Math.max(0,a.level||0)):-1;return s.jsx("div",{style:{width:mr,height:mr,borderRadius:4,background:i<0?"transparent":es[i]}},o)})},r))})]})}function Bh({data:e}){const t=Eh(e.heatmapWeeks),n=Ph(e.heatmapWeeks),r=e.topModels[0],a=e.avatarUrl||null,o=Ha(a),i=Ha("/neon_bg.png"),l=(e.handle||"?")[0].toUpperCase(),c=16;return s.jsxs("div",{style:{width:"100%",height:"100%",background:jh,fontFamily:hr,position:"relative",overflow:"hidden",boxSizing:"border-box"},children:[s.jsx("img",{src:i||"/neon_bg.png",alt:"",style:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",pointerEvents:"none"}}),s.jsxs("div",{style:{position:"relative",zIndex:1,display:"flex",flexDirection:"column",height:"100%",padding:ts,boxSizing:"border-box"},children:[s.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:c*3},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:16},children:[s.jsx("img",{src:"/app-icon.png",alt:"",width:64,height:64,style:{width:64,height:64,borderRadius:16,display:"block"}}),s.jsxs("div",{children:[s.jsx("div",{style:{fontSize:20,fontWeight:500,color:gt,lineHeight:1.2},children:"Token Tracker"}),s.jsx("div",{style:{fontSize:36,fontWeight:700,lineHeight:1.15,color:at},children:m("share.card.annual.report_title")})]})]}),s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[s.jsx("div",{style:{width:48,height:48,borderRadius:"50%",background:"linear-gradient(135deg,#4c1d95,#7c3aed)",display:"flex",alignItems:"center",justifyContent:"center",border:"2px solid rgba(255,255,255,0.15)",overflow:"hidden",flexShrink:0},children:o?s.jsx("img",{src:o,alt:"",width:48,height:48,style:{width:48,height:48,objectFit:"cover",display:"block"},crossOrigin:"anonymous",referrerPolicy:"no-referrer"}):s.jsx("span",{style:{fontSize:20,fontWeight:700,color:at},children:l})}),s.jsx("div",{style:{fontSize:32,fontWeight:700,color:at},children:e.handle})]})]}),s.jsxs("div",{style:{...Dh,borderRadius:22,padding:ns,marginBottom:c},children:[s.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:14,color:gt},children:[s.jsx("span",{children:m("share.card.annual.less")}),es.map((d,u)=>s.jsx("div",{style:{width:16,height:16,borderRadius:3,background:d}},u)),s.jsx("span",{children:m("share.card.annual.more")})]}),s.jsx("div",{style:{fontSize:16,fontWeight:700,letterSpacing:"0.14em",color:"rgba(255,255,255,0.22)",textTransform:"uppercase"},children:m("share.card.annual.heatmap_title")})]}),s.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(3,${Ah}px)`,gap:`8px ${rs}px`,justifyContent:"center"},children:t.map(d=>s.jsx(Lh,{data:d},d.month))})]}),s.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:c,marginBottom:c},children:[s.jsxs("div",{style:{...pn,borderRadius:22,padding:"28px 16px",textAlign:"center"},children:[s.jsx("div",{style:{fontFamily:ar,fontSize:52,fontWeight:700,color:at,letterSpacing:"-0.02em",lineHeight:1},children:fr(e.totalTokens)}),s.jsx("div",{style:{fontSize:22,color:gt,marginTop:12},children:m("share.card.annual.total_tokens")})]}),s.jsxs("div",{style:{...pn,borderRadius:22,padding:"28px 16px",textAlign:"center"},children:[s.jsx("div",{style:{fontFamily:ar,fontSize:52,fontWeight:700,color:at,letterSpacing:"-0.02em",lineHeight:1},children:Jo(e.totalCost)}),s.jsx("div",{style:{fontSize:22,color:gt,marginTop:12},children:m("share.card.annual.estimated_cost")})]})]}),s.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:c},children:[s.jsxs("div",{style:{...pn,borderRadius:22,padding:"18px 24px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[s.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:rr,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("path",{d:"M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48 2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48 2.83-2.83"}),s.jsx("circle",{cx:"12",cy:"12",r:"4"})]}),s.jsx("span",{style:{fontSize:20,color:gt},children:m("share.card.annual.longest_streak")})]}),s.jsx("span",{style:{fontFamily:ar,fontSize:28,fontWeight:700,color:at},children:m("share.card.annual.days_count",{days:n})})]}),s.jsxs("div",{style:{...pn,borderRadius:22,padding:"18px 24px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[s.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:rr,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[s.jsx("path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"}),s.jsx("circle",{cx:"12",cy:"12",r:"4"})]}),s.jsx("span",{style:{fontSize:20,color:gt},children:m("share.card.annual.top_model")})]}),s.jsx("span",{style:{fontFamily:hr,fontSize:28,fontWeight:700,color:at},children:r?r.name:"—"})]})]}),s.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"auto"},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[s.jsx("img",{src:"/app-icon.png",alt:"",width:44,height:44,style:{width:44,height:44,borderRadius:8,display:"block"}}),s.jsx("span",{style:{fontSize:22,fontWeight:600,color:at},children:"Token Tracker"})]}),s.jsx("span",{style:{fontSize:22,fontWeight:600,color:rr},children:"tokentracker.cc"})]})]})]})}const as=[{id:"annual-report",labelKey:"share.variant.neon"},{id:"broadsheet",labelKey:"share.variant.broadsheet"}],$h={broadsheet:Zo,"annual-report":Bh};function os(e){return Xo[e]||{width:Go,height:Ko}}function Rh(e){const t=as.find(n=>n.id===e);return t?.labelKey?m(t.labelKey):e}const Ua=h.forwardRef(function({data:t,variant:n},r){const a=$h[n]||Zo,{width:o,height:i}=os(n);return s.jsx("div",{ref:r,"data-share-card":"true",style:{width:o,height:i,position:"relative",overflow:"hidden",boxSizing:"border-box"},children:s.jsx(a,{data:t})})});function bn(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const Yh=440;function Hh(){const[e,t]=h.useState(null),n=h.useRef(null),r=h.useCallback((a,o="info")=>{n.current&&window.clearTimeout(n.current),t({id:Date.now(),kind:o,text:a}),n.current=window.setTimeout(()=>t(null),2800)},[]);return h.useEffect(()=>()=>{n.current&&window.clearTimeout(n.current)},[]),{toast:e,push:r}}function or({onClick:e,disabled:t,children:n,emphasis:r,ariaLabel:a}){return s.jsx("button",{type:"button",onClick:e,disabled:t,"aria-label":a,className:["group relative flex items-center justify-between gap-3 w-full px-4 py-3 text-left","rounded-lg border transition-colors",r?"border-oai-black dark:border-oai-white bg-oai-black dark:bg-oai-white text-oai-white dark:text-oai-black hover:opacity-90":"border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white hover:border-oai-gray-400 dark:hover:border-oai-gray-600",t?"opacity-60 cursor-not-allowed":"cursor-pointer"].join(" "),children:n})}function Uh({open:e,onClose:t,data:n,twitterText:r}){const[a,o]=h.useState(null),[i,l]=h.useState(""),[c,d]=h.useState("annual-report"),u=h.useRef(null),{toast:f,push:y}=Hh(),g=Za(),p=h.useMemo(()=>{const N=g?.user;if(!N||typeof N!="object")return null;const T=N.user_metadata||{},O=N.profile||{},S=T.avatar_url||T.picture||O.avatar_url||N.avatar_url;return typeof S=="string"&&S.trim()?S.trim():null},[g?.user]);h.useEffect(()=>{e&&(o(null),l(n?.handle||""))},[e,n?.handle]);const b=n&&{...n,handle:i||n.handle,avatarUrl:p},{width:x,height:v}=os(c),_=Yh/x;h.useEffect(()=>{if(!e)return;const N=T=>{T.key==="Escape"&&t?.()};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[e,t]);const k=h.useCallback(async()=>{const N=u.current;if(!N)return null;try{return await uh(N)}catch(T){return console.warn("[share] capture failed",T),null}},[]),D=h.useCallback(async()=>{if(a)return;o("copy");const N=await k();if(!N){y(m("share.toast.failed"),"error"),o(null);return}let T=!1;if(bn()){const O=await nr(N);O&&(T=(await ih(O)).ok)}else T=await cr(N);y(T?m("share.toast.copied"):m("share.toast.failed"),T?"success":"error"),o(null)},[a,k,y]),C=h.useCallback(()=>`tokentracker-share-${Date.now()}.png`,[]),M=h.useCallback(async()=>{if(a)return;o("download");const N=await k();if(!N){y(m("share.toast.failed"),"error"),o(null);return}if(bn()){const O=await nr(N);if(O&&(await $a(O,C())).ok){y(m("share.toast.downloaded"),"success"),o(null);return}}const T=Ra(N,C());y(T?m("share.toast.downloaded"):m("share.toast.failed"),T?"success":"error"),o(null)},[a,k,C,y]),A=h.useCallback(async()=>{if(a)return;o("x");const N=await k();if(!N){y(m("share.toast.failed"),"error"),o(null);return}if(bn()){const O=await nr(N);O&&(await $a(O,C()),y(m("share.toast.downloaded"),"success"))}else await cr(N)?y(m("share.toast.copied"),"success"):Ra(N,C());const T=new URL("https://twitter.com/intent/tweet");if(r&&T.searchParams.set("text",r),bn())try{window.webkit?.messageHandlers?.nativeBridge?.postMessage({type:"action",name:"openURL",value:T.toString()})}catch{window.open(T.toString(),"_blank","noopener,noreferrer")}else window.open(T.toString(),"_blank","noopener,noreferrer");o(null)},[a,k,y,r,C]);return e?s.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":m("share.modal.title"),"data-screenshot-exclude":"true",className:"fixed inset-0 z-[9999] flex items-center justify-center p-4 sm:p-6",style:{background:"rgba(10,10,10,0.72)"},onClick:N=>{N.target===N.currentTarget&&t?.()},children:[s.jsx("div",{"aria-hidden":!0,style:{position:"fixed",left:0,top:0,width:x,height:v,pointerEvents:"none",opacity:0,zIndex:-1,clip:"rect(0,0,0,0)",overflow:"hidden"},children:s.jsx(Ua,{ref:u,data:b,variant:c})}),s.jsxs(pe.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:12},transition:{duration:.18,ease:[.2,.8,.2,1]},className:"relative w-full max-w-[1040px] max-h-[92vh] overflow-hidden rounded-2xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-black shadow-oai-lg",children:[s.jsxs("div",{className:"flex flex-col lg:flex-row max-h-[92vh]",children:[s.jsx("div",{className:"flex-1 min-w-0 p-4 sm:p-7 bg-oai-gray-50 dark:bg-oai-gray-950 flex items-center justify-center overflow-auto",children:s.jsxs("div",{style:{width:x*_,height:v*_,flexShrink:0,position:"relative"},className:"rounded-xl overflow-hidden shadow-oai-md ring-1 ring-black/5",children:[a?s.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-white/70 dark:bg-black/50",children:s.jsxs("svg",{className:"animate-spin h-6 w-6 text-oai-gray-500",viewBox:"0 0 24 24",fill:"none",children:[s.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3"}),s.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]})}):null,s.jsx("div",{style:{width:x,height:v,transform:`scale(${_})`,transformOrigin:"top left"},children:s.jsx(Ua,{data:b,variant:c})})]})}),s.jsxs("div",{className:"w-full lg:w-[340px] flex-shrink-0 border-t lg:border-t-0 lg:border-l border-oai-gray-200 dark:border-oai-gray-800 p-5 sm:p-6 flex flex-col gap-5 overflow-y-auto",children:[s.jsxs("div",{className:"flex items-start justify-between gap-2",children:[s.jsxs("div",{children:[s.jsx("h2",{className:"text-lg font-semibold text-oai-black dark:text-oai-white",children:m("share.modal.title")}),s.jsx("p",{className:"mt-1 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:m("share.modal.subtitle")})]}),s.jsx("button",{type:"button",onClick:t,"aria-label":m("share.modal.close"),className:"p-1.5 -mt-1 -mr-1 rounded-md text-oai-gray-500 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:s.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),s.jsxs("div",{children:[s.jsx("label",{htmlFor:"share-handle",className:"text-[11px] tracking-[0.18em] uppercase text-oai-gray-500 dark:text-oai-gray-400 mb-1.5 block",children:m("share.modal.name_label")}),s.jsx("input",{id:"share-handle",type:"text",value:i,onChange:N=>l(N.target.value),placeholder:m("share.modal.name_placeholder"),className:"w-full px-3 py-2 text-sm rounded-lg border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white placeholder:text-oai-gray-400 dark:placeholder:text-oai-gray-600 focus:outline-none focus:ring-1 focus:ring-inset focus:ring-oai-brand transition-colors"})]}),s.jsxs("div",{children:[s.jsx("label",{className:"text-[11px] tracking-[0.18em] uppercase text-oai-gray-500 dark:text-oai-gray-400 mb-1.5 block",children:m("share.modal.style_label")}),s.jsx("div",{className:"flex gap-2",children:as.map(N=>s.jsx("button",{type:"button",onClick:()=>d(N.id),className:["flex-1 px-3 py-2 text-sm rounded-lg border transition-colors",c===N.id?"border-oai-black dark:border-oai-white bg-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white font-medium":"border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 text-oai-gray-500 dark:text-oai-gray-400 hover:border-oai-gray-400 dark:hover:border-oai-gray-600"].join(" "),children:Rh(N.id)},N.id))})]}),s.jsxs("div",{className:"grid grid-cols-1 gap-2",children:[s.jsxs(or,{onClick:A,disabled:!!a,emphasis:!0,children:[s.jsxs("span",{className:"flex items-center gap-3",children:[s.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:s.jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})}),s.jsx("span",{className:"font-medium text-sm",children:m("share.modal.action.x")})]}),s.jsx("span",{className:"text-[11px] opacity-70",children:a==="x"?m("share.toast.working"):m("share.modal.hint.x")})]}),s.jsxs(or,{onClick:M,disabled:!!a,children:[s.jsxs("span",{className:"flex items-center gap-3",children:[s.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[s.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),s.jsx("polyline",{points:"7 10 12 15 17 10"}),s.jsx("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]}),s.jsx("span",{className:"font-medium text-sm",children:m("share.modal.action.download")})]}),s.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:"PNG"})]}),s.jsxs(or,{onClick:D,disabled:!!a,children:[s.jsxs("span",{className:"flex items-center gap-3",children:[s.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[s.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),s.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),s.jsx("span",{className:"font-medium text-sm",children:m("share.modal.action.copy")})]}),s.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:m("share.modal.hint.copy")})]})]}),s.jsx("div",{className:"mt-auto pt-4 border-t border-oai-gray-200 dark:border-oai-gray-800",children:s.jsx("p",{className:"text-[11px] leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:m("share.modal.footer")})})]})]}),s.jsx(br,{children:f?s.jsx(pe.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:8},className:"pointer-events-none absolute left-1/2 bottom-4 -translate-x-1/2",children:s.jsx("div",{className:["px-4 py-2 rounded-full text-xs font-medium shadow-oai-md",f.kind==="error"?"bg-red-600 text-white":f.kind==="success"?"bg-oai-black dark:bg-oai-white text-oai-white dark:text-oai-black":"bg-oai-gray-800 text-white"].join(" "),children:f.text})},f.id):null})]})]}):null}function zh(e){const{enabled:t,handle:n,startDate:r,activeDays:a,summary:o,topModels:i,period:l,periodFrom:c,periodTo:d,heatmap:u,accessToken:f,userId:y}=e,[g,p]=h.useState(null);return h.useEffect(()=>{if(!t||!y&&!vt())return;let b=!1;return(async()=>{try{const v=await Wi({accessToken:f,userId:y,period:l==="day"||l==="custom"?"week":l,metric:"all",limit:100,offset:0});if(b)return;const k=(Array.isArray(v?.entries)?v.entries:Array.isArray(v)?v:[]).find(C=>C?.is_me===!0),D=typeof k?.rank=="number"?k.rank:null;p(D)}catch{b||p(null)}})(),()=>{b=!0}},[t,f,y,l]),h.useMemo(()=>mh({handle:n,startDate:r,activeDays:a,summary:o,topModels:i,rank:g,period:l,periodFrom:c,periodTo:d,heatmap:u}),[n,r,a,o,i,g,l,c,d,u])}const qh=["day","week","month","total","custom"],sr=new Set(["day","hour","month"]),tn=new Set(["day","total","custom"]);function ir(e,t){if(typeof t=="number"&&t>0)return!0;if(typeof e=="bigint")return e>0n;if(typeof e=="number")return Number.isFinite(e)&&e>0;if(typeof e=="string"){const n=e.trim();if(!n)return!1;if(/^[0-9]+$/.test(n))try{return BigInt(n)>0n}catch{return!1}const r=Number(n);return Number.isFinite(r)&&r>0}return!1}function xn(e){return e?Lt(e,null):null}function za(e){return e?e?.billable_total_tokens??e?.value??e?.total_tokens:null}function Vh(e){if(typeof e!="string"||!e)return null;const t=e.split("-");if(t.length!==3)return null;const n=Number(t[0]),r=Number(t[1])-1,a=Number(t[2]);if(!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(a))return null;const o=new Date(Date.UTC(n,r,a));return Number.isFinite(o.getTime())?o:null}function Gh(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Kh(e){return e?e==="www.tokentracker.cc"||e==="tokentracker.cc":!1}function Xh(){if(typeof window>"u")return!1;const e=new URLSearchParams(window.location.search),t=String(e.get("force_install")||"").toLowerCase();return t!=="1"&&t!=="true"?!1:!Kh(window.location.hostname)}function sm({baseUrl:e,auth:t,signedIn:n,sessionSoftExpired:r,signOut:a,publicMode:o=!1,publicToken:i=null,signInUrl:l="/sign-in",signUpUrl:c="/sign-up"}){const{resolvedLocale:d}=Ii(),[u,f]=h.useState(!1),[y,g]=h.useState(null),[p,b]=h.useState(null),[x,v]=h.useState(!1),[_,k]=h.useState(null),[D,C]=h.useState(0),[M,A]=h.useState(0),[N,T]=h.useState(null),[O,S]=h.useState(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(max-width: 640px)").matches),W=h.useMemo(()=>typeof window>"u"?!1:Pi(window.location.search),[]),j=h.useMemo(()=>Xh(),[]),[E,I]=h.useState(!1),[H,te]=h.useState(!1),Y=2200,[P,U]=h.useState(!0),[q,ne]=h.useState(!1),[X,G]=h.useState(!1),[J,se]=h.useState(!1),ie=vt(),Ae=n&&!r,ot=h.useMemo(()=>Ae&&(typeof t=="function"||typeof t=="string"||t&&typeof t=="object")?t:null,[t,Ae]),ke=Ae?ot:null,Me=o?Li(i):ke,Yt=n||ie||o,Qe=Ae&&$t(ke),He=n&&r&&!o;h.useEffect(()=>{if(!n||ie){g(null),b(null),v(!1),k(null);return}if(o)return;if(!Qe){g(null),b(null),v(!1),k(null);return}let w=!0;const L=()=>{g(null),b(null),v(!1),k(null)};return v(!0),k(null),(async()=>{let $=null;try{$=await wt(ke)}catch{$=null}if(w){if(!$){L();return}try{const K={link_code:null,expires_at:null};if(!w)return;g(typeof K?.link_code=="string"?K.link_code:null),b(typeof K?.expires_at=="string"?K.expires_at:null)}catch(K){if(!w)return;g(null),b(null),k(K?.message||"Failed to load link code")}finally{if(!w)return;v(!1)}}})(),()=>{w=!1}},[e,ie,n,o,Qe,ke,M]);const we=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");h.useEffect(()=>{if(!we&&(!n||ie||o)){T(null);return}if(!we&&!Qe){T(null);return}let w=!0;return(async()=>{let L=null;try{L=await wt(ke)}catch{L=null}if(w){if(!L&&!we){T(null);return}try{const $=await Bi({baseUrl:e,accessToken:L});if(!w)return;T($&&typeof $=="object"?$:null)}catch{if(!w)return;T(null)}}})(),()=>{w=!1}},[Qe,e,ke,ie,o,n]);const st=h.useMemo(()=>{if(!p)return!1;const w=Date.parse(p);if(!Number.isFinite(w))return!1;const L=D||Date.now();return w<=L},[p,D]);h.useEffect(()=>{!n||ie||o||!p||!st||x||(g(null),b(null),k(null),A(w=>w+1))},[st,p,x,ie,n]),h.useEffect(()=>{if(!p||o)return;const w=Date.parse(p);if(!Number.isFinite(w))return;const L=Date.now();if(C(L),w<=L)return;const $=window.setTimeout(()=>C(Date.now()),w-L),K=()=>{typeof document>"u"||document.visibilityState==="visible"&&C(Date.now())};return typeof document<"u"&&document.addEventListener("visibilitychange",K),window.addEventListener("focus",K),()=>{window.clearTimeout($),typeof document<"u"&&document.removeEventListener("visibilitychange",K),window.removeEventListener("focus",K)}},[p]),h.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const w=window.matchMedia("(max-width: 640px)"),L=()=>S(w.matches);return L(),w.addEventListener?(w.addEventListener("change",L),()=>w.removeEventListener("change",L)):(w.addListener(L),()=>w.removeListener(L))},[]);const he=h.useMemo(()=>Ja(),[]),me=h.useMemo(()=>Qa(),[]),je=h.useMemo(()=>$i(),[]),Fe=o?null:t?.userId||t?.email||"default",[Je,Ze]=h.useState("month"),[ve,it]=h.useState(null),[De,Ht]=h.useState(null),[Ut,et]=h.useState(!1),ee=W?"total":Je,_t=h.useMemo(()=>ee==="custom"&&ve&&De?{from:ve,to:De}:Ri(ee,{timeZone:he,offsetMinutes:me,now:je}),[je,ee,he,me,ve,De]),be=_t.from,xe=_t.to,Nt=h.useMemo(()=>Yi({timeZone:he,offsetMinutes:me}),[he,me]),lt=h.useMemo(()=>Hi({timeZone:he,offsetMinutes:me}),[he,me]),zt=h.useMemo(()=>`Local time (${lt})`,[lt]),qt=he,St=me,Vt=Nt,z=h.useMemo(()=>pr({timeZone:he,offsetMinutes:me,date:je||new Date}),[je,he,me]),Z=h.useMemo(()=>{const w=Vh(z)||new Date,L=Gh(w,-29);return{from:Pt(L),to:Pt(w)}},[z]),{daily:B,summary:V,rolling:ye,source:Q,loading:Gt,error:Mt,refresh:jt}=oa({baseUrl:e,accessToken:Me,guestAllowed:He,from:be,to:xe,includeDaily:ee!=="total",cacheKey:Fe,timeZone:he,tzOffsetMinutes:me,now:je}),{daily:Ue,loading:ct,refresh:ze}=oa({baseUrl:e,accessToken:Me,guestAllowed:He,from:Z.from,to:Z.to,includeDaily:!0,cacheKey:Fe?`${Fe}.daily-breakdown`:"daily-breakdown",timeZone:he,tzOffsetMinutes:me,now:je}),{breakdown:qe,loading:ss,refresh:Tr}=Cl({baseUrl:e,accessToken:Me,guestAllowed:He,from:be,to:xe,cacheKey:Fe,timeZone:he,tzOffsetMinutes:me}),[Or,is]=h.useState(3),{entries:ls,loading:cs,refresh:Ar}=kl({baseUrl:e,accessToken:Me,limit:Or,from:be,to:xe,timeZone:he,tzOffsetMinutes:me}),Fr=ee==="week"||ee==="month",cn=ee==="week"||ee==="month",Er=h.useMemo(()=>B.filter(w=>w?.future?!1:!w?.day||!z?!0:String(w.day)<=String(z)),[B,z]),{rows:Ve,from:ds,to:us,loading:fs,refresh:Wr}=vl({baseUrl:e,accessToken:Me,guestAllowed:He,period:ee,from:be,to:xe,months:24,cacheKey:Fe,timeZone:qt,tzOffsetMinutes:St,now:je,sharedRows:Fr?B:null,sharedRange:Fr?{from:be,to:xe}:null}),{daily:Dt,heatmap:Le,loading:Ir,refresh:Pr}=xl({baseUrl:e,accessToken:Me,guestAllowed:He,weeks:52,cacheKey:Fe,timeZone:he,tzOffsetMinutes:me,now:je}),{refresh:Lr}=zi(),Ee=h.useMemo(()=>ee==="day"?"hour":ee==="total"?"month":"day",[ee]),hs=h.useMemo(()=>ia(Ee),[Ee]),dn="day",ms=h.useMemo(()=>ia(dn),[]),[We,Br]=h.useState(()=>({key:"day",dir:"desc"}));h.useEffect(()=>{Br(w=>!sr.has(w.key)||w.key===Ee?w:{key:Ee,dir:w.dir})},[Ee]);const Ct=h.useMemo(()=>sr.has(We.key)&&We.key!==Ee?{...We,key:Ee}:We,[Ee,We]),un=h.useMemo(()=>{if(ee==="day")return Array.isArray(Ve)?Ve.filter($=>$?.hour&&!$?.future):[];if(ee==="total"){const $=Array.isArray(Ve)?Ve.filter(K=>K?.month&&!K?.future):[];return Yl($)}const w=Er;return!w.some($=>!$?.missing&&!$?.future)&&B.length>0?B.filter($=>!$?.future).slice(-30).filter($=>$?.day):w},[ee,Ve,Er,B]),Kt=h.useMemo(()=>la(un,Ct),[un,Ct]),ys=h.useMemo(()=>un.some(w=>!w?.missing&&!w?.future),[un]),Dn=h.useMemo(()=>{if(!tn.has(ee))return 1;const w=Math.ceil(Kt.length/vn);return w>0?w:1},[ee,Kt.length]),[Cn,fn]=h.useState(0);h.useEffect(()=>{if(!tn.has(ee)){fn(0);return}fn(w=>Math.min(w,Dn-1))},[Dn,ee]),h.useEffect(()=>{tn.has(ee)&&fn(0)},[ee,We.dir,We.key]);const gs=h.useMemo(()=>tn.has(ee)?Hl(Kt,Cn,vn):Kt,[Cn,ee,Kt]),$r=h.useMemo(()=>Ue.filter(w=>!w?.future&&w?.day).slice(-30),[Ue]),Tt=h.useMemo(()=>sr.has(We.key)?{...We,key:dn}:We,[We]),ps=h.useMemo(()=>la($r,Tt),[$r,Tt]),bs=h.useMemo(()=>cn?B:ee==="day"?Array.isArray(Ve)?Ve.filter(w=>w?.hour):[]:Ve,[B,ee,Ve,cn]),xs=cn?be:ds,ks=cn?xe:us;function ws(w,L){return w?.future?"—":w?.missing?m("shared.status.unsynced"):L==="total_tokens"?Ge(xn(w)):Ge(w?.[L])}function vs(w){const L=w?.[Ee];if(L==null)return"";const $=String(L);if(Ee==="hour"){const[K,ue]=$.split("T");if(K&&ue)return`${K} ${ue.slice(0,5)}`}return $}function _s(w){const L=w?.[dn];return L==null?"":String(L)}function Ns(w){Br(L=>L.key===w?{key:w,dir:L.dir==="asc"?"desc":"asc"}:{key:w,dir:"desc"})}function Ss(w){return Ct.key!==w?"none":Ct.dir==="asc"?"ascending":"descending"}function Ms(w){return Ct.key!==w?"":Ct.dir==="asc"?"▲":"▼"}function js(w){return Tt.key!==w?"none":Tt.dir==="asc"?"ascending":"descending"}function Ds(w){return Tt.key!==w?"":Tt.dir==="asc"?"▲":"▼"}const Tn=h.useMemo(()=>{if(!n&&!ie&&!o&&!we)return 0;const w=Number(Le?.active_days);if(Number.isFinite(w))return w;let L=0;const $=new Set,K=(oe,ce,fe)=>{typeof oe!="string"||!oe||$.has(oe)||ir(ce,fe)&&($.add(oe),L+=1)};if(Array.isArray(Dt))for(const oe of Dt)K(oe?.day,xn(oe));const ue=Array.isArray(Le?.weeks)?Le.weeks:[];for(const oe of ue)for(const ce of Array.isArray(oe)?oe:[]){const fe=za(ce);K(ce?.day,fe,ce?.level)}return L},[n,ie,Le?.active_days,Le?.weeks,Dt]),[Rr,Yr]=h.useState("month"),Cs=h.useCallback(w=>{w==="custom"?(Yr(L=>L==="custom"?"month":L),Ze(L=>ve&&De?"custom":L),et(!0)):(Ze(w),Yr(w),et(!1))},[ve,De]),Ts=h.useCallback((w,L)=>{it(w),Ht(L),Ze("custom"),et(!1)},[]),Os=h.useCallback(w=>{et(w),!w&&Je==="custom"&&!ve&&Ze(Rr)},[Je,ve,Rr]),Hr=h.useCallback(async()=>{await Promise.all([jt(),Pr(),Wr(),Tr(),Ar(),ze(),Lr()])},[ze,Pr,Tr,Ar,Wr,jt,Lr]),As=h.useCallback(async()=>{se(!0);try{we&&await Ui(),await Hr()}catch(w){console.error("[DashboardPage] Refresh failed:",w)}finally{se(!1)}},[we,Hr]),Fs=J||Gt||ct||Ir||fs||ss||cs,Es=h.useMemo(()=>m("shared.data_source",{source:String(Q||"edge").toUpperCase()}),[Q,d]),hn=h.useMemo(()=>typeof t?.name!="string"?"":t.name.trim(),[t?.name]),Ws="",Ur=h.useMemo(()=>!hn||hn.includes("@")?m("dashboard.identity.fallback"):hn,[hn]),zr=h.useMemo(()=>Ur.replace(/[^a-zA-Z0-9._-]/g,"_"),[Ur]),qr=h.useMemo(()=>o?m("dashboard.identity.fallback"):zr,[zr,Ws,o]),Vr=h.useMemo(()=>{let w=null;const L=K=>{typeof K!="string"||!K||(!w||K<w)&&(w=K)};if(Array.isArray(Dt))for(const K of Dt)K?.day&&ir(xn(K))&&L(K.day);const $=Array.isArray(Le?.weeks)?Le.weeks:[];for(const K of $)for(const ue of Array.isArray(K)?K:[]){if(!ue?.day)continue;const oe=za(ue),ce=ue?.level;ir(oe,ce)&&L(ue.day)}return w},[Le?.weeks,Dt]),Is=h.useMemo(()=>o?[]:(Array.isArray(N?.subscriptions?.items)?N.subscriptions.items:[]).map($=>{const K=typeof $?.tool=="string"?$.tool.trim():"",oe=(typeof $?.plan_type=="string"?$.plan_type:typeof $?.planType=="string"?$.planType:"").trim();return!K||!oe?null:{tool:K,planType:oe,provider:typeof $?.provider=="string"?$.provider.trim():"",product:typeof $?.product=="string"?$.product.trim():"",rateLimitTier:typeof $?.rate_limit_tier=="string"?$.rate_limit_tier.trim():typeof $?.rateLimitTier=="string"?$.rateLimitTier.trim():""}}).filter(Boolean).slice(0,6),[o,N]),Ps=s.jsx(nc,{heatmap:Le,timeZoneLabel:Nt,timeZoneShortLabel:lt,hideLegend:W,defaultToLatestMonth:W}),Ls=h.useMemo(()=>`${be}..${xe}`,[be,ee,xe]),Bs=m("usage.summary.total"),dt=xn(V),Gr=m("shared.unit.thousand_abbrev"),Kr=m("shared.unit.million_abbrev"),Xr=m("shared.unit.billion_abbrev"),mn=Te(dt),Qr=O&&mn!=null&&Math.abs(mn)>=1e9,$s=h.useMemo(()=>Qr?Oe(mn,{thousandSuffix:Gr,millionSuffix:Kr,billionSuffix:Xr,decimals:1}):Ge(dt),[Xr,Kr,dt,mn,Gr,Qr]),Rs=m("dashboard.core_index.collapse_label"),Ys=m("dashboard.core_index.expand_label"),Hs=m("dashboard.core_index.collapse_aria"),Us=m("dashboard.core_index.expand_aria"),zs=!W,qs=m("dashboard.screenshot.title_line1"),Vs=m("dashboard.screenshot.title_line2"),Gs=m("dashboard.screenshot.twitter_label"),Ks=m("dashboard.screenshot.twitter_button"),Xs=m("dashboard.screenshot.twitter_hint"),Ot=m("shared.placeholder.short"),On=h.useMemo(()=>{const w=Array.isArray(qe?.sources)?qe.sources:[];let L=null,$=0;for(const ce of w){const fe=Lt(ce?.totals);!Number.isFinite(fe)||fe<=0||fe>$&&($=fe,L=ce)}let K=Ot,ue=Ot,oe="0.0";if(L&&$>0){K=L?.source?String(L.source).toUpperCase():Ot;const ce=Array.isArray(L?.models)?L.models:[];let fe=0;for(const tt of ce){const Qt=Lt(tt?.totals);!Number.isFinite(Qt)||Qt<=0||Qt>fe&&(fe=Qt,ue=tt?.model?String(tt.model):Ot)}fe>0&&(oe=(fe/$*100).toFixed(1))}return{agentName:K,modelName:ue,modelPercent:oe}},[qe,Ot]),Jr=Ge(dt),An=m("dashboard.screenshot.twitter_text",{total_tokens:Jr==="-"?Ot:Jr,agent_name:On.agentName,model_name:On.modelName,model_percent:On.modelPercent}),Fn=h.useMemo(()=>{if(typeof window>"u")return"";const w=new URL("https://twitter.com/intent/tweet");return w.searchParams.set("text",An),w.toString()},[An]),Zr=h.useCallback(async()=>{if(typeof window>"u")return null;const w=async()=>{const ce=performance.now();for(;performance.now()-ce<2e3;){const fe=document.querySelector("[data-heatmap-scroll='true']");if(!fe||fe.dataset.latestMonthReady==="true")return;await new Promise(tt=>requestAnimationFrame(tt))}},L=document.querySelector("#root")||document.body,$=document.documentElement,{scrollWidth:K,scrollHeight:ue}=document.documentElement;$?.classList.add("screenshot-capture"),document.body?.classList.add("screenshot-capture"),await new Promise(oe=>requestAnimationFrame(oe)),await w();try{const{toBlob:oe,toPng:ce}=await eo(async()=>{const{toBlob:ut,toPng:xi}=await import("./index-BeoRn2gJ.js");return{toBlob:ut,toPng:xi}},[]),fe=await oe(L,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:K,height:ue,style:{width:`${K}px`,height:`${ue}px`},filter:ut=>!(ut instanceof HTMLElement)||ut.dataset?.screenshotExclude!=="true"});if(fe)return fe;const tt=await ce(L,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:K,height:ue,style:{width:`${K}px`,height:`${ue}px`},filter:ut=>!(ut instanceof HTMLElement)||ut.dataset?.screenshotExclude!=="true"});return tt?await(await fetch(tt)).blob():null}finally{$?.classList.remove("screenshot-capture"),document.body?.classList.remove("screenshot-capture")}},[]),Qs=h.useCallback(async()=>{if(typeof window>"u"||E)return;I(!0);const w=navigator?.userAgent||"",L=/iP(hone|od|ad)/i.test(w),$=/Safari/i.test(w)&&!/Chrome|Chromium|Edg|OPR|CriOS|FxiOS/i.test(w),K=typeof navigator<"u"&&!!navigator.clipboard?.write&&typeof window<"u"&&!!window.ClipboardItem;let oe=!K||L||$;try{const ce=await Zr();ce&&K&&(typeof document<"u"&&!document.hasFocus()&&window.focus?.(),oe=await cr(ce))}catch(ce){console.error("Failed to capture screenshot",ce)}finally{if(I(!1),!oe){console.warn("Failed to write screenshot to clipboard.");return}Fn&&(window.location.href=Fn)}},[Zr,E,Fn]),Js=h.useMemo(()=>W?[]:qh,[W]),Zs=h.useMemo(()=>[{label:m("usage.metric.total"),value:Ge(dt),valueClassName:"text-white"},{label:m("usage.metric.input"),value:Ge(V?.input_tokens)},{label:m("usage.metric.output"),value:Ge(V?.output_tokens)},{label:m("usage.metric.cached_input"),value:Ge(V?.cached_input_tokens)},{label:m("usage.metric.reasoning_output"),value:Ge(V?.reasoning_output_tokens)}],[V?.cached_input_tokens,V?.input_tokens,V?.output_tokens,V?.reasoning_output_tokens,dt]),En=h.useMemo(()=>{const w=Sn(V?.total_cost_usd);return!w||w==="-"||w.startsWith("$")?w:`$${w}`},[V?.total_cost_usd]),ei=h.useMemo(()=>V?.conversation_count??null,[V?.conversation_count]),ea=h.useMemo(()=>ql(qe,{copyFn:m}),[qe]),ta=h.useMemo(()=>Vl(qe,{limit:3,copyFn:m}),[qe]),ti=zh({enabled:H,handle:qr,startDate:Vr,activeDays:Tn,summary:V,topModels:ta,period:ee,periodFrom:be,periodTo:xe,heatmap:Le,accessToken:typeof Me=="string"?Me:null,userId:t?.userId||null}),ni=h.useCallback(()=>te(!0),[]),ri=h.useCallback(()=>te(!1),[]),ai=h.useCallback(()=>f(!0),[]),oi=h.useCallback(()=>f(!1),[]),si=En&&En!=="-"&&ea.length>0,Xt=m("dashboard.install.cmd.init"),Wn=st?null:y,In=Wn?m("dashboard.install.cmd.init_link_code",{link_code:Wn}):Xt,ii=Xt,li=m("dashboard.install.cmd.sync"),ci=Wn?m("dashboard.install.copy"):m("dashboard.install.copy_base"),di=m("dashboard.install.copied");m("dashboard.session_expired.copy_label"),m("dashboard.session_expired.copied");const ui=!!(N?.install?.has_active_device_token??N?.install?.hasActiveDeviceToken),fi=Ul({publicMode:o,screenshotMode:W,forceInstall:j,accessEnabled:Yt,heatmapLoading:Ir,activeDays:Tn,hasActiveDeviceToken:ui}),hi=m("dashboard.install.prompt"),mi=h.useCallback(async()=>{!In||!await na(In)||(ne(!0),window.setTimeout(()=>ne(!1),2e3))},[In]);h.useCallback(async()=>{!Xt||!await na(Xt)||(G(!0),window.setTimeout(()=>G(!1),2e3))},[Xt]);const Pn=h.useMemo(()=>m("dashboard.daily.empty",{cmd:"{{cmd}}"}),[d]),[yi,gi]=h.useMemo(()=>{const w=Pn.split("{{cmd}}");return w.length===1?[Pn,""]:[w[0],w.slice(1).join("{{cmd}}")]},[Pn]),pi=r&&!o,bi=!n&&!ie&&!r&&!we&&!o;return s.jsxs(s.Fragment,{children:[s.jsx(sh,{copy:m,onOpenShare:ni,screenshotMode:W,showExpiredGate:pi,showAuthGate:bi,screenshotTitleLine1:qs,screenshotTitleLine2:Vs,identityDisplayName:qr,identityStartDate:Vr,activeDays:Tn,identitySubscriptions:Is,identityScrambleDurationMs:Y,projectUsageEntries:ls,projectUsageLimit:Or,setProjectUsageLimit:is,topModels:ta,signedIn:n,publicMode:o,isLocalMode:we,shouldShowInstall:fi,installPrompt:hi,handleCopyInstall:mi,installCopied:q,installCopiedLabel:di,installCopyLabel:ci,installInitCmdDisplay:ii,linkCodeLoading:x,linkCodeError:_,trendRowsForDisplay:bs,trendFromForDisplay:xs,trendToForDisplay:ks,usageFrom:be,usageTo:xe,period:ee,trendTimeZoneLabel:Vt,activityHeatmapBlock:Ps,isCapturing:E,handleShareToX:Qs,screenshotTwitterLabel:Gs,screenshotTwitterButton:Ks,screenshotTwitterHint:Xs,periodsForDisplay:Js,setSelectedPeriod:Cs,customFrom:ve,customTo:De,onCustomRangeApply:Ts,customRangeOpen:Ut,onCustomRangeOpenChange:Os,metricsRows:Zs,summaryLabel:Bs,summaryValue:$s,summaryTotalTokensRaw:Te(dt)||0,summaryCostValue:En,summaryConversationsValue:ei,rollingUsage:ye,costInfoEnabled:si,openCostModal:ai,allowBreakdownToggle:zs,coreIndexCollapsed:P,setCoreIndexCollapsed:U,coreIndexCollapseLabel:Rs,coreIndexExpandLabel:Ys,coreIndexCollapseAria:Hs,coreIndexExpandAria:Us,refreshAll:As,usageLoadingState:Fs,usageError:Mt,rangeLabel:Ls,timeZoneRangeLabel:zt,usageSourceLabel:Es,fleetData:ea,hasDetailsActual:ys,dailyEmptyPrefix:yi,installSyncCmd:li,dailyEmptySuffix:gi,detailsColumns:hs,ariaSortFor:Ss,toggleSort:Ns,sortIconFor:Ms,pagedDetails:gs,dailyBreakdownRows:ps,dailyBreakdownColumns:ms,dailyBreakdownAriaSortFor:js,dailyBreakdownSortIconFor:Ds,dailyBreakdownDateKey:dn,detailsDateKey:Ee,renderDetailDate:vs,renderDailyBreakdownDate:_s,renderDetailCell:ws,DETAILS_PAGED_PERIODS:tn,detailsPageCount:Dn,detailsPage:Cn,setDetailsPage:fn,costModalOpen:u,closeCostModal:oi}),s.jsx(Uh,{open:H,onClose:ri,data:ti,twitterText:An})]})}export{sm as DashboardPage};