PageSourceSearch

https://robotsguide.com/build/_shared/chunk-SKQSV4IB.js

js robotsguide.com collected 2026-10-02 04:49:08 UTC 109,225 bytes, 273 lines download raw bytes

vendor: 3,123 bytes, line 1
1import{a as Ro}from"/build/_shared/chunk-M52IJKKB.js";import{a as Ae}from"/build/_shared/chunk-7ZSQYYGQ.js";import{a as Nn,d as De}from"/build/_shared/chunk-G5WX4PPA.js";function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Y.apply(this,arguments)}function _r(e){e===void 0&&(e={});function t(n,a){let{pathname:o,search:i,hash:l}=n.location;return St("",{pathname:o,search:i,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:ge(a)}return wo(t,r,null,e)}function O(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function ut(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function go(){return Math.random().toString(36).substr(2,8)}function Cn(e,t){return{usr:e.state,key:e.key,idx:t}}function St(e,t,r,n){return r===void 0&&(r=null),Y({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?se(t):t,{state:r,key:t&&t.key||n||go()})}function ge(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&r!=="?"&&(t+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function se(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function wo(e,t,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,l=K.Pop,s=null,c=u();c==null&&(c=0,i.replaceState(Y({},i.state,{idx:c}),""));function u(){return(i.state||{idx:null}).idx}function d(){l=K.Pop;let E=u(),C=E==null?null:E-c;c=E,s&&s({action:l,location:R.location,delta:C})}function m(E,C){l=K.Push;let b=St(R.location,E,C);r&&r(b,E),c=u()+1;let N=Cn(b,c),L=R.createHref(b);try{i.pushState(N,"",L)}catch(H){if(H instanceof DOMException&&H.name==="DataCloneError")throw H;a.location.assign(L)}o&&s&&s({action:l,location:R.location,delta:1})}function g(E,C){l=K.Replace;let b=St(R.location,E,C);r&&r(b,E),c=u();let N=Cn(b,c),L=R.createHref(b);i.replaceState(N,"",L),o&&s&&s({action:l,location:R.location,delta:0})}function v(E){let C=a.location.origin!=="null"?a.location.origin:a.location.href,b=typeof E=="string"?E:ge(E);return b=b.replace(/ $/,"%20"),O(C,"No window.location.(origin|href) available to create URL for href: "+b),new URL(b,C)}let R={get action(){return l},get location(){return e(a,i)},listen(E){if(s)throw new Error("A history only accepts one active listener");return a.addEventListener(Dn,d),s=E,()=>{a.removeEventListener(Dn,d),s=null}},createHref(E){return t(a,E)},createURL:v,encodeLocation(E){let C=v(E);return{pathname:C.pathname,search:C.search,hash:C.hash}},push:m,replace:g,go(E){return i.go(E)}};return R}function bo(e){return e.index===!0}function wr(e,t,r,n){return r===void 0&&(r=[]),n===void 0&&(n={}),e.map((a,o)=>{let i=[...r,o],l=typeof a.id=="string"?a.id:i.join("-");if(O(a.index!==!0||!a.children,"Cannot specify children on an index route"),O(!n[l],'Found a route id collision on i
1d "'+l+`".  Route id's must be globally unique within Data Router usages`),bo(a)){let s=Y({},a,t(a),{id:l});return n[l]=s,s}else{let s=Y({},a,t(a),{id:l,children:void 0});return n[l]=s,a.children&&(s.children=wr(a.children,t,i,n)),s}})}function le(e,t,r){r===void 0&&(r="/");let n=typeof t=="string"?se(t):t,a=ue(n.pathname||"/",r);if(a==null)return null;let o=Bn(e);So(o);let i=null;for(let l=0;i==null&&l<o.length;++l){let s=Mo(a);i=Oo(o[l],s)}return i}function xr(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}function Bn(e,t,r,n){t===void 0&&(t=[]),r===void 0&&(r=[]),n===void 0&&(n="");let a=(o,i,l)=>{let s={relativePath:l===void 0?o.path||"":l,caseSensitive:o.caseSensitive===!0,childrenIndex:i,route:o};s.relativePath.startsWith("/")&&(O(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 c=Re([n,s.relativePath]),u=r.concat(s);o.children&&o.children.length>0&&(O(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),Bn(o.children,t,u,c)),!(o.path==null&&!o.index)&&t.push({path:c,score:Po(c,o.index),routesMeta:u})};return e.forEach((o,i)=>{var l;if(o.path===""||!((l=o.path)!=null&&l.includes("?")))a(o,i);else for(let s of zn(o.path))a(o,i,s)}),t}function zn(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),o=r.replace(/\?$/,"");if(n.length===0)return a?[o,""]:[o];let i=zn(n.join("/")),l=[];return l.push(...i.map(s=>s===""?o:[o,s].join("/"))),a&&l.push(...i),l.map(s=>e.startsWith("/")&&s===""?"/":s)}function So(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:Fo(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}function Po(e,t){let r=e.split("/"),n=r.length;return r.some(Ln)&&(n+=Lo),t&&(n+=No),r.filter(a=>!Ln(a)).reduce((a,o)=>a+(_o.test(o)?xo:o===""?Do:Co),n)}function Fo(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function Oo(e,t){let{routesMeta:r}=e,n={},a="/",o=[];for(let i=0;i<r.length;++i){let l=r[i],s=i===r.length-1,c=a==="/"?t:t.slice(a.length)||"/",u=Be({path:l.relativePath,caseSensitive:l.caseSensitive,end:s},c);if(!u)return null;
vendor: 4,154 bytes, line 1
1Object.assign(n,u.params);let d=l.route;o.push({params:n,pathname:Re([a,u.pathname]),pathnameBase:ko(Re([a,u.pathnameBase])),route:d}),u.pathnameBase!=="/"&&(a=Re([a,u.pathnameBase]))}return o}function Be(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=Ao(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:n.reduce((c,u,d)=>{let{paramName:m,isOptional:g}=u;if(m==="*"){let R=l[d]||"";i=o.slice(0,o.length-R.length).replace(/(.)\/+$/,"$1")}let v=l[d];return g&&!v?c[m]=void 0:c[m]=(v||"").replace(/%2F/g,"/"),c},{}),pathname:o,pathnameBase:i,pattern:e}}function Ao(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),ut(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,(i,l,s)=>(n.push({paramName:l,isOptional:s!=null}),s?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function Mo(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return ut(!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 ("+t+").")),e}}function ue(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function Ht(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?se(e):e;return{pathname:r?r.startsWith("/")?r:To(r,t):t,search:Uo(n),hash:Io(a)}}function To(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function vr(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(n)+"].  Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function Jn(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function $t(e,t){let r=Jn(e);return t?r.map((n,a)=>a===e.length-1?n.pathname:n.pathnameBase):r.map(n=>n.pathnameBase)}function Vt(e,t,r,n){n===void 0&&(n=!1);let a;typeof e=="string"?a=se(e):(a=Y({},e),O(!a.pathname||!a.pathname.includes("?"),vr("?","pathname","search",a)),O(!a.pathname||!a.pathname.includes("#"),vr("#","pathname","hash",a)),O(!a.search||!a.search.includes("#"),vr("#","search","hash",a)));let o=e===""||a.pathname==="",i=o?"/":a.pathname,l;if(i==null)l=r;else{let d=t.length-1;if(!n&&i.startsWith("..")){let m=i.split("/");for(;m[0]==="..";)m.shift(),d-=1;a.pathname=m.join("/")}l=d>=0?t[d]:"/"}let s=Ht(a,l),c=i&&i!=="/"&&i.endsWith("/"),u=(o||i===".")&&r.endsWith("/");return!s.pathname.endsWith("/")&&(c||u)&&(s.pathname+="/"),s}function jo(e){return e instanceof Promise&&e._tracked===!0}function Ho(e){if(!jo(e))return e;if(e._error)throw e._error;return e._data}function Me(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Bt(e){let t=e.window?e.window:typeof window<"u"?window:void 0,r=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",n=!r;O(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let a;if(e.mapRouteProperties)a=e.mapRouteProperties;else if(e.detectErrorBoundary){let f=e.detectErrorBoundary;a=p=>({hasErrorBoundary:f(p)})}else a=Ko;let o={},i=wr(e.routes,a,void 0,o),l,s=e.basename||"/",c=e.unstable_dataStrategy||Go,u=Y({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prepe
1ndBasename:!1,v7_relativeSplatPath:!1,unstable_skipActionErrorRevalidation:!1},e.future),d=null,m=new Set,g=null,v=null,R=null,E=e.hydrationData!=null,C=le(i,e.history.location,s),b=null;if(C==null){let f=ye(404,{pathname:e.history.location.pathname}),{matches:p,route:y}=jn(i);C=p,b={[y.id]:f}}let N,L=C.some(f=>f.route.lazy),H=C.some(f=>f.route.loader);if(L)N=!1;else if(!H)N=!0;else if(u.v7_partialHydration){let f=e.hydrationData?e.hydrationData.loaderData:null,p=e.hydrationData?e.hydrationData.errors:null,y=w=>w.route.loader?typeof w.route.loader=="function"&&w.route.loader.hydrate===!0?!1:f&&f[w.route.id]!==void 0||p&&p[w.route.id]!==void 0:!0;if(p){let w=C.findIndex(D=>p[D.route.id]!==void 0);N=C.slice(0,w+1).every(y)}else N=C.every(y)}else N=e.hydrationData!=null;let V,h={historyAction:e.history.action,location:e.history.location,matches:C,initialized:N,navigation:Rr,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||b,fetchers:new Map,blockers:new Map},A=K.Pop,M=!1,k,B=!1,J=new Map,z=null,ae=!1,be=!1,ce=[],Ie=[],Q=new Map,At=0,ht=-1,rt=new Map,Fe=new Set,nt=new Map,mt=new Map,Oe=new Set,Ye=new Map,Xe=new Map,mr=!1;function ro(){if(d=e.history.listen(f=>{let{action:p,location:y,delta:w}=f;if(mr){mr=!1;return}ut(Xe.size===0||w!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs.  This can also happen if you are using createHashRouter and the user manually changes the URL.");let D=bn({currentLocation:h.location,nextLocation:y,historyAction:p});if(D&&w!=null){mr=!0,e.history.go(w*-1),Tt(D,{state:"blocked",location:y,proceed(){Tt(D,{state:"proceeding",proceed:void 0,reset:void 0,location:y}),e.history.go(w)},reset(){let I=new Map(h.blockers);I.set(D,st),de({blockers:I})}});return}return Ge(p,y)}),r){si(t,J);let f=()=>ui(t,J);t.addEventListener("pagehide",f),z=()=>t.removeEventListener("pagehide",f)}return h.initialized||Ge(K.Pop,h.location,{initialHydration:!0}),V}function no(){d&&d(),z&&z(),m.clear(),k&&k.abort(),h.fetchers.forEach((f,p)=>Mt(p)),h.blockers.forEach((f,p)=>En(p))}function ao(f){return m.add(f),()=>m.delete(f)}function de(f,p){p===void 0&&(p={}),h=Y({},h,f);let y=[],w=[];u.v7_fetcherPersist&&h.fetchers.forEach((D,I)=>{D.state==="idle"&&(Oe.has(I)?w.push(I):y.push(I))}),[...m].forEach(D=>D(h,{deletedFetchers:w,unstable_viewTransitionOpts:p.viewTransitionOpts,unstable_flushSync:p.flushSync===!0})),u.v7_fetcherPersist&&(y.forEach(D=>h.fetchers.delete(D)),w.forEach(D=>Mt(D)))}function pt(f,p,y){var w,D;let{flushSync:I}=y===void 0?{}:y,F=h.actionData!=null&&h.navigation.formMethod!=null&&Se(h.navigation.formMethod)&&h.navigation.state==="loading"&&((w=f.state)==null?void 0:w._isRedirect)!==!0,P;p.actionData?Object.keys(p.actionData).length>0?P=p.actionData:P=null:F?P=h.actionData:P=null;let j=p.loaderData?Un(h.loaderData,p.loaderData,p.matches||[],p.errors):h.loaderData,U=h.blockers;U.size>0&&(U=new Map(U),U.forEach((T,W)=>U.set(W,st)));let ee=M===!0||h.navigation.formMethod!=null&&Se(h.navigation.formMethod)&&((D=f.state)==null?void 0:D._isRedirect)!==!0;l&&(i=l,l=void 0),ae||A===K.Pop||(A===K.Push?e.history.push(f,f.state):A===K.Replace&&e.history.replace(f,f.state));let te;if(A===K.Pop){let T=J.get(h.location.pathname);T&&T.has(f.pathname)?te={currentLocation:h.location,nextLocation:f}:J.has(f.pathname)&&(te={currentLocation:f,nextLocation:h.location})}else if(B){let T=J.get(h.location.pathname);T?T.add(f.pathname):(T=new Set([f.pathname]),J.set(h.location.pathname,T)),te={currentLocation:h.location,nextLocation:f}}de(Y({},p,{actionData:P,loaderData:j,historyAction:A,location:f,initialized:!0,navigation:Rr,revalidation:"idle",restoreScrollPosition:_n(f,p.matches||h.matches),preventScrollReset:ee,blockers:U}),{viewTransitionOpts:te,flushSync:I===!0}),A=K.Pop,M=!1,B=!1,ae=!1,be=!1,ce=[],Ie=[]}async function pn(f,p){if(typeof f=="number"){e.history.go(f);return}
1let y=Er(h.location,h.matches,s,u.v7_prependBasename,f,u.v7_relativeSplatPath,p?.fromRouteId,p?.relative),{path:w,submission:D,error:I}=Pn(u.v7_normalizeFormMethod,!1,y,p),F=h.location,P=St(h.location,w,p&&p.state);P=Y({},P,e.history.encodeLocation(P));let j=p&&p.replace!=null?p.replace:void 0,U=K.Push;j===!0?U=K.Replace:j===!1||D!=null&&Se(D.formMethod)&&D.formAction===h.location.pathname+h.location.search&&(U=K.Replace);let ee=p&&"preventScrollReset"in p?p.preventScrollReset===!0:void 0,te=(p&&p.unstable_flushSync)===!0,T=bn({currentLocation:F,nextLocation:P,historyAction:U});if(T){Tt(T,{state:"blocked",location:P,proceed(){Tt(T,{state:"proceeding",proceed:void 0,reset:void 0,location:P}),pn(f,p)},reset(){let W=new Map(h.blockers);W.set(T,st),de({blockers:W})}});return}return await Ge(U,P,{submission:D,pendingError:I,preventScrollReset:ee,replace:p&&p.replace,enableViewTransition:p&&p.unstable_viewTransition,flushSync:te})}function oo(){if(pr(),de({revalidation:"loading"}),h.navigation.state!=="submitting"){if(h.navigation.state==="idle"){Ge(h.historyAction,h.location,{startUninterruptedRevalidation:!0});return}Ge(A||h.historyAction,h.navigation.location,{overrideNavigation:h.navigation})}}async function Ge(f,p,y){k&&k.abort(),k=null,A=f,ae=(y&&y.startUninterruptedRevalidation)===!0,po(h.location,h.matches),M=(y&&y.preventScrollReset)===!0,B=(y&&y.enableViewTransition)===!0;let w=l||i,D=y&&y.overrideNavigation,I=le(w,p,s),F=(y&&y.flushSync)===!0;if(!I){let T=ye(404,{pathname:p.pathname}),{matches:W,route:Z}=jn(w);
1yr(),pt(p,{matches:W,loaderData:{},errors:{[Z.id]:T}},{flushSync:F});return}if(h.initialized&&!be&&ri(h.location,p)&&!(y&&y.submission&&Se(y.submission.formMethod))){pt(p,{matches:I},{flushSync:F});return}k=new AbortController;let P=lt(e.history,p,k.signal,y&&y.submission),j;if(y&&y.pendingError)j=[bt(I).route.id,{type:X.error,error:y.pendingError}];else if(y&&y.submission&&Se(y.submission.formMethod)){let T=await io(P,p,y.submission,I,{replace:y.replace,flushSync:F});if(T.shortCircuited)return;j=T.pendingActionResult,D=gr(p,y.submission),F=!1,P=lt(e.history,P.url,P.signal)}let{shortCircuited:U,loaderData:ee,errors:te}=await lo(P,p,I,D,y&&y.submission,y&&y.fetcherSubmission,y&&y.replace,y&&y.initialHydration===!0,F,j);U||(k=null,pt(p,Y({matches:I},In(j),{loaderData:ee,errors:te})))}async function io(f,p,y,w,D){D===void 0&&(D={}),pr();let I=ii(p,y);de({navigation:I},{flushSync:D.flushSync===!0});let F,P=Sr(w,p);if(!P.route.action&&!P.route.lazy)F={type:X.error,error:ye(405,{method:f.method,pathname:p.pathname,routeId:P.route.id})};else if(F=(await vt("action",f,[P],w))[0],f.signal.aborted)return{shortCircuited:!0};if(Ze(F)){let j;return D&&D.replace!=null?j=D.replace:j=Mn(F.response.headers.get("Location"),new URL(f.url),s)===h.location.pathname+h.location.search,await yt(f,F,{submission:y,replace:j}),{shortCircuited:!0}}if(Qe(F))throw ye(400,{type:"defer-action"});if(ve(F)){let j=bt(w,P.route.id);return(D&&D.replace)!==!0&&(A=K.Push),{pendingActionResult:[j.route.id,F]}}return{pendingActionResult:[P.route.id,F]}}async function lo(f,p,y,w,D,I,F,P,j,U){let ee=w||gr(p,D),te=D||I||Vn(ee),T=l||i,[W,Z]=Fn(e.history,h,y,te,p,u.v7_partialHydration&&P===!0,u.unstable_skipActionErrorRevalidation,be,ce,Ie,Oe,nt,Fe,T,s,U);if(yr($=>!(y&&y.some(ie=>ie.route.id===$))||W&&W.some(ie=>ie.route.id===$)),ht=++At,W.length===0&&Z.length===0){let $=gn();return pt(p,Y({matches:y,loaderData:{},errors:U&&ve(U[1])?{[U[0]]:U[1].error}:null},In(U),$?{fetchers:new Map(h.fetchers)}:{}),{flushSync:j}),{shortCircuited:!0}}if(!ae&&(!u.v7_partialHydration||!P)){Z.forEach(ie=>{let pe=h.fetchers.get(ie.key),re=Et(void 0,pe?pe.data:void 0);h.fetchers.set(ie.key,re)});let $;U&&!ve(U[1])?$={[U[0]]:U[1].data}:h.actionData&&(Object.keys(h.actionData).length===0?$=null:$=h.actionData),de(Y({navigation:ee},$!==void 0?{actionData:$}:{},Z.length>0?{fetchers:new Map(h.fetchers)}:{}),{flushSync:j})}Z.forEach($=>{Q.has($.key)&&He($.key),$.controller&&Q.set($.key,$.controller)});let gt=()=>Z.forEach($=>He($.key));k&&k.signal.addEventListener("abort",gt);let{loaderResults:$e,fetcherResults:at}=await yn(h.matches,y,W,Z,f);if(f.signal.aborted)return{shortCircuited:!0};k&&k.signal.removeEventListener("abort",gt),Z.forEach($=>Q.delete($.key));let ot=Hn([...$e,...at]);if(ot){if(ot.idx>=W.length){let $=Z[ot.idx-W.length].key;Fe.add($)}return await yt(f,ot.result,{replace:F}),{shortCircuited:!0}}let{loaderData:it,errors:Ne}=kn(h,y,W,$e,U,Z,at,Ye);Ye.forEach(($,ie)=>{$.subscribe(pe=>{(pe||$.done)&&Ye.delete(ie)})}),u.v7_partialHydration&&P&&h.errors&&Object.entries(h.errors).filter($=>{let[ie]=$;return!W.some(pe=>pe.route.id===ie)}).forEach($=>{let[ie,pe]=$;Ne=Object.assign(Ne||{},{[ie]:pe})});let kt=gn(),Ut=wn(ht),It=kt||Ut||Z.length>0;return Y({loaderData:it,errors:Ne},It?{fetchers:new Map(h.fetchers)}:{})}function so(f,p,y,w){if(n)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");Q.has(f)&&He(f);let D=(w&&w.unstable_flushSync)===!0,I=l||i,F=Er(h.location,h.matches,s,u.v7_prependBasename,y,u.v7_relativeSplatPath,p,w?.relative),P=le(I,F,s);if(!P){Rt(f,p,ye(404,{pathname:F}),{flushSync:D});return}let{path:j,submission:U,error:ee}=Pn(u.v7_normalizeFormMethod,!0,F,w);if(ee){Rt(f,p,ee,{flushSync:D});return}let te=Sr(P,j);if(M=(w&&w.preventScrollReset)===!0,U&&Se(U.formMethod)){uo(f,p,j,te,P,D,U);return}nt.set(f,{routeId:p,path:j}),co(f,p,j,te,P,D,U)}async function uo(f,p,y,w,D,I,F){if(pr(),nt.delete(f),!w.route.action&&!w.route.lazy){let re=ye(405,{method:F.formMethod,pathname:y,routeId:p});Rt(f,p,re,{flushSync:I});return}let P=h.fetchers.get(f);je(f,li(F,P),{flushSync:I});let j=new AbortController,U=lt(e.history,y,j.signal,F);Q.set(f,j);let ee=At,T=(await vt("action",U,[w],D))[0];if(U.signal.aborted){Q.get(f)===j&&Q.delete(f);return}if(u.v7_fetcherPersist&&Oe.has(f)){if(Ze(T)||ve(T)){je(f,Ve(void 0));return}}else{if(Ze(T))if(Q.delete(f),ht>ee){je(f,Ve(void 0));return}
1else return Fe.add(f),je(f,Et(F)),yt(U,T,{fetcherSubmission:F});if(ve(T)){Rt(f,p,T.error);return}}if(Qe(T))throw ye(400,{type:"defer-action"});let W=h.navigation.location||h.location,Z=lt(e.history,W,j.signal),gt=l||i,$e=h.navigation.state!=="idle"?le(gt,h.navigation.location,s):h.matches;O($e,"Didn't find any matches after fetcher action");let at=++At;rt.set(f,at);let ot=Et(F,T.data);h.fetchers.set(f,ot);let[it,Ne]=Fn(e.history,h,$e,F,W,!1,u.unstable_skipActionErrorRevalidation,be,ce,Ie,Oe,nt,Fe,gt,s,[w.route.id,T]);Ne.filter(re=>re.key!==f).forEach(re=>{let wt=re.key,xn=h.fetchers.get(wt),vo=Et(void 0,xn?xn.data:void 0);h.fetchers.set(wt,vo),Q.has(wt)&&He(wt),re.controller&&Q.set(wt,re.controller)}),de({fetchers:new Map(h.fetchers)});let kt=()=>Ne.forEach(re=>He(re.key));j.signal.addEventListener("abort",kt);let{loaderResults:Ut,fetcherResults:It}=await yn(h.matches,$e,it,Ne,Z);if(j.signal.aborted)return;j.signal.removeEventListener("abort",kt),rt.delete(f),Q.delete(f),Ne.forEach(re=>Q.delete(re.key));let $=Hn([...Ut,...It]);if($){if($.idx>=it.length){let re=Ne[$.idx-it.length].key;Fe.add(re)}return yt(Z,$.result)}let{loaderData:ie,errors:pe}=kn(h,h.matches,it,Ut,void 0,Ne,It,Ye);if(h.fetchers.has(f)){let re=Ve(T.data);h.fetchers.set(f,re)}wn(at),h.navigation.state==="loading"&&at>ht?(O(A,"Expected pending action"),k&&k.abort(),pt(h.navigation.location,{matches:$e,loaderData:ie,errors:pe,fetchers:new Map(h.fetchers)})):(de({errors:pe,loaderData:Un(h.loaderData,ie,$e,pe),fetchers:new Map(h.fetchers)}),be=!1)}async function co(f,p,y,w,D,I,F){let P=h.fetchers.get(f);je(f,Et(F,P?P.data:void 0),{flushSync:I});let j=new AbortController,U=lt(e.history,y,j.signal);Q.set(f,j);let ee=At,T=(await vt("loader",U,[w],D))[0];if(Qe(T)&&(T=await Qn(T,U.signal,!0)||T),Q.get(f)===j&&Q.delete(f),!U.signal.aborted){if(Oe.has(f)){je(f,Ve(void 0));return}if(Ze(T))if(ht>ee){je(f,Ve(void 0));return}else{Fe.add(f),await yt(U,T);return}if(ve(T)){Rt(f,p,T.error);return}O(!Qe(T),"Unhandled fetcher deferred data"),je(f,Ve(T.data))}}async function yt(f,p,y){let{submission:w,fetcherSubmission:D,replace:I}=y===void 0?{}:y;p.response.headers.has("X-Remix-Revalidate")&&(be=!0);let F=p.response.headers.get("Location");O(F,"Expected a Location header on the redirect Response"),F=Mn(F,new URL(f.url),s);let P=St(h.location,F,{_isRedirect:!0});if(r){let W=!1;if(p.response.headers.has("X-Remix-Reload-Document"))W=!0;else if(Dr.test(F)){let Z=e.history.createURL(F);W=Z.origin!==t.location.origin||ue(Z.pathname,s)==null}if(W){I?t.location.replace(F):t.location.assign(F);return}}k=null;let j=I===!0?K.Replace:K.Push,{formMethod:U,formAction:ee,formEncType:te}=h.navigation;!w&&!D&&U&&ee&&te&&(w=Vn(h.navigation));let T=w||D;if(Jo.has(p.response.status)&&T&&Se(T.formMethod))await Ge(j,P,{submission:Y({},T,{formAction:F}),preventScrollReset:M});else{let W=gr(P,w);await Ge(j,P,{overrideNavigation:W,fetcherSubmission:D,preventScrollReset:M})}}async function vt(f,p,y,w){try{let D=await Qo(c,f,p,y,w,o,a);return await Promise.all(D.map((I,F)=>{if(ni(I)){let P=I.result;return{type:X.redirect,response:ei(P,p,y[F].route.id,w,s,u.v7_relativeSplatPath)}}return qo(I)}))}catch(D){return y.map(()=>({type:X.error,error:D}))}}async function yn(f,p,y,w,D){let[I,...F]=await Promise.all([y.length?vt("loader",D,y,p):[],...w.map(P=>{if(P.matches&&P.match&&P.controller){let j=lt(e.history,P.path,P.controller.signal);return vt("loader",j,[P.match],P.matches).then(U=>U[0])}else return Promise.resolve({type:X.error,error:ye(404,{pathname:P.path})})})]);return await Promise.all([$n(f,y,I,I.map(()=>D.signal),!1,h.loaderData),$n(f,w.map(P=>P.match),F,w.map(P=>P.controller?P.controller.signal:null),!0)]),{loaderResults:I,fetcherResults:F}}function pr(){be=!0,ce.push(...yr()),nt.forEach((f,p)=>{Q.has(p)&&(Ie.push(p),He(p))})}function je(f,p,y){y===void 0&&(y={}),h.fetchers.set(f,p),de({fetchers:new Map(h.fetchers)},{flushSync:(y&&y.flushSync)===!0})}function Rt(f,p,y,w){w===void 0&&(w={});let D=bt(h.matches,p);Mt(f),de({errors:{[D.route.id]:y},fetchers:new Map(h.fetchers)},{flushSync:(w&&w.flushSync)===!0})}function vn(f){return u.v7_fetcherPersist&&(mt.set(f,(mt.get(f)||0)+1),Oe.has(f)&&Oe.delete(f)),h.fetchers.get(f)||Nr}function Mt(f){let p=h.fetchers.get(f);Q.has(f)&&!(p&&p.state==="loading"&&rt.has(f))&&He(f),nt.delete(f),rt.delete(f),Fe.delete(f),Oe.delete(f),h.fetchers.delete(f)}function fo(f){if(u.v7_fetcherPersist){let p=(mt.get(f)||0)-1;p<=0?(mt.delete(f),Oe.add(f)):mt.set(f,p)}else Mt(f);de({fetchers:new Map(h.fetchers)})}function He(f){let p=Q.get(f);O(p,"Expected fetch controller: "+f),p.abort(),Q.delete(f)}function Rn(f){for(let p of f){let y=vn(p),w=Ve(y.data);h.fetchers.set(p,w)}}function gn(){let f=[],p=!1;for(let y of Fe){let w=h.fetchers.get(y);O(w,"Expected fetcher: "+y),w.state==="loading"&&(Fe.delete(y),f.push(y),p=!0)}return Rn(f),p}function wn(f){let p=[];for(let[y,w]of rt)if(w<f){let D=h.fetchers.get(y);O(D,"Expected fetcher: "+y),D.state==="loading"&&(He(y),rt.delete(y),p.push(y))}return Rn(p),p.length>0}function ho(f,p){let y=h.blockers.get(f)||st;return Xe.get(f)!==p&&Xe.set(f,p),y}function En(f){h.blockers.delete(f),Xe.delete(f)}function Tt(f,p){let y=h.blockers.get(f)||st;O(y.state==="unblocked"&&p.state==="blocked"||y.state==="blocked"&&p.state==="blocked"||y.state==="blocked"&&p.state==="proceeding"||y.state==="blocked"&&p.state==="unblocked"||y.state==="proceeding"&&p.state==="unblocked","Invalid blocker state transition: "+y.state+" -> "+p.state);let w=new Map(h.blockers);w.set(f,p),de({blockers:w})}function bn(f){let{currentLocation:p,nextLocation:y,historyAction:w}=f;if(Xe.size===0)return;Xe.size>1&&ut(!1,"A router only supports one blocker at a time");let D=Array.from(Xe.entries()),[I,F]=D[D.length-1],P=h.blockers.get(I);if(!(P&&P.state==="proceeding")&&F({currentLocation:p,nextLocation:y,historyAction:w}))return I}function yr(f){let p=[];return Ye.forEach((y,w)=>{(!f||f(w))&&(y.cancel(),p.push(w),Ye.delete(w))}),p}function mo(f,p,y){if(g=f,R=p,v=y||null,!E&&h.navigation===Rr){E=!0;let w=_n(h.location,h.matches);w!=null&&de({restoreScrollPosition:w})}return()=>{g=null,R=null,v=null}}function Sn(f,p){return v&&v(f,p.map(w=>xr(w,h.loaderData)))||f.key}function po(f,p){if(g&&R){let y=Sn(f,p);g[y]=R()}}function _n(f,p){if(g){let y=Sn(f,p),w=g[y];if(typeof w=="number")return w}return null}function yo(f){o={},l=wr(f,a,void 0,o)}return V={get basename(){return s},get future(){return u},get state(){return h},get routes(){return i},get window(){return t},initialize:ro,subscribe:ao,enableScrollRestoration:mo,navigate:pn,fetch:so,revalidate:oo,createHref:f=>e.history.createHref(f),encodeLocation:f=>e.history.encodeLocation(f),getFetcher:vn,deleteFetcher:fo,dispose:no,getBlocker:ho,deleteBlocker:En,_internalFetchControllers:Q,_internalActiveDeferreds:Ye,_internalSetRoutes:yo},V}function Wo(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function Er(e,t,r,n,a,o,i,l){let s,c;if(i){s=[];for(let d of t)if(s.push(d),d.route.id===i){c=d;break}}else s=t,c=t[t.length-1];let u=Vt(a||".",$t(s,o),ue(e.pathname,r)||e.pathname,l==="path");return a==null&&(u.search=e.search,u.hash=e.hash),(a==null||a===""||a===".")&&c&&c.route.index&&!Cr(u.search)&&(u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index"),n&&r!=="/"&&(u.pathname=u.pathname==="/"?r:Re([r,u.pathname])),ge(u)}function Pn(e,t,r,n){if(!n||!Wo(n))return{path:r};if(n.formMethod&&!oi(n.formMethod))return{path:r,error:ye(405,{method:n.formMethod})};let a=()=>({path:r,error:ye(400,{type:"invalid-body"})}),o=n.formMethod||"get",i=e?o.toUpperCase():o.toLowerCase(),l=Xn(r);if(n.body!==void 0){if(n.formEncType==="text/plain"){if(!Se(i))return a();
1let m=typeof n.body=="string"?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((g,v)=>{let[R,E]=v;return""+g+R+"="+E+`
2`},""):String(n.body);return{path:r,submission:{formMethod:i,formAction:l,formEncType:n.formEncType,formData:void 0,json:void 0,text:m}}}else if(n.formEncType==="application/json"){if(!Se(i))return a();try{let m=typeof n.body=="string"?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:i,formAction:l,formEncType:n.formEncType,formData:void 0,json:m,text:void 0}}}catch{return a()}}}O(typeof FormData=="function","FormData is not available in this environment");let s,c;if(n.formData)s=br(n.formData),c=n.formData;else if(n.body instanceof FormData)s=br(n.body),c=n.body;else if(n.body instanceof URLSearchParams)s=n.body,c=Tn(s);else if(n.body==null)s=new URLSearchParams,c=new FormData;else try{s=new URLSearchParams(n.body),c=Tn(s)}catch{return a()}let u={formMethod:i,formAction:l,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:c,json:void 0,text:void 0};if(Se(u.formMethod))return{path:r,submission:u};let d=se(r);return t&&d.search&&Cr(d.search)&&s.append("index",""),d.search="?"+s,{path:ge(d),submission:u}}function Yo(e,t){let r=e;if(t){let n=e.findIndex(a=>a.route.id===t);n>=0&&(r=e.slice(0,n))}return r}function Fn(e,t,r,n,a,o,i,l,s,c,u,d,m,g,v,R){let E=R?ve(R[1])?R[1].error:R[1].data:void 0,C=e.createURL(t.location),b=e.createURL(a),N=R&&ve(R[1])?R[0]:void 0,L=N?Yo(r,N):r,H=R?R[1].statusCode:void 0,V=i&&H&&H>=400,h=L.filter((M,k)=>{let{route:B}=M;if(B.lazy)return!0;if(B.loader==null)return!1;if(o)return typeof B.loader!="function"||B.loader.hydrate?!0:t.loaderData[B.id]===void 0&&(!t.errors||t.errors[B.id]===void 0);if(Xo(t.loaderData,t.matches[k],M)||s.some(ae=>ae===M.route.id))return!0;let J=t.matches[k],z=M;return On(M,Y({currentUrl:C,currentParams:J.params,nextUrl:b,nextParams:z.params},n,{actionResult:E,unstable_actionStatus:H,defaultShouldRevalidate:V?!1:l||C.pathname+C.search===b.pathname+b.search||C.search!==b.search||Yn(J,z)}))}),A=[];return d.forEach((M,k)=>{if(o||!r.some(be=>be.route.id===M.routeId)||u.has(k))return;let B=le(g,M.path,v);if(!B){A.push({key:k,routeId:M.routeId,path:M.path,matches:null,match:null,controller:null});return}let J=t.fetchers.get(k),z=Sr(B,M.path),ae=!1;m.has(k)?ae=!1:c.includes(k)?ae=!0:J&&J.state!=="idle"&&J.data===void 0?ae=l:ae=On(z,Y({currentUrl:C,currentParams:t.matches[t.matches.length-1].params,nextUrl:b,nextParams:r[r.length-1].params},n,{actionResult:E,unstable_actionStatus:H,defaultShouldRevalidate:V?!1:l})),ae&&A.push({key:k,routeId:M.routeId,path:M.path,matches:B,match:z,controller:new AbortController})}),[h,A]}function Xo(e,t,r){let n=!t||r.route.id!==t.route.id,a=e[r.route.id]===void 0;return n||a}function Yn(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function On(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}async function An(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];O(a,"No route found in manifest");let o={};for(let i in n){let s=a[i]!==void 0&&i!=="hasErrorBoundary";ut(!s,'Route "'+a.id+'" has a static property "'+i+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+i+'" will be ignored.')),!s&&!Eo.has(i)&&(o[i]=n[i])}Object.assign(a,o),Object.assign(a,Y({},t(a),{lazy:void 0}))}function Go(e){return Promise.all(e.matches.map(t=>t.resolve()))}async function Qo(e,t,r,n,a,o,i,l){let s=n.reduce((d,m)=>d.add(m.route.id),new Set),c=new Set,u=await e({matches:a.map(d=>{let m=s.has(d.route.id);return Y({},d,{shouldLoad:m,resolve:v=>(c.add(d.route.id),m?Zo(t,r,d,o,i,v,l):Promise.resolve({type:X.data,result:void 0}))})}),request:r,params:a[0].params,context:l});return a.forEach(d=>O(c.has(d.route.id),'`match.resolve()` was not called for route id "'+d.route.id+'". You must call `match.resolve()` on every match passed to `dataStrategy` to ensure all routes are properly loaded.')),u.filter((d,m)=>s.has(a[m].route.id))}async function Zo(e,t,r,n,a,o,i){let l,s,c=u=>{let d,m=new Promise((R,E)=>d=E);s=()=>d(),t.signal.addEventListener("abort",s);let g=R=>typeof u!="function"?Promise.reject(new Error("You cannot call the handler for a route which defines a boolean "+('"'+e+'" [routeId: '+r.route.id+"]"))):u({request:t,params:r.params,context:i},...R!==void 0?[R]:[]),v;return o?v=o(R=>g(R)):v=(async()=>{try{return{type:"data",result:await g()}}catch(R){return{type:"error",result:R}}})(),Promise.race([v,m])};try{let u=r.route[e];if(r.route.lazy)if(u){let d,[m]=await Promise.all([c(u).catch(g=>{d=g}),An(r.route,a,n)]);if(d!==void 0)throw d;l=m}else if(await An(r.route,a,n),u=r.route[e],u)l=await c(u);else if(e==="action"){let d=new URL(t.url),m=d.pathname+d.search;throw ye(405,{method:t.method,pathname:m,routeId:r.route.id})}else return{type:X.data,result:void 0};else if(u)l=await c(u);else{let d=new URL(t.url),m=d.pathname+d.search;throw ye(404,{pathname:m})}O(l.result!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+r.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(u){return{type:X.error,result:u}}finally{s&&t.signal.removeEventListener("abort",s)}return l}async function qo(e){let{result:t,type:r,status:n}=e;if(Gn(t)){let i;try{let l=t.headers.get("Content-Type");l&&/\bapplication\/json\b/.test(l)?t.body==null?i=null:i=await t.json():i=await t.text()}catch(l){return{type:X.error,error:l}}return r===X.error?{type:X.error,error:new fe(t.status,t.statusText,i),statusCode:t.status,headers:t.headers}:{type:X.data,data:i,statusCode:t.status,headers:t.headers}}if(r===X.error)return{type:X.error,error:t,statusCode:Me(t)?t.status:n};if(ai(t)){var a,o;return{type:X.deferred,deferredData:t,statusCode:(a=t.init)==null?void 0:a.status,headers:((o=t.init)==null?void 0:o.headers)&&new Headers(t.init.headers)}}return{type:X.data,data:t,statusCode:n}}function ei(e,t,r,n,a,o){let i=e.headers.get("Location");if(O(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!Dr.test(i)){let l=n.slice(0,n.findIndex(s=>s.route.id===r)+1);
2i=Er(new URL(t.url),l,a,!0,i,o),e.headers.set("Location",i)}return e}function Mn(e,t,r){if(Dr.test(e)){let n=e,a=n.startsWith("//")?new URL(t.protocol+n):new URL(n),o=ue(a.pathname,r)!=null;if(a.origin===t.origin&&o)return a.pathname+a.search+a.hash}return e}function lt(e,t,r,n){let a=e.createURL(Xn(t)).toString(),o={signal:r};if(n&&Se(n.formMethod)){let{formMethod:i,formEncType:l}=n;o.method=i.toUpperCase(),l==="application/json"?(o.headers=new Headers({"Content-Type":l}),o.body=JSON.stringify(n.json)):l==="text/plain"?o.body=n.text:l==="application/x-www-form-urlencoded"&&n.formData?o.body=br(n.formData):o.body=n.formData}return new Request(a,o)}function br(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function Tn(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function ti(e,t,r,n,a,o){let i={},l=null,s,c=!1,u={},d=n&&ve(n[1])?n[1].error:void 0;return r.forEach((m,g)=>{let v=t[g].route.id;if(O(!Ze(m),"Cannot handle redirect results in processLoaderData"),ve(m)){let R=m.error;if(d!==void 0&&(R=d,d=void 0),l=l||{},o)l[v]=R;else{let E=bt(e,v);l[E.route.id]==null&&(l[E.route.id]=R)}i[v]=void 0,c||(c=!0,s=Me(m.error)?m.error.status:500),m.headers&&(u[v]=m.headers)}else Qe(m)?(a.set(v,m.deferredData),i[v]=m.deferredData.data,m.statusCode!=null&&m.statusCode!==200&&!c&&(s=m.statusCode),m.headers&&(u[v]=m.headers)):(i[v]=m.data,m.statusCode&&m.statusCode!==200&&!c&&(s=m.statusCode),m.headers&&(u[v]=m.headers))}),d!==void 0&&n&&(l={[n[0]]:d},i[n[0]]=void 0),{loaderData:i,errors:l,statusCode:s||200,loaderHeaders:u}}function kn(e,t,r,n,a,o,i,l){let{loaderData:s,errors:c}=ti(t,r,n,a,l,!1);for(let u=0;u<o.length;u++){let{key:d,match:m,controller:g}=o[u];O(i!==void 0&&i[u]!==void 0,"Did not find corresponding fetcher result");let v=i[u];if(!(g&&g.signal.aborted))if(ve(v)){let R=bt(e.matches,m?.route.id);c&&c[R.route.id]||(c=Y({},c,{[R.route.id]:v.error})),e.fetchers.delete(d)}else if(Ze(v))O(!1,"Unhandled fetcher revalidation redirect");else if(Qe(v))O(!1,"Unhandled fetcher deferred data");else{let R=Ve(v.data);e.fetchers.set(d,R)}}return{loaderData:s,errors:c}}function Un(e,t,r,n){let a=Y({},t);for(let o of r){let i=o.route.id;if(t.hasOwnProperty(i)?t[i]!==void 0&&(a[i]=t[i]):e[i]!==void 0&&o.route.loader&&(a[i]=e[i]),n&&n.hasOwnProperty(i))break}return a}function In(e){return e?ve(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function bt(e,t){return(t?e.slice(0,e.findIndex(n=>n.route.id===t)+1):[...e]).reverse().find(n=>n.route.hasErrorBoundary===!0)||e[0]}function jn(e){let t=e.length===1?e[0]:e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function ye(e,t){let{pathname:r,routeId:n,method:a,type:o}=t===void 0?{}:t,i="Unknown Server Error",l="Unknown @remix-run/router error";return e===400?(i="Bad Request",a&&r&&n?l="You made a "+a+' request to "'+r+'" but '+('did not provide a `loader` for route "'+n+'", ')+"so there is no way to handle the request.":o==="defer-action"?l="defer() is not supported in actions":o==="invalid-body"&&(l="Unable to encode submission body")):e===403?(i="Forbidden",l='Route "'+n+'" does not match URL "'+r+'"'):e===404?(i="Not Found",l='No route matches URL "'+r+'"'):e===405&&(i="Method Not Allowed",a&&r&&n?l="You made a "+a.toUpperCase()+' request to "'+r+'" but '+('did not provide an `action` for route "'+n+'", ')+"so there is no way to handle the request.":a&&(l='Invalid request method "'+a.toUpperCase()+'"')),new fe(e||500,i,new Error(l),!0)}function Hn(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(Ze(r))return{result:r,idx:t}}}function Xn(e){let t=typeof e=="string"?se(e):e;return ge(Y({},t,{hash:""}))}function ri(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function ni(e){return Gn(e.result)&&zo.has(e.result.status)}function Qe(e){return e.type===X.deferred}function ve(e){return e.type===X.error}function Ze(e){return(e&&e.type)===X.redirect}function ai(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}function Gn(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function oi(e){return Bo.has(e.toLowerCase())}function Se(e){return $o.has(e.toLowerCase())}async function $n(e,t,r,n,a,o){for(let i=0;i<r.length;i++){let l=r[i],s=t[i];if(!s)continue;let c=e.find(d=>d.route.id===s.route.id),u=c!=null&&!Yn(c,s)&&(o&&o[s.route.id])!==void 0;if(Qe(l)&&(a||u)){let d=n[i];O(d,"Expected an AbortSignal for revalidating fetcher deferred result"),await Qn(l,d,a).then(m=>{m&&(r[i]=m||r[i])})}}}async function Qn(e,t,r){if(r===void 0&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:X.data,data:e.deferredData.unwrappedData}
2}catch(a){return{type:X.error,error:a}}return{type:X.data,data:e.deferredData.data}}}function Cr(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Sr(e,t){let r=typeof t=="string"?se(t).search:t.search;if(e[e.length-1].route.index&&Cr(r||""))return e[e.length-1];let n=Jn(e);return n[n.length-1]}function Vn(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(!(!t||!r||!n)){if(a!=null)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(o!=null)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};if(i!==void 0)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function gr(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function ii(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function Et(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function li(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function Ve(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function si(e,t){try{let r=e.sessionStorage.getItem(Wn);if(r){let n=JSON.parse(r);for(let[a,o]of Object.entries(n||{}))o&&Array.isArray(o)&&t.set(a,new Set(o||[]))}}catch{}}function ui(e,t){if(t.size>0){let r={};for(let[n,a]of t)r[n]=[...a];try{e.sessionStorage.setItem(Wn,JSON.stringify(r))}catch(n){ut(!1,"Failed to save applied view transitions in sessionStorage ("+n+").")}}}var K,Dn,X,Eo,_o,xo,No,Do,Co,Lo,Ln,Re,ko,Uo,Io,Ce,jt,ct,fe,Kn,$o,Vo,Bo,zo,Jo,Rr,Nr,st,Dr,Ko,Wn,rs,Te=Nn(()=>{(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(K||(K={}));Dn="popstate";(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(X||(X={}));Eo=new Set(["lazy","caseSensitive","path","id","index","children"]);_o=/^:[\w-]+$/,xo=3,No=2,Do=1,Co=10,Lo=-2,Ln=e=>e==="*";Re=e=>e.join("/").replace(/\/\/+/g,"/"),ko=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Uo=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Io=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,Ce=class extends Error{},jt=class{constructor(t,r){this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],O(t&&typeof t=="object"&&!Array.isArray(t),"defer() only accepts plain objects");let n;this.abortPromise=new Promise((o,i)=>n=i),this.controller=new AbortController;let a=()=>n(new Ce("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",a),this.controller.signal.addEventListener("abort",a),this.data=Object.entries(t).reduce((o,i)=>{let[l,s]=i;return Object.assign(o,{[l]:this.trackPromise(l,s)})},{}),this.done&&this.unlistenAbortSignal(),this.init=r}trackPromise(t,r){if(!(r instanceof Promise))return r;this.deferredKeys.push(t),this.pendingKeysSet.add(t);let n=Promise.race([r,this.abortPromise]).then(a=>this.onSettle(n,t,void 0,a),a=>this.onSettle(n,t,a));return n.catch(()=>{}),Object.defineProperty(n,"_tracked",{get:()=>!0}),n}onSettle(t,r,n,a){if(this.controller.signal.aborted&&n instanceof Ce)return this.unlistenAbortSignal(),Object.defineProperty(t,"_error",{get:()=>n}),Promise.reject(n);if(this.pendingKeysSet.delete(r),this.done&&this.unlistenAbortSignal(),n===void 0&&a===void 0){let o=new Error('Deferred data for key "'+r+'" resolved/rejected with `undefined`, you must resolve/reject with a value or `null`.');return Object.defineProperty(t,"_error",{get:()=>o}
2),this.emit(!1,r),Promise.reject(o)}return a===void 0?(Object.defineProperty(t,"_error",{get:()=>n}),this.emit(!1,r),Promise.reject(n)):(Object.defineProperty(t,"_data",{get:()=>a}),this.emit(!1,r),a)}emit(t,r){this.subscribers.forEach(n=>n(t,r))}subscribe(t){return this.subscribers.add(t),()=>this.subscribers.delete(t)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach((t,r)=>this.pendingKeysSet.delete(r)),this.emit(!0)}async resolveData(t){let r=!1;if(!this.done){let n=()=>this.cancel();t.addEventListener("abort",n),r=await new Promise(a=>{this.subscribe(o=>{t.removeEventListener("abort",n),(o||this.done)&&a(o)})})}return r}get done(){return this.pendingKeysSet.size===0}get unwrappedData(){return O(this.data!==null&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce((t,r)=>{let[n,a]=r;return Object.assign(t,{[n]:Ho(a)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}};ct=function(t,r){r===void 0&&(r=302);let n=r;typeof n=="number"?n={status:n}:typeof n.status>"u"&&(n.status=302);let a=new Headers(n.headers);return a.set("Location",t),new Response(null,Y({},n,{headers:a}))},fe=class{constructor(t,r,n,a){a===void 0&&(a=!1),this.status=t,this.statusText=r||"",this.internal=a,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};Kn=["post","put","patch","delete"],$o=new Set(Kn),Vo=["get",...Kn],Bo=new Set(Vo),zo=new Set([301,302,303,307,308]),Jo=new Set([307,308]),Rr={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Nr={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},st={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Dr=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ko=e=>({hasErrorBoundary:Boolean(e.hasErrorBoundary)}),Wn="remix-router-transitions";rs=Symbol("deferred")});function _t(){return _t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_t.apply(this,arguments)}function qe(e,t){let{relative:r}=t===void 0?{}:t;et()||O(!1);let{basename:n,navigator:a}=S.useContext(he),{hash:o,pathname:i,search:l}=Je(e,{relative:r}),s=i;return n!=="/"&&(s=i==="/"?n:Re([n,i])),a.createHref({pathname:s,search:l,hash:o})}function et(){return S.useContext(xt)!=null}function oe(){return et()||O(!1),S.useContext(xt).location}function ta(e){S.useContext(he).static||S.useLayoutEffect(e)}function Nt(){let{isDataRoute:e}=S.useContext(Ee);return e?wi():hi()}function hi(){et()||O(!1);let e=S.useContext(ke),{basename:t,future:r,navigator:n}=S.useContext(he),{matches:a}=S.useContext(Ee),{pathname:o}=oe(),i=JSON.stringify($t(a,r.v7_relativeSplatPath)),l=S.useRef(!1);return ta(()=>{l.current=!0}),S.useCallback(function(c,u){if(u===void 0&&(u={}),!l.current)return;if(typeof c=="number"){n.go(c);return}let d=Vt(c,JSON.parse(i),o,u.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:Re([t,d.pathname])),(u.replace?n.replace:n.push)(d,u.state,u)},[t,n,i,o,e])}function Fr(e){let t=S.useContext(Ee).outlet;return t&&S.createElement(mi.Provider,{value:e},t)}function Je(e,t){let{relative:r}=t===void 0?{}:t,{future:n}=S.useContext(he),{matches:a}=S.useContext(Ee),{pathname:o}=oe(),i=JSON.stringify($t(a,n.v7_relativeSplatPath));return S.useMemo(()=>Vt(e,JSON.parse(i),o,r==="path"),[e,i,o,r])}function ra(e,t,r,n){et()||O(!1);let{navigator:a}=S.useContext(he),{matches:o}=S.useContext(Ee),i=o[o.length-1],l=i?i.params:{},s=i?i.pathname:"/",c=i?i.pathnameBase:"/",u=i&&i.route,d=oe(),m;if(t){var g;let b=typeof t=="string"?se(t):t;c==="/"||(g=b.pathname)!=null&&g.startsWith(c)||O(!1),m=b}else m=d;let v=m.pathname||"/",R=v;if(c!=="/"){let b=c.replace(/^\//,"").split("/");R="/"+v.replace(/^\//,"").split("/").slice(b.length).join("/")}let E=le(e,{pathname:R}),C=Ri(E&&E.map(b=>Object.assign({},b,{params:Object.assign({},l,b.params),pathname:Re([c,a.encodeLocation?a.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?c:Re([c,a.encodeLocation?a.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),o,r,n);return t&&C?S.createElement(xt.Provider,{value:{location:_t({pathname:"/",search:"",hash:"",state:null,key:"default"},m),navigationType:K.Pop}},C):C}function pi(){let e=Ct(),t=Me(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=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};return S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application 
2Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},t),r?S.createElement("pre",{style:a},r):null,null)}function vi(e){let{routeContext:t,match:r,children:n}=e,a=S.useContext(ke);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),S.createElement(Ee.Provider,{value:t},n)}function Ri(e,t,r,n){var a;if(t===void 0&&(t=[]),r===void 0&&(r=null),n===void 0&&(n=null),e==null){var o;if((o=r)!=null&&o.errors)e=r.matches;else return null}let i=e,l=(a=r)==null?void 0:a.errors;if(l!=null){let u=i.findIndex(d=>d.route.id&&l?.[d.route.id]!==void 0);u>=0||O(!1),i=i.slice(0,Math.min(i.length,u+1))}let s=!1,c=-1;if(r&&n&&n.v7_partialHydration)for(let u=0;u<i.length;u++){let d=i[u];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(c=u),d.route.id){let{loaderData:m,errors:g}=r,v=d.route.loader&&m[d.route.id]===void 0&&(!g||g[d.route.id]===void 0);if(d.route.lazy||v){s=!0,c>=0?i=i.slice(0,c+1):i=[i[0]];break}}}return i.reduceRight((u,d,m)=>{let g,v=!1,R=null,E=null;r&&(g=l&&d.route.id?l[d.route.id]:void 0,R=d.route.errorElement||yi,s&&(c<0&&m===0?(Ei("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),v=!0,E=null):c===m&&(v=!0,E=d.route.hydrateFallbackElement||null)));let C=t.concat(i.slice(0,m+1)),b=()=>{let N;return g?N=R:v?N=E:d.route.Component?N=S.createElement(d.route.Component,null):d.route.element?N=d.route.element:N=u,S.createElement(vi,{match:d,routeContext:{outlet:u,matches:C,isDataRoute:r!=null},children:N})};return r&&(d.route.ErrorBoundary||d.route.errorElement||m===0)?S.createElement(Lr,{location:r.location,revalidation:r.revalidation,component:R,error:g,children:b(),routeContext:{outlet:null,matches:C,isDataRoute:!0}}):b()},null)}function na(e){let t=S.useContext(ke);return t||O(!1),t}function Dt(e){let t=S.useContext(ze);return t||O(!1),t}function gi(e){let t=S.useContext(Ee);return t||O(!1),t}function Jt(e){let t=gi(e),r=t.matches[t.matches.length-1];return r.route.id||O(!1),r.route.id}function Ar(){return Jt(Le.UseRouteId)}function dt(){return Dt(Le.UseNavigation).navigation}function aa(){let e=na(Or.UseRevalidator),t=Dt(Le.UseRevalidator);return S.useMemo(()=>({revalidate:e.router.revalidate,state:t.revalidation}),[e.router.revalidate,t.revalidation])}function tt(){let{matches:e,loaderData:t}=Dt(Le.UseMatches);return S.useMemo(()=>e.map(r=>xr(r,t)),[e,t])}function Mr(){let e=Dt(Le.UseLoaderData),t=Jt(Le.UseLoaderData);if(e.errors&&e.errors[t]!=null){console.error("You cannot `useLoaderData` in an errorElement (routeId: "+t+")");return}return e.loaderData[t]}function Ct(){var e;let t=S.useContext(ea),r=Dt(Le.UseRouteError),n=Jt(Le.UseRouteError);return t!==void 0?t:(e=r.errors)==null?void 0:e[n]}function Tr(){let e=S.useContext(zt);return e?._data}function Kt(){let e=S.useContext(zt);return e?._error}function wi(){let{router:e}=na(Or.UseNavigateStable),t=Jt(Le.UseNavigateStable),r=S.useRef(!1);return ta(()=>{r.current=!0}),S.useCallback(function(a,o){o===void 0&&(o={}),r.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,_t({fromRouteId:t},o)))},[e,t])}function Ei(e,t,r){!t&&!Zn[e]&&(Zn[e]=!0)}function oa(e){return Fr(e.context)}function kr(e){let{basename:t="/",children:r=null,location:n,navigationType:a=K.Pop,navigator:o,static:i=!1,future:l}=e;et()&&O(!1);let s=t.replace(/^\/*/,"/"),c=S.useMemo(()=>({basename:s,navigator:o,static:i,future:_t({v7_relativeSplatPath:!1},l)}),[s,l,o,i]);typeof n=="string"&&(n=se(n));let{pathname:u="/",search:d="",hash:m="",state:g=null,key:v="default"}=n,R=S.useMemo(()=>{let E=ue(u,s);return E==null?null:{location:{pathname:E,search:d,hash:m,state:g,key:v},navigationType:a}},[s,u,d,m,g,v,a]);return R==null?null:S.createElement(he.Provider,{value:c},S.createElement(xt.Provider,{children:r,value:R}))}function Ur(e){let{children:t,errorElement:r,resolve:n}=e;return S.createElement(Pr,{resolve:n,errorElement:r},S.createElement(_i,null,t))}function _i(e){let{children:t}=e,r=Tr(),n=typeof t=="function"?t(r):t;return S.createElement(S.Fragment,null,n)}function Ir(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:S.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:S.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:S.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}var S,ke,ze,zt,he,xt,Ee,ea,mi,yi,Lr,Or,Le,Zn,bi,ls,we,Si,Pr,Wt=Nn(()=>{S=De(Ae());Te();Te();ke=S.createContext(null),ze=S.createContext(null),zt=S.createContext(null),he=S.createContext(null),xt=S.createContext(null),Ee=S.createContext({outlet:null,matches:[],isDataRoute:!1}),ea=S.createContext(null);mi=S.createContext(null);yi=S.createElement(pi,null),Lr=class extends S.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location||r.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:r.error,location:r.location,revalidation:t.revalidation||r.revalidation}}componentDidCatch(t,r){console.error("React Router caught the following error during render",t,r)}render(){return this.state.error!==void 0?S.createElement(Ee.Provider,{value:this.props.routeContext},S.createElement(ea.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};Or=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Or||{}),Le=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useL
2oaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Le||{});Zn={};bi="startTransition",ls=S[bi];we=function(e){return e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error",e}(we||{}),Si=new Promise(()=>{}),Pr=class extends S.Component{constructor(t){super(t),this.state={error:null}}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,r){console.error("<Await> caught the following error during render",t,r)}render(){let{children:t,errorElement:r,resolve:n}=this.props,a=null,o=we.pending;if(!(n instanceof Promise))o=we.success,a=Promise.resolve(),Object.defineProperty(a,"_tracked",{get:()=>!0}),Object.defineProperty(a,"_data",{get:()=>n});else if(this.state.error){o=we.error;let i=this.state.error;a=Promise.reject().catch(()=>{}),Object.defineProperty(a,"_tracked",{get:()=>!0}),Object.defineProperty(a,"_error",{get:()=>i})}else n._tracked?(a=n,o=a._error!==void 0?we.error:a._data!==void 0?we.success:we.pending):(o=we.pending,Object.defineProperty(n,"_tracked",{get:()=>!0}),a=n.then(i=>Object.defineProperty(n,"_data",{get:()=>i}),i=>Object.defineProperty(n,"_error",{get:()=>i})));if(o===we.error&&a._error instanceof Ce)throw Si;if(o===we.error&&!r)throw a._error;if(o===we.error)return S.createElement(zt.Provider,{value:a,children:r});if(o===we.success)return S.createElement(zt.Provider,{value:a,children:t});throw a}}});var x=De(Ae()),ki=De(Ro());Wt();Wt();Te();function Pe(){return Pe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Pe.apply(this,arguments)}function Br(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,o;for(o=0;o<n.length;o++)a=n[o],!(t.indexOf(a)>=0)&&(r[a]=e[a]);return r}var Gt="get",jr="application/x-www-form-urlencoded";function qt(e){return e!=null&&typeof e.tagName=="string"}function Ui(e){return qt(e)&&e.tagName.toLowerCase()==="button"}function Ii(e){return qt(e)&&e.tagName.toLowerCase()==="form"}function ji(e){return qt(e)&&e.tagName.toLowerCase()==="input"}function Hi(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function $i(e,t){return e.button===0&&(!t||t==="_self")&&!Hi(e)}function Qt(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(a=>[r,a]):[[r,n]])},[]))}function Vi(e,t){let r=Qt(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(o=>{r.append(a,o)})}),r}var Yt=null;function Bi(){if(Yt===null)try{new FormData(document.createElement("form"),0),Yt=!1}catch{Yt=!0}return Yt}var zi=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Hr(e){return e!=null&&!zi.has(e)?null:e}function Ji(e,t){let r,n,a,o,i;if(Ii(e)){let l=e.getAttribute("action");n=l?ue(l,t):null,r=e.getAttribute("method")||Gt,a=Hr(e.getAttribute("enctype"))||jr,o=new FormData(e)}else if(Ui(e)||ji(e)&&(e.type==="submit"||e.type==="image")){let l=e.form;if(l==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||l.getAttribute("action");if(n=s?ue(s,t):null,r=e.getAttribute("formmethod")||l.getAttribute("method")||Gt,a=Hr(e.getAttribute("formenctype"))||Hr(l.getAttribute("enctype"))||jr,o=new FormData(l,e),!Bi()){let{name:c,type:u,value:d}=e;if(u==="image"){let m=c?c+".":"";o.append(m+"x","0"),o.append(m+"y","0")}else c&&o.append(c,d)}}else{if(qt(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=Gt,n=null,a=jr,i=e}return o&&a==="text/plain"&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}var Ki=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],Wi=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],Yi=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","unstable_viewTransition"],Xi="6";try{window.__reactRouterVersion=Xi}catch{}var da=x.createContext({isTransitioning:!1}),fa=x.createContext(new Map),Gi="startTransition",ia=x[Gi],Qi="flushSync",la=ki[Qi],Zi="useId",sa=x[Zi];function qi(e){ia?ia(e):e()}function Lt(e){la?la(e):e()}var $r=class{constructor(){this.status="pending",this.promise=new Promise((t,r)=>{this.resolve=n=>{this.status==="pending"&&(this.status="resolved",t(n))},this.reject=n=>{this.status==="pending"&&(this.status="rejected",r(n))}})}};function ha(e){let{fallbackElement:t,router:r,future:n}=e,[a,o]=x.useState(r.state),[i,l]=x.useState(),[s,c]=x.useState({isTransitioning:!1}
2),[u,d]=x.useState(),[m,g]=x.useState(),[v,R]=x.useState(),E=x.useRef(new Map),{v7_startTransition:C}=n||{},b=x.useCallback(h=>{C?qi(h):h()},[C]),N=x.useCallback((h,A)=>{let{deletedFetchers:M,unstable_flushSync:k,unstable_viewTransitionOpts:B}=A;M.forEach(z=>E.current.delete(z)),h.fetchers.forEach((z,ae)=>{z.data!==void 0&&E.current.set(ae,z.data)});let J=r.window==null||typeof r.window.document.startViewTransition!="function";if(!B||J){k?Lt(()=>o(h)):b(()=>o(h));return}if(k){Lt(()=>{m&&(u&&u.resolve(),m.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:B.currentLocation,nextLocation:B.nextLocation})});let z=r.window.document.startViewTransition(()=>{Lt(()=>o(h))});z.finished.finally(()=>{Lt(()=>{d(void 0),g(void 0),l(void 0),c({isTransitioning:!1})})}),Lt(()=>g(z));return}m?(u&&u.resolve(),m.skipTransition(),R({state:h,currentLocation:B.currentLocation,nextLocation:B.nextLocation})):(l(h),c({isTransitioning:!0,flushSync:!1,currentLocation:B.currentLocation,nextLocation:B.nextLocation}))},[r.window,m,u,E,b]);x.useLayoutEffect(()=>r.subscribe(N),[r,N]),x.useEffect(()=>{s.isTransitioning&&!s.flushSync&&d(new $r)},[s]),x.useEffect(()=>{if(u&&i&&r.window){let h=i,A=u.promise,M=r.window.document.startViewTransition(async()=>{b(()=>o(h)),await A});M.finished.finally(()=>{d(void 0),g(void 0),l(void 0),c({isTransitioning:!1})}),g(M)}},[b,i,u,r.window]),x.useEffect(()=>{u&&i&&a.location.key===i.location.key&&u.resolve()},[u,m,a.location,i]),x.useEffect(()=>{!s.isTransitioning&&v&&(l(v.state),c({isTransitioning:!0,flushSync:!1,currentLocation:v.currentLocation,nextLocation:v.nextLocation}),R(void 0))},[s.isTransitioning,v]),x.useEffect(()=>{},[]);let L=x.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:h=>r.navigate(h),push:(h,A,M)=>r.navigate(h,{state:A,preventScrollReset:M?.preventScrollReset}),replace:(h,A,M)=>r.navigate(h,{replace:!0,state:A,preventScrollReset:M?.preventScrollReset})}),[r]),H=r.basename||"/",V=x.useMemo(()=>({router:r,navigator:L,static:!1,basename:H}),[r,L,H]);return x.createElement(x.Fragment,null,x.createElement(ke.Provider,{value:V},x.createElement(ze.Provider,{value:a},x.createElement(fa.Provider,{value:E.current},x.createElement(da.Provider,{value:s},x.createElement(kr,{basename:H,location:a.location,navigationType:a.historyAction,navigator:L,future:{v7_relativeSplatPath:r.future.v7_relativeSplatPath}},a.initialized||r.future.v7_partialHydration?x.createElement(el,{routes:r.routes,future:r.future,state:a}):t))))),null)}function el(e){let{routes:t,future:r,state:n}=e;return ra(t,void 0,n,r)}var tl=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",rl=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,zr=x.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:o,replace:i,state:l,target:s,to:c,preventScrollReset:u,unstable_viewTransition:d}=t,m=Br(t,Ki),{basename:g}=x.useContext(he),v,R=!1;if(typeof c=="string"&&rl.test(c)&&(v=c,tl))try{let N=new URL(window.location.href),L=c.startsWith("//")?new URL(N.protocol+c):new URL(c),H=ue(L.pathname,g);L.origin===N.origin&&H!=null?c=H+L.search+L.hash:R=!0}catch{}let E=qe(c,{relative:a}),C=va(c,{replace:i,state:l,target:s,preventScrollReset:u,relative:a,unstable_viewTransition:d});function b(N){n&&n(N),N.defaultPrevented||C(N)}return x.createElement("a",Pe({},m,{href:v||E,onClick:R||o?n:b,ref:r,target:s}))}),ma=x.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:a=!1,className:o="",end:i=!1,style:l,to:s,unstable_viewTransition:c,children:u}=t,d=Br(t,Wi),m=Je(s,{relative:d.relative}),g=oe(),v=x.useContext(ze),{navigator:R,basename:E}=x.useContext(he),C=v!=null&&ba(m)&&c===!0,b=R.encodeLocation?R.encodeLocation(m).pathname:m.pathname,N=g.pathname,L=v&&v.navigation&&v.navigation.location?v.navigation.location.pathname:null;a||(N=N.toLowerCase(),L=L?L.toLowerCase():null,b=b.toLowerCase()),L&&E&&(L=ue(L,E)||L);let H=b!=="/"&&b.endsWith("/")?b.length-1:b.length,V=N===b||!i&&N.startsWith(b)&&N.charAt(H)==="/",h=L!=null&&(L===b||!i&&L.startsWith(b)&&L.charAt(b.length)==="/"),A={isActive:V,isPending:h,isTransitioning:C},M=V?n:void 0,k;
2typeof o=="function"?k=o(A):k=[o,V?"active":null,h?"pending":null,C?"transitioning":null].filter(Boolean).join(" ");let B=typeof l=="function"?l(A):l;return x.createElement(zr,Pe({},d,{"aria-current":M,className:k,ref:r,style:B,to:s,unstable_viewTransition:c}),typeof u=="function"?u(A):u)}),pa=x.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:a,replace:o,state:i,method:l=Gt,action:s,onSubmit:c,relative:u,preventScrollReset:d,unstable_viewTransition:m}=e,g=Br(e,Yi),v=Jr(),R=ga(s,{relative:u}),E=l.toLowerCase()==="get"?"get":"post";return x.createElement("form",Pe({ref:t,method:E,action:R,onSubmit:a?c:b=>{if(c&&c(b),b.defaultPrevented)return;b.preventDefault();let N=b.nativeEvent.submitter,L=N?.getAttribute("formmethod")||l;v(N||b.currentTarget,{fetcherKey:r,method:L,navigate:n,replace:o,state:i,relative:u,preventScrollReset:d,unstable_viewTransition:m})}},g))});var ft;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(ft||(ft={}));var Zt;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Zt||(Zt={}));function er(e){let t=x.useContext(ke);return t||O(!1),t}function ya(e){let t=x.useContext(ze);return t||O(!1),t}function va(e,t){let{target:r,replace:n,state:a,preventScrollReset:o,relative:i,unstable_viewTransition:l}=t===void 0?{}:t,s=Nt(),c=oe(),u=Je(e,{relative:i});return x.useCallback(d=>{if($i(d,r)){d.preventDefault();let m=n!==void 0?n:ge(c)===ge(u);s(e,{replace:m,state:a,preventScrollReset:o,relative:i,unstable_viewTransition:l})}},[c,s,u,n,a,r,e,o,i,l])}function nl(e){let t=x.useRef(Qt(e)),r=x.useRef(!1),n=oe(),a=x.useMemo(()=>Vi(n.search,r.current?null:t.current),[n.search]),o=Nt(),i=x.useCallback((l,s)=>{let c=Qt(typeof l=="function"?l(a):l);r.current=!0,o("?"+c,s)},[o,a]);return[a,i]}function al(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}var ol=0,Ra=()=>"__"+String(++ol)+"__";function Jr(){let{router:e}
2=er(ft.UseSubmit),{basename:t}=x.useContext(he),r=Ar();return x.useCallback(function(n,a){a===void 0&&(a={}),al();let{action:o,method:i,encType:l,formData:s,body:c}=Ji(n,t);if(a.navigate===!1){let u=a.fetcherKey||Ra();e.fetch(u,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:c,formMethod:a.method||i,formEncType:a.encType||l,unstable_flushSync:a.unstable_flushSync})}else e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:c,formMethod:a.method||i,formEncType:a.encType||l,replace:a.replace,state:a.state,fromRouteId:r,unstable_flushSync:a.unstable_flushSync,unstable_viewTransition:a.unstable_viewTransition})},[e,t,r])}function ga(e,t){let{relative:r}=t===void 0?{}:t,{basename:n}=x.useContext(he),a=x.useContext(Ee);a||O(!1);let[o]=a.matches.slice(-1),i=Pe({},Je(e||".",{relative:r})),l=oe();if(e==null){i.search=l.search;let s=new URLSearchParams(i.search);s.has("index")&&s.get("index")===""&&(s.delete("index"),i.search=s.toString()?"?"+s.toString():"")}return(!e||e===".")&&o.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(i.pathname=i.pathname==="/"?n:Re([n,i.pathname])),ge(i)}function wa(e){var t;let{key:r}=e===void 0?{}:e,{router:n}=er(ft.UseFetcher),a=ya(Zt.UseFetcher),o=x.useContext(fa),i=x.useContext(Ee),l=(t=i.matches[i.matches.length-1])==null?void 0:t.route.id;o||O(!1),i||O(!1),l==null&&O(!1);let s=sa?sa():"",[c,u]=x.useState(r||s);r&&r!==c?u(r):c||u(Ra()),x.useEffect(()=>(n.getFetcher(c),()=>{n.deleteFetcher(c)}),[n,c]);let d=x.useCallback((b,N)=>{l||O(!1),n.fetch(c,l,b,N)},[c,l,n]),m=Jr(),g=x.useCallback((b,N)=>{m(b,Pe({},N,{navigate:!1,fetcherKey:c}))},[c,m]),v=x.useMemo(()=>x.forwardRef((N,L)=>x.createElement(pa,Pe({},N,{navigate:!1,fetcherKey:c,ref:L}))),[c]),R=a.fetchers.get(c)||Nr,E=o.get(c);return x.useMemo(()=>Pe({Form:v,submit:g,load:d},R,{data:E}),[v,g,d,R,E])}var ua="react-router-scroll-positions",Xt={};function Ea(e){let{getKey:t,storageKey:r}=e===void 0?{}:e,{router:n}=er(ft.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:o}=ya(Zt.UseScrollRestoration),{basename:i}=x.useContext(he),l=oe(),s=tt(),c=dt();x.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),il(x.useCallback(()=>{if(c.state==="idle"){let u=(t?t(l,s):null)||l.key;Xt[u]=window.scrollY}try{sessionStorage.setItem(r||ua,JSON.stringify(Xt))}catch{}window.history.scrollRestoration="auto"},[r,t,c.state,l,s])),typeof document<"u"&&(x.useLayoutEffect(()=>{try{let u=sessionStorage.getItem(r||ua);u&&(Xt=JSON.parse(u))}catch{}},[r]),x.useLayoutEffect(()=>{let u=t&&i!=="/"?(m,g)=>t(Pe({},m,{pathname:ue(m.pathname,i)||m.pathname}),g):t,d=n?.enableScrollRestoration(Xt,()=>window.scrollY,u);return()=>d&&d()},[n,i,t]),x.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}if(l.hash){let u=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(u){u.scrollIntoView();return}}o!==!0&&window.scrollTo(0,0)}},[l,a,o]))}function il(e,t){let{capture:r}=t||{};x.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,r])}function ba(e,t){t===void 0&&(t={});let r=x.useContext(da);r==null&&O(!1);let{basename:n}=er(ft.useViewTransitionState),a=Je(e,{relative:t.relative});if(!r.isTransitioning)return!1;let o=ue(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=ue(r.nextLocation.pathname,n)||r.nextLocation.pathname;return Be(a.pathname,i)!=null||Be(a.pathname,o)!=null}Te();var ne=De(Ae());Wt();function G(){return G=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},G.apply(this,arguments)}var _=De(Ae());function me(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}async function tr(e,t){if(e.id in t)return t[e.id];try{let r=await import(e.module);return t[e.id]=r,r}catch{return window.__remixContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Sa(e,t,r){let n=e.map(o=>{var i;let l=t[o.route.id],s=r.routes[o.route.id];return[s.css?s.css.map(c=>({rel:"stylesheet",href:c})):[],(l==null||(i=l.links)===null||i===void 0?void 0:i.call(l))||[]]}).flat(2),a=ul(e,r);return Da(n,a)}async function Kr(e,t){var r,n;
2if(!e.css&&!t.links||!dl())return;let a=[((r=e.css)===null||r===void 0?void 0:r.map(l=>({rel:"stylesheet",href:l})))??[],((n=t.links)===null||n===void 0?void 0:n.call(t))??[]].flat(1);if(a.length===0)return;let o=[];for(let l of a)!nr(l)&&l.rel==="stylesheet"&&o.push({...l,rel:"preload",as:"style"});let i=o.filter(l=>(!l.media||window.matchMedia(l.media).matches)&&!document.querySelector(`link[rel="stylesheet"][href="${l.href}"]`));await Promise.all(i.map(ll))}async function ll(e){return new Promise(t=>{let r=document.createElement("link");Object.assign(r,e);function n(){document.head.contains(r)&&document.head.removeChild(r)}r.onload=()=>{n(),t()},r.onerror=()=>{n(),t()},document.head.appendChild(r)})}function nr(e){return e!=null&&typeof e.page=="string"}function sl(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 _a(e,t,r){let n=await Promise.all(e.map(async a=>{let o=await tr(t.routes[a.route.id],r);return o.links?o.links():[]}));return Da(n.flat(1).filter(sl).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function Wr(e,t,r,n,a,o){let i=Ca(e),l=(u,d)=>r[d]?u.route.id!==r[d].route.id:!0,s=(u,d)=>{var m;return r[d].pathname!==u.pathname||((m=r[d].route.path)===null||m===void 0?void 0:m.endsWith("*"))&&r[d].params["*"]!==u.params["*"]};return o==="data"&&a.search!==i.search?t.filter((u,d)=>{if(!n.routes[u.route.id].hasLoader)return!1;if(l(u,d)||s(u,d))return!0;if(u.route.shouldRevalidate){var g;let v=u.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:((g=r[0])===null||g===void 0?void 0:g.params)||{},nextUrl:new URL(e,window.origin),nextParams:u.params,defaultShouldRevalidate:!0});if(typeof v=="boolean")return v}return!0}):t.filter((u,d)=>{let m=n.routes[u.route.id];return(o==="assets"||m.hasLoader)&&(l(u,d)||s(u,d))})}function xa(e,t,r){let n=Ca(e);return Yr(t.filter(a=>r.routes[a.route.id].hasLoader).map(a=>{let{pathname:o,search:i}=n,l=new URLSearchParams(i);return l.set("_data",a.route.id),`${o}?${l}`}))}function Na(e,t){return Yr(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function ul(e,t){return Yr(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function Yr(e){return[...new Set(e)]}function cl(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function Da(e,t){let r=new Set,n=new Set(t);return e.reduce((a,o)=>{if(t&&!nr(o)&&o.as==="script"&&o.href&&n.has(o.href))return a;let l=JSON.stringify(cl(o));return r.has(l)||(r.add(l),a.push({key:l,link:o})),a},[])}function Ca(e){let t=se(e);return t.search===void 0&&(t.search=""),t}var rr;function dl(){if(rr!==void 0)return rr;let e=document.createElement("link");return rr=e.relList.supports("preload"),e=null,rr}var fl={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},hl=/[&><\u2028\u2029]/g;function Pt(e){return e.replace(hl,t=>fl[t])}function Xr(e){return{__html:e}}var nn=De(Ae());Te();var ml=-1,pl=-2,yl=-4,vl=-5,Rl=-3,gl=-1,wl="B",El="D",La="E",bl="M",Sl="N",Pa="P",_l="R",xl="S",Nl="Y",Dl="U",Fa=class{promise;resolve;reject;
2constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function Cl(){let e=new TextDecoder,t="";return new TransformStream({transform(r,n){let a=e.decode(r,{stream:!0}),o=(t+a).split(`
3`);t=o.pop()||"";for(let i of o)n.enqueue(i)},flush(r){t&&r.enqueue(t)}})}var xs=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Gr=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function Qr(e){let{hydrated:t,values:r}=this;if(typeof e=="number")return _e.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;let n=r.length;return r.push(...e),t.length=r.length,_e.call(this,n)}function _e(e){let{hydrated:t,values:r,deferred:n,plugins:a}=this;switch(e){case gl:return;case pl:return NaN;case Rl:return 1/0;case yl:return-1/0;case vl:return-0}if(t[e])return t[e];let o=r[e];if(!o||typeof o!="object")return t[e]=o;if(Array.isArray(o))if(typeof o[0]=="string"){let[i,l,s]=o;switch(i){case El:return t[e]=new Date(l);case Dl:return t[e]=new URL(l);case wl:return t[e]=BigInt(l);case _l:return t[e]=new RegExp(l,s);case Nl:return t[e]=Symbol.for(l);case xl:let c=new Set;t[e]=c;for(let R=1;R<o.length;R++)c.add(_e.call(this,o[R]));return c;case bl:let u=new Map;t[e]=u;for(let R=1;R<o.length;R+=2)u.set(_e.call(this,o[R]),_e.call(this,o[R+1]));return u;case Sl:let d=Object.create(null);t[e]=d;for(let R in l)d[_e.call(this,Number(R))]=_e.call(this,l[R]);return d;case Pa:if(t[l])return t[e]=t[l];{let R=new Fa;return n[l]=R,t[e]=R.promise}case La:let[,m,g]=o,v=g&&Gr&&Gr[g]?new Gr[g](m):new Error(m);return t[e]=v,v;default:if(Array.isArray(a)){let R=o.slice(1).map(E=>_e.call(this,E));for(let E of a){let C=E(o[0],...R);if(C)return t[e]=C.value}}throw new SyntaxError}}else{let i=[];t[e]=i;for(let l=0;l<o.length;l++){let s=o[l];s!==ml&&(i[l]=_e.call(this,s))}return i}else{let i={};t[e]=i;for(let l in o)i[_e.call(this,Number(l))]=_e.call(this,o[l]);return i}}async function Oa(e,t){let{plugins:r}=t??{},n=new Fa,a=e.pipeThrough(Cl()).getReader(),o={values:[],hydrated:[],deferred:{},plugins:r},i=await Ll.call(o,a),l=n.promise;return i.done?n.resolve():l=Pl.call(o,a).then(n.resolve).catch(s=>{for(let c of Object.values(o.deferred))c.reject(s);n.reject(s)}),{done:l.then(()=>a.closed),value:i.value}}async function Ll(e){let t=await e.read();if(!t.value)throw new SyntaxError;let r;try{r=JSON.parse(t.value)}catch{throw new SyntaxError}return{done:t.done,value:Qr.call(this,r)}}async function Pl(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;let r=t.value;switch(r[0]){case Pa:{let n=r.indexOf(":"),a=Number(r.slice(1,n)),o=this.deferred[a];if(!o)throw new Error(`Deferred ID ${a} not found in stream`);let i=r.slice(n+1),l;try{l=JSON.parse(i)}catch{throw new SyntaxError}let s=Qr.call(this,l);o.resolve(s);break}case La:{let n=r.indexOf(":"),a=Number(r.slice(1,n)),o=this.deferred[a];if(!o)throw new Error(`Deferred ID ${a} not found in stream`);let i=r.slice(n+1),l;try{l=JSON.parse(i)}catch{throw new SyntaxError}let s=Qr.call(this,l);o.reject(s);break}default:throw new SyntaxError}t=await e.read()}}var ar=Symbol("SingleFetchRedirect"),Cs=Symbol("ResponseStubAction");Te();function Ma(e){return e.headers.get("X-Remix-Catch")!=null}function Fl(e){return e.headers.get("X-Remix-Error")!=null}function Ol(e){return Zr(e)&&e.status>=400&&e.headers.get("X-Remix-Error")==null&&e.headers.get("X-Remix-Catch")==null&&e.headers.get("X-Remix-Response")==null}function Ta(e){return e.headers.get("X-Remix-Redirect")!=null}function ka(e){var t;return!!((t=e.headers.get("Content-Type"))!==null&&t!==void 0&&t.match(/text\/remix-deferred/))}function Zr(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Ua(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}async function qr(e,t,r=0){let n=new URL(e.url);n.searchParams.set("_data",t),r>0&&await new Promise(l=>setTimeout(l,5**r*10));let a=await en(e),o=window.__remixRevalidation,i=await fetch(n.href,a).catch(l=>{if(typeof o=="number"&&o===window.__remixRevalidation&&l?.name==="TypeError"&&r<3)return qr(e,t,r+1);throw l});if(Fl(i)){let l=await i.json(),s=new Error(l.message);return s.stack=l.stack,s}if(Ol(i)){let l=await i.text(),s=new Error(l);return s.stack=void 0,s}return i}async function en(e){let t={signal:e.signal};if(e.method!=="GET"){t.method=e.method;let r=e.headers.get("Content-Type");r&&/\bapplication\/json\b/.test(r)?(t.headers={"Content-Type":r},t.body=JSON.stringify(await e.json())):r&&/\btext\/plain\b/.test(r)?(t.headers={"Content-Type":r},t.body=await e.text()):r&&/\bapplication\/x-www-form-urlencoded\b/.test(r)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}var Al="__deferred_promise:";async function Ia(e){if(!e)throw new Error("parseDeferredReadableStream requires stream argument");let t,r={};try{let n=Ml(e),o=(await n.next()).value;if(!o)throw new Error("no critical data");let i=JSON.parse(o);if(typeof i=="object"&&i!==null)for(let[l,s]of Object.entries(i))typeof s!="str
3ing"||!s.startsWith(Al)||(t=t||{},t[l]=new Promise((c,u)=>{r[l]={resolve:d=>{c(d),delete r[l]},reject:d=>{u(d),delete r[l]}}}));return(async()=>{try{for await(let l of n){let[s,...c]=l.split(":"),u=c.join(":"),d=JSON.parse(u);if(s==="data")for(let[m,g]of Object.entries(d))r[m]&&r[m].resolve(g);else if(s==="error")for(let[m,g]of Object.entries(d)){let v=new Error(g.message);v.stack=g.stack,r[m]&&r[m].reject(v)}}for(let[l,s]of Object.entries(r))s.reject(new Ce(`Deferred ${l} will never be resolved`))}catch(l){for(let s of Object.values(r))s.reject(l)}})(),new jt({...i,...t})}catch(n){for(let a of Object.values(r))a.reject(n);throw n}}async function*Ml(e){let t=e.getReader(),r=[],n=[],a=!1,o=new TextEncoder,i=new TextDecoder,l=async()=>{if(n.length>0)return n.shift();for(;!a&&n.length===0;){let c=await t.read();if(c.done){a=!0;break}r.push(c.value);try{let d=i.decode(Aa(...r)).split(`
4
5`);if(d.length>=2&&(n.push(...d.slice(0,-1)),r=[o.encode(d.slice(-1).join(`
6
7`))]),n.length>0)break}catch{continue}}return n.length>0||r.length>0&&(n=i.decode(Aa(...r)).split(`
8
9`).filter(u=>u),r=[]),n.shift()},s=await l();for(;s;)yield s,s=await l()}function Aa(...e){let t=new Uint8Array(e.reduce((n,a)=>n+a.length,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}function Ha(e,t){return async({request:r,matches:n})=>r.method!=="GET"?Tl(r,n):kl(e,t,r,n)}function Tl(e,t){return Promise.all(t.map(async r=>{let n;return{...await r.resolve(async o=>({type:"data",result:await o(async()=>{let l=or(e.url),s=await en(e),{data:c,status:u}=await tn(l,s);return n=u,rn(c,r.route.id)}),status:n})),status:n}}))}function kl(e,t,r,n){let a;return Promise.all(n.map(async o=>o.resolve(async i=>{let l,s=Ul(or(r.url));return e.routes[o.route.id].hasClientLoader?l=await i(async()=>{s.searchParams.set("_routes",o.route.id);let{data:c}=await tn(s);return ja(c,o.route.id)}):l=await i(async()=>{a||(s=an(e,t,n.map(u=>u.route),n.filter(u=>u.shouldLoad).map(u=>u.route),s),a=tn(s).then(({data:u})=>u));let c=await a;return ja(c,o.route.id)}),{type:"data",result:l}})))}function Ul(e){let t=e.searchParams.getAll("index");e.searchParams.delete("index");let r=[];for(let n of t)n&&r.push(n);for(let n of r)e.searchParams.append("index",n);return e}function an(e,t,r,n,a){let o=c=>c.filter(u=>e.routes[u].hasLoader).join(",");if(!r.some(c=>{var u,d;return((u=t[c.id])===null||u===void 0?void 0:u.shouldRevalidate)||((d=e.routes[c.id])===null||d===void 0?void 0:d.hasClientLoader)}))return a;let l=o(r.map(c=>c.id)),s=o(n.filter(c=>{var u;return!((u=e.routes[c.id])!==null&&u!==void 0&&u.hasClientLoader)}).map(c=>c.id));return l!==s&&a.searchParams.set("_routes",s),a}function or(e){let t=typeof e=="string"?new URL(e,window.location.origin):e;return t.pathname=`${t.pathname==="/"?"_root":t.pathname}.data`,t}async function tn(e,t){let r=await fetch(e,t);me(r.body,"No response body to decode");try{let n=await on(r.body,window);return{status:r.status,data:n.value}}catch(n){throw console.error(n),new Error(`Unable to decode turbo-stream response from URL: ${e.toString()}`)}}function on(e,t){return Oa(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,o,i]=n,l=Error;a&&a in t&&typeof t[a]=="function"&&(l=t[a]);let s=new l(o);return s.stack=i,{value:s}}if(r==="ErrorResponse"){let[a,o,i]=n;return{value:new fe(o,i,a)}}if(r==="SingleFetchRedirect")return{value:{[ar]:n[0]}}}]})}function ja(e,t){let r=e[ar];return r?rn(r,t):e[t]!==void 0?rn(e[t],t):null}function rn(e,t){if("error"in e)throw e.error;if("redirect"in e){let r={};return e.revalidate&&(r["X-Remix-Revalidate"]="yes"),e.reload&&(r["X-Remix-Reload-Document"]="yes"),ct(e.redirect,{status:e.status,headers:r})}else{if("data"in e)return e.data;throw new Error(`No response found for routeId "${t}"`)}}function Va(){let e=_.useContext(ke);return me(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function lr(){let e=_.useContext(ze);return me(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Ot=_.createContext(void 0);Ot.displayName="Remix";function Ue(){let e=_.useContext(Ot);return me(e,"You must render this element inside a <Remix> element"),e}function Ba(e,t){let[r,n]=_.useState(!1),[a,o]=_.useState(!1),{onFocus:i,onBlur:l,onMouseEnter:s,onMouseLeave:c,onTouchStart:u}=t,d=_.useRef(null);_.useEffect(()=>{if(e==="render"&&o(!0),e==="viewport"){let v=E=>
9{E.forEach(C=>{o(C.isIntersecting)})},R=new IntersectionObserver(v,{threshold:.5});return d.current&&R.observe(d.current),()=>{R.disconnect()}}},[e]);let m=()=>{e==="intent"&&n(!0)},g=()=>{e==="intent"&&(n(!1),o(!1))};return _.useEffect(()=>{if(r){let v=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(v)}}},[r]),[a,d,{onFocus:Ft(i,m),onBlur:Ft(l,g),onMouseEnter:Ft(s,m),onMouseLeave:Ft(c,g),onTouchStart:Ft(u,m)}]}var za=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ja=_.forwardRef(({to:e,prefetch:t="none",...r},n)=>{let a=typeof e=="string"&&za.test(e),o=qe(e),[i,l,s]=Ba(t,r);return _.createElement(_.Fragment,null,_.createElement(ma,G({},r,s,{ref:Ya(n,l),to:e})),i&&!a?_.createElement(sr,{page:o}):null)});Ja.displayName="NavLink";var Ka=_.forwardRef(({to:e,prefetch:t="none",...r},n)=>{let a=typeof e=="string"&&za.test(e),o=qe(e),[i,l,s]=Ba(t,r);return _.createElement(_.Fragment,null,_.createElement(zr,G({},r,s,{ref:Ya(n,l),to:e})),i&&!a?_.createElement(sr,{page:o}):null)});Ka.displayName="Link";function Ft(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function ln(e,t,r){if(r&&!ir)return[e[0]];if(t){let n=e.findIndex(a=>t[a.route.id]!==void 0);return e.slice(0,n+1)}return e}function Il(){let{isSpaMode:e,manifest:t,routeModules:r,criticalCss:n}=Ue(),{errors:a,matches:o}=lr(),i=ln(o,a,e),l=_.useMemo(()=>Sa(i,r,t),[i,r,t]);return _.createElement(_.Fragment,null,n?_.createElement("style",{dangerouslySetInnerHTML:{__html:n}}):null,l.map(({key:s,link:c})=>nr(c)?_.createElement(sr,G({key:s},c)):_.createElement("link",G({key:s},c))))}function sr({page:e,...t}){let{router:r}=Va(),n=_.useMemo(()=>le(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?_.createElement(Hl,G({page:e,matches:n},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function jl(e){let{manifest:t,routeModules:r}=Ue(),[n,a]=_.useState([]);return _.useEffect(()=>{let o=!1;return _a(e,t,r).then(i=>{o||a(i)}),()=>{o=!0}},[e,t,r]),n}function Hl({page:e,matches:t,...r}){let n=oe(),{future:a,manifest:o,routeModules:i}=Ue(),{matches:l}=lr(),s=_.useMemo(()=>Wr(e,t,l,o,n,"data"),[e,t,l,o,n]),c=_.useMemo(()=>Wr(e,t,l,o,n,"assets"),[e,t,l,o,n]),u=_.useMemo(()=>xa(e,s,o),[s,e,o]),d=_.useMemo(()=>Na(c,o),[c,o]),m=jl(c),g=null;if(!a.unstable_singleFetch)g=u.map(v=>_.createElement("link",G({key:v,rel:"prefetch",as:"fetch",href:v},r)));else if(s.length>0){let v=an(o,i,t.map(R=>R.route),s.map(R=>R.route),or(e));v.searchParams.get("_routes")!==""&&(g=_.createElement("link",G({key:v.pathname+v.search,rel:"prefetch",as:"fetch",href:v.pathname+v.search},r)))}return _.createElement(_.Fragment,null,g,d.map(v=>_.createElement("link",G({key:v,rel:"modulepreload",href:v},r))),m.map(({key:v,link:R})=>_.createElement("link",G({key:v},R))))}function $l(){let{isSpaMode:e,routeModules:t}=Ue(),{errors:r,matches:n,loaderData:a}=lr(),o=oe(),i=ln(n,r,e),l=null;r&&(l=r[i[i.length-1].route.id]);let s=[],c=null,u=[];for(let d=0;d<i.length;d++){let m=i[d],g=m.route.id,v=a[g],R=m.params,E=t[g],C=[],b={id:g,data:v,meta:[],params:m.params,pathname:m.pathname,handle:m.route.handle,error:l};if(u[d]=b,E!=null&&E.meta?C=typeof E.meta=="function"?E.meta({data:v,params:R,location:o,matches:u,error:l}):Array.isArray(E.meta)?[...E.meta]:E.meta:c&&(C=[...c]),C=C||[],!Array.isArray(C))throw new Error("The route at "+m.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
10
11To reference the meta function API, see https://remix.run/route/meta`);b.meta=C,u[d]=b,s=[...C],c=s}return _.createElement(_.Fragment,null,s.flat().map(d=>{if(!d)return null;if("tagName"in d){let{tagName:m,...g}=d;return Vl(m)?_.createElement(m,G({key:JSON.stringify(g)},g)):(console.warn(`A meta object uses an invalid tagName: ${m}. Expected either 'link' or 'meta'`),null)}if("title"in d)return _.createElement("title",{key:"title"},String(d.title));if("charset"in d&&(d.charSet??=d.charset,delete d.charset),"charSet"in d&&d.charSet!=null)return typeof d.charSet=="string"?_.createElement("meta",{key:"charSet",charSet:d.charSet}):null;if("script:ld+json"in d)try{let m=JSON.stringify(d["script:ld+json"]);return _.createElement("script",{key:`script:ld+json:${m}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:m}})}catch{return null}return _.createElement("meta",G({key:JSON.stringify(d)},d))}))}function Vl(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function Wa(e){return _.createElement(Ur,e)}var ir=!1;function sn(e){let{manifest:t,serverHandoffString:r,abortDelay:n,serializeError:a,isSpaMode:o,future:i,renderMeta:l}=Ue(),{router:s,static:c,staticContext:u}=Va(),{matches:d}=lr(),m=dt();l&&(l.didRenderScripts=!0);let g=ln(d,null,o);_.useEffect(()=>{ir=!0},[]);let v=(h,A)=>{let M;return a&&A instanceof Error?M=a(A):M=A,`${JSON.stringify(h)}:__remixContext.p(!1, ${Pt(JSON.stringify(M))})`},R=(h,A,M)=>{let k;try{k=JSON.stringify(M)}catch(B){return v(A,B)}return`${JSON.stringify(A)}:__remixContext.p(${Pt(k)})`},E=(h,A,M)=>{let k;return a&&M instanceof Error?k=a(M):k=M,`__remixContext.r(${JSON.stringify(h)}, ${JSON.stringify(A)}, !1, ${Pt(JSON.stringify(k))})`},C=(h,A,M)=>{let k;try{k=JSON.stringify(M)}catch(B){return E(h,A,B)}return`__remixContext.r(${JSON.stringify(h)}, ${JSON.stringify(A)}, ${Pt(k)})`},b=[],N=_.useMemo(()=>{var h;let A=i.unstable_singleFetch?"window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}
11).pipeThrough(new TextEncoderStream());":"",M=u?`window.__remixContext = ${r};${A}`:" ",k=i.unstable_singleFetch?void 0:u?.activeDeferreds;M+=k?["__remixContext.p = function(v,e,p,x) {","  if (typeof e !== 'undefined') {",`    x=new Error("Unexpected Server Error");
12    x.stack=undefined;`,"    p=Promise.reject(x);","  } else {","    p=Promise.resolve(v);","  }","  return p;","};","__remixContext.n = function(i,k) {","  __remixContext.t = __remixContext.t || {};","  __remixContext.t[i] = __remixContext.t[i] || {};","  let p = new Promise((r, e) => {__remixContext.t[i][k] = {r:(v)=>{r(v);},e:(v)=>{e(v);}};});",typeof n=="number"?`setTimeout(() => {if(typeof p._error !== "undefined" || typeof p._data !== "undefined"){return;} __remixContext.t[i][k].e(new Error("Server timeout."))}, ${n});`:"","  return p;","};","__remixContext.r = function(i,k,v,e,p,x) {","  p = __remixContext.t[i][k];","  if (typeof e !== 'undefined') {",`    x=new Error("Unexpected Server Error");
13    x.stack=undefined;`,"    p.e(x);","  } else {","    p.r(v);","  }","};"].join(`
14`)+Object.entries(k).map(([J,z])=>{let ae=new Set(z.pendingKeys),be=z.deferredKeys.map(ce=>{if(ae.has(ce))return b.push(_.createElement($a,{key:`${J} | ${ce}`,deferredData:z,routeId:J,dataKey:ce,scriptProps:e,serializeData:C,serializeError:E})),`${JSON.stringify(ce)}:__remixContext.n(${JSON.stringify(J)}, ${JSON.stringify(ce)})`;{let Ie=z.data[ce];return typeof Ie._error<"u"?v(ce,Ie._error):R(J,ce,Ie._data)}}).join(`,
15`);return`Object.assign(__remixContext.state.loaderData[${JSON.stringify(J)}], {${be}});`}).join(`
16`)+(b.length>0?`__remixContext.a=${b.length};`:""):"";let B=c?`${(h=t.hmr)!==null&&h!==void 0&&h.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}import ${JSON.stringify(t.url)};
17${g.map((J,z)=>`import * as route${z} from ${JSON.stringify(t.routes[J.route.id].module)};`).join(`
18`)}
19window.__remixRouteModules = {${g.map((J,z)=>`${JSON.stringify(J.route.id)}:route${z}`).join(",")}};
20
21import(${JSON.stringify(t.entry.module)});`:" ";return _.createElement(_.Fragment,null,_.createElement("script",G({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Xr(M),type:void 0})),_.createElement("script",G({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Xr(B),type:"module",async:!0})))},[]);if(!c&&typeof __remixContext=="object"&&__remixContext.a)for(let h=0;h<__remixContext.a;h++)b.push(_.createElement($a,{key:h,scriptProps:e,serializeData:C,serializeError:E}));let L=_.useMemo(()=>{if(m.location){let h=le(s.routes,m.location,s.basename);return me(h,`No routes match path "${m.location.pathname}"`),h}return[]},[m.location,s.routes,s.basename]),H=g.concat(L).map(h=>{let A=t.routes[h.route.id];return(A.imports||[]).concat([A.module])}).flat(1),V=ir?[]:t.entry.imports.concat(H);return ir?null:_.createElement(_.Fragment,null,_.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),_.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),zl(V).map(h=>_.createElement("link",{key:h,rel:"modulepreload",href:h,crossOrigin:e.crossOrigin})),N,b)}function $a({dataKey:e,deferredData:t,routeId:r,scriptProps:n,serializeData:a,serializeError:o}){return typeof document>"u"&&t&&e&&r&&me(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e} was not pending but tried to render a script for it.`),_.createElement(_.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:_.createElement("script",G({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&t&&e&&r?_.createElement(Wa,{resolve:t.data[e],errorElement:_.createElement(Bl,{dataKey:e,routeId:r,scriptProps:n,serializeError:o}),children:i=>_.createElement("script",G({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(r,e,i)}}))}):_.createElement("script",G({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function Bl({dataKey:e,routeId:t,scriptProps:r,serializeError:n}){let a=Kt();return _.createElement("script",G({},r,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:n(t,e,a)}}))}function zl(e){return[...new Set(e)]}function Jl(){return tt()}function Kl(){return Mr()}function Wl(e={}){return wa(e)}var Yl=()=>null;function Ya(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}var q=De(Ae());var ur=class extends q.Component{constructor(t){super(t),this.state={error:t.error||null,location:t.location}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location?{error:t.error||null,location:t.location}:{error:t.error||r.error,location:r.location}}render(){return this.state.error?q.createElement(un,{error:this.state.error}):this.props.children}};function un({error:e}){console.error(e);let t=q.createElement("script",{dangerouslySetInnerHTML:{__html:`
22        console.log(
23          "\u{1F4BF} Hey developer \u{1F44B}. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information."
24        );
25      `}});if(Me(e))return q.createElement(cr,{title:"Unhandled Thrown Response!"},q.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),t);let r;if(e instanceof Error)r=e;else{let n=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);r=new Error(n)}
25return q.createElement(cr,{title:"Application Error!"},q.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),q.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},r.stack),t)}function cr({title:e,renderScripts:t,children:r}){var n;let{routeModules:a}=Ue();return(n=a.root)!==null&&n!==void 0&&n.Layout?r:q.createElement("html",{lang:"en"},q.createElement("head",null,q.createElement("meta",{charSet:"utf-8"}),q.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),q.createElement("title",null,e)),q.createElement("body",null,q.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},r,t?q.createElement(sn,null):null)))}Te();function Xa(e){if(!e)return null;let t=Object.entries(e),r={};for(let[n,a]of t)if(a&&a.__type==="RouteErrorResponse")r[n]=new fe(a.status,a.statusText,a.data,a.internal===!0);else if(a&&a.__type==="Error"){if(a.__subType){let o=window[a.__subType];if(typeof o=="function")try{let i=new o(a.message);i.stack=a.stack,r[n]=i}catch{}}if(r[n]==null){let o=new Error(a.message);o.stack=a.stack,r[n]=o}}else r[n]=a;return r}var Ke=De(Ae());Te();var cn=De(Ae());function Ga(){return cn.createElement(cr,{title:"Loading...",renderScripts:!0},cn.createElement("script",{dangerouslySetInnerHTML:{__html:`
26              console.log(
27                "\u{1F4BF} Hey developer \u{1F44B}. You can provide a way better UX than this " +
28                "when your app is running \`clientLoader\` functions on hydration. " +
29                "Check out https://remix.run/route/hydrate-fallback for more information."
30              );
31            `}}))}function Za(e){let t={};return Object.values(e).forEach(r=>{let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}),t}function Xl(e,t,r){let n=eo(t),a=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?Ga:void 0,o=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>Ke.createElement(un,{error:Ct()}):void 0;return e.id==="root"&&t.Layout?{...n?{element:Ke.createElement(t.Layout,null,Ke.createElement(n,null))}:{Component:n},...o?{errorElement:Ke.createElement(t.Layout,null,Ke.createElement(o,null))}:{ErrorBoundary:o},...a?{hydrateFallbackElement:Ke.createElement(t.Layout,null,Ke.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:o,HydrateFallback:a}}function qa(e,t,r,n,a,o){return fr(t,r,n,a,o,"",Za(t),e)}function dr(e,t,r){if(r){let i=`You cannot call ${e==="action"?"serverAction()":"serverLoader()"} in SPA Mode (routeId: "${t.id}")`;throw console.error(i),new fe(400,"Bad Request",new Error(i),!0)}let a=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${t.id}")`;if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction)throw console.error(a),new fe(400,"Bad Request",new Error(a),!0)}function dn(e,t){let r=e==="clientAction"?"a":"an",n=`Route "${t}" does not have ${r} ${e}, but you are trying to submit to it. To fix this, please add ${r} \`${e}\` function to the route`;throw console.error(n),new fe(405,"Method Not Allowed",new Error(n),!0)}function fr(e,t,r,n,a,o="",i=Za(e),l){return(i[o]||[]).map(s=>{let c=t[s.id];async function u(N,L,H){if(typeof H=="function")return await H();let V=await Ql(N,s);return L?Zl(V):V}function d(N,L,H){return s.hasLoader?u(N,L,H):Promise.resolve(null)}function m(N,L,H){if(!s.hasAction)throw dn("action",s.id);return u(N,L,H)}async function g(N){let L=t[s.id],H=L?Kr(s,L):Promise.resolve();try{return N()}finally{await H}}let v={id:s.id,index:s.index,path:s.path};if(c){var R,E,C;Object.assign(v,{...v,...Xl(s,c,a),handle:c.handle,shouldRevalidate:l?Qa(s.id,c.shouldRevalidate,l):c.shouldRevalidate});let N=r==null||(R=r.loaderData)===null||R===void 0?void 0:R[s.id],L=r==null||(E=r.errors)===null||E===void 0?void 0:E[s.id],H=l==null&&(((C=c.clientLoader)===null||C===void 0?void 0:C.hydrate)===!0||!s.hasLoader);v.loader=async({request:V,params:h},A)=>{try{return await g(async()=>(me(c,"No `routeModule` available for critical-route loader"),c.clientLoader?c.clientLoader({request:V,params:h,async serverLoader(){if
31(dr("loader",s,a),H){if(L!==void 0)throw L;return N}return d(V,!0,A)}}):a?null:d(V,!1,A)))}finally{H=!1}},v.loader.hydrate=fn(s,c,a),v.action=({request:V,params:h},A)=>g(async()=>{if(me(c,"No `routeModule` available for critical-route action"),!c.clientAction){if(a)throw dn("clientAction",s.id);return m(V,!1,A)}return c.clientAction({request:V,params:h,async serverAction(){return dr("action",s,a),m(V,!0,A)}})})}else s.hasClientLoader||(v.loader=({request:N},L)=>g(()=>a?Promise.resolve(null):d(N,!1,L))),s.hasClientAction||(v.action=({request:N},L)=>g(()=>{if(a)throw dn("clientAction",s.id);return m(N,!1,L)})),v.lazy=async()=>{let N=await Gl(s,t),L={...N};if(N.clientLoader){let H=N.clientLoader;L.loader=(V,h)=>H({...V,async serverLoader(){return dr("loader",s,a),d(V.request,!0,h)}})}if(N.clientAction){let H=N.clientAction;L.action=(V,h)=>H({...V,async serverAction(){return dr("action",s,a),m(V.request,!0,h)}})}return l&&(L.shouldRevalidate=Qa(s.id,N.shouldRevalidate,l)),{...L.loader?{loader:L.loader}:{},...L.action?{action:L.action}:{},hasErrorBoundary:L.hasErrorBoundary,shouldRevalidate:L.shouldRevalidate,handle:L.handle,Component:L.Component,ErrorBoundary:L.ErrorBoundary}};let b=fr(e,t,r,n,a,s.id,i,l);return b.length>0&&(v.children=b),v})}function Qa(e,t,r){let n=!1;return a=>n?t?t(a):a.defaultShouldRevalidate:(n=!0,r.has(e))}async function Gl(e,t){let r=await tr(e,t);return await Kr(e,r),{Component:eo(r),ErrorBoundary:r.ErrorBoundary,clientAction:r.clientAction,clientLoader:r.clientLoader,handle:r.handle,links:r.links,meta:r.meta,shouldRevalidate:r.shouldRevalidate}}async function Ql(e,t){let r=await qr(e,t.id);if(r instanceof Error)throw r;if(Ta(r))throw ql(r);if(Ma(r))throw r;return ka(r)&&r.body?await Ia(r.body):r}function Zl(e){if(Ua(e))return e.data;if(Zr(e)){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.json():e.text()}return e}function ql(e){let t=parseInt(e.headers.get("X-Remix-Status"),10)||302,r=e.headers.get("X-Remix-Redirect"),n={},a=e.headers.get("X-Remix-Revalidate");a&&(n["X-Remix-Revalidate"]=a);let o=e.headers.get("X-Remix-Reload-Document");return o&&(n["X-Remix-Reload-Document"]=o),ct(r,{status:t,headers:n})}function eo(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function fn(e,t,r){return r&&e.id!=="root"||t.clientLoader!=null&&(t.clientLoader.hydrate===!0||e.hasLoader!==!0)}var We,xe,hn=!1;var mn,Ru=new Promise(e=>{mn=e}).catch(()=>{});function es(e){if(!xe){let o=window.__remixContext.url,i=window.location.pathname;if(o!==i&&!window.__remixContext.isSpaMode){let c=`Initial URL (${o}) does not match URL at time of hydration (${i}), reloading page...`;return console.error(c),window.location.reload(),ne.createElement(ne.Fragment,null)}if(window.__remixContext.future.unstable_singleFetch){if(!We){let c=window.__remixContext.stream;me(c,"No stream found for single fetch decoding"),window.__remixContext.stream=void 0,We=on(c,window).then(u=>{window.__remixContext.state=u.value,We.value=!0}).catch(u=>{We.error=u})}if(We.error)throw We.error;if(!We.value)throw We}let l=fr(window.__remixManifest.routes,window.__remixRouteModules,window.__remixContext.state,window.__remixContext.future,window.__remixContext.isSpaMode),s;if(!window.__remixContext.isSpaMode){s={...window.__remixContext.state,loaderData:{...window.__remixContext.state.loaderData}};let c=le(l,window.location);if(c)for(let u of c){let d=u.route.id,m=window.__remixRouteModules[d],g=window.__remixManifest.routes[d];m&&fn(g,m,window.__remixContext.isSpaMode)&&(m.HydrateFallback||!g.hasLoader)?s.loaderData[d]=void 0:g&&!g.hasLoader&&(s.loaderData[d]=null)}s&&s.errors&&(s.errors=Xa(s.errors))}xe=Bt({routes:l,history:_r(),basename:window.__remixContext.basename,future:{v7_normalizeFormMethod:!0,v7_fetcherPersist:window.__remixContext.future.v3_fetcherPersist,v7_partialHydration:!0,v7_prependBasename:!0,v7_relativeSplatPath:window.__remixContext.future.v3_relativeSplatPath,unstable_skipActionErrorRevalidation:window.__remixContext.future.unstable_singleFetch===!0},hydrationData:s,mapRouteProperties:Ir,unstable_dataStrategy:window.__remixContext.future.unstable_singleFetch?Ha(window.__remixManifest,window.__remixRouteModules):void 0}),xe.state.initialized&&(hn=!0,xe.initialize()),xe.createRoutesForHMR=qa,window.__remixRouter=xe,mn&&mn(xe)}let[t,r]=ne.useState(void 0),[n,a]=ne.useState(xe.state.location);return ne.useLayoutEffect(()=>{hn||(hn=!0,xe.initialize())},[]),ne.useLayoutEffect(()=>xe.subscribe(o=>{o.location!==n&&a(o.location)}),[n]),ne.createElement(ne.Fragment,null,ne.createElement(Ot.Provider,{value:{manifest:window.__remixManifest,routeModules:window.__remixRouteModules,future:window.__remixContext.future,criticalCss:t,isSpaMode:window.__remixContext.isSpaMode}},ne.createElement(ur,{location:n},ne.createElement(ha,{router:xe,fallbackElement:null,future:{v7_startTransition:!0}}))),window.__remixContext.future.unstable_singleFetch?ne.createElement(ne.Fragment,null):null)}var hr=De(Ae());var to="positions";function ts({getKey:e,...t}
31){let{isSpaMode:r}=Ue(),n=oe(),a=tt();Ea({getKey:e,storageKey:to});let o=hr.useMemo(()=>{if(!e)return null;let l=e(n,a);return l!==n.key?l:null},[]);if(r)return null;let i=((l,s)=>{if(!window.history.state||!window.history.state.key){let c=Math.random().toString(32).slice(2);window.history.replaceState({key:c},"")}try{let u=JSON.parse(sessionStorage.getItem(l)||"{}")[s||window.history.state.key];typeof u=="number"&&window.scrollTo(0,u)}catch(c){console.error(c),sessionStorage.removeItem(l)}}).toString();return hr.createElement("script",G({},t,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${i})(${JSON.stringify(to)}, ${JSON.stringify(o)})`}}))}export{Me as a,oe as b,Nt as c,aa as d,Ct as e,oa as f,pa as g,nl as h,Jr as i,Ja as j,Ka as k,Il as l,$l as m,sn as n,Jl as o,Kl as p,Wl as q,Yl as r,es as s,ts as t};
32/*! Bundled license information:
33
34@remix-run/router/dist/router.js:
35  (**
36   * @remix-run/router v1.16.0
37   *
38   * Copyright (c) Remix Software Inc.
39   *
40   * This source code is licensed under the MIT license found in the
41   * LICENSE.md file in the root directory of this source tree.
42   *
43   * @license MIT
44   *)
45
46react-router/dist/index.js:
47  (**
48   * React Router v6.23.0
49   *
50   * Copyright (c) Remix Software Inc.
51   *
52   * This source code is licensed under the MIT license found in the
53   * LICENSE.md file in the root directory of this source tree.
54   *
55   * @license MIT
56   *)
57
58react-router-dom/dist/index.js:
59  (**
60   * React Router DOM v6.23.0
61   *
62   * Copyright (c) Remix Software Inc.
63   *
64   * This source code is licensed under the MIT license found in the
65   * LICENSE.md file in the root directory of this source tree.
66   *
67   * @license MIT
68   *)
69
70@remix-run/react/dist/esm/_virtual/_rollupPluginBabelHelpers.js:
71  (**
72   * @remix-run/react v2.9.1
73   *
74   * Copyright (c) Remix Software Inc.
75   *
76   * This source code is licensed under the MIT license found in the
77   * LICENSE.md file in the root directory of this source tree.
78   *
79   * @license MIT
80   *)
81
82@remix-run/react/dist/esm/invariant.js:
83  (**
84   * @remix-run/react v2.9.1
85   *
86   * Copyright (c) Remix Software Inc.
87   *
88   * This source code is licensed under the MIT license found in the
89   * LICENSE.md file in the root directory of this source tree.
90   *
91   * @license MIT
92   *)
93
94@remix-run/react/dist/esm/routeModules.js:
95  (**
96   * @remix-run/react v2.9.1
97   *
98   * Copyright (c) Remix Software Inc.
99   *
100   * This source code is licensed under the MIT license found in the
101   * LICENSE.md file in the root directory of this source tree.
102   *
103   * @license MIT
104   *)
105
106@remix-run/react/dist/esm/links.js:
107  (**
108   * @remix-run/react v2.9.1
109   *
110   * Copyright (c) Remix Software Inc.
111   *
112   * This source code is licensed under the MIT license found in the
113   * LICENSE.md file in the root directory of this source tree.
114   *
115   * @license MIT
116   *)
117
118@remix-run/react/dist/esm/markup.js:
119  (**
120   * @remix-run/react v2.9.1
121   *
122   * Copyright (c) Remix Software Inc.
123   *
124   * This source code is licensed under the MIT license found in the
125   * LICENSE.md file in the root directory of this source tree.
126   *
127   * @license MIT
128   *)
129
130@remix-run/server-runtime/dist/esm/single-fetch.js:
131  (**
132   * @remix-run/server-runtime v2.9.1
133   *
134   * Copyright (c) Remix Software Inc.
135   *
136   * This source code is licensed under the MIT license found in the
137   * LICENSE.md file in the root directory of this source tree.
138   *
139   * @license MIT
140   *)
141
142@remix-run/server-runtime/dist/esm/index.js:
143  (**
144   * @remix-run/server-runtime v2.9.1
145   *
146   * Copyright (c) Remix Software Inc.
147   *
148   * This source code is licensed under the MIT license found in the
149   * LICENSE.md file in the root directory of this source tree.
150   *
151   * @license MIT
152   *)
153
154@remix-run/react/dist/esm/data.js:
155  (**
156   * @remix-run/react v2.9.1
157   *
158   * Copyright (c) Remix Software Inc.
159   *
160   * This source code is licensed under the MIT license found in the
161   * LICENSE.md file in the root directory of this source tree.
162   *
163   * @license MIT
164   *)
165
166@remix-run/react/dist/esm/single-fetch.js:
167  (**
168   * @remix-run/react v2.9.1
169   *
170   * Copyright (c) Remix Software Inc.
171   *
172   * This source code is licensed under the MIT license found in the
173   * LICENSE.md file in the root directory of this source tree.
174   *
175   * @license MIT
176   *)
177
178@remix-run/react/dist/esm/components.js:
179  (**
180   * @remix-run/react v2.9.1
181   *
182   * Copyright (c) Remix Software Inc.
183   *
184   * This source code is licensed under the MIT license found in the
185   * LICENSE.md file in the root directory of this source tree.
186   *
187   * @license MIT
188   *)
189
190@remix-run/react/dist/esm/errorBoundaries.js:
191  (**
192   * @remix-run/react v2.9.1
193   *
194   * Copyright (c) Remix Software Inc.
195   *
196   * This source code is licensed under the MIT license found in the
197   * LICENSE.md file in the root directory of this source tree.
198   *
199   * @license MIT
200   *)
201
202@remix-run/react/dist/esm/errors.js:
203  (**
204   * @remix-run/react v2.9.1
205   *
206   * Copyright (c) Remix Software Inc.
207   *
208   * This source code is licensed under the MIT license found in the
209   * LICENSE.md file in the root directory of this source tree.
210   *
211   * @license MIT
212   *)
213
214@remix-run/react/dist/esm/fallback.js:
215  (**
216   * @remix-run/react v2.9.1
217   *
218   * Copyright (c) Remix Software Inc.
219   *
220   * This source code is licensed under the MIT license found in the
221   * LICENSE.md file in the root directory of this source tree.
222   *
223   * @license MIT
224   *)
225
226@remix-run/react/dist/esm/routes.js:
227  (**
228   * @remix-run/react v2.9.1
229   *
230   * Copyright (c) Remix Software Inc.
231   *
232   * This source code is licensed under the MIT license found in the
233   * LICENSE.md file in the root directory of this source tree.
234   *
235   * @license MIT
236   *)
237
238@remix-run/react/dist/esm/browser.js:
239  (**
240   * @remix-run/react v2.9.1
241   *
242   * Copyright (c) Remix Software Inc.
243   *
244   * This source code is licensed under the MIT license found in the
245   * LICENSE.md file in the root directory of this source tree.
246   *
247   * @license MIT
248   *)
249
250@remix-run/react/dist/esm/scroll-restoration.js:
251  (**
252   * @remix-run/react v2.9.1
253   *
254   * Copyright (c) Remix Software Inc.
255   *
256   * This source code is licensed under the MIT license found in the
257   * LICENSE.md file in the root directory of this source tree.
258   *
259   * @license MIT
260   *)
261
262@remix-run/react/dist/esm/index.js:
263  (**
264   * @remix-run/react v2.9.1
265   *
266   * Copyright (c) Remix Software Inc.
267   *
268   * This source code is licensed under the MIT license found in the
269   * LICENSE.md file in the root directory of this source tree.
270   *
271   * @license MIT
272   *)
273*/

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.