1/*! For license information please see react-22b4d5ea.749e48f1.js.LICENSE.txt */ 2"use strict";(globalThis.webpackChunkreact_ts=globalThis.webpackChunkreact_ts||[]).push([[9604],{44517(e,t,n){let r;n.d(t,{BV:()=>Ze,C5:()=>qe,Kd:()=>Nt,N_:()=>Mt,Ye:()=>Ae,Zp:()=>$e,g:()=>Te,k2:()=>_t,ok:()=>Wt,qh:()=>Xe,sv:()=>Ve,zy:()=>Se});var a=n(53986),o=n(43145),i=n(5763),l=n(5544),s=n(9950);const u=["sri"],c=["page"],d=["page","matches"],h=["page","matches"],p=["onClick","discover","prefetch","relative","reloadDocument","replace","mask","state","target","to","preventScrollReset","viewTransition","defaultShouldRevalidate"],m=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],f=["discover","fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition","defaultShouldRevalidate"];var v=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,g=/^[\\/]{2}/;function y(e,t){return t+e.replace(/\\/g,"/")}var w="popstate";function b(e){return"object"===typeof e&&null!=e&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function E(){return T(function(e,t){var n;let r=null===(n=t.state)||void 0===n?void 0:n.masked,a=r||e.location;return C("",{pathname:a.pathname,search:a.search,hash:a.hash},t.state&&t.state.usr||null,t.state&&t.state.key||"default",r?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)},function(e,t){return"string"===typeof t?t:$(t)},null,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}function R(e,t){if(!1===e||null===e||"undefined"===typeof e)throw new Error(t)}function S(e,t){if(!e){"undefined"!==typeof console&&console.warn(t);try{throw new Error(t)}catch(n){}}}function x(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function C(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return{pathname:"string"===typeof e?e:e.pathname,search:"",hash:"",..."string"===typeof t?k(t):t,state:n,key:t&&t.key||r||Math.random().toString(36).substring(2,10),mask:a}}function $(e){let t=e.pathname,n=void 0===t?"/":t,r=e.search,a=void 0===r?"":r,o=e.hash,i=void 0===o?"":o;return a&&"?"!==a&&(n+="?"===a.charAt(0)?a:"?"+a),i&&"#"!==i&&(n+="#"===i.charAt(0)?i:"#"+i),n}function k(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function T(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=r.window,o=void 0===a?document.defaultView:a,i=r.v5Compat,l=void 0!==i&&i,s=o.history,u="POP",c=null,d=h();function h(){return(s.state||{idx:null}).idx}function p(){u="POP";let e=h(),t=null==e?null:e-d;d=e,c&&c({action:u,location:f.location,delta:t})}function m(e){return L(o,e)}null==d&&(d=0,s.replaceState({...s.state,idx:d},""));let f={get action(){return u},get location(){return e(o,s)},listen(e){if(c)throw new Error("A history only accepts one active listener");return o.addEventListener(w,p),c=e,()=>{o.removeEventListener(w,p),c=null}},createHref:e=>t(o,e),createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){u="PUSH";let r=b(e)?e:C(f.location,e,t);n&&n(r,e),d=h()+1;let a=x(r,d),i=f.createHref(r.mask||r);try{s.pushState(a,"",i)}catch(p){if(p instanceof DOMException&&"DataCloneError"===p.name)throw p;o.location.assign(i)}l&&c&&c({action:u,location:f.location,delta:1})},replace:function(e,t){u="REPLACE";let r=b(e)?e:C(f.location,e,t);n&&n(r,e),d=h();let a=x(r,d),o=f.createHref(r.mask||r);s.replaceState(a,"",o),l&&c&&c({action:u,location:f.location,delta:0})},go:e=>s.go(e)};return f}function L(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r="http://localhost";e&&(r="null"!==e.location.origin?e.location.origin:e.location.href),R(r,"No window.location.(origin|href) available to create URL");let a="string"===typeof t?t:$(t);return a=a.replace(/ $/,"%20"),!n&&g.test(a)&&(a=r+a),new URL(a,r)}new WeakMap;function A(e,t){return P(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/",!1)}function P(e,t,n,r,a){let o=I(("string"===typeof t?k(t):t).pathname||"/",n);if(null==o)return null;let i=a??O(e),l=null,s=B(o);for(let u=0;null==l&&u<i.length;++u)l=D(i[u],s,r);return l}function O(e){let t=N(e);return function(e){e.sort((e,t)=>
2e.score!==t.score?t.score-e.score:function(e,t){let n=e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n]);return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(t),t}function N(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=function(e,o){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,s=arguments.length>3?arguments[3]:void 0,u={relativePath:void 0===s?e.path||"":s,caseSensitive:!0===e.caseSensitive,childrenIndex:o,route:e};if(u.relativePath.startsWith("/")){if(!u.relativePath.startsWith(r)&&i)return;R(u.relativePath.startsWith(r),`Absolute route path "${u.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),u.relativePath=u.relativePath.slice(r.length)}let c=X([r,u.relativePath]),d=n.concat(u);e.children&&e.children.length>0&&(R(!0!==e.index,`Index routes must not have child routes. Please remove all child routes from route path "${c}".`),N(e.children,t,d,c,i)),(null!=e.path||e.index)&&t.push({path:c,score:j(c,e.index),routesMeta:d.map((e,t)=>{let n=H(e.relativePath,e.caseSensitive,t===d.length-1),r=(0,l.A)(n,2),a=r[0],o=r[1];return{...e,matcher:a,compiledParams:o}})})};return e.forEach((e,t)=>{var n;if(""!==e.path&&null!==(n=e.path)&&void 0!==n&&n.includes("?"))for(let r of M(e.path))o(e,t,!0,r);else o(e,t)}),t}function M(e){let t=e.split("/");if(0===t.length)return[];let n=(0,i.A)(t),r=n[0],a=(0,o.A)(n).slice(1),l=r.endsWith("?"),s=r.replace(/\?$/,"");if(0===a.length)return l?[s,""]:[s];let u=M(a.join("/")),c=[];return c.push(...u.map(e=>""===e?s:[s,e].join("/"))),l&&c.push(...u),c.map(t=>e.startsWith("/")&&""===t?"/":t)}var _=/^:[\w-]+$/,F=e=>"*"===e;function j(e,t){let n=e.split("/"),r=n.length;return n.some(F)&&(r+=-2),t&&(r+=2),n.filter(e=>!F(e)).reduce((e,t)=>e+(_.test(t)?3:""===t?1:10),r)}function D(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=e.routesMeta,a={},o="/",i=[];for(let l=0;l<r.length;++l){let e=r[l],s=l===r.length-1,u="/"===o?t:t.slice(o.length)||"/",c={path:e.relativePath,caseSensitive:e.caseSensitive,end:s},d=e.matcher&&e.compiledParams?U(c,u,e.matcher,e.compiledParams):W(c,u),h=e.route;if(!d&&s&&n&&!r[r.length-1].route.index&&(d=W({path:e.relativePath,caseSensitive:e.caseSensitive,end:!1},u)),!d)return null;
2Object.assign(a,d.params),i.push({params:a,pathname:X([o,d.pathname]),pathnameBase:Z(X([o,d.pathnameBase])),route:h}),"/"!==d.pathnameBase&&(o=X([o,d.pathnameBase]))}return i}function W(e,t){"string"===typeof e&&(e={path:e,caseSensitive:!1,end:!0});let n=H(e.path,e.caseSensitive,e.end),r=(0,l.A)(n,2);return U(e,t,r[0],r[1])}function U(e,t,n,r){let a=t.match(n);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:r.reduce((e,t,n)=>{let r=t.paramName,a=t.isOptional;if("*"===r){let e=l[n]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const s=l[n];return e[r]=a&&!s?void 0:(s||"").replace(/%2F/g,"/"),e},{}),pathname:o,pathnameBase:i,pattern:e}}function H(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];S("*"===e||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,n,a,o)=>{if(r.push({paramName:t,isOptional:null!=n}),n){let t=o.charAt(a+e.length);return t&&"/"!==t?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(r.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}function B(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return S(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function I(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function J(e,t){let n=G(t).split("/");return e.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"}function z(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Y(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function K(e){let t=Y(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function q(e,t,n){let r,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];"string"===typeof e?r=k(e):(r={...e},R(!r.pathname||!r.pathname.includes("?"),z("?","pathname","search",r)),R(!r.pathname||!r.pathname.includes("#"),z("#","pathname","hash",r)),R(!r.search||!r.search.includes("#"),z("#","search","hash",r)));let o,i=""===e||""===r.pathname,l=i?"/":r.pathname;if(null==l)o=n;else{let e=t.length-1;if(!a&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;r.pathname=t.join("/")}o=e>=0?t[e]:"/"}let s=function(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",r="string"===typeof e?k(e):e,a=r.pathname,o=r.search,i=void 0===o?"":o,l=r.hash,s=void 0===l?"":l;return a?(a=V(a),t=a.startsWith("/")?J(a.substring(1),"/"):J(a,n)):t=n,{pathname:t,search:Q(i),hash:ee(s)}}(r,o),u=l&&"/"!==l&&l.endsWith("/"),c=(i||"."===l)&&n.endsWith("/");return s.pathname.endsWith("/")||!u&&!c||(s.pathname+="/"),s}var V=e=>e.replace(/[\\/]{2,}/g,"/"),X=e=>V(e.join("/")),G=e=>e.replace(/\/+$/,""),Z=e=>G(e).replace(/^\/*/,"/"),Q=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",ee=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";var te=class{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.status=e,this.statusText=t||"",this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function ne(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}function re(e){let t=e.map(e=>
2e.route.path).filter(Boolean);return X(t)||"/"}var ae="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement;function oe(e,t){let n=e;if("string"!==typeof n||!v.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,a=!1;if(ae)try{let e=new URL(window.location.href),r=g.test(n)?new URL(y(n,e.protocol)):new URL(n),o=I(r.pathname,t);r.origin===e.origin&&null!=o?n=o+r.search+r.hash:a=!0}catch(o){S(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:a,to:n}}Symbol("Uninstrumented");Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ie=["POST","PUT","PATCH","DELETE"],le=(new Set(ie),["GET",...ie]);new Set(le),Symbol("ResetLoaderData");new WeakMap,new WeakMap,new WeakMap,new WeakMap;var se=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function ue(e){try{return se.includes(new URL(e).protocol)}catch{return!1}}var ce=s.createContext(null);ce.displayName="DataRouter";var de=s.createContext(null);de.displayName="DataRouterState";var he=s.createContext(!1);function pe(){return s.useContext(he)}var me=s.createContext({isTransitioning:!1});me.displayName="ViewTransition";var fe=s.createContext(new Map);fe.displayName="Fetchers";var ve=s.createContext(null);ve.displayName="Await";var ge=s.createContext(null);ge.displayName="Navigation";var ye=s.createContext(null);ye.displayName="Location";var we=s.createContext({outlet:null,matches:[],isDataRoute:!1});we.displayName="Route";var be=s.createContext(null);be.displayName="RouteError";var Ee="REACT_ROUTER_ERROR";function Re(){return null!=s.useContext(ye)}function Se(){return R(Re(),"useLocation() may be used only in the context of a <Router> component."),s.useContext(ye).location}var xe="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ce(e){s.useContext(ge).static||s.useLayoutEffect(e)}function $e(){return s.useContext(we).isDataRoute?function(){let e=Ue("useNavigate").router,t=Be("useNavigate"),n=s.useRef(!1);Ce(()=>{n.current=!0});let r=s.useCallback(async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};S(n.current,xe),n.current&&("number"===typeof r?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...a}))},[e,t]);return r}():function(){R(Re(),"useNavigate() may be used only in the context of a <Router> component.");let e=s.useContext(ce),t=s.useContext(ge),n=t.basename,r=t.navigator,a=s.useContext(we).matches,o=Se().pathname,i=JSON.stringify(K(a)),l=s.useRef(!1);Ce(()=>{l.current=!0});let u=s.useCallback(function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(S(l.current,xe),!l.current)return;if("number"===typeof t)return void r.go(t);let s=q(t,JSON.parse(i),o,"path"===a.relative);null==e&&"/"!==n&&(s.pathname="/"===s.pathname?n:X([n,s.pathname])),(a.replace?r.replace:r.push)(s,a.state,a)},[n,r,i,o,e]);return u}()}var ke=s.createContext(null);function Te(){let e=s.useContext(we).matches,t=e[e.length-1];return(null===t||void 0===t?void 0:t.params)??{}}function Le(e){let t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).relative,n=s.useContext(we).matches,r=Se().pathname,a=JSON.stringify(K(n));return s.useMemo(()=>q(e,JSON.parse(a),r,"path"===t),[e,a,r,t])}function Ae(e,t){return Pe(e,t)}function Pe(e,t,n){R(Re(),"useRoutes() may be used only in the context of a <Router> component.");let r=s.useContext(ge).navigator,a=s.useContext(we).matches,o=a[a.length-1],i=o?o.params:{},l=o?o.pathname:"/",u=o?o.pathnameBase:"/",c=o&&o.route;{let e=c&&c.path||"";ze(l,!c||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${l}" (under <Route path="${e}">) 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.\n\nPlease change the parent <Route path="${e}"> to <Route path="${"/"===e?"*":`${e}/*`}">.`)}let d,h=Se();if(t){var p;let e="string"===typeof t?k(t):t;R("/"===u||(null===(p=e.pathname)||void 0===p?void 0:p.startsWith(u)),`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 "${u}" but pathname "${e.pathname}" was given in the \`location\` prop.`),d=e}else d=h;let m=d.pathname||"/",f=m;if("/"!==u){let e=u.replace(/^\//,"").split("/");f="/"+m.replace(/^\//,"").split("/").slice(e.length).join("/")}let v=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):A(e,{pathname:f});S(c||null!=v,`No routes matched location "${d.pathname}${d.search}${d.hash}" `),S(null==v||void 0!==v[v.length-1].route.element||void 0!==v[v.length-1].route.Component||void 0!==v[v.length-1].route.lazy,`Matched leaf route at location "${d.pathname}${d.search}${d.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 g=De(v&&v.map(e=>Object.assign({},e,{params:Object.assign({},i,e.params),pathname:X([u,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?u:X([u,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:e.pathnameBase])})),a,n);return t&&g?s.createElement(ye.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...d},navigationType:"POP"}},g):g}function Oe(){let e=Ie(),t=ne(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:r},o={padding:"2px 4px",backgroundColor:r},i=null;return console.error("Error handled by React Router default ErrorBoundary:",e),i=s.createElement(s.Fragment,null,s.createElement("p",null,"\ud83d\udcbf Hey developer \ud83d\udc4b"),s.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",s.createElement("code",{style:o},"ErrorBoundary")," or"," ",s.createElement("code",{style:o},"errorElement")," prop on your route.")),s.createElement(s.Fragment,null,s.createElement("h2",null,"Unexpected Application
2Error!"),s.createElement("h3",{style:{fontStyle:"italic"}},t),n?s.createElement("pre",{style:a},n):null,i)}var Ne=s.createElement(Oe,null),Me=class extends s.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&"object"===typeof e&&e&&"digest"in e&&"string"===typeof e.digest){const t=function(e){if(e.startsWith(`${Ee}:ROUTE_ERROR_RESPONSE:{`))try{let t=JSON.parse(e.slice(40));if("object"===typeof t&&t&&"number"===typeof t.status&&"string"===typeof t.statusText)return new te(t.status,t.statusText,t.data)}catch{}}(e.digest);t&&(e=t)}let t=void 0!==e?s.createElement(we.Provider,{value:this.props.routeContext},s.createElement(be.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?s.createElement(Fe,{error:e},t):t}};Me.contextType=he;var _e=new WeakMap;function Fe(e){let t=e.children,n=e.error,r=s.useContext(ge).basename;if("object"===typeof n&&n&&"digest"in n&&"string"===typeof n.digest){let e=function(e){if(e.startsWith(`${Ee}:REDIRECT:{`))try{let t=JSON.parse(e.slice(28));if("object"===typeof t&&t&&"number"===typeof t.status&&"string"===typeof t.statusText&&"string"===typeof t.location&&"boolean"===typeof t.reloadDocument&&"boolean"===typeof t.replace)return t}catch{}}(n.digest);if(e){let t=_e.get(n);if(t)throw t;let a=oe(e.location,r),o=a.absoluteURL||a.to;if(ue(o))throw new Error("Invalid redirect location");if(ae&&!_e.get(n)){if(!a.isExternal&&!e.reloadDocument){const t=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:e.replace}));throw _e.set(n,t),t}window.location.href=o}return s.createElement("meta",{httpEquiv:"refresh",content:`0;url=${o}`})}}return t}function je(e){let t=e.routeContext,n=e.match,r=e.children,a=s.useContext(ce);return a&&a.static&&a.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),s.createElement(we.Provider,{value:t},r)}function De(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,r=null===n||void 0===n?void 0:n.state;if(null==e){if(!r)return null;if(r.errors)e=r.matches;else{if(0!==t.length||r.initialized||!(r.matches.length>0))return null;e=r.matches}}let a=e,o=null===r||void 0===r?void 0:r.errors;if(null!=o){let e=a.findIndex(e=>e.route.id&&void 0!==(null===o||void 0===o?void 0:o[e.route.id]));R(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),a=a.slice(0,Math.min(a.length,e+1))}let i=!1,l=-1;if(n&&r){i=r.renderFallback;for(let e=0;e<a.length;e++){let t=a[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(l=e),t.route.id){let e=r.loaderData,o=r.errors,s=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!o||void 0===o[t.route.id]);if(t.route.lazy||s){n.isStatic&&(i=!0),a=l>=0?a.slice(0,l+1):[a[0]];break}}}}let u=null===n||void 0===n?void 0:n.onError,c=r&&u?(e,t)=>{var n;u(e,{location:r.location,params:(null===(n=r.matches)||void 0===n||null===(n=n[0])||void 0===n?void 0:n.params)??{},pattern:re(r.matches),errorInfo:t})}:void 0;return a.reduceRight((e,n,u)=>{let d,h=!1,p=null,m=null;r&&(d=o&&n.route.id?o[n.route.id]:void 0,p=n.route.errorElement||Ne,i&&(l<0&&0===u?(ze("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),h=!0,m=null):l===u&&(h=!0,m=n.route.hydrateFallbackElement||null)));let f=t.concat(a.slice(0,u+1)),v=()=>{let t;return t=d?p:h?m:n.route.Component?s.createElement(n.route.Component,null):n.route.element?n.route.element:e,s.createElement(je,{match:n,routeContext:{outlet:e,matches:f,isDataRoute:null!=r},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||0===u)?s.createElement(Me,{location:r.location,revalidation:r.revalidation,component:p,error:d,children:v(),routeC
2ontext:{outlet:null,matches:f,isDataRoute:!0},onError:c}):v()},null)}function We(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ue(e){let t=s.useContext(ce);return R(t,We(e)),t}function He(e){let t=s.useContext(de);return R(t,We(e)),t}function Be(e){let t=function(e){let t=s.useContext(we);return R(t,We(e)),t}(e),n=t.matches[t.matches.length-1];return R(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Ie(){var e;let t=s.useContext(be),n=He("useRouteError"),r=Be("useRouteError");return void 0!==t?t:null===(e=n.errors)||void 0===e?void 0:e[r]}var Je={};function ze(e,t,n){t||Je[e]||(Je[e]=!0,S(!1,n))}var Ye={};function Ke(e,t){e||Ye[t]||(Ye[t]=!0,console.warn(t))}(r||(r=n.t(s,2))).useOptimistic;function qe(e){let t=e.to,n=e.replace,r=e.state,a=e.relative;R(Re(),"<Navigate> may be used only in the context of a <Router> component."),S(!s.useContext(ge).static,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let o=s.useContext(we).matches,i=Se().pathname,l=$e(),u=q(t,K(o),i,"path"===a),c=JSON.stringify(u);return s.useEffect(()=>{l(JSON.parse(c),{replace:n,state:r,relative:a})},[l,c,a,n,r]),null}function Ve(e){return function(e){let t=s.useContext(we).outlet;return s.useMemo(()=>t&&s.createElement(ke.Provider,{value:e},t),[t,e])}(e.context)}function Xe(e){R(!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(e){let t=e.basename,n=void 0===t?"/":t,r=e.children,a=void 0===r?null:r,o=e.location,i=e.navigationType,l=void 0===i?"POP":i,u=e.navigator,c=e.static,d=void 0!==c&&c,h=e.useTransitions;R(!Re(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let p=n.replace(/^\/*/,"/"),m=s.useMemo(()=>({basename:p,navigator:u,static:d,useTransitions:h,future:{}}),[p,u,d,h]);"string"===typeof o&&(o=k(o));let f=o,v=f.pathname,g=void 0===v?"/":v,y=f.search,w=void 0===y?"":y,b=f.hash,E=void 0===b?"":b,x=f.state,C=void 0===x?null:x,$=f.key,T=void 0===$?"default":$,L=f.mask,A=s.useMemo(()=>{let e=I(g,p);return null==e?null:{location:{pathname:e,search:w,hash:E,state:C,key:T,mask:L},navigationType:l}},[p,g,w,E,C,T,l,L]);return S(null!=A,`<Router basename="${p}"> is not able to match the URL "${g}${w}${E}" because it does not start with the basename, so the <Router> won't render anything.`),null==A?null:s.createElement(ge.Provider,{value:m},s.createElement(ye.Provider,{children:a,value:A}))}function Ze(e){let t=e.children,n=e.location;return Ae(Qe(t),n)}s.Component;function Qe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[];return s.Children.forEach(e,(e,r)=>{if(!s.isValidElement(e))return;let a=[...t,r];if(e.type===s.Fragment)return void n.push.apply(n,Qe(e.props.children,a));R(e.type===Xe,`[${"string"===typeof e.type?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),R(!e.props.index||!e.props.children,"An index route cannot have child routes.");let o={id:e.props.id||a.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:!0===e.props.hasErrorBoundary||null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(o.children=Qe(e.props.children,a)),n.push(o)}),n}var et="get",tt="application/x-www-form-urlencoded";function nt(e){return"undefined"!==typeof HTMLElement&&e instanceof HTMLElement}function rt(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return new URLSearchParams("string"===typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}var at=null;var ot=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function it(e){return null==e||ot.has(e)?e:(S(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${tt}"`),null)}function lt(e,t){let n,r,a,o,i;if(nt(l=e)&&"form"===l.tagName.toLowerCase()){let i=e.getAttribute("action");r=i?I(i,t):null,n=e.getAttribute("method")||et,a=it(e.getAttribute("enctype"))||tt,o=new FormData(e)}else if(function(e){return nt(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return nt(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=e.getAttribute("formaction")||i.getAttribute("action");if(r=l?I(l,t):null,n=e.getAttribute("formmethod")||i.getAttribute("method")||et,a=it(e.getAttribute("formenctype"))||it(i.getAttribute("enctype"))||tt,o=new FormData(i,e),!function(){if(null===at)try{new FormData(document.createElement("form"),0),at=!1}catch(e){at=!0}return at}()){let t=e.name,n=e.type,r=e.value;if("image"===n){let e=t?`${t}.`:"";o.append(`${e}x`,"0"),o.append(`${e}y`,"0")}
2else t&&o.append(t,r)}}else{if(nt(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=et,r=null,a=tt,i=e}var l;return o&&"text/plain"===a&&(i=o,o=void 0),{action:r,method:n.toLowerCase(),encType:a,formData:o,body:i}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function st(e,t){if(!1===e||null===e||"undefined"===typeof e)throw new Error(t)}Symbol("SingleFetchRedirect");function ut(e,t,n,r){let a="string"===typeof e?new URL(e,"undefined"===typeof window?"server://singlefetch/":window.location.origin):e;return n?a.pathname.endsWith("/")?a.pathname=`${a.pathname}_.${r}`:a.pathname=`${a.pathname}.${r}`:"/"===a.pathname?a.pathname=`_root.${r}`:t&&"/"===I(a.pathname,t)?a.pathname=`${G(t)}/_root.${r}`:a.pathname=`${G(a.pathname)}.${r}`,a}async function ct(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(n){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(n),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function dt(e){return null!=e&&"string"===typeof e.page}function ht(e){return null!=e&&(null==e.href?"preload"===e.rel&&"string"===typeof e.imageSrcSet&&"string"===typeof e.imageSizes:"string"===typeof e.rel&&"string"===typeof e.href)}function pt(e,t,n,r,a,o){let i=(e,t)=>!n[t]||e.route.id!==n[t].route.id,l=(e,t)=>
2{var r;return n[t].pathname!==e.pathname||(null===(r=n[t].route.path)||void 0===r?void 0:r.endsWith("*"))&&n[t].params["*"]!==e.params["*"]};return"assets"===o?t.filter((e,t)=>i(e,t)||l(e,t)):"data"===o?t.filter((t,o)=>{let s=r.routes[t.route.id];if(!s||!s.hasLoader)return!1;if(i(t,o)||l(t,o))return!0;if(t.route.shouldRevalidate){var u;let r=t.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:(null===(u=n[0])||void 0===u?void 0:u.params)||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if("boolean"===typeof r)return r}return!0}):[]}function mt(e,t){let n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).includeHydrateFallback;return r=e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let a=[r.module];return r.clientActionModule&&(a=a.concat(r.clientActionModule)),r.clientLoaderModule&&(a=a.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(a=a.concat(r.hydrateFallbackModule)),r.imports&&(a=a.concat(r.imports)),a}).flat(1),[...new Set(r)];var r}function ft(e,t){let n=new Set,r=new Set(t);return e.reduce((e,a)=>{if(t&&!dt(a)&&"script"===a.as&&a.href&&r.has(a.href))return e;let o=JSON.stringify(function(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}(a));return n.has(o)||(n.add(o),e.push({key:o,link:a})),e},[])}function vt(e,t){return"lazy"===e.mode&&!0===t}function gt(){let e=s.useContext(ce);return st(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function yt(){let e=s.useContext(de);return st(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var wt=s.createContext(void 0);function bt(){let e=s.useContext(wt);return st(e,"You must render this element inside a <HydratedRouter> element"),e}function Et(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Rt(e,t,n){if(n&&!kt)return[e[0]];if(t){let n=e.findIndex(e=>void 0!==t[e.route.id]);return e.slice(0,n+1)}return e}wt.displayName="FrameworkContext";function St(e){let t=e.page,n=(0,a.A)(e,c),r=pe(),o=bt().nonce,i=gt().router,l=s.useMemo(()=>A(i.routes,t,i.basename),[i.routes,t,i.basename]);return l?(null==n.nonce&&o&&(n={...n,nonce:o}),r?s.createElement(Ct,{page:t,matches:l,...n}):s.createElement($t,{page:t,matches:l,...n})):null}function xt(e){let t=bt(),n=t.manifest,r=t.routeModules,a=s.useState([]),o=(0,l.A)(a,2),i=o[0],u=o[1];return s.useEffect(()=>{let t=!1;return async function(e,t,n){return ft((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await ct(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(ht).filter(e=>"stylesheet"===e.rel||"preload"===e.rel).map(e=>"stylesheet"===e.rel?{...e,rel:"prefetch",as:"style"}:{...e,rel:"prefetch"}))}(e,n,r).then(e=>{t||u(e)}),()=>{t=!0}},[e,n,r]),i}function Ct(e){let t=e.page,n=e.matches,r=(0,a.A)(e,d),o=Se(),i=bt().future,l=gt().basename,u=s.useMemo(()=>{if(t===o.pathname+o.search+o.hash)return[];let e=ut(t,l,i.v8_trailingSlashAwareDataRequests,"rsc"),r=!1,a=[];for(let t of n)"function"===typeof t.route.shouldRevalidate?r=!0:a.push(t.route.id);return r&&a.length>0&&e.searchParams.set("_routes",a.join(",")),[e.pathname+e.search]},[l,i.v8_trailingSlashAwareDataRequests,t,o,n]);return s.createElement(s.Fragment,null,u.map(e=>s.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...r})))}function $t(e){let t=e.page,n=e.matches,r=(0,a.A)(e,h),o=Se(),i=bt(),l=i.future,u=i.manifest,c=i.routeModules,d=gt().basename,p=yt(),m=p.loaderData,f=p.matches,v=s.useMemo(()=>pt(t,n,f,u,o,"data"),[t,n,f,u,o]),g=s.useMemo(()=>pt(t,n,f,u,o,"assets"),[t,n,f,u,o]),y=s.useMemo(()=>{if(t===o.pathname+o.search+o.hash)return[];let e=new Set,r=!1;if(n.forEach(t=>{var n;let a=u.routes[t.route.id];a&&a.hasLoader&&(!v.some(e=>e.route.id===t.route.id)&&t.route.id in m&&null!==(n=c[t.route.id])&&void 0!==n&&n.shouldRevalidate||a.hasClientLoader?r=!0:e.add(t.route.id))}),0===e.size)return[];let a=ut(t,d,l.v8_trailingSlashAwareDataRequests,"data");return r&&e.size>0&&a.searchParams.set("_routes",n.filter(t=>e.has(t.route.id)).map(e=>e.route.id).join(",")),[a.pathname+a.search]},[d,l.v8_trailingSlashAwareDataRequests,m,o,u,v,n,t,c]),w=s.useMemo(()=>mt(g,u),[g,u]),b=xt(g);return s.createElement(s.Fragment,null,y.map(e=>s.createElement("link",{key:e,rel:"prefetch",as:"fetch",href:e,...r})),w.map(e=>s.createElement("link",{key:e,rel:"modulepreload",href:e,...r})),b.map(e=>{let t=e.key,n=e.link;return s.createElement("link",{key:t,nonce:r.nonce,...n,crossOrigin:n.crossOrigin??r.crossOrigin})}))}var kt=!1;function Tt(e){let t=bt(),n=t.manifest,r=t.serverHandoffString,o=t.isSpaMode,i=t.renderMeta,l=t.routeDiscovery,c=t.ssr,d=t.nonce,h=gt(),p=h.router,m=h.static,f=h.staticContext,v=yt().matches,g=pe(),y=vt(l,c);null==e.nonce&&d&&(e={...e,nonce:d}),i&&(i.didRenderScripts=!0);let w=Rt(v,null,o);s.useEffect(()=>{kt=!0},[]);let b=s.useMemo(()=>{var t;if(g)return null;let o=f?`window.__reactRouterContext = ${r};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}
2).pipeThrough(new TextEncoderStream());`:" ",i=m?`${null!==(t=n.hmr)&&void 0!==t&&t.runtime?`import ${JSON.stringify(n.hmr.runtime)};`:""}${y?"":`import ${JSON.stringify(n.url)}`};\n${w.map((e,t)=>{let r=`route${t}`,a=n.routes[e.route.id];st(a,`Route ${e.route.id} not found in manifest`);let o=a.clientActionModule,i=a.clientLoaderModule,l=a.clientMiddlewareModule,s=a.hydrateFallbackModule,u=a.module,c=[...o?[{module:o,varName:`${r}_clientAction`}]:[],...i?[{module:i,varName:`${r}_clientLoader`}]:[],...l?[{module:l,varName:`${r}_clientMiddleware`}]:[],...s?[{module:s,varName:`${r}_HydrateFallback`}]:[],{module:u,varName:`${r}_main`}];return 1===c.length?`import * as ${r} from ${JSON.stringify(u)};`:[c.map(e=>`import * as ${e.varName} from "${e.module}";`).join("\n"),`const ${r} = {${c.map(e=>`...${e.varName}`).join(",")}};`].join("\n")}).join("\n")}\n ${y?`window.__reactRouterManifest = ${JSON.stringify(function(e,t){let n=e.sri,r=(0,a.A)(e,u),o=new Set(t.state.matches.map(e=>e.route.id)),i=t.state.location.pathname.split("/").filter(Boolean),l=["/"];for(i.pop();i.length>0;)l.push(`/${i.join("/")}`),i.pop();l.forEach(e=>{let n=P(t.routes,e,t.basename||"/",!1,t.branches);n&&n.forEach(e=>o.add(e.route.id))});let s=[...o].reduce((e,t)=>Object.assign(e,{[t]:r.routes[t]}),{});return{...r,routes:s,sri:!!n||void 0}}(n,p),null,2)};`:""}\n window.__reactRouterRouteModules = {${w.map((e,t)=>`${JSON.stringify(e.route.id)}:route${t}`).join(",")}};\n\nimport(${JSON.stringify(n.entry.module)});`:" ";return s.createElement(s.Fragment,null,s.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:o},type:void 0}),s.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:i},type:"module",async:!0}))},[]),E=kt||g?[]:[...new Set(n.entry.imports.concat(mt(w,n,{includeHydrateFallback:!0})))],R="object"===typeof n.sri?n.sri:{};return Ke(!g,"The <Scripts /> element is a no-op when using RSC and can be safely removed."),kt||g?null:s.createElement(s.Fragment,null,"object"===typeof n.sri?s.createElement("script",{...e,"rr-importmap":"",type:"importmap",suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify({integrity:R})}}):null,y?null:s.createElement("link",{rel:"modulepreload",href:n.url,crossOrigin:e.crossOrigin,integrity:R[n.url],nonce:e.nonce,suppressHydrationWarning:!0}),s.createElement("link",{rel:"modulepreload",href:n.entry.module,crossOrigin:e.crossOrigin,integrity:R[n.entry.module],nonce:e.nonce,suppressHydrationWarning:!0}),E.map(t=>s.createElement("link",{key:t,rel:"modulepreload",href:t,crossOrigin:e.crossOrigin,integrity:R[t],nonce:e.nonce,suppressHydrationWarning:!0})),b)}function Lt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return e=>{t.forEach(t=>{"function"===typeof t?t(e):null!=t&&(t.current=e)})}}s.Component;function At(e){let t=e.error,n=e.isOutsideRemixApp,r=bt().nonce;console.error(t);let a,o=s.createElement("script",{nonce:r,dangerouslySetInnerHTML:{__html:'\n console.log(\n "\ud83d\udcbf Hey developer \ud83d\udc4b. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."\n );\n '}});if(ne(t))return s.createElement(Pt,{title:"Unhandled Thrown Response!"},s.createElement("h1",{style:{fontSize:"24px"}},t.status," ",t.statusText),o);if(t instanceof Error)a=t;else{let e=null==t?"Unknown Error":"object"===typeof t&&"toString"in t?t.toString():JSON.stringify(t);a=new Error(e)}return s.createElement(Pt,{title:"Application Error!",isOutsideRemixApp:n},s.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),s.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},a.stack),o)}function Pt(e){var t;let n=e.title,r=e.renderScripts,a=e.isOutsideRemixApp,o=e.children;return null!==(t=bt().routeModules.root)&&void 0!==t&&t.Layout&&!a?o:s.createElement("html",{lang:"en"},s.createElement("head",null,s.createElement("meta",{charSet:"utf-8"}),s.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),s.createElement("title",null,n)),s.createElement("body",null,s.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},o,r?s.createElement(Tt,null):null)))}var Ot="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement;try{Ot&&(window.__reactRouterVersion="7.18.1")}catch(Bt){}function Nt(e){let t=e.basename,n=e.children,r=e.useTransitions,a=e.window,o=s.useRef();null==o.current&&(o.current=E({window:a,v5Compat:!0}));let i=o.current,u=s.useState({action:i.action,location:i.location}),c=(0,l.A)(u,2),d=c[0],h=c[1],p=s.useCallback(e=>{!1===r?h(e):s.startTransition(()=>h(e))},[r]);return s.useLayoutEffect(()=>i.listen(p),[i,p]),s.createElement(Ge,{basename:t,children:n,location:d.location,navigationType:d.action,navigator:i,useTransitions:r})}var Mt=s.forwardRef(function(e,t){let n=e.onClick,r=e.discover,o=void 0===r?"render":r,i=e.prefetch,u=void 0===i?"none":i,c=e.relative,d=e.reloadDocument,h=e.replace,m=e.mask,f=e.state,g=e.target,y=e.to,w=e.preventScrollReset,b=e.viewTransition,E=e.defaultShouldRevalidate,S=(0,a.A)(e,p),x=s.useContext(ge),C=x.basename,k=x.navigator,T=x.useTransitions,L="string"===typeof y&&v.test(y),A=oe(y,C);y=A.to;let P=function(e){let t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).relative;R(Re(),"useHref() may be used only in the context of a <Router> component.");let n=s.useContext(ge),r=n.basename,a=n.navigator,o=Le(e,{relative:t}),i=o.hash,l=o.pathname,u=o.search,c=l;return"/"!==r&&(c="/"===l?r:X([r,l])),a.createHref({pathname:c,search:u,hash:i})}(y,{relative:c}
2),O=Se(),N=null;if(m){let e=q(m,[],O.mask?O.mask.pathname:"/",!0);"/"!==C&&(e.pathname="/"===e.pathname?C:X([C,e.pathname])),N=k.createHref(e)}let M=function(e,t){let n=s.useContext(wt),r=s.useState(!1),a=(0,l.A)(r,2),o=a[0],i=a[1],u=s.useState(!1),c=(0,l.A)(u,2),d=c[0],h=c[1],p=t.onFocus,m=t.onBlur,f=t.onMouseEnter,v=t.onMouseLeave,g=t.onTouchStart,y=s.useRef(null);s.useEffect(()=>{if("render"===e&&h(!0),"viewport"===e){let e=new IntersectionObserver(e=>{e.forEach(e=>{h(e.isIntersecting)})},{threshold:.5});return y.current&&e.observe(y.current),()=>{e.disconnect()}}},[e]),s.useEffect(()=>{if(o){let e=setTimeout(()=>{h(!0)},100);return()=>{clearTimeout(e)}}},[o]);let w=()=>{i(!0)},b=()=>{i(!1),h(!1)};return n?"intent"!==e?[d,y,{}]:[d,y,{onFocus:Et(p,w),onBlur:Et(m,b),onMouseEnter:Et(f,w),onMouseLeave:Et(v,b),onTouchStart:Et(g,w)}]:[!1,y,{}]}(u,S),_=(0,l.A)(M,3),F=_[0],j=_[1],D=_[2],W=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.target,r=t.replace,a=t.mask,o=t.state,i=t.preventScrollReset,l=t.relative,u=t.viewTransition,c=t.defaultShouldRevalidate,d=t.useTransitions,h=$e(),p=Se(),m=Le(e,{relative:l});return s.useCallback(t=>{if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,n)){t.preventDefault();let n=void 0!==r?r:$(p)===$(m),f=()=>h(e,{replace:n,mask:a,state:o,preventScrollReset:i,relative:l,viewTransition:u,defaultShouldRevalidate:c});d?s.startTransition(()=>f()):f()}},[p,h,m,r,a,o,n,e,i,l,u,c,d])}(y,{replace:h,mask:m,state:f,target:g,preventScrollReset:w,relative:c,viewTransition:b,defaultShouldRevalidate:E,useTransitions:T});let U=!(A.isExternal||d),H=s.createElement("a",{...S,...D,href:(U?N:void 0)||A.absoluteURL||P,onClick:U?function(e){n&&n(e),e.defaultPrevented||W(e)}:n,ref:Lt(t,j),target:g,"data-discover":L||"render"!==o?void 0:"true"});return F&&!L?s.createElement(s.Fragment,null,H,s.createElement(St,{page:P})):H});Mt.displayName="Link";var _t=s.forwardRef(function(e,t){let n=e["aria-current"],r=void 0===n?"page":n,o=e.caseSensitive,i=void 0!==o&&o,l=e.className,u=void 0===l?"":l,c=e.end,d=void 0!==c&&c,h=e.style,p=e.to,f=e.viewTransition,v=e.children,g=(0,a.A)(e,m),y=Le(p,{relative:g.relative}),w=Se(),b=s.useContext(de),E=s.useContext(ge),S=E.navigator,x=E.basename,C=null!=b&&function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.relative,r=s.useContext(me);R(null!=r,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let a=Dt("useViewTransitionState").basename,o=Le(e,{relative:n});if(!r.isTransitioning)return!1;let i=I(r.currentLocation.pathname,a)||r.currentLocation.pathname,l=I(r.nextLocation.pathname,a)||r.nextLocation.pathname;return null!=W(o.pathname,l)||null!=W(o.pathname,i)}(y)&&!0===f,$=S.encodeLocation?S.encodeLocation(y).pathname:y.pathname,k=w.pathname,T=b&&b.navigation&&b.navigation.location?b.navigation.location.pathname:null;i||(k=k.toLowerCase(),T=T?T.toLowerCase():null,$=$.toLowerCase()),T&&x&&(T=I(T,x)||T);const L="/"!==$&&$.endsWith("/")?$.length-1:$.length;let A,P=k===$||!d&&k.startsWith($)&&"/"===k.charAt(L),O=null!=T&&(T===$||!d&&T.startsWith($)&&"/"===T.charAt($.length)),N={isActive:P,isPending:O,isTransitioning:C},M=P?r:void 0;A="function"===typeof u?u(N):[u,P?"active":null,O?"pending":null,C?"transitioning":null].filter(Boolean).join(" ");let _="function"===typeof h?h(N):h;return s.createElement(Mt,{...g,"aria-current":M,className:A,ref:t,style:_,to:p,viewTransition:f},"function"===typeof v?v(N):v)});_t.displayName="NavLink";var Ft=s.forwardRef((e,t)=>{let n=e.discover,r=void 0===n?"render":n,o=e.fetcherKey,i=e.navigate,u=e.reloadDocument,c=e.replace,d=e.state,h=e.method,p=void 0===h?et:h,m=e.action,g=e.onSubmit,y=e.relative,w=e.preventScrollReset,b=e.viewTransition,E=e.defaultShouldRevalidate,S=(0,a.A)(e,f),x=s.useContext(ge).useTransitions,C=Ht(),k=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
2,n=t.relative,r=s.useContext(ge).basename,a=s.useContext(we);R(a,"useFormAction must be used inside a RouteContext");let o=a.matches.slice(-1),i=(0,l.A)(o,1)[0],u={...Le(e||".",{relative:n})},c=Se();if(null==e){u.search=c.search;let e=new URLSearchParams(u.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let n=e.toString();u.search=n?`?${n}`:""}}e&&"."!==e||!i.route.index||(u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index");"/"!==r&&(u.pathname="/"===u.pathname?r:X([r,u.pathname]));return $(u)}(m,{relative:y}),T="get"===p.toLowerCase()?"get":"post",L="string"===typeof m&&v.test(m);return s.createElement("form",{ref:t,method:T,action:k,onSubmit:u?g:e=>{if(g&&g(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter,n=(null===t||void 0===t?void 0:t.getAttribute("formmethod"))||p,r=()=>C(t||e.currentTarget,{fetcherKey:o,method:n,navigate:i,replace:c,state:d,relative:y,preventScrollReset:w,viewTransition:b,defaultShouldRevalidate:E});x&&!1!==i?s.startTransition(()=>r()):r()},...S,"data-discover":L||"render"!==r?void 0:"true"})});function jt(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Dt(e){let t=s.useContext(ce);return R(t,jt(e)),t}function Wt(e){S("undefined"!==typeof URLSearchParams,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=s.useRef(rt(e)),n=s.useRef(!1),r=Se(),a=s.useMemo(()=>function(e,t){let n=rt(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}(r.search,n.current?null:t.current),[r.search]),o=$e(),i=s.useCallback((e,t)=>{const r=rt("function"===typeof e?e(new URLSearchParams(a)):e);n.current=!0,o("?"+r,t)},[o,a]);return[a,i]}Ft.displayName="Form";var Ut=0;function Ht(){let e=Dt("useSubmit").router,t=s.useContext(ge).basename,n=Be("useRouteId"),r=e.fetch,a=e.navigate;return s.useCallback(async function(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=lt(e,t),l=i.action,s=i.method,u=i.encType,c=i.formData,d=i.body;if(!1===o.navigate){let e=o.fetcherKey||`__${String(++Ut)}__`;await r(e,n,o.action||l,{defaultShouldRevalidate:o.defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:c,body:d,formMethod:o.method||s,formEncType:o.encType||u,flushSync:o.flushSync})}else await a(o.action||l,{defaultShouldRevalidate:o.defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:c,body:d,formMethod:o.method||s,formEncType:o.encType||u,replace:o.replace,state:o.state,fromRouteId:n,flushSync:o.flushSync,viewTransition:o.viewTransition})},[r,a,t,n])}}}]);
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.