1var __IMPORT_META_ENV={};var __PROCESS_ENV={NODE_ENV:"production"}; 2import{b as pt,d as C,e as L}from"/chunks/chunk-OZLXG5XE.js";var Le=pt(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.parse=St;Q.serialize=bt;var yt=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,gt=/^[\u0021-\u003A\u003C-\u007E]*$/,Rt=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,vt=/^[\u0020-\u003A\u003D-\u007E]*$/,wt=Object.prototype.toString,Et=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function St(e,r){let t=new Et,n=e.length;if(n<2)return t;let a=r?.decode||xt,o=0;do{let l=e.indexOf("=",o);if(l===-1)break;let u=e.indexOf(";",o),s=u===-1?n:u;if(l>s){o=e.lastIndexOf(";",l-1)+1;continue}let i=xe(e,o,l),c=Ce(e,l,i),d=e.slice(i,c);if(t[d]===void 0){let m=xe(e,l+1,s),g=Ce(e,s,m),v=a(e.slice(m,g));t[d]=v}o=s+1}while(o<n);return t}function xe(e,r,t){do{let n=e.charCodeAt(r);if(n!==32&&n!==9)return r}while(++r<t);return t}function Ce(e,r,t){for(;r>t;){let n=e.charCodeAt(--r);if(n!==32&&n!==9)return r+1}return t}function bt(e,r,t){let n=t?.encode||encodeURIComponent;if(!yt.test(e))throw new TypeError(`argument name is invalid: ${e}`);let a=n(r);if(!gt.test(a))throw new TypeError(`argument val is invalid: ${r}`);let o=e+"="+a;if(!t)return o;if(t.maxAge!==void 0){if(!Number.isInteger(t.maxAge))throw new TypeError(`option maxAge is invalid: ${t.maxAge}`);o+="; Max-Age="+t.maxAge}if(t.domain){if(!Rt.test(t.domain))throw new TypeError(`option domain is invalid: ${t.domain}`);o+="; Domain="+t.domain}if(t.path){if(!vt.test(t.path))throw new TypeError(`option path is invalid: ${t.path}`);o+="; Path="+t.path}if(t.expires){if(!Ct(t.expires)||!Number.isFinite(t.expires.valueOf()))throw new TypeError(`option expires is invali
2d: ${t.expires}`);o+="; Expires="+t.expires.toUTCString()}if(t.httpOnly&&(o+="; HttpOnly"),t.secure&&(o+="; Secure"),t.partitioned&&(o+="; Partitioned"),t.priority)switch(typeof t.priority=="string"?t.priority.toLowerCase():void 0){case"low":o+="; Priority=Low";break;case"medium":o+="; Priority=Medium";break;case"high":o+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${t.priority}`)}if(t.sameSite)switch(typeof t.sameSite=="string"?t.sameSite.toLowerCase():t.sameSite){case!0:case"strict":o+="; SameSite=Strict";break;case"lax":o+="; SameSite=Lax";break;case"none":o+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${t.sameSite}`)}return o}function xt(e){if(e.indexOf("%")===-1)return e;try{return decodeURIComponent(e)}catch{return e}}function Ct(e){return wt.call(e)==="[object Date]"}});var x=C(L(),1),M=C(L(),1),h=C(L(),1),p=C(L(),1),w=C(L(),1),ve=C(L(),1);var xr=C(L(),1),Cr=C(L(),1),Qe=C(L(),1),Lr=C(L(),1),ft=C(L(),1),Se=C(L(),1),ht=C(L(),1),mt=C(Le(),1);var Pe="popstate";function Me(e={}){function r(n,a){let{pathname:o,search:l,hash:u}=n.location;return ie("",{pathname:o,search:l,hash:u},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function t(n,a){return typeof a=="string"?a:I(a)}return Pt(r,t,null,e)}function S(e,r){if(e===!1||e===null||typeof e>"u")throw new Error(r)}function k(e,r){if(!e){typeof console<"u"&&console.warn(r);try{throw new Error(r)}catch{}}}function Lt(){return Math.random().toString(36).substring(2,10)}function De(e,r){return{usr:e.state,key:e.key,idx:r}}function ie(e,r,t=null,n){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof r=="string"?H(r):r,state:t,key:r&&r.key||n||Lt()}}function I({pathname:e="/",search:r="",hash:t=""}){return r&&r!=="?"&&(e+=r.charAt(0)==="?"?r:"?"+r),t&&t!=="#"&&(e+=t.charAt(0)==="#"?t:"#"+t),e}function H(e){let r={};if(e){let t=e.indexOf("#");t>=0&&(r.hash=e.substring(t),e=e.substring(0,t));let n=e.indexOf("?");n>=0&&(r.search=e.substring(n),e=e.substring(0,n)),e&&(r.pathname=e)}return r}function Pt(e,r,t,n={}){let{window:a=document.defaultView,v5Compat:o=!1}=n,l=a.history,u="POP",s=null,i=c();i==null&&(i=0,l.replaceState({...l.state,idx:i},""));function c(){return(l.state||{idx:null}).idx}function d(){u="POP";let y=c(),f=y==null?null:y-i;i=y,s&&s({action:u,location:R.location,delta:f})}function m(y,f){u="PUSH";let E=ie(R.location,y,f);t&&t(E,y),i=c()+1;let b=De(E,i),D=R.createHref(E);try{l.pushState(b,"",D)}catch(T){if(T instanceof DOMException&&T.name==="DataCloneError")throw T;a.location.assign(D)}o&&s&&s({action:u,location:R.location,delta:1})}function g(y,f){u="REPLACE";let E=ie(R.location,y,f);t&&t(E,y),i=c();let b=De(E,i),D=R.createHref(E);l.replaceState(b,"",D),o&&s&&s({action:u,location:R.location,delta:0})}function v(y){let f=a.location.origin!=="null"?a.location.origin:a.location.href,E=typeof y=="string"?y:I(y);return E=E.replace(/ $/,"%20"),S(f,`No window.location.(origin|href) available to create URL for href: ${E}`),new URL(E,f)}let R={get action(){return u},get location(){return e(a,l)},listen(y){if(s)throw new Error("A history only accepts one active listener");return a.addEventListener(Pe,d),s=y,()=>{a.removeEventListener(Pe,d),s=null}},createHref(y){return r(a,y)},createURL:v,encodeLocation(y){let f=v(y);return{pathname:f.pathname,search:f.search,hash:f.hash}},push:m,replace:g,go(y){return l.go(y)}};return R}function ce(e,r,t="/"){return Dt(e,r,t,!1)}function Dt(e,r,t,n){let a=typeof r=="string"?H(r):r,o=N(a.pathname||"/",t);if(o==null)return null;let l=Oe(e);Ft(l);let u=null;for(let s=0;u==null&&s<l.length;++s){let i=jt(o);u=Ut(l[s],i,n)}return u}function Tt(e,r){let{route:t,pathname:n,params:a}=e;return{id:t.id,pathname:n,params:a,data:r[t.id],handle:t.handle}}function Oe(e,r=[],t=[],n=""){let a=(o,l,u)=>{let s={relativePath:u===void 0?o.path||"":u,caseSensitive:o.caseSensitive===!0,childrenIndex:l,route:o};s.relativePath.startsWith("/")&&(S(s.relativePath.startsWith(n),`Absolute route path "${s.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),s.relativePath=s.relativePath.slice(n.length));let i=_([n,s.relativePath]),c=t.concat(s);o.children&&o.children.length>0&&(S(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${i}".`),Oe(o.children,r,c,i)),!(o.path==null&&!o.index)&&r.push({path:i,score:Ht(i,o.index),routesMeta:c})};return e.forEach((o,l)=>{if(o.path===""||!o.path?.includes("?"))a(o,l);else for(let u of Ae(o.path))a(o,l,u)}),r}function Ae(e){let r=e.split("/");if(r.length===0)return[];let[t,...n]=r,a=t.endsWith("?"),o=t.replace(/\?$/,"");if(n.length===0)return a?[o,""]:[o];let l=Ae(n.join("/")),u=[];return u.push(...l.map(s=>s===""?o:[o,s].join("/"))),a&&u.push(...l),u.map(s=>e.startsWith("/")&&s===""?"/":s)}function Ft(e){e.sort((r,t)=>r.score!==t.score?t.score-r.score:$t(r.routesMeta.map(n=>n.childrenIndex),t.routesMeta.map(n=>n.childrenIndex)))}var kt=/^:[\w-]+$/,Mt=3,Ot=2,At=1,_t=10,Nt=-2,Te=e=>e==="*";function Ht(e,r){let t=e.split("/"),n=t.length;return t.some(Te)&&(n+=Nt),r&&(n+=Ot),t.filter(a=>!Te(a)).reduce((a,o)=>a+(kt.test(o)?Mt:o===""?At:_t),n)}function $t(e,r){return e.length===r.length&&e.slice(0,-1).every((n,a)=>n===r[a])?e[e.length-1]-r[r.length-1]:0}function Ut(e,r,t=!1){let{routesMeta:n}=e,a={},o="/",l=[];for(let u=0;u<n.length;++u){let s=n[u],i=u===n.length-1,c=o==="/"?r:r.slice(o.length)||"/",d=Y({path:s.relativePath,caseSensitive:s.caseSensitive,end:i},c),m=s.route;if(!d&&i&&t&&!n[n.length-1].route.index&&(d=Y({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},c)),!d)return null;
2Object.assign(a,d.params),l.push({params:a,pathname:_([o,d.pathname]),pathnameBase:Wt(_([o,d.pathnameBase])),route:m}),d.pathnameBase!=="/"&&(o=_([o,d.pathnameBase]))}return l}function Y(e,r){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[t,n]=It(e.path,e.caseSensitive,e.end),a=r.match(t);if(!a)return null;let o=a[0],l=o.replace(/(.)\/+$/,"$1"),u=a.slice(1);return{params:n.reduce((i,{paramName:c,isOptional:d},m)=>{if(c==="*"){let v=u[m]||"";l=o.slice(0,o.length-v.length).replace(/(.)\/+$/,"$1")}let g=u[m];return d&&!g?i[c]=void 0:i[c]=(g||"").replace(/%2F/g,"/"),i},{}),pathname:o,pathnameBase:l,pattern:e}}function It(e,r=!1,t=!0){k(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,u,s)=>(n.push({paramName:u,isOptional:s!=null}),s?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,r?void 0:"i"),n]}function jt(e){try{return e.split("/").map(r=>decodeURIComponent(r).replace(/\//g,"%2F")).join("/")}catch(r){return k(!1,`The URL path "${e}" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding (${r}).`),e}}function N(e,r){if(r==="/")return e;if(!e.toLowerCase().startsWith(r.toLowerCase()))return null;let t=r.endsWith("/")?r.length-1:r.length,n=e.charAt(t);return n&&n!=="/"?null:e.slice(t)||"/"}function _e(e,r="/"){let{pathname:t,search:n="",hash:a=""}=typeof e=="string"?H(e):e;return{pathname:t?t.startsWith("/")?t:zt(t,r):r,search:Vt(n),hash:Jt(a)}}function zt(e,r){let t=r.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?t.length>1&&t.pop():a!=="."&&t.push(a)}),t.length>1?t.join("/"):"/"}function ne(e,r,t,n){return`Cannot include a '${e}' character in a manually specified \`to.${r}\` field [${JSON.stringify(n)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Bt(e){return e.filter((r,t)=>t===0||r.route.path&&r.route.path.length>0)}function Ne(e){let r=Bt(e);return r.map((t,n)=>n===r.length-1?t.pathname:t.pathnameBase)}function He(e,r,t,n=!1){let a;typeof e=="string"?a=H(e):(a={...e},S(!a.pathname||!a.pathname.includes("?"),ne("?","pathname","search",a)),S(!a.pathname||!a.pathname.includes("#"),ne("#","pathname","hash",a)),S(!a.search||!a.search.includes("#"),ne("#","search","hash",a)));let o=e===""||a.pathname==="",l=o?"/":a.pathname,u;if(l==null)u=t;else{let d=r.length-1;if(!n&&l.startsWith("..")){let m=l.split("/");for(;m[0]==="..";)m.shift(),d-=1;a.pathname=m.join("/")}u=d>=0?r[d]:"/"}let s=_e(a,u),i=l&&l!=="/"&&l.endsWith("/"),c=(o||l===".")&&t.endsWith("/");return!s.pathname.endsWith("/")&&(i||c)&&(s.pathname+="/"),s}var _=e=>e.join("/").replace(/\/\/+/g,"/"),Wt=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Vt=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Jt=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function $e(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}var Ue=["POST","PUT","PATCH","DELETE"],Ur=new Set(Ue),Yt=["GET",...Ue],Ir=new Set(Yt);var $=M.createContext(null);$.displayName="DataRouter";var j=M.createContext(null);j.displayName="DataRouterState";var de=M.createContext({isTransitioning:!1});de.displayName="ViewTransition";var Ie=M.createContext(new Map);Ie.displayName="Fetchers";var Kt=M.createContext(null);Kt.displayName="Await";var P=M.createContext(null);P.displayName="Navigation";var z=M.createContext(null);z.displayName="Location";var O=M.createContext({outlet:null,matches:[],isDataRoute:!1});O.displayName="Route";var fe=M.createContext(null);fe.displayName="RouteError";var le=!1;function je(e,{relative:r}={}){S(B(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:n}=h.useContext(P),{hash:a,pathname:o,search:l}=W(e,{relative:r}),u=o;return t!=="/"&&(u=o==="/"?t:_([t,o])),n.createHref({pathname:u,search:l,hash:a})}function B(){return h.useContext(z)!=null}function A(){return S(B(),"useLocation() may be used only in the context of a <Router> component."),h.useContext(z).location}var ze="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Be(e){h.useContext(P).static||h.useLayoutEffect(e)}function We(){let{isDataRoute:e}=h.useContext(O);return e?nr():Xt()}function Xt(){S(B(),"useNavigate() may be used only in the context of a <Router> component.");
2let e=h.useContext($),{basename:r,navigator:t}=h.useContext(P),{matches:n}=h.useContext(O),{pathname:a}=A(),o=JSON.stringify(Ne(n)),l=h.useRef(!1);return Be(()=>{l.current=!0}),h.useCallback((s,i={})=>{if(k(l.current,ze),!l.current)return;if(typeof s=="number"){t.go(s);return}let c=He(s,JSON.parse(o),a,i.relative==="path");e==null&&r!=="/"&&(c.pathname=c.pathname==="/"?r:_([r,c.pathname])),(i.replace?t.replace:t.push)(c,i.state,i)},[r,t,o,a,e])}var jr=h.createContext(null);function W(e,{relative:r}={}){let{matches:t}=h.useContext(O),{pathname:n}=A(),a=JSON.stringify(Ne(t));return h.useMemo(()=>He(e,JSON.parse(a),n,r==="path"),[e,a,n,r])}function Ve(e,r){return Je(e,r)}function Je(e,r,t,n){S(B(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:a}=h.useContext(P),{matches:o}=h.useContext(O),l=o[o.length-1],u=l?l.params:{},s=l?l.pathname:"/",i=l?l.pathnameBase:"/",c=l&&l.route;if(le){let f=c&&c.path||"";Xe(s,!c||f.endsWith("*"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${s}" (under <Route path="${f}">) 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. 3 4Please change the parent <Route path="${f}"> to <Route path="${f==="/"?"*":`${f}/*`}">.`)}let d=A(),m;if(r){let f=typeof r=="string"?H(r):r;S(i==="/"||f.pathname?.startsWith(i),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${i}" but pathname "${f.pathname}" was given in the \`location\` prop.`),m=f}else m=d;let g=m.pathname||"/",v=g;if(i!=="/"){let f=i.replace(/^\//,"").split("/");v="/"+g.replace(/^\//,"").split("/").slice(f.length).join("/")}let R=ce(e,{pathname:v});le&&(k(c||R!=null,`No routes matched location "${m.pathname}${m.search}${m.hash}" `),k(R==null||R[R.length-1].route.element!==void 0||R[R.length-1].route.Component!==void 0||R[R.length-1].route.lazy!==void 0,`Matched leaf route at location "${m.pathname}${m.search}${m.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`));let y=er(R&&R.map(f=>Object.assign({},f,{params:Object.assign({},u,f.params),pathname:_([i,a.encodeLocation?a.encodeLocation(f.pathname).pathname:f.pathname]),pathnameBase:f.pathnameBase==="/"?i:_([i,a.encodeLocation?a.encodeLocation(f.pathnameBase).pathname:f.pathnameBase])})),o,t,n);return r&&y?h.createElement(z.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...m},navigationType:"POP"}},y):y}function Gt(){let e=Ke(),r=$e(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),t=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:n},o={padding:"2px 4px",backgroundColor:n},l=null;return le&&(console.error("Error handled by React Router default ErrorBoundary:",e),l=h.createElement(h.Fragment,null,h.createElement("p",null,"\u{1F4BF} Hey developer \u{1F44B}"),h.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",h.createElement("code",{style:o},"ErrorBoundary")," or"," ",h.createElement("code",{style:o},"errorElement")," prop on your route."))),h.createElement(h.Fragment,null,h.createElement("h2",null,"Unexpected Application Error!"),h.createElement("h3",{style:{fontStyle:"italic"}},r),t?h.createElement("pre",{style:a},t):null,l)}var Qt=h.createElement(Gt,null),Zt=class extends h.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,r){return r.location!==e.location||r.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:r.error,location:r.location,revalidation:e.revalidation||r.revalidation}}componentDidCatch(e,r){console.error("React Router caught the following error during render",e,r)}render(){return this.state.error!==void 0?h.createElement(O.Provider,{value:this.props.routeContext},h.createElement(fe.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function qt({routeContext:e,match:r,children:t}){let n=h.useContext($);return n&&n.static&&n.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=r.route.id),h.createElement(O.Provider,{value:e},t)}function er(e,r=[],t=null,n=null){if(e==null){if(!t)return null;if(t.errors)e=t.matches;else if(r.length===0&&!t.initialized&&t.matches.length>0)e=t.matches;else return null}let a=e,o=t?.errors;if(o!=null){let s=a.findIndex(i=>i.route.id&&o?.[i.route.id]!==void 0);S(s>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),a=a.slice(0,Math.min(a.length,s+1))}let l=!1,u=-1;if(t)for(let s=0;s<a.length;s++){let i=a[s];if((i.route.HydrateFallback||i.route.hydrateFallbackElement)&&(u=s),i.route.id){let{loaderData:c,errors:d}
4=t,m=i.route.loader&&!c.hasOwnProperty(i.route.id)&&(!d||d[i.route.id]===void 0);if(i.route.lazy||m){l=!0,u>=0?a=a.slice(0,u+1):a=[a[0]];break}}}return a.reduceRight((s,i,c)=>{let d,m=!1,g=null,v=null;t&&(d=o&&i.route.id?o[i.route.id]:void 0,g=i.route.errorElement||Qt,l&&(u<0&&c===0?(Xe("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),m=!0,v=null):u===c&&(m=!0,v=i.route.hydrateFallbackElement||null)));let R=r.concat(a.slice(0,c+1)),y=()=>{let f;return d?f=g:m?f=v:i.route.Component?f=h.createElement(i.route.Component,null):i.route.element?f=i.route.element:f=s,h.createElement(qt,{match:i,routeContext:{outlet:s,matches:R,isDataRoute:t!=null},children:f})};return t&&(i.route.ErrorBoundary||i.route.errorElement||c===0)?h.createElement(Zt,{location:t.location,revalidation:t.revalidation,component:g,error:d,children:y(),routeContext:{outlet:null,matches:R,isDataRoute:!0}}):y()},null)}function he(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function tr(e){let r=h.useContext($);return S(r,he(e)),r}function me(e){let r=h.useContext(j);return S(r,he(e)),r}function rr(e){let r=h.useContext(O);return S(r,he(e)),r}function pe(e){let r=rr(e),t=r.matches[r.matches.length-1];return S(t.route.id,`${e} can only be used on routes that contain a unique "id"`),t.route.id}function ar(){return pe("useRouteId")}function Ye(){return me("useNavigation").navigation}function ye(){let{matches:e,loaderData:r}=me("useMatches");return h.useMemo(()=>e.map(t=>Tt(t,r)),[e,r])}function Ke(){let e=h.useContext(fe),r=me("useRouteError"),t=pe("useRouteError");return e!==void 0?e:r.errors?.[t]}function nr(){let{router:e}=tr("useNavigate"),r=pe("useNavigate"),t=h.useRef(!1);return Be(()=>{t.current=!0}),h.useCallback(async(a,o={})=>{k(t.current,ze),t.current&&(typeof a=="number"?e.navigate(a):await e.navigate(a,{fromRouteId:r,...o}))},[e,r])}var Fe={};function Xe(e,r,t){!r&&!Fe[e]&&(Fe[e]=!0,k(!1,t))}var zr=x.memo(or);function or({routes:e,future:r,state:t}){return Je(e,void 0,t,r)}function Ge(e){S(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function ge({basename:e="/",children:r=null,location:t,navigationType:n="POP",navigator:a,static:o=!1}){S(!B(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let l=e.replace(/^\/*/,"/"),u=x.useMemo(()=>({basename:l,navigator:a,static:o,future:{}}),[l,a,o]);typeof t=="string"&&(t=H(t));let{pathname:s="/",search:i="",hash:c="",state:d=null,key:m="default"}=t,g=x.useMemo(()=>{let v=N(s,l);return v==null?null:{location:{pathname:v,search:i,hash:c,state:d,key:m},navigationType:n}},[l,s,i,c,d,m,n]);return k(g!=null,`<Router basename="${l}"> is not able to match the URL "${s}${i}${c}" because it does not start with the basename, so the <Router> won't render anything.`),g==null?null:x.createElement(P.Provider,{value:u},x.createElement(z.Provider,{children:r,value:g}))}function ir({children:e,location:r}){return Ve(re(e),r)}function re(e,r=[]){let t=[];return x.Children.forEach(e,(n,a)=>{if(!x.isValidElement(n))return;let o=[...r,a];if(n.type===x.Fragment){t.push.apply(t,re(n.props.children,o));return}S(n.type===Ge,`[${typeof n.type=="string"?n.type:n.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),S(!n.props.index||!n.props.children,"An index route cannot have child routes.");let l={id:n.props.id||o.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,hydrateFallbackElement:n.props.hydrateFallbackElement,HydrateFallback:n.props.HydrateFallback,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.hasErrorBoundary===!0||n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(l.children=re(n.props.children,o)),t.push(l)}),t}var ee="get",te="application/x-www-form-urlencoded";function ae(e){return e!=null&&typeof e.tagName=="string"}function lr(e){return ae(e)&&e.tagName.toLowerCase()==="button"}function sr(e){return ae(e)&&e.tagName.toLowerCase()==="form"}function ur(e){return ae(e)&&e.tagName.toLowerCase()==="input"}function cr(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function dr(e,r){return e.button===0&&(!r||r==="_self")&&!cr(e)}var Z=null;function fr(){if(Z===null)try{new FormData(document.createElement("form"),0),Z=!1}catch{Z=!0}return Z}var hr=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function oe(e){return e!=null&&!hr.has(e)?(k(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${te}"`),null):e}function mr(e,r){let t,n,a,o,l;if(sr(e)){let u=e.getAttribute("action");n=u?N(u,r):null,t=e.getAttribute("method")||ee,a=oe(e.getAttribute("enctype"))||te,o=new FormData(e)}else if(lr(e)||ur(e)&&(e.type==="submit"||e.type==="image")){let u=e.form;if(u==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||u.getAttribute("action");if(n=s?N(s,r):null,t=e.getAttribute("formmethod")||u.getAttribute("method")||ee,a=oe(e.getAttribute("formenctype"))||oe(u.getAttribute("enctype"))||te,o=new FormData(u,e),!fr()){let{name:i,type:c,value:d}=e;if(c==="image"){let m=i?`${i}.`:"";o.append(`${m}x`,"0"),o.append(`${m}y`,"0")}
4else i&&o.append(i,d)}}else{if(ae(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=ee,n=null,a=te,l=e}return o&&a==="text/plain"&&(l=o,o=void 0),{action:n,method:t.toLowerCase(),encType:a,formData:o,body:l}}function Re(e,r){if(e===!1||e===null||typeof e>"u")throw new Error(r)}async function pr(e,r){if(e.id in r)return r[e.id];try{let t=await import(e.module);return r[e.id]=t,t}catch(t){if(console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode&&import.meta.hot)throw t;return window.location.reload(),new Promise(()=>{})}}function yr(e){return e!=null&&typeof e.page=="string"}function gr(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Rr(e,r,t){let n=await Promise.all(e.map(async a=>{let o=r.routes[a.route.id];if(o){let l=await pr(o,t);return l.links?l.links():[]}return[]}));return Sr(n.flat(1).filter(gr).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function ke(e,r,t,n,a,o){let l=(s,i)=>t[i]?s.route.id!==t[i].route.id:!0,u=(s,i)=>t[i].pathname!==s.pathname||t[i].route.path?.endsWith("*")&&t[i].params["*"]!==s.params["*"];return o==="assets"?r.filter((s,i)=>l(s,i)||u(s,i)):o==="data"?r.filter((s,i)=>{let c=n.routes[s.route.id];if(!c||!c.hasLoader)return!1;if(l(s,i)||u(s,i))return!0;if(s.route.shouldRevalidate){let d=s.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:s.params,defaultShouldRevalidate:!0});if(typeof d=="boolean")return d}return!0}):[]}function vr(e,r){return wr(e.map(t=>{let n=r.routes[t.route.id];if(!n)return[];let a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function wr(e){return[...new Set(e)]}function Er(e){let r={},t=Object.keys(e).sort();for(let n of t)r[n]=e[n];return r}function Sr(e,r){let t=new Set,n=new Set(r);return e.reduce((a,o)=>{if(r&&!yr(o)&&o.as==="script"&&o.href&&n.has(o.href))return a;let u=JSON.stringify(Er(o));return t.has(u)||(t.add(u),a.push({key:u,link:o})),a},[])}function br(e){let r=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return r.pathname==="/"?r.pathname="_root.data":r.pathname=`${r.pathname.replace(/\/$/,"")}.data`,r}function Pr(){let e=w.useContext($);return Re(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Dr(){let e=w.useContext(j);return Re(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var K=w.createContext(void 0);K.displayName="FrameworkContext";function Ze(){let e=w.useContext(K);return Re(e,"You must render this element inside a <HydratedRouter> element"),e}function Tr(e,r){let t=w.useContext(K),[n,a]=w.useState(!1),[o,l]=w.useState(!1),{onFocus:u,onBlur:s,onMouseEnter:i,onMouseLeave:c,onTouchStart:d}=r,m=w.useRef(null);w.useEffect(()=>{if(e==="render"&&l(!0),e==="viewport"){let R=f=>{f.forEach(E=>{l(E.isIntersecting)})},y=new IntersectionObserver(R,{threshold:.5});return m.current&&y.observe(m.current),()=>{y.disconnect()}}},[e]),w.useEffect(()=>{if(n){let R=setTimeout(()=>{l(!0)},100);return()=>{clearTimeout(R)}}},[n]);let g=()=>{a(!0)},v=()=>{a(!1),l(!1)};return t?e!=="intent"?[o,m,{}]:[o,m,{onFocus:J(u,g),onBlur:J(s,v),onMouseEnter:J(i,g),onMouseLeave:J(c,v),onTouchStart:J(d,g)}]:[!1,m,{}]}function J(e,r){return t=>{e&&e(t),t.defaultPrevented||r(t)}}function qe({page:e,...r}){let{router:t}=Pr(),n=w.useMemo(()=>ce(t.routes,e,t.basename),[t.routes,e,t.basename]);return n?w.createElement(kr,{page:e,matches:n,...r}):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function Fr(e){let{manifest:r,routeModules:t}=Ze(),[n,a]=w.useState([]);return w.useEffect(()=>{let o=!1;return Rr(e,r,t).then(l=>{o||a(l)}),()=>{o=!0}},[e,r,t]),n}function kr({page:e,matches:r,...t}){let n=A(),{manifest:a,routeModules:o}=Ze(),{loaderData:l,matches:u}=Dr(),s=w.useMemo(()=>ke(e,r,u,a,n,"data"),[e,r,u,a,n]),i=w.useMemo(()=>ke(e,r,u,a,n,"assets"),[e,r,u,a,n]),c=w.useMemo(()=>
4{if(e===n.pathname+n.search+n.hash)return[];let g=new Set,v=!1;if(r.forEach(y=>{let f=a.routes[y.route.id];!f||!f.hasLoader||(!s.some(E=>E.route.id===y.route.id)&&y.route.id in l&&o[y.route.id]?.shouldRevalidate||f.hasClientLoader?v=!0:g.add(y.route.id))}),g.size===0)return[];let R=br(e);return v&&g.size>0&&R.searchParams.set("_routes",r.filter(y=>g.has(y.route.id)).map(y=>y.route.id).join(",")),[R.pathname+R.search]},[l,n,a,s,r,e,o]),d=w.useMemo(()=>vr(i,a),[i,a]),m=Fr(i);return w.createElement(w.Fragment,null,c.map(g=>w.createElement("link",{key:g,rel:"prefetch",as:"fetch",href:g,...t})),d.map(g=>w.createElement("link",{key:g,rel:"modulepreload",href:g,...t})),m.map(({key:g,link:v})=>w.createElement("link",{key:g,...v})))}function Mr(...e){return r=>{e.forEach(t=>{typeof t=="function"?t(r):t!=null&&(t.current=r)})}}var et=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{et&&(window.__reactRouterVersion="7.0.0")}catch{}function Or({basename:e,children:r,window:t}){let n=p.useRef();n.current==null&&(n.current=Me({window:t,v5Compat:!0}));let a=n.current,[o,l]=p.useState({action:a.action,location:a.location}),u=p.useCallback(s=>{p.startTransition(()=>l(s))},[l]);return p.useLayoutEffect(()=>a.listen(u),[a,u]),p.createElement(ge,{basename:e,children:r,location:o.location,navigationType:o.action,navigator:a})}function tt({basename:e,children:r,history:t}){let[n,a]=p.useState({action:t.action,location:t.location}),o=p.useCallback(l=>{p.startTransition(()=>a(l))},[a]);return p.useLayoutEffect(()=>t.listen(o),[t,o]),p.createElement(ge,{basename:e,children:r,location:n.location,navigationType:n.action,navigator:t})}tt.displayName="unstable_HistoryRouter";var rt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,we=p.forwardRef(function({onClick:r,discover:t="render",prefetch:n="none",relative:a,reloadDocument:o,replace:l,state:u,target:s,to:i,preventScrollReset:c,viewTransition:d,...m},g){let{basename:v}=p.useContext(P),R=typeof i=="string"&&rt.test(i),y,f=!1;if(typeof i=="string"&&R&&(y=i,et))try{let F=new URL(window.location.href),U=i.startsWith("//")?new URL(F.protocol+i):new URL(i),be=N(U.pathname,v);U.origin===F.origin&&be!=null?i=be+U.search+U.hash:f=!0}catch{k(!1,`<Link to="${i}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let E=je(i,{relative:a}),[b,D,T]=Tr(n,m),X=lt(i,{replace:l,state:u,target:s,preventScrollReset:c,relative:a,viewTransition:d});function V(F){r&&r(F),F.defaultPrevented||X(F)}let G=p.createElement("a",{...m,...T,href:y||E,onClick:f||o?r:V,ref:Mr(g,D),target:s,"data-discover":!R&&t==="render"?"true":void 0});return b&&!R?p.createElement(p.Fragment,null,G,p.createElement(qe,{page:E})):G});we.displayName="Link";var at=p.forwardRef(function({"aria-current":r="page",caseSensitive:t=!1,className:n="",end:a=!1,style:o,to:l,viewTransition:u,children:s,...i},c){let d=W(l,{relative:i.relative}),m=A(),g=p.useContext(j),{navigator:v,basename:R}=p.useContext(P),y=g!=null&&dt(d)&&u===!0,f=v.encodeLocation?v.encodeLocation(d).pathname:d.pathname,E=m.pathname,b=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;t||(E=E.toLowerCase(),b=b?b.toLowerCase():null,f=f.toLowerCase()),b&&R&&(b=N(b,R)||b);let D=f!=="/"&&f.endsWith("/")?f.length-1:f.length,T=E===f||!a&&E.startsWith(f)&&E.charAt(D)==="/",X=b!=null&&(b===f||!a&&b.startsWith(f)&&b.charAt(f.length)==="/"),V={isActive:T,isPending:X,isTransitioning:y},G=T?r:void 0,F;typeof n=="function"?F=n(V):F=[n,T?"active":null,X?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let U=typeof o=="function"?o(V):o;return p.createElement(we,{...i,"aria-current":G,className:F,ref:c,style:U,to:l,viewTransition:u},typeof s=="function"?s(V):s)});at.displayName="NavLink";var nt=p.forwardRef(({discover:e="render",fetcherKey:r,navigate:t,reloadDocument:n,replace:a,state:o,method:l=ee,action:u,onSubmit:s,relative:i,preventScrollReset:c,viewTransition:d,...m},g)=>{let v=st(),R=ut(u,{relative:i}),y=l.toLowerCase()==="get"?"get":"post",f=typeof u=="string"&&rt.test(u);return p.createElement("form",{ref:g,method:y,action:R,onSubmit:n?s:b=>{if(s&&s(b),b.defaultPrevented)return;b.preventDefault();let D=b.nativeEvent.submitter,T=D?.getAttribute("formmethod")||l;v(D||b.currentTarget,{fetcherKey:r,method:T,navigate:t,replace:a,state:o,relative:i,preventScrollReset:c,viewTransition:d})},...m,"data-discover":!f&&e==="render"?"true":void 0})});nt.displayName="Form";function ot({getKey:e,storageKey:r,...t}){let n=p.useContext(K),{basename:a}=p.useContext(P),o=A(),l=ye();ct({getKey:e,storageKey:r});let u=p.useMemo(()=>
4{if(!n||!e)return null;let i=ue(o,l,a,e);return i!==o.key?i:null},[]);if(!n||n.isSpaMode)return null;let s=((i,c)=>{if(!window.history.state||!window.history.state.key){let d=Math.random().toString(32).slice(2);window.history.replaceState({key:d},"")}try{let m=JSON.parse(sessionStorage.getItem(i)||"{}")[c||window.history.state.key];typeof m=="number"&&window.scrollTo(0,m)}catch(d){console.error(d),sessionStorage.removeItem(i)}}).toString();return p.createElement("script",{...t,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${s})(${JSON.stringify(r||se)}, ${JSON.stringify(u)})`}})}ot.displayName="ScrollRestoration";function it(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ee(e){let r=p.useContext($);return S(r,it(e)),r}function Ar(e){let r=p.useContext(j);return S(r,it(e)),r}function lt(e,{target:r,replace:t,state:n,preventScrollReset:a,relative:o,viewTransition:l}={}){let u=We(),s=A(),i=W(e,{relative:o});return p.useCallback(c=>{if(dr(c,r)){c.preventDefault();let d=t!==void 0?t:I(s)===I(i);u(e,{replace:d,state:n,preventScrollReset:a,relative:o,viewTransition:l})}},[s,u,i,t,n,r,e,a,o,l])}var _r=0,Nr=()=>`__${String(++_r)}__`;function st(){let{router:e}=Ee("useSubmit"),{basename:r}=p.useContext(P),t=ar();return p.useCallback(async(n,a={})=>{let{action:o,method:l,encType:u,formData:s,body:i}=mr(n,r);if(a.navigate===!1){let c=a.fetcherKey||Nr();await e.fetch(c,t,a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:i,formMethod:a.method||l,formEncType:a.encType||u,flushSync:a.flushSync})}else await e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:i,formMethod:a.method||l,formEncType:a.encType||u,replace:a.replace,state:a.state,fromRouteId:t,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,r,t])}function ut(e,{relative:r}={}){let{basename:t}=p.useContext(P),n=p.useContext(O);S(n,"useFormAction must be used inside a RouteContext");let[a]=n.matches.slice(-1),o={...W(e||".",{relative:r})},l=A();if(e==null){o.search=l.search;let u=new URLSearchParams(o.search),s=u.getAll("index");if(s.some(c=>c==="")){u.delete("index"),s.filter(d=>d).forEach(d=>u.append("index",d));let c=u.toString();o.search=c?`?${c}`:""}}return(!e||e===".")&&a.route.index&&(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(o.pathname=o.pathname==="/"?t:_([t,o.pathname])),I(o)}var se="react-router-scroll-positions",q={};function ue(e,r,t,n){let a=null;return n&&(t!=="/"?a=n({...e,pathname:N(e.pathname,t)||e.pathname},r):a=n(e,r)),a==null&&(a=e.key),a}function ct({getKey:e,storageKey:r}={}){let{router:t}=Ee("useScrollRestoration"),{restoreScrollPosition:n,preventScrollReset:a}=Ar("useScrollRestoration"),{basename:o}=p.useContext(P),l=A(),u=ye(),s=Ye();p.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),Hr(p.useCallback(()=>{if(s.state==="idle"){let i=ue(l,u,o,e);q[i]=window.scrollY}try{sessionStorage.setItem(r||se,JSON.stringify(q))}catch(i){k(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${i}).`)}window.history.scrollRestoration="auto"},[s.state,e,o,l,u,r])),typeof document<"u"&&(p.useLayoutEffect(()=>{try{let i=sessionStorage.getItem(r||se);i&&(q=JSON.parse(i))}catch{}},[r]),p.useLayoutEffect(()=>{let i=t?.enableScrollRestoration(q,()=>window.scrollY,e?(c,d)=>ue(c,d,o,e):void 0);return()=>i&&i()},[t,o,e]),p.useLayoutEffect(()=>{if(n!==!1){if(typeof n=="number"){window.scrollTo(0,n);return}if(l.hash){let i=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(i){i.scrollIntoView();return}}a!==!0&&window.scrollTo(0,0)}},[l,n,a]))}function Hr(e,r){let{capture:t}=r||{};p.useEffect(()=>{let n=t!=null?{capture:t}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,t])}function dt(e,r={}){let t=p.useContext(de);S(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=Ee("useViewTransitionState"),a=W(e,{relative:r.relative});if(!t.isTransitioning)return!1;let o=N(t.currentLocation.pathname,n)||t.currentLocation.pathname,l=N(t.nextLocation.pathname,n)||t.nextLocation.pathname;return Y(a.pathname,l)!=null||Y(a.pathname,o)!=null}var Br=new TextEncoder;export{B as a,A as b,Ge as c,ir as d,Or as e,we as f,at as g}; 5/*! Bundled license information: 6 7react-router/dist/production/chunk-L6MGG5FJ.mjs: 8react-router/dist/production/index.mjs: 9 (** 10 * react-router v7.0.0 11 * 12 * Copyright (c) Remix Software Inc. 13 * 14 * This source code is licensed under the MIT license found in the 15 * LICENSE.md file in the root directory of this source tree. 16 * 17 * @license MIT 18 *) 19*/
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.