vendor: 9,056 bytes, lines 1-17
1function nn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var me={exports:{}},w={};/** 2 * @license React 3 * react.production.js 4 * 5 * Copyright (c) Meta Platforms, Inc. and affiliates. 6 * 7 * This source code is licensed under the MIT license found in the 8 * LICENSE file in the root directory of this source tree. 9 */var Ie;function Rt(){if(Ie)return w;Ie=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),i=Symbol.for("react.consumer"),s=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),o=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),h=Symbol.for("react.activity"),m=Symbol.iterator;function R(u){return u===null||typeof u!="object"?null:(u=m&&u[m]||u["@@iterator"],typeof u=="function"?u:null)}var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,g={};function y(u,p,S){this.props=u,this.context=p,this.refs=g,this.updater=S||E}y.prototype.isReactComponent={},y.prototype.setState=function(u,p){if(typeof u!="object"&&typeof u!="function"&&u!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,u,p,"setState")},y.prototype.forceUpdate=function(u){this.updater.enqueueForceUpdate(this,u,"forceUpdate")};function _(){}_.prototype=y.prototype;function x(u,p,S){this.props=u,this.context=p,this.refs=g,this.updater=S||E}var A=x.prototype=new _;A.constructor=x,v(A,y.prototype),A.isPureReactComponent=!0;var k=Array.isArray;function N(){}var P={H:null,A:null,T:null,S:null},W=Object.prototype.hasOwnProperty;function Y(u,p,S){var C=S.ref;return{$$typeof:e,type:u,key:p,ref:C!==void 0?C:null,props:S}}function Z(u,p){return Y(u.type,p,u.props)}function ee(u){return typeof u=="object"&&u!==null&&u.$$typeof===e}function pe(u){var p={"=":"=0",":":"=2"};return"$"+u.replace(/[=:]/g,function(S){return p[S]})}var te=/\/+/g;function G(u,p){return typeof u=="object"&&u!==null&&u.key!=null?pe(""+u.key):p.toString(36)}function B(u){switch(u.status){case"fulfilled":return u.value;case"rejected":throw u.reason;default:switch(typeof u.status=="string"?u.then(N,N):(u.status="pending",u.then(function(p){u.status==="pending"&&(u.status="fulfilled",u.value=p)},function(p){u.status==="pending"&&(u.status="rejected",u.reason=p)})),u.status){case"fulfilled":return u.value;case"rejected":throw u.reason}}throw u}function K(u,p,S,C,b){var L=typeof u;(L==="undefined"||L==="boolean")&&(u=null);var T=!1;if(u===null)T=!0;else switch(L){case"bigint":case"string":case"number":T=!0;break;case"object":switch(u.$$typeof){case e:case t:T=!0;break;case d:return T=u._init,K(T(u._payload),p,S,C,b)}}if(T)return b=b(u),T=C===""?"."+G(u,0):C,k(b)?(S="",T!=null&&(S=T.replace(te,"$&/")+"/"),K(b,p,S,"",function(vt){return vt})):b!=null&&(ee(b)&&(b=Z(b,S+(b.key==null||u&&u.key===b.key?"":(""+b.key).replace(te,"$&/")+"/")+T)),p.push(b)),1;T=0;var j=C===""?".":C+":";if(k(u))for(var D=0;D<u.length;D++)C=u[D],L=j+G(C,D),T+=K(C,p,S,L,b);else if(D=R(u),typeof D=="function")for(u=D.call(u),D=0;!(C=u.next()).done;)C=C.value,L=j+G(C,D++),T+=K(C,p,S,L,b);else if(L==="object"){if(typeof u.then=="function")return K(B(u),p,S,C,b);throw p=String(u),Error("Objects are not valid as a React child (found: "+(p==="[object Object]"?"object with keys {"+Object.keys(u).join(", ")+"}":p)+"). If you meant to render a collection of children, use an array instead.")}return T}function oe(u,p,S){if(u==null)return u;var C=[],b=0;return K(u,C,"","",function(L){return p.call(S,L,b++)}),C}function yt(u){if(u._status===-1){var p=u._result;p=p(),p.then(function(S){(u._status===0||u._status===-1)&&(u._status=1,u._result=S)},function(S){(u._status===0||u._status===-1)&&(u._status=2,u._result=S)}),u._status===-1&&(u._status=0,u._result=p)}if(u._status===1)return u._result.default;throw u._result}var De=typeof reportError=="function"?reportError:function(u){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var p=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof u=="object"&&u!==null&&typeof u.message=="string"?String(u.message):String(u),error:u});if(!window.dispatchEvent(p))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",u);return}console.error(u)},gt={map:oe,forEach:function(u,p,S){oe(u,function(){p.apply(this,arguments)},S)},count:function(u){var p=0;return oe(u,function(){p++}),p},toArray:function(u){return oe(u,function(p){return p})||[]},only:function(u){if(!ee(u))throw Error("React.Children.only expected to receive a single React element child.");return u}};return w.Activity=h,w.Children=gt,w.Component=y,w.Fragment=r,w.Profiler=a,w.PureComponent=x,w.StrictMode=n,w.Suspense=l,w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=P,w.__COMPILER_RUNTIME={__proto__:null,c:function(u){return P.H.useMemoCache(u)}},w.cache=function(u){return function(){return u.apply(null,arguments)}},w.cacheSignal=function(){return null},w.cloneElement=function(u,p,S){if(u==null)throw Error("The argument must be a React element, but you passed "+u+".");var C=v({},u.props),b=u.key;if(p!=null)for(L in p.key!==void 0&&(b=""+p.key),p)!W.call(p,L)||L==="key"||L==="__self"||L==="__source"||L==="ref"&&p.ref===void 0||(C[L]=p[L]);var L=arguments.length-2;if(L===1)C.children=S;else if(1<L){for(var T=Array(L),j=0;j<L;j++)T[j]=arguments[j+2];C.children=T}return Y(u.type,b,C)},w.createContext=function(u){return u={$$typeof:s,_currentValue:u,_currentValue2:u,_threadCount:0,Provider:null,Consumer:null},u.Provider=u,u.Consumer={$$typeof:i,_context:u},u},w.createElement=function(u,p,S){var C,b={},L=null;if(p!=null)for(C in p.key!==void 0&&(L=""+p.key),p)W.call(p,C)&&C!=="key"&&C!=="__self"&&C!=="__source"&&(b[C]=p[C]);var T=arguments.length-2;if(T===1)b.children=S;else if(1<T){for(var j=Array(T),D=0;D<T;D++)j[D]=arguments[D+2];b.children=j}if(u&&u.defaultProps)for(C in T=u.defaultProps,T)b[C]===void 0&&(b[C]=T[C]);return Y(u,L,b)},w.createRef=function(){return{current:null}},w.forwardRef=function(u){return{$$typeof:f,render:u}},w.isValidElement=ee,w.lazy=function(u){return{$$typeof:d,_payload:{_status:-1,_result:u},_init:yt}},w.memo=function(u,p){return{$$typeof:o,type:u,compare:p===void 0?null:p}},w.startTransition=function(u){var p=P.T,S={};P.T=S;try{var C=u(),b=P.S;b!==null&&b(S,C),typeof C=="object"&&C!==null&&typeof C.then=="function"&&C.then(N,De)}catch(L){De(L)}finally{p!==null&&S.types!==null&&(p.types=S.types),P.T=p}},w.unstable_useCacheRefresh=function(){return P.H.useCacheRefresh()},w.use=function(u){return P.H.use(u)},w.useActionState=function(u,p,S){return P.H.useActionState(u,p,S)},w.useCallback=function(u,p){return P.H.useCallback(u,p)},w.useContext=function(u){return P.H.useContext(u)},w.useDebugValue=function(){},w.useDeferredValue=function(u,p){return P.H.useDeferredValue(u,p)},w.useEffect=function(u,p){return P.H.useEffect(u,p)},w.useEffectEvent=function(u){return P.H.useEffectEvent(u)},w.useId=function(){return P.H.useId()},w.useImperativeHandle=function(u,p,S){return P.H.useImperativeHandle(u,p,S)},w.useInsertionEffect=function(u,p){return P.H.useInsertionEffect(u,p)},w.useLayoutEffect=function(u,p){return P.H.useLayoutEffect(u,p)},w.useMemo=function(u,p){return P.H.useMemo(u,p)},w.useOptimistic=function(u,p){return P.H.useOptimistic(u,p)},w.useReducer=function(u,p,S){return P.H.useReducer(u,p,S)},w.useRef=function(u){return P.H.useRef(u)},w.useState=function(u){return P.H.useState(u)},w.useSyncExternalStore=function(u,p,S){return P.H.useSyncExternalStore(u,p,S)},w.useTransition=function(){return P.H.useTransition()},w.version="19.2.4",w}var Ue;function Ke(){return Ue||(Ue=1,me.exports=Rt()),me.exports}var c=Ke(),ye={exports:{}},$={};/** 10 * @license React 11 * react-dom.production.js 12 * 13 * Copyright (c) Meta Platforms, Inc. and affiliates. 14 * 15 * This source code is licensed under the MIT license found in the 16 * LICENSE file in the root directory of this source tree. 17 */var Me;function Et(){if(Me)return $;Me=1;var e=Ke();function t(l){var o="https://react.dev/errors/"+l;if(1<arguments.length){o+="?args[]="+encodeURIComponent(arguments[1]);for(var d=2;d<arguments.length;d++)o+="&args[]="+encodeURIComponent(arguments[d])}return"Minified React error #"+l+"; visit "+o+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var n={d:{f:r,r:function(){throw Error(t(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for("react.portal");function i(l,o,d){var h=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:h==null?null:""+h,children:l,containerInfo:o,implementation:d}}var s=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function f(l,o){if(l==="font")return"";
17if(typeof o=="string")return o==="use-credentials"?o:""}return $.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=n,$.createPortal=function(l,o){var d=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!o||o.nodeType!==1&&o.nodeType!==9&&o.nodeType!==11)throw Error(t(299));return i(l,o,null,d)},$.flushSync=function(l){var o=s.T,d=n.p;try{if(s.T=null,n.p=2,l)return l()}finally{s.T=o,n.p=d,n.d.f()}},$.preconnect=function(l,o){typeof l=="string"&&(o?(o=o.crossOrigin,o=typeof o=="string"?o==="use-credentials"?o:"":void 0):o=null,n.d.C(l,o))},$.prefetchDNS=function(l){typeof l=="string"&&n.d.D(l)},$.preinit=function(l,o){if(typeof l=="string"&&o&&typeof o.as=="string"){var d=o.as,h=f(d,o.crossOrigin),m=typeof o.integrity=="string"?o.integrity:void 0,R=typeof o.fetchPriority=="string"?o.fetchPriority:void 0;d==="style"?n.d.S(l,typeof o.precedence=="string"?o.precedence:void 0,{crossOrigin:h,integrity:m,fetchPriority:R}):d==="script"&&n.d.X(l,{crossOrigin:h,integrity:m,fetchPriority:R,nonce:typeof o.nonce=="string"?o.nonce:void 0})}},$.preinitModule=function(l,o){if(typeof l=="string")if(typeof o=="object"&&o!==null){if(o.as==null||o.as==="script"){var d=f(o.as,o.crossOrigin);n.d.M(l,{crossOrigin:d,integrity:typeof o.integrity=="string"?o.integrity:void 0,nonce:typeof o.nonce=="string"?o.nonce:void 0})}}else o==null&&n.d.M(l)},$.preload=function(l,o){if(typeof l=="string"&&typeof o=="object"&&o!==null&&typeof o.as=="string"){var d=o.as,h=f(d,o.crossOrigin);n.d.L(l,d,{crossOrigin:h,integrity:typeof o.integrity=="string"?o.integrity:void 0,nonce:typeof o.nonce=="string"?o.nonce:void 0,type:typeof o.type=="string"?o.type:void 0,fetchPriority:typeof o.fetchPriority=="string"?o.fetchPriority:void 0,referrerPolicy:typeof o.referrerPolicy=="string"?o.referrerPolicy:void 0,imageSrcSet:typeof o.imageSrcSet=="string"?o.imageSrcSet:void 0,imageSizes:typeof o.imageSizes=="string"?o.imageSizes:void 0,media:typeof o.media=="string"?o.media:void 0})}},$.preloadModule=function(l,o){if(typeof l=="string")if(o){var d=f(o.as,o.crossOrigin);n.d.m(l,{as:typeof o.as=="string"&&o.as!=="script"?o.as:void 0,crossOrigin:d,integrity:typeof o.integrity=="string"?o.integrity:void 0})}else n.d.m(l)},$.requestFormReset=function(l){n.d.r(l)},$.unstable_batchedUpdates=function(l,o){return l(o)},$.useFormState=function(l,o,d){return s.H.useFormState(l,o,d)},$.useFormStatus=function(){return s.H.useHostTransitionStatus()},$.version="19.2.4",$}var He;function wt(){if(He)return ye.exports;He=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),ye.exports=Et(),ye.exports}/** 18 * react-router v7.18.3 19 * 20 * Copyright (c) Remix Software Inc. 21 * 22 * This source code is licensed under the MIT license found in the 23 * LICENSE.md file in the root directory of this source tree. 24 * 25 * @license MIT 26 */var _e=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,Ve=/^[\\/]{2}/;function Ct(e,t){return t+e.replace(/\\/g,"/")}var Fe="popstate";function Be(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function St(e={}){function t(n,a){var o;let i=(o=a.state)==null?void 0:o.masked,{pathname:s,search:f,hash:l}=i||n.location;return we("",{pathname:s,search:f,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default",i?{pathname:n.location.pathname,search:n.location.search,hash:n.location.hash}:void 0)}function r(n,a){return typeof a=="string"?a:z(a)}return xt(t,r,null,e)}function O(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function U(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function _t(){return Math.random().toString(36).substring(2,10)}function je(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function we(e,t,r=null,n,a){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?J(t):t,state:r,key:t&&t.key||n||_t(),mask:a}}function z({pathname:e="/",search:t="",hash:r=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),r&&r!=="#"&&(e+=r.charAt(0)==="#"?r:"#"+r),e}function J(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substring(r),e=e.substring(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substring(n),e=e.substring(0,n)),e&&(t.pathname=e)}return t}function xt(e,t,r,n={}){let{window:a=document.defaultView,v5Compat:i=!1}=n,s=a.history,f="POP",l=null,o=d();o==null&&(o=0,s.replaceState({...s.state,idx:o},""));function d(){return(s.state||{idx:null}).idx}function h(){f="POP";let g=d(),y=g==null?null:g-o;o=g,l&&l({action:f,location:v.location,delta:y})}function m(g,y){f="PUSH";let _=Be(g)?g:we(v.location,g,y);o=d()+1;let x=je(_,o),A=v.createHref(_.mask||_);try{s.pushState(x,"",A)}catch(k){if(k instanceof DOMException&&k.name==="DataCloneError")throw k;a.location.assign(A)}i&&l&&l({action:f,location:v.location,delta:1})}function R(g,y){f="REPLACE";let _=Be(g)?g:we(v.location,g,y);o=d();let x=je(_,o),A=v.createHref(_.mask||_);s.replaceState(x,"",A),i&&l&&l({action:f,location:v.location,delta:0})}function E(g){return Pt(a,g)}let v={get action(){return f},get location(){return e(a,s)},listen(g){if(l)throw new Error("A history only accepts one active listener");return a.addEventListener(Fe,h),l=g,()=>{a.removeEventListener(Fe,h),l=null}},createHref(g){return t(a,g)},createURL:E,encodeLocation(g){let y=E(g);return{pathname:y.pathname,search:y.search,hash:y.hash}},push:m,replace:R,go(g){return s.go(g)}};return v}function Pt(e,t,r=!1){let n="http://localhost";e&&(n=e.location.origin!=="null"?e.location.origin:e.location.href),O(n,"No window.location.(origin|href) available to create URL");let a=typeof t=="string"?t:z(t);return a=a.replace(/ $/,"%20"),!r&&Ve.test(a)&&(a=n+a),new URL(a,n)}function Je(e,t,r="/"){return bt(e,t,r,!1)}function bt(e,t,r,n,a){let i=typeof t=="string"?J(t):t,s=q(i.pathname||"/",r);if(s==null)return null;let f=Lt(e),l=null,o=Ht(s);for(let d=0;l==null&&d<f.length;++d)l=Mt(f[d],o,n);return l}function Lt(e){let t=Xe(e);return Tt(t),t}function Xe(e,t=[],r=[],n="",a=!1){let i=(s,f,l=a,o)=>{let d={relativePath:o===void 0?s.path||"":o,caseSensitive:s.caseSensitive===!0,childrenIndex:f,route:s};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(n)&&l)return;O(d.relativePath.startsWith(n),`Absolute route path "${d.relativePath}" nested under path "${n}
26" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(n.length)}let h=H([n,d.relativePath]),m=r.concat(d);s.children&&s.children.length>0&&(O(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${h}".`),Xe(s.children,t,m,h,l)),!(s.path==null&&!s.index)&&t.push({path:h,score:It(h,s.index),routesMeta:m.map((R,E)=>{let[v,g]=et(R.relativePath,R.caseSensitive,E===m.length-1);return{...R,matcher:v,compiledParams:g}})})};return e.forEach((s,f)=>{var l;if(s.path===""||!((l=s.path)!=null&&l.includes("?")))i(s,f);else for(let o of Qe(s.path))i(s,f,!0,o)}),t}function Qe(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),i=r.replace(/\?$/,"");if(n.length===0)return a?[i,""]:[i];let s=Qe(n.join("/")),f=[];return f.push(...s.map(l=>l===""?i:[i,l].join("/"))),a&&f.push(...s),f.map(l=>e.startsWith("/")&&l===""?"/":l)}function Tt(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:Ut(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}var Ot=/^:[\w-]+$/,kt=3,At=2,$t=1,Nt=10,Dt=-2,We=e=>e==="*";function It(e,t){let r=e.split("/"),n=r.length;return r.some(We)&&(n+=Dt),t&&(n+=At),r.filter(a=>!We(a)).reduce((a,i)=>a+(Ot.test(i)?kt:i===""?$t:Nt),n)}function Ut(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 Mt(e,t,r=!1){let{routesMeta:n}=e,a={},i="/",s=[];for(let f=0;f<n.length;++f){let l=n[f],o=f===n.length-1,d=i==="/"?t:t.slice(i.length)||"/",h={path:l.relativePath,caseSensitive:l.caseSensitive,end:o},m=l.matcher&&l.compiledParams?Ze(h,d,l.matcher,l.compiledParams):se(h,d),R=l.route;if(!m&&o&&r&&!n[n.length-1].route.index&&(m=se({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},d)),!m)return null;
26Object.assign(a,m.params),s.push({params:a,pathname:H([i,m.pathname]),pathnameBase:jt(H([i,m.pathnameBase])),route:R}),m.pathnameBase!=="/"&&(i=H([i,m.pathnameBase]))}return s}function se(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=et(e.path,e.caseSensitive,e.end);return Ze(e,t,r,n)}function Ze(e,t,r,n){let a=t.match(r);if(!a)return null;let i=a[0],s=V(i,1),f=a.slice(1);return{params:n.reduce((o,{paramName:d,isOptional:h},m)=>{if(d==="*"){let E=f[m]||"";s=V(i.slice(0,i.length-E.length),1)}const R=f[m];return h&&!R?o[d]=void 0:o[d]=(R||"").replace(/%2F/g,"/"),o},{}),pathname:i,pathnameBase:s,pattern:e}}function et(e,t=!1,r=!0){U(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,(s,f,l,o,d)=>{if(n.push({paramName:f,isOptional:l!=null}),l){let h=d.charAt(o+s.length);return h&&h!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function Ht(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return U(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function q(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 Ft(e,t="/"){let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?J(e):e,i;return r?(r=tt(r),r.startsWith("/")||r.startsWith("\\")?i=Ye(r.substring(1),"/"):i=Ye(r,t)):i=t,{pathname:i,search:Wt(n),hash:Yt(a)}}function Ye(e,t){let r=V(t).split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function ge(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 Bt(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function xe(e){let t=Bt(e);return t.map((r,n)=>n===t.length-1?r.pathname:r.pathnameBase)}function ce(e,t,r,n=!1){let a;typeof e=="string"?a=J(e):(a={...e},O(!a.pathname||!a.pathname.includes("?"),ge("?","pathname","search",a)),O(!a.pathname||!a.pathname.includes("#"),ge("#","pathname","hash",a)),O(!a.search||!a.search.includes("#"),ge("#","search","hash",a)));let i=e===""||a.pathname==="",s=i?"/":a.pathname,f;if(s==null)f=r;else{let h=t.length-1;if(!n&&s.startsWith("..")){let m=s.split("/");for(;m[0]==="..";)m.shift(),h-=1;a.pathname=m.join("/")}f=h>=0?t[h]:"/"}let l=Ft(a,f),o=s&&s!=="/"&&s.endsWith("/"),d=(i||s===".")&&r.endsWith("/");return!l.pathname.endsWith("/")&&(o||d)&&(l.pathname+="/"),l}var tt=e=>e.replace(/[\\/]{2,}/g,"/"),H=e=>tt(e.join("/"));function V(e,t=0){let r=e.length;for(;r>t&&e.charCodeAt(r-1)===47;)r--;return r===e.length?e:e.slice(0,r)}var jt=e=>V(e).replace(/^\/*/,"/"),Wt=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Yt=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,qt=class{constructor(e,t,r,n=!1){this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function zt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Gt(e){let t=e.map(r=>r.route.path).filter(Boolean);return H(t)||"/"}var rt=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function nt(e,t){let r=e;if(typeof r!="string"||!_e.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let n=r,a=!1;if(rt)try{let i=new URL(window.location.href),s=Ve.test(r)?new URL(Ct(r,i.protocol)):new URL(r),f=q(s.pathname,t);s.origin===i.origin&&f!=null?r=f+s.search+s.hash:a=!0}catch{U(!1,`<Link to="${r}">
26 contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:n,isExternal:a,to:r}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var qe=new URL("http://localhost");function Pe(e){if(e.createURL)return e.createURL("/");try{return new URL(e.createHref("/"),qe)}catch{return qe}}function ve(e,t){return e.origin===t.origin&&(e.origin!=="null"||e.protocol===t.protocol&&e.host===t.host)}function Kt(e,t){if(e.startsWith("//"))return!0;let r=t.protocol.toLowerCase();return e.toLowerCase().startsWith(r)?t.host===""||e.slice(r.length).startsWith("//"):!1}function be(e,t,r,n){let a=null;try{a=e==null?null:new URL(e,r)}catch{}let i=new URL(t,r),s=a!=null&&!ve(a,r),f=!ve(i,r);if(n==="reject"){if(s||f)throw new Error("External navigation is not allowed")}else if(f&&(a==null||!Kt(e,a)||!ve(a,i)))throw new Error("External navigation is not allowed")}var at=["POST","PUT","PATCH","DELETE"];new Set(at);var Vt=["GET",...at];new Set(Vt);var Jt=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function Xt(e){try{return Jt.includes(new URL(e).protocol)}catch{return!1}}var X=c.createContext(null);X.displayName="DataRouter";var fe=c.createContext(null);fe.displayName="DataRouterState";var ot=c.createContext(!1);function Qt(){return c.useContext(ot)}var it=c.createContext({isTransitioning:!1});it.displayName="ViewTransition";var Zt=c.createContext(new Map);Zt.displayName="Fetchers";var er=c.createContext(null);er.displayName="Await";var I=c.createContext(null);I.displayName="Navigation";var ne=c.createContext(null);ne.displayName="Location";var M=c.createContext({outlet:null,matches:[],isDataRoute:!1});M.displayName="Route";var Le=c.createContext(null);Le.displayName="RouteError";var ut="REACT_ROUTER_ERROR",tr="REDIRECT",rr="ROUTE_ERROR_RESPONSE";function nr(e){if(e.startsWith(`${ut}:${tr}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function ar(e){if(e.startsWith(`${ut}:${rr}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new qt(t.status,t.statusText,t.data)}catch{}}function or(e,{relative:t}={}){O(Q(),"useHref() may be used only in the context of a <Router> component.");let{basename:r,navigator:n}=c.useContext(I),{hash:a,pathname:i,search:s}=ae(e,{relative:t}),f=i;return r!=="/"&&(f=i==="/"?r:H([r,i])),n.createHref({pathname:f,search:s,hash:a})}function Q(){return c.useContext(ne)!=null}function F(){return O(Q(),"useLocation() may be used only in the context of a <Router> component."),c.useContext(ne).location}var lt="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function st(e){c.useContext(I).static||c.useLayoutEffect(e)}function Te(){let{isDataRoute:e}=c.useContext(M);return e?Er():ir()}function ir(){O(Q(),"useNavigate() may be used only in the context of a <Router> component.");let e=c.useContext(X),{basename:t,navigator:r}=c.useContext(I),{matches:n}=c.useContext(M),{pathname:a}=F(),i=JSON.stringify(xe(n)),s=c.useRef(!1);return st(()=>{s.current=!0}),c.useCallback((l,o={})=>{if(U(s.current,lt),!s.current)return;if(typeof l=="number"){r.go(l);return}let d=ce(l,JSON.parse(i),a,o.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:H([t,d.pathname])),be(typeof l=="string"?l:z(l),r.createHref(d),Pe(r),"reject"),(o.replace?r.replace:r.push)(d,o.state,o)},[t,r,i,a,e])}var ur=c.createContext(null);function lr(e){let t=c.useContext(M).outlet;return c.useMemo(()=>t&&c.createElement(ur.Provider,{value:e},t),[t,e])}function an(){let{matches:e}=c.useContext(M),t=e[e.length-1];return(t==null?void 0:t.params)??{}}function ae(e,{relative:t}={}){let{matches:r}=c.useContext(M),{pathname:n}=F(),a=JSON.stringify(xe(r));return c.useMemo(()=>ce(e,JSON.parse(a),n,t==="path"),[e,a,n,t])}function sr(e,t){return ct(e,t)}function ct(e,t,r){var g;O(Q(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:n}=c.useContext(I),{matches:a}=c.useContext(M),i=a[a.length-1],s=i?i.params:{},f=i?i.pathname:"/",l=i?i.pathnameBase:"/",o=i&&i.route;{let y=o&&o.path||"";dt(f,!o||y.endsWith("*")||y.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${f}" (under <Route path="${y}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. 27 28Please change the parent <Route path="${y}"> to <Route path="${y==="/"?"*":`${y}/*`}">.`)}let d=F(),h;if(t){let y=typeof t=="string"?J(t):t;O(l==="/"||((g=y.pathname)==null?void 0:g.startsWith(l)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${l}" but pathname "${y.pathname}" was given in the \`location\` prop.`),h=y}else h=d;let m=h.pathname||"/",R=m;if(l!=="/"){let y=l.replace(/^\//,"").split("/");R="/"+m.replace(/^\//,"").split("/").slice(y.length).join("/")}let E=r&&r.state.matches.length?r.state.matches.map(y=>Object.assign(y,{route:r.manifest[y.route.id]||y.route})):Je(e,{pathname:R});U(o||E!=null,`No routes matched location "${h.pathname}${h.search}${h.hash}" `),U(E==null||E[E.length-1].route.element!==void 0||E[E.length-1].route.Component!==void 0||E[E.length-1].route.lazy!==void 0,`Matched leaf route at location "${h.pathname}${h.search}${h.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let v=pr(E&&E.map(y=>Object.assign({},y,{params:Object.assign({},s,y.params),pathname:H([l,n.encodeLocation?n.encodeLocation(y.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:y.pathname]),pathnameBase:y.pathnameBase==="/"?l:H([l,n.encodeLocation?n.encodeLocation(y.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:y.pathnameBase])})),a,r);return t&&v?c.createElement(ne.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...h},navigationType:"POP"}},v):v}function cr(){let e=Rr(),t=zt(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},i={padding:"2px 4px",backgroundColor:n},s=null;return console.error("Error handled by React Router default ErrorBoundary:",e),s=c.createElement(c.Fragment,null,c.createElement("p",null,"ð¿ Hey developer ð"),c.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",c.createElement("code",{style:i},"ErrorBoundary")," or"," ",c.createElement("code",{style:i},"errorElement")," prop on your route.")),c.createElement(c.Fragment,null,c.createElement("h2",null,"Unexpected Application
28Error!"),c.createElement("h3",{style:{fontStyle:"italic"}},t),r?c.createElement("pre",{style:a},r):null,s)}var fr=c.createElement(cr,null),ft=class extends c.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const r=ar(e.digest);r&&(e=r)}let t=e!==void 0?c.createElement(M.Provider,{value:this.props.routeContext},c.createElement(Le.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?c.createElement(dr,{error:e},t):t}};ft.contextType=ot;var Re=new WeakMap;function dr({children:e,error:t}){let{basename:r,navigator:n}=c.useContext(I);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let a=nr(t.digest);if(a){let i=Re.get(t);if(i)throw i;let s=nt(a.location,r),f=s.absoluteURL||s.to;if(be(a.location,f,Pe(n),"allow-explicit"),Xt(f))throw new Error("Invalid redirect location");if(rt&&!Re.get(t))if(s.isExternal||a.reloadDocument)window.location.href=f;else{const l=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(s.to,{replace:a.replace}));throw Re.set(t,l),l}return c.createElement("meta",{httpEquiv:"refresh",content:`0;url=${f}`})}}return e}function hr({routeContext:e,match:t,children:r}){let n=c.useContext(X);return n&&n.static&&n.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=t.route.id),c.createElement(M.Provider,{value:e},r)}function pr(e,t=[],r){let n=r==null?void 0:r.state;if(e==null){if(!n)return null;if(n.errors)e=n.matches;else if(t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let a=e,i=n==null?void 0:n.errors;if(i!=null){let d=a.findIndex(h=>h.route.id&&(i==null?void 0:i[h.route.id])!==void 0);O(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(i).join(",")}`),a=a.slice(0,Math.min(a.length,d+1))}let s=!1,f=-1;if(r&&n){s=n.renderFallback;for(let d=0;d<a.length;d++){let h=a[d];if((h.route.HydrateFallback||h.route.hydrateFallbackElement)&&(f=d),h.route.id){let{loaderData:m,errors:R}=n,E=h.route.loader&&!m.hasOwnProperty(h.route.id)&&(!R||R[h.route.id]===void 0);if(h.route.lazy||E){r.isStatic&&(s=!0),f>=0?a=a.slice(0,f+1):a=[a[0]];break}}}}let l=r==null?void 0:r.onError,o=n&&l?(d,h)=>{var m,R;l(d,{location:n.location,params:((R=(m=n.matches)==null?void 0:m[0])==null?void 0:R.params)??{},pattern:Gt(n.matches),errorInfo:h})}:void 0;return a.reduceRight((d,h,m)=>{let R,E=!1,v=null,g=null;n&&(R=i&&h.route.id?i[h.route.id]:void 0,v=h.route.errorElement||fr,s&&(f<0&&m===0?(dt("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),E=!0,g=null):f===m&&(E=!0,g=h.route.hydrateFallbackElement||null)));let y=t.concat(a.slice(0,m+1)),_=()=>{let x;return R?x=v:E?x=g:h.route.Component?x=c.createElement(h.route.Component,null):h.route.element?x=h.route.element:x=d,c.createElement(hr,{match:h,routeContext:{outlet:d,matches:y,isDataRoute:n!=null},children:x})};return n&&(h.route.ErrorBoundary||h.route.errorElement||m===0)?c.createElement(ft,{location:n.location,revalidation:n.revalidation,component:v,error:R,children:_(),routeContext:{outlet:null,matches:y,isDataRoute:!0},onError:o}):_()},null)}function Oe(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function mr(e){let t=c.useContext(X);return O(t,Oe(e)),t}function yr(e){let t=c.useContext(fe);return O(t,Oe(e)),t}function gr(e){let t=c.useContext(M);return O(t,Oe(e)),t}function ke(e){let t=gr(e),r=t.matches[t.matches.length-1];return O(r.route.id,`${e} can only be used on routes that contain a unique "id"`),r.route.id}function vr(){return ke("useRouteId")}function Rr(){var n;let e=c.useContext(Le),t=yr("useRouteError"),r=ke("useRouteError");return e!==void 0?e:(n=t.errors)==null?void 0:n[r]}function Er(){let{router:e}=mr("useNavigate"),t=ke("useNavigate"),r=c.useRef(!1);return st(()=>{r.current=!0}),c.useCallback(async(a,i={})=>{U(r.current,lt),r.current&&(typeof a=="number"?await e.navigate(a):await e.navigate(a,{fromRouteId:t,...i}))},[e,t])}var ze={};function dt(e,t,r){!t&&!ze[e]&&(ze[e]=!0,U(!1,r))}c.memo(wr);function wr({routes:e,manifest:t,future:r,state:n,isStatic:a,onError:i}){return ct(e,void 0,{manifest:t,state:n,isStatic:a,onError:i})}function on({to:e,replace:t,state:r,relative:n}){O(Q(),"<Navigate> may be used only in the context of a <Router> component.");let{static:a,navigator:i}=c.useContext(I);U(!a,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:s}=c.useContext(M),{pathname:f}=F(),l=Te(),o=ce(e,xe(s),f,n==="path");be(typeof e=="string"?e:z(e),i.createHref(o),Pe(i),"reject");let d=JSON.stringify(o);return c.useEffect(()=>{l(JSON.parse(d),{replace:t,state:r,relative:n})},[l,d,n,t,r]),null}function un(e){return lr(e.context)}function Cr(e){O(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function Sr({basename:e="/",children:t=null,location:r,navigationType:n="POP",navigator:a,static:i=!1,useTransitions:s}){O(!Q(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let f=e.replace(/^\/*/,"/"),l=c.useMemo(()=>({basename:f,navigator:a,static:i,useTransitions:s,future:{}}),[f,a,i,s]);typeof r=="string"&&(r=J(r));let{pathname:o="/",search:d="",hash:h="",state:m=null,key:R="default",mask:E}=r,v=c.useMemo(()=>{let g=q(o,f);return g==null?null:{location:{pathname:g,search:d,hash:h,state:m,ke
28y:R,mask:E},navigationType:n}},[f,o,d,h,m,R,n,E]);return U(v!=null,`<Router basename="${f}"> is not able to match the URL "${o}${d}${h}" because it does not start with the basename, so the <Router> won't render anything.`),v==null?null:c.createElement(I.Provider,{value:l},c.createElement(ne.Provider,{children:t,value:v}))}function ln({children:e,location:t}){return sr(Ce(e),t)}function Ce(e,t=[]){let r=[];return c.Children.forEach(e,(n,a)=>{if(!c.isValidElement(n))return;let i=[...t,a];if(n.type===c.Fragment){r.push.apply(r,Ce(n.props.children,i));return}O(n.type===Cr,`[${typeof n.type=="string"?n.type:n.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),O(!n.props.index||!n.props.children,"An index route cannot have child routes.");let s={id:n.props.id||i.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,middleware:n.props.middleware,loader:n.props.loader,action:n.props.action,hydrateFallbackElement:n.props.hydrateFallbackElement,HydrateFallback:n.props.HydrateFallback,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.hasErrorBoundary===!0||n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(s.children=Ce(n.props.children,i)),r.push(s)}),r}var ue="get",le="application/x-www-form-urlencoded";function de(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function _r(e){return de(e)&&e.tagName.toLowerCase()==="button"}function xr(e){return de(e)&&e.tagName.toLowerCase()==="form"}function Pr(e){return de(e)&&e.tagName.toLowerCase()==="input"}function br(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Lr(e,t){return e.button===0&&(!t||t==="_self")&&!br(e)}function Se(e=""){return 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 Tr(e,t){let r=Se(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(i=>{r.append(a,i)})}),r}var ie=null;function Or(){if(ie===null)try{new FormData(document.createElement("form"),0),ie=!1}catch{ie=!0}return ie}var kr=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Ee(e){return e!=null&&!kr.has(e)?(U(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${le}"`),null):e}function Ar(e,t){let r,n,a,i,s;if(xr(e)){let f=e.getAttribute("action");n=f?q(f,t):null,r=e.getAttribute("method")||ue,a=Ee(e.getAttribute("enctype"))||le,i=new FormData(e)}else if(_r(e)||Pr(e)&&(e.type==="submit"||e.type==="image")){let f=e.form;if(f==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=e.getAttribute("formaction")||f.getAttribute("action");if(n=l?q(l,t):null,r=e.getAttribute("formmethod")||f.getAttribute("method")||ue,a=Ee(e.getAttribute("formenctype"))||Ee(f.getAttribute("enctype"))||le,i=new FormData(f,e),!Or()){let{name:o,type:d,value:h}=e;if(d==="image"){let m=o?`${o}.`:"";i.append(`${m}x`,"0"),i.append(`${m}y`,"0")}else o&&i.append(o,h)}}else{if(de(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=ue,n=null,a=le,s=e}return i&&a==="text/plain"&&(s=i,i=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:i,body:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Ae(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function ht(e,t,r,n){let a=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return r?a.pathname.endsWith("/")?a.pathname=`${a.pathname}_.${n}`:a.pathname=`${a.pathname}.${n}`:a.pathname==="/"?a.pathname=`_root.${n}`:t&&q(a.pathname,t)==="/"?a.pathname=`${V(t)}/_root.${n}`:a.pathname=`${V(a.pathname)}.${n}`,a}async function $r(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(r){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(r),window.__reactRouterContext&&window.__reactRouterContext.
28isSpaMode,window.location.reload(),new Promise(()=>{})}}function Nr(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 Dr(e,t,r){let n=await Promise.all(e.map(async a=>{let i=t.routes[a.route.id];if(i){let s=await $r(i,r);return s.links?s.links():[]}return[]}));return Hr(n.flat(1).filter(Nr).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function Ge(e,t,r,n,a,i){let s=(l,o)=>r[o]?l.route.id!==r[o].route.id:!0,f=(l,o)=>{var d;return r[o].pathname!==l.pathname||((d=r[o].route.path)==null?void 0:d.endsWith("*"))&&r[o].params["*"]!==l.params["*"]};return i==="assets"?t.filter((l,o)=>s(l,o)||f(l,o)):i==="data"?t.filter((l,o)=>{var h;let d=n.routes[l.route.id];if(!d||!d.hasLoader)return!1;if(s(l,o)||f(l,o))return!0;if(l.route.shouldRevalidate){let m=l.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:((h=r[0])==null?void 0:h.params)||{},nextUrl:new URL(e,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if(typeof m=="boolean")return m}return!0}):[]}function Ir(e,t,{includeHydrateFallback:r}={}){return Ur(e.map(n=>{let a=t.routes[n.route.id];if(!a)return[];let i=[a.module];return a.clientActionModule&&(i=i.concat(a.clientActionModule)),a.clientLoaderModule&&(i=i.concat(a.clientLoaderModule)),r&&a.hydrateFallbackModule&&(i=i.concat(a.hydrateFallbackModule)),a.imports&&(i=i.concat(a.imports)),i}).flat(1))}function Ur(e){return[...new Set(e)]}function Mr(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function Hr(e,t){let r=new Set;return new Set(t),e.reduce((n,a)=>{let i=JSON.stringify(Mr(a));return r.has(i)||(r.add(i),n.push({key:i,link:a})),n},[])}function $e(){let e=c.useContext(X);return Ae(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Fr(){let e=c.useContext(fe);return Ae(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Ne=c.createContext(void 0);Ne.displayName="FrameworkContext";function he(){let e=c.useContext(Ne);return Ae(e,"You must render this element inside a <HydratedRouter> element"),e}function Br(e,t){let r=c.useContext(Ne),[n,a]=c.useState(!1),[i,s]=c.useState(!1),{onFocus:f,onBlur:l,onMouseEnter:o,onMouseLeave:d,onTouchStart:h}=t,m=c.useRef(null);c.useEffect(()=>{if(e==="render"&&s(!0),e==="viewport"){let v=y=>{y.forEach(_=>{s(_.isIntersecting)})},g=new IntersectionObserver(v,{threshold:.5});return m.current&&g.observe(m.current),()=>{g.disconnect()}}},[e]),c.useEffect(()=>{if(n){let v=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(v)}}},[n]);let R=()=>{a(!0)},E=()=>{a(!1),s(!1)};return r?e!=="intent"?[i,m,{}]:[i,m,{onFocus:re(f,R),onBlur:re(l,E),onMouseEnter:re(o,R),onMouseLeave:re(d,E),onTouchStart:re(h,R)}]:[!1,m,{}]}function re(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function jr({page:e,...t}){let r=Qt(),{nonce:n}=he(),{router:a}=$e(),i=c.useMemo(()=>Je(a.routes,e,a.basename),[a.routes,e,a.basename]);return i?(t.nonce==null&&n&&(t={...t,nonce:n}),r?c.createElement(Yr,{page:e,matches:i,...t}):c.createElement(qr,{page:e,matches:i,...t})):null}function Wr(e){let{manifest:t,routeModules:r}=he(),[n,a]=c.useState([]);return c.useEffect(()=>{let i=!1;return Dr(e,t,r).then(s=>{i||a(s)}),()=>{i=!0}},[e,t,r]),n}function Yr({page:e,matches:t,...r}){let n=F(),{future:a}=he(),{basename:i}=$e(),s=c.useMemo(()=>{if(e===n.pathname+n.search+n.hash)return[];let f=ht(e,i,a.v8_trailingSlashAwareDataRequests,"rsc"),l=!1,o=[];for(let d of t)typeof d.route.shouldRevalidate=="function"?l=!0:o.push(d.route.id);return l&&o.length>0&&f.searchParams.set("_routes",o.join(",")),[f.pathname+f.search]},[i,a.v8_trailingSlashAwareDataRequests,e,n,t]);return c.createElement(c.Fragment,null,s.map(f=>c.createElement("link",{key:f,rel:"prefetch",as:"fetch",href:f,...r})))}function qr({page:e,matches:t,...r}){let n=F(),{future:a,manifest:i,routeModules:s}=he(),{basename:f}=$e(),{loaderData:l,matches:o}=Fr(),d=c.useMemo(()=>Ge(e,t,o,i,n,"data"),[e,t,o,i,n]),h=c.useMemo(()=>Ge(e,t,o,i,n,"assets"),[e,t,o,i,n]),m=c.useMemo(()=>
28{if(e===n.pathname+n.search+n.hash)return[];let v=new Set,g=!1;if(t.forEach(_=>{var A;let x=i.routes[_.route.id];!x||!x.hasLoader||(!d.some(k=>k.route.id===_.route.id)&&_.route.id in l&&((A=s[_.route.id])!=null&&A.shouldRevalidate)||x.hasClientLoader?g=!0:v.add(_.route.id))}),v.size===0)return[];let y=ht(e,f,a.v8_trailingSlashAwareDataRequests,"data");return g&&v.size>0&&y.searchParams.set("_routes",t.filter(_=>v.has(_.route.id)).map(_=>_.route.id).join(",")),[y.pathname+y.search]},[f,a.v8_trailingSlashAwareDataRequests,l,n,i,d,t,e,s]),R=c.useMemo(()=>Ir(h,i),[h,i]),E=Wr(h);return c.createElement(c.Fragment,null,m.map(v=>c.createElement("link",{key:v,rel:"prefetch",as:"fetch",href:v,...r})),R.map(v=>c.createElement("link",{key:v,rel:"modulepreload",href:v,...r})),E.map(({key:v,link:g})=>c.createElement("link",{key:v,nonce:r.nonce,...g,crossOrigin:g.crossOrigin??r.crossOrigin})))}function zr(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}var Gr=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Gr&&(window.__reactRouterVersion="7.18.3")}catch{}function sn({basename:e,children:t,useTransitions:r,window:n}){let a=c.useRef();a.current==null&&(a.current=St({window:n,v5Compat:!0}));let i=a.current,[s,f]=c.useState({action:i.action,location:i.location}),l=c.useCallback(o=>{r===!1?f(o):c.startTransition(()=>f(o))},[r]);return c.useLayoutEffect(()=>i.listen(l),[i,l]),c.createElement(Sr,{basename:e,children:t,location:s.location,navigationType:s.action,navigator:i,useTransitions:r})}var pt=c.forwardRef(function({onClick:t,discover:r="render",prefetch:n="none",relative:a,reloadDocument:i,replace:s,mask:f,state:l,target:o,to:d,preventScrollReset:h,viewTransition:m,defaultShouldRevalidate:R,...E},v){let{basename:g,navigator:y,useTransitions:_}=c.useContext(I),x=typeof d=="string"&&_e.test(d),A=nt(d,g);d=A.to;let k=or(d,{relative:a}),N=F(),P=null;if(f){let B=ce(f,[],N.mask?N.mask.pathname:"/",!0);g!=="/"&&(B.pathname=B.pathname==="/"?g:H([g,B.pathname])),P=y.createHref(B)}
28let[W,Y,Z]=Br(n,E),ee=Xr(d,{replace:s,mask:f,state:l,target:o,preventScrollReset:h,relative:a,viewTransition:m,defaultShouldRevalidate:R,useTransitions:_});function pe(B){t&&t(B),B.defaultPrevented||ee(B)}let te=!(A.isExternal||i),G=c.createElement("a",{...E,...Z,href:(te?P:void 0)||A.absoluteURL||k,onClick:te?pe:t,ref:zr(v,Y),target:o,"data-discover":!x&&r==="render"?"true":void 0});return W&&!x?c.createElement(c.Fragment,null,G,c.createElement(jr,{page:k})):G});pt.displayName="Link";var Kr=c.forwardRef(function({"aria-current":t="page",caseSensitive:r=!1,className:n="",end:a=!1,style:i,to:s,viewTransition:f,children:l,...o},d){let h=ae(s,{relative:o.relative}),m=F(),R=c.useContext(fe),{navigator:E,basename:v}=c.useContext(I),g=R!=null&&rn(h)&&f===!0,y=E.encodeLocation?E.encodeLocation(h).pathname:h.pathname,_=m.pathname,x=R&&R.navigation&&R.navigation.location?R.navigation.location.pathname:null;r||(_=_.toLowerCase(),x=x?x.toLowerCase():null,y=y.toLowerCase()),x&&v&&(x=q(x,v)||x);const A=y!=="/"&&y.endsWith("/")?y.length-1:y.length;let k=_===y||!a&&_.startsWith(y)&&_.charAt(A)==="/",N=x!=null&&(x===y||!a&&x.startsWith(y)&&x.charAt(y.length)==="/"),P={isActive:k,isPending:N,isTransitioning:g},W=k?t:void 0,Y;typeof n=="function"?Y=n(P):Y=[n,k?"active":null,N?"pending":null,g?"transitioning":null].filter(Boolean).join(" ");let Z=typeof i=="function"?i(P):i;return c.createElement(pt,{...o,"aria-current":W,className:Y,ref:d,style:Z,to:s,viewTransition:f},typeof l=="function"?l(P):l)});Kr.displayName="NavLink";var Vr=c.forwardRef(({discover:e="render",fetcherKey:t,navigate:r,reloadDocument:n,replace:a,state:i,method:s=ue,action:f,onSubmit:l,relative:o,preventScrollReset:d,viewTransition:h,defaultShouldRevalidate:m,...R},E)=>{let{useTransitions:v}=c.useContext(I),g=en(),y=tn(f,{relative:o}),_=s.toLowerCase()==="get"?"get":"post",x=typeof f=="string"&&_e.test(f),A=k=>{if(l&&l(k),k.defaultPrevented)return;k.preventDefault();let N=k.nativeEvent.submitter,P=(N==null?void 0:N.getAttribute("formmethod"))||s,W=()=>g(N||k.currentTarget,{fetcherKey:t,method:P,navigate:r,replace:a,state:i,relative:o,preventScrollReset:d,viewTransition:h,defaultShouldRevalidate:m});v&&r!==!1?c.startTransition(()=>W()):W()};return c.createElement("form",{ref:E,method:_,action:y,onSubmit:n?l:A,...R,"data-discover":!x&&e==="render"?"true":void 0})});Vr.displayName="Form";function Jr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function mt(e){let t=c.useContext(X);return O(t,Jr(e)),t}function Xr(e,{target:t,replace:r,mask:n,state:a,preventScrollReset:i,relative:s,viewTransition:f,defaultShouldRevalidate:l,useTransitions:o}={}){let d=Te(),h=F(),m=ae(e,{relative:s});return c.useCallback(R=>{if(Lr(R,t)){R.preventDefault();let E=r!==void 0?r:z(h)===z(m),v=()=>d(e,{replace:E,mask:n,state:a,preventScrollReset:i,relative:s,viewTransition:f,defaultShouldRevalidate:l});o?c.startTransition(()=>v()):v()}},[h,d,m,r,n,a,t,e,i,s,f,l,o])}function cn(e){U(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=c.useRef(Se(e)),r=c.useRef(!1),n=F(),a=c.useMemo(()=>Tr(n.search,r.current?null:t.current),[n.search]),i=Te(),s=c.useCallback((f,l)=>{const o=Se(typeof f=="function"?f(new URLSearchParams(a)):f);r.current=!0,i("?"+o,l)},[i,a]);return[a,s]}var Qr=0,Zr=()=>`__${String(++Qr)}__`;function en(){let{router:e}=mt("useSubmit"),{basename:t}=c.useContext(I),r=vr(),n=e.fetch,a=e.navigate;return c.useCallback(async(i,s={})=>{let{action:f,method:l,encType:o,formData:d,body:h}=Ar(i,t);if(s.navigate===!1){let m=s.fetcherKey||Zr();await n(m,r,s.action||f,{defaultShouldRevalidate:s.defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:d,body:h,formMethod:s.method||l,formEncType:s.encType||o,flushSync:s.flushSync})}else await a(s.action||f,{defaultShouldRevalidate:s.defaultShouldRevalidate,preventScrollReset:s.preventScrollReset,formData:d,body:h,formMethod:s.method||l,formEncType:s.encType||o,replace:s.replace,state:s.state,fromRouteId:r,flushSync:s.flushSync,viewTransition:s.viewTransition})},[n,a,t,r])}function tn(e,{relative:t}={}){let{basename:r}=c.useContext(I),n=c.useContext(M);O(n,"useFormAction must be used inside a RouteContext");let[a]=n.matches.slice(-1),i={...ae(e||".",{relative:t})},s=F();if(e==null){i.search=s.search;let f=new URLSearchParams(i.search),l=f.getAll("index");if(l.some(d=>d==="")){f.delete("index"),l.filter(h=>
vendor: 878 bytes, line 28
28h).forEach(h=>f.append("index",h));let d=f.toString();i.search=d?`?${d}`:""}}return(!e||e===".")&&a.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(i.pathname=i.pathname==="/"?r:H([r,i.pathname])),z(i)}function rn(e,{relative:t}={}){let r=c.useContext(it);O(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=mt("useViewTransitionState"),a=ae(e,{relative:t});if(!r.isTransitioning)return!1;let i=q(r.currentLocation.pathname,n)||r.currentLocation.pathname,s=q(r.nextLocation.pathname,n)||r.nextLocation.pathname;return se(a.pathname,s)!=null||se(a.pathname,i)!=null}var fn=wt();export{sn as B,pt as L,Kr as N,un as O,ln as R,Ke as a,wt as b,Te as c,cn as d,an as e,fn as f,nn as g,Cr as h,on as i,c as r,F as u};
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.