從 local-tool 複製出獨立的「visionA Agent」桌面應用(A3 純橋樑: tunnel client + 配對 UI + 設定,不開 HTTP port、不做本機裝置/推論 UI)。 Bundle ID 與 local-tool 不同(com.innovedus.visiona-agent vs visiona-local), 雙 app 可共存。fork 後不主動 sync,需要時手動 cherry-pick。 Backend / Wails Go(AB1-AB13): - internal/tunnel:6 狀態機(Idle/Connecting/Connected/Reconnecting/Failed/Stopped) + Pair/Unpair/Reconnect/Disconnect binding + ClientHooks event - internal/auth:encrypted file token store(AES-GCM + scrypt + machineID fallback salt + 13 tests) - internal/config:YAML validation + atomic write + 11 tests - internal/log:ring buffer + ExportLog 升級 zip - visionA-backend /api/pairing/exchange:SessionTokenStore + 17 new tests - 三平台 build 驗證(macOS DMG 160 MB / Windows EXE / Linux AppImage) - end-to-end 5 milestone 全綠(pairing → tunnel → forward → reuse 防護 → tunnel drop failover) Frontend / Next.js(AF1-AF7,沿用 visionA-frontend 基礎): - AppShell + Header + TabNav(StatusView / PairView / SettingsView 三 tab) - ConnectionStatusBadge 5 種狀態 - TokenInput regex 驗證 + 7 種錯誤 + 0.5s auto-switch 到狀態頁 - 設定頁 4 區塊(含重新配對 AlertDialog) - agent-api.ts 封裝 Wails bindings(mock/real 雙實作)+ 90 tests Phase 0.7 review-driven fix(Round 2): - A1 Session fixation 防護(RotateSessionID) - A3 mock pairing 預設改 false(必須明確 opt-in)+ startup log - A4 Pair 失敗後 state 清理矩陣(exchange/Save/Start fail 各自終態) - A5 Pair/Unpair/Reconnect lifecycleMu + 50 goroutine race test - F1 重新配對次按鈕 / F2 PairView Esc cancel / F3 Wails BrowserOpenURL / F4 Settings draft 持久 + 未儲存 badge 驗證:agent backend go test -race -count=3 ./... 4 packages 全綠 / agent frontend pnpm test 119 tests 全綠 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 line
120 KiB
JavaScript
1 line
120 KiB
JavaScript
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,42092,e=>{"use strict";var t=e.i(75201),r=(e,t,r,o,n,a,i,s)=>{let l=document.documentElement,c=["light","dark"];function d(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,o=r&&a?n.map(e=>a[e]||e):n;r?(l.classList.remove(...o),l.classList.add(a&&a[t]?a[t]:t)):l.setAttribute(e,t)}),r=t,s&&c.includes(r)&&(l.style.colorScheme=r)}if(o)d(o);else try{let e=localStorage.getItem(t)||r,o=i&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;d(o)}catch(e){}},o=["light","dark"],n="(prefers-color-scheme: dark)",a="u"<typeof window,i=t.createContext(void 0),s={setTheme:e=>{},themes:[]},l=()=>{var e;return null!=(e=t.useContext(i))?e:s},c=e=>t.useContext(i)?t.createElement(t.Fragment,null,e.children):t.createElement(u,{...e}),d=["light","dark"],u=({forcedTheme:e,disableTransitionOnChange:r=!1,enableSystem:a=!0,enableColorScheme:s=!0,storageKey:l="theme",themes:c=d,defaultTheme:u=a?"system":"light",attribute:h="data-theme",value:b,children:y,nonce:v,scriptProps:w})=>{let[x,k]=t.useState(()=>p(l,u)),[E,C]=t.useState(()=>"system"===x?g():x),T=b?Object.values(b):c,R=t.useCallback(e=>{let t=e;if(!t)return;"system"===e&&a&&(t=g());let n=b?b[t]:t,i=r?m(v):null,l=document.documentElement,c=e=>{"class"===e?(l.classList.remove(...T),n&&l.classList.add(n)):e.startsWith("data-")&&(n?l.setAttribute(e,n):l.removeAttribute(e))};if(Array.isArray(h)?h.forEach(c):c(h),s){let e=o.includes(u)?u:null,r=o.includes(t)?t:e;l.style.colorScheme=r}null==i||i()},[v]),S=t.useCallback(e=>{let t="function"==typeof e?e(x):e;k(t);try{localStorage.setItem(l,t)}catch(e){}},[x]),A=t.useCallback(t=>{C(g(t)),"system"===x&&a&&!e&&R("system")},[x,e]);t.useEffect(()=>{let e=window.matchMedia(n);return e.addListener(A),A(e),()=>e.removeListener(A)},[A]),t.useEffect(()=>{let e=e=>{e.key===l&&(e.newValue?k(e.newValue):S(u))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[S]),t.useEffect(()=>{R(null!=e?e:x)},[e,x]);let P=t.useMemo(()=>({theme:x,setTheme:S,forcedTheme:e,resolvedTheme:"system"===x?E:x,themes:a?[...c,"system"]:c,systemTheme:a?E:void 0}),[x,S,e,E,a,c]);return t.createElement(i.Provider,{value:P},t.createElement(f,{forcedTheme:e,storageKey:l,attribute:h,enableSystem:a,enableColorScheme:s,defaultTheme:u,value:b,themes:c,nonce:v,scriptProps:w}),y)},f=t.memo(({forcedTheme:e,storageKey:o,attribute:n,enableSystem:a,enableColorScheme:i,defaultTheme:s,value:l,themes:c,nonce:d,scriptProps:u})=>{let f=JSON.stringify([n,o,s,e,c,l,a,i]).slice(1,-1);return t.createElement("script",{...u,suppressHydrationWarning:!0,nonce:"u"<typeof window?d:"",dangerouslySetInnerHTML:{__html:`(${r.toString()})(${f})`}})}),p=(e,t)=>{let r;if(!a){try{r=localStorage.getItem(e)||void 0}catch(e){}return r||t}},m=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},g=e=>(e||(e=window.matchMedia(n)),e.matches?"dark":"light");e.s(["ThemeProvider",()=>c,"useTheme",()=>l])},3790,e=>{"use strict";var t=e.i(75201);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),o=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.forwardRef)(({color:e="currentColor",size:o=24,strokeWidth:a=2,absoluteStrokeWidth:i,className:s="",children:l,iconNode:c,...d},u)=>(0,t.createElement)("svg",{ref:u,...n,width:o,height:o,stroke:e,strokeWidth:i?24*Number(a)/Number(o):a,className:r("lucide",s),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),i=(e,n)=>{let i=(0,t.forwardRef)(({className:i,...s},l)=>(0,t.createElement)(a,{ref:l,iconNode:n,className:r(`lucide-${o(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...s}));return i.displayName=o(e),i};e.s(["default",()=>i],3790)},84086,e=>{"use strict";let t=(0,e.i(3790).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["default",()=>t])},462,e=>{"use strict";let t=(0,e.i(3790).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2Icon",()=>t],462)},84344,e=>{"use strict";let t=(0,e.i(3790).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",()=>t])},54219,e=>{"use strict";var t=e.i(75201),r=e.i(29080);let o=Array(12).fill(0),n=({visible:e,className:r})=>t.default.createElement("div",{className:["sonner-loading-wrapper",r].filter(Boolean).join(" "),"data-visible":e},t.default.createElement("div",{className:"sonner-spinner"},o.map((e,r)=>t.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),a=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),i=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),s=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),l=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},t.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),c=t.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},t.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),t.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),d=1,u=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:r,...o}=e,n="number"==typeof(null==e?void 0:e.id)||(null==(t=e.id)?void 0:t.length)>0?e.id:d++,a=this.toasts.find(e=>e.id===n),i=void 0===e.dismissible||e.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),a?this.toasts=this.toasts.map(t=>t.id===n?(this.publish({...t,...e,id:n,title:r}),{...t,...e,id:n,dismissible:i,title:r}):t):this.addToast({title:r,...o,dismissible:i,id:n}),n},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,r)=>{let o,n;if(!r)return;void 0!==r.loading&&(n=this.create({...r,promise:e,type:"loading",message:r.loading,description:"function"!=typeof r.description?r.description:void 0}));let a=Promise.resolve(e instanceof Function?e():e),i=void 0!==n,s=a.then(async e=>{if(o=["resolve",e],t.default.isValidElement(e))i=!1,this.create({id:n,type:"default",message:e});else if(f(e)&&!e.ok){i=!1;let o="function"==typeof r.error?await r.error(`HTTP error! status: ${e.status}`):r.error,a="function"==typeof r.description?await r.description(`HTTP error! status: ${e.status}`):r.description,s="object"!=typeof o||t.default.isValidElement(o)?{message:o}:o;this.create({id:n,type:"error",description:a,...s})}else if(e instanceof Error){i=!1;let o="function"==typeof r.error?await r.error(e):r.error,a="function"==typeof r.description?await r.description(e):r.description,s="object"!=typeof o||t.default.isValidElement(o)?{message:o}:o;this.create({id:n,type:"error",description:a,...s})}else if(void 0!==r.success){i=!1;let o="function"==typeof r.success?await r.success(e):r.success,a="function"==typeof r.description?await r.description(e):r.description,s="object"!=typeof o||t.default.isValidElement(o)?{message:o}:o;this.create({id:n,type:"success",description:a,...s})}}).catch(async e=>{if(o=["reject",e],void 0!==r.error){i=!1;let o="function"==typeof r.error?await r.error(e):r.error,a="function"==typeof r.description?await r.description(e):r.description,s="object"!=typeof o||t.default.isValidElement(o)?{message:o}:o;this.create({id:n,type:"error",description:a,...s})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),null==r.finally||r.finally.call(r)}),l=()=>new Promise((e,t)=>s.then(()=>"reject"===o[0]?t(o[1]):e(o[1])).catch(t));return"string"!=typeof n&&"number"!=typeof n?{unwrap:l}:Object.assign(n,{unwrap:l})},this.custom=(e,t)=>{let r=(null==t?void 0:t.id)||d++;return this.create({jsx:e(r),id:r,...t}),r},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},f=e=>e&&"object"==typeof e&&"ok"in e&&"boolean"==typeof e.ok&&"status"in e&&"number"==typeof e.status,p=Object.assign((e,t)=>{let r=(null==t?void 0:t.id)||d++;return u.addToast({title:e,...t,id:r}),r},{success:u.success,info:u.info,warning:u.warning,error:u.error,custom:u.custom,message:u.message,promise:u.promise,dismiss:u.dismiss,loading:u.loading},{getHistory:()=>u.toasts,getToasts:()=>u.getActiveToasts()});function m(e){return void 0!==e.label}function g(...e){return e.filter(Boolean).join(" ")}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let h=e=>{var r,o,d,u,f,p,h,b,y,v,w,x,k;let{invert:E,toast:C,unstyled:T,interacting:R,setHeights:S,visibleToasts:A,heights:P,index:L,toasts:N,expanded:z,removeToast:j,defaultRichColors:O,closeButton:M,style:D,cancelButtonStyle:I,actionButtonStyle:$,className:B="",descriptionClassName:H="",duration:_,position:W,gap:U,expandByDefault:F,classNames:Y,icons:V,closeButtonAriaLabel:G="Close toast"}=e,[X,K]=t.default.useState(null),[q,Z]=t.default.useState(null),[J,Q]=t.default.useState(!1),[ee,et]=t.default.useState(!1),[er,eo]=t.default.useState(!1),[en,ea]=t.default.useState(!1),[ei,es]=t.default.useState(!1),[el,ec]=t.default.useState(0),[ed,eu]=t.default.useState(0),ef=t.default.useRef(C.duration||_||4e3),ep=t.default.useRef(null),em=t.default.useRef(null),eg=0===L,eh=L+1<=A,eb=C.type,ey=!1!==C.dismissible,ev=C.className||"",ew=C.descriptionClassName||"",ex=t.default.useMemo(()=>P.findIndex(e=>e.toastId===C.id)||0,[P,C.id]),ek=t.default.useMemo(()=>{var e;return null!=(e=C.closeButton)?e:M},[C.closeButton,M]),eE=t.default.useMemo(()=>C.duration||_||4e3,[C.duration,_]),eC=t.default.useRef(0),eT=t.default.useRef(0),eR=t.default.useRef(0),eS=t.default.useRef(null),[eA,eP]=W.split("-"),eL=t.default.useMemo(()=>P.reduce((e,t,r)=>r>=ex?e:e+t.height,0),[P,ex]),eN=(()=>{let[e,r]=t.default.useState(document.hidden);return t.default.useEffect(()=>{let e=()=>{r(document.hidden)};return document.addEventListener("visibilitychange",e),()=>window.removeEventListener("visibilitychange",e)},[]),e})(),ez=C.invert||E,ej="loading"===eb;eT.current=t.default.useMemo(()=>ex*U+eL,[ex,eL]),t.default.useEffect(()=>{ef.current=eE},[eE]),t.default.useEffect(()=>{Q(!0)},[]),t.default.useEffect(()=>{let e=em.current;if(e){let t=e.getBoundingClientRect().height;return eu(t),S(e=>[{toastId:C.id,height:t,position:C.position},...e]),()=>S(e=>e.filter(e=>e.toastId!==C.id))}},[S,C.id]),t.default.useLayoutEffect(()=>{if(!J)return;let e=em.current,t=e.style.height;e.style.height="auto";let r=e.getBoundingClientRect().height;e.style.height=t,eu(r),S(e=>e.find(e=>e.toastId===C.id)?e.map(e=>e.toastId===C.id?{...e,height:r}:e):[{toastId:C.id,height:r,position:C.position},...e])},[J,C.title,C.description,S,C.id,C.jsx,C.action,C.cancel]);let eO=t.default.useCallback(()=>{et(!0),ec(eT.current),S(e=>e.filter(e=>e.toastId!==C.id)),setTimeout(()=>{j(C)},200)},[C,j,S,eT]);t.default.useEffect(()=>{let e;if((!C.promise||"loading"!==eb)&&C.duration!==1/0&&"loading"!==C.type){if(z||R||eN){if(eR.current<eC.current){let e=new Date().getTime()-eC.current;ef.current=ef.current-e}eR.current=new Date().getTime()}else ef.current!==1/0&&(eC.current=new Date().getTime(),e=setTimeout(()=>{null==C.onAutoClose||C.onAutoClose.call(C,C),eO()},ef.current));return()=>clearTimeout(e)}},[z,R,C,eb,eN,eO]),t.default.useEffect(()=>{C.delete&&(eO(),null==C.onDismiss||C.onDismiss.call(C,C))},[eO,C.delete]);let eM=C.icon||(null==V?void 0:V[eb])||(e=>{switch(e){case"success":return a;case"info":return s;case"warning":return i;case"error":return l;default:return null}})(eb);return t.default.createElement("li",{tabIndex:0,ref:em,className:g(B,ev,null==Y?void 0:Y.toast,null==C||null==(r=C.classNames)?void 0:r.toast,null==Y?void 0:Y.default,null==Y?void 0:Y[eb],null==C||null==(o=C.classNames)?void 0:o[eb]),"data-sonner-toast":"","data-rich-colors":null!=(v=C.richColors)?v:O,"data-styled":!(C.jsx||C.unstyled||T),"data-mounted":J,"data-promise":!!C.promise,"data-swiped":ei,"data-removed":ee,"data-visible":eh,"data-y-position":eA,"data-x-position":eP,"data-index":L,"data-front":eg,"data-swiping":er,"data-dismissible":ey,"data-type":eb,"data-invert":ez,"data-swipe-out":en,"data-swipe-direction":q,"data-expanded":!!(z||F&&J),"data-testid":C.testId,style:{"--index":L,"--toasts-before":L,"--z-index":N.length-L,"--offset":`${ee?el:eT.current}px`,"--initial-height":F?"auto":`${ed}px`,...D,...C.style},onDragEnd:()=>{eo(!1),K(null),eS.current=null},onPointerDown:e=>{2===e.button||ej||!ey||(ep.current=new Date,ec(eT.current),e.target.setPointerCapture(e.pointerId),"BUTTON"!==e.target.tagName&&(eo(!0),eS.current={x:e.clientX,y:e.clientY}))},onPointerUp:()=>{var e,t,r,o,n;if(en||!ey)return;eS.current=null;let a=Number((null==(e=em.current)?void 0:e.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),i=Number((null==(t=em.current)?void 0:t.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),s=new Date().getTime()-(null==(r=ep.current)?void 0:r.getTime()),l="x"===X?a:i,c=Math.abs(l)/s;if(Math.abs(l)>=45||c>.11){ec(eT.current),null==C.onDismiss||C.onDismiss.call(C,C),"x"===X?Z(a>0?"right":"left"):Z(i>0?"down":"up"),eO(),ea(!0);return}null==(o=em.current)||o.style.setProperty("--swipe-amount-x","0px"),null==(n=em.current)||n.style.setProperty("--swipe-amount-y","0px"),es(!1),eo(!1),K(null)},onPointerMove:t=>{var r,o,n,a;if(!eS.current||!ey||(null==(r=window.getSelection())?void 0:r.toString().length)>0)return;let i=t.clientY-eS.current.y,s=t.clientX-eS.current.x,l=null!=(a=e.swipeDirections)?a:function(e){let[t,r]=e.split("-"),o=[];return t&&o.push(t),r&&o.push(r),o}(W);!X&&(Math.abs(s)>1||Math.abs(i)>1)&&K(Math.abs(s)>Math.abs(i)?"x":"y");let c={x:0,y:0},d=e=>1/(1.5+Math.abs(e)/20);if("y"===X){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&i<0||l.includes("bottom")&&i>0)c.y=i;else{let e=i*d(i);c.y=Math.abs(e)<Math.abs(i)?e:i}}else if("x"===X&&(l.includes("left")||l.includes("right")))if(l.includes("left")&&s<0||l.includes("right")&&s>0)c.x=s;else{let e=s*d(s);c.x=Math.abs(e)<Math.abs(s)?e:s}(Math.abs(c.x)>0||Math.abs(c.y)>0)&&es(!0),null==(o=em.current)||o.style.setProperty("--swipe-amount-x",`${c.x}px`),null==(n=em.current)||n.style.setProperty("--swipe-amount-y",`${c.y}px`)}},ek&&!C.jsx&&"loading"!==eb?t.default.createElement("button",{"aria-label":G,"data-disabled":ej,"data-close-button":!0,onClick:ej||!ey?()=>{}:()=>{eO(),null==C.onDismiss||C.onDismiss.call(C,C)},className:g(null==Y?void 0:Y.closeButton,null==C||null==(d=C.classNames)?void 0:d.closeButton)},null!=(w=null==V?void 0:V.close)?w:c):null,(eb||C.icon||C.promise)&&null!==C.icon&&((null==V?void 0:V[eb])!==null||C.icon)?t.default.createElement("div",{"data-icon":"",className:g(null==Y?void 0:Y.icon,null==C||null==(u=C.classNames)?void 0:u.icon)},C.promise||"loading"===C.type&&!C.icon?C.icon||((null==V?void 0:V.loading)?t.default.createElement("div",{className:g(null==Y?void 0:Y.loader,null==C||null==(k=C.classNames)?void 0:k.loader,"sonner-loader"),"data-visible":"loading"===eb},V.loading):t.default.createElement(n,{className:g(null==Y?void 0:Y.loader,null==C||null==(x=C.classNames)?void 0:x.loader),visible:"loading"===eb})):null,"loading"!==C.type?eM:null):null,t.default.createElement("div",{"data-content":"",className:g(null==Y?void 0:Y.content,null==C||null==(f=C.classNames)?void 0:f.content)},t.default.createElement("div",{"data-title":"",className:g(null==Y?void 0:Y.title,null==C||null==(p=C.classNames)?void 0:p.title)},C.jsx?C.jsx:"function"==typeof C.title?C.title():C.title),C.description?t.default.createElement("div",{"data-description":"",className:g(H,ew,null==Y?void 0:Y.description,null==C||null==(h=C.classNames)?void 0:h.description)},"function"==typeof C.description?C.description():C.description):null),t.default.isValidElement(C.cancel)?C.cancel:C.cancel&&m(C.cancel)?t.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:C.cancelButtonStyle||I,onClick:e=>{!m(C.cancel)||ey&&(null==C.cancel.onClick||C.cancel.onClick.call(C.cancel,e),eO())},className:g(null==Y?void 0:Y.cancelButton,null==C||null==(b=C.classNames)?void 0:b.cancelButton)},C.cancel.label):null,t.default.isValidElement(C.action)?C.action:C.action&&m(C.action)?t.default.createElement("button",{"data-button":!0,"data-action":!0,style:C.actionButtonStyle||$,onClick:e=>{!m(C.action)||(null==C.action.onClick||C.action.onClick.call(C.action,e),e.defaultPrevented||eO())},className:g(null==Y?void 0:Y.actionButton,null==C||null==(y=C.classNames)?void 0:y.actionButton)},C.action.label):null)};function b(){if("u"<typeof window||"u"<typeof document)return"ltr";let e=document.documentElement.getAttribute("dir");return"auto"!==e&&e?e:window.getComputedStyle(document.documentElement).direction}let y=t.default.forwardRef(function(e,o){let{id:n,invert:a,position:i="bottom-right",hotkey:s=["altKey","KeyT"],expand:l,closeButton:c,className:d,offset:f,mobileOffset:p,theme:m="light",richColors:g,duration:y,style:v,visibleToasts:w=3,toastOptions:x,dir:k=b(),gap:E=14,icons:C,containerAriaLabel:T="Notifications"}=e,[R,S]=t.default.useState([]),A=t.default.useMemo(()=>n?R.filter(e=>e.toasterId===n):R.filter(e=>!e.toasterId),[R,n]),P=t.default.useMemo(()=>Array.from(new Set([i].concat(A.filter(e=>e.position).map(e=>e.position)))),[A,i]),[L,N]=t.default.useState([]),[z,j]=t.default.useState(!1),[O,M]=t.default.useState(!1),[D,I]=t.default.useState("system"!==m?m:"u">typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),$=t.default.useRef(null),B=s.join("+").replace(/Key/g,"").replace(/Digit/g,""),H=t.default.useRef(null),_=t.default.useRef(!1),W=t.default.useCallback(e=>{S(t=>{var r;return(null==(r=t.find(t=>t.id===e.id))?void 0:r.delete)||u.dismiss(e.id),t.filter(({id:t})=>t!==e.id)})},[]);return t.default.useEffect(()=>u.subscribe(e=>{e.dismiss?requestAnimationFrame(()=>{S(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))}):setTimeout(()=>{r.default.flushSync(()=>{S(t=>{let r=t.findIndex(t=>t.id===e.id);return -1!==r?[...t.slice(0,r),{...t[r],...e},...t.slice(r+1)]:[e,...t]})})})}),[R]),t.default.useEffect(()=>{if("system"!==m)return void I(m);if("system"===m&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?I("dark"):I("light")),"u"<typeof window)return;let e=window.matchMedia("(prefers-color-scheme: dark)");try{e.addEventListener("change",({matches:e})=>{e?I("dark"):I("light")})}catch(t){e.addListener(({matches:e})=>{try{e?I("dark"):I("light")}catch(e){console.error(e)}})}},[m]),t.default.useEffect(()=>{R.length<=1&&j(!1)},[R]),t.default.useEffect(()=>{let e=e=>{var t,r;s.every(t=>e[t]||e.code===t)&&(j(!0),null==(r=$.current)||r.focus()),"Escape"===e.code&&(document.activeElement===$.current||(null==(t=$.current)?void 0:t.contains(document.activeElement)))&&j(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[s]),t.default.useEffect(()=>{if($.current)return()=>{H.current&&(H.current.focus({preventScroll:!0}),H.current=null,_.current=!1)}},[$.current]),t.default.createElement("section",{ref:o,"aria-label":`${T} ${B}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},P.map((r,o)=>{var n;let i,[s,u]=r.split("-");return A.length?t.default.createElement("ol",{key:r,dir:"auto"===k?b():k,tabIndex:-1,ref:$,className:d,"data-sonner-toaster":!0,"data-sonner-theme":D,"data-y-position":s,"data-x-position":u,style:{"--front-toast-height":`${(null==(n=L[0])?void 0:n.height)||0}px`,"--width":"356px","--gap":`${E}px`,...v,...(i={},[f,p].forEach((e,t)=>{let r=1===t,o=r?"--mobile-offset":"--offset",n=r?"16px":"24px";function a(e){["top","right","bottom","left"].forEach(t=>{i[`${o}-${t}`]="number"==typeof e?`${e}px`:e})}"number"==typeof e||"string"==typeof e?a(e):"object"==typeof e?["top","right","bottom","left"].forEach(t=>{void 0===e[t]?i[`${o}-${t}`]=n:i[`${o}-${t}`]="number"==typeof e[t]?`${e[t]}px`:e[t]}):a(n)}),i)},onBlur:e=>{_.current&&!e.currentTarget.contains(e.relatedTarget)&&(_.current=!1,H.current&&(H.current.focus({preventScroll:!0}),H.current=null))},onFocus:e=>{!(e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible)&&(_.current||(_.current=!0,H.current=e.relatedTarget))},onMouseEnter:()=>j(!0),onMouseMove:()=>j(!0),onMouseLeave:()=>{O||j(!1)},onDragEnd:()=>j(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&"false"===e.target.dataset.dismissible||M(!0)},onPointerUp:()=>M(!1)},A.filter(e=>!e.position&&0===o||e.position===r).map((o,n)=>{var i,s;return t.default.createElement(h,{key:o.id,icons:C,index:n,toast:o,defaultRichColors:g,duration:null!=(i=null==x?void 0:x.duration)?i:y,className:null==x?void 0:x.className,descriptionClassName:null==x?void 0:x.descriptionClassName,invert:a,visibleToasts:w,closeButton:null!=(s=null==x?void 0:x.closeButton)?s:c,interacting:O,position:r,style:null==x?void 0:x.style,unstyled:null==x?void 0:x.unstyled,classNames:null==x?void 0:x.classNames,cancelButtonStyle:null==x?void 0:x.cancelButtonStyle,actionButtonStyle:null==x?void 0:x.actionButtonStyle,closeButtonAriaLabel:null==x?void 0:x.closeButtonAriaLabel,removeToast:W,toasts:A.filter(e=>e.position==o.position),heights:L.filter(e=>e.position==o.position),setHeights:N,expandByDefault:l,gap:E,expanded:z,swipeDirections:e.swipeDirections})})):null}))});e.s(["Toaster",()=>y,"toast",()=>p])},91967,e=>{"use strict";function t(e,r,{checkForDefaultPrevented:o=!0}={}){return function(t){if(e?.(t),!1===o||!t.defaultPrevented)return r?.(t)}}"u">typeof window&&window.document&&window.document.createElement,e.s(["composeEventHandlers",()=>t])},50888,e=>{"use strict";var t=e.i(75201);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function o(...e){return t=>{let o=!1,n=e.map(e=>{let n=r(e,t);return o||"function"!=typeof n||(o=!0),n});if(o)return()=>{for(let t=0;t<n.length;t++){let o=n[t];"function"==typeof o?o():r(e[t],null)}}}}function n(...e){return t.useCallback(o(...e),e)}e.s(["composeRefs",()=>o,"useComposedRefs",()=>n])},38082,e=>{"use strict";var t=e.i(75201),r=e.i(98134);function o(e,o){let n=t.createContext(o),a=e=>{let{children:o,...a}=e,i=t.useMemo(()=>a,Object.values(a));return(0,r.jsx)(n.Provider,{value:i,children:o})};return a.displayName=e+"Provider",[a,function(r){let a=t.useContext(n);if(a)return a;if(void 0!==o)return o;throw Error(`\`${r}\` must be used within \`${e}\``)}]}function n(e,o=[]){let a=[],i=()=>{let r=a.map(e=>t.createContext(e));return function(o){let n=o?.[e]||r;return t.useMemo(()=>({[`__scope${e}`]:{...o,[e]:n}}),[o,n])}};return i.scopeName=e,[function(o,n){let i=t.createContext(n),s=a.length;a=[...a,n];let l=o=>{let{scope:n,children:a,...l}=o,c=n?.[e]?.[s]||i,d=t.useMemo(()=>l,Object.values(l));return(0,r.jsx)(c.Provider,{value:d,children:a})};return l.displayName=o+"Provider",[l,function(r,a){let l=a?.[e]?.[s]||i,c=t.useContext(l);if(c)return c;if(void 0!==n)return n;throw Error(`\`${r}\` must be used within \`${o}\``)}]},function(...e){let r=e[0];if(1===e.length)return r;let o=()=>{let o=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=o.reduce((t,{useScope:r,scopeName:o})=>{let n=r(e)[`__scope${o}`];return{...t,...n}},{});return t.useMemo(()=>({[`__scope${r.scopeName}`]:n}),[n])}};return o.scopeName=r.scopeName,o}(i,...o)]}e.s(["createContext",()=>o,"createContextScope",()=>n])},97245,e=>{"use strict";var t=e.i(75201),r=e.i(50888),o=e.i(98134);function n(e){var n;let a,i=(n=e,(a=t.forwardRef((e,o)=>{let{children:n,...a}=e;if(t.isValidElement(n)){var i;let e,s,l=(i=n,(s=(e=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.ref:(s=(e=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?i.props.ref:i.props.ref||i.ref),c=function(e,t){let r={...t};for(let o in t){let n=e[o],a=t[o];/^on[A-Z]/.test(o)?n&&a?r[o]=(...e)=>{let t=a(...e);return n(...e),t}:n&&(r[o]=n):"style"===o?r[o]={...n,...a}:"className"===o&&(r[o]=[n,a].filter(Boolean).join(" "))}return{...e,...r}}(a,n.props);return n.type!==t.Fragment&&(c.ref=o?(0,r.composeRefs)(o,l):l),t.cloneElement(n,c)}return t.Children.count(n)>1?t.Children.only(null):null})).displayName=`${n}.SlotClone`,a),s=t.forwardRef((e,r)=>{let{children:n,...a}=e,s=t.Children.toArray(n),l=s.find(c);if(l){let e=l.props.children,n=s.map(r=>r!==l?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,o.jsx)(i,{...a,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,n):null})}return(0,o.jsx)(i,{...a,ref:r,children:n})});return s.displayName=`${e}.Slot`,s}var a=n("Slot"),i=Symbol("radix.slottable");function s(e){let t=({children:e})=>(0,o.jsx)(o.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=i,t}var l=s("Slottable");function c(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===i}e.s(["Root",()=>a,"Slot",()=>a,"Slottable",()=>l,"createSlot",()=>n,"createSlottable",()=>s])},9770,85381,84080,72416,88577,54041,65048,70253,1404,69060,38185,36765,e=>{"use strict";let t;var r,o=e.i(75201),n=e.i(91967),a=e.i(50888),i=e.i(38082),s=e.i(29080),l=e.i(97245),c=e.i(98134),d=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=(0,l.createSlot)(`Primitive.${t}`),n=o.forwardRef((e,o)=>{let{asChild:n,...a}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,c.jsx)(n?r:t,{...a,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function u(e,t){e&&s.flushSync(()=>e.dispatchEvent(t))}function f(e){let t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>(...e)=>t.current?.(...e),[])}e.s(["Primitive",()=>d,"dispatchDiscreteCustomEvent",()=>u],85381),e.s(["useCallbackRef",()=>f],84080);var p="dismissableLayer.update",m=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),g=o.forwardRef((e,t)=>{let{disableOutsidePointerEvents:i=!1,onEscapeKeyDown:s,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:g,onDismiss:y,...v}=e,w=o.useContext(m),[x,k]=o.useState(null),E=x?.ownerDocument??globalThis?.document,[,C]=o.useState({}),T=(0,a.useComposedRefs)(t,e=>k(e)),R=Array.from(w.layers),[S]=[...w.layersWithOutsidePointerEventsDisabled].slice(-1),A=R.indexOf(S),P=x?R.indexOf(x):-1,L=w.layersWithOutsidePointerEventsDisabled.size>0,N=P>=A,z=function(e,t=globalThis?.document){let r=f(e),n=o.useRef(!1),a=o.useRef(()=>{});return o.useEffect(()=>{let e=e=>{if(e.target&&!n.current){let o=function(){b("dismissableLayer.pointerDownOutside",r,n,{discrete:!0})},n={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",a.current),a.current=o,t.addEventListener("click",a.current,{once:!0})):o()}else t.removeEventListener("click",a.current);n.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",e),t.removeEventListener("click",a.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}(e=>{let t=e.target,r=[...w.branches].some(e=>e.contains(t));N&&!r&&(l?.(e),g?.(e),e.defaultPrevented||y?.())},E),j=function(e,t=globalThis?.document){let r=f(e),n=o.useRef(!1);return o.useEffect(()=>{let e=e=>{e.target&&!n.current&&b("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}(e=>{let t=e.target;![...w.branches].some(e=>e.contains(t))&&(u?.(e),g?.(e),e.defaultPrevented||y?.())},E);return!function(e,t=globalThis?.document){let r=f(e);o.useEffect(()=>{let e=e=>{"Escape"===e.key&&r(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[r,t])}(e=>{P===w.layers.size-1&&(s?.(e),!e.defaultPrevented&&y&&(e.preventDefault(),y()))},E),o.useEffect(()=>{if(x)return i&&(0===w.layersWithOutsidePointerEventsDisabled.size&&(r=E.body.style.pointerEvents,E.body.style.pointerEvents="none"),w.layersWithOutsidePointerEventsDisabled.add(x)),w.layers.add(x),h(),()=>{i&&1===w.layersWithOutsidePointerEventsDisabled.size&&(E.body.style.pointerEvents=r)}},[x,E,i,w]),o.useEffect(()=>()=>{x&&(w.layers.delete(x),w.layersWithOutsidePointerEventsDisabled.delete(x),h())},[x,w]),o.useEffect(()=>{let e=()=>C({});return document.addEventListener(p,e),()=>document.removeEventListener(p,e)},[]),(0,c.jsx)(d.div,{...v,ref:T,style:{pointerEvents:L?N?"auto":"none":void 0,...e.style},onFocusCapture:(0,n.composeEventHandlers)(e.onFocusCapture,j.onFocusCapture),onBlurCapture:(0,n.composeEventHandlers)(e.onBlurCapture,j.onBlurCapture),onPointerDownCapture:(0,n.composeEventHandlers)(e.onPointerDownCapture,z.onPointerDownCapture)})});function h(){let e=new CustomEvent(p);document.dispatchEvent(e)}function b(e,t,r,{discrete:o}){let n=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&n.addEventListener(e,t,{once:!0}),o?u(n,a):n.dispatchEvent(a)}g.displayName="DismissableLayer",o.forwardRef((e,t)=>{let r=o.useContext(m),n=o.useRef(null),i=(0,a.useComposedRefs)(t,n);return o.useEffect(()=>{let e=n.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,c.jsx)(d.div,{...e,ref:i})}).displayName="DismissableLayerBranch",e.s(["DismissableLayer",()=>g],72416);var y=globalThis?.document?o.useLayoutEffect:()=>{};e.s(["useLayoutEffect",()=>y],88577);var v=o[" useId ".trim().toString()]||(()=>void 0),w=0;function x(e){let[t,r]=o.useState(v());return y(()=>{e||r(e=>e??String(w++))},[e]),e||(t?`radix-${t}`:"")}e.s(["useId",()=>x],54041);let k=["top","right","bottom","left"],E=Math.min,C=Math.max,T=Math.round,R=Math.floor,S=e=>({x:e,y:e}),A={left:"right",right:"left",bottom:"top",top:"bottom"};function P(e,t){return"function"==typeof e?e(t):e}function L(e){return e.split("-")[0]}function N(e){return e.split("-")[1]}function z(e){return"x"===e?"y":"x"}function j(e){return"y"===e?"height":"width"}function O(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function M(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let D=["left","right"],I=["right","left"],$=["top","bottom"],B=["bottom","top"];function H(e){let t=L(e);return A[t]+e.slice(t.length)}function _(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function W(e){let{x:t,y:r,width:o,height:n}=e;return{width:o,height:n,top:r,left:t,right:t+o,bottom:r+n,x:t,y:r}}function U(e,t,r){let o,{reference:n,floating:a}=e,i=O(t),s=z(O(t)),l=j(s),c=L(t),d="y"===i,u=n.x+n.width/2-a.width/2,f=n.y+n.height/2-a.height/2,p=n[l]/2-a[l]/2;switch(c){case"top":o={x:u,y:n.y-a.height};break;case"bottom":o={x:u,y:n.y+n.height};break;case"right":o={x:n.x+n.width,y:f};break;case"left":o={x:n.x-a.width,y:f};break;default:o={x:n.x,y:n.y}}switch(N(t)){case"start":o[s]-=p*(r&&d?-1:1);break;case"end":o[s]+=p*(r&&d?-1:1)}return o}async function F(e,t){var r;void 0===t&&(t={});let{x:o,y:n,platform:a,rects:i,elements:s,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:p=0}=P(t,e),m=_(p),g=s[f?"floating"===u?"reference":"floating":u],h=W(await a.getClippingRect({element:null==(r=await (null==a.isElement?void 0:a.isElement(g)))||r?g:g.contextElement||await (null==a.getDocumentElement?void 0:a.getDocumentElement(s.floating)),boundary:c,rootBoundary:d,strategy:l})),b="floating"===u?{x:o,y:n,width:i.floating.width,height:i.floating.height}:i.reference,y=await (null==a.getOffsetParent?void 0:a.getOffsetParent(s.floating)),v=await (null==a.isElement?void 0:a.isElement(y))&&await (null==a.getScale?void 0:a.getScale(y))||{x:1,y:1},w=W(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:b,offsetParent:y,strategy:l}):b);return{top:(h.top-w.top+m.top)/v.y,bottom:(w.bottom-h.bottom+m.bottom)/v.y,left:(h.left-w.left+m.left)/v.x,right:(w.right-h.right+m.right)/v.x}}let Y=async(e,t,r)=>{let{placement:o="bottom",strategy:n="absolute",middleware:a=[],platform:i}=r,s=i.detectOverflow?i:{...i,detectOverflow:F},l=await (null==i.isRTL?void 0:i.isRTL(t)),c=await i.getElementRects({reference:e,floating:t,strategy:n}),{x:d,y:u}=U(c,o,l),f=o,p=0,m={};for(let r=0;r<a.length;r++){let g=a[r];if(!g)continue;let{name:h,fn:b}=g,{x:y,y:v,data:w,reset:x}=await b({x:d,y:u,initialPlacement:o,placement:f,strategy:n,middlewareData:m,rects:c,platform:s,elements:{reference:e,floating:t}});d=null!=y?y:d,u=null!=v?v:u,m[h]={...m[h],...w},x&&p<50&&(p++,"object"==typeof x&&(x.placement&&(f=x.placement),x.rects&&(c=!0===x.rects?await i.getElementRects({reference:e,floating:t,strategy:n}):x.rects),{x:d,y:u}=U(c,f,l)),r=-1)}return{x:d,y:u,placement:f,strategy:n,middlewareData:m}};function V(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function G(e){return k.some(t=>e[t]>=0)}let X=new Set(["left","top"]);async function K(e,t){let{placement:r,platform:o,elements:n}=e,a=await (null==o.isRTL?void 0:o.isRTL(n.floating)),i=L(r),s=N(r),l="y"===O(r),c=X.has(i)?-1:1,d=a&&l?-1:1,u=P(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}="number"==typeof u?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return s&&"number"==typeof m&&(p="end"===s?-1*m:m),l?{x:p*d,y:f*c}:{x:f*c,y:p*d}}function q(){return"u">typeof window}function Z(e){return ee(e)?(e.nodeName||"").toLowerCase():"#document"}function J(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Q(e){var t;return null==(t=(ee(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function ee(e){return!!q()&&(e instanceof Node||e instanceof J(e).Node)}function et(e){return!!q()&&(e instanceof Element||e instanceof J(e).Element)}function er(e){return!!q()&&(e instanceof HTMLElement||e instanceof J(e).HTMLElement)}function eo(e){return!(!q()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof J(e).ShadowRoot)}function en(e){let{overflow:t,overflowX:r,overflowY:o,display:n}=ef(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+r)&&"inline"!==n&&"contents"!==n}function ea(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let ei=/transform|translate|scale|rotate|perspective|filter/,es=/paint|layout|strict|content/,el=e=>!!e&&"none"!==e;function ec(e){let t=et(e)?ef(e):e;return el(t.transform)||el(t.translate)||el(t.scale)||el(t.rotate)||el(t.perspective)||!ed()&&(el(t.backdropFilter)||el(t.filter))||ei.test(t.willChange||"")||es.test(t.contain||"")}function ed(){return null==t&&(t="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function eu(e){return/^(html|body|#document)$/.test(Z(e))}function ef(e){return J(e).getComputedStyle(e)}function ep(e){return et(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function em(e){if("html"===Z(e))return e;let t=e.assignedSlot||e.parentNode||eo(e)&&e.host||Q(e);return eo(t)?t.host:t}function eg(e,t,r){var o;void 0===t&&(t=[]),void 0===r&&(r=!0);let n=function e(t){let r=em(t);return eu(r)?t.ownerDocument?t.ownerDocument.body:t.body:er(r)&&en(r)?r:e(r)}(e),a=n===(null==(o=e.ownerDocument)?void 0:o.body),i=J(n);if(!a)return t.concat(n,eg(n,[],r));{let e=eh(i);return t.concat(i,i.visualViewport||[],en(n)?n:[],e&&r?eg(e):[])}}function eh(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function eb(e){let t=ef(e),r=parseFloat(t.width)||0,o=parseFloat(t.height)||0,n=er(e),a=n?e.offsetWidth:r,i=n?e.offsetHeight:o,s=T(r)!==a||T(o)!==i;return s&&(r=a,o=i),{width:r,height:o,$:s}}function ey(e){return et(e)?e:e.contextElement}function ev(e){let t=ey(e);if(!er(t))return S(1);let r=t.getBoundingClientRect(),{width:o,height:n,$:a}=eb(t),i=(a?T(r.width):r.width)/o,s=(a?T(r.height):r.height)/n;return i&&Number.isFinite(i)||(i=1),s&&Number.isFinite(s)||(s=1),{x:i,y:s}}let ew=S(0);function ex(e){let t=J(e);return ed()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:ew}function ek(e,t,r,o){var n;void 0===t&&(t=!1),void 0===r&&(r=!1);let a=e.getBoundingClientRect(),i=ey(e),s=S(1);t&&(o?et(o)&&(s=ev(o)):s=ev(e));let l=(void 0===(n=r)&&(n=!1),o&&(!n||o===J(i))&&n)?ex(i):S(0),c=(a.left+l.x)/s.x,d=(a.top+l.y)/s.y,u=a.width/s.x,f=a.height/s.y;if(i){let e=J(i),t=o&&et(o)?J(o):o,r=e,n=eh(r);for(;n&&o&&t!==r;){let e=ev(n),t=n.getBoundingClientRect(),o=ef(n),a=t.left+(n.clientLeft+parseFloat(o.paddingLeft))*e.x,i=t.top+(n.clientTop+parseFloat(o.paddingTop))*e.y;c*=e.x,d*=e.y,u*=e.x,f*=e.y,c+=a,d+=i,n=eh(r=J(n))}}return W({width:u,height:f,x:c,y:d})}function eE(e,t){let r=ep(e).scrollLeft;return t?t.left+r:ek(Q(e)).left+r}function eC(e,t){let r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-eE(e,r),y:r.top+t.scrollTop}}function eT(e,t,r){var o;let n;if("viewport"===t)n=function(e,t){let r=J(e),o=Q(e),n=r.visualViewport,a=o.clientWidth,i=o.clientHeight,s=0,l=0;if(n){a=n.width,i=n.height;let e=ed();(!e||e&&"fixed"===t)&&(s=n.offsetLeft,l=n.offsetTop)}let c=eE(o);if(c<=0){let e=o.ownerDocument,t=e.body,r=getComputedStyle(t),n="CSS1Compat"===e.compatMode&&parseFloat(r.marginLeft)+parseFloat(r.marginRight)||0,i=Math.abs(o.clientWidth-t.clientWidth-n);i<=25&&(a-=i)}else c<=25&&(a+=c);return{width:a,height:i,x:s,y:l}}(e,r);else if("document"===t){let t,r,a,i,s,l,c;o=Q(e),t=Q(o),r=ep(o),a=o.ownerDocument.body,i=C(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),s=C(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight),l=-r.scrollLeft+eE(o),c=-r.scrollTop,"rtl"===ef(a).direction&&(l+=C(t.clientWidth,a.clientWidth)-i),n={width:i,height:s,x:l,y:c}}else if(et(t)){let e,o,a,i,s,l;o=(e=ek(t,!0,"fixed"===r)).top+t.clientTop,a=e.left+t.clientLeft,i=er(t)?ev(t):S(1),s=t.clientWidth*i.x,l=t.clientHeight*i.y,n={width:s,height:l,x:a*i.x,y:o*i.y}}else{let r=ex(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return W(n)}function eR(e){return"static"===ef(e).position}function eS(e,t){if(!er(e)||"fixed"===ef(e).position)return null;if(t)return t(e);let r=e.offsetParent;return Q(e)===r&&(r=r.ownerDocument.body),r}function eA(e,t){var r;let o=J(e);if(ea(e))return o;if(!er(e)){let t=em(e);for(;t&&!eu(t);){if(et(t)&&!eR(t))return t;t=em(t)}return o}let n=eS(e,t);for(;n&&(r=n,/^(table|td|th)$/.test(Z(r)))&&eR(n);)n=eS(n,t);return n&&eu(n)&&eR(n)&&!ec(n)?o:n||function(e){let t=em(e);for(;er(t)&&!eu(t);){if(ec(t))return t;if(ea(t))break;t=em(t)}return null}(e)||o}let eP=async function(e){let t=this.getOffsetParent||eA,r=this.getDimensions,o=await r(e.floating);return{reference:function(e,t,r){let o=er(t),n=Q(t),a="fixed"===r,i=ek(e,!0,a,t),s={scrollLeft:0,scrollTop:0},l=S(0);if(o||!o&&!a)if(("body"!==Z(t)||en(n))&&(s=ep(t)),o){let e=ek(t,!0,a,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else n&&(l.x=eE(n));a&&!o&&n&&(l.x=eE(n));let c=!n||o||a?S(0):eC(n,s);return{x:i.left+s.scrollLeft-l.x-c.x,y:i.top+s.scrollTop-l.y-c.y,width:i.width,height:i.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}},eL={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:o,strategy:n}=e,a="fixed"===n,i=Q(o),s=!!t&&ea(t.floating);if(o===i||s&&a)return r;let l={scrollLeft:0,scrollTop:0},c=S(1),d=S(0),u=er(o);if((u||!u&&!a)&&(("body"!==Z(o)||en(i))&&(l=ep(o)),u)){let e=ek(o);c=ev(o),d.x=e.x+o.clientLeft,d.y=e.y+o.clientTop}let f=!i||u||a?S(0):eC(i,l);return{width:r.width*c.x,height:r.height*c.y,x:r.x*c.x-l.scrollLeft*c.x+d.x+f.x,y:r.y*c.y-l.scrollTop*c.y+d.y+f.y}},getDocumentElement:Q,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:o,strategy:n}=e,a=[..."clippingAncestors"===r?ea(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let o=eg(e,[],!1).filter(e=>et(e)&&"body"!==Z(e)),n=null,a="fixed"===ef(e).position,i=a?em(e):e;for(;et(i)&&!eu(i);){let t=ef(i),r=ec(i);r||"fixed"!==t.position||(n=null),(a?r||n:!(!r&&"static"===t.position&&n&&("absolute"===n.position||"fixed"===n.position)||en(i)&&!r&&function e(t,r){let o=em(t);return!(o===r||!et(o)||eu(o))&&("fixed"===ef(o).position||e(o,r))}(e,i)))?n=t:o=o.filter(e=>e!==i),i=em(i)}return t.set(e,o),o}(t,this._c):[].concat(r),o],i=eT(t,a[0],n),s=i.top,l=i.right,c=i.bottom,d=i.left;for(let e=1;e<a.length;e++){let r=eT(t,a[e],n);s=C(r.top,s),l=E(r.right,l),c=E(r.bottom,c),d=C(r.left,d)}return{width:l-d,height:c-s,x:d,y:s}},getOffsetParent:eA,getElementRects:eP,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:r}=eb(e);return{width:t,height:r}},getScale:ev,isElement:et,isRTL:function(e){return"rtl"===ef(e).direction}};function eN(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let ez=e=>({name:"arrow",options:e,async fn(t){let{x:r,y:o,placement:n,rects:a,platform:i,elements:s,middlewareData:l}=t,{element:c,padding:d=0}=P(e,t)||{};if(null==c)return{};let u=_(d),f={x:r,y:o},p=z(O(n)),m=j(p),g=await i.getDimensions(c),h="y"===p,b=h?"clientHeight":"clientWidth",y=a.reference[m]+a.reference[p]-f[p]-a.floating[m],v=f[p]-a.reference[p],w=await (null==i.getOffsetParent?void 0:i.getOffsetParent(c)),x=w?w[b]:0;x&&await (null==i.isElement?void 0:i.isElement(w))||(x=s.floating[b]||a.floating[m]);let k=x/2-g[m]/2-1,T=E(u[h?"top":"left"],k),R=E(u[h?"bottom":"right"],k),S=x-g[m]-R,A=x/2-g[m]/2+(y/2-v/2),L=C(T,E(A,S)),M=!l.arrow&&null!=N(n)&&A!==L&&a.reference[m]/2-(A<T?T:R)-g[m]/2<0,D=M?A<T?A-T:A-S:0;return{[p]:f[p]+D,data:{[p]:L,centerOffset:A-L-D,...M&&{alignmentOffset:D}},reset:M}}});var ej="u">typeof document?o.useLayoutEffect:function(){};function eO(e,t){let r,o,n;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((r=e.length)!==t.length)return!1;for(o=r;0!=o--;)if(!eO(e[o],t[o]))return!1;return!0}if((r=(n=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(o=r;0!=o--;)if(!({}).hasOwnProperty.call(t,n[o]))return!1;for(o=r;0!=o--;){let r=n[o];if(("_owner"!==r||!e.$$typeof)&&!eO(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}function eM(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function eD(e,t){let r=eM(e);return Math.round(t*r)/r}function eI(e){let t=o.useRef(e);return ej(()=>{t.current=e}),t}var e$=o.forwardRef((e,t)=>{let{children:r,width:o=10,height:n=5,...a}=e;return(0,c.jsx)(d.svg,{...a,ref:t,width:o,height:n,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,c.jsx)("polygon",{points:"0,0 30,0 15,10"})})});function eB(e){let[t,r]=o.useState(void 0);return y(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let o,n;if(!Array.isArray(t)||!t.length)return;let a=t[0];if("borderBoxSize"in a){let e=a.borderBoxSize,t=Array.isArray(e)?e[0]:e;o=t.inlineSize,n=t.blockSize}else o=e.offsetWidth,n=e.offsetHeight;r({width:o,height:n})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}r(void 0)},[e]),t}e$.displayName="Arrow",e.s(["useSize",()=>eB],65048);var eH="Popper",[e_,eW]=(0,i.createContextScope)(eH),[eU,eF]=e_(eH),eY=e=>{let{__scopePopper:t,children:r}=e,[n,a]=o.useState(null);return(0,c.jsx)(eU,{scope:t,anchor:n,onAnchorChange:a,children:r})};eY.displayName=eH;var eV="PopperAnchor",eG=o.forwardRef((e,t)=>{let{__scopePopper:r,virtualRef:n,...i}=e,s=eF(eV,r),l=o.useRef(null),u=(0,a.useComposedRefs)(t,l),f=o.useRef(null);return o.useEffect(()=>{let e=f.current;f.current=n?.current||l.current,e!==f.current&&s.onAnchorChange(f.current)}),n?null:(0,c.jsx)(d.div,{...i,ref:u})});eG.displayName=eV;var eX="PopperContent",[eK,eq]=e_(eX),eZ=o.forwardRef((e,t)=>{var r,n,i,l,u,p,m,g,h,b,v,w,x,k,T,S,A,_,W,U,F;let q,Z,J,ee,et,er,{__scopePopper:eo,side:en="bottom",sideOffset:ea=0,align:ei="center",alignOffset:es=0,arrowPadding:el=0,avoidCollisions:ec=!0,collisionBoundary:ed=[],collisionPadding:eu=0,sticky:ef="partial",hideWhenDetached:ep=!1,updatePositionStrategy:em="optimized",onPlaced:eh,...eb}=e,ev=eF(eX,eo),[ew,ex]=o.useState(null),eE=(0,a.useComposedRefs)(t,e=>ex(e)),[eC,eT]=o.useState(null),eR=eB(eC),eS=eR?.width??0,eA=eR?.height??0,eP="number"==typeof eu?eu:{top:0,right:0,bottom:0,left:0,...eu},e$=Array.isArray(ed)?ed:[ed],eH=e$.length>0,e_={padding:eP,boundary:e$.filter(e1),altBoundary:eH},{refs:eW,floatingStyles:eU,placement:eY,isPositioned:eV,middlewareData:eG}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:a,elements:{reference:i,floating:l}={},transform:c=!0,whileElementsMounted:d,open:u}=e,[f,p]=o.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[m,g]=o.useState(n);eO(m,n)||g(n);let[h,b]=o.useState(null),[y,v]=o.useState(null),w=o.useCallback(e=>{e!==C.current&&(C.current=e,b(e))},[]),x=o.useCallback(e=>{e!==T.current&&(T.current=e,v(e))},[]),k=i||h,E=l||y,C=o.useRef(null),T=o.useRef(null),R=o.useRef(f),S=null!=d,A=eI(d),P=eI(a),L=eI(u),N=o.useCallback(()=>{var e,o;let n,a,i;if(!C.current||!T.current)return;let l={placement:t,strategy:r,middleware:m};P.current&&(l.platform=P.current),(e=C.current,o=T.current,n=new Map,i={...(a={platform:eL,...l}).platform,_c:n},Y(e,o,{...a,platform:i})).then(e=>{let t={...e,isPositioned:!1!==L.current};z.current&&!eO(R.current,t)&&(R.current=t,s.flushSync(()=>{p(t)}))})},[m,t,r,P,L]);ej(()=>{!1===u&&R.current.isPositioned&&(R.current.isPositioned=!1,p(e=>({...e,isPositioned:!1})))},[u]);let z=o.useRef(!1);ej(()=>(z.current=!0,()=>{z.current=!1}),[]),ej(()=>{if(k&&(C.current=k),E&&(T.current=E),k&&E){if(A.current)return A.current(k,E,N);N()}},[k,E,N,A,S]);let j=o.useMemo(()=>({reference:C,floating:T,setReference:w,setFloating:x}),[w,x]),O=o.useMemo(()=>({reference:k,floating:E}),[k,E]),M=o.useMemo(()=>{let e={position:r,left:0,top:0};if(!O.floating)return e;let t=eD(O.floating,f.x),o=eD(O.floating,f.y);return c?{...e,transform:"translate("+t+"px, "+o+"px)",...eM(O.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:o}},[r,c,O.floating,f.x,f.y]);return o.useMemo(()=>({...f,update:N,refs:j,elements:O,floatingStyles:M}),[f,N,j,O,M])}({strategy:"fixed",placement:en+("center"!==ei?"-"+ei:""),whileElementsMounted:(...e)=>(function(e,t,r,o){let n;void 0===o&&(o={});let{ancestorScroll:a=!0,ancestorResize:i=!0,elementResize:s="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:c=!1}=o,d=ey(e),u=a||i?[...d?eg(d):[],...t?eg(t):[]]:[];u.forEach(e=>{a&&e.addEventListener("scroll",r,{passive:!0}),i&&e.addEventListener("resize",r)});let f=d&&l?function(e,t){let r,o=null,n=Q(e);function a(){var e;clearTimeout(r),null==(e=o)||e.disconnect(),o=null}return!function i(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),a();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:p}=c;if(s||t(),!f||!p)return;let m={rootMargin:-R(u)+"px "+-R(n.clientWidth-(d+f))+"px "+-R(n.clientHeight-(u+p))+"px "+-R(d)+"px",threshold:C(0,E(1,l))||1},g=!0;function h(t){let o=t[0].intersectionRatio;if(o!==l){if(!g)return i();o?i(!1,o):r=setTimeout(()=>{i(!1,1e-7)},1e3)}1!==o||eN(c,e.getBoundingClientRect())||i(),g=!1}try{o=new IntersectionObserver(h,{...m,root:n.ownerDocument})}catch(e){o=new IntersectionObserver(h,m)}o.observe(e)}(!0),a}(d,r):null,p=-1,m=null;s&&(m=new ResizeObserver(e=>{let[o]=e;o&&o.target===d&&m&&t&&(m.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var e;null==(e=m)||e.observe(t)})),r()}),d&&!c&&m.observe(d),t&&m.observe(t));let g=c?ek(e):null;return c&&function t(){let o=ek(e);g&&!eN(g,o)&&r(),g=o,n=requestAnimationFrame(t)}(),r(),()=>{var e;u.forEach(e=>{a&&e.removeEventListener("scroll",r),i&&e.removeEventListener("resize",r)}),null==f||f(),null==(e=m)||e.disconnect(),m=null,c&&cancelAnimationFrame(n)}})(...e,{animationFrame:"always"===em}),elements:{reference:ev.anchor},middleware:[{name:(q={name:"offset",options:i=r={mainAxis:ea+eA,alignmentAxis:es},async fn(e){var t,r;let{x:o,y:n,placement:a,middlewareData:s}=e,l=await K(e,i);return a===(null==(t=s.offset)?void 0:t.placement)&&null!=(r=s.arrow)&&r.alignmentOffset?{}:{x:o+l.x,y:n+l.y,data:{...l,placement:a}}}}).name,fn:q.fn,options:[r,n]},ec&&{name:(Z={name:"shift",options:h=m={mainAxis:!0,crossAxis:!1,limiter:"partial"===ef?{fn:(void 0===(p=l)&&(p={}),{options:p,fn(e){let{x:t,y:r,placement:o,rects:n,middlewareData:a}=e,{offset:i=0,mainAxis:s=!0,crossAxis:l=!0}=P(p,e),c={x:t,y:r},d=O(o),u=z(d),f=c[u],m=c[d],g=P(i,e),h="number"==typeof g?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(s){let e="y"===u?"height":"width",t=n.reference[u]-n.floating[e]+h.mainAxis,r=n.reference[u]+n.reference[e]-h.mainAxis;f<t?f=t:f>r&&(f=r)}if(l){var b,y;let e="y"===u?"width":"height",t=X.has(L(o)),r=n.reference[d]-n.floating[e]+(t&&(null==(b=a.offset)?void 0:b[d])||0)+(t?0:h.crossAxis),i=n.reference[d]+n.reference[e]+(t?0:(null==(y=a.offset)?void 0:y[d])||0)-(t?h.crossAxis:0);m<r?m=r:m>i&&(m=i)}return{[u]:f,[d]:m}}}).fn,options:[l,u]}:void 0,...e_},async fn(e){let{x:t,y:r,placement:o,platform:n}=e,{mainAxis:a=!0,crossAxis:i=!1,limiter:s={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...l}=P(h,e),c={x:t,y:r},d=await n.detectOverflow(e,l),u=O(L(o)),f=z(u),p=c[f],m=c[u];if(a){let e="y"===f?"top":"left",t="y"===f?"bottom":"right",r=p+d[e],o=p-d[t];p=C(r,E(p,o))}if(i){let e="y"===u?"top":"left",t="y"===u?"bottom":"right",r=m+d[e],o=m-d[t];m=C(r,E(m,o))}let g=s.fn({...e,[f]:p,[u]:m});return{...g,data:{x:g.x-t,y:g.y-r,enabled:{[f]:a,[u]:i}}}}}).name,fn:Z.fn,options:[m,g]},ec&&{name:(J={name:"flip",options:w=b={...e_},async fn(e){var t,r,o,n,a,i,s,l;let c,d,u,{placement:f,middlewareData:p,rects:m,initialPlacement:g,platform:h,elements:b}=e,{mainAxis:y=!0,crossAxis:v=!0,fallbackPlacements:x,fallbackStrategy:k="bestFit",fallbackAxisSideDirection:E="none",flipAlignment:C=!0,...T}=P(w,e);if(null!=(t=p.arrow)&&t.alignmentOffset)return{};let R=L(f),S=O(g),A=L(g)===g,_=await (null==h.isRTL?void 0:h.isRTL(b.floating)),W=x||(A||!C?[H(g)]:(c=H(g),[M(g),c,M(c)])),U="none"!==E;!x&&U&&W.push(...(d=N(g),u=function(e,t,r){switch(e){case"top":case"bottom":if(r)return t?I:D;return t?D:I;case"left":case"right":return t?$:B;default:return[]}}(L(g),"start"===E,_),d&&(u=u.map(e=>e+"-"+d),C&&(u=u.concat(u.map(M)))),u));let F=[g,...W],Y=await h.detectOverflow(e,T),V=[],G=(null==(r=p.flip)?void 0:r.overflows)||[];if(y&&V.push(Y[R]),v){let e,t,r,o,n=(i=f,s=m,void 0===(l=_)&&(l=!1),e=N(i),r=j(t=z(O(i))),o="x"===t?e===(l?"end":"start")?"right":"left":"start"===e?"bottom":"top",s.reference[r]>s.floating[r]&&(o=H(o)),[o,H(o)]);V.push(Y[n[0]],Y[n[1]])}if(G=[...G,{placement:f,overflows:V}],!V.every(e=>e<=0)){let e=((null==(o=p.flip)?void 0:o.index)||0)+1,t=F[e];if(t&&("alignment"!==v||S===O(t)||G.every(e=>O(e.placement)!==S||e.overflows[0]>0)))return{data:{index:e,overflows:G},reset:{placement:t}};let r=null==(n=G.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:n.placement;if(!r)switch(k){case"bestFit":{let e=null==(a=G.filter(e=>{if(U){let t=O(e.placement);return t===S||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:a[0];e&&(r=e);break}case"initialPlacement":r=g}if(f!==r)return{reset:{placement:r}}}return{}}}).name,fn:J.fn,options:[b,v]},{name:(ee={name:"size",options:T=x={...e_,apply:({elements:e,rects:t,availableWidth:r,availableHeight:o})=>{let{width:n,height:a}=t.reference,i=e.floating.style;i.setProperty("--radix-popper-available-width",`${r}px`),i.setProperty("--radix-popper-available-height",`${o}px`),i.setProperty("--radix-popper-anchor-width",`${n}px`),i.setProperty("--radix-popper-anchor-height",`${a}px`)}},async fn(e){var t,r;let o,n,{placement:a,rects:i,platform:s,elements:l}=e,{apply:c=()=>{},...d}=P(T,e),u=await s.detectOverflow(e,d),f=L(a),p=N(a),m="y"===O(a),{width:g,height:h}=i.floating;"top"===f||"bottom"===f?(o=f,n=p===(await (null==s.isRTL?void 0:s.isRTL(l.floating))?"start":"end")?"left":"right"):(n=f,o="end"===p?"top":"bottom");let b=h-u.top-u.bottom,y=g-u.left-u.right,v=E(h-u[o],b),w=E(g-u[n],y),x=!e.middlewareData.shift,k=v,R=w;if(null!=(t=e.middlewareData.shift)&&t.enabled.x&&(R=y),null!=(r=e.middlewareData.shift)&&r.enabled.y&&(k=b),x&&!p){let e=C(u.left,0),t=C(u.right,0),r=C(u.top,0),o=C(u.bottom,0);m?R=g-2*(0!==e||0!==t?e+t:C(u.left,u.right)):k=h-2*(0!==r||0!==o?r+o:C(u.top,u.bottom))}await c({...e,availableWidth:R,availableHeight:k});let S=await s.getDimensions(l.floating);return g!==S.width||h!==S.height?{reset:{rects:!0}}:{}}}).name,fn:ee.fn,options:[x,k]},eC&&{name:(et={name:"arrow",options:_=S={element:eC,padding:el},fn(e){let{element:t,padding:r}="function"==typeof _?_(e):_;return t&&({}).hasOwnProperty.call(t,"current")?null!=t.current?ez({element:t.current,padding:r}).fn(e):{}:t?ez({element:t,padding:r}).fn(e):{}}}).name,fn:et.fn,options:[S,A]},e2({arrowWidth:eS,arrowHeight:eA}),ep&&{name:(er={name:"hide",options:F=W={strategy:"referenceHidden",...e_},async fn(e){let{rects:t,platform:r}=e,{strategy:o="referenceHidden",...n}=P(F,e);switch(o){case"referenceHidden":{let o=V(await r.detectOverflow(e,{...n,elementContext:"reference"}),t.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:G(o)}}}case"escaped":{let o=V(await r.detectOverflow(e,{...n,altBoundary:!0}),t.floating);return{data:{escapedOffsets:o,escaped:G(o)}}}default:return{}}}}).name,fn:er.fn,options:[W,U]}]}),[eq,eZ]=e5(eY),eJ=f(eh);y(()=>{eV&&eJ?.()},[eV,eJ]);let eQ=eG.arrow?.x,e0=eG.arrow?.y,e4=eG.arrow?.centerOffset!==0,[e8,e7]=o.useState();return y(()=>{ew&&e7(window.getComputedStyle(ew).zIndex)},[ew]),(0,c.jsx)("div",{ref:eW.setFloating,"data-radix-popper-content-wrapper":"",style:{...eU,transform:eV?eU.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:e8,"--radix-popper-transform-origin":[eG.transformOrigin?.x,eG.transformOrigin?.y].join(" "),...eG.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,c.jsx)(eK,{scope:eo,placedSide:eq,onArrowChange:eT,arrowX:eQ,arrowY:e0,shouldHideArrow:e4,children:(0,c.jsx)(d.div,{"data-side":eq,"data-align":eZ,...eb,ref:eE,style:{...eb.style,animation:eV?void 0:"none"}})})})});eZ.displayName=eX;var eJ="PopperArrow",eQ={top:"bottom",right:"left",bottom:"top",left:"right"},e0=o.forwardRef(function(e,t){let{__scopePopper:r,...o}=e,n=eq(eJ,r),a=eQ[n.placedSide];return(0,c.jsx)("span",{ref:n.onArrowChange,style:{position:"absolute",left:n.arrowX,top:n.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[n.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[n.placedSide],visibility:n.shouldHideArrow?"hidden":void 0},children:(0,c.jsx)(e$,{...o,ref:t,style:{...o.style,display:"block"}})})});function e1(e){return null!==e}e0.displayName=eJ;var e2=e=>({name:"transformOrigin",options:e,fn(t){let{placement:r,rects:o,middlewareData:n}=t,a=n.arrow?.centerOffset!==0,i=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[l,c]=e5(r),d={start:"0%",center:"50%",end:"100%"}[c],u=(n.arrow?.x??0)+i/2,f=(n.arrow?.y??0)+s/2,p="",m="";return"bottom"===l?(p=a?d:`${u}px`,m=`${-s}px`):"top"===l?(p=a?d:`${u}px`,m=`${o.floating.height+s}px`):"right"===l?(p=`${-s}px`,m=a?d:`${f}px`):"left"===l&&(p=`${o.floating.width+s}px`,m=a?d:`${f}px`),{data:{x:p,y:m}}}});function e5(e){let[t,r="center"]=e.split("-");return[t,r]}e.s(["Anchor",()=>eG,"Arrow",()=>e0,"Content",()=>eZ,"Root",()=>eY,"createPopperScope",()=>eW],70253);var e4=o.forwardRef((e,t)=>{let{container:r,...n}=e,[a,i]=o.useState(!1);y(()=>i(!0),[]);let l=r||a&&globalThis?.document?.body;return l?s.default.createPortal((0,c.jsx)(d.div,{...n,ref:t}),l):null});e4.displayName="Portal",e.s(["Portal",()=>e4],1404);var e8=e=>{var t;let r,n,{present:i,children:s}=e,l=function(e){var t,r;let[n,a]=o.useState(),i=o.useRef(null),s=o.useRef(e),l=o.useRef("none"),[c,d]=(t=e?"mounted":"unmounted",r={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},o.useReducer((e,t)=>r[e][t]??e,t));return o.useEffect(()=>{let e=e7(i.current);l.current="mounted"===c?e:"none"},[c]),y(()=>{let t=i.current,r=s.current;if(r!==e){let o=l.current,n=e7(t);e?d("MOUNT"):"none"===n||t?.display==="none"?d("UNMOUNT"):r&&o!==n?d("ANIMATION_OUT"):d("UNMOUNT"),s.current=e}},[e,d]),y(()=>{if(n){let e,t=n.ownerDocument.defaultView??window,r=r=>{let o=e7(i.current).includes(CSS.escape(r.animationName));if(r.target===n&&o&&(d("ANIMATION_END"),!s.current)){let r=n.style.animationFillMode;n.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===n.style.animationFillMode&&(n.style.animationFillMode=r)})}},o=e=>{e.target===n&&(l.current=e7(i.current))};return n.addEventListener("animationstart",o),n.addEventListener("animationcancel",r),n.addEventListener("animationend",r),()=>{t.clearTimeout(e),n.removeEventListener("animationstart",o),n.removeEventListener("animationcancel",r),n.removeEventListener("animationend",r)}}d("ANIMATION_END")},[n,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:o.useCallback(e=>{i.current=e?getComputedStyle(e):null,a(e)},[])}}(i),c="function"==typeof s?s({present:l.isPresent}):o.Children.only(s),d=(0,a.useComposedRefs)(l.ref,(t=c,(n=(r=Object.getOwnPropertyDescriptor(t.props,"ref")?.get)&&"isReactWarning"in r&&r.isReactWarning)?t.ref:(n=(r=Object.getOwnPropertyDescriptor(t,"ref")?.get)&&"isReactWarning"in r&&r.isReactWarning)?t.props.ref:t.props.ref||t.ref));return"function"==typeof s||l.isPresent?o.cloneElement(c,{ref:d}):null};function e7(e){return e?.animationName||"none"}e8.displayName="Presence",e.s(["Presence",()=>e8],69060),o[" useEffectEvent ".trim().toString()],o[" useInsertionEffect ".trim().toString()];var e3=o[" useInsertionEffect ".trim().toString()]||y;function e9({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[a,i,s]=function({defaultProp:e,onChange:t}){let[r,n]=o.useState(e),a=o.useRef(r),i=o.useRef(t);return e3(()=>{i.current=t},[t]),o.useEffect(()=>{a.current!==r&&(i.current?.(r),a.current=r)},[r,a]),[r,n,i]}({defaultProp:t,onChange:r}),l=void 0!==e,c=l?e:a;{let t=o.useRef(void 0!==e);o.useEffect(()=>{let e=t.current;if(e!==l){let t=l?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=l},[l,n])}return[c,o.useCallback(t=>{if(l){let r="function"==typeof t?t(e):t;r!==e&&s.current?.(r)}else i(t)},[l,e,i,s])]}Symbol("RADIX:SYNC_STATE"),e.s(["useControllableState",()=>e9],38185);var e6=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),te=o.forwardRef((e,t)=>(0,c.jsx)(d.span,{...e,ref:t,style:{...e6,...e.style}}));te.displayName="VisuallyHidden",e.s(["Root",()=>te,"VISUALLY_HIDDEN_STYLES",()=>e6],36765);var[tt,tr]=(0,i.createContextScope)("Tooltip",[eW]),to=eW(),tn="TooltipProvider",ta="tooltip.open",[ti,ts]=tt(tn),tl=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:n=300,disableHoverableContent:a=!1,children:i}=e,s=o.useRef(!0),l=o.useRef(!1),d=o.useRef(0);return o.useEffect(()=>{let e=d.current;return()=>window.clearTimeout(e)},[]),(0,c.jsx)(ti,{scope:t,isOpenDelayedRef:s,delayDuration:r,onOpen:o.useCallback(()=>{window.clearTimeout(d.current),s.current=!1},[]),onClose:o.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>s.current=!0,n)},[n]),isPointerInTransitRef:l,onPointerInTransitChange:o.useCallback(e=>{l.current=e},[]),disableHoverableContent:a,children:i})};tl.displayName=tn;var tc="Tooltip",[td,tu]=tt(tc),tf=e=>{let{__scopeTooltip:t,children:r,open:n,defaultOpen:a,onOpenChange:i,disableHoverableContent:s,delayDuration:l}=e,d=ts(tc,e.__scopeTooltip),u=to(t),[f,p]=o.useState(null),m=x(),g=o.useRef(0),h=s??d.disableHoverableContent,b=l??d.delayDuration,y=o.useRef(!1),[v,w]=e9({prop:n,defaultProp:a??!1,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(ta))):d.onClose(),i?.(e)},caller:tc}),k=o.useMemo(()=>v?y.current?"delayed-open":"instant-open":"closed",[v]),E=o.useCallback(()=>{window.clearTimeout(g.current),g.current=0,y.current=!1,w(!0)},[w]),C=o.useCallback(()=>{window.clearTimeout(g.current),g.current=0,w(!1)},[w]),T=o.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>{y.current=!0,w(!0),g.current=0},b)},[b,w]);return o.useEffect(()=>()=>{g.current&&(window.clearTimeout(g.current),g.current=0)},[]),(0,c.jsx)(eY,{...u,children:(0,c.jsx)(td,{scope:t,contentId:m,open:v,stateAttribute:k,trigger:f,onTriggerChange:p,onTriggerEnter:o.useCallback(()=>{d.isOpenDelayedRef.current?T():E()},[d.isOpenDelayedRef,T,E]),onTriggerLeave:o.useCallback(()=>{h?C():(window.clearTimeout(g.current),g.current=0)},[C,h]),onOpen:E,onClose:C,disableHoverableContent:h,children:r})})};tf.displayName=tc;var tp="TooltipTrigger",tm=o.forwardRef((e,t)=>{let{__scopeTooltip:r,...i}=e,s=tu(tp,r),l=ts(tp,r),u=to(r),f=o.useRef(null),p=(0,a.useComposedRefs)(t,f,s.onTriggerChange),m=o.useRef(!1),g=o.useRef(!1),h=o.useCallback(()=>m.current=!1,[]);return o.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),(0,c.jsx)(eG,{asChild:!0,...u,children:(0,c.jsx)(d.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...i,ref:p,onPointerMove:(0,n.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(g.current||l.isPointerInTransitRef.current||(s.onTriggerEnter(),g.current=!0))}),onPointerLeave:(0,n.composeEventHandlers)(e.onPointerLeave,()=>{s.onTriggerLeave(),g.current=!1}),onPointerDown:(0,n.composeEventHandlers)(e.onPointerDown,()=>{s.open&&s.onClose(),m.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>{m.current||s.onOpen()}),onBlur:(0,n.composeEventHandlers)(e.onBlur,s.onClose),onClick:(0,n.composeEventHandlers)(e.onClick,s.onClose)})})});tm.displayName=tp;var tg="TooltipPortal",[th,tb]=tt(tg,{forceMount:void 0}),ty=e=>{let{__scopeTooltip:t,forceMount:r,children:o,container:n}=e,a=tu(tg,t);return(0,c.jsx)(th,{scope:t,forceMount:r,children:(0,c.jsx)(e8,{present:r||a.open,children:(0,c.jsx)(e4,{asChild:!0,container:n,children:o})})})};ty.displayName=tg;var tv="TooltipContent",tw=o.forwardRef((e,t)=>{let r=tb(tv,e.__scopeTooltip),{forceMount:o=r.forceMount,side:n="top",...a}=e,i=tu(tv,e.__scopeTooltip);return(0,c.jsx)(e8,{present:o||i.open,children:i.disableHoverableContent?(0,c.jsx)(tT,{side:n,...a,ref:t}):(0,c.jsx)(tx,{side:n,...a,ref:t})})}),tx=o.forwardRef((e,t)=>{let r=tu(tv,e.__scopeTooltip),n=ts(tv,e.__scopeTooltip),i=o.useRef(null),s=(0,a.useComposedRefs)(t,i),[l,d]=o.useState(null),{trigger:u,onClose:f}=r,p=i.current,{onPointerInTransitChange:m}=n,g=o.useCallback(()=>{d(null),m(!1)},[m]),h=o.useCallback((e,t)=>{let r,o=e.currentTarget,n={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),n=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(r,o,n,a)){case a:return"left";case n:return"right";case r:return"top";case o:return"bottom";default:throw Error("unreachable")}}(n,o.getBoundingClientRect());d(((r=[...function(e,t,r=5){let o=[];switch(t){case"top":o.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":o.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":o.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":o.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return o}(n,a),...function(e){let{top:t,right:r,bottom:o,left:n}=e;return[{x:n,y:t},{x:r,y:t},{x:r,y:o},{x:n,y:o}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let o=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(o.y-r.y)>=(e.y-r.y)*(o.x-r.x))t.pop();else break}t.push(o)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let o=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(o.y-t.y)>=(e.y-t.y)*(o.x-t.x))r.pop();else break}r.push(o)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),m(!0)},[m]);return o.useEffect(()=>()=>g(),[g]),o.useEffect(()=>{if(u&&p){let e=e=>h(e,p),t=e=>h(e,u);return u.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{u.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[u,p,h,g]),o.useEffect(()=>{if(l){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},o=u?.contains(t)||p?.contains(t),n=!function(e,t){let{x:r,y:o}=e,n=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let i=t[e],s=t[a],l=i.x,c=i.y,d=s.x,u=s.y;c>o!=u>o&&r<(d-l)*(o-c)/(u-c)+l&&(n=!n)}return n}(r,l);o?g():n&&(g(),f())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[u,p,l,f,g]),(0,c.jsx)(tT,{...e,ref:s})}),[tk,tE]=tt(tc,{isInside:!1}),tC=(0,l.createSlottable)("TooltipContent"),tT=o.forwardRef((e,t)=>{let{__scopeTooltip:r,children:n,"aria-label":a,onEscapeKeyDown:i,onPointerDownOutside:s,...l}=e,d=tu(tv,r),u=to(r),{onClose:f}=d;return o.useEffect(()=>(document.addEventListener(ta,f),()=>document.removeEventListener(ta,f)),[f]),o.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;t?.contains(d.trigger)&&f()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,f]),(0,c.jsx)(g,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,c.jsxs)(eZ,{"data-state":d.stateAttribute,...u,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,c.jsx)(tC,{children:n}),(0,c.jsx)(tk,{scope:r,isInside:!0,children:(0,c.jsx)(te,{id:d.contentId,role:"tooltip",children:a||n})})]})})});tw.displayName=tv;var tR="TooltipArrow",tS=o.forwardRef((e,t)=>{let{__scopeTooltip:r,...o}=e,n=to(r);return tE(tR,r).isInside?null:(0,c.jsx)(e0,{...n,...o,ref:t})});tS.displayName=tR,e.s(["Arrow",()=>tS,"Content",()=>tw,"Portal",()=>ty,"Provider",()=>tl,"Root",()=>tf,"Tooltip",()=>tf,"TooltipArrow",()=>tS,"TooltipContent",()=>tw,"TooltipPortal",()=>ty,"TooltipProvider",()=>tl,"TooltipTrigger",()=>tm,"Trigger",()=>tm,"createTooltipScope",()=>tr],62480);var tA=e.i(62480);e.s(["Tooltip",0,tA],9770)},7284,e=>{"use strict";function t(){for(var e,t,r=0,o="",n=arguments.length;r<n;r++)(e=arguments[r])&&(t=function e(t){var r,o,n="";if("string"==typeof t||"number"==typeof t)n+=t;else if("object"==typeof t)if(Array.isArray(t)){var a=t.length;for(r=0;r<a;r++)t[r]&&(o=e(t[r]))&&(n&&(n+=" "),n+=o)}else for(o in t)t[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=t);return o}e.s(["clsx",()=>t])},75157,e=>{"use strict";var t=e.i(7284);let r=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),o=[],n=(e,t,r)=>{if(0==e.length-t)return r.classGroupId;let o=e[t],a=r.nextPart.get(o);if(a){let r=n(e,t+1,a);if(r)return r}let i=r.validators;if(null===i)return;let s=0===t?e.join("-"):e.slice(t).join("-"),l=i.length;for(let e=0;e<l;e++){let t=i[e];if(t.validator(s))return t.classGroupId}},a=(e,t)=>{let o=r();for(let r in e)i(e[r],o,r,t);return o},i=(e,t,r,o)=>{let n=e.length;for(let a=0;a<n;a++)s(e[a],t,r,o)},s=(e,t,r,o)=>{"string"==typeof e?l(e,t,r):"function"==typeof e?c(e,t,r,o):d(e,t,r,o)},l=(e,t,r)=>{(""===e?t:u(t,e)).classGroupId=r},c=(e,t,r,o)=>{f(e)?i(e(o),t,r,o):(null===t.validators&&(t.validators=[]),t.validators.push({classGroupId:r,validator:e}))},d=(e,t,r,o)=>{let n=Object.entries(e),a=n.length;for(let e=0;e<a;e++){let[a,s]=n[e];i(s,u(t,a),r,o)}},u=(e,t)=>{let o=e,n=t.split("-"),a=n.length;for(let e=0;e<a;e++){let t=n[e],a=o.nextPart.get(t);a||(a=r(),o.nextPart.set(t,a)),o=a}return o},f=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,p=[],m=(e,t,r,o,n)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:o,isExternal:n}),g=/\s+/,h=e=>{let t;if("string"==typeof e)return e;let r="";for(let o=0;o<e.length;o++)e[o]&&(t=h(e[o]))&&(r&&(r+=" "),r+=t);return r},b=[],y=e=>{let t=t=>t[e]||b;return t.isThemeGetter=!0,t},v=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,w=/^\((?:(\w[\w-]*):)?(.+)\)$/i,x=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,k=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,E=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,C=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,T=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,R=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,S=e=>x.test(e),A=e=>!!e&&!Number.isNaN(Number(e)),P=e=>!!e&&Number.isInteger(Number(e)),L=e=>e.endsWith("%")&&A(e.slice(0,-1)),N=e=>k.test(e),z=()=>!0,j=e=>E.test(e)&&!C.test(e),O=()=>!1,M=e=>T.test(e),D=e=>R.test(e),I=e=>!B(e)&&!G(e),$=e=>et(e,ea,O),B=e=>v.test(e),H=e=>et(e,ei,j),_=e=>et(e,es,A),W=e=>et(e,ec,z),U=e=>et(e,el,O),F=e=>et(e,eo,O),Y=e=>et(e,en,D),V=e=>et(e,ed,M),G=e=>w.test(e),X=e=>er(e,ei),K=e=>er(e,el),q=e=>er(e,eo),Z=e=>er(e,ea),J=e=>er(e,en),Q=e=>er(e,ed,!0),ee=e=>er(e,ec,!0),et=(e,t,r)=>{let o=v.exec(e);return!!o&&(o[1]?t(o[1]):r(o[2]))},er=(e,t,r=!1)=>{let o=w.exec(e);return!!o&&(o[1]?t(o[1]):r)},eo=e=>"position"===e||"percentage"===e,en=e=>"image"===e||"url"===e,ea=e=>"length"===e||"size"===e||"bg-size"===e,ei=e=>"length"===e,es=e=>"number"===e,el=e=>"family-name"===e,ec=e=>"number"===e||"weight"===e,ed=e=>"shadow"===e,eu=((e,...t)=>{let r,i,s,l,c=e=>{let t=i(e);if(t)return t;let o=((e,t)=>{let{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:n,sortModifiers:a}=t,i=[],s=e.trim().split(g),l="";for(let e=s.length-1;e>=0;e-=1){let t=s[e],{isExternal:c,modifiers:d,hasImportantModifier:u,baseClassName:f,maybePostfixModifierPosition:p}=r(t);if(c){l=t+(l.length>0?" "+l:l);continue}let m=!!p,g=o(m?f.substring(0,p):f);if(!g){if(!m||!(g=o(f))){l=t+(l.length>0?" "+l:l);continue}m=!1}let h=0===d.length?"":1===d.length?d[0]:a(d).join(":"),b=u?h+"!":h,y=b+g;if(i.indexOf(y)>-1)continue;i.push(y);let v=n(g,m);for(let e=0;e<v.length;++e){let t=v[e];i.push(b+t)}l=t+(l.length>0?" "+l:l)}return l})(e,r);return s(e,o),o};return l=d=>{var u;let f;return i=(r={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=Object.create(null),o=Object.create(null),n=(n,a)=>{r[n]=a,++t>e&&(t=0,o=r,r=Object.create(null))};return{get(e){let t=r[e];return void 0!==t?t:void 0!==(t=o[e])?(n(e,t),t):void 0},set(e,t){e in r?r[e]=t:n(e,t)}}})((u=t.reduce((e,t)=>t(e),e())).cacheSize),parseClassName:(e=>{let{prefix:t,experimentalParseClassName:r}=e,o=e=>{let t,r=[],o=0,n=0,a=0,i=e.length;for(let s=0;s<i;s++){let i=e[s];if(0===o&&0===n){if(":"===i){r.push(e.slice(a,s)),a=s+1;continue}if("/"===i){t=s;continue}}"["===i?o++:"]"===i?o--:"("===i?n++:")"===i&&n--}let s=0===r.length?e:e.slice(a),l=s,c=!1;return s.endsWith("!")?(l=s.slice(0,-1),c=!0):s.startsWith("!")&&(l=s.slice(1),c=!0),m(r,c,l,t&&t>a?t-a:void 0)};if(t){let e=t+":",r=o;o=t=>t.startsWith(e)?r(t.slice(e.length)):m(p,!1,t,void 0,!0)}if(r){let e=o;o=t=>r({className:t,parseClassName:e})}return o})(u),sortModifiers:(f=new Map,u.orderSensitiveModifiers.forEach((e,t)=>{f.set(e,1e6+t)}),e=>{let t=[],r=[];for(let o=0;o<e.length;o++){let n=e[o],a="["===n[0],i=f.has(n);a||i?(r.length>0&&(r.sort(),t.push(...r),r=[]),t.push(n)):r.push(n)}return r.length>0&&(r.sort(),t.push(...r)),t}),...(e=>{let t=(e=>{let{theme:t,classGroups:r}=e;return a(r,t)})(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var r;let t,o,n;return -1===(r=e).slice(1,-1).indexOf(":")?void 0:(o=(t=r.slice(1,-1)).indexOf(":"),(n=t.slice(0,o))?"arbitrary.."+n:void 0)}let o=e.split("-"),a=+(""===o[0]&&o.length>1);return n(o,a,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=i[e],n=r[e];if(t){if(n){let e=Array(n.length+t.length);for(let t=0;t<n.length;t++)e[t]=n[t];for(let r=0;r<t.length;r++)e[n.length+r]=t[r];return e}return t}return n||o}return r[e]||o}}})(u)}).cache.get,s=r.cache.set,l=c,c(d)},(...e)=>l(((...e)=>{let t,r,o=0,n="";for(;o<e.length;)(t=e[o++])&&(r=h(t))&&(n&&(n+=" "),n+=r);return n})(...e))})(()=>{let e=y("color"),t=y("font"),r=y("text"),o=y("font-weight"),n=y("tracking"),a=y("leading"),i=y("breakpoint"),s=y("container"),l=y("spacing"),c=y("radius"),d=y("shadow"),u=y("inset-shadow"),f=y("text-shadow"),p=y("drop-shadow"),m=y("blur"),g=y("perspective"),h=y("aspect"),b=y("ease"),v=y("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...x(),G,B],E=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],T=()=>[G,B,l],R=()=>[S,"full","auto",...T()],j=()=>[P,"none","subgrid",G,B],O=()=>["auto",{span:["full",P,G,B]},P,G,B],M=()=>[P,"auto",G,B],D=()=>["auto","min","max","fr",G,B],et=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],er=()=>["start","end","center","stretch","center-safe","end-safe"],eo=()=>["auto",...T()],en=()=>[S,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...T()],ea=()=>[S,"screen","full","dvw","lvw","svw","min","max","fit",...T()],ei=()=>[S,"screen","full","lh","dvh","lvh","svh","min","max","fit",...T()],es=()=>[e,G,B],el=()=>[...x(),q,F,{position:[G,B]}],ec=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ed=()=>["auto","cover","contain",Z,$,{size:[G,B]}],eu=()=>[L,X,H],ef=()=>["","none","full",c,G,B],ep=()=>["",A,X,H],em=()=>["solid","dashed","dotted","double"],eg=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eh=()=>[A,L,q,F],eb=()=>["","none",m,G,B],ey=()=>["none",A,G,B],ev=()=>["none",A,G,B],ew=()=>[A,G,B],ex=()=>[S,"full",...T()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[N],breakpoint:[N],color:[z],container:[N],"drop-shadow":[N],ease:["in","out","in-out"],font:[I],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[N],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[N],shadow:[N],spacing:["px",A],text:[N],"text-shadow":[N],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",S,B,G,h]}],container:["container"],columns:[{columns:[A,B,G,s]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:k()}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:R()}],"inset-x":[{"inset-x":R()}],"inset-y":[{"inset-y":R()}],start:[{"inset-s":R(),start:R()}],end:[{"inset-e":R(),end:R()}],"inset-bs":[{"inset-bs":R()}],"inset-be":[{"inset-be":R()}],top:[{top:R()}],right:[{right:R()}],bottom:[{bottom:R()}],left:[{left:R()}],visibility:["visible","invisible","collapse"],z:[{z:[P,"auto",G,B]}],basis:[{basis:[S,"full","auto",s,...T()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[A,S,"auto","initial","none",B]}],grow:[{grow:["",A,G,B]}],shrink:[{shrink:["",A,G,B]}],order:[{order:[P,"first","last","none",G,B]}],"grid-cols":[{"grid-cols":j()}],"col-start-end":[{col:O()}],"col-start":[{"col-start":M()}],"col-end":[{"col-end":M()}],"grid-rows":[{"grid-rows":j()}],"row-start-end":[{row:O()}],"row-start":[{"row-start":M()}],"row-end":[{"row-end":M()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:T()}],"gap-x":[{"gap-x":T()}],"gap-y":[{"gap-y":T()}],"justify-content":[{justify:[...et(),"normal"]}],"justify-items":[{"justify-items":[...er(),"normal"]}],"justify-self":[{"justify-self":["auto",...er()]}],"align-content":[{content:["normal",...et()]}],"align-items":[{items:[...er(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...er(),{baseline:["","last"]}]}],"place-content":[{"place-content":et()}],"place-items":[{"place-items":[...er(),"baseline"]}],"place-self":[{"place-self":["auto",...er()]}],p:[{p:T()}],px:[{px:T()}],py:[{py:T()}],ps:[{ps:T()}],pe:[{pe:T()}],pbs:[{pbs:T()}],pbe:[{pbe:T()}],pt:[{pt:T()}],pr:[{pr:T()}],pb:[{pb:T()}],pl:[{pl:T()}],m:[{m:eo()}],mx:[{mx:eo()}],my:[{my:eo()}],ms:[{ms:eo()}],me:[{me:eo()}],mbs:[{mbs:eo()}],mbe:[{mbe:eo()}],mt:[{mt:eo()}],mr:[{mr:eo()}],mb:[{mb:eo()}],ml:[{ml:eo()}],"space-x":[{"space-x":T()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":T()}],"space-y-reverse":["space-y-reverse"],size:[{size:en()}],"inline-size":[{inline:["auto",...ea()]}],"min-inline-size":[{"min-inline":["auto",...ea()]}],"max-inline-size":[{"max-inline":["none",...ea()]}],"block-size":[{block:["auto",...ei()]}],"min-block-size":[{"min-block":["auto",...ei()]}],"max-block-size":[{"max-block":["none",...ei()]}],w:[{w:[s,"screen",...en()]}],"min-w":[{"min-w":[s,"screen","none",...en()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[i]},...en()]}],h:[{h:["screen","lh",...en()]}],"min-h":[{"min-h":["screen","lh","none",...en()]}],"max-h":[{"max-h":["screen","lh",...en()]}],"font-size":[{text:["base",r,X,H]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,ee,W]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",L,B]}],"font-family":[{font:[K,U,t]}],"font-features":[{"font-features":[B]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,G,B]}],"line-clamp":[{"line-clamp":[A,"none",G,_]}],leading:[{leading:[a,...T()]}],"list-image":[{"list-image":["none",G,B]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",G,B]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:es()}],"text-color":[{text:es()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...em(),"wavy"]}],"text-decoration-thickness":[{decoration:[A,"from-font","auto",G,H]}],"text-decoration-color":[{decoration:es()}],"underline-offset":[{"underline-offset":[A,"auto",G,B]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:T()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",G,B]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",G,B]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:el()}],"bg-repeat":[{bg:ec()}],"bg-size":[{bg:ed()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},P,G,B],radial:["",G,B],conic:[P,G,B]},J,Y]}],"bg-color":[{bg:es()}],"gradient-from-pos":[{from:eu()}],"gradient-via-pos":[{via:eu()}],"gradient-to-pos":[{to:eu()}],"gradient-from":[{from:es()}],"gradient-via":[{via:es()}],"gradient-to":[{to:es()}],rounded:[{rounded:ef()}],"rounded-s":[{"rounded-s":ef()}],"rounded-e":[{"rounded-e":ef()}],"rounded-t":[{"rounded-t":ef()}],"rounded-r":[{"rounded-r":ef()}],"rounded-b":[{"rounded-b":ef()}],"rounded-l":[{"rounded-l":ef()}],"rounded-ss":[{"rounded-ss":ef()}],"rounded-se":[{"rounded-se":ef()}],"rounded-ee":[{"rounded-ee":ef()}],"rounded-es":[{"rounded-es":ef()}],"rounded-tl":[{"rounded-tl":ef()}],"rounded-tr":[{"rounded-tr":ef()}],"rounded-br":[{"rounded-br":ef()}],"rounded-bl":[{"rounded-bl":ef()}],"border-w":[{border:ep()}],"border-w-x":[{"border-x":ep()}],"border-w-y":[{"border-y":ep()}],"border-w-s":[{"border-s":ep()}],"border-w-e":[{"border-e":ep()}],"border-w-bs":[{"border-bs":ep()}],"border-w-be":[{"border-be":ep()}],"border-w-t":[{"border-t":ep()}],"border-w-r":[{"border-r":ep()}],"border-w-b":[{"border-b":ep()}],"border-w-l":[{"border-l":ep()}],"divide-x":[{"divide-x":ep()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ep()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...em(),"hidden","none"]}],"divide-style":[{divide:[...em(),"hidden","none"]}],"border-color":[{border:es()}],"border-color-x":[{"border-x":es()}],"border-color-y":[{"border-y":es()}],"border-color-s":[{"border-s":es()}],"border-color-e":[{"border-e":es()}],"border-color-bs":[{"border-bs":es()}],"border-color-be":[{"border-be":es()}],"border-color-t":[{"border-t":es()}],"border-color-r":[{"border-r":es()}],"border-color-b":[{"border-b":es()}],"border-color-l":[{"border-l":es()}],"divide-color":[{divide:es()}],"outline-style":[{outline:[...em(),"none","hidden"]}],"outline-offset":[{"outline-offset":[A,G,B]}],"outline-w":[{outline:["",A,X,H]}],"outline-color":[{outline:es()}],shadow:[{shadow:["","none",d,Q,V]}],"shadow-color":[{shadow:es()}],"inset-shadow":[{"inset-shadow":["none",u,Q,V]}],"inset-shadow-color":[{"inset-shadow":es()}],"ring-w":[{ring:ep()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:es()}],"ring-offset-w":[{"ring-offset":[A,H]}],"ring-offset-color":[{"ring-offset":es()}],"inset-ring-w":[{"inset-ring":ep()}],"inset-ring-color":[{"inset-ring":es()}],"text-shadow":[{"text-shadow":["none",f,Q,V]}],"text-shadow-color":[{"text-shadow":es()}],opacity:[{opacity:[A,G,B]}],"mix-blend":[{"mix-blend":[...eg(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":eg()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[A]}],"mask-image-linear-from-pos":[{"mask-linear-from":eh()}],"mask-image-linear-to-pos":[{"mask-linear-to":eh()}],"mask-image-linear-from-color":[{"mask-linear-from":es()}],"mask-image-linear-to-color":[{"mask-linear-to":es()}],"mask-image-t-from-pos":[{"mask-t-from":eh()}],"mask-image-t-to-pos":[{"mask-t-to":eh()}],"mask-image-t-from-color":[{"mask-t-from":es()}],"mask-image-t-to-color":[{"mask-t-to":es()}],"mask-image-r-from-pos":[{"mask-r-from":eh()}],"mask-image-r-to-pos":[{"mask-r-to":eh()}],"mask-image-r-from-color":[{"mask-r-from":es()}],"mask-image-r-to-color":[{"mask-r-to":es()}],"mask-image-b-from-pos":[{"mask-b-from":eh()}],"mask-image-b-to-pos":[{"mask-b-to":eh()}],"mask-image-b-from-color":[{"mask-b-from":es()}],"mask-image-b-to-color":[{"mask-b-to":es()}],"mask-image-l-from-pos":[{"mask-l-from":eh()}],"mask-image-l-to-pos":[{"mask-l-to":eh()}],"mask-image-l-from-color":[{"mask-l-from":es()}],"mask-image-l-to-color":[{"mask-l-to":es()}],"mask-image-x-from-pos":[{"mask-x-from":eh()}],"mask-image-x-to-pos":[{"mask-x-to":eh()}],"mask-image-x-from-color":[{"mask-x-from":es()}],"mask-image-x-to-color":[{"mask-x-to":es()}],"mask-image-y-from-pos":[{"mask-y-from":eh()}],"mask-image-y-to-pos":[{"mask-y-to":eh()}],"mask-image-y-from-color":[{"mask-y-from":es()}],"mask-image-y-to-color":[{"mask-y-to":es()}],"mask-image-radial":[{"mask-radial":[G,B]}],"mask-image-radial-from-pos":[{"mask-radial-from":eh()}],"mask-image-radial-to-pos":[{"mask-radial-to":eh()}],"mask-image-radial-from-color":[{"mask-radial-from":es()}],"mask-image-radial-to-color":[{"mask-radial-to":es()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[A]}],"mask-image-conic-from-pos":[{"mask-conic-from":eh()}],"mask-image-conic-to-pos":[{"mask-conic-to":eh()}],"mask-image-conic-from-color":[{"mask-conic-from":es()}],"mask-image-conic-to-color":[{"mask-conic-to":es()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:el()}],"mask-repeat":[{mask:ec()}],"mask-size":[{mask:ed()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",G,B]}],filter:[{filter:["","none",G,B]}],blur:[{blur:eb()}],brightness:[{brightness:[A,G,B]}],contrast:[{contrast:[A,G,B]}],"drop-shadow":[{"drop-shadow":["","none",p,Q,V]}],"drop-shadow-color":[{"drop-shadow":es()}],grayscale:[{grayscale:["",A,G,B]}],"hue-rotate":[{"hue-rotate":[A,G,B]}],invert:[{invert:["",A,G,B]}],saturate:[{saturate:[A,G,B]}],sepia:[{sepia:["",A,G,B]}],"backdrop-filter":[{"backdrop-filter":["","none",G,B]}],"backdrop-blur":[{"backdrop-blur":eb()}],"backdrop-brightness":[{"backdrop-brightness":[A,G,B]}],"backdrop-contrast":[{"backdrop-contrast":[A,G,B]}],"backdrop-grayscale":[{"backdrop-grayscale":["",A,G,B]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[A,G,B]}],"backdrop-invert":[{"backdrop-invert":["",A,G,B]}],"backdrop-opacity":[{"backdrop-opacity":[A,G,B]}],"backdrop-saturate":[{"backdrop-saturate":[A,G,B]}],"backdrop-sepia":[{"backdrop-sepia":["",A,G,B]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":T()}],"border-spacing-x":[{"border-spacing-x":T()}],"border-spacing-y":[{"border-spacing-y":T()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",G,B]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[A,"initial",G,B]}],ease:[{ease:["linear","initial",b,G,B]}],delay:[{delay:[A,G,B]}],animate:[{animate:["none",v,G,B]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,G,B]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:ey()}],"rotate-x":[{"rotate-x":ey()}],"rotate-y":[{"rotate-y":ey()}],"rotate-z":[{"rotate-z":ey()}],scale:[{scale:ev()}],"scale-x":[{"scale-x":ev()}],"scale-y":[{"scale-y":ev()}],"scale-z":[{"scale-z":ev()}],"scale-3d":["scale-3d"],skew:[{skew:ew()}],"skew-x":[{"skew-x":ew()}],"skew-y":[{"skew-y":ew()}],transform:[{transform:[G,B,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ex()}],"translate-x":[{"translate-x":ex()}],"translate-y":[{"translate-y":ex()}],"translate-z":[{"translate-z":ex()}],"translate-none":["translate-none"],accent:[{accent:es()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:es()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",G,B]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":T()}],"scroll-mx":[{"scroll-mx":T()}],"scroll-my":[{"scroll-my":T()}],"scroll-ms":[{"scroll-ms":T()}],"scroll-me":[{"scroll-me":T()}],"scroll-mbs":[{"scroll-mbs":T()}],"scroll-mbe":[{"scroll-mbe":T()}],"scroll-mt":[{"scroll-mt":T()}],"scroll-mr":[{"scroll-mr":T()}],"scroll-mb":[{"scroll-mb":T()}],"scroll-ml":[{"scroll-ml":T()}],"scroll-p":[{"scroll-p":T()}],"scroll-px":[{"scroll-px":T()}],"scroll-py":[{"scroll-py":T()}],"scroll-ps":[{"scroll-ps":T()}],"scroll-pe":[{"scroll-pe":T()}],"scroll-pbs":[{"scroll-pbs":T()}],"scroll-pbe":[{"scroll-pbe":T()}],"scroll-pt":[{"scroll-pt":T()}],"scroll-pr":[{"scroll-pr":T()}],"scroll-pb":[{"scroll-pb":T()}],"scroll-pl":[{"scroll-pl":T()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",G,B]}],fill:[{fill:["none",...es()]}],"stroke-w":[{stroke:[A,X,H,_]}],stroke:[{stroke:["none",...es()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function ef(...e){return eu((0,t.clsx)(e))}e.s(["cn",()=>ef],75157)},46798,e=>{"use strict";var t=e.i(98134),r=e.i(9770),o=e.i(75157);function n({delayDuration:e=0,...o}){return(0,t.jsx)(r.Tooltip.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...o})}function a({...e}){return(0,t.jsx)(r.Tooltip.Root,{"data-slot":"tooltip",...e})}function i({...e}){return(0,t.jsx)(r.Tooltip.Trigger,{"data-slot":"tooltip-trigger",...e})}function s({className:e,sideOffset:n=0,children:a,...i}){return(0,t.jsx)(r.Tooltip.Portal,{children:(0,t.jsxs)(r.Tooltip.Content,{"data-slot":"tooltip-content",sideOffset:n,className:(0,o.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...i,children:[a,(0,t.jsx)(r.Tooltip.Arrow,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}e.s(["Tooltip",()=>a,"TooltipContent",()=>s,"TooltipProvider",()=>n,"TooltipTrigger",()=>i])},44674,6901,e=>{"use strict";e.i(82637);var t=e.i(98134),r=e.i(75201);let o=["zh-Hant","en"],n="zh-Hant",a="visionA.locale";function i(e){return"string"==typeof e&&o.includes(e)}e.s(["DEFAULT_LOCALE",0,n,"LOCALE_STORAGE_KEY",0,a,"SUPPORTED_LOCALES",0,o,"isLocale",()=>i],6901);let s={"zh-Hant":{"app.title":"visionA Agent","app.tagline":"將你的 Kneron 裝置連上 visionA 雲端","common.loading":"載入中…","common.error":"發生錯誤","common.cancel":"取消","common.confirm":"確認","common.save":"儲存","common.close":"關閉","common.retry":"重試","nav.status":"狀態","nav.pair":"配對","nav.settings":"設定","connection.online":"已連線","connection.offline":"離線","connection.reconnecting":"重新連線中","connection.notPaired":"尚未配對","connection.error":"連線錯誤","header.toggleTheme":"切換主題","header.toggleLocale":"切換語言","status.hero.online":"已連線","status.hero.offline":"離線","status.hero.reconnecting":"重新連線中…","status.hero.notPaired":"尚未配對","status.hero.error":"連線錯誤","status.hero.attemptNo":"第 {n}/5 次嘗試","status.info.account":"帳號","status.info.relayUrl":"Relay","status.info.connectedAt":"連線開始","status.info.sessionToken":"Session","status.info.sessionToken.aria":"Session token,結尾為 {last4}","status.action.disconnect":"斷開連線","status.action.reconnect":"重新連線","status.action.goPair":"前往配對","status.action.retry":"重試","status.action.repair":"重新配對","status.confirm.disconnect.title":"確定要斷開連線嗎?","status.confirm.disconnect.description":"斷開後遠端將無法使用此裝置。Session Token 不會被撤銷,下次可直接重連。","status.log.title":"最近連線紀錄","status.log.empty":"尚無連線紀錄","status.empty.title":"尚未配對裝置","status.empty.description":"請到雲端 Web 產生 Pairing Token,然後在「配對」分頁貼上即可開始","pair.title":"配對到 visionA 雲端","pair.description":"貼上 Pairing Token,讓你的裝置出現在雲端 Web","pair.input.label":"Pairing Token","pair.input.placeholder":"貼上 vAc_... 格式的 token","pair.input.hintEmpty":"請貼上 token","pair.input.errorFormat":"格式不正確 — token 應為 vAc_ 開頭 + 32 字元 hex","pair.input.valid":"格式正確(36 字元)","pair.linkCloud":"還沒有 token?到雲端網頁產生","pair.button.submit":"配對","pair.button.submitting":"正在連線到雲端…","pair.button.cancel":"取消","pair.alert.security":"Token 15 分鐘內有效,一次性使用。Agent 會自動換取長期 Session,你不需要記住或重複貼上。","pair.success":"配對成功","pair.error.tokenExpired":"此 Token 已過期(15 分鐘有效)","pair.error.tokenUsed":"此 Token 已被其他裝置使用","pair.error.tokenInvalid":"Token 無效或格式錯誤","pair.error.tokenRevoked":"此 Token 已被撤銷","pair.error.network":"無法連上雲端服務,請檢查網路","pair.error.relayUnreachable":"Relay {url} 無法連線,請確認設定","pair.error.unknown":"配對失敗,請查看 log","settings.section.connection":"連線","settings.relayUrl.label":"Relay URL","settings.relayUrl.hint":"當前設定將於下次連線時生效","settings.relayUrl.invalidProtocol":"必須以 ws:// 或 wss:// 開頭","settings.testConnection.button":"測試連線","settings.testConnection.testing":"測試中…","settings.testConnection.success":"Relay 可達({latency}ms)","settings.testConnection.failed":"無法連上 {url}:{reason}","settings.section.behavior":"行為","settings.autoStart.label":"開機自動啟動 visionA Agent","settings.reconnect.label":"重連策略","settings.reconnect.auto":"自動重試(指數退避,最多 5 次)","settings.reconnect.manual":"手動重連","settings.section.log":"Log","settings.log.level":"Log 等級","settings.log.level.debug":"Debug","settings.log.level.info":"Info","settings.log.level.warn":"Warn","settings.log.level.error":"Error","settings.log.location":"Log 位置","settings.log.export":"匯出 Log…","settings.log.exporting":"匯出中…","settings.log.exported":"已匯出到 {path}","settings.section.about":"關於","settings.about.version":"版本","settings.about.docs":"開啟文件","settings.about.github":"GitHub","settings.about.checkUpdate":"檢查更新","settings.about.checkUpdate.phase1":"Phase 1 才支援","settings.section.danger":"危險區域","settings.reset.button":"重置所有設定","settings.reset.confirm.title":"確定要重置所有設定嗎?","settings.reset.confirm.description":"這將清除:Relay URL、開機自啟、Log 等級,以及已配對的 Session Token。你將需要重新配對才能使用。此操作無法復原。","settings.reset.confirm.ok":"確定重置","settings.reset.done":"已重置所有設定"},en:{"app.title":"visionA Agent","app.tagline":"Connect your Kneron devices to the visionA cloud","common.loading":"Loading…","common.error":"Something went wrong","common.cancel":"Cancel","common.confirm":"Confirm","common.save":"Save","common.close":"Close","common.retry":"Retry","nav.status":"Status","nav.pair":"Pair","nav.settings":"Settings","connection.online":"Connected","connection.offline":"Offline","connection.reconnecting":"Reconnecting","connection.notPaired":"Not Paired","connection.error":"Connection Error","header.toggleTheme":"Toggle Theme","header.toggleLocale":"Toggle Language","status.hero.online":"Connected","status.hero.offline":"Offline","status.hero.reconnecting":"Reconnecting…","status.hero.notPaired":"Not paired","status.hero.error":"Connection error","status.hero.attemptNo":"Attempt {n} of 5","status.info.account":"Account","status.info.relayUrl":"Relay","status.info.connectedAt":"Connected at","status.info.sessionToken":"Session","status.info.sessionToken.aria":"Session token, ending in {last4}","status.action.disconnect":"Disconnect","status.action.reconnect":"Reconnect","status.action.goPair":"Go to pairing","status.action.retry":"Retry","status.action.repair":"Re-pair","status.confirm.disconnect.title":"Disconnect from the cloud?","status.confirm.disconnect.description":"Once disconnected, this device will be unavailable remotely. The session token stays valid — you can reconnect any time.","status.log.title":"Recent activity","status.log.empty":"No recent activity","status.empty.title":"No device paired yet","status.empty.description":"Generate a pairing token on the visionA cloud, then paste it in the Pair tab to get started.","pair.title":"Pair with visionA Cloud","pair.description":"Paste the pairing token so this device shows up on your cloud dashboard.","pair.input.label":"Pairing Token","pair.input.placeholder":"Paste a token starting with vAc_","pair.input.hintEmpty":"Paste your token above","pair.input.errorFormat":"Invalid format — expected vAc_ prefix + 32 hex characters","pair.input.valid":"Looks good (36 characters)","pair.linkCloud":"Don't have a token? Generate one on the cloud","pair.button.submit":"Pair","pair.button.submitting":"Connecting to cloud…","pair.button.cancel":"Cancel","pair.alert.security":"Pairing tokens expire after 15 minutes and are single-use. The Agent swaps it for a long-lived session automatically — you won't need to remember or paste it again.","pair.success":"Successfully paired","pair.error.tokenExpired":"This token has expired (15 min lifetime)","pair.error.tokenUsed":"This token has already been used by another device","pair.error.tokenInvalid":"Invalid or malformed token","pair.error.tokenRevoked":"This token has been revoked","pair.error.network":"Unable to reach the cloud — please check your network","pair.error.relayUnreachable":"Cannot connect to relay {url}. Please verify the setting.","pair.error.unknown":"Pairing failed — please check the log","settings.section.connection":"Connection","settings.relayUrl.label":"Relay URL","settings.relayUrl.hint":"Changes apply on the next connection attempt","settings.relayUrl.invalidProtocol":"Must start with ws:// or wss://","settings.testConnection.button":"Test connection","settings.testConnection.testing":"Testing…","settings.testConnection.success":"Relay reachable ({latency}ms)","settings.testConnection.failed":"Cannot reach {url}: {reason}","settings.section.behavior":"Behavior","settings.autoStart.label":"Launch visionA Agent at startup","settings.reconnect.label":"Reconnection strategy","settings.reconnect.auto":"Retry automatically (exponential backoff, up to 5 attempts)","settings.reconnect.manual":"Reconnect manually","settings.section.log":"Log","settings.log.level":"Log level","settings.log.level.debug":"Debug","settings.log.level.info":"Info","settings.log.level.warn":"Warn","settings.log.level.error":"Error","settings.log.location":"Log location","settings.log.export":"Export log…","settings.log.exporting":"Exporting…","settings.log.exported":"Exported to {path}","settings.section.about":"About","settings.about.version":"Version","settings.about.docs":"Open docs","settings.about.github":"GitHub","settings.about.checkUpdate":"Check for updates","settings.about.checkUpdate.phase1":"Available in Phase 1","settings.section.danger":"Danger zone","settings.reset.button":"Reset all settings","settings.reset.confirm.title":"Reset all settings?","settings.reset.confirm.description":"This will clear: relay URL, autostart, log level, and your paired session token. You'll need to re-pair before using the device. This cannot be undone.","settings.reset.confirm.ok":"Confirm reset","settings.reset.done":"All settings reset"}},l=(0,r.createContext)(null);function c({initialLocale:e=n,children:o}){let[i,s]=(0,r.useState)(e),c=(0,r.useCallback)(e=>{s(e);try{window.localStorage.setItem(a,e)}catch{}},[]),d=(0,r.useMemo)(()=>({locale:i,setLocale:c}),[i,c]);return(0,t.jsx)(l.Provider,{value:d,children:o})}function d(){let e=(0,r.useContext)(l);if(!e)throw Error("useLocale 必須在 <LocaleProvider> 內使用");return e}function u(){let{locale:e}=d();return(0,r.useMemo)(()=>{let t=s[e];return e=>{let r=t[e];return"string"==typeof r?r:e}},[e])}e.s(["LocaleProvider",()=>c,"useLocale",()=>d,"useT",()=>u],44674)}]); |