PageSourceSearch

https://www.maestro.io/static/js/app.565cd10.js

js maestro.io collected 2026-09-24 18:23:54 UTC 72,009 bytes, 11 lines download raw bytes

1(function(){try{var _e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},A=new _e.Error().stack;A&&(_e._sentryDebugIds=_e._sentryDebugIds||{},_e._sentryDebugIds[A]="a066d5cb-6746-4126-bffa-6af772581de4",_e._sentryDebugIdIdentifier="sentry-dbid-a066d5cb-6746-4126-bffa-6af772581de4")}catch{}})();var _global=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};_global.SENTRY_RELEASE={id:"6b3b5bcd49ac3ca4e22832378da81add8169a867"},(self.webpackChunk_maestro_io_client=self.webpackChunk_maestro_io_client||[]).push([[5301],{117200:(_e,A,le)=>{"use strict";var he=le(80247);/**
2 * @remix-run/router v1.23.4
3 *
4 * Copyright (c) Remix Software Inc.
5 *
6 * This source code is licensed under the MIT license found in the
7 * LICENSE.md file in the root directory of this source tree.
8 *
9 * @license MIT
10 */Object.defineProperty(A,"__esModule",{value:!0});function I(){return I=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},I.apply(null,arguments)}let G=function(e){return e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE",e}({});const Ce="popstate";function Ne(e){e===void 0&&(e={});let{initialEntries:t=["/"],initialIndex:r,v5Compat:n=!1}=e,a;a=t.map((h,w)=>b(h,typeof h=="string"?null:h.state,w===0?"default":void 0));let s=c(r??a.length-1),o=G.Pop,f=null;function c(h){return Math.min(Math.max(h,0),a.length-1)}function p(){return a[s]}function b(h,w,E){w===void 0&&(w=null);let x=q(a?p().pathname:"/",h,w,E);return V(x.pathname.charAt(0)==="/","relative pathnames are not supported in memory history: "+JSON.stringify(h)),x}function y(h){return typeof h=="string"?h:ee(h)}return{get index(){return s},get action(){return o},get location(){return p()},createHref:y,createURL(h){return new URL(y(h),"http://localhost")},encodeLocation(h){let w=typeof h=="string"?K(h):h;return{pathname:w.pathname||"",search:w.search||"",hash:w.hash||""}},push(h,w){o=G.Push;let E=b(h,w);s+=1,a.splice(s,a.length,E),n&&f&&f({action:o,location:E,delta:1})},replace(h,w){o=G.Replace;let E=b(h,w);a[s]=E,n&&f&&f({action:o,location:E,delta:0})},go(h){o=G.Pop;let w=c(s+h),E=a[w];s=w,f&&f({action:o,location:E,delta:h})},listen(h){return f=h,()=>{f=null}}}}function Se(e){e===void 0&&(e={});function t(n,a){let{pathname:s,search:o,hash:f}=n.location;return q("",{pathname:s,search:o,hash:f},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:ee(a)}return de(t,r,null,e)}function Q(e){e===void 0&&(e={});function t(a,s){let{pathname:o="/",search:f="",hash:c=""}=K(a.location.hash.substr(1));return!o.startsWith("/")&&!o.startsWith(".")&&(o="/"+o),q("",{pathname:o,search:f,hash:c},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function r(a,s){let o=a.document.querySelector("base"),f="";if(o&&o.getAttribute("href")){let c=a.location.href,p=c.indexOf("#");f=p===-1?c:c.slice(0,p)}return f+"#"+(typeof s=="string"?s:ee(s))}function n(a,s){V(a.pathname.charAt(0)==="/","relative pathnames are not supported in hash history.push("+JSON.stringify(s)+")")}return de(t,r,n,e)}function S(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function V(e,t){if(!e){typeof he<"u"&&he.warn(t);try{throw new Error(t)}catch{}}}function ae(){return Math.random().toString(36).substr(2,8)}function pe(e,t){return{usr:e.state,key:e.key,idx:t}}function q(e,t,r,n){return r===void 0&&(r=null),I({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?K(t):t,{state:r,key:t&&t.key||n||ae()})}function ee(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 K(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 de(e,t,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:s=!1}=n,o=a.history,f=G.Pop,c=null,p=b();p==null&&(p=0,o.replaceState(I({},o.state,{idx:p}),""));function b(){return(o.state||{idx:null}).idx}function y(){f=G.Pop;let x=b(),k=x==null?null:x-p;p=x,c&&c({action:f,location:E.location,delta:k})}function P(x,k){f=G.Push;let O=q(E.location,x,k);r&&r(O,x),p=b()+1;let N=pe(O,p),_=E.createHref(O);try{o.pushState(N,"",_)}catch(Z){if(Z instanceof DOMException&&Z.name==="DataCloneError")throw Z;a.location.assign(_)}s&&c&&c({action:f,location:E.location,delta:1})}function h(x,k){f=G.Replace;let O=q(E.location,x,k);r&&r(O,x),p=b();let N=pe(O,p),_=E.createHref(O);o.replaceState(N,"",_),s&&c&&c({action:f,location:E.location,delta:0})}function w(x){let k=a.location.origin!=="null"?a.location.origin:a.location.href,O=typeof x=="str
10ing"?x:ee(x);return O=O.replace(/ $/,"%20"),S(k,"No window.location.(origin|href) available to create URL for href: "+O),new URL(O,k)}let E={get action(){return f},get location(){return e(a,o)},listen(x){if(c)throw new Error("A history only accepts one active listener");return a.addEventListener(Ce,y),c=x,()=>{a.removeEventListener(Ce,y),c=null}},createHref(x){return t(a,x)},createURL:w,encodeLocation(x){let k=w(x);return{pathname:k.pathname,search:k.search,hash:k.hash}},push:P,replace:h,go(x){return o.go(x)}};return E}let z=function(e){return e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error",e}({});const be=new Set(["lazy","caseSensitive","path","id","index","children"]);function Be(e){return e.index===!0}function me(e,t,r,n){return r===void 0&&(r=[]),n===void 0&&(n={}),e.map((a,s)=>{let o=[...r,String(s)],f=typeof a.id=="string"?a.id:o.join("-");if(S(a.index!==!0||!a.children,"Cannot specify children on an index route"),S(!n[f],'Found a route id collision on id "'+f+`".  Route id's must be globally unique within Data Router usages`),Be(a)){let c=I({},a,t(a),{id:f});return n[f]=c,c}else{let c=I({},a,t(a),{id:f,children:void 0});return n[f]=c,a.children&&(c.children=me(a.children,t,o,n)),c}})}function we(e,t,r){return r===void 0&&(r="/"),Ae(e,t,r,!1)}function Ae(e,t,r,n){let a=typeof t=="string"?K(t):t,s=Ke(a.pathname||"/",r);if(s==null)return null;let o=je(e);ot(o);let f=null,c=bt(s);for(let p=0;f==null&&p<o.length;++p)f=ce(o[p],c,n);return f}function We(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 je(e,t,r,n){t===void 0&&(t=[]),r===void 0&&(r=[]),n===void 0&&(n="");let a=(s,o,f)=>{let c={relativePath:f===void 0?s.path||"":f,caseSensitive:s.caseSensitive===!0,childrenIndex:o,route:s};c.relativePath.startsWith("/")&&(S(c.relativePath.startsWith(n),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(n.length));let p=st([n,c.relativePath]),b=r.concat(c);s.children&&s.children.length>0&&(S(s.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+p+'".')),je(s.children,t,b,p)),!(s.path==null&&!s.index)&&t.push({path:p,score:j(p,s.index),routesMeta:b})};return e.forEach((s,o)=>{var f;if(s.path===""||!((f=s.path)!=null&&f.includes("?")))a(s,o);else for(let c of ke(s.path))a(s,o,c)}),t}function ke(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),s=r.replace(/\?$/,"");if(n.length===0)return a?[s,""]:[s];let o=ke(n.join("/")),f=[];return f.push(...o.map(c=>c===""?s:[s,c].join("/"))),a&&f.push(...o),f.map(c=>e.startsWith("/")&&c===""?"/":c)}function ot(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:B(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const lt=/^:[\w-]+$/,Fe=3,Qe=2,gt=1,v=10,g=-2,D=e=>e==="*";function j(e,t){let r=e.split("/"),n=r.length;return r.some(D)&&(n+=g),t&&(n+=Qe),r.filter(a=>!D(a)).reduce((a,s)=>a+(lt.test(s)?Fe:s===""?gt:v),n)}function B(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 ce(e,t,r){r===void 0&&(r=!1);let{routesMeta:n}=e,a={},s="/",o=[];for(let f=0;f<n.length;++f){let c=n[f],p=f===n.length-1,b=s==="/"?t:t.slice(s.length)||"/",y=Pe({path:c.relativePath,caseSensitive:c.caseSensitive,end:p},b),P=c.route;if(!y&&p&&r&&!n[n.length-1].route.index&&(y=Pe({path:c.relativePath,caseSensitive:c.caseSensitive,end:!1},b)),!y)return null;
10Object.assign(a,y.params),o.push({params:a,pathname:st([s,y.pathname]),pathnameBase:dr(st([s,y.pathnameBase])),route:P}),y.pathnameBase!=="/"&&(s=st([s,y.pathnameBase]))}return o}function Ee(e,t){t===void 0&&(t={});let r=e;r.endsWith("*")&&r!=="*"&&!r.endsWith("/*")&&(V(!1,'Route path "'+r+'" will be treated as if it were '+('"'+r.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+r.replace(/\*$/,"/*")+'".')),r=r.replace(/\*$/,"/*"));const n=r.startsWith("/")?"/":"",a=o=>o==null?"":typeof o=="string"?o:String(o),s=r.split(/\/+/).map((o,f,c)=>{if(f===c.length-1&&o==="*")return a(t["*"]);const b=o.match(/^:([\w-]+)(\??)$/);if(b){const[,y,P]=b;let h=t[y];return S(P==="?"||h!=null,'Missing ":'+y+'" param'),a(h)}return o.replace(/\?$/g,"")}).filter(o=>!!o);return n+s.join("/")}function Pe(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=Te(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let s=a[0],o=s.replace(/(.)\/+$/,"$1"),f=a.slice(1);return{params:n.reduce((p,b,y)=>{let{paramName:P,isOptional:h}=b;if(P==="*"){let E=f[y]||"";o=s.slice(0,s.length-E.length).replace(/(.)\/+$/,"$1")}const w=f[y];return h&&!w?p[P]=void 0:p[P]=(w||"").replace(/%2F/g,"/"),p},{}),pathname:s,pathnameBase:o,pattern:e}}function Te(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),V(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,(o,f,c)=>(n.push({paramName:f,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function bt(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return V(!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 Ke(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 ir(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?K(e):e,s;return r?(r=Wt(r),r.startsWith("/")?s=or(r.substring(1),"/"):s=or(r,t)):s=t,{pathname:s,search:Qr(n),hash:Zr(a)}}function or(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 Bt(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 lr(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function sr(e,t){let r=lr(e);return t?r.map((n,a)=>a===r.length-1?n.pathname:n.pathnameBase):r.map(n=>n.pathnameBase)}function ur(e,t,r,n){n===void 0&&(n=!1);let a;typeof e=="string"?a=K(e):(a=I({},e),S(!a.pathname||!a.pathname.includes("?"),Bt("?","pathname","search",a)),S(!a.pathname||!a.pathname.includes("#"),Bt("#","pathname","hash",a)),S(!a.search||!a.search.includes("#"),Bt("#","search","hash",a)));let s=e===""||a.pathname==="",o=s?"/":a.pathname,f;if(o==null)f=r;else{let y=t.length-1;if(!n&&o.startsWith("..")){let P=o.split("/");for(;P[0]==="..";)P.shift(),y-=1;a.pathname=P.join("/")}f=y>=0?t[y]:"/"}let c=ir(a,f),p=o&&o!=="/"&&o.endsWith("/"),b=(s||o===".")&&r.endsWith("/");return!c.pathname.endsWith("/")&&(p||b)&&(c.pathname+="/"),c}function Xr(e){return e===""||e.pathname===""?"/":typeof e=="string"?K(e).pathname:e.pathname}const Wt=e=>e.replace(/\/\/+/g,"/"),st=e=>Wt(e.join("/")),dr=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Qr=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Zr=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,qr=function(t,r){r===void 0&&(r={});let n=typeof r=="number"?{status:r}:r,a=new Headers(n.headers);return a.has("Content-Type")||a.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(t),I({},n,{headers:a}))};class en{constructor(t,r){this.type="DataWithResponseInit",this.data=t,this.init=r||null}}function tn(e,t){return new en(e,typeof t=="number"?{status:t}:t)}
10class kt extends Error{}class cr{constructor(t,r){this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],S(t&&typeof t=="object"&&!Array.isArray(t),"defer() only accepts plain objects");let n;this.abortPromise=new Promise((s,o)=>n=o),this.controller=new AbortController;let a=()=>n(new kt("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",a),this.controller.signal.addEventListener("abort",a),this.data=Object.entries(t).reduce((s,o)=>{let[f,c]=o;return Object.assign(s,{[f]:this.trackPromise(f,c)})},{}),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 kt)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 s=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:()=>s}),this.emit(!1,r),Promise.reject(s)}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(s=>{t.removeEventListener("abort",n),(s||this.done)&&a(s)})})}return r}get done(){return this.pendingKeysSet.size===0}get unwrappedData(){return S(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]:nn(a)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}function rn(e){return e instanceof Promise&&e._tracked===!0}function nn(e){if(!rn(e))return e;if(e._error)throw e._error;return e._data}const an=function(t,r){r===void 0&&(r={});let n=typeof r=="number"?{status:r}:r;return new cr(t,n)},Kt=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,I({},n,{headers:a}))},on=(e,t)=>{let r=Kt(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r},ln=(e,t)=>{let r=Kt(e,t);return r.headers.set("X-Remix-Replace","true"),r};class Mt{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}}function Ze(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const fr=["post","put","patch","delete"],sn=new Set(fr),un=["get",...fr],dn=new Set(un),cn=new Set([301,302,303,307,308]),fn=new Set([307,308]),Lt={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},hr={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ut={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Vt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,pr=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),mr="remix-router-transitions";function hn(e){const 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;S(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 i=e.detectErrorBoundary;a=l=>({hasErrorBoundary:i(l)})}else a=pr;let s={},o=me(e.routes,a,void 0,s),f,c=e.basename||"/",p=e.dataStrategy||Dr,b=e.patchRoutesOnNavigation,y=I({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prepe
10ndBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),P=null,h=new Set,w=null,E=null,x=null,k=e.hydrationData!=null,O=we(o,e.history.location,c),N=!1,_=null;if(O==null&&!b){let i=ie(404,{pathname:e.history.location.pathname}),{matches:l,route:d}=Ot(o);O=l,_={[d.id]:i}}O&&!e.hydrationData&&Ut(O,o,e.history.location.pathname).active&&(O=null);let Z;if(O)if(O.some(i=>i.route.lazy))Z=!1;else if(!O.some(i=>i.route.loader))Z=!0;else if(y.v7_partialHydration){let i=e.hydrationData?e.hydrationData.loaderData:null,l=e.hydrationData?e.hydrationData.errors:null;if(l){let d=O.findIndex(m=>l[m.route.id]!==void 0);Z=O.slice(0,d+1).every(m=>!Yt(m.route,i,l))}else Z=O.every(d=>!Yt(d.route,i,l))}else Z=e.hydrationData!=null;else if(Z=!1,O=[],y.v7_partialHydration){let i=Ut(null,o,e.history.location.pathname);i.active&&i.matches&&(N=!0,O=i.matches)}let te,u={historyAction:e.history.action,location:e.history.location,matches:O,initialized:Z,navigation:Lt,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||_,fetchers:new Map,blockers:new Map},W=G.Pop,re=!1,J,oe=!1,De=new Map,Le=null,ct=!1,et=!1,Tt=[],xt=new Set,ve=new Map,At=0,Et=-1,ft=new Map,Ue=new Set,ht=new Map,Rt=new Map,Oe=new Set,tt=new Map,rt=new Map,jt;function On(){if(P=e.history.listen(i=>{let{action:l,location:d,delta:m}=i;if(jt){jt(),jt=void 0;return}V(rt.size===0||m!=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 R=$r({currentLocation:u.location,nextLocation:d,historyAction:l});if(R&&m!=null){let F=new Promise(U=>{jt=U});e.history.go(m*-1),It(R,{state:"blocked",location:d,proceed(){It(R,{state:"proceeding",proceed:void 0,reset:void 0,location:d}),F.then(()=>e.history.go(m))},reset(){let U=new Map(u.blockers);U.set(R,ut),Re({blockers:U})}});return}return nt(l,d)}),r){Mn(t,De);let i=()=>Ln(t,De);t.addEventListener("pagehide",i),Le=()=>t.removeEventListener("pagehide",i)}return u.initialized||nt(G.Pop,u.location,{initialHydration:!0}),te}function Cn(){P&&P(),Le&&Le(),h.clear(),J&&J.abort(),u.fetchers.forEach((i,l)=>Ft(l)),u.blockers.forEach((i,l)=>Vr(l))}function Tn(i){return h.add(i),()=>h.delete(i)}function Re(i,l){l===void 0&&(l={}),u=I({},u,i);let d=[],m=[];y.v7_fetcherPersist&&u.fetchers.forEach((R,F)=>{R.state==="idle"&&(Oe.has(F)?m.push(F):d.push(F))}),Oe.forEach(R=>{!u.fetchers.has(R)&&!ve.has(R)&&m.push(R)}),[...h].forEach(R=>R(u,{deletedFetchers:m,viewTransitionOpts:l.viewTransitionOpts,flushSync:l.flushSync===!0})),y.v7_fetcherPersist?(d.forEach(R=>u.fetchers.delete(R)),m.forEach(R=>Ft(R))):m.forEach(R=>Oe.delete(R))}function pt(i,l,d){var m,R;let{flushSync:F}=d===void 0?{}:d,U=u.actionData!=null&&u.navigation.formMethod!=null&&Me(u.navigation.formMethod)&&u.navigation.state==="loading"&&((m=i.state)==null?void 0:m._isRedirect)!==!0,L;l.actionData?Object.keys(l.actionData).length>0?L=l.actionData:L=null:U?L=u.actionData:L=null;let C=l.loaderData?xr(u.loaderData,l.loaderData,l.matches||[],l.errors):u.loaderData,M=u.blockers;M.size>0&&(M=new Map(M),M.forEach(($,ge)=>M.set(ge,ut)));let T=re===!0||u.navigation.formMethod!=null&&Me(u.navigation.formMethod)&&((R=i.state)==null?void 0:R._isRedirect)!==!0;f&&(o=f,f=void 0),ct||W===G.Pop||(W===G.Push?e.history.push(i,i.state):W===G.Replace&&e.history.replace(i,i.state));let H;if(W===G.Pop){let $=De.get(u.location.pathname);$&&$.has(i.pathname)?H={currentLocation:u.location,nextLocation:i}:De.has(i.pathname)&&(H={currentLocation:i,nextLocation:u.location})}else if(oe){let $=De.get(u.location.pathname);$?$.add(i.pathname):($=new Set([i.pathname]),De.set(u.location.pathname,$)),H={currentLocation:u.location,nextLocation:i}}Re(I({},l,{actionData:L,loaderData:C,historyAction:W,location:i,initialized:!0,navigation:Lt,revalidation:"idle",restoreScrollPosition:Yr(i,l.matches||u.matches),preventScrollReset:T,blockers:M}),{viewTransitionOpts:H,flushSync:F===!0}),W=G.Pop,re=!1,oe=!1,ct=!1,et=!1,Tt=[]}async function zr(i,l){if(typeof i=="number"){e.history.go(i);return}
10let d=$t(u.location,u.matches,c,y.v7_prependBasename,i,y.v7_relativeSplatPath,l?.fromRouteId,l?.relative),{path:m,submission:R,error:F}=gr(y.v7_normalizeFormMethod,!1,d,l),U=u.location,L=q(u.location,m,l&&l.state);L=I({},L,e.history.encodeLocation(L));let C=l&&l.replace!=null?l.replace:void 0,M=G.Push;C===!0?M=G.Replace:C===!1||R!=null&&Me(R.formMethod)&&R.formAction===u.location.pathname+u.location.search&&(M=G.Replace);let T=l&&"preventScrollReset"in l?l.preventScrollReset===!0:void 0,H=(l&&l.flushSync)===!0,$=$r({currentLocation:U,nextLocation:L,historyAction:M});if($){It($,{state:"blocked",location:L,proceed(){It($,{state:"proceeding",proceed:void 0,reset:void 0,location:L}),zr(i,l)},reset(){let ge=new Map(u.blockers);ge.set($,ut),Re({blockers:ge})}});return}return await nt(M,L,{submission:R,pendingError:F,preventScrollReset:T,replace:l&&l.replace,enableViewTransition:l&&l.viewTransition,flushSync:H})}function xn(){if(tr(),Re({revalidation:"loading"}),u.navigation.state!=="submitting"){if(u.navigation.state==="idle"){nt(u.historyAction,u.location,{startUninterruptedRevalidation:!0});return}nt(W||u.historyAction,u.navigation.location,{overrideNavigation:u.navigation,enableViewTransition:oe===!0})}}async function nt(i,l,d){J&&J.abort(),J=null,W=i,ct=(d&&d.startUninterruptedRevalidation)===!0,Wn(u.location,u.matches),re=(d&&d.preventScrollReset)===!0,oe=(d&&d.enableViewTransition)===!0;let m=f||o,R=d&&d.overrideNavigation,F=d!=null&&d.initialHydration&&u.matches&&u.matches.length>0&&!N?u.matches:we(m,l,c),U=(d&&d.flushSync)===!0;if(F&&u.initialized&&!et&&wn(u.location,l)&&!(d&&d.submission&&Me(d.submission.formMethod))){pt(l,{matches:F},{flushSync:U});return}let L=Ut(F,m,l.pathname);if(L.active&&L.matches&&(F=L.matches),!F){let{error:ne,notFoundMatches:X,route:se}=rr(l.pathname);pt(l,{matches:X,loaderData:{},errors:{[se.id]:ne}},{flushSync:U});return}J=new AbortController;let C=dt(e.history,l,J.signal,d&&d.submission),M;if(d&&d.pendingError)M=[Ve(F).route.id,{type:z.error,error:d.pendingError}];else if(d&&d.submission&&Me(d.submission.formMethod)){let ne=await An(C,l,d.submission,F,L.active,{replace:d.replace,flushSync:U});if(ne.shortCircuited)return;if(ne.pendingActionResult){let[X,se]=ne.pendingActionResult;if(ye(se)&&Ze(se.error)&&se.error.status===404){J=null,pt(l,{matches:ne.matches,loaderData:{},errors:{[X]:se.error}});return}}F=ne.matches||F,M=ne.pendingActionResult,R=er(l,d.submission),U=!1,L.active=!1,C=dt(e.history,C.url,C.signal)}let{shortCircuited:T,matches:H,loaderData:$,errors:ge}=await jn(C,l,F,L.active,R,d&&d.submission,d&&d.fetcherSubmission,d&&d.replace,d&&d.initialHydration===!0,U,M);T||(J=null,pt(l,I({matches:H||F},Ar(M),{loaderData:$,errors:ge})))}async function An(i,l,d,m,R,F){F===void 0&&(F={}),tr();let U=_n(l,d);if(Re({navigation:U},{flushSync:F.flushSync===!0}),R){let M=await zt(m,l.pathname,i.signal);if(M.type==="aborted")return{shortCircuited:!0};if(M.type==="error"){let T=Ve(M.partialMatches).route.id;return{matches:M.partialMatches,pendingActionResult:[T,{type:z.error,error:M.error}]}}else if(M.matches)m=M.matches;else{let{notFoundMatches:T,error:H,route:$}=rr(l.pathname);return{matches:T,pendingActionResult:[$.id,{type:z.error,error:H}]}}}let L,C=qe(m,l);if(!C.route.action&&!C.route.lazy)L={type:z.error,error:ie(405,{method:i.method,pathname:l.pathname,routeId:C.route.id})};else if(L=(await St("action",u,i,[C],m,null))[C.route.id],i.signal.aborted)return{shortCircuited:!0};if($e(L)){let M;return F&&F.replace!=null?M=F.replace:M=Lr(L.response.headers.get("Location"),new URL(i.url),c,e.history)===u.location.pathname+u.location.search,await at(i,L,!0,{submission:d,replace:M}),{shortCircuited:!0}}if(Ie(L))throw ie(400,{type:"defer-action"});if(ye(L)){let M=Ve(m,C.route.id);return(F&&F.replace)!==!0&&(W=G.Push),{matches:m,pendingActionResult:[M.route.id,L]}}return{matches:m,pendingActionResult:[C.route.id,L]}}async function jn(i,l,d,m,R,F,U,L,C,M,T){let H=R||er(l,F),$=F||U||Ur(H),ge=!ct&&(!y.v7_partialHydration||!C);if(m){if(ge){let ue=Hr(T);Re(I({navigation:H},ue!==void 0?{actionData:ue}:{}),{flushSync:M})}let Y=await zt(d,l.pathname,i.signal);if(Y.type==="aborted")return{shortCircuited:!0};if(Y.type==="error"){let ue=Ve(Y.partialMatches).route.id;return{matches:Y.partialMatches,loaderData:{},errors:{[ue]:Y.error}}}else if(Y.matches)d=Y.matches;else{let{error:ue,notFoundMatches:vt,route:Pt}=rr(l.pathname);return{matches:vt,loaderData:{},errors:{[Pt.id]:ue}}}}let ne=f||o,[X,se]=br(e.history,u,d,$,l,y.v7_partialHydration&&C===!0,y.v7_skipActionErrorRevalidation,et,Tt,xt,Oe,ht,Ue,ne,c,T);if(nr(Y=>!(d&&d.some(ue=>ue.route.id===Y))||X&&X.some(ue=>ue.route.id===Y)),Et=++At,X.length===0&&se.length===0){let Y=kr();return pt(l,I({matches:d,loaderData:{},errors:T&&ye(T[1])?{[T[0]]:T[1].error}:null},Ar(T),Y?{fetchers:new Map(u.fetchers)}:{}),{flushSync:M}),{shortCircuited:!0}}if(ge){let Y={};
10if(!m){Y.navigation=H;let ue=Hr(T);ue!==void 0&&(Y.actionData=ue)}se.length>0&&(Y.fetchers=Fn(se)),Re(Y,{flushSync:M})}se.forEach(Y=>{Xe(Y.key),Y.controller&&ve.set(Y.key,Y.controller)});let mt=()=>se.forEach(Y=>Xe(Y.key));J&&J.signal.addEventListener("abort",mt);let{loaderResults:Dt,fetcherResults:He}=await Nr(u,d,X,se,i);if(i.signal.aborted)return{shortCircuited:!0};J&&J.signal.removeEventListener("abort",mt),se.forEach(Y=>ve.delete(Y.key));let xe=Ct(Dt);if(xe)return await at(i,xe.result,!0,{replace:L}),{shortCircuited:!0};if(xe=Ct(He),xe)return Ue.add(xe.key),await at(i,xe.result,!0,{replace:L}),{shortCircuited:!0};let{loaderData:ar,errors:_t}=Tr(u,d,Dt,T,se,He,tt);tt.forEach((Y,ue)=>{Y.subscribe(vt=>{(vt||Y.done)&&tt.delete(ue)})}),y.v7_partialHydration&&C&&u.errors&&(_t=I({},u.errors,_t));let it=kr(),Ht=Kr(Et),Nt=it||Ht||se.length>0;return I({matches:d,loaderData:ar,errors:_t},Nt?{fetchers:new Map(u.fetchers)}:{})}function Hr(i){if(i&&!ye(i[1]))return{[i[0]]:i[1].data};if(u.actionData)return Object.keys(u.actionData).length===0?null:u.actionData}function Fn(i){return i.forEach(l=>{let d=u.fetchers.get(l.key),m=wt(void 0,d?d.data:void 0);u.fetchers.set(l.key,m)}),new Map(u.fetchers)}function In(i,l,d,m){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.");Xe(i);let R=(m&&m.flushSync)===!0,F=f||o,U=$t(u.location,u.matches,c,y.v7_prependBasename,d,y.v7_relativeSplatPath,l,m?.relative),L=we(F,U,c),C=Ut(L,F,U);if(C.active&&C.matches&&(L=C.matches),!L){ze(i,l,ie(404,{pathname:U}),{flushSync:R});return}let{path:M,submission:T,error:H}=gr(y.v7_normalizeFormMethod,!0,U,m);if(H){ze(i,l,H,{flushSync:R});return}let $=qe(L,M),ge=(m&&m.preventScrollReset)===!0;if(T&&Me(T.formMethod)){Un(i,l,M,$,L,C.active,R,ge,T);return}ht.set(i,{routeId:l,path:M}),zn(i,l,M,$,L,C.active,R,ge,T)}async function Un(i,l,d,m,R,F,U,L,C){tr(),ht.delete(i);function M(fe){if(!fe.route.action&&!fe.route.lazy){let yt=ie(405,{method:C.formMethod,pathname:d,routeId:l});return ze(i,l,yt,{flushSync:U}),!0}return!1}if(!F&&M(m))return;let T=u.fetchers.get(i);Je(i,Pn(C,T),{flushSync:U});let H=new AbortController,$=dt(e.history,d,H.signal,C);if(F){let fe=await zt(R,new URL($.url).pathname,$.signal,i);if(fe.type==="aborted")return;if(fe.type==="error"){ze(i,l,fe.error,{flushSync:U});return}else if(fe.matches){if(R=fe.matches,m=qe(R,d),M(m))return}else{ze(i,l,ie(404,{pathname:d}),{flushSync:U});return}}ve.set(i,H);let ge=At,X=(await St("action",u,$,[m],R,i))[m.route.id];if($.signal.aborted){ve.get(i)===H&&ve.delete(i);return}if(y.v7_fetcherPersist&&Oe.has(i)){if($e(X)||ye(X)){Je(i,Ye(void 0));return}}else{if($e(X))if(ve.delete(i),Et>ge){Je(i,Ye(void 0));return}else return Ue.add(i),Je(i,wt(C)),at($,X,!1,{fetcherSubmission:C,preventScrollReset:L});if(ye(X)){ze(i,l,X.error);return}}if(Ie(X))throw ie(400,{type:"defer-action"});let se=u.navigation.location||u.location,mt=dt(e.history,se,H.signal),Dt=f||o,He=u.navigation.state!=="idle"?we(Dt,u.navigation.location,c):u.matches;S(He,"Didn't find any matches after fetcher action");let xe=++At;ft.set(i,xe);let ar=wt(C,X.data);u.fetchers.set(i,ar);let[_t,it]=br(e.history,u,He,C,se,!1,y.v7_skipActionErrorRevalidation,et,Tt,xt,Oe,ht,Ue,Dt,c,[m.route.id,X]);it.filter(fe=>fe.key!==i).forEach(fe=>{let yt=fe.key,Jr=u.fetchers.get(yt),Vn=wt(void 0,Jr?Jr.data:void 0);u.fetchers.set(yt,Vn),Xe(yt),fe.controller&&ve.set(yt,fe.controller)}),Re({fetchers:new Map(u.fetchers)});let Ht=()=>it.forEach(fe=>Xe(fe.key));H.signal.addEventListener("abort",Ht);let{loaderResults:Nt,fetcherResults:Y}=await Nr(u,He,_t,it,mt);if(H.signal.aborted)return;H.signal.removeEventListener("abort",Ht),ft.delete(i),ve.delete(i),it.forEach(fe=>ve.delete(fe.key));let ue=Ct(Nt);if(ue)return at(mt,ue.result,!1,{preventScrollReset:L});if(ue=Ct(Y),ue)return Ue.add(ue.key),at(mt,ue.result,!1,{preventScrollReset:L});let{loaderData:vt,errors:Pt}=Tr(u,He,Nt,void 0,it,Y,tt);if(u.fetchers.has(i)){let fe=Ye(X.data);u.fetchers.set(i,fe)}Kr(xe),u.navigation.state==="loading"&&xe>Et?(S(W,"Expected pending action"),J&&J.abort(),pt(u.navigation.location,{matches:He,loaderData:vt,errors:Pt,fetchers:new Map(u.fetchers)})):(Re({errors:Pt,loaderData:xr(u.loaderData,vt,He,Pt),fetchers:new Map(u.fetchers)}),et=!1)}async function zn(i,l,d,m,R,F,U,L,C){let M=u.fetchers.get(i);Je(i,wt(C,M?M.data:void 0),{flushSync:U});let T=new AbortController,H=dt(e.history,d,T.signal);if(F){let X=await zt(R,new URL(H.url).pathname,H.signal,i);if(X.type==="aborted")return;if(X.type==="error"){ze(i,l,X.error,{flushSync:U});return}else if(X.matches)R=X.matches,m=qe(R,d);else{ze(i,l,ie(404,{pathname:d}),{flushSync:U});return}}ve.set(i,T);let $=At,ne=(await St("loader",u,H,[m],R,i))[m.route.id];if(Ie(ne)&&(ne=await Zt(ne,H.signal,!0)||ne),ve.get(i)===T&&ve.delete(i),!H.signal.aborted){if(Oe.has(i)){Je(i,Ye(void 0));return}if($e(ne))if(Et>$){Je(i,Ye(void 0));return}else{Ue.add(i),await at(H,ne,!1,{preventScrollReset:L});return}if(ye(ne)){ze(i,l,ne.error);return}
10S(!Ie(ne),"Unhandled fetcher deferred data"),Je(i,Ye(ne.data))}}async function at(i,l,d,m){let{submission:R,fetcherSubmission:F,preventScrollReset:U,replace:L}=m===void 0?{}:m;l.response.headers.has("X-Remix-Revalidate")&&(et=!0);let C=l.response.headers.get("Location");S(C,"Expected a Location header on the redirect Response"),C=Lr(C,new URL(i.url),c,e.history);let M=q(u.location,C,{_isRedirect:!0});if(r){let X=!1;if(l.response.headers.has("X-Remix-Reload-Document"))X=!0;else if(Vt.test(C)){const se=e.history.createURL(C);X=se.origin!==t.location.origin||Ke(se.pathname,c)==null}if(X){L?t.location.replace(C):t.location.assign(C);return}}J=null;let T=L===!0||l.response.headers.has("X-Remix-Replace")?G.Replace:G.Push,{formMethod:H,formAction:$,formEncType:ge}=u.navigation;!R&&!F&&H&&$&&ge&&(R=Ur(u.navigation));let ne=R||F;if(fn.has(l.response.status)&&ne&&Me(ne.formMethod))await nt(T,M,{submission:I({},ne,{formAction:C}),preventScrollReset:U||re,enableViewTransition:d?oe:void 0});else{let X=er(M,R);await nt(T,M,{overrideNavigation:X,fetcherSubmission:F,preventScrollReset:U||re,enableViewTransition:d?oe:void 0})}}async function St(i,l,d,m,R,F){let U,L={};try{U=await _r(p,i,l,d,m,R,F,s,a)}catch(C){return m.forEach(M=>{L[M.route.id]={type:z.error,error:C}}),L}for(let[C,M]of Object.entries(U))if(Fr(M)){let T=M.result;L[C]={type:z.redirect,response:Mr(T,d,C,R,c,y.v7_relativeSplatPath)}}else L[C]=await Pr(M);return L}async function Nr(i,l,d,m,R){let F=i.matches,U=St("loader",i,R,d,l,null),L=Promise.all(m.map(async T=>{if(T.matches&&T.match&&T.controller){let $=(await St("loader",i,dt(e.history,T.path,T.controller.signal),[T.match],T.matches,T.key))[T.match.route.id];return{[T.key]:$}}else return Promise.resolve({[T.key]:{type:z.error,error:ie(404,{pathname:T.path})}})})),C=await U,M=(await L).reduce((T,H)=>Object.assign(T,H),{});return await Promise.all([Sn(l,C,R.signal,F,i.loaderData),Dn(l,M,m)]),{loaderResults:C,fetcherResults:M}}function tr(){et=!0,Tt.push(...nr()),ht.forEach((i,l)=>{ve.has(l)&&xt.add(l),Xe(l)})}function Je(i,l,d){d===void 0&&(d={}),u.fetchers.set(i,l),Re({fetchers:new Map(u.fetchers)},{flushSync:(d&&d.flushSync)===!0})}function ze(i,l,d,m){m===void 0&&(m={});let R=Ve(u.matches,l);Ft(i),Re({errors:{[R.route.id]:d},fetchers:new Map(u.fetchers)},{flushSync:(m&&m.flushSync)===!0})}function Br(i){return Rt.set(i,(Rt.get(i)||0)+1),Oe.has(i)&&Oe.delete(i),u.fetchers.get(i)||hr}function Ft(i){let l=u.fetchers.get(i);ve.has(i)&&!(l&&l.state==="loading"&&ft.has(i))&&Xe(i),ht.delete(i),ft.delete(i),Ue.delete(i),y.v7_fetcherPersist&&Oe.delete(i),xt.delete(i),u.fetchers.delete(i)}function Hn(i){let l=(Rt.get(i)||0)-1;l<=0?(Rt.delete(i),Oe.add(i),y.v7_fetcherPersist||Ft(i)):Rt.set(i,l),Re({fetchers:new Map(u.fetchers)})}function Xe(i){let l=ve.get(i);l&&(l.abort(),ve.delete(i))}function Wr(i){for(let l of i){let d=Br(l),m=Ye(d.data);u.fetchers.set(l,m)}}function kr(){let i=[],l=!1;for(let d of Ue){let m=u.fetchers.get(d);S(m,"Expected fetcher: "+d),m.state==="loading"&&(Ue.delete(d),i.push(d),l=!0)}return Wr(i),l}function Kr(i){let l=[];for(let[d,m]of ft)if(m<i){let R=u.fetchers.get(d);S(R,"Expected fetcher: "+d),R.state==="loading"&&(Xe(d),ft.delete(d),l.push(d))}return Wr(l),l.length>0}function Nn(i,l){let d=u.blockers.get(i)||ut;return rt.get(i)!==l&&rt.set(i,l),d}function Vr(i){u.blockers.delete(i),rt.delete(i)}function It(i,l){let d=u.blockers.get(i)||ut;S(d.state==="unblocked"&&l.state==="blocked"||d.state==="blocked"&&l.state==="blocked"||d.state==="blocked"&&l.state==="proceeding"||d.state==="blocked"&&l.state==="unblocked"||d.state==="proceeding"&&l.state==="unblocked","Invalid blocker state transition: "+d.state+" -> "+l.state);let m=new Map(u.blockers);m.set(i,l),Re({blockers:m})}function $r(i){let{currentLocation:l,nextLocation:d,historyAction:m}=i;if(rt.size===0)return;rt.size>1&&V(!1,"A router only supports one blocker at a time");let R=Array.from(rt.entries()),[F,U]=R[R.length-1],L=u.blockers.get(F);if(!(L&&L.state==="proceeding")&&U({currentLocation:l,nextLocation:d,historyAction:m}))return F}function rr(i){let l=ie(404,{pathname:i}),d=f||o,{matches:m,route:R}=Ot(d);return nr(),{notFoundMatches:m,route:R,error:l}}function nr(i){let l=[];return tt.forEach((d,m)=>{(!i||i(m))&&(d.cancel(),l.push(m),tt.delete(m))}),l}function Bn(i,l,d){if(w=i,x=l,E=d||null,!k&&u.navigation===Lt){k=!0;let m=Yr(u.location,u.matches);m!=null&&Re({restoreScrollPosition:m})}return()=>{w=null,x=null,E=null}}function Gr(i,l){return E&&E(i,l.map(m=>We(m,u.loaderData)))||i.key}function Wn(i,l){if(w&&x){let d=Gr(i,l);w[d]=x()}}function Yr(i,l){if(w){let d=Gr(i,l),m=w[d];if(typeof m=="number")return m}return null}function Ut(i,l,d){if(b)if(i){if(Object.keys(i[0].params).length>0)return{active:!0,matches:Ae(l,d,c,!0)}}else return{active:!0,matches:Ae(l,d,c,!0)||[]};return{active:!1,matches:null}}async function zt(i,l,d,m){if(!b)return{type:"success",matches:i};let R=i;for(;;){let F=f==null,U=f||o,L=s;try{await b({signal:d,path:l,matches:R,fetcherKey:m,patch:(T,H)=>{d.aborted||Rr(T,H,U,L,a)}})}catch(T){return{type:"error",error:T,partialMatches:R}}finally{F&&!d.aborted&&(o=[...o])}if(d.aborted)return{type:"aborted"};let C=we(U,l,c);if(C)return{type:"success",matches:C};let M=Ae(U,l,c,!0);if(!M||R.length===M.length&&R.every((T,H)=>T.route.id===M[H].route.id))return{type:"success",matches:null};R=M}}function kn(i){s={},f=me(i,a,void 0,s)}function Kn(i,l){let d=f==null;Rr(i,l,f||o,s,a),d&&(o=[...o],Re({}))}return te={get basename(){return c},get future(){return y},get state(){return u},get routes(){return o},get window(){return t},initialize:On,subscribe:Tn,enableScrollRestoration:Bn,navigate:zr,fetch:In,revalidate:xn,createHref:i=>e.history.createHref(i),encodeLocation:i=>e.history.encodeLocation(i),getFetcher:Br,deleteFetcher:Hn,dispose:Cn,getBlocker:Nn,deleteBlocker:Vr,patchRoutes:Kn,_internalFetchControllers:ve,_internalActiveDeferreds:tt,_internalSetRoutes:kn},te}const vr=Symbol("deferred");function pn(e,t){S(e.length>0,"You must provide a non-empty routes array to createStaticHandler");let r={},n=(t?t.basename:null)||"/",a;if(t!=null&&t.mapRouteProperties)a=t.mapRouteProperties;else if(t!=null&&t.detectErrorBoundary){let h=t.detectErrorBoundary;a=w=>({hasErrorBoundary:h(w)})}else a=pr;let s=I({v7_relativeSplatPath:!1,v7_throwAbortReason:!1},t?t.future:null),o=me(e,a,void 0,r);async function f(h,w){let{requestContext:E,skipLoaderErrorBubbling:x,dataStrategy:k}=w===void 0?{}:w,O=new URL(h.url),N=h.method,_=q("",ee(O),null,"default"),Z=we(o,_,n);if(!Qt(N)&&N!=="HEAD"){let u=ie(405,{method:N}),{matches:W,route:re}=Ot(o);return{basename:n,location:_,matches:W,loaderData:{},actionData:null,errors:{[re.id]:u},statusCode:u.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}else if(!Z){let u=ie(404,{pathname:_.pathname}),{matches:W,route:re}=Ot(o);return{basename:n,location:_,matches:W,loaderData:{},actionData:null,errors:{[re.id]:u},statusCode:u.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}let te=await p(h,_,Z,E,k||null,x===!0,null);return Ge(te)?te:I({location:_,basename:n},te)}async function c(h,w){let{routeId:E,requestContext:x,dataStrategy:k}=w===void 0?{}:w,O=new URL(h.url),N=h.method,_=q("",ee(O),null,"default"),Z=we(o,_,n);if(!Qt(N)&&N!=="HEAD"&&N!=="OPTIONS")throw ie(405,{method:N});if(!Z)throw ie(404,{pathname:_.pathname});let te=E?Z.find(J=>J.route.id===E):qe(Z,_);if(E&&!te)throw ie(403,{pathname:_.pathname,routeId:E});if(!te)throw ie(404,{pathname:_.pathname});let u=await p(h,_,Z,x,k||null,!1,te);if(Ge(u))return u;let W=u.errors?Object.values(u.errors)[0]:void 0;if(W!==void 0)throw W;if(u.actionData)return Object.values(u.actionData)[0];if(u.loaderData){var re;let J=Object.values(u.loaderData)[0];return(re=u.activeDeferreds)!=null&&re[te.route.id]&&(J[vr]=u.activeDeferreds[te.route.id]),J}}async function p(h,w,E,x,k,O,N){S(h.signal,"query()/queryRoute() requests must contain an AbortController signal");try{if(Me(h.method.toLowerCase()))return await b(h,E,N||qe(E,w),x,k,O,N!=null);let _=await y(h,E,x,k,O,N);return Ge(_)?_:I({},_,{actionData:null,actionHeaders:{}})}catch(_){if(En(_)&&Ge(_.result)){if(_.type===z.error)throw _.result;return _.result}if(Rn(_))return _;throw _}}async function b(h,w,E,x,k,O,N){let _;if(!E.route.action&&!E.route.lazy){let u=ie(405,{method:h.method,pathname:new URL(h.url).pathname,routeId:E.route.id});if(N)throw u;_={type:z.error,error:u}}else _=(await P("action",h,[E],w,N,x,k))[E.route.id],h.signal.aborted&&yr(h,N,s);if($e(_))throw new Response(null,{status:_.response.status,headers:{Location:_.response.headers.get("Location")}});if(Ie(_)){let u=ie(400,{type:"defer-action"});if(N)throw u;_={type:z.error,error:u}}if(N){if(ye(_))throw _.error;return{matches:[E],loaderData:{},actionData:{[E.route.id]:_.data},errors:null,statusCode:200,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}
10let Z=new Request(h.url,{headers:h.headers,redirect:h.redirect,signal:h.signal});if(ye(_)){let u=O?E:Ve(w,E.route.id),W=await y(Z,w,x,k,O,null,[u.route.id,_]);return I({},W,{statusCode:Ze(_.error)?_.error.status:_.statusCode!=null?_.statusCode:500,actionData:null,actionHeaders:I({},_.headers?{[E.route.id]:_.headers}:{})})}let te=await y(Z,w,x,k,O,null);return I({},te,{actionData:{[E.route.id]:_.data}},_.statusCode?{statusCode:_.statusCode}:{},{actionHeaders:_.headers?{[E.route.id]:_.headers}:{}})}async function y(h,w,E,x,k,O,N){let _=O!=null;if(_&&!(O!=null&&O.route.loader)&&!(O!=null&&O.route.lazy))throw ie(400,{method:h.method,pathname:new URL(h.url).pathname,routeId:O?.route.id});let te=(O?[O]:N&&ye(N[1])?Gt(w,N[0]):w).filter(oe=>oe.route.loader||oe.route.lazy);if(te.length===0)return{matches:w,loaderData:w.reduce((oe,De)=>Object.assign(oe,{[De.route.id]:null}),{}),errors:N&&ye(N[1])?{[N[0]]:N[1].error}:null,statusCode:200,loaderHeaders:{},activeDeferreds:null};let u=await P("loader",h,te,w,_,E,x);h.signal.aborted&&yr(h,_,s);let W=new Map,re=Cr(w,u,N,W,k),J=new Set(te.map(oe=>oe.route.id));return w.forEach(oe=>{J.has(oe.route.id)||(re.loaderData[oe.route.id]=null)}),I({},re,{matches:w,activeDeferreds:W.size>0?Object.fromEntries(W.entries()):null})}async function P(h,w,E,x,k,O,N){let _=await _r(N||Dr,h,null,w,E,x,null,r,a,O),Z={};return await Promise.all(x.map(async te=>{if(!(te.route.id in _))return;let u=_[te.route.id];if(Fr(u)){let W=u.result;throw Mr(W,w,te.route.id,x,n,s.v7_relativeSplatPath)}if(Ge(u.result)&&k)throw u;Z[te.route.id]=await Pr(u)})),Z}return{dataRoutes:o,query:f,queryRoute:c}}function mn(e,t,r){return I({},t,{statusCode:Ze(r)?r.status:500,errors:{[t._deepestRenderedBoundaryId||e[0].id]:r}})}function yr(e,t,r){if(r.v7_throwAbortReason&&e.signal.reason!==void 0)throw e.signal.reason;let n=t?"queryRoute":"query";throw new Error(n+"() call aborted: "+e.method+" "+e.url)}function vn(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function $t(e,t,r,n,a,s,o,f){let c,p;if(o){c=[];for(let y of t)if(c.push(y),y.route.id===o){p=y;break}}else c=t,p=t[t.length-1];let b=ur(a||".",sr(c,s),Ke(e.pathname,r)||e.pathname,f==="path");if(a==null&&(b.search=e.search,b.hash=e.hash),(a==null||a===""||a===".")&&p){let y=qt(b.search);if(p.route.index&&!y)b.search=b.search?b.search.replace(/^\?/,"?index&"):"?index";else if(!p.route.index&&y){let P=new URLSearchParams(b.search),h=P.getAll("index");P.delete("index"),h.filter(E=>E).forEach(E=>P.append("index",E));let w=P.toString();b.search=w?"?"+w:""}}return n&&r!=="/"&&(b.pathname=b.pathname==="/"?r:st([r,b.pathname])),ee(b)}function gr(e,t,r,n){if(!n||!vn(n))return{path:r};if(n.formMethod&&!Qt(n.formMethod))return{path:r,error:ie(405,{method:n.formMethod})};let a=()=>({path:r,error:ie(400,{type:"invalid-body"})}),s=n.formMethod||"get",o=e?s.toUpperCase():s.toLowerCase(),f=jr(r);if(n.body!==void 0){if(n.formEncType==="text/plain"){if(!Me(o))return a();let P=typeof n.body=="string"?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((h,w)=>{let[E,x]=w;return""+h+E+"="+x+`
11`},""):String(n.body);return{path:r,submission:{formMethod:o,formAction:f,formEncType:n.formEncType,formData:void 0,json:void 0,text:P}}}else if(n.formEncType==="application/json"){if(!Me(o))return a();try{let P=typeof n.body=="string"?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:o,formAction:f,formEncType:n.formEncType,formData:void 0,json:P,text:void 0}}}catch{return a()}}}S(typeof FormData=="function","FormData is not available in this environment");let c,p;if(n.formData)c=Jt(n.formData),p=n.formData;else if(n.body instanceof FormData)c=Jt(n.body),p=n.body;else if(n.body instanceof URLSearchParams)c=n.body,p=Or(c);else if(n.body==null)c=new URLSearchParams,p=new FormData;else try{c=new URLSearchParams(n.body),p=Or(c)}catch{return a()}let b={formMethod:o,formAction:f,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:p,json:void 0,text:void 0};if(Me(b.formMethod))return{path:r,submission:b};let y=K(r);return t&&y.search&&qt(y.search)&&c.append("index",""),y.search="?"+c,{path:ee(y),submission:b}}function Gt(e,t,r){r===void 0&&(r=!1);let n=e.findIndex(a=>a.route.id===t);return n>=0?e.slice(0,r?n+1:n):e}function br(e,t,r,n,a,s,o,f,c,p,b,y,P,h,w,E){let x=E?ye(E[1])?E[1].error:E[1].data:void 0,k=e.createURL(t.location),O
11=e.createURL(a),N=r;s&&t.errors?N=Gt(r,Object.keys(t.errors)[0],!0):E&&ye(E[1])&&(N=Gt(r,E[0]));let _=E?E[1].statusCode:void 0,Z=o&&_&&_>=400,te=N.filter((W,re)=>{let{route:J}=W;if(J.lazy)return!0;if(J.loader==null)return!1;if(s)return Yt(J,t.loaderData,t.errors);if(yn(t.loaderData,t.matches[re],W)||c.some(Le=>Le===W.route.id))return!0;let oe=t.matches[re],De=W;return Er(W,I({currentUrl:k,currentParams:oe.params,nextUrl:O,nextParams:De.params},n,{actionResult:x,actionStatus:_,defaultShouldRevalidate:Z?!1:f||k.pathname+k.search===O.pathname+O.search||k.search!==O.search||wr(oe,De)}))}),u=[];return y.forEach((W,re)=>{if(s||!r.some(ct=>ct.route.id===W.routeId)||b.has(re))return;let J=we(h,W.path,w);if(!J){u.push({key:re,routeId:W.routeId,path:W.path,matches:null,match:null,controller:null});return}let oe=t.fetchers.get(re),De=qe(J,W.path),Le=!1;P.has(re)?Le=!1:p.has(re)?(p.delete(re),Le=!0):oe&&oe.state!=="idle"&&oe.data===void 0?Le=f:Le=Er(De,I({currentUrl:k,currentParams:t.matches[t.matches.length-1].params,nextUrl:O,nextParams:r[r.length-1].params},n,{actionResult:x,actionStatus:_,defaultShouldRevalidate:Z?!1:f})),Le&&u.push({key:re,routeId:W.routeId,path:W.path,matches:J,match:De,controller:new AbortController})}),[te,u]}function Yt(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let n=t!=null&&t[e.id]!==void 0,a=r!=null&&r[e.id]!==void 0;return!n&&a?!1:typeof e.loader=="function"&&e.loader.hydrate===!0?!0:!n&&!a}function yn(e,t,r){let n=!t||r.route.id!==t.route.id,a=e[r.route.id]===void 0;return n||a}function wr(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Er(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function Rr(e,t,r,n,a){var s;let o;if(e){let p=n[e];S(p,"No route found to patch children into: routeId = "+e),p.children||(p.children=[]),o=p.children}else o=r;let f=t.filter(p=>!o.some(b=>Sr(p,b))),c=me(f,a,[e||"_","patch",String(((s=o)==null?void 0:s.length)||"0")],n);o.push(...c)}function Sr(e,t){return"id"in e&&"id"in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children.every((r,n)=>{var a;return(a=t.children)==null?void 0:a.some(s=>Sr(r,s))}):!1}async function gn(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];S(a,"No route found in manifest");let s={};for(let o in n){let c=a[o]!==void 0&&o!=="hasErrorBoundary";V(!c,'Route "'+a.id+'" has a static property "'+o+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+o+'" will be ignored.')),!c&&!be.has(o)&&(s[o]=n[o])}Object.assign(a,s),Object.assign(a,I({},t(a),{lazy:void 0}))}async function Dr(e){let{matches:t}=e,r=t.filter(a=>a.shouldLoad);return(await Promise.all(r.map(a=>a.resolve()))).reduce((a,s,o)=>Object.assign(a,{[r[o].route.id]:s}),{})}async function _r(e,t,r,n,a,s,o,f,c,p){let b=s.map(h=>h.route.lazy?gn(h.route,c,f):void 0),y=s.map((h,w)=>{let E=b[w],x=a.some(O=>O.route.id===h.route.id);return I({},h,{shouldLoad:x,resolve:async O=>(O&&n.method==="GET"&&(h.route.lazy||h.route.loader)&&(x=!0),x?bn(t,n,h,E,O,p):Promise.resolve({type:z.data,result:void 0}))})}),P=await e({matches:y,request:n,params:s[0].params,fetcherKey:o,context:p});try{await Promise.all(b)}catch{}return P}async function bn(e,t,r,n,a,s){let o,f,c=p=>{let b,y=new Promise((w,E)=>b=E);f=()=>b(),t.signal.addEventListener("abort",f);let P=w=>typeof p!="function"?Promise.reject(new Error("You cannot call the handler for a route which defines a boolean "+('"'+e+'" [routeId: '+r.route.id+"]"))):p({request:t,params:r.params,context:s},...w!==void 0?[w]:[]),h=(async()=>{try{return{type:"data",result:await(a?a(E=>P(E)):P())}}catch(w){return{type:"error",result:w}}})();return Promise.race([h,y])};try{let p=r.route[e];if(n)if(p){let b,[y]=await Promise.all([c(p).catch(P=>{b=P}),n]);if(b!==void 0)throw b;o=y}else if(await n,p=r.route[e],p)o=await c(p);else if(e==="action"){let b=new URL(t.url),y=b.pathname+b.search;throw ie(405,{method:t.method,pathname:y,routeId:r.route.id})}else return{type:z.data,result:void 0};else if(p)o=await c(p);else{let b=new URL(t.url),y=b.pathname+b.search;throw ie(404,{pathname:y})}S(o.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(p){return{type:z.error,result:p}}finally{f&&t.signal.removeEventListener("abort",f)}return o}async function Pr(e){let{result:t,type:r}=e;if(Ge(t)){let y;try{let P=t.headers.get("Content-Type");P&&/\bapplication\/json\b/.test(P)?t.body==null?y=null:y=await t.json():y=await t.text()}catch(P){return{type:z.error,error:P}}return r===z.error?{type:z.error,error:new Mt(t.status,t.statusText,y),statusCode:t.status,headers:t.headers}:{type:z.data,data:y,statusCode:t.status,headers:t.headers}}if(r===z.error){if(Xt(t)){var n,a;if(t.data instanceof Error){var s,o;return{type:z.error,error:t.data,statusCode:(s=t.init)==null?void 0:s.status,headers:(o=t.init)!=null&&o.headers?new Headers(t.init.headers):void 0}}return{type:z.error,error:new Mt(((n=t.init)==null?void 0:n.status)||500,void 0,t.data),statusCode:Ze(t)?t.status:void 0,headers:(a=t.init)!=null&&a.headers?new Headers(t.init.headers):void 0}}return{type:z.error,error:t,statusCode:Ze(t)?t.status:void 0}}if(Ir(t)){var f,c;return{type:z.deferred,deferredData:t,statusCode:(f=t.init)==null?void 0:f.status,headers:((c=t.init)==null?void 0:c.headers)&&new Headers(t.init.headers)}}if(Xt(t)){var p,b;
11return{type:z.data,data:t.data,statusCode:(p=t.init)==null?void 0:p.status,headers:(b=t.init)!=null&&b.headers?new Headers(t.init.headers):void 0}}return{type:z.data,data:t}}function Mr(e,t,r,n,a,s){let o=e.headers.get("Location");if(S(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!Vt.test(o)){let f=n.slice(0,n.findIndex(c=>c.route.id===r)+1);o=$t(new URL(t.url),f,a,!0,o,s),e.headers.set("Location",o)}return e}function Lr(e,t,r,n){let a=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];if(Vt.test(e)){let s=e,o=s.startsWith("//")?new URL(t.protocol+s):new URL(s);if(a.includes(o.protocol))throw new Error("Invalid redirect location");let f=Ke(o.pathname,r)!=null;if(o.origin===t.origin&&f)return Wt(o.pathname)+o.search+o.hash}try{let s=n.createURL(e);if(a.includes(s.protocol))throw new Error("Invalid redirect location")}catch{}return e}function dt(e,t,r,n){let a=e.createURL(jr(t)).toString(),s={signal:r};if(n&&Me(n.formMethod)){let{formMethod:o,formEncType:f}=n;s.method=o.toUpperCase(),f==="application/json"?(s.headers=new Headers({"Content-Type":f}),s.body=JSON.stringify(n.json)):f==="text/plain"?s.body=n.text:f==="application/x-www-form-urlencoded"&&n.formData?s.body=Jt(n.formData):s.body=n.formData}return new Request(a,s)}function Jt(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function Or(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function Cr(e,t,r,n,a){let s={},o=null,f,c=!1,p={},b=r&&ye(r[1])?r[1].error:void 0;return e.forEach(y=>{if(!(y.route.id in t))return;let P=y.route.id,h=t[P];if(S(!$e(h),"Cannot handle redirect results in processLoaderData"),ye(h)){let w=h.error;if(b!==void 0&&(w=b,b=void 0),o=o||{},a)o[P]=w;else{let E=Ve(e,P);o[E.route.id]==null&&(o[E.route.id]=w)}s[P]=void 0,c||(c=!0,f=Ze(h.error)?h.error.status:500),h.headers&&(p[P]=h.headers)}else Ie(h)?(n.set(P,h.deferredData),s[P]=h.deferredData.data,h.statusCode!=null&&h.statusCode!==200&&!c&&(f=h.statusCode),h.headers&&(p[P]=h.headers)):(s[P]=h.data,h.statusCode&&h.statusCode!==200&&!c&&(f=h.statusCode),h.headers&&(p[P]=h.headers))}
11),b!==void 0&&r&&(o={[r[0]]:b},s[r[0]]=void 0),{loaderData:s,errors:o,statusCode:f||200,loaderHeaders:p}}function Tr(e,t,r,n,a,s,o){let{loaderData:f,errors:c}=Cr(t,r,n,o,!1);return a.forEach(p=>{let{key:b,match:y,controller:P}=p,h=s[b];if(S(h,"Did not find corresponding fetcher result"),!(P&&P.signal.aborted))if(ye(h)){let w=Ve(e.matches,y?.route.id);c&&c[w.route.id]||(c=I({},c,{[w.route.id]:h.error})),e.fetchers.delete(b)}else if($e(h))S(!1,"Unhandled fetcher revalidation redirect");else if(Ie(h))S(!1,"Unhandled fetcher deferred data");else{let w=Ye(h.data);e.fetchers.set(b,w)}}),{loaderData:f,errors:c}}function xr(e,t,r,n){let a=I({},t);for(let s of r){let o=s.route.id;if(t.hasOwnProperty(o)?t[o]!==void 0&&(a[o]=t[o]):e[o]!==void 0&&s.route.loader&&(a[o]=e[o]),n&&n.hasOwnProperty(o))break}return a}function Ar(e){return e?ye(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Ve(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 Ot(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 ie(e,t){let{pathname:r,routeId:n,method:a,type:s,message:o}=t===void 0?{}:t,f="Unknown Server Error",c="Unknown @remix-run/router error";return e===400?(f="Bad Request",a&&r&&n?c="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.":s==="defer-action"?c="defer() is not supported in actions":s==="invalid-body"&&(c="Unable to encode submission body")):e===403?(f="Forbidden",c='Route "'+n+'" does not match URL "'+r+'"'):e===404?(f="Not Found",c='No route matches URL "'+r+'"'):e===405&&(f="Method Not Allowed",a&&r&&n?c="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&&(c='Invalid request method "'+a.toUpperCase()+'"')),new Mt(e||500,f,new Error(c),!0)}function Ct(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[n,a]=t[r];if($e(a))return{key:n,result:a}}}function jr(e){let t=typeof e=="string"?K(e):e;return ee(I({},t,{hash:""}))}function wn(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function En(e){return e!=null&&typeof e=="object"&&"type"in e&&"result"in e&&(e.type===z.data||e.type===z.error)}function Fr(e){return Ge(e.result)&&cn.has(e.result.status)}function Ie(e){return e.type===z.deferred}function ye(e){return e.type===z.error}function $e(e){return(e&&e.type)===z.redirect}function Xt(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function Ir(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 Ge(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Rn(e){if(!Ge(e))return!1;let t=e.status,r=e.headers.get("Location");return t>=300&&t<=399&&r!=null}function Qt(e){return dn.has(e.toLowerCase())}function Me(e){return sn.has(e.toLowerCase())}async function Sn(e,t,r,n,a){let s=Object.entries(t);for(let o=0;o<s.length;o++){let[f,c]=s[o],p=e.find(P=>P?.route.id===f);if(!p)continue;let b=n.find(P=>P.route.id===p.route.id),y=b!=null&&!wr(b,p)&&(a&&a[p.route.id])!==void 0;Ie(c)&&y&&await Zt(c,r,!1).then(P=>{P&&(t[f]=P)})}}async function Dn(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:s,controller:o}=r[n],f=t[a];e.find(p=>p?.route.id===s)&&Ie(f)&&(S(o,"Expected an AbortController for revalidating fetcher deferred result"),await Zt(f,o.signal,!0).then(p=>{p&&(t[a]=p)}))}}async function Zt(e,t,r){if(r===void 0&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:z.data,data:e.deferredData.unwrappedData}}catch(a){return{type:z.error,error:a}}return{type:z.data,data:e.deferredData.data}}}function qt(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function qe(e,t){let r=typeof t=="string"?K(t).search:t.search;if(e[e.length-1].route.index&&qt(r||""))return e[e.length-1];let n=lr(e);return n[n.length-1]}function Ur(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:s,json:o}=e;
11if(!(!t||!r||!n)){if(a!=null)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(s!=null)return{formMethod:t,formAction:r,formEncType:n,formData:s,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:o,text:void 0}}}function er(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 _n(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 wt(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 Pn(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 Ye(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 Mn(e,t){try{let r=e.sessionStorage.getItem(mr);if(r){let n=JSON.parse(r);for(let[a,s]of Object.entries(n||{}))s&&Array.isArray(s)&&t.set(a,new Set(s||[]))}}catch{}}function Ln(e,t){if(t.size>0){let r={};for(let[n,a]of t)r[n]=[...a];try{e.sessionStorage.setItem(mr,JSON.stringify(r))}catch(n){V(!1,"Failed to save applied view transitions in sessionStorage ("+n+").")}}}A.AbortedDeferredError=kt,A.Action=G,A.IDLE_BLOCKER=ut,A.IDLE_FETCHER=hr,A.IDLE_NAVIGATION=Lt,A.UNSAFE_DEFERRED_SYMBOL=vr,A.UNSAFE_DeferredData=cr,A.UNSAFE_ErrorResponseImpl=Mt,A.UNSAFE_convertRouteMatchToUiMatch=We,A.UNSAFE_convertRoutesToDataRoutes=me,A.UNSAFE_decodePath=bt,A.UNSAFE_getResolveToMatches=sr,A.UNSAFE_invariant=S,A.UNSAFE_warning=V,A.createBrowserHistory=Se,A.createHashHistory=Q,A.createMemoryHistory=Ne,A.createPath=ee,A.createRouter=hn,A.createStaticHandler=pn,A.data=tn,A.defer=an,A.generatePath=Ee,A.getStaticContextFromError=mn,A.getToPathname=Xr,A.isDataWithResponseInit=Xt,A.isDeferredData=Ir,A.isRouteErrorResponse=Ze,A.joinPaths=st,A.json=qr,A.matchPath=Pe,A.matchRoutes=we,A.normalizePathname=dr,A.parsePath=K,A.redirect=Kt,A.redirectDocument=on,A.replace=ln,A.resolvePath=ir,A.resolveTo=ur,A.stripBasename=Ke},277315:_e=>{"use strict";_e.exports=function(le,he){if(he=he.split(":")[0],le=+le,!le)return!1;switch(he){case"http":case"ws":return le!==80;case"https":case"wss":return le!==443;case"ftp":return le!==21;case"gopher":return le!==70;case"file":return!1}return le!==0}},107841:(_e,A)=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.createCacheKeyComparator=Ce,A.defaultEqualityCheck=void 0,A.defaultMemoize=Ne;var le="NOT_FOUND";function he(Se){var Q;return{get:function(V){return Q&&Se(Q.key,V)?Q.value:le},put:function(V,ae){Q={key:V,value:ae}},getEntries:function(){return Q?[Q]:[]},clear:function(){Q=void 0}}}function I(Se,Q){var S=[];function V(ee){var K=S.findIndex(function(z){return Q(ee,z.key)});if(K>-1){var de=S[K];return K>0&&(S.splice(K,1),S.unshift(de)),de.value}return le}function ae(ee,K){V(ee)===le&&(S.unshift({key:ee,value:K}),S.length>Se&&S.pop())}function pe(){return S}function q(){S=[]}return{get:V,put:ae,getEntries:pe,clear:q}}var G=function(Q,S){return Q===S};A.defaultEqualityCheck=G;function Ce(Se){return function(S,V){if(S===null||V===null||S.length!==V.length)return!1;for(var ae=S.length,pe=0;pe<ae;pe++)if(!Se(S[pe],V[pe]))return!1;return!0}}function Ne(Se,Q){var S=typeof Q=="object"?Q:{equalityCheck:Q},V=S.equalityCheck,ae=V===void 0?G:V,pe=S.maxSize,q=pe===void 0?1:pe,ee=S.resultEqualityCheck,K=Ce(ae),de=q===1?he(K):I(q,K);function z(){var be=de.get(arguments);if(be===le){if(be=Se.apply(null,arguments),ee){var Be=de.getEntries(),me=Be.find(function(we){return ee(we.value,be)});me&&(be=me.value)}de.put(arguments,be)}
11return be}return z.clearCache=function(){return de.clear()},z}},980672:(_e,A,le)=>{"use strict";var he;he={value:!0},A.Mz=void 0,he=Ce,he=void 0,he={enumerable:!0,get:function(){return I.defaultEqualityCheck}},he={enumerable:!0,get:function(){return I.defaultMemoize}};var I=le(107841);function G(Q){var S=Array.isArray(Q[0])?Q[0]:Q;if(!S.every(function(ae){return typeof ae=="function"})){var V=S.map(function(ae){return typeof ae=="function"?"function "+(ae.name||"unnamed")+"()":typeof ae}).join(", ");throw new Error("createSelector expects all input-selectors to be functions, but received the following types: ["+V+"]")}return S}function Ce(Q){for(var S=arguments.length,V=new Array(S>1?S-1:0),ae=1;ae<S;ae++)V[ae-1]=arguments[ae];var pe=function(){for(var ee=arguments.length,K=new Array(ee),de=0;de<ee;de++)K[de]=arguments[de];var z=0,be,Be={memoizeOptions:void 0},me=K.pop();if(typeof me=="object"&&(Be=me,me=K.pop()),typeof me!="function")throw new Error("createSelector expects an output function after the inputs, but received: ["+typeof me+"]");var we=Be,Ae=we.memoizeOptions,We=Ae===void 0?V:Ae,je=Array.isArray(We)?We:[We],ke=G(K),ot=Q.apply(void 0,[function(){return z++,me.apply(null,arguments)}].concat(je)),lt=Q(function(){for(var Qe=[],gt=ke.length,v=0;v<gt;v++)Qe.push(ke[v].apply(null,arguments));return be=ot.apply(null,Qe),be});return Object.assign(lt,{resultFunc:me,memoizedResultFunc:ot,dependencies:ke,lastResult:function(){return be},recomputations:function(){return z},resetRecomputations:function(){return z=0}}),lt};return pe}var Ne=Ce(I.defaultMemoize);A.Mz=Ne;var Se=function(S,V){if(V===void 0&&(V=Ne),typeof S!="object")throw new Error("createStructuredSelector expects first argument to be an object "+("where each property is a selector, instead received a "+typeof S));var ae=Object.keys(S),pe=V(ae.map(function(q){return S[q]}),function(){for(var q=arguments.length,ee=new Array(q),K=0;K<q;K++)ee[K]=arguments[K];return ee.reduce(function(de,z,be){return de[ae[be]]=z,de},{})});return pe};he=Se},678041:function(_e,A,le){(function(he,I){_e.exports=I()})(this,function(){"use strict";var he=function(){if(typeof Map<"u")return Map;function v(g,D){var j=-1;return g.some(function(B,ce){return B[0]===D?(j=ce,!0):!1}),j}return function(){function g(){this.__entries__=[]}return Object.defineProperty(g.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),g.prototype.get=function(D){var j=v(this.__entries__,D),B=this.__entries__[j];return B&&B[1]},g.prototype.set=function(D,j){var B=v(this.__entries__,D);~B?this.__entries__[B][1]=j:this.__entries__.push([D,j])},g.prototype.delete=function(D){var j=this.__entries__,B=v(j,D);~B&&j.splice(B,1)},g.prototype.has=function(D){return!!~v(this.__entries__,D)},g.prototype.clear=function(){this.__entries__.splice(0)},g.prototype.forEach=function(D,j){j===void 0&&(j=null);for(var B=0,ce=this.__entries__;B<ce.length;B++){var Ee=ce[B];D.call(j,Ee[1],Ee[0])}},g}()}(),I=typeof window<"u"&&typeof document<"u"&&window.document===document,G=function(){return typeof le.g<"u"&&le.g.Math===Math?le.g:typeof self<"u"&&self.Math===Math?self:typeof window<"u"&&window.Math===Math?window:Function("return this")()}(),Ce=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(G):function(v){return setTimeout(function(){return v(Date.now())},1e3/60)}}(),Ne=2;function Se(v,g){var D=!1,j=!1,B=0;function ce(){D&&(D=!1,v()),j&&Pe()}function Ee(){Ce(ce)}function Pe(){var Te=Date.now();if(D){if(Te-B<Ne)return;j=!0}else D=!0,j=!1,setTimeout(Ee,g);B=Te}return Pe}var Q=20,S=["top","right","bottom","left","width","height","size","weight"],V=typeof MutationObserver<"u",ae=function(){function v(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=Se(this.refresh.bind(this),Q)}return v.prototype.addObserver=function(g){~this.observers_.indexOf(g)||this.observers_.push(g),this.connected_||this.connect_()},v.prototype.removeObserver=function(g){var D=this.observers_,j=D.indexOf(g);~j&&D.splice(j,1),!D.length&&this.connected_&&this.disconnect_()},v.prototype.refresh=function(){var g=this.updateObservers_();g&&this.refresh()},v.prototype.updateObservers_=function(){var g=this.observers_.filter(function(D){return D.gatherActive(),D.hasActive()});return g.forEach(function(D){return D.broadcastActive()}),g.length>0},v.prototype.connect_=function(){!I||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),V?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},v.prototype.disconnect_=function(){!I||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},v.prototype.onTransitionEnd_=function(g){var D=g.propertyName,j=D===void 0?"":D,B=S.some(function(ce){return!!~j.indexOf(ce)});B&&this.refresh()},v.getInstance=function(){return this.instance_||(this.instance_=ne
11w v),this.instance_},v.instance_=null,v}(),pe=function(v,g){for(var D=0,j=Object.keys(g);D<j.length;D++){var B=j[D];Object.defineProperty(v,B,{value:g[B],enumerable:!1,writable:!1,configurable:!0})}return v},q=function(v){var g=v&&v.ownerDocument&&v.ownerDocument.defaultView;return g||G},ee=je(0,0,0,0);function K(v){return parseFloat(v)||0}function de(v){for(var g=[],D=1;D<arguments.length;D++)g[D-1]=arguments[D];return g.reduce(function(j,B){var ce=v["border-"+B+"-width"];return j+K(ce)},0)}function z(v){for(var g=["top","right","bottom","left"],D={},j=0,B=g;j<B.length;j++){var ce=B[j],Ee=v["padding-"+ce];D[ce]=K(Ee)}return D}function be(v){var g=v.getBBox();return je(0,0,g.width,g.height)}function Be(v){var g=v.clientWidth,D=v.clientHeight;if(!g&&!D)return ee;var j=q(v).getComputedStyle(v),B=z(j),ce=B.left+B.right,Ee=B.top+B.bottom,Pe=K(j.width),Te=K(j.height);if(j.boxSizing==="border-box"&&(Math.round(Pe+ce)!==g&&(Pe-=de(j,"left","right")+ce),Math.round(Te+Ee)!==D&&(Te-=de(j,"top","bottom")+Ee)),!we(v)){var bt=Math.round(Pe+ce)-g,Ke=Math.round(Te+Ee)-D;Math.abs(bt)!==1&&(Pe-=bt),Math.abs(Ke)!==1&&(Te-=Ke)}return je(B.left,B.top,Pe,Te)}var me=function(){return typeof SVGGraphicsElement<"u"?function(v){return v instanceof q(v).SVGGraphicsElement}:function(v){return v instanceof q(v).SVGElement&&typeof v.getBBox=="function"}}();function we(v){return v===q(v).document.documentElement}function Ae(v){return I?me(v)?be(v):Be(v):ee}function We(v){var g=v.x,D=v.y,j=v.width,B=v.height,ce=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,Ee=Object.create(ce.prototype);return pe(Ee,{x:g,y:D,width:j,height:B,top:D,right:g+j,bottom:B+D,left:g}),Ee}function je(v,g,D,j){return{x:v,y:g,width:D,height:j}}var ke=function(){function v(g){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=je(0,0,0,0),this.target=g}return v.prototype.isActive=function(){var g=Ae(this.target);return this.contentRect_=g,g.width!==this.broadcastWidth||g.height!==this.broadcastHeight},v.prototype.broadcastRect=function(){var g=this.contentRect_;return this.broadcastWidth=g.width,this.broadcastHeight=g.height,g},v}(),ot=function(){function v(g,D){var j=We(D);pe(this,{target:g,contentRect:j})}return v}(),lt=function(){function v(g,D,j){if(this.activeObservations_=[],this.observations_=new he,typeof g!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=g,this.controller_=D,this.callbackCtx_=j}return v.prototype.observe=function(g){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(g instanceof q(g).Element))throw new TypeError('parameter 1 is not of type "Element".');var D=this.observations_;D.has(g)||(D.set(g,new ke(g)),this.controller_.addObserver(this),this.controller_.refresh())}},v.prototype.unobserve=function(g){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(g instanceof q(g).Element))throw new TypeError('parameter 1 is not of type "Element".');var D=this.observations_;D.has(g)&&(D.delete(g),D.size||this.controller_.removeObserver(this))}},v.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},v.prototype.gatherActive=function(){var g=this;this.clearActive(),this.observations_.forEach(function(D){D.isActive()&&g.activeObservations_.push(D)})},v.prototype.broadcastActive=function(){if(this.hasActive()){var g=this.callbackCtx_,D=this.activeObservations_.map(function(j){return new ot(j.target,j.broadcastRect())});this.callback_.call(g,D,g),this.clearActive()}},v.prototype.clearActive=function(){this.activeObservations_.splice(0)},v.prototype.hasActive=function(){return this.activeObservations_.length>0},v}(),Fe=typeof WeakMap<"u"?new WeakMap:new he,Qe=function(){function v(g){if(!(this instanceof v))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var D=ae.getInstance(),j=new lt(g,D,this);Fe.set(this,j)}return v}();["observe","unobserve","disconnect"].forEach(function(v){Qe.prototype[v]=function(){var g;return(g=Fe.get(this))[v].apply(g,arguments)}});var gt=function(){return typeof G.ResizeObserver<"u"?G.ResizeObserver:Qe}();return gt})}}]);

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.