diff --git a/.gitignore b/.gitignore index feb5458..4566b78 100644 --- a/.gitignore +++ b/.gitignore @@ -24,14 +24,18 @@ go.work.sum *.sqlite-wal # Frontend — build artifacts -# `ui/dist/` is generated by `npm run build` and never committed. We DO -# commit `ui/dist/index.html` — a placeholder the Go `//go:embed ui/dist` -# directive needs at compile time. CI builds the UI before every Go step -# so the embedded assets are always fresh. +# `ui/dist/` IS committed in full so that `go install +# github.com/RandomCodeSpace/docsiq@vX.Y.Z` produces a working binary +# with the embedded SPA. The Go `//go:embed ui/dist` directive needs the +# real built assets present in the source tree at compile time; without +# them the binary serves a placeholder index.html and 404s on every +# /assets/* request. Re-build with `npm run build` and commit the +# resulting `ui/dist/` before tagging a release. CI also runs +# `npm run build` before `go build` so release binaries are always fresh. +# Other top-level dist/ build artefacts stay ignored. dist/ !ui/dist/ -ui/dist/* -!ui/dist/index.html +!ui/dist/** # Frontend — tooling caches ui/node_modules/ diff --git a/ui/dist/assets/DocumentView-8W-IWHID.js b/ui/dist/assets/DocumentView-8W-IWHID.js new file mode 100644 index 0000000..ebc9a3b --- /dev/null +++ b/ui/dist/assets/DocumentView-8W-IWHID.js @@ -0,0 +1,5 @@ +import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{N as t,P as n,b as r,c as i,h as a,k as o,l as s,u as c}from"./index-Dtmrigu0.js";import{t as l}from"./markdown-Du-2HpsD.js";import{n as u,t as d}from"./useDocs-Dp_sgc0W.js";var f=e(n(),1),p=o(),m=new l({html:!1,linkify:!0,breaks:!1});function h(){let{id:e}=t(),n=r(e=>e.slug),{data:o,isLoading:l,error:h,refetch:g}=d(n,e),{data:_,isLoading:v}=u(n,e),y=h,b=o?.title||o?.path;a(b?[b,`Documents`]:void 0);let x=(0,f.useMemo)(()=>_?[..._].sort((e,t)=>e.chunk_index-t.chunk_index):[],[_]),S=(0,f.useMemo)(()=>{if(x.length===0)return``;let e=x.map(e=>e.content).join(` + +`);return o?.doc_type===`md`||o?.doc_type===`markdown`?m.render(e):``},[x,o?.doc_type]);return l?(0,p.jsx)(`div`,{className:`p-8 max-w-[760px] mx-auto`,children:(0,p.jsx)(s,{label:`Loading document`,rows:5})}):y?(0,p.jsx)(`div`,{className:`p-8 max-w-[760px] mx-auto`,children:(0,p.jsx)(i,{title:`Document failed to load`,message:y.message||`Unknown error`,onRetry:()=>g()})}):o?(0,p.jsxs)(`article`,{className:`doc-view p-8 max-w-[760px] mx-auto`,children:[(0,p.jsxs)(`header`,{className:`doc-view-header mb-6`,children:[(0,p.jsx)(`h1`,{className:`doc-view-title text-2xl font-semibold`,children:o.title||o.path}),(0,p.jsxs)(`div`,{className:`doc-view-meta text-sm opacity-70 mt-1`,children:[o.doc_type,` · v`,o.version,x.length>0&&` · ${x.length} chunk${x.length===1?``:`s`}`]})]}),v?(0,p.jsx)(s,{label:`Loading content`,rows:6}):x.length===0?(0,p.jsx)(c,{title:`No content available`,description:"This document has no indexed chunks yet — try re-running `docsiq index` for this path."}):S?(0,p.jsx)(`div`,{className:`doc-view-body prose dark:prose-invert max-w-none`,dangerouslySetInnerHTML:{__html:S}}):(0,p.jsx)(`pre`,{className:`doc-view-body whitespace-pre-wrap text-sm leading-relaxed`,children:x.map(e=>e.content).join(` + +`)})]}):(0,p.jsx)(`div`,{className:`p-8 max-w-[760px] mx-auto`,children:(0,p.jsx)(c,{title:`Document not found`,description:`The document may have been deleted.`})})}export{h as default}; \ No newline at end of file diff --git a/ui/dist/assets/DocumentsList-CXYq3r-Y.js b/ui/dist/assets/DocumentsList-CXYq3r-Y.js new file mode 100644 index 0000000..9f779a7 --- /dev/null +++ b/ui/dist/assets/DocumentsList-CXYq3r-Y.js @@ -0,0 +1,5 @@ +import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{A as t,E as n,O as r,P as i,T as a,_ as o,b as s,c,d as l,f as u,k as d,l as f,m as p,p as m,s as h,u as g,v as _}from"./index-Dtmrigu0.js";import{r as v}from"./useDocs-Dp_sgc0W.js";var y=e(i(),1),b=d();function x({className:e,...t}){return(0,b.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,b.jsx)(`table`,{"data-slot":`table`,className:n(`w-full caption-bottom text-sm`,e),...t})})}function S({className:e,...t}){return(0,b.jsx)(`thead`,{"data-slot":`table-header`,className:n(`[&_tr]:border-b`,e),...t})}function C({className:e,...t}){return(0,b.jsx)(`tbody`,{"data-slot":`table-body`,className:n(`[&_tr:last-child]:border-0`,e),...t})}function w({className:e,...t}){return(0,b.jsx)(`tr`,{"data-slot":`table-row`,className:n(`border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted`,e),...t})}function T({className:e,...t}){return(0,b.jsx)(`th`,{"data-slot":`table-head`,className:n(`h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function E({className:e,...t}){return(0,b.jsx)(`td`,{"data-slot":`table-cell`,className:n(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}var D={jobId:``,file:``,phase:``,chunksDone:0,chunksTotal:0,message:``,done:!1,error:``,history:[]};function O(e,t){return{jobId:t.job_id,file:t.file??e.file,phase:t.phase,chunksDone:t.chunks_done??0,chunksTotal:t.chunks_total??e.chunksTotal,message:t.message??``,done:t.done,error:t.error??``,history:[...e.history,t]}}function k(e){let t=[],n=0;for(;ne())},reset(n){e.delete(n),t.forEach(e=>e())},subscribe(e){return t.add(e),()=>{t.delete(e)}}}}var j=A();function M(e){let t=(0,y.useRef)(null),[,n]=(0,y.useState)(0),r=(0,y.useSyncExternalStore)(j.subscribe,()=>e?j.get(e):null,()=>e?j.get(e):null);return(0,y.useEffect)(()=>{if(!e){t.current=null;return}if(t.current===e)return;t.current=e;let r=`/api/upload/progress?job_id=${encodeURIComponent(e)}`,i=!1,a=``,o=new AbortController;return fetch(r,{method:`GET`,credentials:`include`,headers:{Accept:`text/event-stream`},signal:o.signal}).then(async t=>{if(!t.ok||!t.body){j.apply(e,{job_id:e,phase:`error`,message:`progress stream failed: HTTP ${t.status}`,done:!0,error:`HTTP ${t.status}`});return}let n=t.body.getReader(),r=new TextDecoder;for(;!i;){let{value:t,done:s}=await n.read();if(s)break;a+=r.decode(t,{stream:!0});let{events:c,rest:l}=k(a);a=l;for(let t of c)if(j.apply(e,t),t.done){i=!0,o.abort();break}}}).catch(t=>{!i&&t?.name!==`AbortError`&&j.apply(e,{job_id:e,phase:`error`,message:String(t),done:!0,error:String(t)})}),n(e=>e+1),()=>{i=!0,o.abort()}},[e]),r}function N(e){j.reset(e)}var P={queued:`Queued`,load:`Loading`,chunk:`Chunking`,indexing:`Indexing`,embed:`Embedding`,extract_entities:`Extracting entities`,extract_relationships:`Linking relationships`,extract_claims:`Extracting claims`,structure:`Summarising`,finalize:`Finalising graph`,done:`Done`,error:`Failed`,cancelled:`Cancelled`};function F(e){let t=new Map;for(let n of e){let e=n.file||`(job)`,r=t.get(e)??{phase:``,message:``,chunksDone:0,chunksTotal:0,error:``};t.set(e,{phase:n.phase,message:n.message??r.message,chunksDone:n.chunks_done??r.chunksDone,chunksTotal:n.chunks_total??r.chunksTotal,error:n.error??r.error})}return t}function I({open:e,onOpenChange:t}){let n=s(e=>e.slug),i=r(),[a,c]=(0,y.useState)(!1),[d,f]=(0,y.useState)(null),[h,g]=(0,y.useState)(null),v=M(h);(0,y.useEffect)(()=>{v?.done&&(c(!1),i.invalidateQueries({queryKey:o.docs(n)}),i.invalidateQueries({queryKey:o.stats(n)}))},[v?.done,i,n]),(0,y.useEffect)(()=>{e||(h&&N(h),g(null),f(null))},[e,h]);async function x(e){if(!(!e||e.length===0)){c(!0),f(null),g(null);try{let t=new FormData;for(let n of Array.from(e))t.append(`files`,n,n.name);g((await _(`/api/upload?project=${encodeURIComponent(n)}`,{method:`POST`,body:t})).job_id)}catch(e){f(e.message),c(!1)}}}let S=(0,y.useMemo)(()=>v?F(v.history):new Map,[v]);return(0,b.jsx)(l,{open:e,onOpenChange:t,children:(0,b.jsxs)(u,{children:[(0,b.jsx)(m,{children:(0,b.jsx)(p,{children:`Upload documents`})}),(0,b.jsx)(`input`,{type:`file`,multiple:!0,disabled:a,onChange:e=>x(e.currentTarget.files),className:`block w-full text-sm`,"aria-label":`Choose files to upload`}),d&&(0,b.jsx)(`p`,{className:`text-xs text-destructive`,role:`alert`,children:d}),h&&(0,b.jsx)(`ul`,{className:`mt-3 flex flex-col gap-2 text-xs`,"aria-live":`polite`,"aria-busy":a,children:[...S.entries()].map(([e,t])=>(0,b.jsxs)(`li`,{className:`flex flex-col gap-1 rounded border border-border bg-muted/40 px-3 py-2`,children:[(0,b.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,b.jsx)(`span`,{className:`truncate font-medium text-foreground`,title:e,children:e}),(0,b.jsx)(`span`,{className:t.phase===`error`?`text-destructive`:t.phase===`done`?`text-emerald-600 dark:text-emerald-400`:`text-muted-foreground`,children:P[t.phase]??t.phase})]}),t.chunksTotal>0&&t.phase===`embed`&&(0,b.jsxs)(`div`,{className:`text-muted-foreground`,children:[`embedding `,t.chunksDone,`/`,t.chunksTotal,` chunks`]}),t.message&&t.phase!==`embed`&&(0,b.jsx)(`div`,{className:`text-muted-foreground truncate`,title:t.message,children:t.message}),t.error&&(0,b.jsx)(`div`,{className:`text-destructive break-words`,role:`alert`,children:t.error})]},e))}),a&&!h&&(0,b.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Uploading…`})]})})}function L(){let{data:e,isLoading:n,error:r,refetch:i}=v(s(e=>e.slug)),o=e??[],l=r,[u,d]=(0,y.useState)(!1);return(0,b.jsxs)(`div`,{className:`docs-page`,children:[(0,b.jsxs)(`div`,{className:`docs-page-head`,children:[(0,b.jsx)(`h1`,{className:`docs-page-title`,children:`Documents`}),(0,b.jsx)(a,{onClick:()=>d(!0),children:`Upload`})]}),(0,b.jsx)(I,{open:u,onOpenChange:d}),n?(0,b.jsx)(f,{label:`Loading documents`,rows:6}):l?(0,b.jsx)(c,{title:`Documents failed to load`,message:l.message||`Unknown error`,onRetry:()=>i()}):o.length===0?(0,b.jsx)(g,{title:`No documents yet`,description:`Upload a PDF, DOCX, or web page to get started.`}):(0,b.jsx)(`div`,{className:`table-scroll`,children:(0,b.jsxs)(x,{children:[(0,b.jsx)(S,{children:(0,b.jsxs)(w,{children:[(0,b.jsx)(T,{children:`Title`}),(0,b.jsx)(T,{children:`Type`}),(0,b.jsx)(T,{children:`Updated`})]})}),(0,b.jsx)(C,{children:o.map(e=>(0,b.jsxs)(w,{children:[(0,b.jsx)(E,{children:(0,b.jsx)(t,{to:`/docs/${e.id}`,className:`text-foreground underline decoration-dotted`,children:e.title||e.path})}),(0,b.jsx)(E,{className:`text-muted-foreground`,children:e.doc_type}),(0,b.jsx)(E,{className:`text-muted-foreground`,children:h(e.updated_at*1e3)})]},e.id))})]})})]})}export{L as default}; \ No newline at end of file diff --git a/ui/dist/assets/Graph-D7GvlYUe.js b/ui/dist/assets/Graph-D7GvlYUe.js new file mode 100644 index 0000000..7d94448 --- /dev/null +++ b/ui/dist/assets/Graph-D7GvlYUe.js @@ -0,0 +1 @@ +import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{a as t,c as n,o as r,s as i}from"./graph-YlRq3euP.js";import{P as a,b as o,c as s,k as c,l,n as u,o as d,t as f,u as p}from"./index-Dtmrigu0.js";function m(e,n,r){var i=new t;return n=n==null?0:+n,i.restart(t=>{i.stop(),e(t+n)},n,r),i}var h={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function g(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),h.hasOwnProperty(t)?{space:h[t],local:e}:e}function _(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function v(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function y(e){var t=g(e);return(t.local?v:_)(t)}function b(){}function x(e){return e==null?b:function(){return this.querySelector(e)}}function ee(e){typeof e!=`function`&&(e=x(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i=v&&(v=_+1);!(b=g[v])&&++v=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function ke(e){e||=Ae;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;at?1:e>=t?0:NaN}function je(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Me(){return Array.from(this)}function Ne(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?Ge:typeof t==`function`?qe:Ke)(e,t,n??``)):C(this.node(),e)}function C(e,t){return e.style.getPropertyValue(t)||We(e).getComputedStyle(e,null).getPropertyValue(t)}function Ye(e){return function(){delete this[e]}}function Xe(e,t){return function(){this[e]=t}}function Ze(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Qe(e,t){return arguments.length>1?this.each((t==null?Ye:typeof t==`function`?Ze:Xe)(e,t)):this.node()[e]}function $e(e){return e.trim().split(/^|\s+/)}function et(e){return e.classList||new tt(e)}function tt(e){this._node=e,this._names=$e(e.getAttribute(`class`)||``)}tt.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function nt(e,t){for(var n=et(e),r=-1,i=t.length;++r=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function jt(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?F(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?F(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Yt.exec(e))?new I(t[1],t[2],t[3],1):(t=Xt.exec(e))?new I(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Zt.exec(e))?F(t[1],t[2],t[3],t[4]):(t=Qt.exec(e))?F(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=$t.exec(e))?pn(t[1],t[2]/100,t[3]/100,1):(t=en.exec(e))?pn(t[1],t[2]/100,t[3]/100,t[4]):tn.hasOwnProperty(e)?sn(tn[e]):e===`transparent`?new I(NaN,NaN,NaN,0):null}function sn(e){return new I(e>>16&255,e>>8&255,e&255,1)}function F(e,t,n,r){return r<=0&&(e=t=n=NaN),new I(e,t,n,r)}function cn(e){return e instanceof O||(e=P(e)),e?(e=e.rgb(),new I(e.r,e.g,e.b,e.opacity)):new I}function ln(e,t,n,r){return arguments.length===1?cn(e):new I(e,t,n,r??1)}function I(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Kt(I,ln,qt(O,{brighter(e){return e=e==null?A:A**+e,new I(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?k:k**+e,new I(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new I(R(this.r),R(this.g),R(this.b),L(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:un,formatHex:un,formatHex8:dn,formatRgb:fn,toString:fn}));function un(){return`#${z(this.r)}${z(this.g)}${z(this.b)}`}function dn(){return`#${z(this.r)}${z(this.g)}${z(this.b)}${z((isNaN(this.opacity)?1:this.opacity)*255)}`}function fn(){let e=L(this.opacity);return`${e===1?`rgb(`:`rgba(`}${R(this.r)}, ${R(this.g)}, ${R(this.b)}${e===1?`)`:`, ${e})`}`}function L(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function R(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function z(e){return e=R(e),(e<16?`0`:``)+e.toString(16)}function pn(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new B(e,t,n,r)}function mn(e){if(e instanceof B)return new B(e.h,e.s,e.l,e.opacity);if(e instanceof O||(e=P(e)),!e)return new B;if(e instanceof B)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n0&&c<1?0:o,new B(o,s,c,e.opacity)}function hn(e,t,n,r){return arguments.length===1?mn(e):new B(e,t,n,r??1)}function B(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Kt(B,hn,qt(O,{brighter(e){return e=e==null?A:A**+e,new B(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?k:k**+e,new B(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new I(_n(e>=240?e-240:e+120,i,r),_n(e,i,r),_n(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new B(gn(this.h),V(this.s),V(this.l),L(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=L(this.opacity);return`${e===1?`hsl(`:`hsla(`}${gn(this.h)}, ${V(this.s)*100}%, ${V(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function gn(e){return e=(e||0)%360,e<0?e+360:e}function V(e){return Math.max(0,Math.min(1,e||0))}function _n(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var vn=e=>()=>e;function yn(e,t){return function(n){return e+n*t}}function bn(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function xn(e){return(e=+e)==1?Sn:function(t,n){return n-t?bn(t,n,e):vn(isNaN(t)?n:t)}}function Sn(e,t){var n=t-e;return n?yn(e,n):vn(isNaN(e)?t:e)}var Cn=(function e(t){var n=xn(t);function r(e,t){var r=n((e=ln(e)).r,(t=ln(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Sn(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function H(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var wn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Tn=new RegExp(wn.source,`g`);function En(e){return function(){return e}}function Dn(e){return function(t){return e(t)+``}}function On(e,t){var n=wn.lastIndex=Tn.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=wn.exec(e))&&(i=Tn.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:H(r,i)})),n=Tn.lastIndex;return n180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:H(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:H(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:H(e,n)},{i:s-2,x:H(t,r)})}else (n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t0)throw Error(`too late; already scheduled`);return n}function G(e,t){var n=K(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function K(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function Kn(e,t,n){var r=e.__transition,a;r[t]=n,n.timer=i(o,0,n.time);function o(e){n.state=1,n.timer.restart(s,n.delay,n.time),n.delay<=e&&s(e-n.delay)}function s(i){var o,u,d,f;if(n.state!==1)return l();for(o in r)if(f=r[o],f.name===n.name){if(f.state===3)return m(s);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[o]):+o2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function qn(e){return this.each(function(){q(this,e)})}function Jn(e,t){var n,r;return function(){var i=G(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o=0&&(e=e.slice(0,t)),!e||e===`start`})}function wr(e,t,n){var r,i,a=Cr(t)?Gn:G;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function Tr(e,t){var n=this._id;return arguments.length<2?K(this.node(),n).on.on(e):this.each(wr(n,e,t))}function Er(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Dr(){return this.on(`end.remove`,Er(this._id))}function Or(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=x(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o()=>e;function ri(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function X(e,t,n){this.k=e,this.x=t,this.y=n}X.prototype={constructor:X,scale:function(e){return e===1?this:new X(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new X(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var Z=new X(1,0,0);ii.prototype=X.prototype;function ii(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Z;return e.__zoom}function ai(e){e.stopImmediatePropagation()}function Q(e){e.preventDefault(),e.stopImmediatePropagation()}function oi(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function si(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute(`viewBox`)?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ci(){return this.__zoom||Z}function li(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ui(){return navigator.maxTouchPoints||`ontouchstart`in this}function di(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function fi(){var e=oi,t=si,r=di,i=li,a=ui,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],c=250,l=Hn,u=n(`start`,`zoom`,`end`),d,f,p,m=500,h=150,g=0,_=10;function v(e){e.property(`__zoom`,ci).on(`wheel.zoom`,ne,{passive:!1}).on(`mousedown.zoom`,re).on(`dblclick.zoom`,ie).filter(a).on(`touchstart.zoom`,ae).on(`touchmove.zoom`,oe).on(`touchend.zoom touchcancel.zoom`,se).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}v.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,ci),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):ee(e,t,n,r)},v.scaleBy=function(e,t,n,r){v.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},v.scaleTo=function(e,n,i,a){v.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,o=i==null?x(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(o),l=typeof n==`function`?n.apply(this,arguments):n;return r(b(y(a,l),o,c),e,s)},i,a)},v.translateBy=function(e,n,i,a){v.transform(e,function(){return r(this.__zoom.translate(typeof n==`function`?n.apply(this,arguments):n,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),s)},null,a)},v.translateTo=function(e,n,i,a,o){v.transform(e,function(){var e=t.apply(this,arguments),o=this.__zoom,c=a==null?x(e):typeof a==`function`?a.apply(this,arguments):a;return r(Z.translate(c[0],c[1]).scale(o.k).translate(typeof n==`function`?-n.apply(this,arguments):-n,typeof i==`function`?-i.apply(this,arguments):-i),e,s)},a,o)};function y(e,t){return t=Math.max(o[0],Math.min(o[1],t)),t===e.k?e:new X(t,e.x,e.y)}function b(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new X(e.k,r,i)}function x(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function ee(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),c=r==null?x(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=l(d.invert(c).concat(u/d.k),f.invert(c).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new X(n,c[0]-t[0]*n,c[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new te(e,t)}function te(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}te.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=E(this.that).datum();u.call(e,this.that,new ri(e,{sourceEvent:this.sourceEvent,target:v,type:e,transform:this.that.__zoom,dispatch:u}),t)}};function ne(t,...n){if(!e.apply(this,arguments))return;var a=S(this,n).event(t),c=this.__zoom,l=Math.max(o[0],Math.min(o[1],c.k*2**i.apply(this,arguments))),u=D(t);if(a.wheel)(a.mouse[0][0]!==u[0]||a.mouse[0][1]!==u[1])&&(a.mouse[1]=c.invert(a.mouse[0]=u)),clearTimeout(a.wheel);else if(c.k===l)return;else a.mouse=[u,c.invert(u)],q(this),a.start();Q(t),a.wheel=setTimeout(d,h),a.zoom(`mouse`,r(b(y(c,l),a.mouse[0],a.mouse[1]),a.extent,s));function d(){a.wheel=null,a.end()}}function re(t,...n){if(p||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,n,!0).event(t),o=E(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,f,!0),c=D(t,i),l=t.clientX,u=t.clientY;Wt(t.view),ai(t),a.mouse=[c,this.__zoom.invert(c)],q(this),a.start();function d(e){if(Q(e),!a.moved){var t=e.clientX-l,n=e.clientY-u;a.moved=t*t+n*n>g}a.event(e).zoom(`mouse`,r(b(a.that.__zoom,a.mouse[0]=D(e,i),a.mouse[1]),a.extent,s))}function f(e){o.on(`mousemove.zoom mouseup.zoom`,null),Gt(e.view,a.moved),Q(e),a.event(e).end()}}function ie(n,...i){if(e.apply(this,arguments)){var a=this.__zoom,o=D(n.changedTouches?n.changedTouches[0]:n,this),l=a.invert(o),u=a.k*(n.shiftKey?.5:2),d=r(b(y(a,u),o,l),t.apply(this,i),s);Q(n),c>0?E(this).transition().duration(c).call(ee,d,o,n):E(this).call(v.transform,d,o,n)}}function ae(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(ai(t),s=0;s{let e=t.current;if(!e)return;let n=()=>{let t=e.getBoundingClientRect();i({w:Math.max(320,Math.floor(t.width)),h:Math.max(240,Math.floor(t.height))})};n();let r=new ResizeObserver(n);return r.observe(e),()=>r.disconnect()},[]);let f=(0,U.useMemo)(()=>d(e,r.w,r.h,240),[e,r]),{idx:p,viewBox:m}=(0,U.useMemo)(()=>{let e=Object.fromEntries(f.nodes.map(e=>[e.id,e]));if(f.nodes.length===0)return{idx:e,viewBox:[0,0,r.w,r.h]};let t=1/0,n=1/0,i=-1/0,a=-1/0;for(let e of f.nodes)e.xi&&(i=e.x),e.y>a&&(a=e.y);let o=t-40,s=n-40,c=i-t+80,l=a-n+80,u=r.w/r.h;if(u>c/l){let e=l*u;o-=(e-c)/2,c=e}else{let e=c/u;s-=(e-l)/2,l=e}return{idx:e,viewBox:[o,s,c,l]}},[f,r]),h=(0,U.useMemo)(()=>{let e=new Map;for(let t of f.edges)e.has(t.source)||e.set(t.source,new Set),e.has(t.target)||e.set(t.target,new Set),e.get(t.source).add(t.target),e.get(t.target).add(t.source);return e},[f.edges]),g=(0,U.useMemo)(()=>e=>{let t=h.get(e)?.size??0;return 3.5+Math.sqrt(t)*1.6},[h]);(0,U.useEffect)(()=>{let e=n.current;if(!e)return;let t=fi().scaleExtent([.1,40]).filter(e=>e.type!==`dblclick`).on(`zoom`,e=>{o(e.transform)});return E(e).call(t),()=>{E(e).on(`.zoom`,null)}},[]);let _=l??s,v=_?h.get(_):null,y=!!_&&!!v&&v.size>0;function b(e){return!y||e===_?!1:!v?.has(e)}function x(e,t){return y?e!==_&&t!==_:!1}return(0,$.jsxs)(`div`,{ref:t,className:`graph-canvas-wrap`,children:[(0,$.jsxs)(`div`,{className:`graph-meta`,children:[e.nodes.length,` nodes · `,e.edges.length,` edges`,_&&(0,$.jsxs)(`span`,{className:`graph-meta-sep`,children:[` · `,p[_]?.label??_]})]}),(0,$.jsx)(`button`,{className:`graph-reset`,onClick:()=>{let e=n.current;if(!e)return;let t=fi().scaleExtent([.1,40]);E(e).call(t.transform,Z),o(Z)},"aria-label":`Reset view`,children:`reset`}),(0,$.jsx)(`svg`,{ref:n,viewBox:`${m[0]} ${m[1]} ${m[2]} ${m[3]}`,className:`graph-canvas`,role:`img`,"aria-label":`Knowledge graph`,preserveAspectRatio:`xMidYMid meet`,onPointerDown:()=>{l&&u(null)},children:(0,$.jsxs)(`g`,{transform:a.toString(),children:[f.edges.map((e,t)=>{let n=p[e.source],r=p[e.target];if(!n||!r)return null;let i=x(e.source,e.target);return(0,$.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,stroke:i?`var(--border)`:`var(--muted-foreground)`,strokeWidth:i?.6:1.2,strokeOpacity:i?.15:.6,strokeLinecap:`round`,pointerEvents:`none`},t)}),f.nodes.map(e=>{let t=b(e.id),n=_===e.id,r=g(e.id)+(n?2:0);return(0,$.jsxs)(`g`,{"data-node-id":e.id,className:`graph-node`,style:{opacity:t?.2:1,cursor:`pointer`},onPointerEnter:()=>c(e.id),onPointerLeave:()=>c(null),onClick:t=>{t.stopPropagation(),u(l===e.id?null:e.id)},children:[(0,$.jsx)(`circle`,{cx:e.x,cy:e.y,r:r+3,fill:`var(--background)`}),(0,$.jsx)(`circle`,{cx:e.x,cy:e.y,r,fill:pi[e.kind]??pi.entity,stroke:n?`var(--foreground)`:`var(--background)`,strokeWidth:n?1.5:.8}),(0,$.jsx)(`text`,{x:e.x+r+4,y:e.y+3,fontSize:10,fontFamily:`var(--font-mono)`,fill:`var(--foreground)`,stroke:`var(--background)`,strokeWidth:3,paintOrder:`stroke fill`,style:{pointerEvents:`none`,userSelect:`none`},children:hi(gi(e.id,e.label),36)})]},e.id)})]})})]})}function hi(e,t){return e.length>t?e.slice(0,t-1)+`…`:e}function gi(e,t){let n=e.split(`/`).filter(Boolean);if(n.length<=1)return t||e;let r=n[n.length-1];return`${n.length>=3?n[n.length-2]:n[0]}/${t&&t!==r?t:r}`}function _i(){let e=o(e=>e.slug),t=f(e),n=u(e),[r,i]=(0,U.useState)(null),a=(t.data?.nodes.length??0)>0,c=r??(a?`entity`:`notes`),d=c===`entity`?t:n,m=d.data,h=d.error,g=()=>(0,$.jsxs)(`div`,{className:`graph-toggle flex gap-2 p-3 border-b text-sm`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(`entity`),"aria-pressed":c===`entity`,className:`px-3 py-1 rounded ${c===`entity`?`bg-foreground text-background`:`hover:bg-muted`}`,children:[`Entity graph`,t.data&&` · ${t.data.nodes.length}`]}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(`notes`),"aria-pressed":c===`notes`,className:`px-3 py-1 rounded ${c===`notes`?`bg-foreground text-background`:`hover:bg-muted`}`,children:[`Notes graph`,n.data&&` · ${n.data.nodes.length}`]})]});return d.isLoading?(0,$.jsxs)(`div`,{className:`graph-page`,children:[(0,$.jsx)(g,{}),(0,$.jsx)(`div`,{className:`p-8`,children:(0,$.jsx)(l,{label:`Loading graph`,rows:4})})]}):h?(0,$.jsxs)(`div`,{className:`graph-page`,children:[(0,$.jsx)(g,{}),(0,$.jsx)(`div`,{className:`p-8`,children:(0,$.jsx)(s,{title:`Graph failed to load`,message:h.message||`Unknown error`,onRetry:()=>d.refetch()})})]}):!m||m.nodes.length===0?(0,$.jsxs)(`div`,{className:`graph-page`,children:[(0,$.jsx)(g,{}),(0,$.jsx)(`div`,{className:`p-8`,children:(0,$.jsx)(p,{title:c===`entity`?`No entity graph yet`:`No notes graph yet`,description:c===`entity`?"Run `docsiq index ` followed by `docsiq index --finalize` to extract entities and relationships.":`Add markdown notes with [[wikilinks]] under this project to build the notes graph.`})})]}):(0,$.jsxs)(`div`,{className:`graph-page`,children:[(0,$.jsx)(g,{}),(0,$.jsx)(mi,{data:m})]})}export{_i as default}; \ No newline at end of file diff --git a/ui/dist/assets/MCPConsole-CrhJqUq9.js b/ui/dist/assets/MCPConsole-CrhJqUq9.js new file mode 100644 index 0000000..a39b4c3 --- /dev/null +++ b/ui/dist/assets/MCPConsole-CrhJqUq9.js @@ -0,0 +1,6 @@ +import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{E as t,P as n,T as r,c as i,k as a,l as o,u as s,y as c}from"./index-Dtmrigu0.js";var l=e(n(),1);async function u(e,t){let n={Accept:`application/json, text/event-stream`};e&&(n[`Mcp-Session-Id`]=e);let r=await c(`/mcp`,{method:`POST`,headers:n,body:JSON.stringify(t)}),i=r.headers.get(`Mcp-Session-Id`)??e,a=await r.text();if(!r.ok)throw Error(`HTTP ${r.status}: ${a.slice(0,200)}`);if(!a)return{json:null,sessionId:i};if((r.headers.get(`content-type`)??``).includes(`text/event-stream`)){for(let e of a.split(/\r?\n/))if(e.startsWith(`data: `))return{json:JSON.parse(e.slice(6)),sessionId:i};throw Error(`MCP SSE response had no data frame`)}return{json:JSON.parse(a),sessionId:i}}function d(){let[e,t]=(0,l.useState)([]),[n,r]=(0,l.useState)([]),[i,a]=(0,l.useState)(null),o=(0,l.useRef)(null),s=(0,l.useRef)(!1);async function c(){if(s.current)return;let{sessionId:e}=await u(null,{jsonrpc:`2.0`,id:1,method:`initialize`,params:{protocolVersion:`2025-03-26`,capabilities:{},clientInfo:{name:`docsiq-ui`,version:`0.1`}}});o.current=e,await u(o.current,{jsonrpc:`2.0`,method:`notifications/initialized`}),s.current=!0}let d=(0,l.useCallback)(async()=>{try{await c();let{json:e}=await u(o.current,{jsonrpc:`2.0`,id:Date.now(),method:`tools/list`});r(e?.result?.tools??[]),a(null)}catch(e){a(e.message),s.current=!1,o.current=null}},[]);return(0,l.useEffect)(()=>{d()},[d]),{history:e,invoke:(0,l.useCallback)(async(e,n)=>{let r=performance.now(),i={id:crypto.randomUUID(),tool:e,args:n,tookMs:0,timestamp:Date.now()};try{await c();let{json:t}=await u(o.current,{jsonrpc:`2.0`,id:Date.now(),method:`tools/call`,params:{name:e,arguments:n}}),r=t;if(r?.error)throw Error(r.error.message);i.result=r?.result}catch(e){i.error=e.message,s.current=!1,o.current=null}finally{i.tookMs=Math.round(performance.now()-r),t(e=>[i,...e].slice(0,50))}},[]),tools:n,toolsError:i,refreshTools:d}}function f(e){if(!e?.inputSchema?.properties)return`{}`;let t=e.inputSchema.properties,n=new Set(e.inputSchema.required??[]),r=Object.keys(t);if(r.length===0)return`{}`;let i={};for(let e of r){if(n.size&&!n.has(e))continue;let r=t[e].type;i[e]=r===`number`||r===`integer`?0:r===`boolean`?!1:r===`array`?[]:r===`object`?{}:``}return JSON.stringify(i,null,2)}var p=a();function m(e){let t=e?.inputSchema?.properties??{},n=new Set(e?.inputSchema?.required??[]);return Object.entries(t).map(([e,t])=>({name:e,type:t.type??`string`,description:t.description,enum:t.enum,required:n.has(e)}))}function h(e,t){if(e!==``){if(t===`number`||t===`integer`){let t=Number(e);return Number.isFinite(t)?t:e}if(t===`boolean`)return e===`true`;if(t===`array`||t===`object`)try{return JSON.parse(e)}catch{return e}return e}}function g(){let{history:e,invoke:n,tools:a,toolsError:c,refreshTools:u}=d(),[g,v]=(0,l.useState)(``),[y,b]=(0,l.useState)(``),[x,S]=(0,l.useState)({}),[C,w]=(0,l.useState)(`{}`),[T,E]=(0,l.useState)(!1),[D,O]=(0,l.useState)(null),[k,A]=(0,l.useState)(!1),j=(0,l.useMemo)(()=>{let e=y.trim().toLowerCase();return e?a.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e)):a},[a,y]);(0,l.useEffect)(()=>{!g&&j.length&&v(j[0].name)},[j,g]);let M=(0,l.useMemo)(()=>a.find(e=>e.name===g),[a,g]),N=(0,l.useMemo)(()=>m(M),[M]);(0,l.useEffect)(()=>{O(null),S({}),w(f(M)),E(!1)},[g,M]);async function P(){if(!M)return;O(null);let e;if(T)try{e=JSON.parse(C)}catch{O(`Invalid JSON`);return}else{let t={};for(let e of N){let n=h(x[e.name]??``,e.type);n!==void 0&&(t[e.name]=n)}e=t}A(!0);try{await n(M.name,e)}finally{A(!1)}}return(0,p.jsxs)(`div`,{className:`mcp-shell`,children:[(0,p.jsxs)(`aside`,{className:`mcp-aside`,children:[(0,p.jsxs)(`div`,{className:`mcp-aside-head`,children:[(0,p.jsxs)(`div`,{className:`mcp-aside-title`,children:[(0,p.jsx)(`h1`,{className:`mcp-aside-name`,children:`MCP Tools`}),(0,p.jsx)(`span`,{className:`mcp-aside-count`,children:c?`error`:a.length})]}),(0,p.jsx)(`input`,{value:y,onChange:e=>b(e.currentTarget.value),placeholder:`filter…`,className:`mcp-filter`,"aria-label":`Filter tools`}),(0,p.jsx)(`button`,{onClick:()=>void u(),className:`mcp-refresh`,children:`refresh`})]}),c&&(0,p.jsx)(`p`,{className:`mcp-error`,children:c}),(0,p.jsx)(`ul`,{children:j.map(e=>(0,p.jsx)(`li`,{children:(0,p.jsxs)(`button`,{onClick:()=>v(e.name),className:t(`mcp-tool`,e.name===g&&`mcp-tool-active`),children:[(0,p.jsx)(`div`,{children:e.name}),e.description&&(0,p.jsx)(`div`,{className:`mcp-tool-desc`,children:e.description})]})},e.name))})]}),(0,p.jsx)(`section`,{className:`mcp-main`,children:M?(0,p.jsxs)(`div`,{className:`mcp-content`,children:[(0,p.jsxs)(`header`,{className:`mb-4`,children:[(0,p.jsx)(`h2`,{className:`mcp-title`,children:M.name}),M.description&&(0,p.jsx)(`p`,{className:`mcp-desc`,children:M.description})]}),(0,p.jsxs)(`div`,{className:`mcp-panel`,children:[(0,p.jsxs)(`div`,{className:`mcp-panel-head`,children:[(0,p.jsx)(`h3`,{className:`mcp-panel-title`,children:`Arguments`}),(0,p.jsxs)(`label`,{className:`mcp-raw-toggle`,children:[(0,p.jsx)(`input`,{type:`checkbox`,checked:T,onChange:e=>E(e.currentTarget.checked)}),`raw JSON`]})]}),T?(0,p.jsx)(`textarea`,{value:C,onChange:e=>w(e.currentTarget.value),rows:Math.min(14,Math.max(4,C.split(` +`).length)),className:`mcp-textarea`,spellCheck:!1}):N.length===0?(0,p.jsx)(`p`,{className:`mcp-empty-params`,children:`(no parameters)`}):(0,p.jsx)(`div`,{className:`space-y-3`,children:N.map(e=>(0,p.jsx)(_,{spec:e,value:x[e.name]??``,onChange:t=>S(n=>({...n,[e.name]:t}))},e.name))}),(0,p.jsxs)(`div`,{className:`mcp-run-row`,children:[(0,p.jsx)(r,{onClick:P,disabled:k,size:`sm`,children:k?`running…`:`Run`}),D&&(0,p.jsx)(`span`,{className:`text-xs text-destructive`,children:D})]})]}),(0,p.jsxs)(`section`,{children:[(0,p.jsx)(`h3`,{className:`mcp-panel-title mb-2`,children:`History`}),e.length===0&&(0,p.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No calls yet.`}),(0,p.jsx)(`div`,{className:`mcp-history`,children:e.map(t=>(0,p.jsxs)(`details`,{className:`mcp-history-item`,open:t===e[0],children:[(0,p.jsxs)(`summary`,{className:`mcp-history-head`,children:[(0,p.jsx)(`span`,{className:`mcp-history-name`,children:t.tool}),(0,p.jsxs)(`span`,{className:`mcp-history-ms`,children:[t.tookMs,`ms`]}),t.error?(0,p.jsx)(`span`,{className:`mcp-history-err`,children:t.error}):(0,p.jsx)(`span`,{className:`mcp-history-ok`,children:`ok`})]}),(0,p.jsx)(`pre`,{className:`mcp-history-body`,children:`args: +${JSON.stringify(t.args,null,2)} + +result: +${JSON.stringify(t.result,null,2)}`})]},t.id))})]})]}):(0,p.jsx)(`div`,{className:`mcp-content`,children:c?(0,p.jsx)(i,{title:`MCP tools failed to load`,message:c,onRetry:()=>void u()}):a.length===0?(0,p.jsx)(o,{label:`Loading MCP tools`,rows:4}):(0,p.jsx)(s,{title:`Pick a tool`,description:`Select a tool from the left sidebar to run it.`})})})]})}function _({spec:e,value:t,onChange:n}){let r=(0,p.jsxs)(`label`,{className:`param-label`,children:[(0,p.jsx)(`span`,{className:`param-name`,children:e.name}),(0,p.jsxs)(`span`,{className:`param-type`,children:[`:`,e.type]}),e.required&&(0,p.jsx)(`span`,{className:`param-required`,children:`*`}),e.description&&(0,p.jsx)(`span`,{className:`param-desc`,children:e.description})]});return e.enum?.length?(0,p.jsxs)(`div`,{children:[r,(0,p.jsxs)(`select`,{value:t,onChange:e=>n(e.currentTarget.value),className:`param-input`,children:[(0,p.jsx)(`option`,{value:``,children:`—`}),e.enum.map(e=>(0,p.jsx)(`option`,{value:String(e),children:String(e)},String(e)))]})]}):e.type===`boolean`?(0,p.jsxs)(`div`,{children:[r,(0,p.jsxs)(`select`,{value:t,onChange:e=>n(e.currentTarget.value),className:`param-input`,children:[(0,p.jsx)(`option`,{value:``,children:`—`}),(0,p.jsx)(`option`,{value:`true`,children:`true`}),(0,p.jsx)(`option`,{value:`false`,children:`false`})]})]}):e.type===`array`||e.type===`object`?(0,p.jsxs)(`div`,{children:[r,(0,p.jsx)(`textarea`,{value:t,onChange:e=>n(e.currentTarget.value),rows:3,placeholder:e.type===`array`?`[]`:`{}`,className:`param-input`,spellCheck:!1})]}):(0,p.jsxs)(`div`,{children:[r,(0,p.jsx)(`input`,{value:t,onChange:e=>n(e.currentTarget.value),type:e.type===`number`||e.type===`integer`?`number`:`text`,className:`param-input`})]})}export{g as default}; \ No newline at end of file diff --git a/ui/dist/assets/NoteEditor-D0VE7NTn.js b/ui/dist/assets/NoteEditor-D0VE7NTn.js new file mode 100644 index 0000000..6f7ec66 --- /dev/null +++ b/ui/dist/assets/NoteEditor-D0VE7NTn.js @@ -0,0 +1 @@ +import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{M as t,N as n,P as r,a as i,b as a,k as o,r as s}from"./index-Dtmrigu0.js";var c=e(r(),1),l=e=>e.type===`checkbox`,u=e=>e instanceof Date,d=e=>e==null,f=e=>typeof e==`object`,p=e=>!d(e)&&!Array.isArray(e)&&f(e)&&!u(e),ee=e=>p(e)&&e.target?l(e.target)?e.target.checked:e.target.value:e,te=(e,t)=>t.split(`.`).some((t,n,r)=>!isNaN(Number(t))&&e.has(r.slice(0,n).join(`.`))),ne=e=>{let t=e.constructor&&e.constructor.prototype;return p(t)&&t.hasOwnProperty(`isPrototypeOf`)},m=typeof window<`u`&&window.HTMLElement!==void 0&&typeof document<`u`;function h(e){if(e instanceof Date)return new Date(e);let t=typeof FileList<`u`&&e instanceof FileList;if(m&&(e instanceof Blob||t))return e;let n=Array.isArray(e);if(!n&&!(p(e)&&ne(e)))return e;let r=n?[]:Object.create(Object.getPrototypeOf(e));for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=h(e[t]));return r}var g=e=>/^\w*$/.test(e),_=e=>e===void 0,v=e=>Array.isArray(e)?e.filter(Boolean):[],y=e=>v(e.replace(/["|']|\]/g,``).split(/\.|\[/)),b=(e,t,n)=>{if(!t||!p(e))return n;let r=(g(t)?[t]:y(t)).reduce((e,t)=>d(e)?void 0:e[t],e);return _(r)||r===e?_(e[t])?n:e[t]:r},x=e=>typeof e==`boolean`,S=e=>typeof e==`function`,C=(e,t,n)=>{let r=-1,i=g(t)?[t]:y(t),a=i.length,o=a-1;for(;++r{let i={defaultValues:t._defaultValues};for(let a in e)Object.defineProperty(i,a,{get:()=>{let i=a;return t._proxyFormState[i]!==T.all&&(t._proxyFormState[i]=!r||T.all),n&&(n[i]=!0),e[i]}});return i},oe=typeof window<`u`?c.useLayoutEffect:c.useEffect,O=e=>typeof e==`string`,se=(e,t,n,r,i)=>O(e)?(r&&t.watch.add(e),b(n,e,i)):Array.isArray(e)?e.map(e=>(r&&t.watch.add(e),b(n,e))):(r&&(t.watchAll=!0),n),k=e=>d(e)||!f(e);function A(e,t,n=new WeakSet){if(e===t)return!0;if(k(e)||k(t))return Object.is(e,t);if(u(e)&&u(t))return Object.is(e.getTime(),t.getTime());let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;if(n.has(e)||n.has(t))return!0;n.add(e),n.add(t);for(let i of r){let r=e[i];if(!(i in t))return!1;if(i!==`ref`){let e=t[i];if(u(r)&&u(e)||(p(r)||Array.isArray(r))&&(p(e)||Array.isArray(e))?!A(r,e,n):!Object.is(r,e))return!1}}return!0}var j=c.createContext(null);j.displayName=`HookFormContext`;var ce=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},le=e=>Array.isArray(e)?e:[e],ue=()=>{let e=[];return{get observers(){return e},next:t=>{for(let n of e)n.next&&n.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};function de(e,t){let n={};for(let r in e)if(e.hasOwnProperty(r)){let i=e[r],a=t[r];if(i&&p(i)&&a){let e=de(i,a);p(e)&&(n[r]=e)}else e[r]&&(n[r]=a)}return n}var M=e=>p(e)&&!Object.keys(e).length,fe=e=>e.type===`file`,pe=e=>{if(!m)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},me=e=>e.type===`select-multiple`,he=e=>e.type===`radio`,ge=e=>he(e)||l(e),_e=e=>pe(e)&&e.isConnected;function ve(e,t){let n=t.slice(0,-1).length,r=0;for(;r{for(let t in e)if(S(e[t]))return!0;return!1};function xe(e){return Array.isArray(e)||p(e)&&!be(e)}function Se(e,t={}){for(let n in e){let r=e[n];xe(r)?(t[n]=Array.isArray(r)?[]:{},Se(r,t[n])):_(r)||(t[n]=!0)}return t}function Ce(e,t,n){n||=Se(t);for(let r in e){let i=e[r];if(xe(i))_(t)||k(n[r])?n[r]=Se(i,Array.isArray(i)?[]:{}):Ce(i,d(t)?{}:t[r],n[r]);else{let e=t[r];n[r]=!A(i,e)}}return n}var we={value:!1,isValid:!1},Te={value:!0,isValid:!0},Ee=e=>{if(Array.isArray(e)){if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!_(e[0].attributes.value)?_(e[0].value)||e[0].value===``?Te:{value:e[0].value,isValid:!0}:Te:we}return we},De=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>_(e)?e:t?e===``?NaN:e&&+e:n&&O(e)?new Date(e):r?r(e):e,Oe={isValid:!1,value:null},ke=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,Oe):Oe;function Ae(e){let t=e.ref;return fe(t)?t.files:he(t)?ke(e.refs).value:me(t)?[...t.selectedOptions].map(({value:e})=>e):l(t)?Ee(e.refs).value:De(_(t.value)?e.ref.value:t.value,e)}var je=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Me=(e,t,n,r)=>{let i={};for(let n of e){let e=b(t,n);e&&C(i,n,e._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},P=e=>e instanceof RegExp,Ne=e=>_(e)?e:P(e)?e.source:p(e)?P(e.value)?e.value.source:e.value:e,Pe=e=>({isOnSubmit:!e||e===T.onSubmit,isOnBlur:e===T.onBlur,isOnChange:e===T.onChange,isOnAll:e===T.all,isOnTouch:e===T.onTouched}),Fe=`AsyncFunction`,Ie=e=>!!e&&!!e.validate&&!!(S(e.validate)&&e.validate.constructor.name===Fe||p(e.validate)&&Object.values(e.validate).find(e=>e.constructor.name===Fe)),Le=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Re=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length)))),ze=(e,t,n,r)=>{for(let i of n||Object.keys(e)){let n=b(e,i);if(n){let{_f:e,...a}=n;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],i)&&!r||e.ref&&t(e.ref,e.name)&&!r)return!0;if(ze(a,t))break}else if(p(a)&&ze(a,t))break}}};function Be(e,t,n){let r=b(e,n);if(r||g(n))return{error:r,name:n};let i=n.split(`.`);for(;i.length;){let r=i.join(`.`),a=b(t,r),o=b(e,r);if(a&&!Array.isArray(a)&&n!==r)return{name:n};if(o&&o.type)return{name:r,error:o};if(o&&o.root&&o.root.type)return{name:`${r}.root`,error:o.root};i.pop()}return{name:n}}var Ve=(e,t,n,r)=>{n(e);let{name:i,...a}=e;return M(a)||Object.keys(a).length>=Object.keys(t).length||Object.keys(a).find(e=>t[e]===(!r||T.all))},He=(e,t,n)=>!e||!t||e===t||le(e).some(e=>e&&(n?e===t:e.startsWith(t)||t.startsWith(e))),Ue=(e,t,n,r,i)=>i.isOnAll?!1:!n&&i.isOnTouch?!(t||e):(n?r.isOnBlur:i.isOnBlur)?!e:(n?r.isOnChange:i.isOnChange)?e:!0,We=(e,t)=>!v(b(e,t)).length&&N(e,t),Ge=(e,t,n)=>{let r=le(b(e,n));return C(r,ie,t[n]),C(e,n,r),e};function Ke(e,t,n=`validate`){if(O(e)||Array.isArray(e)&&e.every(O)||x(e)&&!e)return{type:n,message:O(e)?e:``,ref:t}}var F=e=>p(e)&&!P(e)?e:{value:e,message:``},qe=async(e,t,n,r,i,a)=>{let{ref:o,refs:s,required:c,maxLength:u,minLength:f,min:ee,max:te,pattern:ne,validate:m,name:h,valueAsNumber:g,mount:v}=e._f,y=b(n,h);if(!v||t.has(h))return{};let C=s?s[0]:o,w=e=>{i&&C.reportValidity&&(C.setCustomValidity(x(e)?``:e||``),C.reportValidity())},T={},re=he(o),ie=l(o),D=re||ie,ae=(g||fe(o))&&_(o.value)&&_(y)||pe(o)&&o.value===``||y===``||Array.isArray(y)&&!y.length,oe=ce.bind(null,h,r,T),se=(e,t,n,r=E.maxLength,i=E.minLength)=>{let a=e?t:n;T[h]={type:e?r:i,message:a,ref:o,...oe(e?r:i,a)}};if(a?!Array.isArray(y)||!y.length:c&&(!D&&(ae||d(y))||x(y)&&!y||ie&&!Ee(s).isValid||re&&!ke(s).isValid)){let{value:e,message:t}=O(c)?{value:!!c,message:c}:F(c);if(e&&(T[h]={type:E.required,message:t,ref:C,...oe(E.required,t)},!r))return w(t),T}if(!ae&&(!d(ee)||!d(te))){let e,t,n=F(te),i=F(ee);if(!d(y)&&!isNaN(y)){let r=o.valueAsNumber||y&&+y;d(n.value)||(e=r>n.value),d(i.value)||(t=rnew Date(new Date().toDateString()+` `+e),s=o.type==`time`,c=o.type==`week`;O(n.value)&&y&&(e=s?a(y)>a(n.value):c?y>n.value:r>new Date(n.value)),O(i.value)&&y&&(t=s?a(y)+e.value,i=!d(t.value)&&y.length<+t.value;if((n||i)&&(se(n,e.message,t.message),!r))return w(T[h].message),T}if(ne&&!ae&&O(y)){let{value:e,message:t}=F(ne);if(P(e)&&!y.match(e)&&(T[h]={type:E.pattern,message:t,ref:o,...oe(E.pattern,t)},!r))return w(t),T}if(m){if(S(m)){let e=Ke(await m(y,n),C);if(e&&(T[h]={...e,...oe(E.validate,e.message)},!r))return w(e.message),T}else if(p(m)){let e={};for(let t in m){if(!M(e)&&!r)break;let i=Ke(await m[t](y,n),C,t);i&&(e={...i,...oe(t,i.message)},w(i.message),r&&(T[h]=e))}if(!M(e)&&(T[h]={ref:C,...e},!r))return T}}return w(!0),T},Je={mode:T.onSubmit,reValidateMode:T.onChange,shouldFocusError:!0};function Ye(e={}){let t={...Je,...e},n={submitCount:0,isDirty:!1,isReady:!1,isLoading:S(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},i=(p(t.defaultValues)||p(t.values))&&h(t.defaultValues||t.values)||{},a=t.shouldUnregister?{}:h(i),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},s={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},c,f=0,ne={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},g={...ne},y={...g},D={array:ue(),state:ue()},ae=t.criteriaMode===T.all,oe=e=>t=>{clearTimeout(f),f=setTimeout(e,t)},k=async e=>{if(!o.keepIsValid&&!t.disabled&&(g.isValid||y.isValid||e)){let e;t.resolver?(e=M((await we()).errors),j()):e=await Oe({fields:r,onlyCheckValid:!0,eventType:w.VALID}),e!==n.isValid&&D.state.next({isValid:e})}},j=(e,r)=>{!t.disabled&&(g.isValidating||g.validatingFields||y.isValidating||y.validatingFields)&&((e||Array.from(s.mount)).forEach(e=>{e&&(r?C(n.validatingFields,e,r):N(n.validatingFields,e))}),D.state.next({validatingFields:n.validatingFields,isValidating:!M(n.validatingFields)}))},ce=e=>{let t=Ce(i,a),r=je(e);C(n.dirtyFields,r,b(t,r))},he=(e,i=[],s,c,l=!0,u=!0)=>{if(c&&s&&!t.disabled){if(o.action=!0,u&&Array.isArray(b(r,e))){let t=s(b(r,e),c.argA,c.argB);l&&C(r,e,t)}if(u&&Array.isArray(b(n.errors,e))){let t=s(b(n.errors,e),c.argA,c.argB);l&&C(n.errors,e,t),We(n.errors,e)}if((g.touchedFields||y.touchedFields)&&u&&Array.isArray(b(n.touchedFields,e))){let t=s(b(n.touchedFields,e),c.argA,c.argB);l&&C(n.touchedFields,e,t)}(g.dirtyFields||y.dirtyFields)&&ce(e),D.state.next({name:e,isDirty:P(e,i),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else C(a,e,i)},ve=(e,t)=>{C(n.errors,e,t),D.state.next({errors:n.errors})},ye=e=>{n.errors=e,D.state.next({errors:n.errors,isValid:!1})},be=(e,t,n,s)=>{let c=b(r,e);if(c){let r=b(a,e,_(n)?b(i,e):n);_(r)||s&&s.defaultChecked||t?C(a,e,t?r:Ae(c._f)):F(e,r),o.mount&&!o.action&&k()}},xe=(e,r,a,o,s)=>{let c=!1,l=!1,u={name:e};if(!t.disabled){if(!a||o){(g.isDirty||y.isDirty)&&(l=n.isDirty,n.isDirty=u.isDirty=P(),c=l!==u.isDirty);let t=A(b(i,e),r);l=!!b(n.dirtyFields,e),t?N(n.dirtyFields,e):C(n.dirtyFields,e,!0),u.dirtyFields=n.dirtyFields,c||=(g.dirtyFields||y.dirtyFields)&&l!==!t}if(a){let t=b(n.touchedFields,e);t||(C(n.touchedFields,e,a),u.touchedFields=n.touchedFields,c||=(g.touchedFields||y.touchedFields)&&t!==a)}c&&s&&D.state.next(u)}return c?u:{}},Se=(e,r,i,a)=>{let o=b(n.errors,e),s=(g.isValid||y.isValid)&&x(r)&&n.isValid!==r;if(t.delayError&&i?(c=oe(()=>ve(e,i)),c(t.delayError)):(clearTimeout(f),c=null,i?C(n.errors,e,i):N(n.errors,e)),(i?!A(o,i):o)||!M(a)||s){let t={...a,...s&&x(r)?{isValid:r}:{},errors:n.errors,name:e};n={...n,...t},D.state.next(t)}},we=async e=>(j(e,!0),await t.resolver(a,t.context,Me(e||s.mount,r,t.criteriaMode,t.shouldUseNativeValidation))),Te=async e=>{let{errors:t}=await we(e);if(j(e),e)for(let r of e){let e=b(t,r);e?C(n.errors,r,e):N(n.errors,r)}else n.errors=t;return t},Ee=async({name:t,eventType:r})=>{if(e.validate){let i=await e.validate({formValues:a,formState:n,name:t,eventType:r});if(p(i))for(let e in i)i[e]&&I(`${re}.${e}`,{message:O(i.message)?i.message:``,type:E.validate});else O(i)||!i?I(re,{message:i||``,type:E.validate}):nt(re);return i}return!0},Oe=async({fields:r,onlyCheckValid:i,name:o,eventType:c,context:l={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(l.runRootValidation=!0,!await Ee({name:o,eventType:c})&&(l.valid=!1,i)))return l.valid;for(let o in r){let u=r[o];if(u){let{_f:r,...d}=u;if(r){let o=s.array.has(r.name),c=u._f&&Ie(u._f);c&&g.validatingFields&&j([r.name],!0);let d=await qe(u,s.disabled,a,ae,t.shouldUseNativeValidation&&!i,o);if(c&&g.validatingFields&&j([r.name]),d[r.name]&&(l.valid=!1,i)||(!i&&(b(d,r.name)?o?Ge(n.errors,d,r.name):C(n.errors,r.name,d[r.name]):N(n.errors,r.name)),e.shouldUseNativeValidation&&d[r.name]))break}!M(d)&&await Oe({context:l,onlyCheckValid:i,fields:d,name:o,eventType:c})}}return l.valid},ke=()=>{for(let e of s.unMount){let t=b(r,e);t&&(t._f.refs?t._f.refs.every(e=>!_e(e)):!_e(t._f.ref))&&z(e)}s.unMount=new Set},P=(e,n)=>!t.disabled&&(e&&n&&C(a,e,n),!A(et(),i)),Fe=(e,t,n)=>se(e,s,{...o.mount?a:_(t)?i:O(e)?{[e]:t}:t},n,t),Ke=e=>v(b(o.mount?a:i,e,t.shouldUnregister?b(i,e,[]):[])),F=(e,t,n={})=>{let i=b(r,e),o=t;if(i){let n=i._f;n&&(!n.disabled&&C(a,e,De(t,n)),o=pe(n.ref)&&d(t)?``:t,me(n.ref)?[...n.ref.options].forEach(e=>e.selected=o.includes(e.value)):n.refs?l(n.ref)?n.refs.forEach(e=>{(!e.defaultChecked||!e.disabled)&&(Array.isArray(o)?e.checked=!!o.find(t=>t===e.value):e.checked=o===e.value||!!o)}):n.refs.forEach(e=>e.checked=e.value===o):fe(n.ref)?n.ref.value=``:(n.ref.value=o,n.ref.type||D.state.next({name:e,values:h(a)})))}(n.shouldDirty||n.shouldTouch)&&xe(e,o,n.shouldTouch,n.shouldDirty,!0),n.shouldValidate&&$e(e)},Ye=(e,t,n)=>{for(let i in t){if(!t.hasOwnProperty(i))return;let a=t[i],o=e+`.`+i,c=b(r,o);(s.array.has(e)||p(a)||c&&!c._f)&&!u(a)?Ye(o,a,n):F(o,a,n)}},Xe=(e,t,i={})=>{let c=b(r,e),l=s.array.has(e),u=h(t),f=A(b(a,e),u);if(C(a,e,u),l)D.array.next({name:e,values:h(a)}),i.shouldDirty&&(ce(e),D.state.next({name:e,dirtyFields:n.dirtyFields,isDirty:P(e,u)}));else{let t=Array.isArray(u)&&!u.length||M(u);!c||c._f||d(u)||t?F(e,u,i):Ye(e,u,i)}f||(Re(e,s)?D.state.next({...n,name:e,values:h(a)}):D.state.next({name:o.mount?e:void 0,values:h(a)}))},Ze=async i=>{o.mount=!0;let l=i.target,d=l.name,f=!0,p=b(r,d),te=e=>{f=Number.isNaN(e)||u(e)&&isNaN(e.getTime())||A(e,b(a,d,e))},ne=Pe(t.mode),m=Pe(t.reValidateMode);if(p){let o,u,_=l.type?Ae(p._f):ee(i),v=i.type===w.BLUR||i.type===w.FOCUS_OUT,x=!Le(p._f)&&!e.validate&&!t.resolver&&!b(n.errors,d)&&!p._f.deps||Ue(v,b(n.touchedFields,d),n.isSubmitted,m,ne),S=Re(d,s,v);C(a,d,_),v?(!l||!l.readOnly)&&(p._f.onBlur&&p._f.onBlur(i),c&&c(0)):p._f.onChange&&p._f.onChange(i);let T=xe(d,_,v),E=!M(T)||S;if(!v&&D.state.next({name:d,type:i.type,values:h(a)}),x)return(g.isValid||y.isValid)&&(t.mode===`onBlur`?v&&k():v||k()),E&&D.state.next({name:d,...S?{}:T});if(!t.resolver&&e.validate&&await Ee({name:d,eventType:i.type}),!v&&S&&D.state.next({...n}),t.resolver){let{errors:e}=await we([d]);if(j([d]),te(_),f){let t=Be(n.errors,r,d),i=Be(e,r,t.name||d);o=i.error,d=i.name,u=M(e)}}else j([d],!0),o=(await qe(p,s.disabled,a,ae,t.shouldUseNativeValidation))[d],j([d]),te(_),f&&(o?u=!1:(g.isValid||y.isValid)&&(u=await Oe({fields:r,onlyCheckValid:!0,name:d,eventType:i.type})));f&&(p._f.deps&&(!Array.isArray(p._f.deps)||p._f.deps.length>0)&&$e(p._f.deps),Se(d,u,o,T))}},Qe=(e,t)=>{if(b(n.errors,t)&&e.focus)return e.focus(),1},$e=async(e,i={})=>{let a,o,c=le(e);if(t.resolver){let t=await Te(_(e)?e:c);a=M(t),o=e?!c.some(e=>b(t,e)):a}else e?(o=(await Promise.all(c.map(async e=>{let t=b(r,e);return await Oe({fields:t&&t._f?{[e]:t}:t,eventType:w.TRIGGER})}))).every(Boolean),!(!o&&!n.isValid)&&k()):o=a=await Oe({fields:r,name:e,eventType:w.TRIGGER});return D.state.next({...!O(e)||(g.isValid||y.isValid)&&a!==n.isValid?{}:{name:e},...t.resolver||!e?{isValid:a}:{},errors:n.errors}),i.shouldFocus&&!o&&ze(r,Qe,e?c:s.mount),o},et=(e,t)=>{let r={...o.mount?a:i};return t&&(r=de(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),_(e)?r:O(e)?b(r,e):e.map(e=>b(r,e))},tt=(e,t)=>({invalid:!!b((t||n).errors,e),isDirty:!!b((t||n).dirtyFields,e),error:b((t||n).errors,e),isValidating:!!b(n.validatingFields,e),isTouched:!!b((t||n).touchedFields,e)}),nt=e=>{let t=e?le(e):void 0;t?.forEach(e=>N(n.errors,e)),t?t.forEach(e=>{D.state.next({name:e,errors:n.errors})}):D.state.next({errors:{}})},I=(e,t,i)=>{let a=(b(r,e,{_f:{}})._f||{}).ref,{ref:o,message:s,type:c,...l}=b(n.errors,e)||{};C(n.errors,e,{...l,...t,ref:a}),D.state.next({name:e,errors:n.errors,isValid:!1}),i&&i.shouldFocus&&a&&a.focus&&a.focus()},rt=(e,t)=>S(e)?D.state.subscribe({next:n=>`values`in n&&e(n.values||Fe(void 0,t),n)}):Fe(e,t,!0),L=e=>D.state.subscribe({next:t=>{if(He(e.name,t.name,e.exact)&&Ve(t,e.formState||g,W,e.reRenderRoot)){let r={...a};e.callback({values:r,...n,...t,defaultValues:i})}}}).unsubscribe,R=e=>(o.mount=!0,y={...y,...e.formState},L({...e,formState:{...ne,...e.formState}})),z=(e,o={})=>{for(let c of e?le(e):s.mount)s.mount.delete(c),s.array.delete(c),o.keepValue||(N(r,c),N(a,c)),!o.keepError&&N(n.errors,c),!o.keepDirty&&N(n.dirtyFields,c),!o.keepTouched&&N(n.touchedFields,c),!o.keepIsValidating&&N(n.validatingFields,c),!t.shouldUnregister&&!o.keepDefaultValue&&N(i,c);D.state.next({values:h(a)}),D.state.next({...n,...o.keepDirty?{isDirty:P()}:{}}),!o.keepIsValid&&k()},B=({disabled:e,name:t})=>{if(x(e)&&o.mount||e||s.disabled.has(t)){let n=s.disabled.has(t)!==!!e;e?s.disabled.add(t):s.disabled.delete(t),n&&o.mount&&!o.action&&k()}},it=(e,n={})=>{let a=b(r,e),c=x(n.disabled)||x(t.disabled),l=!s.registerName.has(e)&&a&&a._f&&!a._f.mount;return C(r,e,{...a||{},_f:{...a&&a._f?a._f:{ref:{name:e}},name:e,mount:!0,...n}}),s.mount.add(e),a&&!l?B({disabled:x(n.disabled)?n.disabled:t.disabled,name:e}):be(e,!0,n.value),{...c?{disabled:n.disabled||t.disabled}:{},...t.progressive?{required:!!n.required,min:Ne(n.min),max:Ne(n.max),minLength:Ne(n.minLength),maxLength:Ne(n.maxLength),pattern:Ne(n.pattern)}:{},name:e,onChange:Ze,onBlur:Ze,ref:c=>{if(c){s.registerName.add(e),it(e,n),s.registerName.delete(e),a=b(r,e);let t=_(c.value)&&c.querySelectorAll&&c.querySelectorAll(`input,select,textarea`)[0]||c,o=ge(t),l=a._f.refs||[];if(o?l.find(e=>e===t):t===a._f.ref)return;C(r,e,{_f:{...a._f,...o?{refs:[...l.filter(_e),t,...Array.isArray(b(i,e))?[{}]:[]],ref:{type:t.type,name:e}}:{ref:t}}}),be(e,!1,void 0,t)}else a=b(r,e,{}),a._f&&(a._f.mount=!1),(t.shouldUnregister||n.shouldUnregister)&&!(te(s.array,e)&&o.action)&&s.unMount.add(e)}}},at=()=>t.shouldFocusError&&ze(r,Qe,s.mount),ot=e=>{x(e)&&(D.state.next({disabled:e}),ze(r,(t,n)=>{let i=b(r,n);i&&(t.disabled=i._f.disabled||e,Array.isArray(i._f.refs)&&i._f.refs.forEach(t=>{t.disabled=i._f.disabled||e}))},0,!1))},st=(e,i)=>async o=>{let c;o&&(o.preventDefault&&o.preventDefault(),o.persist&&o.persist());let l=h(a);if(D.state.next({isSubmitting:!0}),t.resolver){let{errors:e,values:t}=await we();j(),n.errors=e,l=h(t)}else await Oe({fields:r,eventType:w.SUBMIT});if(s.disabled.size)for(let e of s.disabled)N(l,e);if(N(n.errors,ie),M(n.errors)){D.state.next({errors:{}});try{await e(l,o)}catch(e){c=e}}else i&&await i({...n.errors},o),at(),setTimeout(at);if(D.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:M(n.errors)&&!c,submitCount:n.submitCount+1,errors:n.errors}),c)throw c},V=(e,t={})=>{b(r,e)&&(_(t.defaultValue)?Xe(e,h(b(i,e))):(Xe(e,t.defaultValue),C(i,e,h(t.defaultValue))),t.keepTouched||N(n.touchedFields,e),t.keepDirty||(N(n.dirtyFields,e),n.isDirty=t.defaultValue?P(e,h(b(i,e))):P()),t.keepError||(N(n.errors,e),g.isValid&&k()),D.state.next({...n}))},H=(e,c={})=>{let l=e?h(e):i,u=h(l),d=M(e),f=d?i:u;if(c.keepDefaultValues||(i=l),!c.keepValues){if(c.keepDirtyValues){let e=new Set([...s.mount,...Object.keys(Ce(i,a))]);for(let t of Array.from(e)){let e=b(n.dirtyFields,t),r=b(a,t),i=b(f,t);e&&!_(r)?C(f,t,r):!e&&!_(i)&&Xe(t,i)}}else{if(m&&_(e))for(let e of s.mount){let t=b(r,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(pe(e)){let t=e.closest(`form`);if(t){t.reset();break}}}}if(c.keepFieldsRef)for(let e of s.mount)Xe(e,b(f,e));else r={}}a=t.shouldUnregister?c.keepDefaultValues?h(i):{}:h(f),D.array.next({values:{...f}}),D.state.next({values:{...f}})}s={mount:c.keepDirtyValues?s.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:``},o.mount=!g.isValid||!!c.keepIsValid||!!c.keepDirtyValues||!t.shouldUnregister&&!M(f),o.watch=!!t.shouldUnregister,o.keepIsValid=!!c.keepIsValid,o.action=!1,c.keepErrors||(n.errors={}),D.state.next({submitCount:c.keepSubmitCount?n.submitCount:0,isDirty:d?!1:c.keepDirty?n.isDirty:!!(c.keepDefaultValues&&!A(e,i)),isSubmitted:c.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:d?{}:c.keepDirtyValues?c.keepDefaultValues&&a?Ce(i,a):n.dirtyFields:c.keepDefaultValues&&e?Ce(i,e):c.keepDirty?n.dirtyFields:{},touchedFields:c.keepTouched?n.touchedFields:{},errors:c.keepErrors?n.errors:{},isSubmitSuccessful:c.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},U=(e,n)=>H(S(e)?e(a):e,{...t.resetOptions,...n}),ct=(e,t={})=>{let n=b(r,e),i=n&&n._f;if(i){let e=i.refs?i.refs[0]:i.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&S(e.select)&&e.select()})}},W=e=>{n={...n,...e}},lt={control:{register:it,unregister:z,getFieldState:tt,handleSubmit:st,setError:I,_subscribe:L,_runSchema:we,_updateIsValidating:j,_focusError:at,_getWatch:Fe,_getDirty:P,_setValid:k,_setFieldArray:he,_setDisabledField:B,_setErrors:ye,_getFieldArray:Ke,_reset:H,_resetDefaultValues:()=>S(t.defaultValues)&&t.defaultValues().then(e=>{U(e,t.resetOptions),D.state.next({isLoading:!1})}),_removeUnmounted:ke,_disableForm:ot,_subjects:D,_proxyFormState:g,get _fields(){return r},get _formValues(){return a},get _state(){return o},set _state(e){o=e},get _defaultValues(){return i},get _names(){return s},set _names(e){s=e},get _formState(){return n},get _options(){return t},set _options(e){t={...t,...e}}},subscribe:R,trigger:$e,register:it,handleSubmit:st,watch:rt,setValue:Xe,getValues:et,reset:U,resetField:V,clearErrors:nt,unregister:z,setError:I,setFocus:ct,getFieldState:tt};return{...lt,formControl:lt}}function Xe(e={}){let t=c.useRef(void 0),n=c.useRef(void 0),[r,i]=c.useState({isDirty:!1,isValidating:!1,isLoading:S(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:S(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:r},e.defaultValues&&!S(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:n,...i}=Ye(e);t.current={...i,formState:r}}let a=t.current.control;return a._options=e,oe(()=>{let e=a._subscribe({formState:a._proxyFormState,callback:()=>i({...a._formState}),reRenderRoot:!0});return i(e=>({...e,isReady:!0})),a._formState.isReady=!0,e},[a]),c.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),c.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),c.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),c.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),c.useEffect(()=>{if(a._proxyFormState.isDirty){let e=a._getDirty();e!==r.isDirty&&a._subjects.state.next({isDirty:e})}},[a,r.isDirty]),c.useEffect(()=>{e.values&&!A(e.values,n.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),a._options.resetOptions?.keepIsValid||a._setValid(),n.current=e.values,i(e=>({...e}))):a._resetDefaultValues()},[a,e.values]),c.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),t.current.formState=c.useMemo(()=>ae(r,a),[a,r]),t.current}var Ze=(e,t,n)=>{if(e&&`reportValidity`in e){let r=b(n,t);e.setCustomValidity(r&&r.message||``),e.reportValidity()}},Qe=(e,t)=>{for(let n in t.fields){let r=t.fields[n];r&&r.ref&&`reportValidity`in r.ref?Ze(r.ref,n,e):r.refs&&r.refs.forEach(t=>Ze(t,n,e))}},$e=(e,t)=>{t.shouldUseNativeValidation&&Qe(e,t);let n={};for(let r in e){let i=b(t.fields,r),a=Object.assign(e[r]||{},{ref:i&&i.ref});if(et(t.names||Object.keys(e),r)){let e=Object.assign({},b(n,r));C(e,`root`,a),C(n,r,e)}else C(n,r,a)}return n},et=(e,t)=>e.some(e=>e.startsWith(t+`.`)),tt=function(e,t){for(var n={};e.length;){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o])if(`unionErrors`in r){var s=r.unionErrors[0].errors[0];n[o]={message:s.message,type:s.code}}else n[o]={message:a,type:i};if(`unionErrors`in r&&r.unionErrors.forEach(function(t){return t.errors.forEach(function(t){return e.push(t)})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=ce(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()}return n},nt=function(e,t,n){return n===void 0&&(n={}),function(r,i,a){try{return Promise.resolve(function(i,o){try{var s=Promise.resolve(e[n.mode===`sync`?`parse`:`parseAsync`](r,t)).then(function(e){return a.shouldUseNativeValidation&&Qe({},a),{errors:{},values:n.raw?r:e}})}catch(e){return o(e)}return s&&s.then?s.then(void 0,o):s}(0,function(e){if(function(e){return Array.isArray(e?.errors)}(e))return{values:{},errors:$e(tt(e.errors,!a.shouldUseNativeValidation&&a.criteriaMode===`all`),a)};throw e}))}catch(e){return Promise.reject(e)}}},I;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(I||={});var rt;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(rt||={});var L=I.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),R=e=>{switch(typeof e){case`undefined`:return L.undefined;case`string`:return L.string;case`number`:return Number.isNaN(e)?L.nan:L.number;case`boolean`:return L.boolean;case`function`:return L.function;case`bigint`:return L.bigint;case`symbol`:return L.symbol;case`object`:return Array.isArray(e)?L.array:e===null?L.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?L.promise:typeof Map<`u`&&e instanceof Map?L.map:typeof Set<`u`&&e instanceof Set?L.set:typeof Date<`u`&&e instanceof Date?L.date:L.object;default:return L.unknown}},z=I.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),B=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;re.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};B.create=e=>new B(e);var it=(e,t)=>{let n;switch(e.code){case z.invalid_type:n=e.received===L.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case z.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,I.jsonStringifyReplacer)}`;break;case z.unrecognized_keys:n=`Unrecognized key(s) in object: ${I.joinValues(e.keys,`, `)}`;break;case z.invalid_union:n=`Invalid input`;break;case z.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${I.joinValues(e.options)}`;break;case z.invalid_enum_value:n=`Invalid enum value. Expected ${I.joinValues(e.options)}, received '${e.received}'`;break;case z.invalid_arguments:n=`Invalid function arguments`;break;case z.invalid_return_type:n=`Invalid function return type`;break;case z.invalid_date:n=`Invalid date`;break;case z.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:I.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case z.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case z.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case z.custom:n=`Invalid input`;break;case z.invalid_intersection_types:n=`Intersection results could not be merged`;break;case z.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case z.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,I.assertNever(e)}return{message:n}},at=it;function ot(){return at}var st=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function V(e,t){let n=ot(),r=st({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===it?void 0:it].filter(e=>!!e)});e.common.issues.push(r)}var H=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return U;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return U;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},U=Object.freeze({status:`aborted`}),ct=e=>({status:`dirty`,value:e}),W=e=>({status:`valid`,value:e}),lt=e=>e.status===`aborted`,ut=e=>e.status===`dirty`,dt=e=>e.status===`valid`,ft=e=>typeof Promise<`u`&&e instanceof Promise,G;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(G||={});var K=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},pt=(e,t)=>{if(dt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new B(e.common.issues);return this._error=t,this._error}}};function q(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var J=class{get description(){return this._def.description}_getType(e){return R(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:R(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new H,ctx:{common:e.parent.common,data:e.data,parsedType:R(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(ft(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:R(e)};return pt(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:R(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return dt(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>dt(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:R(e)},r=this._parse({data:e,path:n.path,parent:n});return pt(n,await(ft(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:z.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new X({schema:this,typeName:Q.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return Z.create(this,this._def)}nullable(){return gn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Zt.create(this)}promise(){return hn.create(this,this._def)}or(e){return $t.create([this,e],this._def)}and(e){return rn.create(this,e,this._def)}transform(e){return new X({...q(this._def),schema:this,typeName:Q.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new _n({...q(this._def),innerType:this,defaultValue:t,typeName:Q.ZodDefault})}brand(){return new bn({typeName:Q.ZodBranded,type:this,...q(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new vn({...q(this._def),innerType:this,catchValue:t,typeName:Q.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return xn.create(this,e)}readonly(){return Sn.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},mt=/^c[^\s-]{8,}$/i,ht=/^[0-9a-z]+$/,gt=/^[0-9A-HJKMNP-TV-Z]{26}$/i,_t=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,vt=/^[a-z0-9_-]{21}$/i,yt=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,bt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,xt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,St=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,Ct,wt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Tt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Et=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Dt=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ot=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,kt=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,At=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`,jt=RegExp(`^${At}$`);function Mt(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Nt(e){return RegExp(`^${Mt(e)}$`)}function Pt(e){let t=`${At}T${Mt(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function Ft(e,t){return!!((t===`v4`||!t)&&wt.test(e)||(t===`v6`||!t)&&Et.test(e))}function It(e,t){if(!yt.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function Lt(e,t){return!!((t===`v4`||!t)&&Tt.test(e)||(t===`v6`||!t)&&Dt.test(e))}var Rt=class e extends J{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==L.string){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.string,received:t.parsedType}),U}let t=new H,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.lengthr.value&&(n=this._getOrReturnCtx(e,n),V(n,{code:z.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.lengthe.test(t),{validation:t,code:z.invalid_string,...G.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...G.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...G.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...G.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...G.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...G.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...G.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...G.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...G.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...G.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...G.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...G.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...G.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...G.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...G.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...G.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...G.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...G.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...G.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...G.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...G.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...G.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...G.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...G.errToObj(t)})}nonempty(e){return this.min(1,G.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.valuenew Rt({checks:[],typeName:Q.ZodString,coerce:e?.coerce??!1,...q(e)});function zt(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var Bt=class e extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==L.number){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.number,received:t.parsedType}),U}let t,n=new H;for(let r of this._def.checks)r.kind===`int`?I.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),V(t,{code:z.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.datar.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),V(t,{code:z.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?zt(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),V(t,{code:z.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),V(t,{code:z.not_finite,message:r.message}),n.dirty()):I.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,G.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,G.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,G.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,G.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:G.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:G.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:G.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:G.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:G.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:G.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:G.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:G.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:G.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:G.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.valuee.kind===`int`||e.kind===`multipleOf`&&I.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.valuenew Bt({checks:[],typeName:Q.ZodNumber,coerce:e?.coerce||!1,...q(e)});var Vt=class e extends J{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==L.bigint)return this._getInvalidInput(e);let t,n=new H;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.datar.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),V(t,{code:z.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),V(t,{code:z.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):I.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.bigint,received:t.parsedType}),U}gte(e,t){return this.setLimit(`min`,e,!0,G.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,G.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,G.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,G.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:G.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:G.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:G.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:G.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:G.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:G.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.valuenew Vt({checks:[],typeName:Q.ZodBigInt,coerce:e?.coerce??!1,...q(e)});var Ht=class extends J{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==L.boolean){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.boolean,received:t.parsedType}),U}return W(e.data)}};Ht.create=e=>new Ht({typeName:Q.ZodBoolean,coerce:e?.coerce||!1,...q(e)});var Ut=class e extends J{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==L.date){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.date,received:t.parsedType}),U}if(Number.isNaN(e.data.getTime()))return V(this._getOrReturnCtx(e),{code:z.invalid_date}),U;let t=new H,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()r.value&&(n=this._getOrReturnCtx(e,n),V(n,{code:z.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):I.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:G.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:G.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.valuenew Ut({checks:[],coerce:e?.coerce||!1,typeName:Q.ZodDate,...q(e)});var Wt=class extends J{_parse(e){if(this._getType(e)!==L.symbol){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.symbol,received:t.parsedType}),U}return W(e.data)}};Wt.create=e=>new Wt({typeName:Q.ZodSymbol,...q(e)});var Gt=class extends J{_parse(e){if(this._getType(e)!==L.undefined){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.undefined,received:t.parsedType}),U}return W(e.data)}};Gt.create=e=>new Gt({typeName:Q.ZodUndefined,...q(e)});var Kt=class extends J{_parse(e){if(this._getType(e)!==L.null){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.null,received:t.parsedType}),U}return W(e.data)}};Kt.create=e=>new Kt({typeName:Q.ZodNull,...q(e)});var qt=class extends J{constructor(){super(...arguments),this._any=!0}_parse(e){return W(e.data)}};qt.create=e=>new qt({typeName:Q.ZodAny,...q(e)});var Jt=class extends J{constructor(){super(...arguments),this._unknown=!0}_parse(e){return W(e.data)}};Jt.create=e=>new Jt({typeName:Q.ZodUnknown,...q(e)});var Yt=class extends J{_parse(e){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.never,received:t.parsedType}),U}};Yt.create=e=>new Yt({typeName:Q.ZodNever,...q(e)});var Xt=class extends J{_parse(e){if(this._getType(e)!==L.undefined){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.void,received:t.parsedType}),U}return W(e.data)}};Xt.create=e=>new Xt({typeName:Q.ZodVoid,...q(e)});var Zt=class e extends J{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==L.array)return V(t,{code:z.invalid_type,expected:L.array,received:t.parsedType}),U;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.lengthr.maxLength.value&&(V(t,{code:z.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new K(t,e,t.path,n)))).then(e=>H.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new K(t,e,t.path,n)));return H.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:G.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:G.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:G.toString(n)}})}nonempty(e){return this.min(1,e)}};Zt.create=(e,t)=>new Zt({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Q.ZodArray,...q(t)});function Qt(e){if(e instanceof Y){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Z.create(Qt(r))}return new Y({...e._def,shape:()=>t})}else if(e instanceof Zt)return new Zt({...e._def,type:Qt(e.element)});else if(e instanceof Z)return Z.create(Qt(e.unwrap()));else if(e instanceof gn)return gn.create(Qt(e.unwrap()));else if(e instanceof an)return an.create(e.items.map(e=>Qt(e)));else return e}var Y=class e extends J{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=I.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==L.object){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.object,received:t.parsedType}),U}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Yt&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new K(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof Yt){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(V(n,{code:z.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new K(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>H.mergeObjectSync(t,e)):H.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return G.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:G.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Q.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of I.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of I.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return Qt(this)}partial(t){let n={};for(let e of I.objectKeys(this.shape)){let r=this.shape[e];t&&!t[e]?n[e]=r:n[e]=r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of I.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof Z;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return fn(I.objectKeys(this.shape))}};Y.create=(e,t)=>new Y({shape:()=>e,unknownKeys:`strip`,catchall:Yt.create(),typeName:Q.ZodObject,...q(t)}),Y.strictCreate=(e,t)=>new Y({shape:()=>e,unknownKeys:`strict`,catchall:Yt.create(),typeName:Q.ZodObject,...q(t)}),Y.lazycreate=(e,t)=>new Y({shape:e,unknownKeys:`strip`,catchall:Yt.create(),typeName:Q.ZodObject,...q(t)});var $t=class extends J{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new B(e.ctx.common.issues));return V(t,{code:z.invalid_union,unionErrors:n}),U}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new B(e));return V(t,{code:z.invalid_union,unionErrors:i}),U}}get options(){return this._def.options}};$t.create=(e,t)=>new $t({options:e,typeName:Q.ZodUnion,...q(t)});var en=e=>e instanceof un?en(e.schema):e instanceof X?en(e.innerType()):e instanceof dn?[e.value]:e instanceof pn?e.options:e instanceof mn?I.objectValues(e.enum):e instanceof _n?en(e._def.innerType):e instanceof Gt?[void 0]:e instanceof Kt?[null]:e instanceof Z?[void 0,...en(e.unwrap())]:e instanceof gn?[null,...en(e.unwrap())]:e instanceof bn||e instanceof Sn?en(e.unwrap()):e instanceof vn?en(e._def.innerType):[],tn=class e extends J{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==L.object)return V(t,{code:z.invalid_type,expected:L.object,received:t.parsedType}),U;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(V(t,{code:z.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),U)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=en(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:Q.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...q(r)})}};function nn(e,t){let n=R(e),r=R(t);if(e===t)return{valid:!0,data:e};if(n===L.object&&r===L.object){let n=I.objectKeys(t),r=I.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=nn(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}else if(n===L.array&&r===L.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r{if(lt(e)||lt(r))return U;let i=nn(e.value,r.value);return i.valid?((ut(e)||ut(r))&&t.dirty(),{status:t.value,value:i.data}):(V(n,{code:z.invalid_intersection_types}),U)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};rn.create=(e,t,n)=>new rn({left:e,right:t,typeName:Q.ZodIntersection,...q(n)});var an=class e extends J{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==L.array)return V(n,{code:z.invalid_type,expected:L.array,received:n.parsedType}),U;if(n.data.lengththis._def.items.length&&(V(n,{code:z.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new K(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>H.mergeArray(t,e)):H.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};an.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new an({items:e,typeName:Q.ZodTuple,rest:null,...q(t)})};var on=class e extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==L.object)return V(n,{code:z.invalid_type,expected:L.object,received:n.parsedType}),U;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new K(n,e,n.path,e)),value:a._parse(new K(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?H.mergeObjectAsync(t,r):H.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof J?new e({keyType:t,valueType:n,typeName:Q.ZodRecord,...q(r)}):new e({keyType:Rt.create(),valueType:t,typeName:Q.ZodRecord,...q(n)})}},sn=class extends J{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==L.map)return V(n,{code:z.invalid_type,expected:L.map,received:n.parsedType}),U;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new K(n,e,n.path,[a,`key`])),value:i._parse(new K(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return U;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}else{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return U;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};sn.create=(e,t,n)=>new sn({valueType:t,keyType:e,typeName:Q.ZodMap,...q(n)});var cn=class e extends J{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==L.set)return V(n,{code:z.invalid_type,expected:L.set,received:n.parsedType}),U;let r=this._def;r.minSize!==null&&n.data.sizer.maxSize.value&&(V(n,{code:z.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return U;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new K(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:G.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:G.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};cn.create=(e,t)=>new cn({valueType:e,minSize:null,maxSize:null,typeName:Q.ZodSet,...q(t)});var ln=class e extends J{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==L.function)return V(t,{code:z.invalid_type,expected:L.function,received:t.parsedType}),U;function n(e,n){return st({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,ot(),it].filter(e=>!!e),issueData:{code:z.invalid_arguments,argumentsError:n}})}function r(e,n){return st({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,ot(),it].filter(e=>!!e),issueData:{code:z.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof hn){let e=this;return W(async function(...t){let o=new B([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}else{let e=this;return W(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new B([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new B([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:an.create(t).rest(Jt.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||an.create([]).rest(Jt.create()),returns:n||Jt.create(),typeName:Q.ZodFunction,...q(r)})}},un=class extends J{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};un.create=(e,t)=>new un({getter:e,typeName:Q.ZodLazy,...q(t)});var dn=class extends J{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return V(t,{received:t.data,code:z.invalid_literal,expected:this._def.value}),U}return{status:`valid`,value:e.data}}get value(){return this._def.value}};dn.create=(e,t)=>new dn({value:e,typeName:Q.ZodLiteral,...q(t)});function fn(e,t){return new pn({values:e,typeName:Q.ZodEnum,...q(t)})}var pn=class e extends J{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return V(t,{expected:I.joinValues(n),received:t.parsedType,code:z.invalid_type}),U}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return V(t,{received:t.data,code:z.invalid_enum_value,options:n}),U}return W(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};pn.create=fn;var mn=class extends J{_parse(e){let t=I.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==L.string&&n.parsedType!==L.number){let e=I.objectValues(t);return V(n,{expected:I.joinValues(e),received:n.parsedType,code:z.invalid_type}),U}if(this._cache||=new Set(I.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=I.objectValues(t);return V(n,{received:n.data,code:z.invalid_enum_value,options:e}),U}return W(e.data)}get enum(){return this._def.values}};mn.create=(e,t)=>new mn({values:e,typeName:Q.ZodNativeEnum,...q(t)});var hn=class extends J{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==L.promise&&t.common.async===!1?(V(t,{code:z.invalid_type,expected:L.promise,received:t.parsedType}),U):W((t.parsedType===L.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};hn.create=(e,t)=>new hn({type:e,typeName:Q.ZodPromise,...q(t)});var X=class extends J{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Q.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{V(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return U;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?U:r.status===`dirty`||t.value===`dirty`?ct(r.value):r});{if(t.value===`aborted`)return U;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?U:r.status===`dirty`||t.value===`dirty`?ct(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?U:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?U:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`)if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!dt(e))return U;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>dt(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):U);I.assertNever(r)}};X.create=(e,t,n)=>new X({schema:e,typeName:Q.ZodEffects,effect:t,...q(n)}),X.createWithPreprocess=(e,t,n)=>new X({schema:t,effect:{type:`preprocess`,transform:e},typeName:Q.ZodEffects,...q(n)});var Z=class extends J{_parse(e){return this._getType(e)===L.undefined?W(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Z.create=(e,t)=>new Z({innerType:e,typeName:Q.ZodOptional,...q(t)});var gn=class extends J{_parse(e){return this._getType(e)===L.null?W(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};gn.create=(e,t)=>new gn({innerType:e,typeName:Q.ZodNullable,...q(t)});var _n=class extends J{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===L.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};_n.create=(e,t)=>new _n({innerType:e,typeName:Q.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...q(t)});var vn=class extends J{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ft(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new B(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new B(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};vn.create=(e,t)=>new vn({innerType:e,typeName:Q.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...q(t)});var yn=class extends J{_parse(e){if(this._getType(e)!==L.nan){let t=this._getOrReturnCtx(e);return V(t,{code:z.invalid_type,expected:L.nan,received:t.parsedType}),U}return{status:`valid`,value:e.data}}};yn.create=e=>new yn({typeName:Q.ZodNaN,...q(e)});var bn=class extends J{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},xn=class e extends J{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?U:e.status===`dirty`?(t.dirty(),ct(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?U:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:Q.ZodPipeline})}},Sn=class extends J{_parse(e){let t=this._def.innerType._parse(e),n=e=>(dt(e)&&(e.value=Object.freeze(e.value)),e);return ft(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};Sn.create=(e,t)=>new Sn({innerType:e,typeName:Q.ZodReadonly,...q(t)}),Y.lazycreate;var Q;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(Q||={});var Cn=Rt.create;Bt.create,yn.create,Vt.create,Ht.create,Ut.create,Wt.create,Gt.create,Kt.create,qt.create,Jt.create,Yt.create,Xt.create,Zt.create;var wn=Y.create;Y.strictCreate,$t.create,tn.create,rn.create,an.create,on.create,sn.create,cn.create,ln.create,un.create,dn.create,pn.create,mn.create,hn.create,X.create,Z.create,gn.create,X.createWithPreprocess,xn.create;var $=o(),Tn=wn({content:Cn().min(1,`Content cannot be empty`),author:Cn().optional(),tagsRaw:Cn().optional()});function En(){let{key:e}=n(),r=a(e=>e.slug),o=t(),{data:l}=s(r,e),u=i(r),{register:d,handleSubmit:f,formState:p,reset:ee}=Xe({resolver:nt(Tn),defaultValues:{content:``,author:``,tagsRaw:``}});return(0,c.useEffect)(()=>{l&&ee({content:l.content,author:l.author??``,tagsRaw:l.tags.join(`, `)})},[l,ee]),(0,$.jsxs)(`form`,{onSubmit:f(async t=>{if(!e)return;let n=(t.tagsRaw??``).split(`,`).map(e=>e.trim()).filter(Boolean);await u.mutateAsync({key:e,content:t.content,author:t.author||void 0,tags:n}),o(`/notes/${encodeURIComponent(e)}`)}),className:`note-editor`,children:[(0,$.jsx)(`div`,{className:`note-editor-head`,children:(0,$.jsxs)(`h1`,{className:`note-editor-title`,children:[`Edit `,e]})}),(0,$.jsx)(`textarea`,{...d(`content`),rows:20,className:`note-editor-textarea`,"aria-label":`Note content`}),p.errors.content&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:p.errors.content.message}),(0,$.jsx)(`input`,{...d(`author`),placeholder:`Author (optional)`,className:`w-full px-3 py-2 bg-card border border-border rounded-md text-sm`}),(0,$.jsx)(`input`,{...d(`tagsRaw`),placeholder:`Tags, comma-separated`,className:`w-full px-3 py-2 bg-card border border-border rounded-md text-sm`}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(`button`,{type:`submit`,disabled:p.isSubmitting,className:`px-3 py-1.5 bg-primary text-primary-foreground rounded-md text-sm`,children:`Save`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>o(-1),className:`px-3 py-1.5 border border-border rounded-md text-sm`,children:`Cancel`})]})]})}export{En as default}; \ No newline at end of file diff --git a/ui/dist/assets/NoteView-C3HDgCQU.js b/ui/dist/assets/NoteView-C3HDgCQU.js new file mode 100644 index 0000000..655d115 --- /dev/null +++ b/ui/dist/assets/NoteView-C3HDgCQU.js @@ -0,0 +1,3 @@ +import{A as e,N as t,b as n,c as r,h as i,k as a,l as o,r as s,s as c,u as l}from"./index-Dtmrigu0.js";import{t as u}from"./markdown-Du-2HpsD.js";var d=/\[\[([^\]|]+?)(?:\|([^\]]+))?\]\]/g;function f(){let e=new u({html:!1,linkify:!0,breaks:!1}),t=e.renderer.rules.link_open||((e,t,n,r,i)=>i.renderToken(e,t,n));e.renderer.rules.link_open=(e,n,r,i,a)=>{let o=e[n].attrGet(`href`)??``;return/^https?:\/\//.test(o)&&(e[n].attrSet(`target`,`_blank`),e[n].attrSet(`rel`,`noopener noreferrer`)),t(e,n,r,i,a)};let n=e.renderer.rules.image||((e,t,n,r,i)=>i.renderToken(e,t,n));return e.renderer.rules.image=(e,t,r,i,a)=>(e[t].attrSet(`loading`,`lazy`),n(e,t,r,i,a)),e}var p=f();function m(e){let t=e;if(t.startsWith(`--- +`)){let e=t.indexOf(` +---`,4);e>0&&(t=t.slice(e+4).replace(/^\n/,``))}let n=[],r=0;for(let e of t.matchAll(d)){let i=e.index??0;i>r&&n.push({kind:`html`,content:p.render(t.slice(r,i))}),n.push({kind:`wikilink`,content:e[1].trim(),label:e[2]?.trim()}),r=i+e[0].length}return re.setSlug),o=_(t),s=[`wikilink`,o.crossProject?`wikilink-cross`:``,i?`wikilink-missing`:``].filter(Boolean).join(` `);function c(){o.crossProject&&a(o.project)}return(0,h.jsxs)(e,{to:`/notes/${encodeURIComponent(o.fullKey)}`,className:s,onClick:c,children:[o.crossProject&&(0,h.jsx)(`span`,{className:`wikilink-cross-chip`,children:o.project}),r??o.key]})}function y({source:e}){return(0,h.jsx)(h.Fragment,{children:m(e).map((e,t)=>e.kind===`html`?(0,h.jsx)(`div`,{dangerouslySetInnerHTML:{__html:e.content}},t):(0,h.jsx)(v,{target:e.content,label:e.label},t))})}function b(){let{key:e}=t(),{data:a,isLoading:u,error:d,refetch:f}=s(n(e=>e.slug),e),p=d,m=a?.key?.split(`/`).pop()??(e?decodeURIComponent(e).split(`/`).pop():void 0);return i(m?[m,`Notes`]:void 0),u?(0,h.jsx)(`div`,{className:`p-8 max-w-[620px] mx-auto`,children:(0,h.jsx)(o,{label:`Loading note`,rows:5})}):p?(0,h.jsx)(`div`,{className:`p-8 max-w-[620px] mx-auto`,children:(0,h.jsx)(r,{title:`Note failed to load`,message:p.message||`Unknown error`,onRetry:()=>f()})}):a?(0,h.jsxs)(`article`,{className:`doc-view`,children:[(0,h.jsxs)(`header`,{children:[(0,h.jsx)(`h1`,{className:`doc-view-title`,children:a.key.split(`/`).pop()}),(0,h.jsxs)(`div`,{className:`doc-view-meta`,children:[a.key,` · updated `,c(new Date(a.updated_at).getTime()),a.author&&` · by ${a.author}`]})]}),(0,h.jsx)(`div`,{className:`prose-body`,children:(0,h.jsx)(y,{source:a.content})})]}):(0,h.jsx)(`div`,{className:`p-8 max-w-[620px] mx-auto`,children:(0,h.jsx)(l,{title:`Note not found`,description:`The note may have been deleted or the link is stale.`})})}export{b as default}; \ No newline at end of file diff --git a/ui/dist/assets/NotesLayout-DNCRNL1H.js b/ui/dist/assets/NotesLayout-DNCRNL1H.js new file mode 100644 index 0000000..ee0c707 --- /dev/null +++ b/ui/dist/assets/NotesLayout-DNCRNL1H.js @@ -0,0 +1 @@ +import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{A as t,C as n,N as r,P as i,S as a,b as o,c as s,g as c,i as l,j as u,k as d,l as f,n as p,u as m,w as h,x as g}from"./index-Dtmrigu0.js";var _=e(i(),1),v=d();function y(e){let t={};for(let n of e){let e=n.key.split(`/`),r=e.length===1?``:e.slice(0,-1).join(`/`);(t[r]??=[]).push(n)}return t}function b({project:e,open:r,onOpenChange:i,currentKey:o}){let{data:s=[]}=l(e),c=y(s),u=Object.keys(c).sort();return(0,v.jsx)(g,{open:r,onOpenChange:i,children:(0,v.jsxs)(a,{side:`left`,className:`w-[300px] p-0`,children:[(0,v.jsx)(n,{className:`px-4 py-3 border-b border-border`,children:(0,v.jsx)(h,{className:`font-mono text-xs uppercase tracking-wider text-muted-foreground`,children:`Notes`})}),(0,v.jsxs)(`div`,{className:`p-2 overflow-auto text-sm`,children:[u.map(e=>(0,v.jsxs)(`div`,{className:`mb-2`,children:[e&&(0,v.jsxs)(`div`,{className:`tree-node-folder`,children:[e,`/`]}),c[e].sort((e,t)=>e.key.localeCompare(t.key)).map(e=>(0,v.jsx)(t,{to:`/notes/${encodeURIComponent(e.key)}`,className:o===e.key?`tree-node-note tree-node-note-active`:`tree-node-note`,onClick:()=>i(!1),children:e.key.split(`/`).pop()},e.key))]},e||`(root)`)),u.length===0&&(0,v.jsx)(`div`,{className:`p-2 text-xs text-muted-foreground`,children:`No notes yet.`})]})]})})}function x({project:e,open:r,onOpenChange:i,currentKey:o}){let{data:s}=p(e),{inbound:c,outbound:l}=(0,_.useMemo)(()=>{if(!s||!o)return{inbound:[],outbound:[]};let e=[],t=[];for(let n of s.edges)n.target===o&&e.push(n.source),n.source===o&&t.push(n.target);return{inbound:Array.from(new Set(e)),outbound:Array.from(new Set(t))}},[s,o]);return(0,v.jsx)(g,{open:r,onOpenChange:i,children:(0,v.jsxs)(a,{side:`right`,className:`w-[280px]`,children:[(0,v.jsx)(n,{className:`mb-4`,children:(0,v.jsx)(h,{className:`font-mono text-xs uppercase tracking-wider text-muted-foreground`,children:`Links`})}),(0,v.jsxs)(`div`,{children:[(0,v.jsxs)(`section`,{className:`link-panel-section`,children:[(0,v.jsx)(`h3`,{className:`link-panel-heading`,children:`Inbound`}),c.length===0&&(0,v.jsx)(`p`,{className:`link-panel-empty`,children:`—`}),(0,v.jsx)(`ul`,{className:`link-panel-list`,children:c.map(e=>(0,v.jsx)(`li`,{children:(0,v.jsx)(t,{to:`/notes/${encodeURIComponent(e)}`,onClick:()=>i(!1),className:`link-panel-item`,children:e})},e))})]}),(0,v.jsxs)(`section`,{className:`link-panel-section`,children:[(0,v.jsx)(`h3`,{className:`link-panel-heading`,children:`Outbound`}),l.length===0&&(0,v.jsx)(`p`,{className:`link-panel-empty`,children:`—`}),(0,v.jsx)(`ul`,{className:`link-panel-list`,children:l.map(e=>(0,v.jsx)(`li`,{children:(0,v.jsx)(t,{to:`/notes/${encodeURIComponent(e)}`,onClick:()=>i(!1),className:`link-panel-item`,children:e})},e))})]})]})]})})}function S(){let e=o(e=>e.slug),{key:t}=r(),[n,i]=(0,_.useState)(!1),[a,s]=(0,_.useState)(!1);return c(`mod+/`,()=>i(e=>!e)),c(`mod+l`,()=>s(e=>!e)),(0,v.jsxs)(`div`,{className:`relative`,children:[(0,v.jsx)(b,{project:e,open:n,onOpenChange:i,currentKey:t}),(0,v.jsx)(x,{project:e,open:a,onOpenChange:s,currentKey:t}),(0,v.jsx)(u,{}),!t&&(0,v.jsx)(C,{project:e})]})}function C({project:e}){let{data:n,isLoading:r,error:i,refetch:a}=l(e),o=i,c=(0,_.useMemo)(()=>{let e={};for(let t of n??[]){let n=t.key.split(`/`),r=n.length>1?n.slice(0,-1).join(`/`):`(root)`;(e[r]??=[]).push(t.key)}for(let t of Object.keys(e))e[t].sort();return Object.entries(e).sort(([e],[t])=>e.localeCompare(t))},[n]);return(0,v.jsxs)(`div`,{className:`notes-index`,children:[(0,v.jsxs)(`div`,{className:`notes-index-head`,children:[(0,v.jsx)(`h1`,{className:`notes-index-title`,children:`Notes`}),(0,v.jsx)(`span`,{className:`notes-index-count`,children:r?`loading…`:`${n?.length??0} notes in ${c.length} folders`})]}),(0,v.jsxs)(`p`,{className:`notes-index-hint`,children:[`Open tree `,(0,v.jsx)(`kbd`,{className:`kbd`,children:`⌘/`}),`\xA0· search `,(0,v.jsx)(`kbd`,{className:`kbd`,children:`⌘K`})]}),r?(0,v.jsx)(f,{label:`Loading notes`,rows:6}):o?(0,v.jsx)(s,{title:`Notes failed to load`,message:o.message||`Unknown error`,onRetry:()=>a()}):c.length===0?(0,v.jsx)(m,{title:`No notes yet`,description:`Create your first note to see it here.`}):(0,v.jsx)(`div`,{className:`notes-index-grid`,children:c.map(([e,n])=>(0,v.jsxs)(`section`,{className:`notes-folder`,children:[(0,v.jsxs)(`h2`,{className:`notes-folder-head`,children:[e,` `,(0,v.jsxs)(`span`,{className:`notes-folder-count`,children:[`· `,n.length]})]}),(0,v.jsx)(`ul`,{className:`notes-folder-list`,children:n.map(e=>(0,v.jsx)(`li`,{className:`notes-folder-item`,children:(0,v.jsx)(t,{to:`/notes/${encodeURIComponent(e)}`,className:`notes-folder-link`,children:e.split(`/`).pop()})},e))})]},e))})]})}export{S as default}; \ No newline at end of file diff --git a/ui/dist/assets/NotesSearch-CN-8Hmf8.js b/ui/dist/assets/NotesSearch-CN-8Hmf8.js new file mode 100644 index 0000000..21b1fef --- /dev/null +++ b/ui/dist/assets/NotesSearch-CN-8Hmf8.js @@ -0,0 +1 @@ +import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{A as t,D as n,P as r,_ as i,b as a,c as o,k as s,l as c,u as l,v as u}from"./index-Dtmrigu0.js";var d=e(r(),1),f=s();function p(){let e=a(e=>e.slug),[r,s]=(0,d.useState)(``),[p,m]=(0,d.useState)(``);(0,d.useEffect)(()=>{let e=setTimeout(()=>m(r.trim()),300);return()=>clearTimeout(e)},[r]);let{data:h,isFetching:g,error:_,refetch:v}=n({queryKey:i.notesSearch(e,p),enabled:p.length>0,queryFn:()=>u(`/api/projects/${encodeURIComponent(e)}/search?q=${encodeURIComponent(p)}`)}),y=_;return(0,f.jsxs)(`div`,{className:`notes-search`,children:[(0,f.jsx)(`input`,{autoFocus:!0,value:r,onChange:e=>s(e.target.value),placeholder:`Search notes…`,className:`notes-search-input`,"aria-label":`Search notes`}),(0,f.jsx)(`div`,{className:`mt-6`,children:p.length===0?null:g?(0,f.jsx)(c,{label:`Searching notes`,rows:4}):y?(0,f.jsx)(o,{title:`Search failed`,message:y.message||`Unknown error`,onRetry:()=>v()}):(h?.hits.length??0)===0?(0,f.jsx)(l,{title:`No results`,description:`No notes match "${p}".`}):(0,f.jsx)(`ul`,{className:`space-y-1.5`,children:h?.hits.map(e=>(0,f.jsx)(`li`,{children:(0,f.jsxs)(t,{to:`/notes/${encodeURIComponent(e.key)}`,className:`notes-search-hit`,children:[(0,f.jsx)(`div`,{className:`notes-search-hit-title`,children:e.key}),(0,f.jsx)(`div`,{className:`notes-search-hit-snippet`,dangerouslySetInnerHTML:{__html:e.snippet}})]})},e.key))})})]})}export{p as default}; \ No newline at end of file diff --git a/ui/dist/assets/graph-YlRq3euP.js b/ui/dist/assets/graph-YlRq3euP.js new file mode 100644 index 0000000..3636e3f --- /dev/null +++ b/ui/dist/assets/graph-YlRq3euP.js @@ -0,0 +1 @@ +function e(e,t){var n,r=1;e??=0,t??=0;function i(){var i,a=n.length,o,s=0,c=0;for(i=0;i=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f,i=a,!(a=a[_=g<<1|h]))return i[_]=o,e;if(p=+e._x.call(null,a.data),m=+e._y.call(null,a.data),t===p&&n===m)return o.next=a,i?i[_]=o:e._root=o,e;do i=i?i[_]=[,,,,]:e._root=[,,,,],(h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f;while((_=g<<1|h)==(v=(m>=f)<<1|p>=d));return i[v]=a,i[_]=o,e}function r(e){var t,r,i=e.length,a,o,s=Array(i),c=Array(i),l=1/0,u=1/0,d=-1/0,f=-1/0;for(r=0;rd&&(d=a),of&&(f=o));if(l>d||u>f)return this;for(this.cover(l,u).cover(d,f),r=0;re||e>=i||r>t||t>=a;)switch(l=(td||(c=h.y0)>f||(l=h.x1)=v)<<1|e>=_)&&(h=p[p.length-1],p[p.length-1]=p[p.length-1-g],p[p.length-1-g]=h)}else{var y=e-+this._x.call(null,m.data),b=t-+this._y.call(null,m.data),x=y*y+b*b;if(x=(f=(o+c)/2))?o=f:c=f,(h=d>=(p=(s+l)/2))?s=p:l=p,t=n,!(n=n[g=h<<1|m]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,_=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(a=n.next)&&delete n.next,i?(a?i.next=a:delete i.next,this):t?(a?t[g]=a:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[_]=n:this._root=n),this):(this._root=a,this)}function u(e){for(var t=0,n=e.length;t[t(e,n,o),e])),d;for(n=0,s=Array(i);n{}};function k(){for(var e=0,t=arguments.length,n={},r;e=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}A.prototype=k.prototype={constructor:A,on:function(e,t){var n=this._,r=j(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a0)for(var n=Array(i),r=0,i,a;r=0&&e._call.call(void 0,t),e=e._next;--P}function X(){V=(B=U.now())+H,P=F=0;try{Y()}finally{P=0,ee(),V=0}}function Z(){var e=U.now(),t=e-B;t>L&&(H-=t,B=e)}function ee(){for(var e,t=R,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:R=n);z=e,Q(r)}function Q(e){P||(F&&=clearTimeout(F),e-V>24?(e<1/0&&(F=setTimeout(X,e-U.now()-H)),I&&=clearInterval(I)):(I||=(B=U.now(),setInterval(Z,L)),P=1,W(X)))}var te=1664525,ne=1013904223,$=4294967296;function re(){let e=1;return()=>(e=(te*e+ne)%$)/$}function ie(e){return e.x}function ae(e){return e.y}var oe=10,se=Math.PI*(3-Math.sqrt(5));function ce(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,s=new Map,c=J(d),l=k(`tick`,`end`),u=re();e??=[];function d(){f(),l.call(`tick`,t),n1?(n==null?s.delete(e):s.set(e,m(n)),t):s.get(e)},find:function(t,n,r){var i=0,a=e.length,o,s,c,l,u;for(r==null?r=1/0:r*=r,i=0;i1?(l.on(e,n),t):l.on(e)}}}function le(){var e,t,n,r,i=C(-30),a,o=1,s=1/0,c=.81;function l(n){var i,a=e.length,o=y(e,ie,ae).visitAfter(d);for(r=n,i=0;i=s)){(e.data!==t||e.next)&&(d===0&&(d=w(n),m+=d*d),f===0&&(f=w(n),m+=f*f),m:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--border)}.stats-strip{border-block-style:var(--tw-border-style);border-block-width:1px;border-color:var(--border);background-color:var(--card)}@media (width>=40rem){.stats-strip{grid-template-columns:repeat(3,minmax(0,1fr))}:where(.stats-strip>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px * var(--tw-divide-y-reverse));border-bottom-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)))}}@media (width>=48rem){.stats-strip{grid-template-columns:repeat(5,minmax(0,1fr))}}.stats-cell{min-height:86px;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4);flex-direction:column;justify-content:space-between;display:flex}.stats-label{--tw-font-weight:var(--font-weight-medium);font-size:10px;font-weight:var(--font-weight-medium);--tw-tracking:.08em;letter-spacing:.08em;color:var(--muted-foreground);text-transform:uppercase}.stats-value-row{margin-top:calc(var(--spacing) * 1);align-items:baseline;gap:calc(var(--spacing) * 2);display:flex}.stats-value{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--foreground);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stats-delta{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--primary)}.home-split{min-height:calc(var(--spacing) * 0);flex:1;grid-template-columns:repeat(1,minmax(0,1fr));display:grid}:where(.home-split>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)));border-color:var(--border)}@media (width>=64rem){.home-split{grid-template-columns:minmax(0,1fr) 380px}}.home-main{min-height:calc(var(--spacing) * 0);min-width:calc(var(--spacing) * 0);flex-direction:column;display:flex}.home-rail{min-height:calc(var(--spacing) * 0);flex-direction:column;display:flex}.home-rail-top{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border)}.graph-card{padding-inline:calc(var(--spacing) * 3);padding-bottom:calc(var(--spacing) * 4)}.note-list{flex:1;overflow-y:auto}.note-row{justify-content:space-between;align-items:baseline;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){.note-row:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.note-row:hover{background-color:color-mix(in oklab, var(--accent) 60%, transparent)}}}.note-row-name{text-overflow:ellipsis;white-space:nowrap;color:var(--foreground);font-family:Geist Mono,ui-monospace,monospace;font-size:13px;overflow:hidden}.note-row-folder{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--muted-foreground);font-family:Geist Mono,ui-monospace,monospace;font-size:10px;overflow:hidden}.notes-index{max-width:980px;padding:calc(var(--spacing) * 6);margin-inline:auto}.notes-index-head{margin-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:baseline;display:flex}.notes-index-title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--foreground)}.notes-index-count{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.notes-index-hint{margin-bottom:calc(var(--spacing) * 6);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.notes-index-grid{gap:calc(var(--spacing) * 5);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media (width>=48rem){.notes-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.notes-folder{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 3)}.notes-folder-head{margin-bottom:calc(var(--spacing) * 2);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase;font-size:10px}.notes-folder-count{color:var(--muted-foreground)}:where(.notes-folder-list>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.notes-folder-list{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.notes-folder-item{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notes-folder-link{color:var(--foreground)}@media (hover:hover){.notes-folder-link:hover{color:var(--primary)}}.kbd{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:10px}.note-view{max-width:720px;padding:calc(var(--spacing) * 8);margin-inline:auto}.note-view-title{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.note-view-meta{margin-top:calc(var(--spacing) * 1.5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.mcp-shell{min-height:calc(var(--spacing) * 0);flex:1;grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media (width>=64rem){.mcp-shell{grid-template-columns:300px minmax(0,1fr)}}.mcp-aside{border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--border);overflow-y:auto}.mcp-aside-head{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);padding:calc(var(--spacing) * 3)}.mcp-aside-title{margin-bottom:calc(var(--spacing) * 2);justify-content:space-between;align-items:baseline;display:flex}.mcp-aside-name{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.mcp-aside-count{color:var(--muted-foreground);font-size:10px}.mcp-filter{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);width:100%;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.mcp-refresh{margin-top:calc(var(--spacing) * 2);width:100%;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);text-decoration-line:underline;text-decoration-style:dotted}.mcp-error{padding:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--destructive)}.mcp-tool{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);text-align:left;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.mcp-tool:hover{background-color:var(--muted)}}.mcp-tool-active{background-color:var(--muted);color:var(--foreground)}.mcp-tool-desc{margin-top:calc(var(--spacing) * .5);-webkit-line-clamp:2;color:var(--muted-foreground);-webkit-box-orient:vertical;font-size:10px;display:-webkit-box;overflow:hidden}.mcp-main{overflow-y:auto}.mcp-content{max-width:900px;padding:calc(var(--spacing) * 6)}.mcp-title{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.mcp-desc{margin-top:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.mcp-panel{margin-bottom:calc(var(--spacing) * 4);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 4)}.mcp-panel-head{margin-bottom:calc(var(--spacing) * 3);justify-content:space-between;align-items:center;display:flex}.mcp-panel-title{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase}.mcp-raw-toggle{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);display:flex}.mcp-textarea{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--background);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.mcp-empty-params{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.mcp-run-row{margin-top:calc(var(--spacing) * 4);align-items:center;gap:calc(var(--spacing) * 3);display:flex}:where(.mcp-history>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.mcp-history-item{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card)}.mcp-history-head{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 3);display:flex}.mcp-history-name{background-color:var(--muted);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * .5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.mcp-history-ms{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.mcp-history-ok{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--primary);margin-left:auto}.mcp-history-err{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--destructive);margin-left:auto;overflow:hidden}.mcp-history-body{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--border);background-color:var(--background);padding:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));overflow:auto}.param-label{margin-bottom:calc(var(--spacing) * 1);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));display:block}.param-name{color:var(--foreground)}.param-type{color:var(--muted-foreground)}.param-required{margin-left:calc(var(--spacing) * 1);color:var(--destructive)}.param-desc{margin-top:calc(var(--spacing) * .5);color:var(--muted-foreground);font-family:Geist,ui-sans-serif,system-ui,sans-serif;font-size:10px;display:block}.param-input{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--background);width:100%;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.skip-link{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{clip-path:none;white-space:normal;width:auto;height:auto;top:calc(var(--spacing) * 2);left:calc(var(--spacing) * 2);z-index:50;border-radius:var(--radius);background-color:var(--primary);padding:0;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);color:var(--primary-foreground);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);margin:0;position:fixed;overflow:visible}.sidebar-brand{align-items:center;gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);display:flex}.sidebar-brand:is(:where(.group)[data-collapsible=icon] *){padding-inline:calc(var(--spacing) * 0);justify-content:center}.sidebar-brand-link{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * 1);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));flex:1;display:flex}.sidebar-brand-link:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 1);flex:none}@media (hover:hover){.sidebar-brand-link:hover{background-color:var(--sidebar-accent)}}.sidebar-brand-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--sidebar-foreground);overflow:hidden}.sidebar-brand-name:is(:where(.group)[data-collapsible=icon] *){display:none}.sidebar-brand-trigger{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);flex-shrink:0}.sidebar-brand-trigger:is(:where(.group)[data-collapsible=icon] *){display:none}.site-header{height:var(--header-height);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);background-color:var(--background);padding-inline:calc(var(--spacing) * 4);flex-shrink:0;display:flex}@media (width>=64rem){.site-header{padding-inline:calc(var(--spacing) * 6)}}.site-header-left{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 2);display:flex}.site-header-mobile-trigger{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);flex-shrink:0}@media (width>=48rem){.site-header-mobile-trigger{display:none}}.site-header-title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);overflow:hidden}.site-header-actions{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.site-header-search{height:calc(var(--spacing) * 8);gap:calc(var(--spacing) * 2);color:var(--muted-foreground)}.site-header-kbd{pointer-events:none;height:calc(var(--spacing) * 5);align-items:center;gap:calc(var(--spacing) * 1);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);padding-inline:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-medium);font-family:Geist Mono,ui-monospace,monospace;font-size:10px;font-weight:var(--font-weight-medium);opacity:1;-webkit-user-select:none;user-select:none;border-radius:.25rem;display:none}@media (width>=40rem){.site-header-kbd{display:flex}}.site-header-reload{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);border-radius:var(--radius);color:var(--muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.site-header-reload:hover{background-color:var(--muted);color:var(--foreground)}}.site-header-reload:disabled{cursor:not-allowed;opacity:.5}:where(.activity-list>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--border)}.activity-row{align-items:flex-start;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 3);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){.activity-row:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.activity-row:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}}.activity-icon-wrap{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);border-radius:var(--radius);background-color:var(--muted);color:var(--muted-foreground);flex-shrink:0;justify-content:center;align-items:center;display:flex}.activity-body{min-width:calc(var(--spacing) * 0);flex:1}.activity-title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground);overflow:hidden}.activity-detail{margin-top:calc(var(--spacing) * .5);text-overflow:ellipsis;white-space:nowrap;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);overflow:hidden}.activity-time{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);flex-shrink:0}.activity-empty{padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 8);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.activity-badge{align-items:center;gap:calc(var(--spacing) * 1);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;display:inline-flex}.activity-badge-new{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.activity-badge-new{background-color:color-mix(in oklab, var(--primary) 15%, transparent)}}.activity-badge-new{color:var(--primary)}.activity-badge-doc{background-color:var(--chart-2)}@supports (color:color-mix(in lab, red, red)){.activity-badge-doc{background-color:color-mix(in oklab, var(--chart-2) 15%, transparent)}}.activity-badge-doc{color:var(--chart-2)}.activity-badge-upd{background-color:var(--muted);color:var(--muted-foreground)}.activity-badge-err{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.activity-badge-err{background-color:color-mix(in oklab, var(--destructive) 15%, transparent)}}.activity-badge-err{color:var(--destructive)}.docs-page{max-width:1200px;padding:calc(var(--spacing) * 6);margin-inline:auto}.docs-page-head{margin-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:center;display:flex}.docs-page-title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--foreground)}.docs-empty{border-radius:var(--radius);border-style:var(--tw-border-style);--tw-border-style:dashed;border-style:dashed;border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 10)}.docs-empty-title{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}.docs-empty-desc{margin-top:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.docs-empty-code{margin-block:calc(var(--spacing) * 4);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);padding:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));white-space:pre;color:var(--foreground);border-radius:.25rem;display:block;overflow-x:auto}.docs-empty-hint{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.doc-view{max-width:860px;padding:calc(var(--spacing) * 8);margin-inline:auto}.doc-view-title{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.doc-view-meta{margin-top:calc(var(--spacing) * 1.5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.note-editor{max-width:820px;padding:calc(var(--spacing) * 6);margin-inline:auto}.note-editor-head{margin-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:center;display:flex}.note-editor-title{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.note-editor-textarea{resize:vertical;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);width:100%;min-height:60vh;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-outline-style:none;outline-style:none}.note-editor-textarea:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--ring)}.notes-search{max-width:860px;padding:calc(var(--spacing) * 6);margin-inline:auto}.notes-search-input{margin-bottom:calc(var(--spacing) * 4);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-outline-style:none;outline-style:none}.notes-search-input:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--ring)}.notes-search-hit{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:block}@media (hover:hover){.notes-search-hit:hover{border-color:var(--ring);background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.notes-search-hit:hover{background-color:color-mix(in oklab, var(--accent) 40%, transparent)}}}.notes-search-hit-title{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground)}.notes-search-hit-snippet{margin-top:calc(var(--spacing) * 1);-webkit-line-clamp:2;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.graph-page{height:calc(100svh - var(--header-height));min-height:calc(var(--spacing) * 0);flex-direction:column;flex:1;display:flex}.graph-page-head{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 4);justify-content:space-between;align-items:baseline;display:flex}.graph-canvas-wrap{min-height:calc(var(--spacing) * 0);flex:1;width:100%;position:relative}.graph-canvas{inset:calc(var(--spacing) * 0);width:100%;height:100%;display:block;position:absolute}.graph-fallback-banner{top:calc(var(--spacing) * 2);left:calc(var(--spacing) * 2);z-index:10;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);color:var(--muted-foreground);font-family:Geist Mono,ui-monospace,monospace;font-size:10px;position:absolute}.graph-meta{top:calc(var(--spacing) * 2);left:calc(var(--spacing) * 2);z-index:10;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);max-width:60%;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);color:var(--muted-foreground);font-family:Geist Mono,ui-monospace,monospace;font-size:10px;position:absolute;overflow:hidden}.graph-meta-sep{color:var(--foreground)}.graph-reset{top:calc(var(--spacing) * 2);right:calc(var(--spacing) * 2);z-index:10;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);color:var(--muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));font-family:Geist Mono,ui-monospace,monospace;font-size:10px;position:absolute}@media (hover:hover){.graph-reset:hover{background-color:var(--accent);color:var(--foreground)}}.graph-node{transition:opacity .12s cubic-bezier(.3,0,0,1)}.wikilink{background-color:var(--primary);border-radius:.25rem}@supports (color:color-mix(in lab, red, red)){.wikilink{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.wikilink{padding-inline:calc(var(--spacing) * 1);padding-block:calc(var(--spacing) * .5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--primary);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.wikilink:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.wikilink:hover{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}}.wikilink-missing{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.wikilink-missing{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.wikilink-missing{color:var(--destructive)}.wikilink-cross{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.wikilink-cross{--tw-ring-color:color-mix(in oklab, var(--primary) 40%, transparent)}}.wikilink-cross{--tw-ring-inset:inset}.wikilink-cross-chip{margin-right:calc(var(--spacing) * 1);background-color:var(--primary);border-radius:.25rem}@supports (color:color-mix(in lab, red, red)){.wikilink-cross-chip{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.wikilink-cross-chip{padding-inline:calc(var(--spacing) * 1);vertical-align:middle;color:var(--primary);font-family:Geist Mono,ui-monospace,monospace;font-size:10px}.prose-body{--tw-leading:calc(var(--spacing) * 7);font-size:15px;line-height:calc(var(--spacing) * 7);color:var(--foreground)}.prose-body h1,.prose-body h2,.prose-body h3{margin-top:calc(var(--spacing) * 8);margin-bottom:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--foreground)}.prose-body h1{margin-top:calc(var(--spacing) * 0);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.prose-body h2{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.prose-body h3{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.prose-body p{margin-block:calc(var(--spacing) * 3)}.prose-body ul{margin-block:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 6);list-style-type:disc}.prose-body ol{margin-block:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 6);list-style-type:decimal}.prose-body li{margin-block:calc(var(--spacing) * 1)}.prose-body a{color:var(--primary);text-underline-offset:2px;text-decoration-line:underline;text-decoration-style:dotted}@media (hover:hover){.prose-body a:hover{text-decoration-style:solid}}.prose-body code{background-color:var(--muted);padding-inline:calc(var(--spacing) * 1);padding-block:calc(var(--spacing) * .5);color:var(--foreground);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:.85em}.prose-body pre{margin-block:calc(var(--spacing) * 4);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 3);overflow-x:auto}.prose-body pre code{padding:calc(var(--spacing) * 0);background-color:#0000;font-size:13px}.prose-body blockquote{margin-block:calc(var(--spacing) * 4);border-left-style:var(--tw-border-style);border-left-width:2px;border-color:var(--border);padding-left:calc(var(--spacing) * 4);color:var(--muted-foreground);font-style:italic}.prose-body hr{margin-block:calc(var(--spacing) * 6);border-color:var(--border)}.theme-toggle{border-radius:var(--radius);padding:calc(var(--spacing) * 1.5);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.theme-toggle:hover{background-color:var(--muted)}}.tree-node-folder{align-items:center;gap:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase;display:flex}.tree-node-note{align-items:center;gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-radius:.25rem;display:flex}@media (hover:hover){.tree-node-note:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tree-node-note:hover{background-color:color-mix(in oklab, var(--accent) 60%, transparent)}}}.tree-node-note-active{background-color:var(--accent);color:var(--foreground)}.link-panel-section{margin-bottom:calc(var(--spacing) * 6)}.link-panel-heading{margin-bottom:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase}:where(.link-panel-list>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.link-panel-item{text-overflow:ellipsis;white-space:nowrap;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground);display:block;overflow:hidden}@media (hover:hover){.link-panel-item:hover{color:var(--primary)}}.link-panel-empty{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.cmd-chip{margin-right:calc(var(--spacing) * 2);background-color:var(--muted);padding-inline:calc(var(--spacing) * 1.5);color:var(--muted-foreground);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:10px}}@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[18\%\]{top:18%}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-\[140px\]{height:140px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-72{width:calc(var(--spacing) * 72)}.w-\[56px\]{width:56px}.w-\[100px\]{width:100px}.w-\[220px\]{width:220px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-\[620px\]{max-width:620px}.max-w-\[760px\]{max-width:760px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.touch-none{touch-action:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[--spacing\(var\(--gap\)\)\]{gap:calc(var(--spacing) * var(--gap))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:calc(var(--radius) + 2px)}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--color-border\){border-color:var(--color-border)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-input{border-color:var(--input)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-muted,.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:var(--foreground)}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:Geist Mono,ui-monospace,monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-background{--tw-ring-color:var(--background)}.ring-border{--tw-ring-color:var(--border)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:calc(var(--radius) + 2px)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *),.group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:z-10:focus{z-index:10}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:var(--primary)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[spacing\=0\]\:rounded-none[data-spacing="0"]{border-radius:0}.data-\[spacing\=0\]\:shadow-none[data-spacing="0"]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[spacing\=0\]\:first\:rounded-l-md[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\[spacing\=0\]\:last\:rounded-r-md[data-spacing="0"]:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0[data-spacing="0"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l[data-spacing="0"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[spacing\=default\]\:data-\[variant\=outline\]\:shadow-xs[data-spacing=default][data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom]{max-height:80vh}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:calc(var(--radius) + 2px);border-top-right-radius:calc(var(--radius) + 2px)}.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left]{width:75%}.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right]{width:75%}.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:calc(var(--radius) + 2px);border-bottom-left-radius:calc(var(--radius) + 2px)}.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@media (width>=40rem){.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:text-left{text-align:left}.data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--container-sm)}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.md\:text-left{text-align:left}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-emerald-400:is(.dark *){color:var(--color-emerald-400)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:var(--border)}@supports (color:color-mix(in lab, red, red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:color-mix(in oklab, var(--border) 50%, transparent)}}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{outline-offset:2px;outline:2px solid #0000}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab, var(--secondary) 90%, transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}:root{--background:oklch(99% 0 0);--foreground:oklch(17% .01 260);--card:oklch(100% 0 0);--card-foreground:oklch(17% .01 260);--popover:oklch(100% 0 0);--popover-foreground:oklch(17% .01 260);--muted:oklch(97% .005 260);--muted-foreground:oklch(50% .01 260);--accent:oklch(96% .005 260);--accent-foreground:oklch(17% .01 260);--border:oklch(92% .005 260);--input:oklch(92% .005 260);--primary:oklch(52% .16 152);--primary-foreground:oklch(100% 0 0);--ring:oklch(68% .16 152);--secondary:oklch(97% .005 260);--secondary-foreground:oklch(17% .01 260);--destructive:oklch(58% .2 27);--destructive-foreground:oklch(100% 0 0);--chart-1:oklch(68% .16 152);--chart-2:oklch(60% .18 250);--chart-3:oklch(62% .2 300);--chart-4:oklch(72% .15 80);--chart-5:oklch(58% .2 27);--sidebar:oklch(98% 0 0);--sidebar-foreground:oklch(17% .01 260);--sidebar-primary:oklch(68% .16 152);--sidebar-primary-foreground:oklch(100% 0 0);--sidebar-accent:oklch(95% .005 260);--sidebar-accent-foreground:oklch(17% .01 260);--sidebar-border:oklch(92% .005 260);--sidebar-ring:oklch(68% .16 152);--radius:.375rem}.dark{--background:oklch(14% .01 260);--foreground:oklch(92% .005 260);--card:oklch(17% .01 260);--card-foreground:oklch(92% .005 260);--popover:oklch(19% .01 260);--popover-foreground:oklch(92% .005 260);--muted:oklch(20% .01 260);--muted-foreground:oklch(62% .01 260);--accent:oklch(22% .01 260);--accent-foreground:oklch(92% .005 260);--border:oklch(25% .01 260);--input:oklch(25% .01 260);--primary:oklch(78% .17 152);--primary-foreground:oklch(14% .01 260);--ring:oklch(78% .17 152);--secondary:oklch(22% .01 260);--secondary-foreground:oklch(92% .005 260);--destructive:oklch(70% .2 27);--destructive-foreground:oklch(14% .01 260);--chart-1:oklch(78% .17 152);--chart-2:oklch(70% .18 250);--chart-3:oklch(72% .2 300);--chart-4:oklch(78% .15 80);--chart-5:oklch(70% .2 27);--sidebar:oklch(16% .01 260);--sidebar-foreground:oklch(92% .005 260);--sidebar-primary:oklch(78% .17 152);--sidebar-primary-foreground:oklch(14% .01 260);--sidebar-accent:oklch(22% .01 260);--sidebar-accent-foreground:oklch(92% .005 260);--sidebar-border:oklch(25% .01 260);--sidebar-ring:oklch(78% .17 152)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:Geist;src:url(/fonts/Geist-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-500.woff2)format("woff2");font-weight:500;font-display:swap}html,body,#root{background:var(--background);height:100%;color:var(--foreground);font-family:var(--font-sans);font-feature-settings:"cv11", "ss01", "ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}@supports (padding:env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}}a:focus-visible,button:not([data-slot]):focus-visible,[role=link]:focus-visible{outline:1.5px solid var(--ring);outline-offset:2px;border-radius:calc(var(--radius) - 2px)}html,body{overscroll-behavior:none}@media (width<=640px){input,select,textarea{font-size:16px!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){::-webkit-scrollbar-thumb{background:color-mix(in oklch, var(--muted-foreground) 30%, transparent)}}::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in oklch, var(--muted-foreground) 50%, transparent)}}::-webkit-scrollbar-thumb:hover{background-clip:padding-box;border:2px solid #0000}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.state-card{border:1px solid var(--border);background:var(--card);text-align:center;border-radius:.75rem;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1.5rem;display:flex}.state-card__icon{background:var(--muted);border-radius:9999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.state-card__icon{background:color-mix(in oklab, var(--muted) 60%, transparent)}}.state-card__icon{color:var(--muted-foreground)}.state-card__icon--danger{background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.state-card__icon--danger{background:color-mix(in oklab, var(--destructive) 14%, transparent)}}.state-card__icon--danger{color:var(--destructive)}.state-card__title{color:var(--foreground);font-size:.95rem;font-weight:600}.state-card__description{color:var(--muted-foreground);max-width:40ch;font-size:.85rem;line-height:1.45}.state-card__action{margin-top:.5rem}.state-card__bars{flex-direction:column;gap:.5rem;width:100%;display:flex}.state-card__bar{border-radius:.375rem;width:100%;height:.75rem}.state-card--loading{align-items:stretch;padding:1.25rem}:root{--header-pad:1rem}.site-header{padding-top:max(var(--header-pad), env(safe-area-inset-top));padding-right:max(var(--header-pad), env(safe-area-inset-right))}[data-slot=sidebar-container],[data-sidebar=sidebar]{padding-left:env(safe-area-inset-left)}main#main{padding-bottom:env(safe-area-inset-bottom)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=480px){.site-header button,.site-header a[role=button],.site-header-reload,.site-header-mobile-trigger,.site-header-search{min-width:44px;min-height:44px}[role=dialog][data-slot=dialog-content],[cmdk-root]{border-radius:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important}}.table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.table-scroll>table{min-width:max-content}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} diff --git a/ui/dist/assets/index-Dtmrigu0.js b/ui/dist/assets/index-Dtmrigu0.js new file mode 100644 index 0000000..5edbb4e --- /dev/null +++ b/ui/dist/assets/index-Dtmrigu0.js @@ -0,0 +1,59 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NotesLayout-DNCRNL1H.js","assets/rolldown-runtime-S-ySWqyJ.js","assets/NoteView-C3HDgCQU.js","assets/markdown-Du-2HpsD.js","assets/NoteEditor-D0VE7NTn.js","assets/NotesSearch-CN-8Hmf8.js","assets/DocumentsList-CXYq3r-Y.js","assets/useDocs-Dp_sgc0W.js","assets/DocumentView-8W-IWHID.js","assets/Graph-D7GvlYUe.js","assets/graph-YlRq3euP.js","assets/MCPConsole-CrhJqUq9.js"])))=>i.map(i=>d[i]); +import{r as e,t}from"./rolldown-runtime-S-ySWqyJ.js";import{i as n,l as r,n as i,r as a,t as o,u as s}from"./graph-YlRq3euP.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var c=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ee(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ee(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),ee(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u{t.exports=c()})),u=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),d=t(((e,t)=>{t.exports=u()})),f=t((e=>{var t=l();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=f()})),m=t((e=>{var t=d(),n=l(),r=p();function i(e){var t=`https://react.dev/errors/`+e;if(1ie||(e.current=re[ie],re[ie]=null,ie--)}function L(e,t){ie++,re[ie]=e.current,e.current=t}var oe=ae(null),se=ae(null),ce=ae(null),le=ae(null);function ue(e,t){switch(L(ce,t),L(se,e),L(oe,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Gd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Gd(t),e=Kd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}I(oe),L(oe,e)}function de(){I(oe),I(se),I(ce)}function fe(e){e.memoizedState!==null&&L(le,e);var t=oe.current,n=Kd(t,e.type);t!==n&&(L(se,e),L(oe,n))}function pe(e){se.current===e&&(I(oe),I(se)),le.current===e&&(I(le),np._currentValue=ne)}var me,he;function ge(e){if(me===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);me=t&&t[1]||``,he=-1)`:-1i||c[r]!==l[i]){var u=` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{_e=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?ge(n):``}function ye(e,t){switch(e.tag){case 26:case 27:case 5:return ge(e.type);case 16:return ge(`Lazy`);case 13:return e.child!==t&&t!==null?ge(`Suspense Fallback`):ge(`Suspense`);case 19:return ge(`SuspenseList`);case 0:case 15:return ve(e.type,!1);case 11:return ve(e.type.render,!1);case 1:return ve(e.type,!0);case 31:return ge(`Activity`);default:return``}}function be(e){try{var t=``,n=null;do t+=ye(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +Error generating stack: `+e.message+` +`+e.stack}}var xe=Object.prototype.hasOwnProperty,Se=t.unstable_scheduleCallback,Ce=t.unstable_cancelCallback,we=t.unstable_shouldYield,Te=t.unstable_requestPaint,Ee=t.unstable_now,De=t.unstable_getCurrentPriorityLevel,Oe=t.unstable_ImmediatePriority,ke=t.unstable_UserBlockingPriority,Ae=t.unstable_NormalPriority,je=t.unstable_LowPriority,Me=t.unstable_IdlePriority,Ne=t.log,Pe=t.unstable_setDisableYieldValue,Fe=null,Ie=null;function Le(e){if(typeof Ne==`function`&&Pe(e),Ie&&typeof Ie.setStrictMode==`function`)try{Ie.setStrictMode(Fe,e)}catch{}}var Re=Math.clz32?Math.clz32:Ve,ze=Math.log,Be=Math.LN2;function Ve(e){return e>>>=0,e===0?32:31-(ze(e)/Be|0)|0}var He=256,Ue=262144,We=4194304;function Ge(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ke(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Ge(n))):i=Ge(o):i=Ge(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ge(n))):i=Ge(o)):i=Ge(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function qe(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Je(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ye(){var e=We;return We<<=1,!(We&62914560)&&(We=4194304),e}function Xe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ze(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Qe(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),dn=!1;if(un)try{var fn={};Object.defineProperty(fn,`passive`,{get:function(){dn=!0}}),window.addEventListener(`test`,fn,fn),window.removeEventListener(`test`,fn,fn)}catch{dn=!1}var pn=null,mn=null,hn=null;function gn(){if(hn)return hn;var e,t=mn,n=t.length,r,i=`value`in pn?pn.value:pn.textContent,a=i.length;for(e=0;e=Jn),Zn=` `,Qn=!1;function $n(e,t){switch(e){case`keyup`:return Kn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function er(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var tr=!1;function nr(e,t){switch(e){case`compositionend`:return er(t);case`keypress`:return t.which===32?(Qn=!0,Zn):null;case`textInput`:return e=t.data,e===Zn&&Qn?null:e;default:return null}}function rr(e,t){if(tr)return e===`compositionend`||!qn&&$n(e,t)?(e=gn(),hn=mn=pn=null,tr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Tr(n)}}function Dr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Dr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Or(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Lt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Lt(e.document)}return t}function kr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Ar=un&&`documentMode`in document&&11>=document.documentMode,jr=null,Mr=null,Nr=null,Pr=!1;function Fr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Pr||jr==null||jr!==Lt(r)||(r=jr,`selectionStart`in r&&kr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Nr&&wr(Nr,r)||(Nr=r,r=kd(Mr,`onSelect`),0>=o,i-=o,Ei=1<<32-Re(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),z&&Oi(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),z&&Oi(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return z&&Oi(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),z&&Oi(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&Ea(l)===r.type){n(e,r.sibling),c=a(r,o.props),Ma(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===y?(c=pi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=fi(o.type,o.key,o.props,null,e.mode,c),Ma(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=gi(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=Ea(o),b(e,r,o,c)}if(N(o))return h(e,r,o,c);if(M(o)){if(l=M(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,ja(o),c);if(o.$$typeof===C)return b(e,r,na(e,o),c);Na(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=mi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Aa=0;var i=b(e,t,n,r);return H=null,i}catch(t){if(t===ba||t===Sa)throw t;var a=ci(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Fa=Pa(!0),Ia=Pa(!1),La=!1;function Ra(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function za(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ba(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Va(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,W&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ai(e),ii(e,null,n),t}return ti(e,r,t,n),ai(e)}function Ha(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,et(e,n)}}function Ua(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Wa=!1;function Ga(){if(Wa){var e=fa;if(e!==null)throw e}}function Ka(e,t,n,r){Wa=!1;var i=e.updateQueue;La=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(q&f)===f:(r&f)===f){f!==0&&f===da&&(Wa=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:La=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),ql|=o,e.lanes=o,e.memoizedState=d}}function qa(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Ja(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=P.T,s={};P.T=s,Ps(e,!1,t,n);try{var c=i(),l=P.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ns(e,t,V(c,r),hu(e)):Ns(e,t,r,hu(e))}catch(n){Ns(e,t,{then:function(){},status:`rejected`,reason:n},hu())}finally{F.p=a,o!==null&&s.types!==null&&(o.types=s.types),P.T=o}}function Cs(){}function ws(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Ts(e).queue;Ss(e,a,t,ne,n===null?Cs:function(){return Es(e),n(r)})}function Ts(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Fo,lastRenderedState:ne},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Fo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Es(e){var t=Ts(e);t.next===null&&(t=e.alternate.memoizedState),Ns(e,t.next.queue,{},hu())}function Ds(){return ta(np)}function Os(){return Ao().memoizedState}function ks(){return Ao().memoizedState}function As(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=hu();e=Ba(n);var r=Va(t,e,n);r!==null&&(_u(r,t,n),Ha(r,t,n)),t={cache:ca()},e.payload=t;return}t=t.return}}function js(e,t,n){var r=hu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Fs(e)?Is(t,n):(n=ni(e,t,n,r),n!==null&&(_u(n,e,r),Ls(n,t,r)))}function Ms(e,t,n){Ns(e,t,n,hu())}function Ns(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Fs(e))Is(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Cr(s,o))return ti(e,t,i,0),G===null&&R(),!1}catch{}if(n=ni(e,t,i,r),n!==null)return _u(n,e,r),Ls(n,t,r),!0}return!1}function Ps(e,t,n,r){if(r={lane:2,revertLane:md(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Fs(e)){if(t)throw Error(i(479))}else t=ni(e,n,r,2),t!==null&&_u(t,e,2)}function Fs(e){var t=e.alternate;return e===U||t!==null&&t===U}function Is(e,t){mo=po=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ls(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,et(e,n)}}var Rs={readContext:ta,use:No,useCallback:bo,useContext:bo,useEffect:bo,useImperativeHandle:bo,useLayoutEffect:bo,useInsertionEffect:bo,useMemo:bo,useReducer:bo,useRef:bo,useState:bo,useDebugValue:bo,useDeferredValue:bo,useTransition:bo,useSyncExternalStore:bo,useId:bo,useHostTransitionStatus:bo,useFormState:bo,useActionState:bo,useOptimistic:bo,useMemoCache:bo,useCacheRefresh:bo};Rs.useEffectEvent=bo;var zs={readContext:ta,use:No,useCallback:function(e,t){return ko().memoizedState=[e,t===void 0?null:t],e},useContext:ta,useEffect:ls,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),ss(4194308,4,hs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ss(4194308,4,e,t)},useInsertionEffect:function(e,t){ss(4,2,e,t)},useMemo:function(e,t){var n=ko();t=t===void 0?null:t;var r=e();if(ho){Le(!0);try{e()}finally{Le(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=ko();if(n!==void 0){var i=n(t);if(ho){Le(!0);try{n(t)}finally{Le(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=js.bind(null,U,e),[r.memoizedState,e]},useRef:function(e){var t=ko();return e={current:e},t.memoizedState=e},useState:function(e){e=Go(e);var t=e.queue,n=Ms.bind(null,U,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:_s,useDeferredValue:function(e,t){return bs(ko(),e,t)},useTransition:function(){var e=Go(!1);return e=Ss.bind(null,U,e.queue,!0,!1),ko().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=U,a=ko();if(z){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),G===null)throw Error(i(349));q&127||Bo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,ls(Ho.bind(null,r,o,e),[e]),r.flags|=2048,as(9,{destroy:void 0},Vo.bind(null,r,o,n,t),null),n},useId:function(){var e=ko(),t=G.identifierPrefix;if(z){var n=Di,r=Ei;n=(r&~(1<<32-Re(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=go++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[st]=t,o[ct]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Rd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Nc(t)}}return Rc(t),Pc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Nc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=ce.current,Vi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=Ni,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[st]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Fd(e.nodeValue,n)),e||Ri(t,!0)}else e=Wd(e).createTextNode(r),e[st]=t,t.stateNode=e}return Rc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Vi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[st]=t}else Hi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Rc(t),e=!1}else n=Ui(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(oo(t),t):(oo(t),null);if(t.flags&128)throw Error(i(558))}return Rc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Vi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[st]=t}else Hi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Rc(t),a=!1}else a=Ui(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(oo(t),t):(oo(t),null)}return oo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ic(t,t.updateQueue),Rc(t),null);case 4:return de(),e===null&&Td(t.stateNode.containerInfo),Rc(t),null;case 10:return Yi(t.type),Rc(t),null;case 19:if(I(so),r=t.memoizedState,r===null)return Rc(t),null;if(a=(t.flags&128)!=0,o=r.rendering,o===null)if(a)Lc(r,!1);else{if(Kl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=co(e),o!==null){for(t.flags|=128,Lc(r,!1),e=o.updateQueue,t.updateQueue=e,Ic(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)di(n,e),n=n.sibling;return L(so,so.current&1|2),z&&Oi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ee()>ru&&(t.flags|=128,a=!0,Lc(r,!1),t.lanes=4194304)}else{if(!a)if(e=co(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Ic(t,e),Lc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!z)return Rc(t),null}else 2*Ee()-r.renderingStartTime>ru&&n!==536870912&&(t.flags|=128,a=!0,Lc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Rc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ee(),e.sibling=null,n=so.current,L(so,a?n&1|2:n&1),z&&Oi(t,r.treeForkCount),e);case 22:case 23:return oo(t),$a(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Rc(t),t.subtreeFlags&6&&(t.flags|=8192)):Rc(t),n=t.updateQueue,n!==null&&Ic(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&I(ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Yi(sa),Rc(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Bc(e,t){switch(ji(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Yi(sa),de(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return pe(t),null;case 31:if(t.memoizedState!==null){if(oo(t),t.alternate===null)throw Error(i(340));Hi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(oo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Hi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return I(so),null;case 4:return de(),null;case 10:return Yi(t.type),null;case 22:case 23:return oo(t),$a(),e!==null&&I(ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Yi(sa),null;case 25:return null;default:return null}}function Vc(e,t){switch(ji(t),t.tag){case 3:Yi(sa),de();break;case 26:case 27:case 5:pe(t);break;case 4:de();break;case 31:t.memoizedState!==null&&oo(t);break;case 13:oo(t);break;case 19:I(so);break;case 10:Yi(t.type);break;case 22:case 23:oo(t),$a(),e!==null&&I(ga);break;case 24:Yi(sa)}}function Hc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){qu(t,t.return,e)}}function Uc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){qu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){qu(t,t.return,e)}}function Wc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ja(t,n)}catch(t){qu(e,e.return,t)}}}function Gc(e,t,n){n.props=Ks(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){qu(e,t,n)}}function Kc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){qu(e,t,n)}}function qc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){qu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){qu(e,t,n)}else n.current=null}function Jc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){qu(e,e.return,t)}}function Yc(e,t,n){try{var r=e.stateNode;zd(r,e.type,n,t),r[ct]=t}catch(t){qu(e,e.return,t)}}function Xc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&tf(e.type)||e.tag===4}function Zc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Xc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&tf(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Qc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=en));else if(r!==4&&(r===27&&tf(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Qc(e,t,n),e=e.sibling;e!==null;)Qc(e,t,n),e=e.sibling}function $c(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&tf(e.type)&&(n=e.stateNode),e=e.child,e!==null))for($c(e,t,n),e=e.sibling;e!==null;)$c(e,t,n),e=e.sibling}function el(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Rd(t,r,n),t[st]=e,t[ct]=n}catch(t){qu(e,e.return,t)}}var tl=!1,nl=!1,rl=!1,il=typeof WeakSet==`function`?WeakSet:Set,al=null;function ol(e,t){if(e=e.containerInfo,Hd=dp,e=Or(e),kr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(Ud={focusedElem:e,selectionRange:n},dp=!1,al=t;al!==null;)if(t=al,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,al=e;else for(;al!==null;){switch(t=al,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Rd(o,r,n),o[st]=e,bt(o),r=o;break a;case`link`:var s=Gf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Er(s,h),v=Er(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,P.T=null,n=du,du=null;var o=su,s=lu;if(ou=0,cu=su=null,lu=0,W&6)throw Error(i(331));var c=W;if(W|=4,Il(o.current),Ol(o,o.current,s,n),W=c,sd(0,!1),Ie&&typeof Ie.onPostCommitFiberRoot==`function`)try{Ie.onPostCommitFiberRoot(Fe,o)}catch{}return!0}finally{F.p=a,P.T=r,Uu(e,t)}}function Ku(e,t,n){t=vi(n,t),t=Qs(e.stateNode,t,2),e=Va(e,t,2),e!==null&&(Ze(e,2),od(e))}function qu(e,t,n){if(e.tag===3)Ku(e,e,n);else for(;t!==null;){if(t.tag===3){Ku(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(au===null||!au.has(r))){e=vi(n,e),n=$s(2),r=Va(t,n,2),r!==null&&(ec(n,r,t,e),Ze(r,2),od(r));break}}t=t.return}}function Ju(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Bl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Wl=!0,i.add(n),e=Yu.bind(null,e,t,n),t.then(e,e))}function Yu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,G===e&&(q&n)===n&&(Kl===4||Kl===3&&(q&62914560)===q&&300>Ee()-tu?!(W&2)&&wu(e,0):Yl|=n,Zl===q&&(Zl=0)),od(e)}function Xu(e,t){t===0&&(t=Ye()),e=ri(e,t),e!==null&&(Ze(e,t),od(e))}function Zu(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Xu(e,n)}function Qu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),Xu(e,n)}function $u(e,t){return Se(e,t)}var ed=null,td=null,nd=!1,rd=!1,id=!1,ad=0;function od(e){e!==td&&e.next===null&&(td===null?ed=td=e:td=td.next=e),rd=!0,nd||(nd=!0,pd())}function sd(e,t){if(!id&&rd){id=!0;do for(var n=!1,r=ed;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Re(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,fd(r,a))}else a=q,a=Ke(r,r===G?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||qe(r,a)||(n=!0,fd(r,a));r=r.next}while(n);id=!1}}function cd(){ld()}function ld(){rd=nd=!1;var e=0;ad!==0&&Yd()&&(e=ad);for(var t=Ee(),n=null,r=ed;r!==null;){var i=r.next,a=ud(r,t);a===0?(r.next=null,n===null?ed=i:n.next=i,i===null&&(td=n)):(n=r,(e!==0||a&3)&&(rd=!0)),r=i}ou!==0&&ou!==5||sd(e,!1),ad!==0&&(ad=0)}function ud(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Bd(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function Tf(e,t,n){var r=wf;if(r&&typeof t==`string`&&t){var i=zt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),yf.has(i)||(yf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Rd(t,`link`,e),bt(t),r.head.appendChild(t)))}}function Ef(e){xf.D(e),Tf(`dns-prefetch`,e,null)}function Df(e,t){xf.C(e,t),Tf(`preconnect`,e,t)}function Of(e,t,n){xf.L(e,t,n);var r=wf;if(r&&e&&t){var i=`link[rel="preload"][as="`+zt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+zt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+zt(n.imageSizes)+`"]`)):i+=`[href="`+zt(e)+`"]`;var a=i;switch(t){case`style`:a=Pf(e);break;case`script`:a=Rf(e)}vf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Ff(a))||t===`script`&&r.querySelector(zf(a))||(t=r.createElement(`link`),Rd(t,`link`,e),bt(t),r.head.appendChild(t)))}}function kf(e,t){xf.m(e,t);var n=wf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+zt(r)+`"][href="`+zt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rf(e)}if(!vf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),vf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zf(a)))return}r=n.createElement(`link`),Rd(r,`link`,e),bt(r),n.head.appendChild(r)}}}function Af(e,t,n){xf.S(e,t,n);var r=wf;if(r&&e){var i=yt(r).hoistableStyles,a=Pf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Ff(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vf.get(a))&&Hf(e,n);var c=o=r.createElement(`link`);bt(c),Rd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jf(e,t){xf.X(e,t);var n=wf;if(n&&e){var r=yt(n).hoistableScripts,i=Rf(e),a=r.get(i);a||(a=n.querySelector(zf(i)),a||(e=h({src:e,async:!0},t),(t=vf.get(i))&&Uf(e,t),a=n.createElement(`script`),bt(a),Rd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mf(e,t){xf.M(e,t);var n=wf;if(n&&e){var r=yt(n).hoistableScripts,i=Rf(e),a=r.get(i);a||(a=n.querySelector(zf(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=vf.get(i))&&Uf(e,t),a=n.createElement(`script`),bt(a),Rd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nf(e,t,n,r){var a=(a=ce.current)?bf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Pf(n.href),n=yt(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pf(n.href);var o=yt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Ff(e)))&&!o._p&&(s.instance=o,s.state.loading=5),vf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vf.set(e,n),o||Lf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Rf(n),n=yt(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Pf(e){return`href="`+zt(e)+`"`}function Ff(e){return`link[rel="stylesheet"][`+e+`]`}function If(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Lf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Rd(t,`link`,n),bt(t),e.head.appendChild(t))}function Rf(e){return`[src="`+zt(e)+`"]`}function zf(e){return`script[async]`+e}function Bf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+zt(n.href)+`"]`);if(r)return t.instance=r,bt(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),bt(r),Rd(r,`style`,a),Vf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Pf(n.href);var o=e.querySelector(Ff(a));if(o)return t.state.loading|=4,t.instance=o,bt(o),o;r=If(n),(a=vf.get(a))&&Hf(r,a),o=(e.ownerDocument||e).createElement(`link`),bt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Rd(o,`link`,r),t.state.loading|=4,Vf(o,n.precedence,e),t.instance=o;case`script`:return o=Rf(n.src),(a=e.querySelector(zf(o)))?(t.instance=a,bt(a),a):(r=n,(a=vf.get(o))&&(r=h({},n),Uf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),bt(a),Rd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vf(r,n.precedence,e));return t.instance}function Vf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function qf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Yf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pf(r.href),a=t.querySelector(Ff(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Qf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,bt(a);return}a=t.ownerDocument||t,r=If(r),(i=vf.get(i))&&Hf(r,i),a=a.createElement(`link`),bt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Rd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Qf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Xf=0;function Zf(e,t){return e.stylesheets&&e.count===0&&ep(e,e.stylesheets),0Xf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Qf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ep(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var $f=null;function ep(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,$f=new Map,t.forEach(tp,e),$f=null,Qf.call(e))}function tp(e,t){if(!(t.state.loading&4)){var n=$f.get(e);if(n)var r=n.get(null);else{n=new Map,$f.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=m()})),g=e(l(),1),_=h(),v=e(p(),1),y=`modulepreload`,b=function(e){return`/`+e},x={},S=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=b(t,n),t in x)return;x[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:y,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},C=`popstate`;function w(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function T(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return A(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:j(t)}return ee(t,n,null,e)}function E(e,t){if(e===!1||e==null)throw Error(t)}function D(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function O(){return Math.random().toString(36).substring(2,10)}function k(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.unstable_mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function A(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?M(t):t,state:n,key:t&&t.key||r||O(),unstable_mask:i}}function j({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function M(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function ee(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=w(e)?e:A(h.location,e,t);n&&n(r,e),l=u()+1;let d=k(r,l),f=h.createHref(r.unstable_mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=w(e)?e:A(h.location,e,t);n&&n(r,e),l=u();let i=k(r,l),d=h.createHref(r.unstable_mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return te(e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(C,d),c=e,()=>{i.removeEventListener(C,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function te(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),E(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:j(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function N(e,t,n=`/`){return P(e,t,n,!1)}function P(e,t,n,r){let i=ge((typeof t==`string`?M(t):t).pathname||`/`,n);if(i==null)return null;let a=ne(e);ie(a);let o=null;for(let e=0;o==null&&e{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;E(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=Te([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(E(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),ne(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:ue(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of re(e.path))a(e,t,!0,n)}),t}function re(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=re(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function ie(e){e.sort((e,t)=>e.score===t.score?de(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var ae=/^:[\w-]+$/,I=3,L=2,oe=1,se=10,ce=-2,le=e=>e===`*`;function ue(e,t){let n=e.split(`/`),r=n.length;return n.some(le)&&(r+=ce),t&&(r+=L),n.filter(e=>!le(e)).reduce((e,t)=>e+(ae.test(t)?I:t===``?oe:se),r)}function de(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function fe(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function me(e,t=!1,n=!0){D(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function he(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return D(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function ge(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}var _e=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function ve(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?M(e):e,a;return n?(n=we(n),a=n.startsWith(`/`)?ye(n.substring(1),`/`):ye(n,t)):a=t,{pathname:a,search:Oe(r),hash:ke(i)}}function ye(e,t){let n=Ee(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function be(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function xe(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function Se(e){let t=xe(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function Ce(e,t,n,r=!1){let i;typeof e==`string`?i=M(e):(i={...e},E(!i.pathname||!i.pathname.includes(`?`),be(`?`,`pathname`,`search`,i)),E(!i.pathname||!i.pathname.includes(`#`),be(`#`,`pathname`,`hash`,i)),E(!i.search||!i.search.includes(`#`),be(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=ve(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var we=e=>e.replace(/\/\/+/g,`/`),Te=e=>we(e.join(`/`)),Ee=e=>e.replace(/\/+$/,``),De=e=>Ee(e).replace(/^\/*/,`/`),Oe=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,ke=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Ae=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function je(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Me(e){return Te(e.map(e=>e.route.path).filter(Boolean))||`/`}var Ne=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Pe(e,t){let n=e;if(typeof n!=`string`||!_e.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Ne)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=ge(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{D(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Fe=[`POST`,`PUT`,`PATCH`,`DELETE`];new Set(Fe);var Ie=[`GET`,...Fe];new Set(Ie);var Le=g.createContext(null);Le.displayName=`DataRouter`;var Re=g.createContext(null);Re.displayName=`DataRouterState`;var ze=g.createContext(!1);function Be(){return g.useContext(ze)}var Ve=g.createContext({isTransitioning:!1});Ve.displayName=`ViewTransition`;var He=g.createContext(new Map);He.displayName=`Fetchers`;var Ue=g.createContext(null);Ue.displayName=`Await`;var We=g.createContext(null);We.displayName=`Navigation`;var Ge=g.createContext(null);Ge.displayName=`Location`;var Ke=g.createContext({outlet:null,matches:[],isDataRoute:!1});Ke.displayName=`Route`;var qe=g.createContext(null);qe.displayName=`RouteError`;var Je=`REACT_ROUTER_ERROR`,Ye=`REDIRECT`,Xe=`ROUTE_ERROR_RESPONSE`;function Ze(e){if(e.startsWith(`${Je}:${Ye}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function Qe(e){if(e.startsWith(`${Je}:${Xe}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new Ae(t.status,t.statusText,t.data)}catch{}}function $e(e,{relative:t}={}){E(et(),`useHref() may be used only in the context of a component.`);let{basename:n,navigator:r}=g.useContext(We),{hash:i,pathname:a,search:o}=lt(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:Te([n,a])),r.createHref({pathname:s,search:o,hash:i})}function et(){return g.useContext(Ge)!=null}function tt(){return E(et(),`useLocation() may be used only in the context of a component.`),g.useContext(Ge).location}var nt=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function rt(e){g.useContext(We).static||g.useLayoutEffect(e)}function it(){let{isDataRoute:e}=g.useContext(Ke);return e?Ot():at()}function at(){E(et(),`useNavigate() may be used only in the context of a component.`);let e=g.useContext(Le),{basename:t,navigator:n}=g.useContext(We),{matches:r}=g.useContext(Ke),{pathname:i}=tt(),a=JSON.stringify(Se(r)),o=g.useRef(!1);return rt(()=>{o.current=!0}),g.useCallback((r,s={})=>{if(D(o.current,nt),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=Ce(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:Te([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var ot=g.createContext(null);function st(e){let t=g.useContext(Ke).outlet;return g.useMemo(()=>t&&g.createElement(ot.Provider,{value:e},t),[t,e])}function ct(){let{matches:e}=g.useContext(Ke);return e[e.length-1]?.params??{}}function lt(e,{relative:t}={}){let{matches:n}=g.useContext(Ke),{pathname:r}=tt(),i=JSON.stringify(Se(n));return g.useMemo(()=>Ce(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function ut(e,t){return dt(e,t)}function dt(e,t,n){E(et(),`useRoutes() may be used only in the context of a component.`);let{navigator:r}=g.useContext(We),{matches:i}=g.useContext(Ke),a=i[i.length-1],o=a?a.params:{},s=a?a.pathname:`/`,c=a?a.pathnameBase:`/`,l=a&&a.route;{let e=l&&l.path||``;At(s,!l||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant (or called \`useRoutes()\`) at "${s}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let u=tt(),d;if(t){let e=typeof t==`string`?M(t):t;E(c===`/`||e.pathname?.startsWith(c),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${c}" but pathname "${e.pathname}" was given in the \`location\` prop.`),d=e}else d=u;let f=d.pathname||`/`,p=f;if(c!==`/`){let e=c.replace(/^\//,``).split(`/`);p=`/`+f.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let m=N(e,{pathname:p});D(l||m!=null,`No routes matched location "${d.pathname}${d.search}${d.hash}" `),D(m==null||m[m.length-1].route.element!==void 0||m[m.length-1].route.Component!==void 0||m[m.length-1].route.lazy!==void 0,`Matched leaf route at location "${d.pathname}${d.search}${d.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let h=vt(m&&m.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:Te([c,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?c:Te([c,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&h?g.createElement(Ge.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,unstable_mask:void 0,...d},navigationType:`POP`}},h):h}function ft(){let e=Dt(),t=je(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},a={padding:`2px 4px`,backgroundColor:r},o=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),o=g.createElement(g.Fragment,null,g.createElement(`p`,null,`💿 Hey developer 👋`),g.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,g.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,g.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),g.createElement(g.Fragment,null,g.createElement(`h2`,null,`Unexpected Application Error!`),g.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?g.createElement(`pre`,{style:i},n):null,o)}var pt=g.createElement(ft,null),mt=class extends g.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=Qe(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:g.createElement(Ke.Provider,{value:this.props.routeContext},g.createElement(qe.Provider,{value:e,children:this.props.component}));return this.context?g.createElement(gt,{error:e},t):t}};mt.contextType=ze;var ht=new WeakMap;function gt({children:e,error:t}){let{basename:n}=g.useContext(We);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Ze(t.digest);if(e){let r=ht.get(t);if(r)throw r;let i=Pe(e.location,n);if(Ne&&!ht.get(t))if(i.isExternal||e.reloadDocument)window.location.href=i.absoluteURL||i.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw ht.set(t,n),n}return g.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${i.absoluteURL||i.to}`})}}return e}function _t({routeContext:e,match:t,children:n}){let r=g.useContext(Le);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),g.createElement(Ke.Provider,{value:e},n)}function vt(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,a=r?.errors;if(a!=null){let e=i.findIndex(e=>e.route.id&&a?.[e.route.id]!==void 0);E(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let o=!1,s=-1;if(n&&r){o=r.renderFallback;for(let e=0;e=0?i.slice(0,s+1):[i[0]];break}}}}let c=n?.onError,l=r&&c?(e,t)=>{c(e,{location:r.location,params:r.matches?.[0]?.params??{},unstable_pattern:Me(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,c)=>{let u,d=!1,f=null,p=null;r&&(u=a&&n.route.id?a[n.route.id]:void 0,f=n.route.errorElement||pt,o&&(s<0&&c===0?(At(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):s===c&&(d=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,c+1)),h=()=>{let t;return t=u?f:d?p:n.route.Component?g.createElement(n.route.Component,null):n.route.element?n.route.element:e,g.createElement(_t,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?g.createElement(mt,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function yt(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function bt(e){let t=g.useContext(Le);return E(t,yt(e)),t}function xt(e){let t=g.useContext(Re);return E(t,yt(e)),t}function St(e){let t=g.useContext(Ke);return E(t,yt(e)),t}function Ct(e){let t=St(e),n=t.matches[t.matches.length-1];return E(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function wt(){return Ct(`useRouteId`)}function Tt(){return xt(`useNavigation`).navigation}function Et(){let{matches:e,loaderData:t}=xt(`useMatches`);return g.useMemo(()=>e.map(e=>F(e,t)),[e,t])}function Dt(){let e=g.useContext(qe),t=xt(`useRouteError`),n=Ct(`useRouteError`);return e===void 0?t.errors?.[n]:e}function Ot(){let{router:e}=bt(`useNavigate`),t=Ct(`useNavigate`),n=g.useRef(!1);return rt(()=>{n.current=!0}),g.useCallback(async(r,i={})=>{D(n.current,nt),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var kt={};function At(e,t,n){!t&&!kt[e]&&(kt[e]=!0,D(!1,n))}g.memo(jt);function jt({routes:e,future:t,state:n,isStatic:r,onError:i}){return dt(e,void 0,{state:n,isStatic:r,onError:i,future:t})}function Mt(e){return st(e.context)}function Nt(e){E(!1,`A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .`)}function Pt({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,unstable_useTransitions:o}){E(!et(),`You cannot render a inside another . You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=g.useMemo(()=>({basename:s,navigator:i,static:a,unstable_useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=M(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,unstable_mask:m}=n,h=g.useMemo(()=>{let e=ge(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p,unstable_mask:m},navigationType:r}},[s,l,u,d,f,p,r,m]);return D(h!=null,` is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the won't render anything.`),h==null?null:g.createElement(We.Provider,{value:c},g.createElement(Ge.Provider,{children:t,value:h}))}function Ft({children:e,location:t}){return ut(It(e),t)}g.Component;function It(e,t=[]){let n=[];return g.Children.forEach(e,(e,r)=>{if(!g.isValidElement(e))return;let i=[...t,r];if(e.type===g.Fragment){n.push.apply(n,It(e.props.children,i));return}E(e.type===Nt,`[${typeof e.type==`string`?e.type:e.type.name}] is not a component. All component children of must be a or `),E(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let a={id:e.props.id||i.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=It(e.props.children,i)),n.push(a)}),n}var Lt=`get`,Rt=`application/x-www-form-urlencoded`;function zt(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function Bt(e){return zt(e)&&e.tagName.toLowerCase()===`button`}function Vt(e){return zt(e)&&e.tagName.toLowerCase()===`form`}function Ht(e){return zt(e)&&e.tagName.toLowerCase()===`input`}function Ut(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Wt(e,t){return e.button===0&&(!t||t===`_self`)&&!Ut(e)}var Gt=null;function Kt(){if(Gt===null)try{new FormData(document.createElement(`form`),0),Gt=!1}catch{Gt=!0}return Gt}var qt=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function Jt(e){return e!=null&&!qt.has(e)?(D(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Rt}"`),null):e}function Yt(e,t){let n,r,i,a,o;if(Vt(e)){let o=e.getAttribute(`action`);r=o?ge(o,t):null,n=e.getAttribute(`method`)||Lt,i=Jt(e.getAttribute(`enctype`))||Rt,a=new FormData(e)}else if(Bt(e)||Ht(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a