diff --git a/app/src/components/layout/Header.tsx b/app/src/components/layout/Header.tsx index c510b86..949400f 100644 --- a/app/src/components/layout/Header.tsx +++ b/app/src/components/layout/Header.tsx @@ -1,6 +1,7 @@ import { useState } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; -import { Search, Sun, Moon, Plus, Menu } from 'lucide-react'; +import { Search, Sun, Moon, Plus, Menu, CalendarDays, Rows3, GraduationCap, ChartColumn, Shapes, SlidersHorizontal, User, ScrollText, ClipboardCheck, ShieldCheck } from 'lucide-react'; +import type { LucideIcon } from 'lucide-react'; import { Button, Input } from '@/components/ui'; const TITLES: Record = { @@ -24,6 +25,20 @@ export function Header({ onMenu }: { onMenu?: () => void }) { const meta = TITLES[pathname] ?? { title: '' }; +const ROUTE_ICONS: Record = { + '/timeline': CalendarDays, + '/records': Rows3, + '/grades': GraduationCap, + '/dashboard': ChartColumn, + '/types': Shapes, + '/taxonomy': SlidersHorizontal, + '/profile': User, + '/resume': ScrollText, + '/assessment': ClipboardCheck, + '/admin': ShieldCheck, +}; +const RouteIcon = ROUTE_ICONS[pathname]; + const toggleTheme = () => { const next = !dark; setDark(next); @@ -33,14 +48,21 @@ export function Header({ onMenu }: { onMenu?: () => void }) { }; return ( -
+
-
-

{meta.title}

- {meta.sub &&

{meta.sub}

} +
+ {RouteIcon && ( + + + + )} +
+

{meta.title}

+ {meta.sub &&

{meta.sub}

} +
diff --git a/app/src/components/layout/Sidebar.tsx b/app/src/components/layout/Sidebar.tsx index 0ea9e5e..4c8183d 100644 --- a/app/src/components/layout/Sidebar.tsx +++ b/app/src/components/layout/Sidebar.tsx @@ -109,10 +109,10 @@ export function Sidebar({ open, onClose }: { open: boolean; onClose: () => void {/* 左下角:账号区 */}
{getToken() && me ? ( -
+
-
+
{me.username.charAt(0).toUpperCase()}
diff --git a/app/src/components/ui/button.tsx b/app/src/components/ui/button.tsx index 7d382b1..aa3cb72 100644 --- a/app/src/components/ui/button.tsx +++ b/app/src/components/ui/button.tsx @@ -3,12 +3,12 @@ import { cva, type VariantProps } from 'class-variance-authority'; import { cn } from '@/lib/utils'; const buttonVariants = cva( - 'inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-md font-medium transition-colors select-none disabled:pointer-events-none disabled:opacity-45', + 'inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-md font-medium select-none transition-all duration-150 active:scale-[0.97] disabled:pointer-events-none disabled:opacity-45', { variants: { variant: { - primary: 'bg-brand text-white hover:bg-brand-hover shadow-card', - secondary: 'bg-surface text-ink-1 border border-line hover:bg-surface-3 hover:border-line-strong', + primary: 'bg-gradient-to-b from-[#3d51e0] to-brand text-white shadow-[0_1px_2px_rgba(48,86,211,.25)] hover:brightness-110 active:brightness-95', + secondary: 'bg-surface text-ink-1 border border-line shadow-card hover:bg-surface-3 hover:border-line-strong hover:shadow-[0_2px_6px_rgba(0,0,0,.06)]', ghost: 'text-ink-2 hover:bg-surface-3 hover:text-ink-1', subtle: 'bg-brand-subtle text-brand-text hover:brightness-[0.97]', danger: 'bg-danger text-white hover:brightness-110', diff --git a/app/src/components/ui/empty.tsx b/app/src/components/ui/empty.tsx index a66a49c..5ec517c 100644 --- a/app/src/components/ui/empty.tsx +++ b/app/src/components/ui/empty.tsx @@ -8,9 +8,12 @@ export function Empty({ icon, title, description, action }: { action?: ReactNode; }) { return ( -
-
{icon ?? }
-
{title}
+
+
+
+ {icon ?? } +
+
{title}
{description &&
{description}
} {action &&
{action}
}
diff --git a/app/src/components/ui/input.tsx b/app/src/components/ui/input.tsx index 0f10028..5488dfd 100644 --- a/app/src/components/ui/input.tsx +++ b/app/src/components/ui/input.tsx @@ -1,7 +1,7 @@ import { forwardRef, type InputHTMLAttributes, type TextareaHTMLAttributes } from 'react'; import { cn } from '@/lib/utils'; -const base = 'w-full rounded-md border border-line bg-surface px-2.5 text-[13px] text-ink-1 placeholder:text-ink-3 transition-colors hover:border-line-strong focus:border-brand focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed'; +const base = 'w-full rounded-md border border-line bg-surface px-2.5 text-[13px] text-ink-1 placeholder:text-ink-3 transition-colors hover:border-line-strong focus:border-brand focus:ring-[1.5px] focus:ring-brand/15 focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed'; export const Input = forwardRef>(function Input( { className, ...props }, ref diff --git a/app/src/components/ui/select.tsx b/app/src/components/ui/select.tsx index 19f27c0..36e8632 100644 --- a/app/src/components/ui/select.tsx +++ b/app/src/components/ui/select.tsx @@ -12,7 +12,7 @@ export const Select = forwardRef svg { color: var(--brand-text); } + /* 侧边栏激活指示条 */ .nav-active::before { content: ''; diff --git a/sync-server/www/assets/AdminPage-Ddf_rNuo.js b/sync-server/www/assets/AdminPage-07xjBzip.js similarity index 98% rename from sync-server/www/assets/AdminPage-Ddf_rNuo.js rename to sync-server/www/assets/AdminPage-07xjBzip.js index d716696..8a7d385 100644 --- a/sync-server/www/assets/AdminPage-Ddf_rNuo.js +++ b/sync-server/www/assets/AdminPage-07xjBzip.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DuP8O2p4.js","assets/index-D9E2kUSE.css"])))=>i.map(i=>d[i]); -import{c as u,u as me,d as ue,$ as he,f as I,a0 as q,r as i,g as x,j as e,E as T,B as t,a1 as W,m,k as Z,a2 as pe,T as J,P as ve,I as b,l as je,H as Y,a3 as ge,a4 as ye,a5 as be,a6 as fe,a7 as ke,a8 as Ne,a9 as Ce,aa as _e,ab as we}from"./index-DuP8O2p4.js";import{C as ee,a as se,b as ae}from"./card-DR9dPxFa.js";/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DH5SEuAI.js","assets/index-TvH70H3i.css"])))=>i.map(i=>d[i]); +import{c as u,u as me,d as ue,$ as he,f as I,a0 as q,r as i,g as x,j as e,E as T,B as t,a1 as W,m,k as Z,a2 as pe,T as J,P as ve,I as b,l as je,H as Y,a3 as ge,a4 as ye,a5 as be,a6 as fe,a7 as ke,a8 as Ne,a9 as Ce,aa as _e,ab as we}from"./index-DH5SEuAI.js";import{C as ee,a as se,b as ae}from"./card-BI024Nvz.js";/** * @license lucide-react v0.475.0 - ISC * * This source code is licensed under the ISC license. @@ -29,5 +29,5 @@ import{c as u,u as me,d as ue,$ as he,f as I,a0 as q,r as i,g as x,j as e,E as T * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const De=[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]],ie=u("UsersRound",De);function Pe({i:r}){return r.used_by&&r.holder_gone?e.jsx(m,{color:"var(--danger)",children:"已销户"}):r.used_by?e.jsx(m,{color:"var(--text-3)",children:"已使用"}):r.valid?e.jsx(m,{color:"var(--success)",children:"可用"}):e.jsx(m,{color:"var(--warning)",children:"已停用"})}function Ke(){var V,G,X,U;const r=me(),D=ue(),l=he(),f=I({queryKey:["me-admin"],queryFn:async()=>(await Ce(()=>import("./index-DuP8O2p4.js").then(a=>a.an),__vite__mapDeps([0,1]))).serverMe(l),enabled:!!q()}),k=I({queryKey:["admin-users"],queryFn:()=>_e(l),enabled:!!q()}),N=I({queryKey:["admin-invites"],queryFn:()=>we(l),enabled:!!q()}),[P,d]=i.useState(""),[re,R]=i.useState(null),[le,C]=i.useState(!1),[v,_]=i.useState(""),[Q,w]=i.useState(""),[de,h]=i.useState(null),[z,S]=i.useState(""),[c,ce]=i.useState("all"),[n,j]=i.useState(null),[K,M]=i.useState(""),[oe,g]=i.useState(!1),y=()=>{r.invalidateQueries({queryKey:["admin-invites"]})},o=s=>d(s.message||"操作失败"),O=x({mutationFn:()=>Ne(l),onSuccess:s=>{var a,p;g(!1),d(""),D("success","演示账号已重建:"+(((a=s.seeded)==null?void 0:a.footprints)??0)+" 条记录 + "+(((p=s.seeded)==null?void 0:p.semesters)??0)+" 学期"),r.invalidateQueries({queryKey:["admin-users"]})},onError:o}),A=x({mutationFn:s=>ke(s,l),onSuccess:s=>{r.invalidateQueries({queryKey:["admin-users"]}),j(null),M(""),d(""),D("success","用户「"+s.username+"」及其全部数据已删除")},onError:o}),L=x({mutationFn:()=>ge(5,l),onSuccess:s=>{y(),d(""),navigator.clipboard.writeText(s.codes.join(` + */const De=[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]],ie=u("UsersRound",De);function Pe({i:r}){return r.used_by&&r.holder_gone?e.jsx(m,{color:"var(--danger)",children:"已销户"}):r.used_by?e.jsx(m,{color:"var(--text-3)",children:"已使用"}):r.valid?e.jsx(m,{color:"var(--success)",children:"可用"}):e.jsx(m,{color:"var(--warning)",children:"已停用"})}function Ke(){var V,G,X,U;const r=me(),D=ue(),l=he(),f=I({queryKey:["me-admin"],queryFn:async()=>(await Ce(()=>import("./index-DH5SEuAI.js").then(a=>a.an),__vite__mapDeps([0,1]))).serverMe(l),enabled:!!q()}),k=I({queryKey:["admin-users"],queryFn:()=>_e(l),enabled:!!q()}),N=I({queryKey:["admin-invites"],queryFn:()=>we(l),enabled:!!q()}),[P,d]=i.useState(""),[re,R]=i.useState(null),[le,C]=i.useState(!1),[v,_]=i.useState(""),[Q,w]=i.useState(""),[de,h]=i.useState(null),[z,S]=i.useState(""),[c,ce]=i.useState("all"),[n,j]=i.useState(null),[K,M]=i.useState(""),[oe,g]=i.useState(!1),y=()=>{r.invalidateQueries({queryKey:["admin-invites"]})},o=s=>d(s.message||"操作失败"),O=x({mutationFn:()=>Ne(l),onSuccess:s=>{var a,p;g(!1),d(""),D("success","演示账号已重建:"+(((a=s.seeded)==null?void 0:a.footprints)??0)+" 条记录 + "+(((p=s.seeded)==null?void 0:p.semesters)??0)+" 学期"),r.invalidateQueries({queryKey:["admin-users"]})},onError:o}),A=x({mutationFn:s=>ke(s,l),onSuccess:s=>{r.invalidateQueries({queryKey:["admin-users"]}),j(null),M(""),d(""),D("success","用户「"+s.username+"」及其全部数据已删除")},onError:o}),L=x({mutationFn:()=>ge(5,l),onSuccess:s=>{y(),d(""),navigator.clipboard.writeText(s.codes.join(` `)).catch(()=>{})},onError:o}),E=x({mutationFn:()=>ye(v.trim(),Q.trim(),l),onSuccess:()=>{y(),C(!1),_(""),w(""),d("")},onError:o}),F=x({mutationFn:s=>be(s.id,s.patch,l),onSuccess:()=>{y(),h(null),d("")},onError:o}),xe=x({mutationFn:s=>fe(s,l),onSuccess:()=>{y(),d("")},onError:o}),$=i.useMemo(()=>{var s;return((s=N.data)==null?void 0:s.invites)??[]},[N.data]),B=i.useMemo(()=>$.filter(s=>c==="valid"?s.valid&&!s.used_by:c==="used"?!!s.used_by&&!s.holder_gone:c==="gone"?!!s.used_by&&!!s.holder_gone:c==="disabled"?!s.valid&&!s.used_by:!0),[$,c]);if(f.data&&!f.data.is_admin)return e.jsx(T,{title:"需要管理员账号",description:"当前登录账号不是管理员。"});const H=s=>{navigator.clipboard.writeText(s.code),R(s.id),setTimeout(()=>R(a=>a===s.id?null:a),1500)};return e.jsxs("div",{className:"mx-auto max-w-[1080px] px-3 py-4 sm:px-6 sm:py-5",children:[e.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[e.jsx("h2",{className:"text-[15px] font-semibold text-ink-1",children:"管理"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(t,{variant:"secondary",onClick:()=>g(!0),children:[e.jsx(ie,{size:13})," 重建演示账号"]}),e.jsxs(t,{variant:"secondary",onClick:()=>{r.invalidateQueries()},children:[e.jsx(Fe,{size:13})," 刷新"]})]})]}),P&&e.jsxs("div",{className:"mb-3 flex items-center justify-between rounded-md border border-danger/30 bg-danger-subtle px-3 py-2 text-[12px] text-danger",children:[e.jsx("span",{children:P}),e.jsx("button",{className:"rounded p-0.5 hover:bg-surface-3",onClick:()=>d(""),"aria-label":"关闭",children:e.jsx(W,{size:13})})]}),e.jsxs(ee,{children:[e.jsx(se,{title:"用户管理("+(((V=k.data)==null?void 0:V.total)??0)+")",extra:e.jsx(ie,{size:14,className:"text-ink-3"})}),e.jsx(ae,{className:"p-0",children:e.jsxs("div",{className:"divide-y divide-line",children:[(((G=k.data)==null?void 0:G.users)??[]).map(s=>{var p;const a=String(s.id)===String(((p=f.data)==null?void 0:p.user_id)??"");return e.jsxs("div",{className:"flex items-center gap-3 px-4 py-2.5",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"truncate text-[13px] font-medium text-ink-1",children:s.username}),s.is_admin&&e.jsx(m,{color:"var(--brand-text)",children:"管理员"}),a&&e.jsx(m,{color:"var(--text-3)",children:"当前登录"})]}),e.jsxs("div",{className:"num mt-0.5 text-[11px] text-ink-3",children:[Z(s.created_at)," · 记录 ",s.records," · 附件 ",s.attachments,"(",pe(s.attachment_bytes||0),")"]})]}),!a&&e.jsxs(t,{size:"sm",variant:"ghost",className:"text-danger hover:bg-danger-subtle",onClick:()=>{j({id:s.id,username:s.username}),M("")},children:[e.jsx(J,{size:13})," 删除"]})]},s.id)}),!(((X=k.data)==null?void 0:X.users)??[]).length&&e.jsx(T,{title:"暂无用户"})]})})]}),e.jsxs(ee,{children:[e.jsx(se,{title:"邀请码("+(((U=N.data)==null?void 0:U.total)??0)+")",extra:e.jsxs("div",{className:"flex gap-1.5",children:[e.jsxs(t,{size:"sm",variant:"secondary",onClick:()=>{C(s=>!s),d("")},children:[e.jsx(ve,{size:13})," 新建"]}),e.jsx(t,{size:"sm",variant:"primary",disabled:L.isPending,onClick:()=>L.mutate(),children:"批量生成 5 个"})]})}),e.jsxs(ae,{className:"p-0",children:[le&&e.jsxs("div",{className:"flex flex-wrap items-end gap-2 border-b border-line bg-surface-2 px-4 py-3",children:[e.jsxs("label",{className:"flex flex-col gap-1",children:[e.jsx("span",{className:"text-[11px] font-medium text-ink-3",children:"邀请码(4-32 位字母数字-_)"}),e.jsx(b,{className:"w-[210px]",value:v,placeholder:"如 XIONG-2025",onChange:s=>_(s.target.value)})]}),e.jsxs("label",{className:"flex flex-col gap-1",children:[e.jsx("span",{className:"text-[11px] font-medium text-ink-3",children:"备注(可选)"}),e.jsx(b,{className:"w-[180px]",value:Q,placeholder:"发给谁 / 用途",onChange:s=>w(s.target.value),onKeyDown:s=>{s.key==="Enter"&&v.trim()&&E.mutate()}})]}),e.jsxs("div",{className:"flex gap-1.5 pb-0.5",children:[e.jsx(t,{size:"sm",variant:"primary",disabled:!v.trim()||E.isPending,onClick:()=>E.mutate(),children:"创建"}),e.jsx(t,{size:"sm",variant:"ghost",onClick:()=>{C(!1),_(""),w("")},children:"取消"})]})]}),e.jsx("div",{className:"flex gap-1 border-b border-line px-4 py-2 text-[12px]",children:[["all","全部"],["valid","可用"],["used","已使用"],["gone","已销户"],["disabled","已停用"]].map(([s,a])=>e.jsx("button",{className:"rounded-md px-2.5 py-1 transition-colors "+(c===s?"bg-brand-subtle font-medium text-brand-text":"text-ink-3 hover:bg-surface-3"),onClick:()=>ce(s),children:a},s))}),B.length?e.jsx("div",{className:"divide-y divide-line max-h-[430px] overflow-y-auto",children:B.map(s=>e.jsxs("div",{className:"flex flex-wrap items-center gap-2 px-4 py-2.5 text-[12.5px]",children:[e.jsx("button",{className:"num shrink-0 cursor-pointer rounded-sm bg-surface-3 px-1.5 py-0.5 font-mono text-[12px] text-ink-1 transition-colors hover:bg-brand-subtle hover:text-brand-text",title:"点击复制",onClick:()=>H(s),children:re===s.id?e.jsxs("span",{className:"inline-flex items-center gap-1 text-success",children:[e.jsx(te,{size:11}),"已复制"]}):s.code}),e.jsx(Pe,{i:s}),de===s.id?e.jsxs("span",{className:"ml-1 flex min-w-0 flex-1 items-center gap-1",children:[e.jsx(b,{className:"h-7 flex-1 text-[12px]",value:z,autoFocus:!0,placeholder:"备注(64 字以内)",onChange:a=>S(a.target.value),onKeyDown:a=>{a.key==="Enter"&&F.mutate({id:s.id,patch:{remark:z}}),a.key==="Escape"&&h(null)}}),e.jsx(t,{size:"icon-sm",variant:"ghost","aria-label":"保存备注",className:"text-success",onClick:()=>F.mutate({id:s.id,patch:{remark:z}}),children:e.jsx(te,{size:13})}),e.jsx(t,{size:"icon-sm",variant:"ghost","aria-label":"取消",className:"text-ink-3",onClick:()=>h(null),children:e.jsx(W,{size:13})})]}):e.jsx("button",{className:"min-w-0 flex-1 truncate text-left text-[12px] text-ink-3 hover:text-ink-2",title:s.remark?"点击编辑备注":s.created_by_name?"由 "+s.created_by_name+" 创建 · 点击添加备注":"点击添加备注",onClick:()=>{h(s.id),S(s.remark??"")},children:s.remark||(s.created_by_name?"由 "+s.created_by_name+" 创建":e.jsx("span",{className:"opacity-60",children:"添加备注…"}))}),s.used_by_name&&e.jsxs("span",{className:"shrink-0 text-ink-3",children:["被 ",s.used_by_name," 使用于 ",Z(s.used_at)]}),e.jsxs("span",{className:"ml-auto flex shrink-0 items-center gap-0.5",children:[e.jsx(t,{size:"icon-sm",variant:"ghost","aria-label":"复制",className:"text-ink-3",onClick:()=>H(s),children:e.jsx(Me,{size:13})}),!s.used_by&&e.jsxs(e.Fragment,{children:[e.jsx(t,{size:"icon-sm",variant:"ghost","aria-label":"编辑备注",className:"text-ink-3",onClick:()=>{h(s.id),S(s.remark??"")},children:e.jsx(je,{size:13})}),e.jsx(t,{size:"sm",variant:"ghost",className:s.valid?"text-ink-3 hover:text-warning":"text-ink-3 hover:text-success",onClick:()=>F.mutate({id:s.id,patch:{valid:!s.valid}}),children:s.valid?"停用":"启用"})]}),e.jsx(t,{size:"icon-sm",variant:"ghost","aria-label":"删除",className:"text-ink-3 hover:text-danger",onClick:()=>{window.confirm("删除邀请码 "+s.code+"?此操作不可恢复。")&&xe.mutate(s.id)},children:e.jsx(J,{size:13})})]})]},s.id))}):e.jsx(T,{icon:e.jsx(qe,{size:32,strokeWidth:1.5}),title:"暂无符合条件的邀请码",description:"新建自定义邀请码,或批量生成后发给需要注册的用户。"})]})]}),e.jsx(Y,{open:!!n,onClose:()=>j(null),width:460,title:"删除用户(高危操作)",footer:e.jsxs(e.Fragment,{children:[e.jsx(t,{variant:"ghost",onClick:()=>j(null),children:"取消"}),e.jsxs(t,{variant:"primary",className:"!bg-danger !text-white",disabled:K!==(n==null?void 0:n.username)||A.isPending,onClick:()=>n&&A.mutate(n.id),children:[e.jsx(ne,{size:13})," 永久删除"]})]}),children:e.jsxs("div",{className:"flex flex-col gap-3 text-[12.5px]",children:[e.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-danger/30 bg-danger-subtle px-3 py-2.5 text-danger",children:[e.jsx(ne,{size:15,className:"mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("b",{children:"此操作不可撤销!"}),"将永久删除用户「",n==null?void 0:n.username,"」的全部数据:",e.jsxs("ul",{className:"mt-1 list-disc pl-4 text-[12px] leading-relaxed",children:[e.jsx("li",{children:"账号与登录会话(所有设备将被登出)"}),e.jsx("li",{children:"全部记录、成绩、维度与统计数据"}),e.jsx("li",{children:"全部附件文件(服务器本地与图床 COS 上的副本)"})]})]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"mb-1.5 text-ink-2",children:["请输入用户名 ",e.jsx("b",{className:"text-danger",children:n==null?void 0:n.username})," 以确认:"]}),e.jsx(b,{value:K,onChange:s=>M(s.target.value),placeholder:(n==null?void 0:n.username)??"",autoFocus:!0})]})]})}),e.jsx(Y,{open:oe,onClose:()=>g(!1),width:440,title:"重建演示账号",footer:e.jsxs(e.Fragment,{children:[e.jsx(t,{variant:"ghost",onClick:()=>g(!1),children:"取消"}),e.jsx(t,{variant:"primary",disabled:O.isPending,onClick:()=>O.mutate(),children:"重建并重新播种"})]}),children:e.jsxs("div",{className:"text-[12.5px] leading-relaxed text-ink-2",children:["将",e.jsx("b",{children:"删除现有 demo 账号及其全部数据"}),",然后重新创建并播种全套虚拟演示数据 (个人信息档案、25 条足迹(含 10 项竞赛获奖与证书附件)、4 学期学科成绩、简历内容)。",e.jsx("div",{className:"mt-2 text-ink-3",children:"demo / demo1234 · 仅影响演示账号,其他用户不受影响。"})]})})]})}export{Ke as AdminPage}; diff --git a/sync-server/www/assets/AssessmentPage-cLSGAKx0.js b/sync-server/www/assets/AssessmentPage-DniR4Zwe.js similarity index 99% rename from sync-server/www/assets/AssessmentPage-cLSGAKx0.js rename to sync-server/www/assets/AssessmentPage-DniR4Zwe.js index 7da5f25..010965d 100644 --- a/sync-server/www/assets/AssessmentPage-cLSGAKx0.js +++ b/sync-server/www/assets/AssessmentPage-DniR4Zwe.js @@ -1,4 +1,4 @@ -import{c as ve,d as Ce,f as pe,r as S,ai as ke,aj as Se,j as e,S as _e,B as A,ak as xe,ah as ze,m as me,H as fe,af as Oe,ag as Ie,v as Me,M as Re}from"./index-DuP8O2p4.js";import{R as he,P as Fe,C as Ke}from"./rotate-ccw-xltE5Sb1.js";/** +import{c as ve,d as Ce,f as pe,r as S,ai as ke,aj as Se,j as e,S as _e,B as A,ak as xe,ah as ze,m as me,H as fe,af as Oe,ag as Ie,v as Me,M as Re}from"./index-DH5SEuAI.js";import{R as he,P as Fe,C as Ke}from"./rotate-ccw-Cm9sTuWZ.js";/** * @license lucide-react v0.475.0 - ISC * * This source code is licensed under the ISC license. diff --git a/sync-server/www/assets/DashboardPage-CGCiby6s.js b/sync-server/www/assets/DashboardPage-lHBbav-t.js similarity index 94% rename from sync-server/www/assets/DashboardPage-CGCiby6s.js rename to sync-server/www/assets/DashboardPage-lHBbav-t.js index f0a779a..1826798 100644 --- a/sync-server/www/assets/DashboardPage-CGCiby6s.js +++ b/sync-server/www/assets/DashboardPage-lHBbav-t.js @@ -1 +1 @@ -import{r as g,f as v,j as t,S as j,t as S}from"./index-DuP8O2p4.js";import{C as c,a as d,b as x}from"./card-DR9dPxFa.js";import{u as N,i as u,a as m}from"./useChart-DtLH1jYK.js";import{u as k,i as w,a as C,b as L,c as R,d as $,e as z,f as T}from"./echarts-BIWefrIc.js";k([w,C,L,R,$,z,T]);function q(){const[l,n]=g.useState(""),i=N(),e=v({queryKey:["stats",l||void 0],queryFn:()=>S(l?Number(l):void 0)}).data,p=u("2"),r=u("3"),h=m(()=>({grid:{left:34,right:12,top:14,bottom:24},tooltip:{trigger:"axis"},xAxis:{type:"category",data:(e==null?void 0:e.monthly.map(a=>a.ym.slice(2)))??[],axisLine:{lineStyle:{color:r}},axisTick:{show:!1},axisLabel:{color:r,fontSize:10}},yAxis:{type:"value",splitLine:{lineStyle:{color:"rgba(128,138,155,0.15)"}},axisLabel:{color:r,fontSize:10}},series:[{type:"bar",data:(e==null?void 0:e.monthly.map(a=>a.count))??[],barMaxWidth:18,itemStyle:{color:"#3056d3",borderRadius:[3,3,0,0]}}]}),[e,i]),b=m(()=>{const a=((e==null?void 0:e.by_type)??[]).filter(s=>s.count>0);return{tooltip:{trigger:"item"},legend:{orient:"vertical",right:4,top:"middle",textStyle:{color:p,fontSize:11},itemWidth:10,itemHeight:10},series:[{type:"pie",radius:["48%","72%"],center:["34%","50%"],label:{show:!1},data:a.map(s=>({name:s.label,value:s.count,itemStyle:{color:s.color||"#64748b"}}))}]}},[e,i]),y=m(()=>{const a=((e==null?void 0:e.by_level)??[]).filter(s=>s.count>0).slice().reverse();return{grid:{left:64,right:24,top:8,bottom:22},tooltip:{trigger:"axis"},xAxis:{type:"value",splitLine:{lineStyle:{color:"rgba(128,138,155,0.15)"}},axisLabel:{color:r,fontSize:10}},yAxis:{type:"category",data:a.map(s=>s.label),axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:p,fontSize:11}},series:[{type:"bar",data:a.map(s=>({value:s.count,itemStyle:{color:s.color||"#3056d3",borderRadius:[0,3,3,0]}})),barMaxWidth:14}]}},[e,i]),f=((e==null?void 0:e.metrics)??[]).slice(0,3);return t.jsxs("div",{className:"mx-auto max-w-[1080px] px-3 py-4 sm:px-6 sm:py-5",children:[t.jsxs("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-3",children:[t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsx(o,{label:"总记录",value:(e==null?void 0:e.total)??0}),t.jsx(o,{label:l?l+" 年新增":"本年新增",value:(e==null?void 0:e.total_this_year)??0}),t.jsx(o,{label:"附件总数",value:(e==null?void 0:e.attachment_total)??0}),f.map(a=>t.jsx(o,{label:a.label,value:a.value,unit:a.unit??""},a.key))]}),t.jsx(j,{className:"w-[120px]",value:l,onChange:a=>n(a.target.value),options:[{value:"",label:"全部年份"},...((e==null?void 0:e.years)??[]).map(a=>({value:String(a),label:a+" 年"}))]})]}),!(e!=null&&e.metrics.length)&&t.jsx("div",{className:"mb-4 rounded-md border border-dashed border-line px-4 py-2 text-[12px] text-ink-3",children:"提示:在「统计」配置中注册指标(如志愿时长、读书本数),带单位的数值字段即可在此量化展示。"}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[t.jsxs(c,{children:[t.jsx(d,{title:"近 12 个月活跃度"}),t.jsx(x,{children:t.jsx("div",{ref:h,className:"h-[220px]"})})]}),t.jsxs(c,{children:[t.jsx(d,{title:"类型分布"}),t.jsx(x,{children:t.jsx("div",{ref:b,className:"h-[220px]"})})]}),t.jsxs(c,{className:"lg:col-span-2",children:[t.jsx(d,{title:"级别分布"}),t.jsx(x,{children:t.jsx("div",{ref:y,className:"h-[200px]"})})]})]})]})}function o({label:l,value:n,unit:i}){return t.jsxs("div",{className:"min-w-[120px] rounded-lg border border-line bg-surface px-4 py-3 shadow-card",children:[t.jsx("div",{className:"text-[12px] text-ink-3",children:l}),t.jsxs("div",{className:"num mt-0.5 text-[22px] font-semibold leading-tight text-ink-1",children:[n,i&&t.jsx("span",{className:"ml-1 text-[12px] font-normal text-ink-3",children:i})]})]})}export{q as DashboardPage}; +import{r as g,f as v,j as t,S as j,t as S}from"./index-DH5SEuAI.js";import{C as c,a as d,b as x}from"./card-BI024Nvz.js";import{u as N,i as u,a as m}from"./useChart-ZF2N_RV4.js";import{u as k,i as w,a as C,b as L,c as R,d as $,e as z,f as T}from"./echarts-BIWefrIc.js";k([w,C,L,R,$,z,T]);function q(){const[l,n]=g.useState(""),i=N(),e=v({queryKey:["stats",l||void 0],queryFn:()=>S(l?Number(l):void 0)}).data,p=u("2"),r=u("3"),h=m(()=>({grid:{left:34,right:12,top:14,bottom:24},tooltip:{trigger:"axis"},xAxis:{type:"category",data:(e==null?void 0:e.monthly.map(a=>a.ym.slice(2)))??[],axisLine:{lineStyle:{color:r}},axisTick:{show:!1},axisLabel:{color:r,fontSize:10}},yAxis:{type:"value",splitLine:{lineStyle:{color:"rgba(128,138,155,0.15)"}},axisLabel:{color:r,fontSize:10}},series:[{type:"bar",data:(e==null?void 0:e.monthly.map(a=>a.count))??[],barMaxWidth:18,itemStyle:{color:"#3056d3",borderRadius:[3,3,0,0]}}]}),[e,i]),b=m(()=>{const a=((e==null?void 0:e.by_type)??[]).filter(s=>s.count>0);return{tooltip:{trigger:"item"},legend:{orient:"vertical",right:4,top:"middle",textStyle:{color:p,fontSize:11},itemWidth:10,itemHeight:10},series:[{type:"pie",radius:["48%","72%"],center:["34%","50%"],label:{show:!1},data:a.map(s=>({name:s.label,value:s.count,itemStyle:{color:s.color||"#64748b"}}))}]}},[e,i]),y=m(()=>{const a=((e==null?void 0:e.by_level)??[]).filter(s=>s.count>0).slice().reverse();return{grid:{left:64,right:24,top:8,bottom:22},tooltip:{trigger:"axis"},xAxis:{type:"value",splitLine:{lineStyle:{color:"rgba(128,138,155,0.15)"}},axisLabel:{color:r,fontSize:10}},yAxis:{type:"category",data:a.map(s=>s.label),axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:p,fontSize:11}},series:[{type:"bar",data:a.map(s=>({value:s.count,itemStyle:{color:s.color||"#3056d3",borderRadius:[0,3,3,0]}})),barMaxWidth:14}]}},[e,i]),f=((e==null?void 0:e.metrics)??[]).slice(0,3);return t.jsxs("div",{className:"mx-auto max-w-[1080px] px-3 py-4 sm:px-6 sm:py-5",children:[t.jsxs("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-3",children:[t.jsxs("div",{className:"flex flex-wrap gap-3",children:[t.jsx(o,{label:"总记录",value:(e==null?void 0:e.total)??0}),t.jsx(o,{label:l?l+" 年新增":"本年新增",value:(e==null?void 0:e.total_this_year)??0}),t.jsx(o,{label:"附件总数",value:(e==null?void 0:e.attachment_total)??0}),f.map(a=>t.jsx(o,{label:a.label,value:a.value,unit:a.unit??""},a.key))]}),t.jsx(j,{className:"w-[120px]",value:l,onChange:a=>n(a.target.value),options:[{value:"",label:"全部年份"},...((e==null?void 0:e.years)??[]).map(a=>({value:String(a),label:a+" 年"}))]})]}),!(e!=null&&e.metrics.length)&&t.jsx("div",{className:"mb-4 rounded-md border border-dashed border-line px-4 py-2 text-[12px] text-ink-3",children:"提示:在「统计」配置中注册指标(如志愿时长、读书本数),带单位的数值字段即可在此量化展示。"}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[t.jsxs(c,{children:[t.jsx(d,{title:"近 12 个月活跃度"}),t.jsx(x,{children:t.jsx("div",{ref:h,className:"h-[220px]"})})]}),t.jsxs(c,{children:[t.jsx(d,{title:"类型分布"}),t.jsx(x,{children:t.jsx("div",{ref:b,className:"h-[220px]"})})]}),t.jsxs(c,{className:"lg:col-span-2",children:[t.jsx(d,{title:"级别分布"}),t.jsx(x,{children:t.jsx("div",{ref:y,className:"h-[200px]"})})]})]})]})}function o({label:l,value:n,unit:i}){return t.jsxs("div",{className:"min-w-[120px] rounded-lg border border-line bg-surface px-4 py-3 shadow-card",children:[t.jsx("div",{className:"text-[12px] text-ink-3",children:l}),t.jsxs("div",{className:"num mt-0.5 text-[22px] font-semibold leading-tight text-ink-1",children:[n,i&&t.jsx("span",{className:"ml-1 text-[12px] font-normal text-ink-3",children:i})]})]})}export{q as DashboardPage}; diff --git a/sync-server/www/assets/GradesPage-BT4mtuTs.js b/sync-server/www/assets/GradesPage-BLNIMfYp.js similarity index 99% rename from sync-server/www/assets/GradesPage-BT4mtuTs.js rename to sync-server/www/assets/GradesPage-BLNIMfYp.js index 24c5fc6..bac95aa 100644 --- a/sync-server/www/assets/GradesPage-BT4mtuTs.js +++ b/sync-server/www/assets/GradesPage-BLNIMfYp.js @@ -1,4 +1,4 @@ -import{c as $,f as O,j as e,E as H,w as U,u as k,d as C,r as u,g as y,x as W,y as J,B as j,P as E,I as g,z as Y,C as A,A as V,D as B,F as X,m as S,l as Q,T as q,H as Z,J as z,K as M,S as T,M as D}from"./index-DuP8O2p4.js";import{C as w,a as G,b as F}from"./card-DR9dPxFa.js";import{u as ee,i as K,a as P}from"./useChart-DtLH1jYK.js";import{u as se,i as te,b as ae,a as re,c as ne,d as le,e as ie,f as oe}from"./echarts-BIWefrIc.js";/** +import{c as $,f as O,j as e,E as H,w as U,u as k,d as C,r as u,g as y,x as W,y as J,B as j,P as E,I as g,z as Y,C as A,A as V,D as B,F as X,m as S,l as Q,T as q,H as Z,J as z,K as M,S as T,M as D}from"./index-DH5SEuAI.js";import{C as w,a as G,b as F}from"./card-BI024Nvz.js";import{u as ee,i as K,a as P}from"./useChart-ZF2N_RV4.js";import{u as se,i as te,b as ae,a as re,c as ne,d as le,e as ie,f as oe}from"./echarts-BIWefrIc.js";/** * @license lucide-react v0.475.0 - ISC * * This source code is licensed under the ISC license. diff --git a/sync-server/www/assets/ProfilePage-DCXy9-fx.js b/sync-server/www/assets/ProfilePage-DDkdHaC_.js similarity index 99% rename from sync-server/www/assets/ProfilePage-DCXy9-fx.js rename to sync-server/www/assets/ProfilePage-DDkdHaC_.js index 2604718..c8a82c7 100644 --- a/sync-server/www/assets/ProfilePage-DCXy9-fx.js +++ b/sync-server/www/assets/ProfilePage-DDkdHaC_.js @@ -1,4 +1,4 @@ -import{c as E,u as P,d as S,r as p,f as q,g as F,j as e,B as f,l as B,ac as L,H as z,J as k,S as M,I as Q,ad as _,ae as K,af as v,ag as T}from"./index-DuP8O2p4.js";/** +import{c as E,u as P,d as S,r as p,f as q,g as F,j as e,B as f,l as B,ac as L,H as z,J as k,S as M,I as Q,ad as _,ae as K,af as v,ag as T}from"./index-DH5SEuAI.js";/** * @license lucide-react v0.475.0 - ISC * * This source code is licensed under the ISC license. diff --git a/sync-server/www/assets/RecordsPage-BldEEKj2.js b/sync-server/www/assets/RecordsPage-CYTmHZ1M.js similarity index 99% rename from sync-server/www/assets/RecordsPage-BldEEKj2.js rename to sync-server/www/assets/RecordsPage-CYTmHZ1M.js index a6e46f8..bd30f3b 100644 --- a/sync-server/www/assets/RecordsPage-BldEEKj2.js +++ b/sync-server/www/assets/RecordsPage-CYTmHZ1M.js @@ -1,4 +1,4 @@ -import{c as fe,j as e,a as N,r as s,b as he,u as ve,d as ge,e as je,f as L,g as ye,I as be,S as k,B as w,P as Q,h as te,L as se,G as ae,R as Ne,i as ne,k as ke,l as we,T as Ce,E as le,m as Ee,n as Se,o as _e,C as ze,p as qe,q as Le,s as Re,t as De,v as Ie}from"./index-DuP8O2p4.js";/** +import{c as fe,j as e,a as N,r as s,b as he,u as ve,d as ge,e as je,f as L,g as ye,I as be,S as k,B as w,P as Q,h as te,L as se,G as ae,R as Ne,i as ne,k as ke,l as we,T as Ce,E as le,m as Ee,n as Se,o as _e,C as ze,p as qe,q as Le,s as Re,t as De,v as Ie}from"./index-DH5SEuAI.js";/** * @license lucide-react v0.475.0 - ISC * * This source code is licensed under the ISC license. diff --git a/sync-server/www/assets/ResumePage-CI6B-TV3.js b/sync-server/www/assets/ResumePage-Dq8wmINI.js similarity index 99% rename from sync-server/www/assets/ResumePage-CI6B-TV3.js rename to sync-server/www/assets/ResumePage-Dq8wmINI.js index 53cc555..298bea2 100644 --- a/sync-server/www/assets/ResumePage-CI6B-TV3.js +++ b/sync-server/www/assets/ResumePage-Dq8wmINI.js @@ -1,4 +1,4 @@ -import{c as B,d as ve,f as te,r as E,j as e,B as R,ah as Ne,af as L,J as U,S as se,ad as ce,P as q,H as we,a9 as Ce,T as ne,I as W,ag as Se,v as _e}from"./index-DuP8O2p4.js";import{C as ie,a as ae,b as re}from"./card-DR9dPxFa.js";import{R as le,P as ze,C as Re}from"./rotate-ccw-xltE5Sb1.js";/** +import{c as B,d as ve,f as te,r as E,j as e,B as R,ah as Ne,af as L,J as U,S as se,ad as ce,P as q,H as we,a9 as Ce,T as ne,I as W,ag as Se,v as _e}from"./index-DH5SEuAI.js";import{C as ie,a as ae,b as re}from"./card-BI024Nvz.js";import{R as le,P as ze,C as Re}from"./rotate-ccw-Cm9sTuWZ.js";/** * @license lucide-react v0.475.0 - ISC * * This source code is licensed under the ISC license. diff --git a/sync-server/www/assets/TaxonomyPage-CgmfKWW-.js b/sync-server/www/assets/TaxonomyPage-Bkhw9TpJ.js similarity index 97% rename from sync-server/www/assets/TaxonomyPage-CgmfKWW-.js rename to sync-server/www/assets/TaxonomyPage-Bkhw9TpJ.js index 6736f9c..0a414de 100644 --- a/sync-server/www/assets/TaxonomyPage-CgmfKWW-.js +++ b/sync-server/www/assets/TaxonomyPage-Bkhw9TpJ.js @@ -1 +1 @@ -import{j as e,u as k,d as q,f as z,r as g,g as h,W as F,X as w,B as j,T as D,I as Q,P as T,C as E,Y as M,Z as B,s as P,_ as I}from"./index-DuP8O2p4.js";import{C as K,a as S}from"./card-DR9dPxFa.js";const f=["#3056d3","#7c3aed","#0891b2","#16a34a","#d97706","#dc2626","#db2777","#64748b"];function A(){return e.jsxs("div",{className:"mx-auto max-w-[1080px] px-3 py-4 sm:px-6 sm:py-5",children:[e.jsx("p",{className:"mb-4 text-[12px] text-ink-3",children:"字典驱动录入表单中的下拉选项;维度是自定义的成长分类轴,一条记录可挂多个维度。"}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[e.jsx(C,{kind:"level",title:"级别字典",description:"国际级、国家级、省市级等,可按学校口径增改"}),e.jsx(C,{kind:"role",title:"角色字典",description:"主导、核心、参加等参与角色"}),e.jsx(O,{})]})]})}function C({kind:r,title:x,description:N}){var v;const l=k(),o=q(),n=(((v=z({queryKey:["taxonomy-all"],queryFn:()=>P()}).data)==null?void 0:v.items)??[]).filter(s=>s.kind===r).sort((s,m)=>s.sort-m.sort),[a,c]=g.useState(""),[u,d]=g.useState(null),t=h({mutationFn:F,onSuccess:()=>void l.invalidateQueries({queryKey:["taxonomy-all"]})}),i=h({mutationFn:s=>w(s),onSuccess:()=>{l.invalidateQueries({queryKey:["taxonomy-all"]}),o("success","已删除"),d(null)},onError:s=>{o("error",s.message),d(null)}});return e.jsxs(K,{children:[e.jsx(S,{title:x,extra:e.jsx("span",{className:"text-[11px] text-ink-3",children:N})}),e.jsxs("div",{className:"flex flex-col gap-1 p-3",children:[n.map((s,m)=>e.jsxs("div",{className:"flex items-center gap-2 rounded-md px-1 py-1 hover:bg-surface-2",children:[e.jsx("input",{type:"color",value:s.color??f[m%f.length],className:"size-5 cursor-pointer rounded border border-line bg-surface",onChange:y=>t.mutate({id:s.id,kind:r,value:s.value,color:y.target.value,sort:s.sort})}),e.jsx("input",{className:"h-7 flex-1 rounded border border-transparent bg-transparent px-1.5 text-[13px] text-ink-1 hover:border-line focus:border-brand focus:outline-none",value:s.value,onChange:()=>{},onBlur:y=>{const b=y.target.value.trim();b&&b!==s.value&&t.mutate({id:s.id,kind:r,value:b,color:s.color,sort:s.sort})},defaultValue:s.value},s.value),e.jsxs("span",{className:"num w-14 text-right text-[11px] text-ink-3",children:["#",s.sort]}),s.is_builtin?e.jsx("span",{className:"w-7 text-center text-[11px] text-ink-3",children:"内置"}):e.jsx(j,{variant:"ghost",size:"icon-sm","aria-label":"删除",onClick:()=>d({id:s.id,value:s.value}),children:e.jsx(D,{size:13})})]},s.id)),e.jsxs("div",{className:"mt-1 flex items-center gap-2 border-t border-line pt-2",children:[e.jsx(Q,{className:"flex-1",placeholder:"新增条目,回车或点击按钮",value:a,onChange:s=>c(s.target.value),onKeyDown:s=>{var m;s.key==="Enter"&&a.trim()&&(t.mutate({kind:r,value:a.trim(),sort:(((m=n.at(-1))==null?void 0:m.sort)??0)+10}),c(""))}}),e.jsxs(j,{size:"sm",variant:"secondary",disabled:!a.trim(),onClick:()=>{var s;t.mutate({kind:r,value:a.trim(),sort:(((s=n.at(-1))==null?void 0:s.sort)??0)+10}),c("")},children:[e.jsx(T,{size:13})," 添加"]})]})]}),e.jsx(E,{open:!!u,title:"删除字典条目",content:u?"确定删除「"+u.value+"」吗?":"",onCancel:()=>d(null),onOk:()=>u&&i.mutate(u.id)})]})}function O(){var d;const r=k(),x=q(),l=[...((d=z({queryKey:["dimensions"],queryFn:I}).data)==null?void 0:d.items)??[]].sort((t,i)=>t.sort-i.sort),[o,p]=g.useState(""),[n,a]=g.useState(null),c=h({mutationFn:M,onSuccess:()=>void r.invalidateQueries({queryKey:["dimensions"]})}),u=h({mutationFn:t=>B(t),onSuccess:()=>{r.invalidateQueries({queryKey:["dimensions"]}),x("success","已删除"),a(null)},onError:t=>{x("error",t.message),a(null)}});return e.jsxs(K,{children:[e.jsx(S,{title:"成长维度",extra:e.jsx("span",{className:"text-[11px] text-ink-3",children:"如:学业深造 / 职业发展 / 兴趣生活"})}),e.jsxs("div",{className:"flex flex-col gap-1 p-3",children:[l.map((t,i)=>e.jsxs("div",{className:"flex items-center gap-2 rounded-md px-1 py-1 hover:bg-surface-2",children:[e.jsx("span",{className:"size-3 rounded-full",style:{backgroundColor:t.color??f[i%f.length]}}),e.jsx("input",{className:"h-7 flex-1 rounded border border-transparent bg-transparent px-1.5 text-[13px] text-ink-1 hover:border-line focus:border-brand focus:outline-none",defaultValue:t.name,onBlur:v=>{const s=v.target.value.trim();s&&s!==t.name&&c.mutate({id:t.id,name:s,color:t.color,sort:t.sort})}},t.name),e.jsx(j,{variant:"ghost",size:"icon-sm","aria-label":"删除",onClick:()=>a({id:t.id,name:t.name}),children:e.jsx(D,{size:13})})]},t.id)),!l.length&&e.jsx("div",{className:"py-2 text-center text-[12px] text-ink-3",children:"尚未配置维度"}),e.jsxs("div",{className:"mt-1 flex items-center gap-2 border-t border-line pt-2",children:[e.jsx(Q,{className:"flex-1",placeholder:"新增维度名称",value:o,onChange:t=>p(t.target.value),onKeyDown:t=>{var i;t.key==="Enter"&&o.trim()&&(c.mutate({name:o.trim(),sort:(((i=l.at(-1))==null?void 0:i.sort)??0)+10}),p(""))}}),e.jsxs(j,{size:"sm",variant:"secondary",disabled:!o.trim(),onClick:()=>{var t;c.mutate({name:o.trim(),sort:(((t=l.at(-1))==null?void 0:t.sort)??0)+10}),p("")},children:[e.jsx(T,{size:13})," 添加"]})]})]}),e.jsx(E,{open:!!n,title:"删除维度",content:n?"确定删除「"+n.name+"」吗?记录与该维度的关联将一并移除。":"",onCancel:()=>a(null),onOk:()=>n&&u.mutate(n.id)})]})}export{A as TaxonomyPage}; +import{j as e,u as k,d as q,f as z,r as g,g as h,W as F,X as w,B as j,T as D,I as Q,P as T,C as E,Y as M,Z as B,s as P,_ as I}from"./index-DH5SEuAI.js";import{C as K,a as S}from"./card-BI024Nvz.js";const f=["#3056d3","#7c3aed","#0891b2","#16a34a","#d97706","#dc2626","#db2777","#64748b"];function A(){return e.jsxs("div",{className:"mx-auto max-w-[1080px] px-3 py-4 sm:px-6 sm:py-5",children:[e.jsx("p",{className:"mb-4 text-[12px] text-ink-3",children:"字典驱动录入表单中的下拉选项;维度是自定义的成长分类轴,一条记录可挂多个维度。"}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[e.jsx(C,{kind:"level",title:"级别字典",description:"国际级、国家级、省市级等,可按学校口径增改"}),e.jsx(C,{kind:"role",title:"角色字典",description:"主导、核心、参加等参与角色"}),e.jsx(O,{})]})]})}function C({kind:r,title:x,description:N}){var v;const l=k(),o=q(),n=(((v=z({queryKey:["taxonomy-all"],queryFn:()=>P()}).data)==null?void 0:v.items)??[]).filter(s=>s.kind===r).sort((s,m)=>s.sort-m.sort),[a,c]=g.useState(""),[u,d]=g.useState(null),t=h({mutationFn:F,onSuccess:()=>void l.invalidateQueries({queryKey:["taxonomy-all"]})}),i=h({mutationFn:s=>w(s),onSuccess:()=>{l.invalidateQueries({queryKey:["taxonomy-all"]}),o("success","已删除"),d(null)},onError:s=>{o("error",s.message),d(null)}});return e.jsxs(K,{children:[e.jsx(S,{title:x,extra:e.jsx("span",{className:"text-[11px] text-ink-3",children:N})}),e.jsxs("div",{className:"flex flex-col gap-1 p-3",children:[n.map((s,m)=>e.jsxs("div",{className:"flex items-center gap-2 rounded-md px-1 py-1 hover:bg-surface-2",children:[e.jsx("input",{type:"color",value:s.color??f[m%f.length],className:"size-5 cursor-pointer rounded border border-line bg-surface",onChange:y=>t.mutate({id:s.id,kind:r,value:s.value,color:y.target.value,sort:s.sort})}),e.jsx("input",{className:"h-7 flex-1 rounded border border-transparent bg-transparent px-1.5 text-[13px] text-ink-1 hover:border-line focus:border-brand focus:outline-none",value:s.value,onChange:()=>{},onBlur:y=>{const b=y.target.value.trim();b&&b!==s.value&&t.mutate({id:s.id,kind:r,value:b,color:s.color,sort:s.sort})},defaultValue:s.value},s.value),e.jsxs("span",{className:"num w-14 text-right text-[11px] text-ink-3",children:["#",s.sort]}),s.is_builtin?e.jsx("span",{className:"w-7 text-center text-[11px] text-ink-3",children:"内置"}):e.jsx(j,{variant:"ghost",size:"icon-sm","aria-label":"删除",onClick:()=>d({id:s.id,value:s.value}),children:e.jsx(D,{size:13})})]},s.id)),e.jsxs("div",{className:"mt-1 flex items-center gap-2 border-t border-line pt-2",children:[e.jsx(Q,{className:"flex-1",placeholder:"新增条目,回车或点击按钮",value:a,onChange:s=>c(s.target.value),onKeyDown:s=>{var m;s.key==="Enter"&&a.trim()&&(t.mutate({kind:r,value:a.trim(),sort:(((m=n.at(-1))==null?void 0:m.sort)??0)+10}),c(""))}}),e.jsxs(j,{size:"sm",variant:"secondary",disabled:!a.trim(),onClick:()=>{var s;t.mutate({kind:r,value:a.trim(),sort:(((s=n.at(-1))==null?void 0:s.sort)??0)+10}),c("")},children:[e.jsx(T,{size:13})," 添加"]})]})]}),e.jsx(E,{open:!!u,title:"删除字典条目",content:u?"确定删除「"+u.value+"」吗?":"",onCancel:()=>d(null),onOk:()=>u&&i.mutate(u.id)})]})}function O(){var d;const r=k(),x=q(),l=[...((d=z({queryKey:["dimensions"],queryFn:I}).data)==null?void 0:d.items)??[]].sort((t,i)=>t.sort-i.sort),[o,p]=g.useState(""),[n,a]=g.useState(null),c=h({mutationFn:M,onSuccess:()=>void r.invalidateQueries({queryKey:["dimensions"]})}),u=h({mutationFn:t=>B(t),onSuccess:()=>{r.invalidateQueries({queryKey:["dimensions"]}),x("success","已删除"),a(null)},onError:t=>{x("error",t.message),a(null)}});return e.jsxs(K,{children:[e.jsx(S,{title:"成长维度",extra:e.jsx("span",{className:"text-[11px] text-ink-3",children:"如:学业深造 / 职业发展 / 兴趣生活"})}),e.jsxs("div",{className:"flex flex-col gap-1 p-3",children:[l.map((t,i)=>e.jsxs("div",{className:"flex items-center gap-2 rounded-md px-1 py-1 hover:bg-surface-2",children:[e.jsx("span",{className:"size-3 rounded-full",style:{backgroundColor:t.color??f[i%f.length]}}),e.jsx("input",{className:"h-7 flex-1 rounded border border-transparent bg-transparent px-1.5 text-[13px] text-ink-1 hover:border-line focus:border-brand focus:outline-none",defaultValue:t.name,onBlur:v=>{const s=v.target.value.trim();s&&s!==t.name&&c.mutate({id:t.id,name:s,color:t.color,sort:t.sort})}},t.name),e.jsx(j,{variant:"ghost",size:"icon-sm","aria-label":"删除",onClick:()=>a({id:t.id,name:t.name}),children:e.jsx(D,{size:13})})]},t.id)),!l.length&&e.jsx("div",{className:"py-2 text-center text-[12px] text-ink-3",children:"尚未配置维度"}),e.jsxs("div",{className:"mt-1 flex items-center gap-2 border-t border-line pt-2",children:[e.jsx(Q,{className:"flex-1",placeholder:"新增维度名称",value:o,onChange:t=>p(t.target.value),onKeyDown:t=>{var i;t.key==="Enter"&&o.trim()&&(c.mutate({name:o.trim(),sort:(((i=l.at(-1))==null?void 0:i.sort)??0)+10}),p(""))}}),e.jsxs(j,{size:"sm",variant:"secondary",disabled:!o.trim(),onClick:()=>{var t;c.mutate({name:o.trim(),sort:(((t=l.at(-1))==null?void 0:t.sort)??0)+10}),p("")},children:[e.jsx(T,{size:13})," 添加"]})]})]}),e.jsx(E,{open:!!n,title:"删除维度",content:n?"确定删除「"+n.name+"」吗?记录与该维度的关联将一并移除。":"",onCancel:()=>a(null),onOk:()=>n&&u.mutate(n.id)})]})}export{A as TaxonomyPage}; diff --git a/sync-server/www/assets/TypesPage-D_410bj6.js b/sync-server/www/assets/TypesPage-C7E9_7xq.js similarity index 98% rename from sync-server/www/assets/TypesPage-D_410bj6.js rename to sync-server/www/assets/TypesPage-C7E9_7xq.js index 241f2f5..c819901 100644 --- a/sync-server/www/assets/TypesPage-D_410bj6.js +++ b/sync-server/www/assets/TypesPage-C7E9_7xq.js @@ -1,4 +1,4 @@ -import{c as D,u as K,d as I,f as L,r,g as q,j as e,B as p,P as F,N as O,m as _,l as H,T as P,C as R,O as G,H as J,J as i,I as j,Q as U,S as z,U as V,V as W,q as X}from"./index-DuP8O2p4.js";import{C as Y}from"./card-DR9dPxFa.js";/** +import{c as D,u as K,d as I,f as L,r,g as q,j as e,B as p,P as F,N as O,m as _,l as H,T as P,C as R,O as G,H as J,J as i,I as j,Q as U,S as z,U as V,V as W,q as X}from"./index-DH5SEuAI.js";import{C as Y}from"./card-BI024Nvz.js";/** * @license lucide-react v0.475.0 - ISC * * This source code is licensed under the ISC license. diff --git a/sync-server/www/assets/card-DR9dPxFa.js b/sync-server/www/assets/card-BI024Nvz.js similarity index 89% rename from sync-server/www/assets/card-DR9dPxFa.js rename to sync-server/www/assets/card-BI024Nvz.js index 2e973cb..db8d718 100644 --- a/sync-server/www/assets/card-DR9dPxFa.js +++ b/sync-server/www/assets/card-BI024Nvz.js @@ -1 +1 @@ -import{j as s,a}from"./index-DuP8O2p4.js";function i({className:r,...e}){return s.jsx("div",{className:a("rounded-lg border border-line bg-surface shadow-card",r),...e})}function t({title:r,extra:e,className:n}){return s.jsxs("div",{className:a("flex min-h-11 flex-wrap items-center justify-between gap-2 border-b border-line px-4 py-1.5",n),children:[s.jsx("h3",{className:"text-[13px] font-semibold text-ink-1",children:r}),e&&s.jsx("div",{className:"flex flex-wrap items-center gap-2",children:e})]})}function c({className:r,...e}){return s.jsx("div",{className:a("p-4",r),...e})}export{i as C,t as a,c as b}; +import{j as s,a}from"./index-DH5SEuAI.js";function i({className:r,...e}){return s.jsx("div",{className:a("rounded-lg border border-line bg-surface shadow-card",r),...e})}function t({title:r,extra:e,className:n}){return s.jsxs("div",{className:a("flex min-h-11 flex-wrap items-center justify-between gap-2 border-b border-line px-4 py-1.5",n),children:[s.jsx("h3",{className:"text-[13px] font-semibold text-ink-1",children:r}),e&&s.jsx("div",{className:"flex flex-wrap items-center gap-2",children:e})]})}function c({className:r,...e}){return s.jsx("div",{className:a("p-4",r),...e})}export{i as C,t as a,c as b}; diff --git a/sync-server/www/assets/index-D9E2kUSE.css b/sync-server/www/assets/index-D9E2kUSE.css deleted file mode 100644 index efdc59b..0000000 --- a/sync-server/www/assets/index-D9E2kUSE.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-neutral-50:oklch(98.5% 0 none);--color-neutral-100:oklch(97% 0 none);--color-neutral-200:oklch(92.2% 0 none);--color-neutral-300:oklch(87% 0 none);--color-neutral-400:oklch(70.8% 0 none);--color-neutral-500:oklch(55.6% 0 none);--color-neutral-600:oklch(43.9% 0 none);--color-neutral-700:oklch(37.1% 0 none);--color-neutral-800:oklch(26.9% 0 none);--color-neutral-900:oklch(20.5% 0 none);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{inset-inline:0}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.right-2{right:calc(var(--spacing) * 2)}.right-5{right:calc(var(--spacing) * 5)}.bottom-0{bottom:0}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-0{left:0}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-\[7px\]{left:7px}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-3{margin-inline:calc(var(--spacing) * -3)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-auto{margin-block:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mr-auto{margin-right:auto}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-\[22px\]{height:22px}.h-\[34px\]{height:34px}.h-\[60px\]{height:60px}.h-\[72vh\]{height:72vh}.h-\[110px\]{height:110px}.h-\[200px\]{height:200px}.h-\[220px\]{height:220px}.h-full{height:100%}.max-h-\[68vh\]{max-height:68vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[72vh\]{max-height:72vh}.max-h-\[74vh\]{max-height:74vh}.max-h-\[430px\]{max-height:430px}.max-h-\[calc\(100vh-260px\)\]{max-height:calc(100vh - 260px)}.min-h-0{min-height:0}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-\[72px\]{min-height:72px}.w-1{width:var(--spacing)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-\[3px\]{width:3px}.w-\[32\%\]{width:32%}.w-\[52px\]{width:52px}.w-\[56px\]{width:56px}.w-\[58px\]{width:58px}.w-\[62px\]{width:62px}.w-\[64px\]{width:64px}.w-\[72px\]{width:72px}.w-\[76px\]{width:76px}.w-\[82px\]{width:82px}.w-\[110px\]{width:110px}.w-\[120px\]{width:120px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[190px\]{width:190px}.w-\[210px\]{width:210px}.w-\[236px\]{width:236px}.w-\[240px\]{width:240px}.w-full{width:100%}.w-px{width:1px}.max-w-\[220px\]{max-width:220px}.max-w-\[360px\]{max-width:360px}.max-w-\[380px\]{max-width:380px}.max-w-\[794px\]{max-width:794px}.max-w-\[820px\]{max-width:820px}.max-w-\[880px\]{max-width:880px}.max-w-\[1080px\]{max-width:1080px}.max-w-\[1280px\]{max-width:1280px}.min-w-0{min-width:0}.min-w-\[52px\]{min-width:52px}.min-w-\[80px\]{min-width:80px}.min-w-\[120px\]{min-width:120px}.min-w-\[128px\]{min-width:128px}.min-w-\[160px\]{min-width:160px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-y{resize:vertical}.scroll-mt-16{scroll-margin-top:calc(var(--spacing) * 16)}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[76px_1fr\]{grid-template-columns:76px 1fr}.grid-cols-\[84px_1fr\]{grid-template-columns:84px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-px{gap:1px}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-3\.5{row-gap:calc(var(--spacing) * 3.5)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-line>:not(:last-child)){border-color:var(--border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:12px}.rounded-md{border-radius:8px}.rounded-sm{border-radius:5px}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-lg{border-bottom-right-radius:12px;border-bottom-left-radius:12px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-brand,.border-brand\/30{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.border-brand\/30{border-color:color-mix(in oklab,var(--brand) 30%,transparent)}}.border-brand\/40{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.border-brand\/40{border-color:color-mix(in oklab,var(--brand) 40%,transparent)}}.border-danger\/30{border-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.border-danger\/30{border-color:color-mix(in oklab,var(--danger) 30%,transparent)}}.border-ink-1{border-color:var(--text-1)}.border-line{border-color:var(--border)}.border-neutral-100{border-color:var(--color-neutral-100)}.border-neutral-200{border-color:var(--color-neutral-200)}.border-neutral-300{border-color:var(--color-neutral-300)}.border-transparent{border-color:#0000}.border-warning{border-color:var(--warning)}.\!bg-danger{background-color:var(--danger)!important}.bg-bg,.bg-bg\/90{background-color:var(--bg)}@supports (color:color-mix(in lab,red,red)){.bg-bg\/90{background-color:color-mix(in oklab,var(--bg) 90%,transparent)}}.bg-bg\/95{background-color:var(--bg)}@supports (color:color-mix(in lab,red,red)){.bg-bg\/95{background-color:color-mix(in oklab,var(--bg) 95%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.bg-brand{background-color:var(--brand)}.bg-brand-subtle,.bg-brand-subtle\/40{background-color:var(--brand-subtle)}@supports (color:color-mix(in lab,red,red)){.bg-brand-subtle\/40{background-color:color-mix(in oklab,var(--brand-subtle) 40%,transparent)}}.bg-danger{background-color:var(--danger)}.bg-danger-subtle{background-color:var(--danger-subtle)}.bg-line{background-color:var(--border)}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-neutral-50\/60{background-color:#fafafa99}@supports (color:color-mix(in lab,red,red)){.bg-neutral-50\/60{background-color:color-mix(in oklab,var(--color-neutral-50) 60%,transparent)}}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-neutral-300{background-color:var(--color-neutral-300)}.bg-success-subtle{background-color:var(--success-subtle)}.bg-surface{background-color:var(--surface)}.bg-surface-2{background-color:var(--surface-2)}.bg-surface-3{background-color:var(--surface-3)}.bg-transparent{background-color:#0000}.bg-warning-subtle{background-color:var(--warning-subtle)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/60{--tw-gradient-from:#0009}@supports (color:color-mix(in lab,red,red)){.from-black\/60{--tw-gradient-from:color-mix(in oklab, var(--color-black) 60%, transparent)}}.from-black\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-neutral-900{--tw-gradient-from:var(--color-neutral-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-neutral-700{--tw-gradient-to:var(--color-neutral-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-px{padding-block:1px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-white{color:var(--color-white)!important}.text-\[var\(--accent\)\]{color:var(--accent)}.text-brand{color:var(--brand)}.text-brand-text{color:var(--brand-text)}.text-danger{color:var(--danger)}.text-ink-1{color:var(--text-1)}.text-ink-2{color:var(--text-2)}.text-ink-3,.text-ink-3\/60{color:var(--text-3)}@supports (color:color-mix(in lab,red,red)){.text-ink-3\/60{color:color-mix(in oklab,var(--text-3) 60%,transparent)}}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-neutral-900{color:var(--color-neutral-900)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow-card{--tw-shadow:0 1px 2px var(--tw-shadow-color,#00000008), 0 2px 8px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-pop{--tw-shadow:0 4px 12px var(--tw-shadow-color,#00000014), 0 16px 48px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:scale-\[1\.03\]:is(:where(.group):hover *){scale:1.03}.group-hover\:scale-\[1\.04\]:is(:where(.group):hover *){scale:1.04}.group-hover\:text-brand-text:is(:where(.group):hover *){color:var(--brand-text)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-ink-3::placeholder{color:var(--text-3)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-brand:focus-within{border-color:var(--brand)}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-brand\/40:hover{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.hover\:border-brand\/40:hover{border-color:color-mix(in oklab,var(--brand) 40%,transparent)}}.hover\:border-line:hover{border-color:var(--border)}.hover\:border-line-strong:hover{border-color:var(--border-strong)}.hover\:bg-brand-hover:hover{background-color:var(--brand-hover)}.hover\:bg-brand-subtle:hover{background-color:var(--brand-subtle)}.hover\:bg-danger-subtle:hover{background-color:var(--danger-subtle)}.hover\:bg-surface-2:hover{background-color:var(--surface-2)}.hover\:bg-surface-3:hover{background-color:var(--surface-3)}.hover\:text-brand-text:hover{color:var(--brand-text)}.hover\:text-danger:hover{color:var(--danger)}.hover\:text-ink-1:hover{color:var(--text-1)}.hover\:text-ink-2:hover{color:var(--text-2)}.hover\:text-success:hover{color:var(--success)}.hover\:text-warning:hover{color:var(--warning)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-brand:hover{--tw-shadow:0 2px 8px var(--tw-shadow-color,#3056d347);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-pop:hover{--tw-shadow:0 4px 12px var(--tw-shadow-color,#00000014), 0 16px 48px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-\[0\.97\]:hover{--tw-brightness:brightness(.97);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:border-brand:focus{border-color:var(--brand)}.focus\:shadow-\[0_0_0_1\.5px_rgba\(48\,86\,211\,0\.5\)\]:focus{--tw-shadow:0 0 0 1.5px var(--tw-shadow-color,#3056d380);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-surface-2:active{background-color:var(--surface-2)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}@media not all and (min-width:64rem){.max-lg\:fixed{position:fixed}.max-lg\:inset-y-0{inset-block:0}.max-lg\:left-0{left:0}.max-lg\:z-40{z-index:40}.max-lg\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.max-lg\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.max-lg\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@media(min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:-mx-6{margin-inline:calc(var(--spacing) * -6)}.sm\:ml-auto{margin-left:auto}.sm\:contents{display:contents}.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:h-14{height:calc(var(--spacing) * 14)}.sm\:w-\[96px\]{width:96px}.sm\:w-\[100px\]{width:100px}.sm\:w-\[110px\]{width:110px}.sm\:w-\[120px\]{width:120px}.sm\:w-\[130px\]{width:130px}.sm\:w-\[220px\]{width:220px}.sm\:w-auto{width:auto}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[1fr_120px_100px\]{grid-template-columns:1fr 120px 100px}.sm\:grid-cols-\[1fr_130px_120px_1fr_28px\]{grid-template-columns:1fr 130px 120px 1fr 28px}.sm\:grid-cols-\[200px_1fr\]{grid-template-columns:200px 1fr}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-6{gap:calc(var(--spacing) * 6)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:p-10{padding:calc(var(--spacing) * 10)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-0{padding-block:0}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}.sm\:py-5{padding-block:calc(var(--spacing) * 5)}}@media(min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-4{top:calc(var(--spacing) * 4)}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:hidden{display:none}.lg\:max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.lg\:w-\[280px\]{width:280px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1fr_340px\]{grid-template-columns:1fr 340px}.lg\:self-start{align-self:flex-start}.lg\:overflow-y-auto{overflow-y:auto}.lg\:pr-1{padding-right:var(--spacing)}}.\[\&_img\]\:max-w-full img{max-width:100%}.\[\&_table\]\:border-collapse table{border-collapse:collapse}.\[\&_td\]\:border td{border-style:var(--tw-border-style);border-width:1px}.\[\&_td\]\:border-line td{border-color:var(--border)}.\[\&_td\]\:px-2 td{padding-inline:calc(var(--spacing) * 2)}.\[\&_td\]\:py-1 td{padding-block:var(--spacing)}.\[\&_th\]\:border th{border-style:var(--tw-border-style);border-width:1px}.\[\&_th\]\:border-line th{border-color:var(--border)}.\[\&_th\]\:px-2 th{padding-inline:calc(var(--spacing) * 2)}.\[\&_th\]\:py-1 th{padding-block:var(--spacing)}}:root{--bg:#f3f4f6;--surface:#fff;--surface-2:#f8f9fa;--surface-3:#eceef1;--border:#e3e6ea;--border-strong:#c8cdd6;--text-1:#111318;--text-2:#3d434f;--text-3:#747c8a;--brand:#3346d3;--brand-hover:#2a3ab8;--brand-subtle:#eef1ff;--brand-text:#2a3ab8;--success:#177245;--success-subtle:#ebfaf1;--warning:#a86509;--warning-subtle:#fef8eb;--danger:#d5304f;--danger-subtle:#fef0f2;color-scheme:light}.dark{--bg:#0c0d10;--surface:#141519;--surface-2:#1a1c22;--surface-3:#23262e;--border:#262932;--border-strong:#363b47;--text-1:#e9ebf0;--text-2:#a0a8b8;--text-3:#68707e;--brand:#6d8bfa;--brand-hover:#8aa2fb;--brand-subtle:#1a2144;--brand-text:#96adfa;--success:#34d399;--success-subtle:#0d2921;--warning:#fbbf24;--warning-subtle:#2b2109;--danger:#f87171;--danger-subtle:#2d1317;color-scheme:dark}html,body,#root{height:100%}html,body{overflow-x:clip}body{-webkit-tap-highlight-color:transparent;touch-action:manipulation;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}@media(pointer:coarse){button,[role=button],a{min-height:36px}input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),select,textarea{font-size:16px!important}}body{background:var(--bg);color:var(--text-1);letter-spacing:.003em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv02","cv03","cv04","cv11";font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI Variable Text,Segoe UI,Microsoft YaHei UI,Microsoft YaHei,PingFang SC,sans-serif;font-size:14px;line-height:1.55}h1,h2,h3{letter-spacing:-.022em;text-wrap:balance}@media(max-width:640px){.hover-lift:hover{transform:none}}.num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}::selection{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){::selection{background:color-mix(in srgb,var(--brand) 18%,transparent)}}*{scrollbar-width:thin;scrollbar-color:var(--text-3) transparent}@supports (color:color-mix(in lab,red,red)){*{scrollbar-color:color-mix(in srgb,var(--text-3) 30%,transparent) transparent}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:var(--text-3)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-3) 25%,transparent)}}::-webkit-scrollbar-thumb{border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-3) 45%,transparent)}}::-webkit-scrollbar-track{background:0 0}:focus-visible{outline:2px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 50%,transparent)}}:focus-visible{outline-offset:2px;border-radius:inherit}.animate-in{animation:.22s cubic-bezier(.16,1,.3,1) fp-in}@keyframes fp-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}.animate-fade{animation:.3s ease-out fp-fade}@keyframes fp-fade{0%{opacity:0}to{opacity:1}}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.hover-lift{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s}.hover-lift:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000014,0 1px 4px #0000000a}.nav-active:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}@page{size:A4;margin:10mm}@media print{.no-print{display:none!important}html,body,#root{background:#fff!important;height:auto!important}body{padding:0!important}.app-scroll,.print-scroll{height:auto!important;max-height:none!important;overflow:visible!important}.print-sheet{box-shadow:none!important;border:none!important;border-radius:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}*{scrollbar-width:none!important}::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}}.resume-tpl-tech .r-sec-title{color:var(--accent);border-left:3px solid var(--accent);padding-left:8px}.resume-tpl-tech .r-item-title,.resume-tpl-tech .num{color:var(--accent)}.resume-tpl-minimal .r-sec-title{color:#666;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #e2e2e2;padding-bottom:4px;font-size:11px;font-weight:600}.resume-tpl-classic .r-sec-title{border-bottom:2px solid #222;padding-bottom:4px}.resume-tpl-minimal .r-item-title{font-weight:600}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} diff --git a/sync-server/www/assets/index-DuP8O2p4.js b/sync-server/www/assets/index-DH5SEuAI.js similarity index 53% rename from sync-server/www/assets/index-DuP8O2p4.js rename to sync-server/www/assets/index-DH5SEuAI.js index 40c5c86..1f42d31 100644 --- a/sync-server/www/assets/index-DuP8O2p4.js +++ b/sync-server/www/assets/index-DH5SEuAI.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-CGCiby6s.js","assets/card-DR9dPxFa.js","assets/useChart-DtLH1jYK.js","assets/echarts-BIWefrIc.js","assets/GradesPage-BT4mtuTs.js","assets/TypesPage-D_410bj6.js","assets/TaxonomyPage-CgmfKWW-.js","assets/AdminPage-Ddf_rNuo.js","assets/ResumePage-CI6B-TV3.js","assets/rotate-ccw-xltE5Sb1.js","assets/AssessmentPage-cLSGAKx0.js"])))=>i.map(i=>d[i]); -var wp=n=>{throw TypeError(n)};var Kf=(n,r,s)=>r.has(n)||wp("Cannot "+s);var T=(n,r,s)=>(Kf(n,r,"read from private field"),s?s.call(n):r.get(n)),he=(n,r,s)=>r.has(n)?wp("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(n):r.set(n,s),P=(n,r,s,o)=>(Kf(n,r,"write to private field"),o?o.call(n,s):r.set(n,s),s),Se=(n,r,s)=>(Kf(n,r,"access private method"),s);var Ys=(n,r,s,o)=>({set _(f){P(n,r,f,s)},get _(){return T(n,r,o)}});(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))o(f);new MutationObserver(f=>{for(const m of f)if(m.type==="childList")for(const d of m.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&o(d)}).observe(document,{childList:!0,subtree:!0});function s(f){const m={};return f.integrity&&(m.integrity=f.integrity),f.referrerPolicy&&(m.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?m.credentials="include":f.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function o(f){if(f.ep)return;f.ep=!0;const m=s(f);fetch(f.href,m)}})();var K5=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Mg(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Zf={exports:{}},Iu={};/** +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-lHBbav-t.js","assets/card-BI024Nvz.js","assets/useChart-ZF2N_RV4.js","assets/echarts-BIWefrIc.js","assets/GradesPage-BLNIMfYp.js","assets/TypesPage-C7E9_7xq.js","assets/TaxonomyPage-Bkhw9TpJ.js","assets/AdminPage-07xjBzip.js","assets/ResumePage-Dq8wmINI.js","assets/rotate-ccw-Cm9sTuWZ.js","assets/AssessmentPage-DniR4Zwe.js"])))=>i.map(i=>d[i]); +var jv=n=>{throw TypeError(n)};var Kf=(n,u,s)=>u.has(n)||jv("Cannot "+s);var T=(n,u,s)=>(Kf(n,u,"read from private field"),s?s.call(n):u.get(n)),he=(n,u,s)=>u.has(n)?jv("Cannot add the same private member more than once"):u instanceof WeakSet?u.add(n):u.set(n,s),P=(n,u,s,o)=>(Kf(n,u,"write to private field"),o?o.call(n,s):u.set(n,s),s),Se=(n,u,s)=>(Kf(n,u,"access private method"),s);var Ys=(n,u,s,o)=>({set _(f){P(n,u,f,s)},get _(){return T(n,u,o)}});(function(){const u=document.createElement("link").relList;if(u&&u.supports&&u.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))o(f);new MutationObserver(f=>{for(const m of f)if(m.type==="childList")for(const d of m.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&o(d)}).observe(document,{childList:!0,subtree:!0});function s(f){const m={};return f.integrity&&(m.integrity=f.integrity),f.referrerPolicy&&(m.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?m.credentials="include":f.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function o(f){if(f.ep)return;f.ep=!0;const m=s(f);fetch(f.href,m)}})();var K5=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ug(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Zf={exports:{}},Iu={};/** * @license React * react-jsx-runtime.production.js * @@ -7,7 +7,7 @@ var wp=n=>{throw TypeError(n)};var Kf=(n,r,s)=>r.has(n)||wp("Cannot "+s);var T=( * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Cp;function t2(){if(Cp)return Iu;Cp=1;var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function s(o,f,m){var d=null;if(m!==void 0&&(d=""+m),f.key!==void 0&&(d=""+f.key),"key"in f){m={};for(var v in f)v!=="key"&&(m[v]=f[v])}else m=f;return f=m.ref,{$$typeof:n,type:o,key:d,ref:f!==void 0?f:null,props:m}}return Iu.Fragment=r,Iu.jsx=s,Iu.jsxs=s,Iu}var jp;function a2(){return jp||(jp=1,Zf.exports=t2()),Zf.exports}var h=a2(),Jf={exports:{}},ge={};/** + */var zv;function o2(){if(zv)return Iu;zv=1;var n=Symbol.for("react.transitional.element"),u=Symbol.for("react.fragment");function s(o,f,m){var d=null;if(m!==void 0&&(d=""+m),f.key!==void 0&&(d=""+f.key),"key"in f){m={};for(var p in f)p!=="key"&&(m[p]=f[p])}else m=f;return f=m.ref,{$$typeof:n,type:o,key:d,ref:f!==void 0?f:null,props:m}}return Iu.Fragment=u,Iu.jsx=s,Iu.jsxs=s,Iu}var Ov;function c2(){return Ov||(Ov=1,Zf.exports=o2()),Zf.exports}var h=c2(),Jf={exports:{}},ge={};/** * @license React * react.production.js * @@ -15,7 +15,7 @@ var wp=n=>{throw TypeError(n)};var Kf=(n,r,s)=>r.has(n)||wp("Cannot "+s);var T=( * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var zp;function l2(){if(zp)return ge;zp=1;var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),m=Symbol.for("react.consumer"),d=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),b=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),_=Symbol.for("react.view_transition"),k=Symbol.iterator;function K(w){return w===null||typeof w!="object"?null:(w=k&&w[k]||w["@@iterator"],typeof w=="function"?w:null)}var q={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},D=Object.assign,H={};function Q(w,G,W){this.props=w,this.context=G,this.refs=H,this.updater=W||q}Q.prototype.isReactComponent={},Q.prototype.setState=function(w,G){if(typeof w!="object"&&typeof w!="function"&&w!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,w,G,"setState")},Q.prototype.forceUpdate=function(w){this.updater.enqueueForceUpdate(this,w,"forceUpdate")};function Z(){}Z.prototype=Q.prototype;function J(w,G,W){this.props=w,this.context=G,this.refs=H,this.updater=W||q}var Y=J.prototype=new Z;Y.constructor=J,D(Y,Q.prototype),Y.isPureReactComponent=!0;var de=Array.isArray;function F(){}var U={H:null,A:null,T:null,S:null},I=Object.prototype.hasOwnProperty;function ae(w,G,W){var ce=W.ref;return{$$typeof:n,type:w,key:G,ref:ce!==void 0?ce:null,props:W}}function Ve(w,G){return ae(w.type,G,w.props)}function Fe(w){return typeof w=="object"&&w!==null&&w.$$typeof===n}function ie(w){var G={"=":"=0",":":"=2"};return"$"+w.replace(/[=:]/g,function(W){return G[W]})}var Ne=/\/+/g;function re(w,G){return typeof w=="object"&&w!==null&&w.key!=null?ie(""+w.key):G.toString(36)}function V(w){switch(w.status){case"fulfilled":return w.value;case"rejected":throw w.reason;default:switch(typeof w.status=="string"?w.then(F,F):(w.status="pending",w.then(function(G){w.status==="pending"&&(w.status="fulfilled",w.value=G)},function(G){w.status==="pending"&&(w.status="rejected",w.reason=G)})),w.status){case"fulfilled":return w.value;case"rejected":throw w.reason}}throw w}function ee(w,G,W,ce,je){var me=typeof w;(me==="undefined"||me==="boolean")&&(w=null);var Ae=!1;if(w===null)Ae=!0;else switch(me){case"bigint":case"string":case"number":Ae=!0;break;case"object":switch(w.$$typeof){case n:case r:Ae=!0;break;case x:return Ae=w._init,ee(Ae(w._payload),G,W,ce,je)}}if(Ae)return je=je(w),Ae=ce===""?"."+re(w,0):ce,de(je)?(W="",Ae!=null&&(W=Ae.replace(Ne,"$&/")+"/"),ee(je,G,W,"",function(Vt){return Vt})):je!=null&&(Fe(je)&&(je=Ve(je,W+(je.key==null||w&&w.key===je.key?"":(""+je.key).replace(Ne,"$&/")+"/")+Ae)),G.push(je)),1;Ae=0;var se=ce===""?".":ce+":";if(de(w))for(var ye=0;ye{throw TypeError(n)};var Kf=(n,r,s)=>r.has(n)||wp("Cannot "+s);var T=( * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Rp;function i2(){return Rp||(Rp=1,(function(n){function r(V,ee){var R=V.length;V.push(ee);e:for(;0>>1,X=V[le];if(0>>1;lef(Ra,R))wf(G,Ra)?(V[le]=G,V[w]=R,le=w):(V[le]=Ra,V[Nt]=R,le=Nt);else if(wf(G,R))V[le]=G,V[w]=R,le=w;else break e}}return ee}function f(V,ee){var R=V.sortIndex-ee.sortIndex;return R!==0?R:V.id-ee.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var m=performance;n.unstable_now=function(){return m.now()}}else{var d=Date,v=d.now();n.unstable_now=function(){return d.now()-v}}var b=[],p=[],x=1,g=null,_=3,k=!1,K=!1,q=!1,D=!1,H=typeof setTimeout=="function"?setTimeout:null,Q=typeof clearTimeout=="function"?clearTimeout:null,Z=typeof setImmediate<"u"?setImmediate:null;function J(V){for(var ee=s(p);ee!==null;){if(ee.callback===null)o(p);else if(ee.startTime<=V)o(p),ee.sortIndex=ee.expirationTime,r(b,ee);else break;ee=s(p)}}function Y(V){if(q=!1,J(V),!K)if(s(b)!==null)K=!0,de||(de=!0,Fe());else{var ee=s(p);ee!==null&&re(Y,ee.startTime-V)}}var de=!1,F=-1,U=5,I=-1;function ae(){return D?!0:!(n.unstable_now()-IV&&ae());){var le=g.callback;if(typeof le=="function"){g.callback=null,_=g.priorityLevel;var X=le(g.expirationTime<=V);if(V=n.unstable_now(),typeof X=="function"){g.callback=X,J(V),ee=!0;break t}g===s(b)&&o(b),J(V)}else o(b);g=s(b)}if(g!==null)ee=!0;else{var ke=s(p);ke!==null&&re(Y,ke.startTime-V),ee=!1}}break e}finally{g=null,_=R,k=!1}ee=void 0}}finally{ee?Fe():de=!1}}}var Fe;if(typeof Z=="function")Fe=function(){Z(Ve)};else if(typeof MessageChannel<"u"){var ie=new MessageChannel,Ne=ie.port2;ie.port1.onmessage=Ve,Fe=function(){Ne.postMessage(null)}}else Fe=function(){H(Ve,0)};function re(V,ee){F=H(function(){V(n.unstable_now())},ee)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(V){V.callback=null},n.unstable_forceFrameRate=function(V){0>V||125le?(V.sortIndex=R,r(p,V),s(b)===null&&V===s(p)&&(q?(Q(F),F=-1):q=!0,re(Y,R-le))):(V.sortIndex=X,r(b,V),K||k||(K=!0,de||(de=!0,Fe()))),V},n.unstable_shouldYield=ae,n.unstable_wrapCallback=function(V){var ee=_;return function(){var R=_;_=ee;try{return V.apply(this,arguments)}finally{_=R}}}})(Pf)),Pf}var Ap;function u2(){return Ap||(Ap=1,$f.exports=i2()),$f.exports}var Wf={exports:{}},Tt={};/** + */var Mv;function h2(){return Mv||(Mv=1,(function(n){function u(V,ee){var R=V.length;V.push(ee);e:for(;0>>1,X=V[le];if(0>>1;lef(Ra,R))wf(G,Ra)?(V[le]=G,V[w]=R,le=w):(V[le]=Ra,V[Nt]=R,le=Nt);else if(wf(G,R))V[le]=G,V[w]=R,le=w;else break e}}return ee}function f(V,ee){var R=V.sortIndex-ee.sortIndex;return R!==0?R:V.id-ee.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var m=performance;n.unstable_now=function(){return m.now()}}else{var d=Date,p=d.now();n.unstable_now=function(){return d.now()-p}}var x=[],v=[],b=1,g=null,_=3,k=!1,K=!1,q=!1,D=!1,H=typeof setTimeout=="function"?setTimeout:null,Q=typeof clearTimeout=="function"?clearTimeout:null,Z=typeof setImmediate<"u"?setImmediate:null;function J(V){for(var ee=s(v);ee!==null;){if(ee.callback===null)o(v);else if(ee.startTime<=V)o(v),ee.sortIndex=ee.expirationTime,u(x,ee);else break;ee=s(v)}}function Y(V){if(q=!1,J(V),!K)if(s(x)!==null)K=!0,de||(de=!0,Fe());else{var ee=s(v);ee!==null&&re(Y,ee.startTime-V)}}var de=!1,F=-1,U=5,I=-1;function ae(){return D?!0:!(n.unstable_now()-IV&&ae());){var le=g.callback;if(typeof le=="function"){g.callback=null,_=g.priorityLevel;var X=le(g.expirationTime<=V);if(V=n.unstable_now(),typeof X=="function"){g.callback=X,J(V),ee=!0;break t}g===s(x)&&o(x),J(V)}else o(x);g=s(x)}if(g!==null)ee=!0;else{var ke=s(v);ke!==null&&re(Y,ke.startTime-V),ee=!1}}break e}finally{g=null,_=R,k=!1}ee=void 0}}finally{ee?Fe():de=!1}}}var Fe;if(typeof Z=="function")Fe=function(){Z(Ve)};else if(typeof MessageChannel<"u"){var ie=new MessageChannel,Ne=ie.port2;ie.port1.onmessage=Ve,Fe=function(){Ne.postMessage(null)}}else Fe=function(){H(Ve,0)};function re(V,ee){F=H(function(){V(n.unstable_now())},ee)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(V){V.callback=null},n.unstable_forceFrameRate=function(V){0>V||125le?(V.sortIndex=R,u(v,V),s(x)===null&&V===s(v)&&(q?(Q(F),F=-1):q=!0,re(Y,R-le))):(V.sortIndex=X,u(x,V),K||k||(K=!0,de||(de=!0,Fe()))),V},n.unstable_shouldYield=ae,n.unstable_wrapCallback=function(V){var ee=_;return function(){var R=_;_=ee;try{return V.apply(this,arguments)}finally{_=R}}}})(Pf)),Pf}var Dv;function m2(){return Dv||(Dv=1,$f.exports=h2()),$f.exports}var Wf={exports:{}},Tt={};/** * @license React * react-dom.production.js * @@ -31,7 +31,7 @@ var wp=n=>{throw TypeError(n)};var Kf=(n,r,s)=>r.has(n)||wp("Cannot "+s);var T=( * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Mp;function r2(){if(Mp)return Tt;Mp=1;var n=zd();function r(x){var g="https://react.dev/errors/"+x;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),Wf.exports=r2(),Wf.exports}/** + */var Uv;function y2(){if(Uv)return Tt;Uv=1;var n=zd();function u(b){var g="https://react.dev/errors/"+b;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(u){console.error(u)}}return n(),Wf.exports=y2(),Wf.exports}/** * @license React * react-dom-client.production.js * @@ -39,15 +39,15 @@ var wp=n=>{throw TypeError(n)};var Kf=(n,r,s)=>r.has(n)||wp("Cannot "+s);var T=( * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Up;function s2(){if(Up)return er;Up=1;var n=u2(),r=zd(),s=Dg();function o(e){var t="https://react.dev/errors/"+e;if(1Xn||(e.current=gl[Xn],gl[Xn]=null,Xn--)}function Ke(e,t){Xn++,gl[Xn]=e.current,e.current=t}var Ma=Aa(null),iu=Aa(null),bl=Aa(null),hr=Aa(null);function mr(e,t){switch(Ke(bl,t),Ke(iu,e),Ke(Ma,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Uv(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Uv(t),e=kv(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}pt(Ma),Ke(Ma,e)}function Kn(){pt(Ma),pt(iu),pt(bl)}function co(e){var t=e.memoizedState;t!==null&&(Mi._currentValue=t.memoizedState,Ke(hr,e)),t=Ma.current;var a=kv(t,e.type);t!==a&&(Ke(iu,e),Ke(Ma,a))}function yr(e){iu.current===e&&(pt(Ma),pt(iu)),hr.current===e&&(pt(hr),Mi._currentValue=Vt)}var fo,ah;function xl(e){if(fo===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);fo=t&&t[1]||"",ah=-1Xn||(e.current=gl[Xn],gl[Xn]=null,Xn--)}function Ke(e,t){Xn++,gl[Xn]=e.current,e.current=t}var Ma=Aa(null),iu=Aa(null),bl=Aa(null),hr=Aa(null);function mr(e,t){switch(Ke(bl,t),Ke(iu,e),Ke(Ma,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Hp(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Hp(t),e=qp(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}vt(Ma),Ke(Ma,e)}function Kn(){vt(Ma),vt(iu),vt(bl)}function co(e){var t=e.memoizedState;t!==null&&(Mi._currentValue=t.memoizedState,Ke(hr,e)),t=Ma.current;var a=qp(t,e.type);t!==a&&(Ke(iu,e),Ke(Ma,a))}function yr(e){iu.current===e&&(vt(Ma),vt(iu)),hr.current===e&&(vt(hr),Mi._currentValue=Vt)}var fo,nh;function xl(e){if(fo===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);fo=t&&t[1]||"",nh=-1)":-1i||S[l]!==z[i]){var M=` -`+S[l].replace(" at new "," at ");return e.displayName&&M.includes("")&&(M=M.replace("",e.displayName)),M}while(1<=l&&0<=i);break}}}finally{ho=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?xl(a):""}function i1(e,t){switch(e.tag){case 26:case 27:case 5:return xl(e.type);case 16:return xl("Lazy");case 13:return e.child!==t&&t!==null?xl("Suspense Fallback"):xl("Suspense");case 19:return xl("SuspenseList");case 0:case 15:return mo(e.type,!1);case 11:return mo(e.type.render,!1);case 1:return mo(e.type,!0);case 31:return xl("Activity");case 30:return xl("ViewTransition");default:return""}}function lh(e){try{var t="",a=null;do t+=i1(e,a),a=e,e=e.return;while(e);return t}catch(l){return` +`+S[l].replace(" at new "," at ");return e.displayName&&M.includes("")&&(M=M.replace("",e.displayName)),M}while(1<=l&&0<=i);break}}}finally{ho=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?xl(a):""}function h1(e,t){switch(e.tag){case 26:case 27:case 5:return xl(e.type);case 16:return xl("Lazy");case 13:return e.child!==t&&t!==null?xl("Suspense Fallback"):xl("Suspense");case 19:return xl("SuspenseList");case 0:case 15:return mo(e.type,!1);case 11:return mo(e.type.render,!1);case 1:return mo(e.type,!0);case 31:return xl("Activity");case 30:return xl("ViewTransition");default:return""}}function ih(e){try{var t="",a=null;do t+=h1(e,a),a=e,e=e.return;while(e);return t}catch(l){return` Error generating stack: `+l.message+` -`+l.stack}}var yo=Object.prototype.hasOwnProperty,vo=n.unstable_scheduleCallback,po=n.unstable_cancelCallback,u1=n.unstable_shouldYield,r1=n.unstable_requestPaint,Xt=n.unstable_now,s1=n.unstable_getCurrentPriorityLevel,nh=n.unstable_ImmediatePriority,ih=n.unstable_UserBlockingPriority,vr=n.unstable_NormalPriority,o1=n.unstable_LowPriority,uh=n.unstable_IdlePriority,c1=n.log,f1=n.unstable_setDisableYieldValue,uu=null,Kt=null;function Sl(e){if(typeof c1=="function"&&f1(e),Kt&&typeof Kt.setStrictMode=="function")try{Kt.setStrictMode(uu,e)}catch{}}var Zt=Math.clz32?Math.clz32:m1,d1=Math.log,h1=Math.LN2;function m1(e){return e>>>=0,e===0?32:31-(d1(e)/h1|0)|0}var pr=256,gr=262144,br=4194304;function un(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function xr(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var i=0,u=e.suspendedLanes,c=e.pingedLanes;e=e.warmLanes;var y=l&134217727;return y!==0?(l=y&~u,l!==0?i=un(l):(c&=y,c!==0?i=un(c):a||(a=y&~e,a!==0&&(i=un(a))))):(y=l&~u,y!==0?i=un(y):c!==0?i=un(c):a||(a=l&~e,a!==0&&(i=un(a)))),i===0?0:t!==0&&t!==i&&(t&u)===0&&(u=i&-i,a=t&-t,u>=a||u===32&&(a&4194048)!==0)?t:i}function ru(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function rh(e,t){(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0a;a++)t.push(e);return t}function su(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function v1(e,t,a,l,i,u){var c=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var y=e.entanglements,S=e.expirationTimes,z=e.hiddenUpdates;for(a=c&~a;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),jo=!1;if(Wa)try{var du={};Object.defineProperty(du,"passive",{get:function(){jo=!0}}),window.addEventListener("test",du,du),window.removeEventListener("test",du,du)}catch{jo=!1}var El=null,zo=null,wr=null;function Rh(){if(wr)return wr;var e,t=zo,a=t.length,l,i="value"in El?El.value:El.textContent,u=i.length;for(e=0;e=yu),Hh=" ",qh=!1;function Lh(e,t){switch(e){case"keyup":return W1.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Bh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ti=!1;function eb(e,t){switch(e){case"compositionend":return Bh(t);case"keypress":return t.which!==32?null:(qh=!0,Hh);case"textInput":return e=t.data,e===Hh&&qh?null:e;default:return null}}function tb(e,t){if(ti)return e==="compositionend"||!Do&&Lh(e,t)?(e=Rh(),wr=zo=El=null,ti=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Jh(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Fh(e,t){var a=Jh(e);e=0;for(var l;a;){if(a.nodeType===3){if(l=e+a.textContent.length,e<=t&&l>=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Jh(a)}}function $h(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?$h(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ph(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ho(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ho(e.document)}return t}function qo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var ob=Wa&&"documentMode"in document&&11>=document.documentMode,ai=null,Lo=null,bu=null,Bo=!1;function Wh(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Bo||ai==null||ai!==Ho(l)||(l=ai,"selectionStart"in l&&qo(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),bu&&gu(bu,l)||(bu=l,l=Rs(Lo,"onSelect"),0>=c,i-=c,Ua=1<<32-Zt(t)+i|a<pe?(st=fe,fe=null):st=fe.sibling;var Me=C(j,fe,O[pe],L);if(Me===null){fe===null&&(fe=st);break}e&&fe&&Me.alternate===null&&t(j,fe),N=u(Me,N,pe),Oe===null?te=Me:Oe.sibling=Me,Oe=Me,fe=st}if(pe===O.length)return a(j,fe),Ee&&al(j,pe),te;if(fe===null){for(;pepe?(st=fe,fe=null):st=fe.sibling;var Zl=C(j,fe,Me.value,L);if(Zl===null){fe===null&&(fe=st);break}e&&fe&&Zl.alternate===null&&t(j,fe),N=u(Zl,N,pe),Oe===null?te=Zl:Oe.sibling=Zl,Oe=Zl,fe=st}if(Me.done)return a(j,fe),Ee&&al(j,pe),te;if(fe===null){for(;!Me.done;pe++,Me=O.next())Me=B(j,Me.value,L),Me!==null&&(N=u(Me,N,pe),Oe===null?te=Me:Oe.sibling=Me,Oe=Me);return Ee&&al(j,pe),te}for(fe=l(fe);!Me.done;pe++,Me=O.next())Me=A(fe,j,pe,Me.value,L),Me!==null&&(e&&(st=Me.alternate,st!==null&&fe.delete(st.key===null?pe:st.key)),N=u(Me,N,pe),Oe===null?te=Me:Oe.sibling=Me,Oe=Me);return e&&fe.forEach(function(e2){return t(j,e2)}),Ee&&al(j,pe),te}function xe(j,N,O,L){if(typeof O=="object"&&O!==null&&O.type===Ve&&O.key===null&&O.props.ref===void 0&&(O=O.props.children),typeof O=="object"&&O!==null){switch(O.$$typeof){case I:e:{for(var te=O.key;N!==null;){if(N.key===te){if(te=O.type,te===Ve){if(N.tag===7){a(j,N.sibling),L=i(N,O.props.children),jl(L,O),L.return=j,j=L;break e}}else if(N.elementType===te||typeof te=="object"&&te!==null&&te.$$typeof===X&&bn(te)===N.type){a(j,N.sibling),L=i(N,O.props),jl(L,O),L.return=j,j=L;break e}a(j,N);break}else t(j,N);N=N.sibling}O.type===Ve?(L=dn(O.props.children,j.mode,L,O.key),jl(L,O),L.return=j,j=L):(L=kr(O.type,O.key,O.props,null,j.mode,L),jl(L,O),L.return=j,j=L)}return c(j);case ae:e:{for(te=O.key;N!==null;){if(N.key===te)if(N.tag===4&&N.stateNode.containerInfo===O.containerInfo&&N.stateNode.implementation===O.implementation){a(j,N.sibling),L=i(N,O.children||[]),L.return=j,j=L;break e}else{a(j,N);break}else t(j,N);N=N.sibling}L=Zo(O,j.mode,L),L.return=j,j=L}return c(j);case X:return O=bn(O),xe(j,N,O,L)}if(Ae(O))return $(j,N,O,L);if(ce(O)){if(te=ce(O),typeof te!="function")throw Error(o(150));return O=te.call(O),oe(j,N,O,L)}if(typeof O.then=="function")return xe(j,N,Kr(O),L);if(O.$$typeof===re)return xe(j,N,Gr(j,O),L);Zr(j,O)}return typeof O=="string"&&O!==""||typeof O=="number"||typeof O=="bigint"?(O=""+O,N!==null&&N.tag===6?(a(j,N.sibling),L=i(N,O),L.return=j,j=L):(a(j,N),L=Ko(O,j.mode,L),L.return=j,j=L),c(j)):a(j,N)}return function(j,N,O,L){try{Nu=0;var te=xe(j,N,O,L);return fi=null,te}catch(fe){if(fe===ci||fe===Vr)throw fe;var Oe=qt(29,fe,null,j.mode);return Oe.lanes=L,Oe.return=j,Oe}finally{}}}var Sn=Em(!0),_m=Em(!1),zl=!1;function lc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function nc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ol(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Rl(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(He&2)!==0){var i=l.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),l.pending=t,t=Ur(e),um(e,null,a),t}return Dr(e,l,t,a),Ur(e)}function wu(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,ch(e,a)}}function ic(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var i=null,u=null;if(a=a.firstBaseUpdate,a!==null){do{var c={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};u===null?i=u=c:u=u.next=c,a=a.next}while(a!==null);u===null?i=u=t:u=u.next=t}else i=u=t;a={baseState:l.baseState,firstBaseUpdate:i,lastBaseUpdate:u,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var uc=!1;function Cu(){if(uc){var e=oi;if(e!==null)throw e}}function ju(e,t,a,l){uc=!1;var i=e.updateQueue;zl=!1;var u=i.firstBaseUpdate,c=i.lastBaseUpdate,y=i.shared.pending;if(y!==null){i.shared.pending=null;var S=y,z=S.next;S.next=null,c===null?u=z:c.next=z,c=S;var M=e.alternate;M!==null&&(M=M.updateQueue,y=M.lastBaseUpdate,y!==c&&(y===null?M.firstBaseUpdate=z:y.next=z,M.lastBaseUpdate=S))}if(u!==null){var B=i.baseState;c=0,M=z=S=null,y=u;do{var C=y.lane&-536870913,A=C!==y.lane;if(A?(ze&C)===C:(l&C)===C){C!==0&&C===pn&&(uc=!0),M!==null&&(M=M.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var $=e,oe=y;C=t;var xe=a;switch(oe.tag){case 1:if($=oe.payload,typeof $=="function"){B=$.call(xe,B,C);break e}B=$;break e;case 3:$.flags=$.flags&-65537|128;case 0:if($=oe.payload,C=typeof $=="function"?$.call(xe,B,C):$,C==null)break e;B=F({},B,C);break e;case 2:zl=!0}}C=y.callback,C!==null&&(e.flags|=64,A&&(e.flags|=8192),A=i.callbacks,A===null?i.callbacks=[C]:A.push(C))}else A={lane:C,tag:y.tag,payload:y.payload,callback:y.callback,next:null},M===null?(z=M=A,S=B):M=M.next=A,c|=C;if(y=y.next,y===null){if(y=i.shared.pending,y===null)break;A=y,y=A.next,A.next=null,i.lastBaseUpdate=A,i.shared.pending=null}}while(!0);M===null&&(S=B),i.baseState=S,i.firstBaseUpdate=z,i.lastBaseUpdate=M,u===null&&(i.shared.lanes=0),ql|=c,e.lanes=c,e.memoizedState=B}}function Tm(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Nm(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;eu?u:8;var c=se.T,y={};y.types=c!==null?c.types:null,se.T=y,wc(e,!1,t,a);try{var S=i(),z=se.S;if(z!==null&&z(y,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var M=xb(S,l);Au(e,t,M,ea(e))}else Au(e,t,l,ea(e))}catch(B){Au(e,t,{then:function(){},status:"rejected",reason:B},ea())}finally{ye.p=u,c!==null&&y.types!==null&&(c.types=y.types),se.T=c}}function wb(){}function Tc(e,t,a,l){if(e.tag!==5)throw Error(o(476));var i=ly(e).queue;ay(e,i,t,Vt,a===null?wb:function(){return ny(e),a(l)})}function ly(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Vt,baseState:Vt,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ul,lastRenderedState:Vt},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ul,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ny(e){var t=ly(e);t.next===null&&(t=e.alternate.memoizedState),Au(e,t.next.queue,{},ea())}function Nc(){return bt(Mi)}function iy(){return lt().memoizedState}function uy(){return lt().memoizedState}function Cb(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=ea();e=Ol(a);var l=Rl(t,e,a);l!==null&&(Gt(l,t,a),wu(l,t,a)),t={cache:Io()},e.payload=t;return}t=t.return}}function jb(e,t,a){var l=ea();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},ls(e)?sy(t,a):(a=Vo(e,t,a,l),a!==null&&(Gt(a,e,l),oy(a,t,l)))}function ry(e,t,a){var l=ea();Au(e,t,a,l)}function Au(e,t,a,l){var i={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(ls(e))sy(t,i);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var c=t.lastRenderedState,y=u(c,a);if(i.hasEagerState=!0,i.eagerState=y,Ft(y,c))return Dr(e,t,i,0),Xe===null&&Mr(),!1}catch{}finally{}if(a=Vo(e,t,i,l),a!==null)return Gt(a,e,l),oy(a,t,l),!0}return!1}function wc(e,t,a,l){if(l={lane:2,revertLane:pf(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},ls(e)){if(t)throw Error(o(479))}else t=Vo(e,a,l,2),t!==null&&Gt(t,e,2)}function ls(e){var t=e.alternate;return e===be||t!==null&&t===be}function sy(e,t){di=$r=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function oy(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,ch(e,a)}}var ns={readContext:bt,use:Ir,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt,useEffectEvent:tt},cy={readContext:bt,use:Ir,useCallback:function(e,t){return Rt().memoizedState=[e,t===void 0?null:t],e},useContext:bt,useEffect:Zm,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,ts(4194308,4,Pm.bind(null,t,e),a)},useLayoutEffect:function(e,t){return ts(4194308,4,e,t)},useInsertionEffect:function(e,t){ts(4,2,e,t)},useMemo:function(e,t){var a=Rt();t=t===void 0?null:t;var l=e();if(En){Sl(!0);try{e()}finally{Sl(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=Rt();if(a!==void 0){var i=a(t);if(En){Sl(!0);try{a(t)}finally{Sl(!1)}}}else i=t;return l.memoizedState=l.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},l.queue=e,e=e.dispatch=jb.bind(null,be,e),[l.memoizedState,e]},useRef:function(e){var t=Rt();return e={current:e},t.memoizedState=e},useState:function(e){e=bc(e);var t=e.queue,a=ry.bind(null,be,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Ec,useDeferredValue:function(e,t){var a=Rt();return _c(a,e,t)},useTransition:function(){var e=bc(!1);return e=ay.bind(null,be,e.queue,!0,!1),Rt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=be,i=Rt();if(Ee){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),Xe===null)throw Error(o(349));(ze&127)!==0||Rm(l,t,a)}i.memoizedState=a;var u={value:a,getSnapshot:t};return i.queue=u,Zm(Mm.bind(null,l,u,e),[e]),l.flags|=2048,mi(9,{destroy:void 0},Am.bind(null,l,u,a,t),null),a},useId:function(){var e=Rt(),t=Xe.identifierPrefix;if(Ee){var a=ka,l=Ua;a=(l&~(1<<32-Zt(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Pr++,0<\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof l.is=="string"?c.createElement("select",{is:l.is}):c.createElement("select"),l.multiple?u.multiple=!0:l.size&&(u.size=l.size);break;default:u=typeof l.is=="string"?c.createElement(i,{is:l.is}):c.createElement(i)}}u[gt]=t,u[Ht]=l;e:for(c=t.child;c!==null;){if(c.tag===5||c.tag===6)u.appendChild(c.stateNode);else if(c.tag!==4&&c.tag!==27&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===t)break e;for(;c.sibling===null;){if(c.return===null||c.return===t)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}t.stateNode=u;e:switch(_t(u,i,l),i){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&sl(t)}}return Je(t),t.subtreeFlags&=-33554433,Lc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&sl(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(o(166));if(e=bl.current,si(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,i=mt,i!==null)switch(i.tag){case 27:case 5:l=i.memoizedProps}e[gt]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||Mv(e.nodeValue,a)),e||wl(t,!0)}else e=Xu(e).createTextNode(l),e[gt]=t,t.stateNode=e}return Je(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=si(t),a!==null){if(e===null){if(!l)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[gt]=t}else hn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Je(t),e=!1}else a=$o(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?($t(t),t):($t(t),null);if((t.flags&128)!==0)throw Error(o(558))}return Je(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=si(t),l!==null&&l.dehydrated!==null){if(e===null){if(!i)throw Error(o(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(o(317));i[gt]=t}else hn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Je(t),i=!1}else i=$o(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?($t(t),t):($t(t),null)}return $t(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,i=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(i=l.alternate.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==i&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),cs(t,t.updateQueue),Je(t),null);case 4:return Kn(),e===null&&Sf(t.stateNode.containerInfo),t.flags|=67108864,Je(t),null;case 10:return nl(t.type),Je(t),null;case 19:if(cc(t),l=t.memoizedState,l===null)return Je(t),null;if(i=(t.flags&128)!==0,u=l.rendering,u===null)if(i)Du(l,!1);else{if(at!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(u=Fr(e),u!==null){for(t.flags|=128,Du(l,!1),e=u.updateQueue,t.updateQueue=e,cs(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)rm(a,e),a=a.sibling;return zu(t,St.current&1|2),Ee&&al(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&Xt()>Es&&(t.flags|=128,i=!0,Du(l,!1),t.lanes=4194304)}else{if(!i)if(e=Fr(u),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,cs(t,e),Du(l,!0),l.tail===null&&l.tailMode!=="collapsed"&&l.tailMode!=="visible"&&!u.alternate&&!Ee)return Je(t),null}else 2*Xt()-l.renderingStartTime>Es&&a!==536870912&&(t.flags|=128,i=!0,Du(l,!1),t.lanes=4194304);l.isBackwards?(u.sibling=t.child,t.child=u):(e=l.last,e!==null?e.sibling=u:t.child=u,l.last=u)}if(l.tail!==null){e=l.tail;e:{for(a=e;a!==null;){if(a.alternate!==null){a=!1;break e}a=a.sibling}a=!0}return l.rendering=e,l.tail=e.sibling,l.renderingStartTime=Xt(),e.sibling=null,u=St.current,u=i?u&1|2:u&1,l.tailMode==="visible"||l.tailMode==="collapsed"||!a||Ee?zu(t,u):(a=u,Ke(xt,t),Ke(St,a),wt===null&&(wt=t)),Ee&&al(t,l.treeForkCount),e}return Je(t),null;case 22:case 23:return $t(t),sc(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(Je(t),t.subtreeFlags&6&&(t.flags|=8192)):Je(t),a=t.updateQueue,a!==null&&cs(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&pt(gn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),nl(it),Je(t),null;case 25:return null;case 30:return t.flags|=33554432,Je(t),null}throw Error(o(156,t.tag))}function Ub(e,t){switch(Jo(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return nl(it),Kn(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return yr(t),null;case 31:if(t.memoizedState!==null){if($t(t),t.alternate===null)throw Error(o(340));hn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if($t(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));hn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return cc(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return Kn(),null;case 10:return nl(t.type),null;case 22:case 23:return $t(t),sc(),e!==null&&pt(gn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return nl(it),null;case 25:return null;default:return null}}function Uy(e,t){switch(Jo(t),t.tag){case 3:nl(it),Kn();break;case 26:case 27:case 5:yr(t);break;case 4:Kn();break;case 31:t.memoizedState!==null&&$t(t);break;case 13:$t(t);break;case 19:cc(t);break;case 10:nl(t.type);break;case 22:case 23:$t(t),sc(),e!==null&&pt(gn);break;case 24:nl(it)}}function Uu(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){l=void 0;var u=a.create,c=a.inst;l=u(),c.destroy=l}a=a.next}while(a!==i)}}catch(y){Qe(t,t.return,y)}}function Ul(e,t,a){try{var l=t.updateQueue,i=l!==null?l.lastEffect:null;if(i!==null){var u=i.next;l=u;do{if((l.tag&e)===e){var c=l.inst,y=c.destroy;if(y!==void 0){c.destroy=void 0,i=t;var S=a,z=y;try{z()}catch(M){Qe(i,S,M)}}}l=l.next}while(l!==u)}}catch(M){Qe(t,t.return,M)}}function ky(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Nm(t,a)}catch(l){Qe(e,e.return,l)}}}function Hy(e,t,a){a.props=_n(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){Qe(e,t,l)}}function Ha(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:var i=e.stateNode,u=Ia(e.memoizedProps,i);(i.ref===null||i.ref.name!==u)&&(i.ref=Vv(u)),l=i.ref;break;case 7:if(e.stateNode===null){var c=new ta(e);g(e.child,!1,Nx,c,void 0,void 0),e.stateNode=c}l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(y){Qe(e,t,y)}}function Et(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(i){Qe(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(i){Qe(e,t,i)}else a.current=null}function fs(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var a=0;a title"))),_t(l,t,a),l[gt]=e,ht(l),t=l;break e;case"link":if(u=rp("link","href",i).get(t+(a.href||""))){for(c=0;cxe&&(c=xe,xe=oe,oe=c);var j=Fh(y,oe),N=Fh(y,xe);if(j&&N&&(A.rangeCount!==1||A.anchorNode!==j.node||A.anchorOffset!==j.offset||A.focusNode!==N.node||A.focusOffset!==N.offset)){var O=B.createRange();O.setStart(j.node,j.offset),A.removeAllRanges(),oe>xe?(A.addRange(O),A.extend(N.node,N.offset)):(O.setEnd(N.node,N.offset),A.addRange(O))}}}}for(B=[],A=y;A=A.parentNode;)A.nodeType===1&&B.push({element:A,left:A.scrollLeft,top:A.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;ya?32:a,se.T=null,a=rf,rf=null;var u=Na,c=Ya;if(Ie=0,Cn=Na=null,Ya=0,(He&6)!==0)throw Error(o(331));var y=He;if(He|=4,uv(u.current),lv(u,u.current,c,a),He=y,Gu(0,!1),Kt&&typeof Kt.onPostCommitFiberRoot=="function")try{Kt.onPostCommitFiberRoot(uu,u)}catch{}return!0}finally{ye.p=i,se.T=l,Sv(e,t)}}function Ev(e,t,a){t=ra(a,t),t=zc(e.stateNode,t,2),e=Rl(e,t,2),e!==null&&(su(e,2),Va(e))}function Qe(e,t,a){if(e.tag===3)Ev(e,e,a);else for(;t!==null;){if(t.tag===3){Ev(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Ll===null||!Ll.has(l))){e=ra(a,e),a=gy(2),l=Rl(t,a,2),l!==null&&(by(a,l,t,e),su(l,2),Va(l));break}}t=t.return}}function mf(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new Lb;var i=new Set;l.set(t,i)}else i=l.get(t),i===void 0&&(i=new Set,l.set(t,i));i.has(a)||(lf=!0,i.add(a),e=Zb.bind(null,e,t,a),t.then(e,e))}function Zb(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Xe===e&&(ze&a)===a&&((at===4||at===3&&(ze&62914560)===ze&&300>Xt()-Ss)&&(He&2)===0?Ni(e,0):xs|=a,xi===ze&&(xi=0)),Va(e)}function _v(e,t){t===0&&(t=sh()),e=fn(e,t),e!==null&&(su(e,t),Va(e))}function Jb(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),_v(e,a)}function Fb(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,i=e.memoizedState;i!==null&&(a=i.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(o(314))}l!==null&&l.delete(t),_v(e,a)}function $b(e,t){return vo(e,t)}var Ci=null,ji=null,yf=!1,zs=!1,vf=!1,Ql=0;function Va(e){e!==ji&&e.next===null&&(ji===null?Ci=ji=e:ji=ji.next=e),zs=!0,yf||(yf=!0,Wb())}function Gu(e,t){if(!vf&&zs){vf=!0;do for(var a=!1,l=Ci;l!==null;){if(e!==0){var i=l.pendingLanes;if(i===0)var u=0;else{var c=l.suspendedLanes,y=l.pingedLanes;u=(1<<31-Zt(42|e)+1)-1,u&=i&~(c&~y),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(a=!0,Cv(l,u))}else u=ze,u=xr(l,l===Xe?u:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(u&3)===0||ru(l,u)||(a=!0,Cv(l,u));l=l.next}while(a);vf=!1}}function Pb(){Tv()}function Tv(){zs=yf=!1;var e=0;Ql!==0&&ox()&&(e=Ql);for(var t=Xt(),a=null,l=Ci;l!==null;){var i=l.next,u=Nv(l,t);u===0?(l.next=null,a===null?Ci=i:a.next=i,i===null&&(ji=a)):(a=l,(e!==0||(u&3)!==0)&&(zs=!0)),l=i}Ie!==0&&Ie!==5||Gu(e),Ql!==0&&(Ql=0)}function Nv(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,i=e.expirationTimes,u=e.pendingLanes&-62914561;0y)break;var M=S.transferSize,B=S.initiatorType;M&&Dv(B)&&(S=S.responseEnd,c+=M*(SDs){oe.length=$;break}O=new Promise(yx.bind(O)),oe.push(O)}}}if(0"u"?null:document;function lp(e,t,a){var l=Oi;if(l&&typeof t=="string"&&t){var i=ia(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof a=="string"&&(i+='[crossorigin="'+a+'"]'),ap.has(i)||(ap.add(i),e={rel:e,crossOrigin:a,href:t},l.querySelector(i)===null&&(t=l.createElement("link"),_t(t,"link",e),ht(t),l.head.appendChild(t)))}}function Dx(e){cl.D(e),lp("dns-prefetch",e,null)}function Ux(e,t){cl.C(e,t),lp("preconnect",e,t)}function kx(e,t,a){cl.L(e,t,a);var l=Oi;if(l&&e&&t){var i='link[rel="preload"][as="'+ia(t)+'"]';t==="image"&&a&&a.imageSrcSet?(i+='[imagesrcset="'+ia(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(i+='[imagesizes="'+ia(a.imageSizes)+'"]')):i+='[href="'+ia(e)+'"]';var u=i;switch(t){case"style":u=Ri(e);break;case"script":u=Ai(e)}if(!(ha.has(u)||(e=F({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),ha.set(u,e),l.querySelector(i)!==null||t==="style"&&l.querySelector(Zu(u))||t==="script"&&l.querySelector(Ju(u))))){var c=l.createElement("link");_t(c,"link",e),t==="style"&&(c[Sr]=!0,c.onload=c.onerror=function(){vh(c)}),ht(c),l.head.appendChild(c)}}}function Hx(e,t){cl.m(e,t);var a=Oi;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+ia(l)+'"][href="'+ia(e)+'"]',u=i;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Ai(e)}if(!ha.has(u)&&(e=F({rel:"modulepreload",href:e},t),ha.set(u,e),a.querySelector(i)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Ju(u)))return}l=a.createElement("link"),_t(l,"link",e),ht(l),a.head.appendChild(l)}}}function qx(e,t,a){cl.S(e,t,a);var l=Oi;if(l&&e){var i=Fn(l).hoistableStyles,u=Ri(e);t=t||"default";var c=i.get(u);if(!c){var y={loading:0,preload:null};if(c=l.querySelector(Zu(u)))y.loading=5;else{e=F({rel:"stylesheet",href:e,"data-precedence":t},a),(a=ha.get(u))&&Hf(e,a);var S=c=l.createElement("link");ht(S),_t(S,"link",e),S._p=new Promise(function(z,M){S.onload=z,S.onerror=M}),S.addEventListener("load",function(){y.loading|=1}),S.addEventListener("error",function(){y.loading|=2}),y.loading|=4,As(c,t,l)}c={type:"stylesheet",instance:c,count:1,state:y},i.set(u,c)}}}function Lx(e,t){cl.X(e,t);var a=Oi;if(a&&e){var l=Fn(a).hoistableScripts,i=Ai(e),u=l.get(i);u||(u=a.querySelector(Ju(i)),u||(e=F({src:e,async:!0},t),(t=ha.get(i))&&qf(e,t),u=a.createElement("script"),ht(u),_t(u,"link",e),a.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},l.set(i,u))}}function Bx(e,t){cl.M(e,t);var a=Oi;if(a&&e){var l=Fn(a).hoistableScripts,i=Ai(e),u=l.get(i);u||(u=a.querySelector(Ju(i)),u||(e=F({src:e,async:!0,type:"module"},t),(t=ha.get(i))&&qf(e,t),u=a.createElement("script"),ht(u),_t(u,"link",e),a.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},l.set(i,u))}}function np(e,t,a,l){var i=(i=bl.current)?Ku(i):null;if(!i)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(a=Ri(a.href),t=Fn(i).hoistableStyles,l=t.get(a),l||(l={type:"style",instance:null,count:0,state:null},t.set(a,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Ri(a.href);var u=Fn(i).hoistableStyles,c=u.get(e);if(c||(i=i.ownerDocument||i,c={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(e,c),(u=i.querySelector(Zu(e)))?u._p||(c.instance=u,c.state.loading=5):(u=ha.get(e),u||(u={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},ha.set(e,u)),Qx(i,e,u,c.state))),t&&l===null)throw Error(o(528,""));return c}if(t&&l!==null)throw Error(o(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(a=Ai(a),t=Fn(i).hoistableScripts,l=t.get(a),l||(l={type:"script",instance:null,count:0,state:null},t.set(a,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Ri(e){return'href="'+ia(e)+'"'}function Zu(e){return'link[rel="stylesheet"]['+e+"]"}function ip(e){return F({},e,{"data-precedence":e.precedence,precedence:null})}function Qx(e,t,a,l){if(t=e.querySelector('link[rel="preload"][as="style"]['+t+"]")){if(t[Sr]!==!0){l.loading=1;return}}else t=e.createElement("link"),t[Sr]=!0,t.onload=t.onerror=vh.bind(null,t),_t(t,"link",a),ht(t),e.head.appendChild(t);l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2})}function Ai(e){return'[src="'+ia(e)+'"]'}function Ju(e){return"script[async]"+e}function up(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+ia(a.href)+'"]');if(l)return t.instance=l,ht(l),l;var i=F({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),ht(l),_t(l,"style",i),As(l,a.precedence,e),t.instance=l;case"stylesheet":i=Ri(a.href);var u=e.querySelector(Zu(i));if(u)return t.state.loading|=4,t.instance=u,ht(u),u;l=ip(a),(i=ha.get(i))&&Hf(l,i),u=(e.ownerDocument||e).createElement("link"),ht(u);var c=u;return c._p=new Promise(function(y,S){c.onload=y,c.onerror=S}),_t(u,"link",l),t.state.loading|=4,As(u,a.precedence,e),t.instance=u;case"script":return u=Ai(a.src),(i=e.querySelector(Ju(u)))?(t.instance=i,ht(i),i):(l=a,(i=ha.get(u))&&(l=F({},a),qf(l,i)),e=e.ownerDocument||e,i=e.createElement("script"),ht(i),_t(i,"link",l),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,As(l,a.precedence,e));return t.instance}function As(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=l.length?l[l.length-1]:null,u=i,c=0;c title"):null)}function Gx(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function sp(e,t){return e==="img"&&t.src!=null&&t.src!==""&&t.onLoad==null&&t.loading!=="lazy"}function op(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function cp(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio=="number"?devicePixelRatio:1)*.25}function fp(e,t){typeof t.decode=="function"&&(e.imgCount++,t.complete||(e.imgBytes+=cp(t),e.suspenseyImages.push(t)),e=Xx.bind(e),t.decode().then(e,e))}function Yx(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var i=Ri(l.href),u=t.querySelector(Zu(i));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Fu.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=u,ht(u);return}u=t.ownerDocument||t,l=ip(l),(i=ha.get(i))&&Hf(l,i),u=u.createElement("link"),ht(u);var c=u;c._p=new Promise(function(y,S){c.onload=y,c.onerror=S}),_t(u,"link",l),a.instance=u}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Fu.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Ds=0;function Vx(e,t){return e.stylesheets&&e.count===0&&ks(e,e.stylesheets),0Ds?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(i)}}:null}function dp(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ks(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function Fu(){this.count--,dp(this)}function Xx(){this.imgCount--,dp(this)}var Us=null;function ks(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Us=new Map,t.forEach(Kx,e),Us=null,Fu.call(e))}function Kx(e,t){if(!(t.state.loading&4)){var a=Us.get(e);if(a)var l=a.get(null);else{a=new Map,Us.set(e,a);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),Ff.exports=s2(),Ff.exports}var c2=o2();const f2=Mg(c2);/** +`+l.stack}}var yo=Object.prototype.hasOwnProperty,po=n.unstable_scheduleCallback,vo=n.unstable_cancelCallback,m1=n.unstable_shouldYield,y1=n.unstable_requestPaint,Xt=n.unstable_now,p1=n.unstable_getCurrentPriorityLevel,uh=n.unstable_ImmediatePriority,rh=n.unstable_UserBlockingPriority,pr=n.unstable_NormalPriority,v1=n.unstable_LowPriority,sh=n.unstable_IdlePriority,g1=n.log,b1=n.unstable_setDisableYieldValue,uu=null,Kt=null;function Sl(e){if(typeof g1=="function"&&b1(e),Kt&&typeof Kt.setStrictMode=="function")try{Kt.setStrictMode(uu,e)}catch{}}var Zt=Math.clz32?Math.clz32:E1,x1=Math.log,S1=Math.LN2;function E1(e){return e>>>=0,e===0?32:31-(x1(e)/S1|0)|0}var vr=256,gr=262144,br=4194304;function un(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function xr(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var i=0,r=e.suspendedLanes,c=e.pingedLanes;e=e.warmLanes;var y=l&134217727;return y!==0?(l=y&~r,l!==0?i=un(l):(c&=y,c!==0?i=un(c):a||(a=y&~e,a!==0&&(i=un(a))))):(y=l&~r,y!==0?i=un(y):c!==0?i=un(c):a||(a=l&~e,a!==0&&(i=un(a)))),i===0?0:t!==0&&t!==i&&(t&r)===0&&(r=i&-i,a=t&-t,r>=a||r===32&&(a&4194048)!==0)?t:i}function ru(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function oh(e,t){(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0a;a++)t.push(e);return t}function su(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function T1(e,t,a,l,i,r){var c=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var y=e.entanglements,S=e.expirationTimes,z=e.hiddenUpdates;for(a=c&~a;0"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),jo=!1;if(Wa)try{var du={};Object.defineProperty(du,"passive",{get:function(){jo=!0}}),window.addEventListener("test",du,du),window.removeEventListener("test",du,du)}catch{jo=!1}var El=null,zo=null,wr=null;function Mh(){if(wr)return wr;var e,t=zo,a=t.length,l,i="value"in El?El.value:El.textContent,r=i.length;for(e=0;e=yu),Lh=" ",Bh=!1;function Qh(e,t){switch(e){case"keyup":return ub.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Gh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ti=!1;function sb(e,t){switch(e){case"compositionend":return Gh(t);case"keypress":return t.which!==32?null:(Bh=!0,Lh);case"textInput":return e=t.data,e===Lh&&Bh?null:e;default:return null}}function ob(e,t){if(ti)return e==="compositionend"||!Do&&Qh(e,t)?(e=Mh(),wr=zo=El=null,ti=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function $h(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ph(e,t){var a=$h(e);e=0;for(var l;a;){if(a.nodeType===3){if(l=e+a.textContent.length,e<=t&&l>=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=$h(a)}}function Wh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Wh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ih(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ho(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ho(e.document)}return t}function qo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var vb=Wa&&"documentMode"in document&&11>=document.documentMode,ai=null,Lo=null,bu=null,Bo=!1;function em(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Bo||ai==null||ai!==Ho(l)||(l=ai,"selectionStart"in l&&qo(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),bu&&gu(bu,l)||(bu=l,l=Rs(Lo,"onSelect"),0>=c,i-=c,Ua=1<<32-Zt(t)+i|a<ve?(st=fe,fe=null):st=fe.sibling;var Me=C(j,fe,O[ve],L);if(Me===null){fe===null&&(fe=st);break}e&&fe&&Me.alternate===null&&t(j,fe),N=r(Me,N,ve),Oe===null?te=Me:Oe.sibling=Me,Oe=Me,fe=st}if(ve===O.length)return a(j,fe),Ee&&al(j,ve),te;if(fe===null){for(;veve?(st=fe,fe=null):st=fe.sibling;var Zl=C(j,fe,Me.value,L);if(Zl===null){fe===null&&(fe=st);break}e&&fe&&Zl.alternate===null&&t(j,fe),N=r(Zl,N,ve),Oe===null?te=Zl:Oe.sibling=Zl,Oe=Zl,fe=st}if(Me.done)return a(j,fe),Ee&&al(j,ve),te;if(fe===null){for(;!Me.done;ve++,Me=O.next())Me=B(j,Me.value,L),Me!==null&&(N=r(Me,N,ve),Oe===null?te=Me:Oe.sibling=Me,Oe=Me);return Ee&&al(j,ve),te}for(fe=l(fe);!Me.done;ve++,Me=O.next())Me=A(fe,j,ve,Me.value,L),Me!==null&&(e&&(st=Me.alternate,st!==null&&fe.delete(st.key===null?ve:st.key)),N=r(Me,N,ve),Oe===null?te=Me:Oe.sibling=Me,Oe=Me);return e&&fe.forEach(function(s2){return t(j,s2)}),Ee&&al(j,ve),te}function xe(j,N,O,L){if(typeof O=="object"&&O!==null&&O.type===Ve&&O.key===null&&O.props.ref===void 0&&(O=O.props.children),typeof O=="object"&&O!==null){switch(O.$$typeof){case I:e:{for(var te=O.key;N!==null;){if(N.key===te){if(te=O.type,te===Ve){if(N.tag===7){a(j,N.sibling),L=i(N,O.props.children),jl(L,O),L.return=j,j=L;break e}}else if(N.elementType===te||typeof te=="object"&&te!==null&&te.$$typeof===X&&bn(te)===N.type){a(j,N.sibling),L=i(N,O.props),jl(L,O),L.return=j,j=L;break e}a(j,N);break}else t(j,N);N=N.sibling}O.type===Ve?(L=dn(O.props.children,j.mode,L,O.key),jl(L,O),L.return=j,j=L):(L=kr(O.type,O.key,O.props,null,j.mode,L),jl(L,O),L.return=j,j=L)}return c(j);case ae:e:{for(te=O.key;N!==null;){if(N.key===te)if(N.tag===4&&N.stateNode.containerInfo===O.containerInfo&&N.stateNode.implementation===O.implementation){a(j,N.sibling),L=i(N,O.children||[]),L.return=j,j=L;break e}else{a(j,N);break}else t(j,N);N=N.sibling}L=Zo(O,j.mode,L),L.return=j,j=L}return c(j);case X:return O=bn(O),xe(j,N,O,L)}if(Ae(O))return $(j,N,O,L);if(ce(O)){if(te=ce(O),typeof te!="function")throw Error(o(150));return O=te.call(O),oe(j,N,O,L)}if(typeof O.then=="function")return xe(j,N,Kr(O),L);if(O.$$typeof===re)return xe(j,N,Gr(j,O),L);Zr(j,O)}return typeof O=="string"&&O!==""||typeof O=="number"||typeof O=="bigint"?(O=""+O,N!==null&&N.tag===6?(a(j,N.sibling),L=i(N,O),L.return=j,j=L):(a(j,N),L=Ko(O,j.mode,L),L.return=j,j=L),c(j)):a(j,N)}return function(j,N,O,L){try{Nu=0;var te=xe(j,N,O,L);return fi=null,te}catch(fe){if(fe===ci||fe===Vr)throw fe;var Oe=qt(29,fe,null,j.mode);return Oe.lanes=L,Oe.return=j,Oe}finally{}}}var Sn=Tm(!0),Nm=Tm(!1),zl=!1;function lc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function nc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ol(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Rl(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(He&2)!==0){var i=l.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),l.pending=t,t=Ur(e),sm(e,null,a),t}return Dr(e,l,t,a),Ur(e)}function wu(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,dh(e,a)}}function ic(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var i=null,r=null;if(a=a.firstBaseUpdate,a!==null){do{var c={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};r===null?i=r=c:r=r.next=c,a=a.next}while(a!==null);r===null?i=r=t:r=r.next=t}else i=r=t;a={baseState:l.baseState,firstBaseUpdate:i,lastBaseUpdate:r,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var uc=!1;function Cu(){if(uc){var e=oi;if(e!==null)throw e}}function ju(e,t,a,l){uc=!1;var i=e.updateQueue;zl=!1;var r=i.firstBaseUpdate,c=i.lastBaseUpdate,y=i.shared.pending;if(y!==null){i.shared.pending=null;var S=y,z=S.next;S.next=null,c===null?r=z:c.next=z,c=S;var M=e.alternate;M!==null&&(M=M.updateQueue,y=M.lastBaseUpdate,y!==c&&(y===null?M.firstBaseUpdate=z:y.next=z,M.lastBaseUpdate=S))}if(r!==null){var B=i.baseState;c=0,M=z=S=null,y=r;do{var C=y.lane&-536870913,A=C!==y.lane;if(A?(ze&C)===C:(l&C)===C){C!==0&&C===vn&&(uc=!0),M!==null&&(M=M.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var $=e,oe=y;C=t;var xe=a;switch(oe.tag){case 1:if($=oe.payload,typeof $=="function"){B=$.call(xe,B,C);break e}B=$;break e;case 3:$.flags=$.flags&-65537|128;case 0:if($=oe.payload,C=typeof $=="function"?$.call(xe,B,C):$,C==null)break e;B=F({},B,C);break e;case 2:zl=!0}}C=y.callback,C!==null&&(e.flags|=64,A&&(e.flags|=8192),A=i.callbacks,A===null?i.callbacks=[C]:A.push(C))}else A={lane:C,tag:y.tag,payload:y.payload,callback:y.callback,next:null},M===null?(z=M=A,S=B):M=M.next=A,c|=C;if(y=y.next,y===null){if(y=i.shared.pending,y===null)break;A=y,y=A.next,A.next=null,i.lastBaseUpdate=A,i.shared.pending=null}}while(!0);M===null&&(S=B),i.baseState=S,i.firstBaseUpdate=z,i.lastBaseUpdate=M,r===null&&(i.shared.lanes=0),ql|=c,e.lanes=c,e.memoizedState=B}}function wm(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Cm(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;er?r:8;var c=se.T,y={};y.types=c!==null?c.types:null,se.T=y,wc(e,!1,t,a);try{var S=i(),z=se.S;if(z!==null&&z(y,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var M=jb(S,l);Au(e,t,M,ea(e))}else Au(e,t,l,ea(e))}catch(B){Au(e,t,{then:function(){},status:"rejected",reason:B},ea())}finally{ye.p=r,c!==null&&y.types!==null&&(c.types=y.types),se.T=c}}function Db(){}function Tc(e,t,a,l){if(e.tag!==5)throw Error(o(476));var i=iy(e).queue;ny(e,i,t,Vt,a===null?Db:function(){return uy(e),a(l)})}function iy(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Vt,baseState:Vt,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ul,lastRenderedState:Vt},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ul,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function uy(e){var t=iy(e);t.next===null&&(t=e.alternate.memoizedState),Au(e,t.next.queue,{},ea())}function Nc(){return bt(Mi)}function ry(){return lt().memoizedState}function sy(){return lt().memoizedState}function Ub(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=ea();e=Ol(a);var l=Rl(t,e,a);l!==null&&(Gt(l,t,a),wu(l,t,a)),t={cache:Io()},e.payload=t;return}t=t.return}}function kb(e,t,a){var l=ea();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},ls(e)?cy(t,a):(a=Vo(e,t,a,l),a!==null&&(Gt(a,e,l),fy(a,t,l)))}function oy(e,t,a){var l=ea();Au(e,t,a,l)}function Au(e,t,a,l){var i={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(ls(e))cy(t,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var c=t.lastRenderedState,y=r(c,a);if(i.hasEagerState=!0,i.eagerState=y,Ft(y,c))return Dr(e,t,i,0),Xe===null&&Mr(),!1}catch{}finally{}if(a=Vo(e,t,i,l),a!==null)return Gt(a,e,l),fy(a,t,l),!0}return!1}function wc(e,t,a,l){if(l={lane:2,revertLane:vf(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},ls(e)){if(t)throw Error(o(479))}else t=Vo(e,a,l,2),t!==null&&Gt(t,e,2)}function ls(e){var t=e.alternate;return e===be||t!==null&&t===be}function cy(e,t){di=$r=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function fy(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,dh(e,a)}}var ns={readContext:bt,use:Ir,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt,useEffectEvent:tt},dy={readContext:bt,use:Ir,useCallback:function(e,t){return Rt().memoizedState=[e,t===void 0?null:t],e},useContext:bt,useEffect:Fm,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,ts(4194308,4,Im.bind(null,t,e),a)},useLayoutEffect:function(e,t){return ts(4194308,4,e,t)},useInsertionEffect:function(e,t){ts(4,2,e,t)},useMemo:function(e,t){var a=Rt();t=t===void 0?null:t;var l=e();if(En){Sl(!0);try{e()}finally{Sl(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=Rt();if(a!==void 0){var i=a(t);if(En){Sl(!0);try{a(t)}finally{Sl(!1)}}}else i=t;return l.memoizedState=l.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},l.queue=e,e=e.dispatch=kb.bind(null,be,e),[l.memoizedState,e]},useRef:function(e){var t=Rt();return e={current:e},t.memoizedState=e},useState:function(e){e=bc(e);var t=e.queue,a=oy.bind(null,be,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Ec,useDeferredValue:function(e,t){var a=Rt();return _c(a,e,t)},useTransition:function(){var e=bc(!1);return e=ny.bind(null,be,e.queue,!0,!1),Rt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=be,i=Rt();if(Ee){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),Xe===null)throw Error(o(349));(ze&127)!==0||Mm(l,t,a)}i.memoizedState=a;var r={value:a,getSnapshot:t};return i.queue=r,Fm(Um.bind(null,l,r,e),[e]),l.flags|=2048,mi(9,{destroy:void 0},Dm.bind(null,l,r,a,t),null),a},useId:function(){var e=Rt(),t=Xe.identifierPrefix;if(Ee){var a=ka,l=Ua;a=(l&~(1<<32-Zt(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Pr++,0<\/script>",r=r.removeChild(r.firstChild);break;case"select":r=typeof l.is=="string"?c.createElement("select",{is:l.is}):c.createElement("select"),l.multiple?r.multiple=!0:l.size&&(r.size=l.size);break;default:r=typeof l.is=="string"?c.createElement(i,{is:l.is}):c.createElement(i)}}r[gt]=t,r[Ht]=l;e:for(c=t.child;c!==null;){if(c.tag===5||c.tag===6)r.appendChild(c.stateNode);else if(c.tag!==4&&c.tag!==27&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===t)break e;for(;c.sibling===null;){if(c.return===null||c.return===t)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}t.stateNode=r;e:switch(_t(r,i,l),i){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&sl(t)}}return Je(t),t.subtreeFlags&=-33554433,Lc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&sl(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(o(166));if(e=bl.current,si(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,i=mt,i!==null)switch(i.tag){case 27:case 5:l=i.memoizedProps}e[gt]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||Up(e.nodeValue,a)),e||wl(t,!0)}else e=Xu(e).createTextNode(l),e[gt]=t,t.stateNode=e}return Je(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=si(t),a!==null){if(e===null){if(!l)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[gt]=t}else hn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Je(t),e=!1}else a=$o(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?($t(t),t):($t(t),null);if((t.flags&128)!==0)throw Error(o(558))}return Je(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=si(t),l!==null&&l.dehydrated!==null){if(e===null){if(!i)throw Error(o(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(o(317));i[gt]=t}else hn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Je(t),i=!1}else i=$o(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?($t(t),t):($t(t),null)}return $t(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,i=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(i=l.alternate.memoizedState.cachePool.pool),r=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(r=l.memoizedState.cachePool.pool),r!==i&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),cs(t,t.updateQueue),Je(t),null);case 4:return Kn(),e===null&&Sf(t.stateNode.containerInfo),t.flags|=67108864,Je(t),null;case 10:return nl(t.type),Je(t),null;case 19:if(cc(t),l=t.memoizedState,l===null)return Je(t),null;if(i=(t.flags&128)!==0,r=l.rendering,r===null)if(i)Du(l,!1);else{if(at!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(r=Fr(e),r!==null){for(t.flags|=128,Du(l,!1),e=r.updateQueue,t.updateQueue=e,cs(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)om(a,e),a=a.sibling;return zu(t,St.current&1|2),Ee&&al(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&Xt()>Es&&(t.flags|=128,i=!0,Du(l,!1),t.lanes=4194304)}else{if(!i)if(e=Fr(r),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,cs(t,e),Du(l,!0),l.tail===null&&l.tailMode!=="collapsed"&&l.tailMode!=="visible"&&!r.alternate&&!Ee)return Je(t),null}else 2*Xt()-l.renderingStartTime>Es&&a!==536870912&&(t.flags|=128,i=!0,Du(l,!1),t.lanes=4194304);l.isBackwards?(r.sibling=t.child,t.child=r):(e=l.last,e!==null?e.sibling=r:t.child=r,l.last=r)}if(l.tail!==null){e=l.tail;e:{for(a=e;a!==null;){if(a.alternate!==null){a=!1;break e}a=a.sibling}a=!0}return l.rendering=e,l.tail=e.sibling,l.renderingStartTime=Xt(),e.sibling=null,r=St.current,r=i?r&1|2:r&1,l.tailMode==="visible"||l.tailMode==="collapsed"||!a||Ee?zu(t,r):(a=r,Ke(xt,t),Ke(St,a),wt===null&&(wt=t)),Ee&&al(t,l.treeForkCount),e}return Je(t),null;case 22:case 23:return $t(t),sc(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(Je(t),t.subtreeFlags&6&&(t.flags|=8192)):Je(t),a=t.updateQueue,a!==null&&cs(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&vt(gn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),nl(it),Je(t),null;case 25:return null;case 30:return t.flags|=33554432,Je(t),null}throw Error(o(156,t.tag))}function Yb(e,t){switch(Jo(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return nl(it),Kn(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return yr(t),null;case 31:if(t.memoizedState!==null){if($t(t),t.alternate===null)throw Error(o(340));hn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if($t(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));hn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return cc(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return Kn(),null;case 10:return nl(t.type),null;case 22:case 23:return $t(t),sc(),e!==null&&vt(gn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return nl(it),null;case 25:return null;default:return null}}function Hy(e,t){switch(Jo(t),t.tag){case 3:nl(it),Kn();break;case 26:case 27:case 5:yr(t);break;case 4:Kn();break;case 31:t.memoizedState!==null&&$t(t);break;case 13:$t(t);break;case 19:cc(t);break;case 10:nl(t.type);break;case 22:case 23:$t(t),sc(),e!==null&&vt(gn);break;case 24:nl(it)}}function Uu(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){l=void 0;var r=a.create,c=a.inst;l=r(),c.destroy=l}a=a.next}while(a!==i)}}catch(y){Qe(t,t.return,y)}}function Ul(e,t,a){try{var l=t.updateQueue,i=l!==null?l.lastEffect:null;if(i!==null){var r=i.next;l=r;do{if((l.tag&e)===e){var c=l.inst,y=c.destroy;if(y!==void 0){c.destroy=void 0,i=t;var S=a,z=y;try{z()}catch(M){Qe(i,S,M)}}}l=l.next}while(l!==r)}}catch(M){Qe(t,t.return,M)}}function qy(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Cm(t,a)}catch(l){Qe(e,e.return,l)}}}function Ly(e,t,a){a.props=_n(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){Qe(e,t,l)}}function Ha(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:var i=e.stateNode,r=Ia(e.memoizedProps,i);(i.ref===null||i.ref.name!==r)&&(i.ref=Kp(r)),l=i.ref;break;case 7:if(e.stateNode===null){var c=new ta(e);g(e.child,!1,Mx,c,void 0,void 0),e.stateNode=c}l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(y){Qe(e,t,y)}}function Et(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(i){Qe(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(i){Qe(e,t,i)}else a.current=null}function fs(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var a=0;a title"))),_t(l,t,a),l[gt]=e,ht(l),t=l;break e;case"link":if(r=ov("link","href",i).get(t+(a.href||""))){for(c=0;cxe&&(c=xe,xe=oe,oe=c);var j=Ph(y,oe),N=Ph(y,xe);if(j&&N&&(A.rangeCount!==1||A.anchorNode!==j.node||A.anchorOffset!==j.offset||A.focusNode!==N.node||A.focusOffset!==N.offset)){var O=B.createRange();O.setStart(j.node,j.offset),A.removeAllRanges(),oe>xe?(A.addRange(O),A.extend(N.node,N.offset)):(O.setEnd(N.node,N.offset),A.addRange(O))}}}}for(B=[],A=y;A=A.parentNode;)A.nodeType===1&&B.push({element:A,left:A.scrollLeft,top:A.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;ya?32:a,se.T=null,a=rf,rf=null;var r=Na,c=Ya;if(Ie=0,Cn=Na=null,Ya=0,(He&6)!==0)throw Error(o(331));var y=He;if(He|=4,sp(r.current),ip(r,r.current,c,a),He=y,Gu(0,!1),Kt&&typeof Kt.onPostCommitFiberRoot=="function")try{Kt.onPostCommitFiberRoot(uu,r)}catch{}return!0}finally{ye.p=i,se.T=l,_p(e,t)}}function Tp(e,t,a){t=ra(a,t),t=zc(e.stateNode,t,2),e=Rl(e,t,2),e!==null&&(su(e,2),Va(e))}function Qe(e,t,a){if(e.tag===3)Tp(e,e,a);else for(;t!==null;){if(t.tag===3){Tp(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Ll===null||!Ll.has(l))){e=ra(a,e),a=xy(2),l=Rl(t,a,2),l!==null&&(Sy(a,l,t,e),su(l,2),Va(l));break}}t=t.return}}function mf(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new Zb;var i=new Set;l.set(t,i)}else i=l.get(t),i===void 0&&(i=new Set,l.set(t,i));i.has(a)||(lf=!0,i.add(a),e=tx.bind(null,e,t,a),t.then(e,e))}function tx(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Xe===e&&(ze&a)===a&&((at===4||at===3&&(ze&62914560)===ze&&300>Xt()-Ss)&&(He&2)===0?Ni(e,0):xs|=a,xi===ze&&(xi=0)),Va(e)}function Np(e,t){t===0&&(t=ch()),e=fn(e,t),e!==null&&(su(e,t),Va(e))}function ax(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Np(e,a)}function lx(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,i=e.memoizedState;i!==null&&(a=i.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(o(314))}l!==null&&l.delete(t),Np(e,a)}function nx(e,t){return po(e,t)}var Ci=null,ji=null,yf=!1,zs=!1,pf=!1,Ql=0;function Va(e){e!==ji&&e.next===null&&(ji===null?Ci=ji=e:ji=ji.next=e),zs=!0,yf||(yf=!0,ux())}function Gu(e,t){if(!pf&&zs){pf=!0;do for(var a=!1,l=Ci;l!==null;){if(e!==0){var i=l.pendingLanes;if(i===0)var r=0;else{var c=l.suspendedLanes,y=l.pingedLanes;r=(1<<31-Zt(42|e)+1)-1,r&=i&~(c&~y),r=r&201326741?r&201326741|1:r?r|2:0}r!==0&&(a=!0,zp(l,r))}else r=ze,r=xr(l,l===Xe?r:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(r&3)===0||ru(l,r)||(a=!0,zp(l,r));l=l.next}while(a);pf=!1}}function ix(){wp()}function wp(){zs=yf=!1;var e=0;Ql!==0&&vx()&&(e=Ql);for(var t=Xt(),a=null,l=Ci;l!==null;){var i=l.next,r=Cp(l,t);r===0?(l.next=null,a===null?Ci=i:a.next=i,i===null&&(ji=a)):(a=l,(e!==0||(r&3)!==0)&&(zs=!0)),l=i}Ie!==0&&Ie!==5||Gu(e),Ql!==0&&(Ql=0)}function Cp(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,i=e.expirationTimes,r=e.pendingLanes&-62914561;0y)break;var M=S.transferSize,B=S.initiatorType;M&&kp(B)&&(S=S.responseEnd,c+=M*(SDs){oe.length=$;break}O=new Promise(_x.bind(O)),oe.push(O)}}}if(0"u"?null:document;function iv(e,t,a){var l=Oi;if(l&&typeof t=="string"&&t){var i=ia(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof a=="string"&&(i+='[crossorigin="'+a+'"]'),nv.has(i)||(nv.add(i),e={rel:e,crossOrigin:a,href:t},l.querySelector(i)===null&&(t=l.createElement("link"),_t(t,"link",e),ht(t),l.head.appendChild(t)))}}function Gx(e){cl.D(e),iv("dns-prefetch",e,null)}function Yx(e,t){cl.C(e,t),iv("preconnect",e,t)}function Vx(e,t,a){cl.L(e,t,a);var l=Oi;if(l&&e&&t){var i='link[rel="preload"][as="'+ia(t)+'"]';t==="image"&&a&&a.imageSrcSet?(i+='[imagesrcset="'+ia(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(i+='[imagesizes="'+ia(a.imageSizes)+'"]')):i+='[href="'+ia(e)+'"]';var r=i;switch(t){case"style":r=Ri(e);break;case"script":r=Ai(e)}if(!(ha.has(r)||(e=F({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),ha.set(r,e),l.querySelector(i)!==null||t==="style"&&l.querySelector(Zu(r))||t==="script"&&l.querySelector(Ju(r))))){var c=l.createElement("link");_t(c,"link",e),t==="style"&&(c[Sr]=!0,c.onload=c.onerror=function(){gh(c)}),ht(c),l.head.appendChild(c)}}}function Xx(e,t){cl.m(e,t);var a=Oi;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+ia(l)+'"][href="'+ia(e)+'"]',r=i;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":r=Ai(e)}if(!ha.has(r)&&(e=F({rel:"modulepreload",href:e},t),ha.set(r,e),a.querySelector(i)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Ju(r)))return}l=a.createElement("link"),_t(l,"link",e),ht(l),a.head.appendChild(l)}}}function Kx(e,t,a){cl.S(e,t,a);var l=Oi;if(l&&e){var i=Fn(l).hoistableStyles,r=Ri(e);t=t||"default";var c=i.get(r);if(!c){var y={loading:0,preload:null};if(c=l.querySelector(Zu(r)))y.loading=5;else{e=F({rel:"stylesheet",href:e,"data-precedence":t},a),(a=ha.get(r))&&Hf(e,a);var S=c=l.createElement("link");ht(S),_t(S,"link",e),S._p=new Promise(function(z,M){S.onload=z,S.onerror=M}),S.addEventListener("load",function(){y.loading|=1}),S.addEventListener("error",function(){y.loading|=2}),y.loading|=4,As(c,t,l)}c={type:"stylesheet",instance:c,count:1,state:y},i.set(r,c)}}}function Zx(e,t){cl.X(e,t);var a=Oi;if(a&&e){var l=Fn(a).hoistableScripts,i=Ai(e),r=l.get(i);r||(r=a.querySelector(Ju(i)),r||(e=F({src:e,async:!0},t),(t=ha.get(i))&&qf(e,t),r=a.createElement("script"),ht(r),_t(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},l.set(i,r))}}function Jx(e,t){cl.M(e,t);var a=Oi;if(a&&e){var l=Fn(a).hoistableScripts,i=Ai(e),r=l.get(i);r||(r=a.querySelector(Ju(i)),r||(e=F({src:e,async:!0,type:"module"},t),(t=ha.get(i))&&qf(e,t),r=a.createElement("script"),ht(r),_t(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},l.set(i,r))}}function uv(e,t,a,l){var i=(i=bl.current)?Ku(i):null;if(!i)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(a=Ri(a.href),t=Fn(i).hoistableStyles,l=t.get(a),l||(l={type:"style",instance:null,count:0,state:null},t.set(a,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Ri(a.href);var r=Fn(i).hoistableStyles,c=r.get(e);if(c||(i=i.ownerDocument||i,c={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},r.set(e,c),(r=i.querySelector(Zu(e)))?r._p||(c.instance=r,c.state.loading=5):(r=ha.get(e),r||(r={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},ha.set(e,r)),Fx(i,e,r,c.state))),t&&l===null)throw Error(o(528,""));return c}if(t&&l!==null)throw Error(o(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(a=Ai(a),t=Fn(i).hoistableScripts,l=t.get(a),l||(l={type:"script",instance:null,count:0,state:null},t.set(a,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Ri(e){return'href="'+ia(e)+'"'}function Zu(e){return'link[rel="stylesheet"]['+e+"]"}function rv(e){return F({},e,{"data-precedence":e.precedence,precedence:null})}function Fx(e,t,a,l){if(t=e.querySelector('link[rel="preload"][as="style"]['+t+"]")){if(t[Sr]!==!0){l.loading=1;return}}else t=e.createElement("link"),t[Sr]=!0,t.onload=t.onerror=gh.bind(null,t),_t(t,"link",a),ht(t),e.head.appendChild(t);l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2})}function Ai(e){return'[src="'+ia(e)+'"]'}function Ju(e){return"script[async]"+e}function sv(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+ia(a.href)+'"]');if(l)return t.instance=l,ht(l),l;var i=F({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),ht(l),_t(l,"style",i),As(l,a.precedence,e),t.instance=l;case"stylesheet":i=Ri(a.href);var r=e.querySelector(Zu(i));if(r)return t.state.loading|=4,t.instance=r,ht(r),r;l=rv(a),(i=ha.get(i))&&Hf(l,i),r=(e.ownerDocument||e).createElement("link"),ht(r);var c=r;return c._p=new Promise(function(y,S){c.onload=y,c.onerror=S}),_t(r,"link",l),t.state.loading|=4,As(r,a.precedence,e),t.instance=r;case"script":return r=Ai(a.src),(i=e.querySelector(Ju(r)))?(t.instance=i,ht(i),i):(l=a,(i=ha.get(r))&&(l=F({},a),qf(l,i)),e=e.ownerDocument||e,i=e.createElement("script"),ht(i),_t(i,"link",l),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,As(l,a.precedence,e));return t.instance}function As(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=l.length?l[l.length-1]:null,r=i,c=0;c title"):null)}function $x(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function cv(e,t){return e==="img"&&t.src!=null&&t.src!==""&&t.onLoad==null&&t.loading!=="lazy"}function fv(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function dv(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio=="number"?devicePixelRatio:1)*.25}function hv(e,t){typeof t.decode=="function"&&(e.imgCount++,t.complete||(e.imgBytes+=dv(t),e.suspenseyImages.push(t)),e=Ix.bind(e),t.decode().then(e,e))}function Px(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var i=Ri(l.href),r=t.querySelector(Zu(i));if(r){t=r._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Fu.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=r,ht(r);return}r=t.ownerDocument||t,l=rv(l),(i=ha.get(i))&&Hf(l,i),r=r.createElement("link"),ht(r);var c=r;c._p=new Promise(function(y,S){c.onload=y,c.onerror=S}),_t(r,"link",l),a.instance=r}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Fu.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Ds=0;function Wx(e,t){return e.stylesheets&&e.count===0&&ks(e,e.stylesheets),0Ds?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(i)}}:null}function mv(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ks(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function Fu(){this.count--,mv(this)}function Ix(){this.imgCount--,mv(this)}var Us=null;function ks(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Us=new Map,t.forEach(e2,e),Us=null,Fu.call(e))}function e2(e,t){if(!(t.state.loading&4)){var a=Us.get(e);if(a)var l=a.get(null);else{a=new Map,Us.set(e,a);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),r=0;r"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(u){console.error(u)}}return n(),Ff.exports=p2(),Ff.exports}var g2=v2();const b2=Ug(g2);/** * react-router v7.18.4 * * Copyright (c) Remix Software Inc. @@ -56,282 +56,282 @@ Error generating stack: `+l.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */var Od=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,Ug=/^[\\/]{2}/;function d2(n,r){return r+n.replace(/\\/g,"/")}var Hp="popstate";function qp(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function h2(n={}){function r(f,m){let{pathname:d="/",search:v="",hash:b=""}=Yn(f.location.hash.substring(1));return!d.startsWith("/")&&!d.startsWith(".")&&(d="/"+d),id("",{pathname:d,search:v,hash:b},m.state&&m.state.usr||null,m.state&&m.state.key||"default")}function s(f,m){let d=f.document.querySelector("base"),v="";if(d&&d.getAttribute("href")){let b=f.location.href,p=b.indexOf("#");v=p===-1?b:b.slice(0,p)}return v+"#"+(typeof m=="string"?m:Bn(m))}function o(f,m){la(f.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(m)})`)}return y2(r,s,o,n)}function We(n,r){if(n===!1||n===null||typeof n>"u")throw new Error(r)}function la(n,r){if(!n){typeof console<"u"&&console.warn(r);try{throw new Error(r)}catch{}}}function m2(){return Math.random().toString(36).substring(2,10)}function Lp(n,r){return{usr:n.state,key:n.key,idx:r,masked:n.mask?{pathname:n.pathname,search:n.search,hash:n.hash}:void 0}}function id(n,r,s=null,o,f){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof r=="string"?Yn(r):r,state:s,key:r&&r.key||o||m2(),mask:f}}function Bn({pathname:n="/",search:r="",hash:s=""}){return r&&r!=="?"&&(n+=r.charAt(0)==="?"?r:"?"+r),s&&s!=="#"&&(n+=s.charAt(0)==="#"?s:"#"+s),n}function Yn(n){let r={};if(n){let s=n.indexOf("#");s>=0&&(r.hash=n.substring(s),n=n.substring(0,s));let o=n.indexOf("?");o>=0&&(r.search=n.substring(o),n=n.substring(0,o)),n&&(r.pathname=n)}return r}function y2(n,r,s,o={}){let{window:f=document.defaultView,v5Compat:m=!1}=o,d=f.history,v="POP",b=null,p=x();p==null&&(p=0,d.replaceState({...d.state,idx:p},""));function x(){return(d.state||{idx:null}).idx}function g(){v="POP";let D=x(),H=D==null?null:D-p;p=D,b&&b({action:v,location:q.location,delta:H})}function _(D,H){v="PUSH";let Q=qp(D)?D:id(q.location,D,H);s&&s(Q,D),p=x()+1;let Z=Lp(Q,p),J=q.createHref(Q.mask||Q);try{d.pushState(Z,"",J)}catch(Y){if(Y instanceof DOMException&&Y.name==="DataCloneError")throw Y;f.location.assign(J)}m&&b&&b({action:v,location:q.location,delta:1})}function k(D,H){v="REPLACE";let Q=qp(D)?D:id(q.location,D,H);s&&s(Q,D),p=x();let Z=Lp(Q,p),J=q.createHref(Q.mask||Q);d.replaceState(Z,"",J),m&&b&&b({action:v,location:q.location,delta:0})}function K(D){return v2(f,D)}let q={get action(){return v},get location(){return n(f,d)},listen(D){if(b)throw new Error("A history only accepts one active listener");return f.addEventListener(Hp,g),b=D,()=>{f.removeEventListener(Hp,g),b=null}},createHref(D){return r(f,D)},createURL:K,encodeLocation(D){let H=K(D);return{pathname:H.pathname,search:H.search,hash:H.hash}},push:_,replace:k,go(D){return d.go(D)}};return q}function v2(n,r,s=!1){let o="http://localhost";n&&(o=n.location.origin!=="null"?n.location.origin:n.location.href),We(o,"No window.location.(origin|href) available to create URL");let f=typeof r=="string"?r:Bn(r);return f=f.replace(/ $/,"%20"),!s&&Ug.test(f)&&(f=o+f),new URL(f,o)}function kg(n,r,s="/"){return p2(n,r,s,!1)}function p2(n,r,s,o,f){let m=typeof r=="string"?Yn(r):r,d=pl(m.pathname||"/",s);if(d==null)return null;let v=g2(n),b=null,p=z2(d);for(let x=0;b==null&&x{let x={relativePath:p===void 0?d.path||"":p,caseSensitive:d.caseSensitive===!0,childrenIndex:v,route:d};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(o)&&b)return;We(x.relativePath.startsWith(o),`Absolute route path "${x.relativePath}" nested under path "${o}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(o.length)}let g=za([o,x.relativePath]),_=s.concat(x);d.children&&d.children.length>0&&(We(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${g}".`),Hg(d.children,r,_,g,b)),!(d.path==null&&!d.index)&&r.push({path:g,score:w2(g,d.index),routesMeta:_.map((k,K)=>{let[q,D]=Bg(k.relativePath,k.caseSensitive,K===_.length-1);return{...k,matcher:q,compiledParams:D}})})};return n.forEach((d,v)=>{var b;if(d.path===""||!((b=d.path)!=null&&b.includes("?")))m(d,v);else for(let p of qg(d.path))m(d,v,!0,p)}),r}function qg(n){let r=n.split("/");if(r.length===0)return[];let[s,...o]=r,f=s.endsWith("?"),m=s.replace(/\?$/,"");if(o.length===0)return f?[m,""]:[m];let d=qg(o.join("/")),v=[];return v.push(...d.map(b=>b===""?m:[m,b].join("/"))),f&&v.push(...d),v.map(b=>n.startsWith("/")&&b===""?"/":b)}function b2(n){n.sort((r,s)=>r.score!==s.score?s.score-r.score:C2(r.routesMeta.map(o=>o.childrenIndex),s.routesMeta.map(o=>o.childrenIndex)))}var x2=/^:[\w-]+$/,S2=3,E2=2,_2=1,T2=10,N2=-2,Bp=n=>n==="*";function w2(n,r){let s=n.split("/"),o=s.length;return s.some(Bp)&&(o+=N2),r&&(o+=E2),s.filter(f=>!Bp(f)).reduce((f,m)=>f+(x2.test(m)?S2:m===""?_2:T2),o)}function C2(n,r){return n.length===r.length&&n.slice(0,-1).every((o,f)=>o===r[f])?n[n.length-1]-r[r.length-1]:0}function j2(n,r,s=!1){let{routesMeta:o}=n,f={},m="/",d=[];for(let v=0;v{if(x==="*"){let K=v[_]||"";d=Pi(m.slice(0,m.length-K.length),1)}const k=v[_];return g&&!k?p[x]=void 0:p[x]=(k||"").replace(/%2F/g,"/"),p},{}),pathname:m,pathnameBase:d,pattern:n}}function Bg(n,r=!1,s=!0){la(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let o=[],f="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,v,b,p,x)=>{if(o.push({paramName:v,isOptional:b!=null}),b){let g=x.charAt(p+d.length);return g&&g!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(o.push({paramName:"*"}),f+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?f+="\\/*$":n!==""&&n!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,r?void 0:"i"),o]}function z2(n){try{return n.split("/").map(r=>decodeURIComponent(r).replace(/\//g,"%2F")).join("/")}catch(r){return la(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${r}).`),n}}function pl(n,r){if(r==="/")return n;if(!n.toLowerCase().startsWith(r.toLowerCase()))return null;let s=r.endsWith("/")?r.length-1:r.length,o=n.charAt(s);return o&&o!=="/"?null:n.slice(s)||"/"}function O2(n,r="/"){let{pathname:s,search:o="",hash:f=""}=typeof n=="string"?Yn(n):n,m;return s?(s=Qg(s),s.startsWith("/")||s.startsWith("\\")?m=Qp(s.substring(1),"/"):m=Qp(s,r)):m=r,{pathname:m,search:M2(o),hash:D2(f)}}function Qp(n,r){let s=Pi(r).split("/");return n.split("/").forEach(f=>{f===".."?s.length>1&&s.pop():f!=="."&&s.push(f)}),s.length>1?s.join("/"):"/"}function If(n,r,s,o){return`Cannot include a '${n}' character in a manually specified \`to.${r}\` field [${JSON.stringify(o)}]. Please separate it out to the \`to.${s}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function R2(n){return n.filter((r,s)=>s===0||r.route.path&&r.route.path.length>0)}function Rd(n){let r=R2(n);return r.map((s,o)=>o===r.length-1?s.pathname:s.pathnameBase)}function ao(n,r,s,o=!1){let f;typeof n=="string"?f=Yn(n):(f={...n},We(!f.pathname||!f.pathname.includes("?"),If("?","pathname","search",f)),We(!f.pathname||!f.pathname.includes("#"),If("#","pathname","hash",f)),We(!f.search||!f.search.includes("#"),If("#","search","hash",f)));let m=n===""||f.pathname==="",d=m?"/":f.pathname,v;if(d==null)v=s;else{let g=r.length-1;if(!o&&d.startsWith("..")){let _=d.split("/");for(;_[0]==="..";)_.shift(),g-=1;f.pathname=_.join("/")}v=g>=0?r[g]:"/"}let b=O2(f,v),p=d&&d!=="/"&&d.endsWith("/"),x=(m||d===".")&&s.endsWith("/");return!b.pathname.endsWith("/")&&(p||x)&&(b.pathname+="/"),b}var Qg=n=>n.replace(/[\\/]{2,}/g,"/"),za=n=>Qg(n.join("/"));function Pi(n,r=0){let s=n.length;for(;s>r&&n.charCodeAt(s-1)===47;)s--;return s===n.length?n:n.slice(0,s)}var A2=n=>Pi(n).replace(/^\/*/,"/"),M2=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,D2=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,U2=class{constructor(n,r,s,o=!1){this.status=n,this.statusText=r||"",this.internal=o,s instanceof Error?(this.data=s.toString(),this.error=s):this.data=s}};function k2(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function H2(n){let r=n.map(s=>s.route.path).filter(Boolean);return za(r)||"/"}var Gg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Yg(n,r){let s=n;if(typeof s!="string"||!Od.test(s))return{absoluteURL:void 0,isExternal:!1,to:s};let o=s,f=!1;if(Gg)try{let m=new URL(window.location.href),d=Ug.test(s)?new URL(d2(s,m.protocol)):new URL(s),v=pl(d.pathname,r);d.origin===m.origin&&v!=null?s=v+d.search+d.hash:f=!0}catch{la(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:o,isExternal:f,to:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Gp=new URL("http://localhost");function Ad(n){if(n.createURL)return n.createURL("/");try{return new URL(n.createHref("/"),Gp)}catch{return Gp}}function ed(n,r){return n.origin===r.origin&&(n.origin!=="null"||n.protocol===r.protocol&&n.host===r.host)}function q2(n,r){if(n.startsWith("//"))return!0;let s=r.protocol.toLowerCase();return n.toLowerCase().startsWith(s)?r.host===""||n.slice(s.length).startsWith("//"):!1}function Md(n,r,s,o){let f=null;try{f=n==null?null:new URL(n,s)}catch{}let m=new URL(r,s),d=f!=null&&!ed(f,s),v=!ed(m,s);if(o==="reject"){if(d||v)throw new Error("External navigation is not allowed")}else if(v&&(f==null||!q2(n,f)||!ed(f,m)))throw new Error("External navigation is not allowed")}var Vg=["POST","PUT","PATCH","DELETE"];new Set(Vg);var L2=["GET",...Vg];new Set(L2);var B2=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function Q2(n){try{return B2.includes(new URL(n).protocol)}catch{return!1}}var eu=E.createContext(null);eu.displayName="DataRouter";var lo=E.createContext(null);lo.displayName="DataRouterState";var Xg=E.createContext(!1);function G2(){return E.useContext(Xg)}var Kg=E.createContext({isTransitioning:!1});Kg.displayName="ViewTransition";var Y2=E.createContext(new Map);Y2.displayName="Fetchers";var V2=E.createContext(null);V2.displayName="Await";var na=E.createContext(null);na.displayName="Navigation";var fr=E.createContext(null);fr.displayName="Location";var Oa=E.createContext({outlet:null,matches:[],isDataRoute:!1});Oa.displayName="Route";var Dd=E.createContext(null);Dd.displayName="RouteError";var Zg="REACT_ROUTER_ERROR",X2="REDIRECT",K2="ROUTE_ERROR_RESPONSE";function Z2(n){if(n.startsWith(`${Zg}:${X2}:{`))try{let r=JSON.parse(n.slice(28));if(typeof r=="object"&&r&&typeof r.status=="number"&&typeof r.statusText=="string"&&typeof r.location=="string"&&typeof r.reloadDocument=="boolean"&&typeof r.replace=="boolean")return r}catch{}}function J2(n){if(n.startsWith(`${Zg}:${K2}:{`))try{let r=JSON.parse(n.slice(40));if(typeof r=="object"&&r&&typeof r.status=="number"&&typeof r.statusText=="string")return new U2(r.status,r.statusText,r.data)}catch{}}function F2(n,{relative:r}={}){We(tu(),"useHref() may be used only in the context of a component.");let{basename:s,navigator:o}=E.useContext(na),{hash:f,pathname:m,search:d}=dr(n,{relative:r}),v=m;return s!=="/"&&(v=m==="/"?s:za([s,m])),o.createHref({pathname:v,search:d,hash:f})}function tu(){return E.useContext(fr)!=null}function ba(){return We(tu(),"useLocation() may be used only in the context of a component."),E.useContext(fr).location}var Jg="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Fg(n){E.useContext(na).static||E.useLayoutEffect(n)}function no(){let{isDataRoute:n}=E.useContext(Oa);return n?cS():$2()}function $2(){We(tu(),"useNavigate() may be used only in the context of a component.");let n=E.useContext(eu),{basename:r,navigator:s}=E.useContext(na),{matches:o}=E.useContext(Oa),{pathname:f}=ba(),m=JSON.stringify(Rd(o)),d=E.useRef(!1);return Fg(()=>{d.current=!0}),E.useCallback((b,p={})=>{if(la(d.current,Jg),!d.current)return;if(typeof b=="number"){s.go(b);return}let x=ao(b,JSON.parse(m),f,p.relative==="path");n==null&&r!=="/"&&(x.pathname=x.pathname==="/"?r:za([r,x.pathname])),Md(typeof b=="string"?b:Bn(b),s.createHref(x),Ad(s),"reject"),(p.replace?s.replace:s.push)(x,p.state,p)},[r,s,m,f,n])}var P2=E.createContext(null);function W2(n){let r=E.useContext(Oa).outlet;return E.useMemo(()=>r&&E.createElement(P2.Provider,{value:n},r),[r,n])}function dr(n,{relative:r}={}){let{matches:s}=E.useContext(Oa),{pathname:o}=ba(),f=JSON.stringify(Rd(s));return E.useMemo(()=>ao(n,JSON.parse(f),o,r==="path"),[n,f,o,r])}function I2(n,r){return $g(n,r)}function $g(n,r,s){var D;We(tu(),"useRoutes() may be used only in the context of a component.");let{navigator:o}=E.useContext(na),{matches:f}=E.useContext(Oa),m=f[f.length-1],d=m?m.params:{},v=m?m.pathname:"/",b=m?m.pathnameBase:"/",p=m&&m.route;{let H=p&&p.path||"";Wg(v,!p||H.endsWith("*")||H.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${v}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + */var Od=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,Hg=/^[\\/]{2}/;function x2(n,u){return u+n.replace(/\\/g,"/")}var Lv="popstate";function Bv(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function S2(n={}){function u(f,m){let{pathname:d="/",search:p="",hash:x=""}=Yn(f.location.hash.substring(1));return!d.startsWith("/")&&!d.startsWith(".")&&(d="/"+d),id("",{pathname:d,search:p,hash:x},m.state&&m.state.usr||null,m.state&&m.state.key||"default")}function s(f,m){let d=f.document.querySelector("base"),p="";if(d&&d.getAttribute("href")){let x=f.location.href,v=x.indexOf("#");p=v===-1?x:x.slice(0,v)}return p+"#"+(typeof m=="string"?m:Bn(m))}function o(f,m){la(f.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(m)})`)}return _2(u,s,o,n)}function We(n,u){if(n===!1||n===null||typeof n>"u")throw new Error(u)}function la(n,u){if(!n){typeof console<"u"&&console.warn(u);try{throw new Error(u)}catch{}}}function E2(){return Math.random().toString(36).substring(2,10)}function Qv(n,u){return{usr:n.state,key:n.key,idx:u,masked:n.mask?{pathname:n.pathname,search:n.search,hash:n.hash}:void 0}}function id(n,u,s=null,o,f){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof u=="string"?Yn(u):u,state:s,key:u&&u.key||o||E2(),mask:f}}function Bn({pathname:n="/",search:u="",hash:s=""}){return u&&u!=="?"&&(n+=u.charAt(0)==="?"?u:"?"+u),s&&s!=="#"&&(n+=s.charAt(0)==="#"?s:"#"+s),n}function Yn(n){let u={};if(n){let s=n.indexOf("#");s>=0&&(u.hash=n.substring(s),n=n.substring(0,s));let o=n.indexOf("?");o>=0&&(u.search=n.substring(o),n=n.substring(0,o)),n&&(u.pathname=n)}return u}function _2(n,u,s,o={}){let{window:f=document.defaultView,v5Compat:m=!1}=o,d=f.history,p="POP",x=null,v=b();v==null&&(v=0,d.replaceState({...d.state,idx:v},""));function b(){return(d.state||{idx:null}).idx}function g(){p="POP";let D=b(),H=D==null?null:D-v;v=D,x&&x({action:p,location:q.location,delta:H})}function _(D,H){p="PUSH";let Q=Bv(D)?D:id(q.location,D,H);s&&s(Q,D),v=b()+1;let Z=Qv(Q,v),J=q.createHref(Q.mask||Q);try{d.pushState(Z,"",J)}catch(Y){if(Y instanceof DOMException&&Y.name==="DataCloneError")throw Y;f.location.assign(J)}m&&x&&x({action:p,location:q.location,delta:1})}function k(D,H){p="REPLACE";let Q=Bv(D)?D:id(q.location,D,H);s&&s(Q,D),v=b();let Z=Qv(Q,v),J=q.createHref(Q.mask||Q);d.replaceState(Z,"",J),m&&x&&x({action:p,location:q.location,delta:0})}function K(D){return T2(f,D)}let q={get action(){return p},get location(){return n(f,d)},listen(D){if(x)throw new Error("A history only accepts one active listener");return f.addEventListener(Lv,g),x=D,()=>{f.removeEventListener(Lv,g),x=null}},createHref(D){return u(f,D)},createURL:K,encodeLocation(D){let H=K(D);return{pathname:H.pathname,search:H.search,hash:H.hash}},push:_,replace:k,go(D){return d.go(D)}};return q}function T2(n,u,s=!1){let o="http://localhost";n&&(o=n.location.origin!=="null"?n.location.origin:n.location.href),We(o,"No window.location.(origin|href) available to create URL");let f=typeof u=="string"?u:Bn(u);return f=f.replace(/ $/,"%20"),!s&&Hg.test(f)&&(f=o+f),new URL(f,o)}function qg(n,u,s="/"){return N2(n,u,s,!1)}function N2(n,u,s,o,f){let m=typeof u=="string"?Yn(u):u,d=vl(m.pathname||"/",s);if(d==null)return null;let p=w2(n),x=null,v=H2(d);for(let b=0;x==null&&b{let b={relativePath:v===void 0?d.path||"":v,caseSensitive:d.caseSensitive===!0,childrenIndex:p,route:d};if(b.relativePath.startsWith("/")){if(!b.relativePath.startsWith(o)&&x)return;We(b.relativePath.startsWith(o),`Absolute route path "${b.relativePath}" nested under path "${o}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),b.relativePath=b.relativePath.slice(o.length)}let g=za([o,b.relativePath]),_=s.concat(b);d.children&&d.children.length>0&&(We(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${g}".`),Lg(d.children,u,_,g,x)),!(d.path==null&&!d.index)&&u.push({path:g,score:D2(g,d.index),routesMeta:_.map((k,K)=>{let[q,D]=Gg(k.relativePath,k.caseSensitive,K===_.length-1);return{...k,matcher:q,compiledParams:D}})})};return n.forEach((d,p)=>{var x;if(d.path===""||!((x=d.path)!=null&&x.includes("?")))m(d,p);else for(let v of Bg(d.path))m(d,p,!0,v)}),u}function Bg(n){let u=n.split("/");if(u.length===0)return[];let[s,...o]=u,f=s.endsWith("?"),m=s.replace(/\?$/,"");if(o.length===0)return f?[m,""]:[m];let d=Bg(o.join("/")),p=[];return p.push(...d.map(x=>x===""?m:[m,x].join("/"))),f&&p.push(...d),p.map(x=>n.startsWith("/")&&x===""?"/":x)}function C2(n){n.sort((u,s)=>u.score!==s.score?s.score-u.score:U2(u.routesMeta.map(o=>o.childrenIndex),s.routesMeta.map(o=>o.childrenIndex)))}var j2=/^:[\w-]+$/,z2=3,O2=2,R2=1,A2=10,M2=-2,Gv=n=>n==="*";function D2(n,u){let s=n.split("/"),o=s.length;return s.some(Gv)&&(o+=M2),u&&(o+=O2),s.filter(f=>!Gv(f)).reduce((f,m)=>f+(j2.test(m)?z2:m===""?R2:A2),o)}function U2(n,u){return n.length===u.length&&n.slice(0,-1).every((o,f)=>o===u[f])?n[n.length-1]-u[u.length-1]:0}function k2(n,u,s=!1){let{routesMeta:o}=n,f={},m="/",d=[];for(let p=0;p{if(b==="*"){let K=p[_]||"";d=Pi(m.slice(0,m.length-K.length),1)}const k=p[_];return g&&!k?v[b]=void 0:v[b]=(k||"").replace(/%2F/g,"/"),v},{}),pathname:m,pathnameBase:d,pattern:n}}function Gg(n,u=!1,s=!0){la(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let o=[],f="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,p,x,v,b)=>{if(o.push({paramName:p,isOptional:x!=null}),x){let g=b.charAt(v+d.length);return g&&g!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(o.push({paramName:"*"}),f+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?f+="\\/*$":n!==""&&n!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,u?void 0:"i"),o]}function H2(n){try{return n.split("/").map(u=>decodeURIComponent(u).replace(/\//g,"%2F")).join("/")}catch(u){return la(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${u}).`),n}}function vl(n,u){if(u==="/")return n;if(!n.toLowerCase().startsWith(u.toLowerCase()))return null;let s=u.endsWith("/")?u.length-1:u.length,o=n.charAt(s);return o&&o!=="/"?null:n.slice(s)||"/"}function q2(n,u="/"){let{pathname:s,search:o="",hash:f=""}=typeof n=="string"?Yn(n):n,m;return s?(s=Yg(s),s.startsWith("/")||s.startsWith("\\")?m=Yv(s.substring(1),"/"):m=Yv(s,u)):m=u,{pathname:m,search:Q2(o),hash:G2(f)}}function Yv(n,u){let s=Pi(u).split("/");return n.split("/").forEach(f=>{f===".."?s.length>1&&s.pop():f!=="."&&s.push(f)}),s.length>1?s.join("/"):"/"}function If(n,u,s,o){return`Cannot include a '${n}' character in a manually specified \`to.${u}\` field [${JSON.stringify(o)}]. Please separate it out to the \`to.${s}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function L2(n){return n.filter((u,s)=>s===0||u.route.path&&u.route.path.length>0)}function Rd(n){let u=L2(n);return u.map((s,o)=>o===u.length-1?s.pathname:s.pathnameBase)}function ao(n,u,s,o=!1){let f;typeof n=="string"?f=Yn(n):(f={...n},We(!f.pathname||!f.pathname.includes("?"),If("?","pathname","search",f)),We(!f.pathname||!f.pathname.includes("#"),If("#","pathname","hash",f)),We(!f.search||!f.search.includes("#"),If("#","search","hash",f)));let m=n===""||f.pathname==="",d=m?"/":f.pathname,p;if(d==null)p=s;else{let g=u.length-1;if(!o&&d.startsWith("..")){let _=d.split("/");for(;_[0]==="..";)_.shift(),g-=1;f.pathname=_.join("/")}p=g>=0?u[g]:"/"}let x=q2(f,p),v=d&&d!=="/"&&d.endsWith("/"),b=(m||d===".")&&s.endsWith("/");return!x.pathname.endsWith("/")&&(v||b)&&(x.pathname+="/"),x}var Yg=n=>n.replace(/[\\/]{2,}/g,"/"),za=n=>Yg(n.join("/"));function Pi(n,u=0){let s=n.length;for(;s>u&&n.charCodeAt(s-1)===47;)s--;return s===n.length?n:n.slice(0,s)}var B2=n=>Pi(n).replace(/^\/*/,"/"),Q2=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,G2=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,Y2=class{constructor(n,u,s,o=!1){this.status=n,this.statusText=u||"",this.internal=o,s instanceof Error?(this.data=s.toString(),this.error=s):this.data=s}};function V2(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function X2(n){let u=n.map(s=>s.route.path).filter(Boolean);return za(u)||"/"}var Vg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Xg(n,u){let s=n;if(typeof s!="string"||!Od.test(s))return{absoluteURL:void 0,isExternal:!1,to:s};let o=s,f=!1;if(Vg)try{let m=new URL(window.location.href),d=Hg.test(s)?new URL(x2(s,m.protocol)):new URL(s),p=vl(d.pathname,u);d.origin===m.origin&&p!=null?s=p+d.search+d.hash:f=!0}catch{la(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:o,isExternal:f,to:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Vv=new URL("http://localhost");function Ad(n){if(n.createURL)return n.createURL("/");try{return new URL(n.createHref("/"),Vv)}catch{return Vv}}function ed(n,u){return n.origin===u.origin&&(n.origin!=="null"||n.protocol===u.protocol&&n.host===u.host)}function K2(n,u){if(n.startsWith("//"))return!0;let s=u.protocol.toLowerCase();return n.toLowerCase().startsWith(s)?u.host===""||n.slice(s.length).startsWith("//"):!1}function Md(n,u,s,o){let f=null;try{f=n==null?null:new URL(n,s)}catch{}let m=new URL(u,s),d=f!=null&&!ed(f,s),p=!ed(m,s);if(o==="reject"){if(d||p)throw new Error("External navigation is not allowed")}else if(p&&(f==null||!K2(n,f)||!ed(f,m)))throw new Error("External navigation is not allowed")}var Kg=["POST","PUT","PATCH","DELETE"];new Set(Kg);var Z2=["GET",...Kg];new Set(Z2);var J2=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function F2(n){try{return J2.includes(new URL(n).protocol)}catch{return!1}}var eu=E.createContext(null);eu.displayName="DataRouter";var lo=E.createContext(null);lo.displayName="DataRouterState";var Zg=E.createContext(!1);function $2(){return E.useContext(Zg)}var Jg=E.createContext({isTransitioning:!1});Jg.displayName="ViewTransition";var P2=E.createContext(new Map);P2.displayName="Fetchers";var W2=E.createContext(null);W2.displayName="Await";var na=E.createContext(null);na.displayName="Navigation";var fr=E.createContext(null);fr.displayName="Location";var Oa=E.createContext({outlet:null,matches:[],isDataRoute:!1});Oa.displayName="Route";var Dd=E.createContext(null);Dd.displayName="RouteError";var Fg="REACT_ROUTER_ERROR",I2="REDIRECT",eS="ROUTE_ERROR_RESPONSE";function tS(n){if(n.startsWith(`${Fg}:${I2}:{`))try{let u=JSON.parse(n.slice(28));if(typeof u=="object"&&u&&typeof u.status=="number"&&typeof u.statusText=="string"&&typeof u.location=="string"&&typeof u.reloadDocument=="boolean"&&typeof u.replace=="boolean")return u}catch{}}function aS(n){if(n.startsWith(`${Fg}:${eS}:{`))try{let u=JSON.parse(n.slice(40));if(typeof u=="object"&&u&&typeof u.status=="number"&&typeof u.statusText=="string")return new Y2(u.status,u.statusText,u.data)}catch{}}function lS(n,{relative:u}={}){We(tu(),"useHref() may be used only in the context of a component.");let{basename:s,navigator:o}=E.useContext(na),{hash:f,pathname:m,search:d}=dr(n,{relative:u}),p=m;return s!=="/"&&(p=m==="/"?s:za([s,m])),o.createHref({pathname:p,search:d,hash:f})}function tu(){return E.useContext(fr)!=null}function ba(){return We(tu(),"useLocation() may be used only in the context of a component."),E.useContext(fr).location}var $g="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Pg(n){E.useContext(na).static||E.useLayoutEffect(n)}function no(){let{isDataRoute:n}=E.useContext(Oa);return n?gS():nS()}function nS(){We(tu(),"useNavigate() may be used only in the context of a component.");let n=E.useContext(eu),{basename:u,navigator:s}=E.useContext(na),{matches:o}=E.useContext(Oa),{pathname:f}=ba(),m=JSON.stringify(Rd(o)),d=E.useRef(!1);return Pg(()=>{d.current=!0}),E.useCallback((x,v={})=>{if(la(d.current,$g),!d.current)return;if(typeof x=="number"){s.go(x);return}let b=ao(x,JSON.parse(m),f,v.relative==="path");n==null&&u!=="/"&&(b.pathname=b.pathname==="/"?u:za([u,b.pathname])),Md(typeof x=="string"?x:Bn(x),s.createHref(b),Ad(s),"reject"),(v.replace?s.replace:s.push)(b,v.state,v)},[u,s,m,f,n])}var iS=E.createContext(null);function uS(n){let u=E.useContext(Oa).outlet;return E.useMemo(()=>u&&E.createElement(iS.Provider,{value:n},u),[u,n])}function dr(n,{relative:u}={}){let{matches:s}=E.useContext(Oa),{pathname:o}=ba(),f=JSON.stringify(Rd(s));return E.useMemo(()=>ao(n,JSON.parse(f),o,u==="path"),[n,f,o,u])}function rS(n,u){return Wg(n,u)}function Wg(n,u,s){var D;We(tu(),"useRoutes() may be used only in the context of a component.");let{navigator:o}=E.useContext(na),{matches:f}=E.useContext(Oa),m=f[f.length-1],d=m?m.params:{},p=m?m.pathname:"/",x=m?m.pathnameBase:"/",v=m&&m.route;{let H=v&&v.path||"";e0(p,!v||H.endsWith("*")||H.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${p}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. -Please change the parent to .`)}let x=ba(),g;if(r){let H=typeof r=="string"?Yn(r):r;We(b==="/"||((D=H.pathname)==null?void 0:D.startsWith(b)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${b}" but pathname "${H.pathname}" was given in the \`location\` prop.`),g=H}else g=x;let _=g.pathname||"/",k=_;if(b!=="/"){let H=b.replace(/^\//,"").split("/");k="/"+_.replace(/^\//,"").split("/").slice(H.length).join("/")}let K=s&&s.state.matches.length?s.state.matches.map(H=>Object.assign(H,{route:s.manifest[H.route.id]||H.route})):kg(n,{pathname:k});la(p||K!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),la(K==null||K[K.length-1].route.element!==void 0||K[K.length-1].route.Component!==void 0||K[K.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let q=nS(K&&K.map(H=>Object.assign({},H,{params:Object.assign({},d,H.params),pathname:za([b,o.encodeLocation?o.encodeLocation(H.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:H.pathname]),pathnameBase:H.pathnameBase==="/"?b:za([b,o.encodeLocation?o.encodeLocation(H.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:H.pathnameBase])})),f,s);return r&&q?E.createElement(fr.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...g},navigationType:"POP"}},q):q}function eS(){let n=oS(),r=k2(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),s=n instanceof Error?n.stack:null,o="rgba(200,200,200, 0.5)",f={padding:"0.5rem",backgroundColor:o},m={padding:"2px 4px",backgroundColor:o},d=null;return console.error("Error handled by React Router default ErrorBoundary:",n),d=E.createElement(E.Fragment,null,E.createElement("p",null,"💿 Hey developer 👋"),E.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",E.createElement("code",{style:m},"ErrorBoundary")," or"," ",E.createElement("code",{style:m},"errorElement")," prop on your route.")),E.createElement(E.Fragment,null,E.createElement("h2",null,"Unexpected Application Error!"),E.createElement("h3",{style:{fontStyle:"italic"}},r),s?E.createElement("pre",{style:f},s):null,d)}var tS=E.createElement(eS,null),Pg=class extends E.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,r){return r.location!==n.location||r.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:r.error,location:r.location,revalidation:n.revalidation||r.revalidation}}componentDidCatch(n,r){this.props.onError?this.props.onError(n,r):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const s=J2(n.digest);s&&(n=s)}let r=n!==void 0?E.createElement(Oa.Provider,{value:this.props.routeContext},E.createElement(Dd.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?E.createElement(aS,{error:n},r):r}};Pg.contextType=Xg;var td=new WeakMap;function aS({children:n,error:r}){let{basename:s,navigator:o}=E.useContext(na);if(typeof r=="object"&&r&&"digest"in r&&typeof r.digest=="string"){let f=Z2(r.digest);if(f){let m=td.get(r);if(m)throw m;let d=Yg(f.location,s),v=d.absoluteURL||d.to;if(Md(f.location,v,Ad(o),"allow-explicit"),Q2(v))throw new Error("Invalid redirect location");if(Gg&&!td.get(r))if(d.isExternal||f.reloadDocument)window.location.href=v;else{const b=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(d.to,{replace:f.replace}));throw td.set(r,b),b}return E.createElement("meta",{httpEquiv:"refresh",content:`0;url=${v}`})}}return n}function lS({routeContext:n,match:r,children:s}){let o=E.useContext(eu);return o&&o.static&&o.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=r.route.id),E.createElement(Oa.Provider,{value:n},s)}function nS(n,r=[],s){let o=s==null?void 0:s.state;if(n==null){if(!o)return null;if(o.errors)n=o.matches;else if(r.length===0&&!o.initialized&&o.matches.length>0)n=o.matches;else return null}let f=n,m=o==null?void 0:o.errors;if(m!=null){let x=f.findIndex(g=>g.route.id&&(m==null?void 0:m[g.route.id])!==void 0);We(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(m).join(",")}`),f=f.slice(0,Math.min(f.length,x+1))}let d=!1,v=-1;if(s&&o){d=o.renderFallback;for(let x=0;x=0?f=f.slice(0,v+1):f=[f[0]];break}}}}let b=s==null?void 0:s.onError,p=o&&b?(x,g)=>{var _,k;b(x,{location:o.location,params:((k=(_=o.matches)==null?void 0:_[0])==null?void 0:k.params)??{},pattern:H2(o.matches),errorInfo:g})}:void 0;return f.reduceRight((x,g,_)=>{let k,K=!1,q=null,D=null;o&&(k=m&&g.route.id?m[g.route.id]:void 0,q=g.route.errorElement||tS,d&&(v<0&&_===0?(Wg("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),K=!0,D=null):v===_&&(K=!0,D=g.route.hydrateFallbackElement||null)));let H=r.concat(f.slice(0,_+1)),Q=()=>{let Z;return k?Z=q:K?Z=D:g.route.Component?Z=E.createElement(g.route.Component,null):g.route.element?Z=g.route.element:Z=x,E.createElement(lS,{match:g,routeContext:{outlet:x,matches:H,isDataRoute:o!=null},children:Z})};return o&&(g.route.ErrorBoundary||g.route.errorElement||_===0)?E.createElement(Pg,{location:o.location,revalidation:o.revalidation,component:q,error:k,children:Q(),routeContext:{outlet:null,matches:H,isDataRoute:!0},onError:p}):Q()},null)}function Ud(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function iS(n){let r=E.useContext(eu);return We(r,Ud(n)),r}function uS(n){let r=E.useContext(lo);return We(r,Ud(n)),r}function rS(n){let r=E.useContext(Oa);return We(r,Ud(n)),r}function kd(n){let r=rS(n),s=r.matches[r.matches.length-1];return We(s.route.id,`${n} can only be used on routes that contain a unique "id"`),s.route.id}function sS(){return kd("useRouteId")}function oS(){var o;let n=E.useContext(Dd),r=uS("useRouteError"),s=kd("useRouteError");return n!==void 0?n:(o=r.errors)==null?void 0:o[s]}function cS(){let{router:n}=iS("useNavigate"),r=kd("useNavigate"),s=E.useRef(!1);return Fg(()=>{s.current=!0}),E.useCallback(async(f,m={})=>{la(s.current,Jg),s.current&&(typeof f=="number"?await n.navigate(f):await n.navigate(f,{fromRouteId:r,...m}))},[n,r])}var Yp={};function Wg(n,r,s){!r&&!Yp[n]&&(Yp[n]=!0,la(!1,s))}E.memo(fS);function fS({routes:n,manifest:r,future:s,state:o,isStatic:f,onError:m}){return $g(n,void 0,{manifest:r,state:o,isStatic:f,onError:m})}function Vp({to:n,replace:r,state:s,relative:o}){We(tu()," may be used only in the context of a component.");let{static:f,navigator:m}=E.useContext(na);la(!f," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:d}=E.useContext(Oa),{pathname:v}=ba(),b=no(),p=ao(n,Rd(d),v,o==="path");Md(typeof n=="string"?n:Bn(n),m.createHref(p),Ad(m),"reject");let x=JSON.stringify(p);return E.useEffect(()=>{b(JSON.parse(x),{replace:r,state:s,relative:o})},[b,x,o,r,s]),null}function dS(n){return W2(n.context)}function Yt(n){We(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function hS({basename:n="/",children:r=null,location:s,navigationType:o="POP",navigator:f,static:m=!1,useTransitions:d}){We(!tu(),"You cannot render a inside another . You should never have more than one in your app.");let v=n.replace(/^\/*/,"/"),b=E.useMemo(()=>({basename:v,navigator:f,static:m,useTransitions:d,future:{}}),[v,f,m,d]);typeof s=="string"&&(s=Yn(s));let{pathname:p="/",search:x="",hash:g="",state:_=null,key:k="default",mask:K}=s,q=E.useMemo(()=>{let D=pl(p,v);return D==null?null:{location:{pathname:D,search:x,hash:g,state:_,key:k,mask:K},navigationType:o}},[v,p,x,g,_,k,o,K]);return la(q!=null,` is not able to match the URL "${p}${x}${g}" because it does not start with the basename, so the won't render anything.`),q==null?null:E.createElement(na.Provider,{value:b},E.createElement(fr.Provider,{children:r,value:q}))}function mS({children:n,location:r}){return I2(ud(n),r)}function ud(n,r=[]){let s=[];return E.Children.forEach(n,(o,f)=>{if(!E.isValidElement(o))return;let m=[...r,f];if(o.type===E.Fragment){s.push.apply(s,ud(o.props.children,m));return}We(o.type===Yt,`[${typeof o.type=="string"?o.type:o.type.name}] is not a component. All component children of must be a or `),We(!o.props.index||!o.props.children,"An index route cannot have child routes.");let d={id:o.props.id||m.join("-"),caseSensitive:o.props.caseSensitive,element:o.props.element,Component:o.props.Component,index:o.props.index,path:o.props.path,middleware:o.props.middleware,loader:o.props.loader,action:o.props.action,hydrateFallbackElement:o.props.hydrateFallbackElement,HydrateFallback:o.props.HydrateFallback,errorElement:o.props.errorElement,ErrorBoundary:o.props.ErrorBoundary,hasErrorBoundary:o.props.hasErrorBoundary===!0||o.props.ErrorBoundary!=null||o.props.errorElement!=null,shouldRevalidate:o.props.shouldRevalidate,handle:o.props.handle,lazy:o.props.lazy};o.props.children&&(d.children=ud(o.props.children,m)),s.push(d)}),s}var Js="get",Fs="application/x-www-form-urlencoded";function io(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function yS(n){return io(n)&&n.tagName.toLowerCase()==="button"}function vS(n){return io(n)&&n.tagName.toLowerCase()==="form"}function pS(n){return io(n)&&n.tagName.toLowerCase()==="input"}function gS(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function bS(n,r){return n.button===0&&(!r||r==="_self")&&!gS(n)}function rd(n=""){return new URLSearchParams(typeof n=="string"||Array.isArray(n)||n instanceof URLSearchParams?n:Object.keys(n).reduce((r,s)=>{let o=n[s];return r.concat(Array.isArray(o)?o.map(f=>[s,f]):[[s,o]])},[]))}function xS(n,r){let s=rd(n);return r&&r.forEach((o,f)=>{s.has(f)||r.getAll(f).forEach(m=>{s.append(f,m)})}),s}var Vs=null;function SS(){if(Vs===null)try{new FormData(document.createElement("form"),0),Vs=!1}catch{Vs=!0}return Vs}var ES=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ad(n){return n!=null&&!ES.has(n)?(la(!1,`"${n}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Fs}"`),null):n}function _S(n,r){let s,o,f,m,d;if(vS(n)){let v=n.getAttribute("action");o=v?pl(v,r):null,s=n.getAttribute("method")||Js,f=ad(n.getAttribute("enctype"))||Fs,m=new FormData(n)}else if(yS(n)||pS(n)&&(n.type==="submit"||n.type==="image")){let v=n.form;if(v==null)throw new Error('Cannot submit a