/*! For license information please see main.8b07a467.js.LICENSE.txt */ (()=>{"use strict";var e={476(e,t,n){n.d(t,{H:()=>l,t:()=>i});var r=n(878),a=n(782);const o=(0,r.createContext)(void 0),i=e=>{let{children:t,defaultTitle:n="kaurcev.dev",siteName:i="kaurcev.dev",defaultSeparator:l=" | "}=e;const[s,u]=(0,r.useState)(n),c=(0,r.useCallback)(()=>{"undefined"!==typeof window&&window.scrollTo({top:0,behavior:"smooth"})},[]),d=(0,r.useCallback)(e=>{u(e),document.title=e,c()},[c]),f=(0,r.useCallback)(()=>{d(n),document.title=n,c()},[n,c]),h=(0,r.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l;const r=t?`${t}${n}${e}${n}${i}`:`${e}${n}${i}`;u(e),document.title=r,c()},[i,l,c]);return(0,a.jsx)(o.Provider,{value:{title:s,setTitle:d,resetTitle:f,setTitleWithPrefix:h},children:t})},l=()=>{const e=(0,r.useContext)(o);if(!e)throw new Error("usePageTitle must be used within PageTitleProvider");return e}},625(e,t,n){n.d(t,{s:()=>r.s,J:()=>i});var r=n(575),a=n(878),o=n(476);const i=e=>{const{setTitle:t,resetTitle:n}=(0,o.H)();(0,a.useEffect)(()=>(t(e),()=>n()),[t,n,e])}},575(e,t,n){n.d(t,{s:()=>o});var r=n(878),a=n(810);const o=()=>{const e=(0,r.useContext)(a.I);if(!e)throw new Error("useAnalytics must be used within AnalyticsProvider");return e}},810(e,t,n){n.d(t,{I:()=>xn,y:()=>Tn});var r=n(878);const a=function(e){const t=[];let n=0;for(let r=0;r>6|192,t[n++]=63&a|128):55296===(64512&a)&&r+1>18|240,t[n++]=a>>12&63|128,t[n++]=a>>6&63|128,t[n++]=63&a|128):(t[n++]=a>>12|224,t[n++]=a>>6&63|128,t[n++]=63&a|128)}return t},o={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"===typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let a=0;a>2,c=(3&t)<<4|i>>4;let d=(15&i)<<2|s>>6,f=63&s;l||(f=64,o||(d=64)),r.push(n[u],n[c],n[d],n[f])}return r.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(a(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):function(e){const t=[];let n=0,r=0;for(;n191&&a<224){const o=e[n++];t[r++]=String.fromCharCode((31&a)<<6|63&o)}else if(a>239&&a<365){const o=((7&a)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536;t[r++]=String.fromCharCode(55296+(o>>10)),t[r++]=String.fromCharCode(56320+(1023&o))}else{const o=e[n++],i=e[n++];t[r++]=String.fromCharCode((15&a)<<12|(63&o)<<6|63&i)}}return t.join("")}(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let a=0;a>4;if(r.push(u),64!==l){const e=o<<4&240|l>>2;if(r.push(e),64!==s){const e=l<<6&192|s;r.push(e)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class i extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const l=function(e){return function(e){const t=a(e);return o.encodeByteArray(t,!0)}(e).replace(/\./g,"")},s=function(e){try{return o.decodeString(e,!0)}catch(t){console.error("base64Decode failed: ",t)}return null};const u=()=>function(){if("undefined"!==typeof self)return self;if("undefined"!==typeof window)return window;if("undefined"!==typeof globalThis)return globalThis;throw new Error("Unable to locate global object.")}().__FIREBASE_DEFAULTS__,c=()=>{try{return u()||(()=>{if("undefined"===typeof process)return;const e={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_API_URL:"https://api.kaurcev.dev",REACT_APP_FIREBASE_API_KEY:"AIzaSyAOv3Wdhq3aJUPMlLIF3ok1QpB7mr1WvBU",REACT_APP_FIREBASE_APP_ID:"1:1095166323080:web:2ead5cf0f691e27658b23d",REACT_APP_FIREBASE_AUTH_DOMAIN:"alexsandr-kaurcev.firebaseapp.com",REACT_APP_FIREBASE_MEASUREMENT_ID:"G-YWQSGKG6LF",REACT_APP_FIREBASE_MESSAGING_SENDER_ID:"1095166323080",REACT_APP_FIREBASE_PROJECT_ID:"alexsandr-kaurcev",REACT_APP_FIREBASE_STORAGE_BUCKET:"alexsandr-kaurcev.firebasestorage.app",REACT_APP_RECEIVER:"4100110853907883",REACT_APP_SUCCESS_URL:"https://kaurcev.dev/hard_times_create_strong_kittens",REACT_APP_WS_URL:"wss://api.kaurcev.dev"}.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0})()||(()=>{if("undefined"===typeof document)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(n){return}const t=e&&s(e[1]);return t&&JSON.parse(t)})()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},d=()=>c()?.config;class f{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,n)=>{t?this.reject(t):this.resolve(n),"function"===typeof e&&(this.promise.catch(()=>{}),1===e.length?e(t):e(t,n))}}}function h(){const e="object"===typeof chrome?chrome.runtime:"object"===typeof browser?browser.runtime:void 0;return"object"===typeof e&&void 0!==e.id}function p(){try{return"object"===typeof indexedDB}catch(e){return!1}}function m(){return new Promise((e,t)=>{try{let n=!0;const r="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(r);a.onsuccess=()=>{a.result.close(),n||self.indexedDB.deleteDatabase(r),e(!0)},a.onupgradeneeded=()=>{n=!1},a.onerror=()=>{t(a.error?.message||"")}}catch(n){t(n)}})}function g(){return!("undefined"===typeof navigator||!navigator.cookieEnabled)}class y extends Error{constructor(e,t,n){super(t),this.code=e,this.customData=n,this.name="FirebaseError",Object.setPrototypeOf(this,y.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,v.prototype.create)}}class v{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e){const t=(arguments.length<=1?void 0:arguments[1])||{},n=`${this.service}/${e}`,r=this.errors[e],a=r?function(e,t){return e.replace(b,(e,n)=>{const r=t[n];return null!=r?String(r):`<${n}?>`})}(r,t):"Error",o=`${this.serviceName}: ${a} (${n}).`;return new y(n,o,t)}}const b=/\{\$([^}]+)}/g;function w(e,t){if(e===t)return!0;const n=Object.keys(e),r=Object.keys(t);for(const a of n){if(!r.includes(a))return!1;const n=e[a],o=t[a];if(k(n)&&k(o)){if(!w(n,o))return!1}else if(n!==o)return!1}for(const a of r)if(!n.includes(a))return!1;return!0}function k(e){return null!==e&&"object"===typeof e}function S(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2;const n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3)*Math.pow(t,e),r=Math.round(.5*n*(Math.random()-.5)*2);return Math.min(144e5,n+r)}function E(e){return e&&e._delegate?e._delegate:e}class _{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const C="[DEFAULT]";class x{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new f;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const n=this.getOrInitializeService({instanceIdentifier:t});n&&e.resolve(n)}catch(n){}}return this.instancesDeferred.get(t).promise}getImmediate(e){const t=this.normalizeInstanceIdentifier(e?.identifier),n=e?.optional??!1;if(!this.isInitialized(t)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:t})}catch(r){if(n)return null;throw r}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(function(e){return"EAGER"===e.instantiationMode}(e))try{this.getOrInitializeService({instanceIdentifier:C})}catch(t){}for(const[e,n]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});n.resolve(e)}catch(t){}}}}clearInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C;this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C;return this.instances.has(e)}getOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C;return this.instancesOptions.get(e)||{}}initialize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{options:t={}}=e,n=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(n))throw Error(`${this.name}(${n}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const r=this.getOrInitializeService({instanceIdentifier:n,options:t});for(const[a,o]of this.instancesDeferred.entries()){n===this.normalizeInstanceIdentifier(a)&&o.resolve(r)}return r}onInit(e,t){const n=this.normalizeInstanceIdentifier(t),r=this.onInitCallbacks.get(n)??new Set;r.add(e),this.onInitCallbacks.set(n,r);const a=this.instances.get(n);return a&&e(a,n),()=>{r.delete(e)}}invokeOnInitCallbacks(e,t){const n=this.onInitCallbacks.get(t);if(n)for(const r of n)try{r(e,t)}catch{}}getOrInitializeService(e){let{instanceIdentifier:t,options:n={}}=e,r=this.instances.get(t);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:(a=t,a===C?void 0:a),options:n}),this.instances.set(t,r),this.instancesOptions.set(t,n),this.invokeOnInitCallbacks(r,t),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,t,r)}catch{}var a;return r||null}normalizeInstanceIdentifier(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C;return this.component?this.component.multipleInstances?e:C:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class T{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new x(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}const P=[];var R;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(R||(R={}));const L={debug:R.DEBUG,verbose:R.VERBOSE,info:R.INFO,warn:R.WARN,error:R.ERROR,silent:R.SILENT},N=R.INFO,D={[R.DEBUG]:"log",[R.VERBOSE]:"log",[R.INFO]:"info",[R.WARN]:"warn",[R.ERROR]:"error"},z=function(e,t){if(t2?a-2:0),i=2;i(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function B(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(I||(I=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(){for(var t=arguments.length,n=new Array(t),r=0;r1?n-1:0),a=1;a{const r=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",o),e.removeEventListener("abort",o)},a=()=>{t(),r()},o=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",a),e.addEventListener("error",o),e.addEventListener("abort",o)});j.set(e,t)}(e),t=e,(O||(O=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(e=>t instanceof e)?new Proxy(e,H):e);var t}function V(e){if(e instanceof IDBRequest)return function(e){const t=new Promise((t,n)=>{const r=()=>{e.removeEventListener("success",a),e.removeEventListener("error",o)},a=()=>{t(V(e.result)),r()},o=()=>{n(e.error),r()};e.addEventListener("success",a),e.addEventListener("error",o)});return t.then(t=>{t instanceof IDBCursor&&M.set(t,e)}).catch(()=>{}),U.set(t,e),t}(e);if($.has(e))return $.get(e);const t=W(e);return t!==e&&($.set(e,t),U.set(t,e)),t}const q=e=>U.get(e);function Q(e,t){let{blocked:n,upgrade:r,blocking:a,terminated:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=indexedDB.open(e,t),l=V(i);return r&&i.addEventListener("upgradeneeded",e=>{r(V(i.result),e.oldVersion,e.newVersion,V(i.transaction),e)}),n&&i.addEventListener("blocked",e=>n(e.oldVersion,e.newVersion,e)),l.then(e=>{o&&e.addEventListener("close",()=>o()),a&&e.addEventListener("versionchange",e=>a(e.oldVersion,e.newVersion,e))}).catch(()=>{}),l}const K=["get","getKey","getAll","getAllKeys","count"],Y=["put","add","delete","clear"],G=new Map;function J(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!==typeof t)return;if(G.get(t))return G.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,a=Y.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!a&&!K.includes(n))return;const o=async function(e){const t=this.transaction(e,a?"readwrite":"readonly");let o=t.store;for(var i=arguments.length,l=new Array(i>1?i-1:0),s=1;s({...e,get:(t,n,r)=>J(t,n)||e.get(t,n,r),has:(t,n)=>!!J(t,n)||e.has(t,n)}))(H);class X{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{if(function(e){const t=e.getComponent();return"VERSION"===t?.type}(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null}).filter(e=>e).join(" ")}}const Z="@firebase/app",ee="0.14.10",te=new A("@firebase/app"),ne="@firebase/app-compat",re="@firebase/analytics-compat",ae="@firebase/analytics",oe="@firebase/app-check-compat",ie="@firebase/app-check",le="@firebase/auth",se="@firebase/auth-compat",ue="@firebase/database",ce="@firebase/data-connect",de="@firebase/database-compat",fe="@firebase/functions",he="@firebase/functions-compat",pe="@firebase/installations",me="@firebase/installations-compat",ge="@firebase/messaging",ye="@firebase/messaging-compat",ve="@firebase/performance",be="@firebase/performance-compat",we="@firebase/remote-config",ke="@firebase/remote-config-compat",Se="@firebase/storage",Ee="@firebase/storage-compat",_e="@firebase/firestore",Ce="@firebase/ai",xe="@firebase/firestore-compat",Te="firebase",Pe="[DEFAULT]",Re={[Z]:"fire-core",[ne]:"fire-core-compat",[ae]:"fire-analytics",[re]:"fire-analytics-compat",[ie]:"fire-app-check",[oe]:"fire-app-check-compat",[le]:"fire-auth",[se]:"fire-auth-compat",[ue]:"fire-rtdb",[ce]:"fire-data-connect",[de]:"fire-rtdb-compat",[fe]:"fire-fn",[he]:"fire-fn-compat",[pe]:"fire-iid",[me]:"fire-iid-compat",[ge]:"fire-fcm",[ye]:"fire-fcm-compat",[ve]:"fire-perf",[be]:"fire-perf-compat",[we]:"fire-rc",[ke]:"fire-rc-compat",[Se]:"fire-gcs",[Ee]:"fire-gcs-compat",[_e]:"fire-fst",[xe]:"fire-fst-compat",[Ce]:"fire-vertex","fire-js":"fire-js",[Te]:"fire-js-all"},Le=new Map,Ne=new Map,De=new Map;function ze(e,t){try{e.container.addComponent(t)}catch(n){te.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function Ae(e){const t=e.name;if(De.has(t))return te.debug(`There were multiple attempts to register component ${t}.`),!1;De.set(t,e);for(const n of Le.values())ze(n,e);for(const n of Ne.values())ze(n,e);return!0}function Oe(e,t){const n=e.container.getProvider("heartbeat").getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}const Ie=new v("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."});class Me{constructor(e,t,n){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new _("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw Ie.create("app-deleted",{appName:this._name})}}function je(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e;if("object"!==typeof t){t={name:t}}const r={name:Pe,automaticDataCollectionEnabled:!0,...t},a=r.name;if("string"!==typeof a||!a)throw Ie.create("bad-app-name",{appName:String(a)});if(n||(n=d()),!n)throw Ie.create("no-options");const o=Le.get(a);if(o){if(w(n,o.options)&&w(r,o.config))return o;throw Ie.create("duplicate-app",{appName:a})}const i=new T(a);for(const s of De.values())i.addComponent(s);const l=new Me(n,r,i);return Le.set(a,l),l}function Fe(e,t,n){let r=Re[e]??e;n&&(r+=`-${n}`);const a=r.match(/\s|\//),o=t.match(/\s|\//);if(a||o){const e=[`Unable to register library "${r}" with version "${t}":`];return a&&e.push(`library name "${r}" contains illegal characters (whitespace or "/")`),a&&o&&e.push("and"),o&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void te.warn(e.join(" "))}Ae(new _(`${r}-version`,()=>({library:r,version:t}),"VERSION"))}const $e="firebase-heartbeat-store";let Ue=null;function He(){return Ue||(Ue=Q("firebase-heartbeat-database",1,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore($e)}catch(n){console.warn(n)}}}).catch(e=>{throw Ie.create("idb-open",{originalErrorMessage:e.message})})),Ue}async function Be(e,t){try{const n=(await He()).transaction($e,"readwrite"),r=n.objectStore($e);await r.put(t,We(e)),await n.done}catch(n){if(n instanceof y)te.warn(n.message);else{const e=Ie.create("idb-set",{originalErrorMessage:n?.message});te.warn(e.message)}}}function We(e){return`${e.name}!${e.options.appId}`}class Ve{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Qe(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){try{const e=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),t=qe();if(null==this._heartbeatsCache?.heartbeats&&(this._heartbeatsCache=await this._heartbeatsCachePromise,null==this._heartbeatsCache?.heartbeats))return;if(this._heartbeatsCache.lastSentHeartbeatDate===t||this._heartbeatsCache.heartbeats.some(e=>e.date===t))return;if(this._heartbeatsCache.heartbeats.push({date:t,agent:e}),this._heartbeatsCache.heartbeats.length>30){const e=function(e){if(0===e.length)return-1;let t=0,n=e[0].date;for(let r=1;r1&&void 0!==arguments[1]?arguments[1]:1024;const n=[];let r=e.slice();for(const a of e){const e=n.find(e=>e.agent===a.agent);if(e){if(e.dates.push(a.date),Ke(n)>t){e.dates.pop();break}}else if(n.push({agent:a.agent,dates:[a.date]}),Ke(n)>t){n.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}(this._heartbeatsCache.heartbeats),r=l(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),r}catch(e){return te.warn(e),""}}}function qe(){return(new Date).toISOString().substring(0,10)}class Qe{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!p()&&m().then(()=>!0).catch(()=>!1)}async read(){if(await this._canUseIndexedDBPromise){const e=await async function(e){try{const t=(await He()).transaction($e),n=await t.objectStore($e).get(We(e));return await t.done,n}catch(t){if(t instanceof y)te.warn(t.message);else{const e=Ie.create("idb-get",{originalErrorMessage:t?.message});te.warn(e.message)}}}(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){if(await this._canUseIndexedDBPromise){const t=await this.read();return Be(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){if(await this._canUseIndexedDBPromise){const t=await this.read();return Be(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}}function Ke(e){return l(JSON.stringify({version:2,heartbeats:e})).length}var Ye;Ye="",Ae(new _("platform-logger",e=>new X(e),"PRIVATE")),Ae(new _("heartbeat",e=>new Ve(e),"PRIVATE")),Fe(Z,ee,Ye),Fe(Z,ee,"esm2020"),Fe("fire-js","");Fe("firebase","12.11.0","app");const Ge="@firebase/installations",Je="0.6.21",Xe=1e4,Ze=`w:${Je}`,et="FIS_v2",tt=36e5,nt=new v("installations","Installations",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"not-registered":"Firebase Installation is not registered.","installation-not-found":"Firebase Installation not found.","request-failed":'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',"app-offline":"Could not process request. Application offline.","delete-pending-registration":"Can't delete installation while there is a pending registration request."});function rt(e){return e instanceof y&&e.code.includes("request-failed")}function at(e){let{projectId:t}=e;return`https://firebaseinstallations.googleapis.com/v1/projects/${t}/installations`}function ot(e){return{token:e.token,requestStatus:2,expiresIn:(t=e.expiresIn,Number(t.replace("s","000"))),creationTime:Date.now()};var t}async function it(e,t){const n=(await t.json()).error;return nt.create("request-failed",{requestName:e,serverCode:n.code,serverMessage:n.message,serverStatus:n.status})}function lt(e){let{apiKey:t}=e;return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":t})}function st(e,t){let{refreshToken:n}=t;const r=lt(e);return r.append("Authorization",function(e){return`${et} ${e}`}(n)),r}async function ut(e){const t=await e();return t.status>=500&&t.status<600?e():t}function ct(e){return new Promise(t=>{setTimeout(t,e)})}const dt=/^[cdef][\w-]{21}$/;function ft(){try{const e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;const t=function(e){const t=(n=e,btoa(String.fromCharCode(...n)).replace(/\+/g,"-").replace(/\//g,"_"));var n;return t.substr(0,22)}(e);return dt.test(t)?t:""}catch{return""}}function ht(e){return`${e.appName}!${e.appId}`}const pt=new Map;function mt(e,t){const n=ht(e);gt(n,t),function(e,t){const n=vt();n&&n.postMessage({key:e,fid:t});bt()}(n,t)}function gt(e,t){const n=pt.get(e);if(n)for(const r of n)r(t)}let yt=null;function vt(){return!yt&&"BroadcastChannel"in self&&(yt=new BroadcastChannel("[Firebase] FID Change"),yt.onmessage=e=>{gt(e.data.key,e.data.fid)}),yt}function bt(){0===pt.size&&yt&&(yt.close(),yt=null)}const wt="firebase-installations-store";let kt=null;function St(){return kt||(kt=Q("firebase-installations-database",1,{upgrade:(e,t)=>{if(0===t)e.createObjectStore(wt)}})),kt}async function Et(e,t){const n=ht(e),r=(await St()).transaction(wt,"readwrite"),a=r.objectStore(wt),o=await a.get(n);return await a.put(t,n),await r.done,o&&o.fid===t.fid||mt(e,t.fid),t}async function _t(e){const t=ht(e),n=(await St()).transaction(wt,"readwrite");await n.objectStore(wt).delete(t),await n.done}async function Ct(e,t){const n=ht(e),r=(await St()).transaction(wt,"readwrite"),a=r.objectStore(wt),o=await a.get(n),i=t(o);return void 0===i?await a.delete(n):await a.put(i,n),await r.done,!i||o&&o.fid===i.fid||mt(e,i.fid),i}async function xt(e){let t;const n=await Ct(e.appConfig,n=>{const r=function(e){const t=e||{fid:ft(),registrationStatus:0};return Rt(t)}(n),a=function(e,t){if(0===t.registrationStatus){if(!navigator.onLine){return{installationEntry:t,registrationPromise:Promise.reject(nt.create("app-offline"))}}const n={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},r=async function(e,t){try{const n=await async function(e,t){let{appConfig:n,heartbeatServiceProvider:r}=e,{fid:a}=t;const o=at(n),i=lt(n),l=r.getImmediate({optional:!0});if(l){const e=await l.getHeartbeatsHeader();e&&i.append("x-firebase-client",e)}const s={fid:a,authVersion:et,appId:n.appId,sdkVersion:Ze},u={method:"POST",headers:i,body:JSON.stringify(s)},c=await ut(()=>fetch(o,u));if(c.ok){const e=await c.json();return{fid:e.fid||a,registrationStatus:2,refreshToken:e.refreshToken,authToken:ot(e.authToken)}}throw await it("Create Installation",c)}(e,t);return Et(e.appConfig,n)}catch(n){throw rt(n)&&409===n.customData.serverCode?await _t(e.appConfig):await Et(e.appConfig,{fid:t.fid,registrationStatus:0}),n}}(e,n);return{installationEntry:n,registrationPromise:r}}return 1===t.registrationStatus?{installationEntry:t,registrationPromise:Tt(e)}:{installationEntry:t}}(e,r);return t=a.registrationPromise,a.installationEntry});return""===n.fid?{installationEntry:await t}:{installationEntry:n,registrationPromise:t}}async function Tt(e){let t=await Pt(e.appConfig);for(;1===t.registrationStatus;)await ct(100),t=await Pt(e.appConfig);if(0===t.registrationStatus){const{installationEntry:t,registrationPromise:n}=await xt(e);return n||t}return t}function Pt(e){return Ct(e,e=>{if(!e)throw nt.create("installation-not-found");return Rt(e)})}function Rt(e){return 1===(t=e).registrationStatus&&t.registrationTime+Xefetch(a,s));if(u.ok){return ot(await u.json())}throw await it("Generate Auth Token",u)}async function Nt(e){let t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=await Ct(e.appConfig,r=>{if(!zt(r))throw nt.create("not-registered");const a=r.authToken;if(!n&&function(e){return 2===e.requestStatus&&!function(e){const t=Date.now();return t{if(!zt(e))throw nt.create("not-registered");const t=e.authToken;return 1===(n=t).requestStatus&&n.requestTime+Xe1&&void 0!==arguments[1]&&arguments[1];const n=e;await async function(e){const{registrationPromise:t}=await xt(e);t&&await t}(n);return(await Nt(n,t)).token}function Ot(e){return nt.create("missing-app-config-values",{valueName:e})}const It="installations",Mt=e=>{const t=e.getProvider("app").getImmediate(),n=function(e){if(!e||!e.options)throw Ot("App Configuration");if(!e.name)throw Ot("App Name");const t=["projectId","apiKey","appId"];for(const n of t)if(!e.options[n])throw Ot(n);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}(t);return{app:t,appConfig:n,heartbeatServiceProvider:Oe(t,"heartbeat"),_delete:()=>Promise.resolve()}},jt=e=>{const t=Oe(e.getProvider("app").getImmediate(),It).getImmediate();return{getId:()=>async function(e){const t=e,{installationEntry:n,registrationPromise:r}=await xt(t);return r?r.catch(console.error):Nt(t).catch(console.error),n.fid}(t),getToken:e=>At(t,e)}};Ae(new _(It,Mt,"PUBLIC")),Ae(new _("installations-internal",jt,"PRIVATE")),Fe(Ge,Je),Fe(Ge,Je,"esm2020");const Ft="analytics",$t="https://www.googletagmanager.com/gtag/js",Ut=new A("@firebase/analytics"),Ht=new v("analytics","Analytics",{"already-exists":"A Firebase Analytics instance with the appId {$id} already exists. Only one Firebase Analytics instance can be created for each appId.","already-initialized":"initializeAnalytics() cannot be called again with different options than those it was initially called with. It can be called again with the same options to return the existing instance, or getAnalytics() can be used to get a reference to the already-initialized instance.","already-initialized-settings":"Firebase Analytics has already been initialized.settings() must be called before initializing any Analytics instanceor it will have no effect.","interop-component-reg-failed":"Firebase Analytics Interop Component failed to instantiate: {$reason}","invalid-analytics-context":"Firebase Analytics is not supported in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","indexeddb-unavailable":"IndexedDB unavailable or restricted in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","fetch-throttle":"The config fetch request timed out while in an exponential backoff state. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.","config-fetch-failed":"Dynamic config fetch failed: [{$httpStatus}] {$responseMessage}","no-api-key":'The "apiKey" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid API key.',"no-app-id":'The "appId" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid app ID.',"no-client-id":'The "client_id" field is empty.',"invalid-gtag-resource":"Trusted Types detected an invalid gtag resource: {$gtagURL}."});function Bt(e){if(!e.startsWith($t)){const t=Ht.create("invalid-gtag-resource",{gtagURL:e});return Ut.warn(t.message),""}return e}function Wt(e){return Promise.all(e.map(e=>e.catch(e=>e)))}function Vt(e,t){const n=function(e,t){let n;return window.trustedTypes&&(n=window.trustedTypes.createPolicy(e,t)),n}("firebase-js-sdk-policy",{createScriptURL:Bt}),r=document.createElement("script"),a=`${$t}?l=${e}&id=${t}`;r.src=n?n?.createScriptURL(a):a,r.async=!0,document.head.appendChild(r)}function qt(e,t,n,r){return async function(a){try{for(var o=arguments.length,i=new Array(o>1?o-1:0),l=1;le.measurementId===n),a=e&&t[e.appId];if(!a){o=[];break}o.push(a)}}0===o.length&&(o=Object.values(t)),await Promise.all(o),e("event",r,a||{})}catch(o){Ut.error(o)}}(e,t,n,r,a)}else if("config"===a){const[a,o]=i;await async function(e,t,n,r,a,o){const i=r[a];try{if(i)await t[i];else{const e=(await Wt(n)).find(e=>e.measurementId===a);e&&await t[e.appId]}}catch(l){Ut.error(l)}e("config",a,o)}(e,t,n,r,a,o)}else if("consent"===a){const[t,n]=i;e("consent",t,n)}else if("get"===a){const[t,n,r]=i;e("get",t,n,r)}else if("set"===a){const[t]=i;e("set",t)}else e(a,...i)}catch(s){Ut.error(s)}}}const Qt=new class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;this.throttleMetadata=e,this.intervalMillis=t}getThrottleMetadata(e){return this.throttleMetadata[e]}setThrottleMetadata(e,t){this.throttleMetadata[e]=t}deleteThrottleMetadata(e){delete this.throttleMetadata[e]}};function Kt(e){return new Headers({Accept:"application/json","x-goog-api-key":e})}async function Yt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qt,n=arguments.length>2?arguments[2]:void 0;const{appId:r,apiKey:a,measurementId:o}=e.options;if(!r)throw Ht.create("no-app-id");if(!a){if(o)return{measurementId:o,appId:r};throw Ht.create("no-api-key")}const i=t.getThrottleMetadata(r)||{backoffCount:0,throttleEndTimeMillis:Date.now()},l=new Jt;return setTimeout(async()=>{l.abort()},void 0!==n?n:6e4),Gt({appId:r,apiKey:a,measurementId:o},i,l,t)}async function Gt(e,t,n){let{throttleEndTimeMillis:r,backoffCount:a}=t,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Qt;const{appId:i,measurementId:l}=e;try{await function(e,t){return new Promise((n,r)=>{const a=Math.max(t-Date.now(),0),o=setTimeout(n,a);e.addEventListener(()=>{clearTimeout(o),r(Ht.create("fetch-throttle",{throttleEndTimeMillis:t}))})})}(n,r)}catch(s){if(l)return Ut.warn(`Timed out fetching this Firebase app's measurement ID from the server. Falling back to the measurement ID ${l} provided in the "measurementId" field in the local Firebase config. [${s?.message}]`),{appId:i,measurementId:l};throw s}try{const t=await async function(e){const{appId:t,apiKey:n}=e,r={method:"GET",headers:Kt(n)},a="https://firebase.googleapis.com/v1alpha/projects/-/apps/{app-id}/webConfig".replace("{app-id}",t),o=await fetch(a,r);if(200!==o.status&&304!==o.status){let e="";try{const t=await o.json();t.error?.message&&(e=t.error.message)}catch(i){}throw Ht.create("config-fetch-failed",{httpStatus:o.status,responseMessage:e})}return o.json()}(e);return o.deleteThrottleMetadata(i),t}catch(s){const t=s;if(!function(e){if(!(e instanceof y)||!e.customData)return!1;const t=Number(e.customData.httpStatus);return 429===t||500===t||503===t||504===t}(t)){if(o.deleteThrottleMetadata(i),l)return Ut.warn(`Failed to fetch this Firebase app's measurement ID from the server. Falling back to the measurement ID ${l} provided in the "measurementId" field in the local Firebase config. [${t?.message}]`),{appId:i,measurementId:l};throw s}const r=503===Number(t?.customData?.httpStatus)?S(a,o.intervalMillis,30):S(a,o.intervalMillis),u={throttleEndTimeMillis:Date.now()+r,backoffCount:a+1};return o.setThrottleMetadata(i,u),Ut.debug(`Calling attemptFetch again in ${r} millis`),Gt(e,u,n,o)}}class Jt{constructor(){this.listeners=[]}addEventListener(e){this.listeners.push(e)}abort(){this.listeners.forEach(e=>e())}}let Xt,Zt;function en(e){Zt=e}function tn(e){Xt=e}async function nn(e,t,n,r,a,o,i){const l=Yt(e);l.then(t=>{n[t.measurementId]=t.appId,e.options.measurementId&&t.measurementId!==e.options.measurementId&&Ut.warn(`The measurement ID in the local Firebase config (${e.options.measurementId}) does not match the measurement ID fetched from the server (${t.measurementId}). To ensure analytics events are always sent to the correct Analytics property, update the measurement ID field in the local config or remove it from the local config.`)}).catch(e=>Ut.error(e)),t.push(l);const s=async function(){if(!p())return Ut.warn(Ht.create("indexeddb-unavailable",{errorInfo:"IndexedDB is not available in this environment."}).message),!1;try{await m()}catch(e){return Ut.warn(Ht.create("indexeddb-unavailable",{errorInfo:e?.toString()}).message),!1}return!0}().then(e=>e?r.getId():void 0),[u,c]=await Promise.all([l,s]);(function(e){const t=window.document.getElementsByTagName("script");for(const n of Object.values(t))if(n.src&&n.src.includes($t)&&n.src.includes(e))return n;return null})(o)||Vt(o,u.measurementId),Zt&&(a("consent","default",Zt),en(void 0)),a("js",new Date);const d=i?.config??{};return d.origin="firebase",d.update=!0,null!=c&&(d.firebase_id=c),a("config",u.measurementId,d),Xt&&(a("set",Xt),tn(void 0)),u.measurementId}class rn{constructor(e){this.app=e}_delete(){return delete an[this.app.options.appId],Promise.resolve()}}let an={},on=[];const ln={};let sn,un,cn="dataLayer",dn="gtag",fn=!1;function hn(e,t,n){!function(){const e=[];if(h()&&e.push("This is a browser extension environment."),g()||e.push("Cookies are not available."),e.length>0){const t=e.map((e,t)=>`(${t+1}) ${e}`).join(" "),n=Ht.create("invalid-analytics-context",{errorInfo:t});Ut.warn(n.message)}}();const r=e.options.appId;if(!r)throw Ht.create("no-app-id");if(!e.options.apiKey){if(!e.options.measurementId)throw Ht.create("no-api-key");Ut.warn(`The "apiKey" field is empty in the local Firebase config. This is needed to fetch the latest measurement ID for this Firebase app. Falling back to the measurement ID ${e.options.measurementId} provided in the "measurementId" field in the local Firebase config.`)}if(null!=an[r])throw Ht.create("already-exists",{id:r});if(!fn){!function(e){let t=[];Array.isArray(window[e])?t=window[e]:window[e]=t}(cn);const{wrappedGtag:e,gtagCore:t}=function(e,t,n,r,a){let o=function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Pe;const t=Le.get(e);if(!t&&e===Pe&&d())return je();if(!t)throw Ie.create("no-app",{appName:e});return t}();e=E(e);const t=Oe(e,Ft);return t.isInitialized()?t.getImmediate():function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=Oe(e,Ft);if(n.isInitialized()){const e=n.getImmediate();if(w(t,n.getOptions()))return e;throw Ht.create("already-initialized")}const r=n.initialize({options:t});return r}(e)}function mn(e,t,n){e=E(e),async function(e,t,n,r){if(r&&r.global){const t={};for(const e of Object.keys(n))t[`user_properties.${e}`]=n[e];return e("set",t),Promise.resolve()}e("config",await t,{update:!0,user_properties:n})}(un,an[e.app.options.appId],t,n).catch(e=>Ut.error(e))}function gn(e,t,n,r){e=E(e),async function(e,t,n,r,a){if(a&&a.global)e("event",n,r);else{const a=await t;e("event",n,{...r,send_to:a})}}(un,an[e.app.options.appId],t,n,r).catch(e=>Ut.error(e))}const yn="@firebase/analytics",vn="0.10.21";Ae(new _(Ft,(e,t)=>{let{options:n}=t;return hn(e.getProvider("app").getImmediate(),e.getProvider("installations-internal").getImmediate(),n)},"PUBLIC")),Ae(new _("analytics-internal",function(e){try{const t=e.getProvider(Ft).getImmediate();return{logEvent:(e,n,r)=>gn(t,e,n,r),setUserProperties:(e,n)=>mn(t,e,n)}}catch(t){throw Ht.create("interop-component-reg-failed",{reason:t})}},"PRIVATE")),Fe(yn,vn),Fe(yn,vn,"esm2020");const bn={apiKey:"AIzaSyAOv3Wdhq3aJUPMlLIF3ok1QpB7mr1WvBU",authDomain:"alexsandr-kaurcev.firebaseapp.com",projectId:"alexsandr-kaurcev",storageBucket:"alexsandr-kaurcev.firebasestorage.app",messagingSenderId:"1095166323080",appId:"1:1095166323080:web:2ead5cf0f691e27658b23d",measurementId:"G-YWQSGKG6LF"};let wn=null,kn=null;const Sn=()=>{if("undefined"!==typeof window&&!wn)try{wn=je(bn)}catch(e){console.warn("Firebase init error:",e)}},En=async()=>{if("undefined"===typeof window)return null;if(wn||Sn(),!kn&&wn)try{await async function(){if(h())return!1;if(!g())return!1;if(!p())return!1;try{return await m()}catch(e){return!1}}()&&(kn=pn(wn))}catch(e){console.warn("Firebase analytics error:",e)}return kn},_n=async(e,t)=>{const n=await En();n&&gn(n,e,t)};var Cn=n(782);const xn=(0,r.createContext)(null),Tn=e=>{let{children:t}=e;const n=(0,r.useRef)(!1);(0,r.useEffect)(()=>{n.current||(Sn(),n.current=!0)},[]);const a=(0,r.useCallback)(async(e,t)=>{await _n(e,t)},[]),o=(0,r.useCallback)(async(e,t)=>{await _n("page_view",{page_path:e,page_title:t})},[]),i=(0,r.useCallback)(async(e,t,n)=>{await a("click",{element_id:e,element_type:t,element_text:null===n||void 0===n?void 0:n.substring(0,100),page_path:window.location.pathname})},[a]),l=(0,r.useCallback)(async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"link";await a("navigation",{from_page:e,to_page:t,navigation_type:n})},[a]),s=(0,r.useCallback)(async(e,t,n)=>{await a("error",{error_message:e,error_code:t,component:n,page_path:window.location.pathname,timestamp:(new Date).toISOString()})},[a]),u={trackEvent:a,trackPageView:o,trackClick:i,trackNavigation:l,trackError:s};return(0,Cn.jsx)(xn.Provider,{value:u,children:t})}},245(e,t,n){var r=n(116),a=n(878),o=n(815);function i(e){var t="https://react.dev/errors/"+e;if(1j||(e.current=M[j],M[j]=null,j--)}function U(e,t){j++,M[j]=e.current,e.current=t}var H,B,W=F(null),V=F(null),q=F(null),Q=F(null);function K(e,t){switch(U(q,t),U(V,e),U(W,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?yd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=vd(t=yd(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}$(W),U(W,e)}function Y(){$(W),$(V),$(q)}function G(e){null!==e.memoizedState&&U(Q,e);var t=W.current,n=vd(t,e.type);t!==n&&(U(V,e),U(W,n))}function J(e){V.current===e&&($(W),$(V)),Q.current===e&&($(Q),df._currentValue=I)}function X(e){if(void 0===H)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);H=t&&t[1]||"",B=-1)":-1--a||s[r]!==u[a]){var c="\n"+s[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}}while(1<=r&&0<=a);break}}}finally{Z=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?X(n):""}function te(e,t){switch(e.tag){case 26:case 27:case 5:return X(e.type);case 16:return X("Lazy");case 13:return e.child!==t&&null!==t?X("Suspense Fallback"):X("Suspense");case 19:return X("SuspenseList");case 0:case 15:return ee(e.type,!1);case 11:return ee(e.type.render,!1);case 1:return ee(e.type,!0);case 31:return X("Activity");default:return""}}function ne(e){try{var t="",n=null;do{t+=te(e,n),n=e,e=e.return}while(e);return t}catch(r){return"\nError generating stack: "+r.message+"\n"+r.stack}}var re=Object.prototype.hasOwnProperty,ae=r.unstable_scheduleCallback,oe=r.unstable_cancelCallback,ie=r.unstable_shouldYield,le=r.unstable_requestPaint,se=r.unstable_now,ue=r.unstable_getCurrentPriorityLevel,ce=r.unstable_ImmediatePriority,de=r.unstable_UserBlockingPriority,fe=r.unstable_NormalPriority,he=r.unstable_LowPriority,pe=r.unstable_IdlePriority,me=r.log,ge=r.unstable_setDisableYieldValue,ye=null,ve=null;function be(e){if("function"===typeof me&&ge(e),ve&&"function"===typeof ve.setStrictMode)try{ve.setStrictMode(ye,e)}catch(t){}}var we=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(ke(e)/Se|0)|0},ke=Math.log,Se=Math.LN2;var Ee=256,_e=262144,Ce=4194304;function xe(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return 261888&e;case 262144:case 524288:case 1048576:case 2097152:return 3932160&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Te(e,t,n){var r=e.pendingLanes;if(0===r)return 0;var a=0,o=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=134217727&r;return 0!==l?0!==(r=l&~o)?a=xe(r):0!==(i&=l)?a=xe(i):n||0!==(n=l&~e)&&(a=xe(n)):0!==(l=r&~o)?a=xe(l):0!==i?a=xe(i):n||0!==(n=r&~e)&&(a=xe(n)),0===a?0:0!==t&&t!==a&&0===(t&o)&&((o=a&-a)>=(n=t&-t)||32===o&&0!==(4194048&n))?t:a}function Pe(e,t){return 0===(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function Re(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function Le(){var e=Ce;return 0===(62914560&(Ce<<=1))&&(Ce=4194304),e}function Ne(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function De(e,t){e.pendingLanes|=t,268435456!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ze(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-we(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|261930&n}function Ae(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-we(n),a=1<=xn),Rn=String.fromCharCode(32),Ln=!1;function Nn(e,t){switch(e){case"keyup":return-1!==_n.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dn(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var zn=!1;var An={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function On(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!An[e.type]:"textarea"===t}function In(e,t,n,r){Ot?It?It.push(r):It=[r]:Ot=r,0<(t=rd(t,"onChange")).length&&(n=new nn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Mn=null,jn=null;function Fn(e){Yc(e,0)}function $n(e){if(pt(Xe(e)))return e}function Un(e,t){if("change"===e)return t}var Hn=!1;if(Ut){var Bn;if(Ut){var Wn="oninput"in document;if(!Wn){var Vn=document.createElement("div");Vn.setAttribute("oninput","return;"),Wn="function"===typeof Vn.oninput}Bn=Wn}else Bn=!1;Hn=Bn&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=er(r)}}function nr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?nr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function rr(e){for(var t=mt((e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window).document);t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=mt((e=t.contentWindow).document)}return t}function ar(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var or=Ut&&"documentMode"in document&&11>=document.documentMode,ir=null,lr=null,sr=null,ur=!1;function cr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;ur||null==ir||ir!==mt(r)||("selectionStart"in(r=ir)&&ar(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},sr&&Zn(sr,r)||(sr=r,0<(r=rd(lr,"onSelect")).length&&(t=new nn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=ir)))}function dr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var fr={animationend:dr("Animation","AnimationEnd"),animationiteration:dr("Animation","AnimationIteration"),animationstart:dr("Animation","AnimationStart"),transitionrun:dr("Transition","TransitionRun"),transitionstart:dr("Transition","TransitionStart"),transitioncancel:dr("Transition","TransitionCancel"),transitionend:dr("Transition","TransitionEnd")},hr={},pr={};function mr(e){if(hr[e])return hr[e];if(!fr[e])return e;var t,n=fr[e];for(t in n)if(n.hasOwnProperty(t)&&t in pr)return hr[e]=n[t];return e}Ut&&(pr=document.createElement("div").style,"AnimationEvent"in window||(delete fr.animationend.animation,delete fr.animationiteration.animation,delete fr.animationstart.animation),"TransitionEvent"in window||delete fr.transitionend.transition);var gr=mr("animationend"),yr=mr("animationiteration"),vr=mr("animationstart"),br=mr("transitionrun"),wr=mr("transitionstart"),kr=mr("transitioncancel"),Sr=mr("transitionend"),Er=new Map,_r="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Cr(e,t){Er.set(e,t),rt(t,[e])}_r.push("scrollEnd");var xr="function"===typeof reportError?reportError:function(e){if("object"===typeof window&&"function"===typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"===typeof e&&null!==e&&"string"===typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"===typeof process&&"function"===typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)},Tr=[],Pr=0,Rr=0;function Lr(){for(var e=Pr,t=Rr=Pr=0;t>=i,a-=i,na=1<<32-we(t)+a|n<m?(g=d,d=null):g=d.sibling;var y=h(a,d,l[m],s);if(null===y){null===d&&(d=g);break}e&&d&&null===y.alternate&&t(a,d),i=o(y,i,m),null===c?u=y:c.sibling=y,c=y,d=g}if(m===l.length)return n(a,d),da&&aa(a,m),u;if(null===d){for(;mg?(y=m,m=null):y=m.sibling;var b=h(a,m,v.value,u);if(null===b){null===m&&(m=y);break}e&&m&&null===b.alternate&&t(a,m),l=o(b,l,g),null===d?c=b:d.sibling=b,d=b,m=y}if(v.done)return n(a,m),da&&aa(a,g),c;if(null===m){for(;!v.done;g++,v=s.next())null!==(v=f(a,v.value,u))&&(l=o(v,l,g),null===d?c=v:d.sibling=v,d=v);return da&&aa(a,g),c}for(m=r(m);!v.done;g++,v=s.next())null!==(v=p(m,a,g,v.value,u))&&(e&&null!==v.alternate&&m.delete(null===v.key?g:v.key),l=o(v,l,g),null===d?c=v:d.sibling=v,d=v);return e&&m.forEach(function(e){return t(a,e)}),da&&aa(a,g),c}(s,u,c=b.call(c),d)}if("function"===typeof c.then)return v(s,u,uo(c),d);if(c.$$typeof===k)return v(s,u,za(s,c),d);fo(s,c)}return"string"===typeof c&&""!==c||"number"===typeof c||"bigint"===typeof c?(c=""+c,null!==u&&6===u.tag?(n(s,u.sibling),(d=a(u,c)).return=s,s=d):(n(s,u),(d=Wr(c,s.mode,d)).return=s,s=d),l(s)):n(s,u)}return function(e,t,n,r){try{so=0;var a=v(e,t,n,r);return lo=null,a}catch(i){if(i===Ja||i===Za)throw i;var o=jr(29,i,null,e.mode);return o.lanes=r,o.return=e,o}}}var po=ho(!0),mo=ho(!1),go=!1;function yo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function vo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function bo(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function wo(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!==(2&hu)){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,t=Or(e),Ar(e,null,n),t}return Nr(e,r,t,n),Or(e)}function ko(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194048&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Ae(e,n)}}function So(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,callbacks:r.callbacks},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Eo=!1;function _o(){if(Eo){if(null!==Wa)throw Wa}}function Co(e,t,n,r){Eo=!1;var a=e.updateQueue;go=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var s=l,u=s.next;s.next=null,null===i?o=u:i.next=u,i=s;var c=e.alternate;null!==c&&((l=(c=c.updateQueue).lastBaseUpdate)!==i&&(null===l?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(null!==o){var d=a.baseState;for(i=0,c=u=s=null,l=o;;){var f=-536870913&l.lane,p=f!==l.lane;if(p?(gu&f)===f:(r&f)===f){0!==f&&f===Ba&&(Eo=!0),null!==c&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var m=e,g=l;f=t;var y=n;switch(g.tag){case 1:if("function"===typeof(m=g.payload)){d=m.call(y,d,f);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null===(f="function"===typeof(m=g.payload)?m.call(y,d,f):m)||void 0===f)break e;d=h({},d,f);break e;case 2:go=!0}}null!==(f=l.callback)&&(e.flags|=64,p&&(e.flags|=8192),null===(p=a.callbacks)?a.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===c?(u=c=p,s=d):c=c.next=p,i|=f;if(null===(l=l.next)){if(null===(l=a.shared.pending))break;l=(p=l).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}null===c&&(s=d),a.baseState=s,a.firstBaseUpdate=u,a.lastBaseUpdate=c,null===o&&(a.shared.lanes=0),_u|=i,e.lanes=i,e.memoizedState=d}}function xo(e,t){if("function"!==typeof e)throw Error(i(191,e));e.call(t)}function To(e,t){var n=e.callbacks;if(null!==n)for(e.callbacks=null,e=0;eo?o:8;var i=A.T,l={};A.T=l,dl(e,!1,t,n);try{var s=a(),u=A.S;if(null!==u&&u(l,s),null!==s&&"object"===typeof s&&"function"===typeof s.then)cl(e,t,function(e,t){var n=[],r={status:"pending",value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var e=0;e<\/script>",o=o.removeChild(o.firstChild);break;case"select":o="string"===typeof r.is?l.createElement("select",{is:r.is}):l.createElement("select"),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o="string"===typeof r.is?l.createElement(a,{is:r.is}):l.createElement(a)}}o[Ue]=t,o[He]=r;e:for(l=t.child;null!==l;){if(5===l.tag||6===l.tag)o.appendChild(l.stateNode);else if(4!==l.tag&&27!==l.tag&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===t)break e;for(;null===l.sibling;){if(null===l.return||l.return===t)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}t.stateNode=o;e:switch(fd(o,a,r),a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&ls(t)}}return fs(t),ss(t,t.type,null===e||e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&ls(t);else{if("string"!==typeof r&&null===t.stateNode)throw Error(i(166));if(e=q.current,va(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(a=ua))switch(a.tag){case 27:case 5:r=a.memoizedProps}e[Ue]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||ud(e.nodeValue,n)))||ma(t,!0)}else(e=gd(e).createTextNode(r))[Ue]=t,t.stateNode=e}return fs(t),null;case 31:if(n=t.memoizedState,null===e||null!==e.memoizedState){if(r=va(t),null!==n){if(null===e){if(!r)throw Error(i(318));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(i(557));e[Ue]=t}else ba(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;fs(t),e=!1}else n=wa(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return 256&t.flags?(Fo(t),t):(Fo(t),null);if(0!==(128&t.flags))throw Error(i(558))}return fs(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(a=va(t),null!==r&&null!==r.dehydrated){if(null===e){if(!a)throw Error(i(318));if(!(a=null!==(a=t.memoizedState)?a.dehydrated:null))throw Error(i(317));a[Ue]=t}else ba(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;fs(t),a=!1}else a=wa(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return 256&t.flags?(Fo(t),t):(Fo(t),null)}return Fo(t),0!==(128&t.flags)?(t.lanes=n,t):(n=null!==r,e=null!==e&&null!==e.memoizedState,n&&(a=null,null!==(r=t.child).alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(a=r.alternate.memoizedState.cachePool.pool),o=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),cs(t,t.updateQueue),fs(t),null);case 4:return Y(),null===e&&Zc(t.stateNode.containerInfo),fs(t),null;case 10:return xa(t.type),fs(t),null;case 19:if($($o),null===(r=t.memoizedState))return fs(t),null;if(a=0!==(128&t.flags),null===(o=r.rendering))if(a)ds(r,!1);else{if(0!==Eu||null!==e&&0!==(128&e.flags))for(e=t.child;null!==e;){if(null!==(o=Uo(e))){for(t.flags|=128,ds(r,!1),e=o.updateQueue,t.updateQueue=e,cs(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)Ur(n,e),n=n.sibling;return U($o,1&$o.current|2),da&&aa(t,r.treeForkCount),t.child}e=e.sibling}null!==r.tail&&se()>Au&&(t.flags|=128,a=!0,ds(r,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=Uo(o))){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,cs(t,e),ds(r,!0),null===r.tail&&"hidden"===r.tailMode&&!o.alternate&&!da)return fs(t),null}else 2*se()-r.renderingStartTime>Au&&536870912!==n&&(t.flags|=128,a=!0,ds(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(null!==(e=r.last)?e.sibling=o:t.child=o,r.last=o)}return null!==r.tail?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=se(),e.sibling=null,n=$o.current,U($o,a?1&n|2:1&n),da&&aa(t,r.treeForkCount),e):(fs(t),null);case 22:case 23:return Fo(t),Do(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!==(536870912&n)&&0===(128&t.flags)&&(fs(t),6&t.subtreeFlags&&(t.flags|=8192)):fs(t),null!==(n=t.updateQueue)&&cs(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&$(Qa),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),xa(ja),fs(t),null;case 25:case 30:return null}throw Error(i(156,t.tag))}function ps(e,t){switch(la(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return xa(ja),Y(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return J(t),null;case 31:if(null!==t.memoizedState){if(Fo(t),null===t.alternate)throw Error(i(340));ba()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 13:if(Fo(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));ba()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return $($o),null;case 4:return Y(),null;case 10:return xa(t.type),null;case 22:case 23:return Fo(t),Do(),null!==e&&$(Qa),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return xa(ja),null;default:return null}}function ms(e,t){switch(la(t),t.tag){case 3:xa(ja),Y();break;case 26:case 27:case 5:J(t);break;case 4:Y();break;case 31:null!==t.memoizedState&&Fo(t);break;case 13:Fo(t);break;case 19:$($o);break;case 10:xa(t.type);break;case 22:case 23:Fo(t),Do(),null!==e&&$(Qa);break;case 24:xa(ja)}}function gs(e,t){try{var n=t.updateQueue,r=null!==n?n.lastEffect:null;if(null!==r){var a=r.next;n=a;do{if((n.tag&e)===e){r=void 0;var o=n.create,i=n.inst;r=o(),i.destroy=r}n=n.next}while(n!==a)}}catch(l){Ec(t,t.return,l)}}function ys(e,t,n){try{var r=t.updateQueue,a=null!==r?r.lastEffect:null;if(null!==a){var o=a.next;r=o;do{if((r.tag&e)===e){var i=r.inst,l=i.destroy;if(void 0!==l){i.destroy=void 0,a=t;var s=n,u=l;try{u()}catch(c){Ec(a,s,c)}}}r=r.next}while(r!==o)}}catch(c){Ec(t,t.return,c)}}function vs(e){var t=e.updateQueue;if(null!==t){var n=e.stateNode;try{To(t,n)}catch(r){Ec(e,e.return,r)}}}function bs(e,t,n){n.props=El(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){Ec(e,t,r)}}function ws(e,t){try{var n=e.ref;if(null!==n){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;default:r=e.stateNode}"function"===typeof n?e.refCleanup=n(r):n.current=r}}catch(a){Ec(e,t,a)}}function ks(e,t){var n=e.ref,r=e.refCleanup;if(null!==n)if("function"===typeof r)try{r()}catch(a){Ec(e,t,a)}finally{e.refCleanup=null,null!=(e=e.alternate)&&(e.refCleanup=null)}else if("function"===typeof n)try{n(null)}catch(o){Ec(e,t,o)}else n.current=null}function Ss(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break e;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(a){Ec(e,e.return,a)}}function Es(e,t,n){try{var r=e.stateNode;!function(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var a=null,o=null,l=null,s=null,u=null,c=null,d=null;for(p in n){var f=n[p];if(n.hasOwnProperty(p)&&null!=f)switch(p){case"checked":case"value":break;case"defaultValue":u=f;default:r.hasOwnProperty(p)||cd(e,t,p,null,r,f)}}for(var h in r){var p=r[h];if(f=n[h],r.hasOwnProperty(h)&&(null!=p||null!=f))switch(h){case"type":o=p;break;case"name":a=p;break;case"checked":c=p;break;case"defaultChecked":d=p;break;case"value":l=p;break;case"defaultValue":s=p;break;case"children":case"dangerouslySetInnerHTML":if(null!=p)throw Error(i(137,t));break;default:p!==f&&cd(e,t,h,p,r,f)}}return void vt(e,l,s,u,c,d,o,a);case"select":for(o in p=l=s=h=null,n)if(u=n[o],n.hasOwnProperty(o)&&null!=u)switch(o){case"value":break;case"multiple":p=u;default:r.hasOwnProperty(o)||cd(e,t,o,null,r,u)}for(a in r)if(o=r[a],u=n[a],r.hasOwnProperty(a)&&(null!=o||null!=u))switch(a){case"value":h=o;break;case"defaultValue":s=o;break;case"multiple":l=o;default:o!==u&&cd(e,t,a,o,r,u)}return t=s,n=l,r=p,void(null!=h?kt(e,!!n,h,!1):!!r!==!!n&&(null!=t?kt(e,!!n,t,!0):kt(e,!!n,n?[]:"",!1)));case"textarea":for(s in p=h=null,n)if(a=n[s],n.hasOwnProperty(s)&&null!=a&&!r.hasOwnProperty(s))switch(s){case"value":case"children":break;default:cd(e,t,s,null,r,a)}for(l in r)if(a=r[l],o=n[l],r.hasOwnProperty(l)&&(null!=a||null!=o))switch(l){case"value":h=a;break;case"defaultValue":p=a;break;case"children":break;case"dangerouslySetInnerHTML":if(null!=a)throw Error(i(91));break;default:a!==o&&cd(e,t,l,a,r,o)}return void St(e,h,p);case"option":for(var m in n)if(h=n[m],n.hasOwnProperty(m)&&null!=h&&!r.hasOwnProperty(m))if("selected"===m)e.selected=!1;else cd(e,t,m,null,r,h);for(u in r)if(h=r[u],p=n[u],r.hasOwnProperty(u)&&h!==p&&(null!=h||null!=p))if("selected"===u)e.selected=h&&"function"!==typeof h&&"symbol"!==typeof h;else cd(e,t,u,h,r,p);return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var g in n)h=n[g],n.hasOwnProperty(g)&&null!=h&&!r.hasOwnProperty(g)&&cd(e,t,g,null,r,h);for(c in r)if(h=r[c],p=n[c],r.hasOwnProperty(c)&&h!==p&&(null!=h||null!=p))switch(c){case"children":case"dangerouslySetInnerHTML":if(null!=h)throw Error(i(137,t));break;default:cd(e,t,c,h,r,p)}return;default:if(Pt(t)){for(var y in n)h=n[y],n.hasOwnProperty(y)&&void 0!==h&&!r.hasOwnProperty(y)&&dd(e,t,y,void 0,r,h);for(d in r)h=r[d],p=n[d],!r.hasOwnProperty(d)||h===p||void 0===h&&void 0===p||dd(e,t,d,h,r,p);return}}for(var v in n)h=n[v],n.hasOwnProperty(v)&&null!=h&&!r.hasOwnProperty(v)&&cd(e,t,v,null,r,h);for(f in r)h=r[f],p=n[f],!r.hasOwnProperty(f)||h===p||null==h&&null==p||cd(e,t,f,h,r,p)}(r,e.type,n,t),r[He]=t}catch(a){Ec(e,e.return,a)}}function _s(e){return 5===e.tag||3===e.tag||26===e.tag||27===e.tag&&xd(e.type)||4===e.tag}function Cs(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||_s(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(27===e.tag&&xd(e.type))continue e;if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function xs(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?(9===n.nodeType?n.body:"HTML"===n.nodeName?n.ownerDocument.body:n).insertBefore(e,t):((t=9===n.nodeType?n.body:"HTML"===n.nodeName?n.ownerDocument.body:n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=Dt));else if(4!==r&&(27===r&&xd(e.type)&&(n=e.stateNode,t=null),null!==(e=e.child)))for(xs(e,t,n),e=e.sibling;null!==e;)xs(e,t,n),e=e.sibling}function Ts(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&(27===r&&xd(e.type)&&(n=e.stateNode),null!==(e=e.child)))for(Ts(e,t,n),e=e.sibling;null!==e;)Ts(e,t,n),e=e.sibling}function Ps(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);fd(t,r,n),t[Ue]=e,t[He]=n}catch(o){Ec(e,e.return,o)}}var Rs=!1,Ls=!1,Ns=!1,Ds="function"===typeof WeakSet?WeakSet:Set,zs=null;function As(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Ks(e,n),4&r&&gs(5,n);break;case 1:if(Ks(e,n),4&r)if(e=n.stateNode,null===t)try{e.componentDidMount()}catch(i){Ec(n,n.return,i)}else{var a=El(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(a,t,e.__reactInternalSnapshotBeforeUpdate)}catch(l){Ec(n,n.return,l)}}64&r&&vs(n),512&r&&ws(n,n.return);break;case 3:if(Ks(e,n),64&r&&null!==(e=n.updateQueue)){if(t=null,null!==n.child)switch(n.child.tag){case 27:case 5:case 1:t=n.child.stateNode}try{To(e,t)}catch(i){Ec(n,n.return,i)}}break;case 27:null===t&&4&r&&Ps(n);case 26:case 5:Ks(e,n),null===t&&4&r&&Ss(n),512&r&&ws(n,n.return);break;case 12:Ks(e,n);break;case 31:Ks(e,n),4&r&&$s(e,n);break;case 13:Ks(e,n),4&r&&Us(e,n),64&r&&(null!==(e=n.memoizedState)&&(null!==(e=e.dehydrated)&&function(e,t){var n=e.ownerDocument;if("$~"===e.data)e._reactRetry=t;else if("$?"!==e.data||"loading"!==n.readyState)t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}(e,n=Tc.bind(null,n))));break;case 22:if(!(r=null!==n.memoizedState||Rs)){t=null!==t&&null!==t.memoizedState||Ls,a=Rs;var o=Ls;Rs=r,(Ls=t)&&!o?Gs(e,n,0!==(8772&n.subtreeFlags)):Ks(e,n),Rs=a,Ls=o}break;case 30:break;default:Ks(e,n)}}function Os(e){var t=e.alternate;null!==t&&(e.alternate=null,Os(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&Ye(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Is=null,Ms=!1;function js(e,t,n){for(n=n.child;null!==n;)Fs(e,t,n),n=n.sibling}function Fs(e,t,n){if(ve&&"function"===typeof ve.onCommitFiberUnmount)try{ve.onCommitFiberUnmount(ye,n)}catch(o){}switch(n.tag){case 26:Ls||ks(n,t),js(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode).parentNode.removeChild(n);break;case 27:Ls||ks(n,t);var r=Is,a=Ms;xd(n.type)&&(Is=n.stateNode,Ms=!1),js(e,t,n),jd(n.stateNode),Is=r,Ms=a;break;case 5:Ls||ks(n,t);case 6:if(r=Is,a=Ms,Is=null,js(e,t,n),Ms=a,null!==(Is=r))if(Ms)try{(9===Is.nodeType?Is.body:"HTML"===Is.nodeName?Is.ownerDocument.body:Is).removeChild(n.stateNode)}catch(i){Ec(n,t,i)}else try{Is.removeChild(n.stateNode)}catch(i){Ec(n,t,i)}break;case 18:null!==Is&&(Ms?(Td(9===(e=Is).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e,n.stateNode),Vf(e)):Td(Is,n.stateNode));break;case 4:r=Is,a=Ms,Is=n.stateNode.containerInfo,Ms=!0,js(e,t,n),Is=r,Ms=a;break;case 0:case 11:case 14:case 15:ys(2,n,t),Ls||ys(4,n,t),js(e,t,n);break;case 1:Ls||(ks(n,t),"function"===typeof(r=n.stateNode).componentWillUnmount&&bs(n,t,r)),js(e,t,n);break;case 21:js(e,t,n);break;case 22:Ls=(r=Ls)||null!==n.memoizedState,js(e,t,n),Ls=r;break;default:js(e,t,n)}}function $s(e,t){if(null===t.memoizedState&&(null!==(e=t.alternate)&&null!==(e=e.memoizedState))){e=e.dehydrated;try{Vf(e)}catch(n){Ec(t,t.return,n)}}}function Us(e,t){if(null===t.memoizedState&&(null!==(e=t.alternate)&&(null!==(e=e.memoizedState)&&null!==(e=e.dehydrated))))try{Vf(e)}catch(n){Ec(t,t.return,n)}}function Hs(e,t){var n=function(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return null===t&&(t=e.stateNode=new Ds),t;case 22:return null===(t=(e=e.stateNode)._retryCache)&&(t=e._retryCache=new Ds),t;default:throw Error(i(435,e.tag))}}(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Pc.bind(null,e,t);t.then(r,r)}})}function Bs(e,t){var n=t.deletions;if(null!==n)for(var r=0;r title"))),fd(o,r,n),o[Ue]=e,et(o),r=o;break e;case"link":var l=nf("link","href",a).get(r+(n.href||""));if(l)for(var s=0;sl)break;var c=s.transferSize,d=s.initiatorType;c&&hd(d)&&(i+=c*((s=s.responseEnd)of?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(a)}}:null}(d,p)))return $u=o,e.cancelPendingCommit=p(mc.bind(null,e,t,o,n,r,a,i,l,s,c,d,null,f,h)),void Xu(e,o,i,!u)}mc(e,t,o,n,r,a,i,l,s)}function Ju(e){for(var t=e;;){var n=t.tag;if((0===n||11===n||15===n)&&16384&t.flags&&(null!==(n=t.updateQueue)&&null!==(n=n.stores)))for(var r=0;rg&&(i=g,g=m,m=i);var y=tr(l,m),v=tr(l,g);if(y&&v&&(1!==h.rangeCount||h.anchorNode!==y.node||h.anchorOffset!==y.offset||h.focusNode!==v.node||h.focusOffset!==v.offset)){var b=d.createRange();b.setStart(y.node,y.offset),h.removeAllRanges(),m>g?(h.addRange(b),h.extend(v.node,v.offset)):(b.setEnd(v.node,v.offset),h.addRange(b))}}}}for(d=[],h=l;h=h.parentNode;)1===h.nodeType&&d.push({element:h,left:h.scrollLeft,top:h.scrollTop});for("function"===typeof l.focus&&l.focus(),l=0;ln?32:n,A.T=null,n=Hu,Hu=null;var o=ju,l=$u;if(Mu=0,Fu=ju=null,$u=0,0!==(6&hu))throw Error(i(331));var s=hu;if(hu|=4,su(o.current),eu(o,o.current,l,n),hu=s,Ic(0,!1),ve&&"function"===typeof ve.onPostCommitFiberRoot)try{ve.onPostCommitFiberRoot(ye,o)}catch(u){}return!0}finally{O.p=a,A.T=r,bc(e,t)}}function Sc(e,t,n){t=Kr(n,t),null!==(e=wo(e,t=Rl(e.stateNode,t,2),2))&&(De(e,2),Oc(e))}function Ec(e,t,n){if(3===e.tag)Sc(e,e,n);else for(;null!==t;){if(3===t.tag){Sc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"===typeof t.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===Iu||!Iu.has(r))){e=Kr(n,e),null!==(r=wo(t,n=Ll(2),2))&&(Nl(n,r,t,e),De(r,2),Oc(r));break}}t=t.return}}function _c(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new fu;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(ku=!0,a.add(n),e=Cc.bind(null,e,t,n),t.then(e,e))}function Cc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,pu===e&&(gu&n)===n&&(4===Eu||3===Eu&&(62914560&gu)===gu&&300>se()-Du?0===(2&hu)&&tc(e,0):xu|=n,Pu===gu&&(Pu=0)),Oc(e)}function xc(e,t){0===t&&(t=Le()),null!==(e=zr(e,t))&&(De(e,t),Oc(e))}function Tc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),xc(e,n)}function Pc(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}null!==r&&r.delete(t),xc(e,n)}var Rc=null,Lc=null,Nc=!1,Dc=!1,zc=!1,Ac=0;function Oc(e){e!==Lc&&null===e.next&&(null===Lc?Rc=Lc=e:Lc=Lc.next=e),Dc=!0,Nc||(Nc=!0,_d(function(){0!==(6&hu)?ae(ce,Mc):jc()}))}function Ic(e,t){if(!zc&&Dc){zc=!0;do{for(var n=!1,r=Rc;null!==r;){if(!t)if(0!==e){var a=r.pendingLanes;if(0===a)var o=0;else{var i=r.suspendedLanes,l=r.pingedLanes;o=(1<<31-we(42|e)+1)-1,o=201326741&(o&=a&~(i&~l))?201326741&o|1:o?2|o:0}0!==o&&(n=!0,Uc(r,o))}else o=gu,0===(3&(o=Te(r,r===pu?o:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||Pe(r,o)||(n=!0,Uc(r,o));r=r.next}}while(n);zc=!1}}function Mc(){jc()}function jc(){Dc=Nc=!1;var e=0;0!==Ac&&function(){var e=window.event;if(e&&"popstate"===e.type)return e!==wd&&(wd=e,!0);return wd=null,!1}()&&(e=Ac);for(var t=se(),n=null,r=Rc;null!==r;){var a=r.next,o=Fc(r,t);0===o?(r.next=null,null===n?Rc=a:n.next=a,null===a&&(Lc=n)):(n=r,(0!==e||0!==(3&o))&&(Dc=!0)),r=a}0!==Mu&&5!==Mu||Ic(e,!1),0!==Ac&&(Ac=0)}function Fc(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=-62914561&e.pendingLanes;0 title"):null)}function af(e){return"stylesheet"!==e.type||0!==(3&e.state.loading)}var of=0;function lf(){if(this.count--,0===this.count&&(0===this.imgCount||!this.waitingForImages))if(this.stylesheets)uf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}var sf=null;function uf(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,sf=new Map,t.forEach(cf,e),sf=null,lf.call(e))}function cf(e,t){if(!(4&t.state.loading)){var n=sf.get(e);if(n)var r=n.get(null);else{n=new Map,sf.set(e,n);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o>>1,a=e[r];if(!(0>>1;ro(s,n))uo(c,s)?(e[r]=c,e[u]=n,r=u):(e[r]=s,e[l]=n,r=l);else{if(!(uo(c,n)))break e;e[r]=c,e[u]=n,r=u}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"===typeof performance&&"function"===typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var l=Date,s=l.now();t.unstable_now=function(){return l.now()-s}}var u=[],c=[],d=1,f=null,h=3,p=!1,m=!1,g=!1,y=!1,v="function"===typeof setTimeout?setTimeout:null,b="function"===typeof clearTimeout?clearTimeout:null,w="undefined"!==typeof setImmediate?setImmediate:null;function k(e){for(var t=r(c);null!==t;){if(null===t.callback)a(c);else{if(!(t.startTime<=e))break;a(c),t.sortIndex=t.expirationTime,n(u,t)}t=r(c)}}function S(e){if(g=!1,k(e),!m)if(null!==r(u))m=!0,_||(_=!0,E());else{var t=r(c);null!==t&&D(S,t.startTime-e)}}var E,_=!1,C=-1,x=5,T=-1;function P(){return!!y||!(t.unstable_now()-Te&&P());){var i=f.callback;if("function"===typeof i){f.callback=null,h=f.priorityLevel;var l=i(f.expirationTime<=e);if(e=t.unstable_now(),"function"===typeof l){f.callback=l,k(e),n=!0;break t}f===r(u)&&a(u),k(e)}else a(u);f=r(u)}if(null!==f)n=!0;else{var s=r(c);null!==s&&D(S,s.startTime-e),n=!1}}break e}finally{f=null,h=o,p=!1}n=void 0}}finally{n?E():_=!1}}}if("function"===typeof w)E=function(){w(R)};else if("undefined"!==typeof MessageChannel){var L=new MessageChannel,N=L.port2;L.port1.onmessage=R,E=function(){N.postMessage(null)}}else E=function(){v(R,0)};function D(e,n){C=v(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125i?(e.sortIndex=o,n(c,e),null===r(u)&&e===r(c)&&(g?(b(C),C=-1):g=!0,D(S,o-i))):(e.sortIndex=l,n(u,e),m||p||(m=!0,_||(_=!0,E()))),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}},116(e,t,n){e.exports=n(255)},747(e,t,n){var r;n.d(t,{FE:()=>nn,N_:()=>tr,Ys:()=>Jn,Zp:()=>Ut,pX:()=>J,pg:()=>pn,q6:()=>b,r5:()=>rn,sv:()=>vn,zy:()=>jt});var a,o=n(878),i=e=>{throw TypeError(e)},l=(e,t,n)=>(((e,t,n)=>{t.has(e)||i("Cannot "+n)})(e,t,"read from private field"),n?n.call(e):t.get(e)),s="popstate";function u(e){return"object"===typeof e&&null!=e&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function c(){return y(function(e,t){let n=t.state?.masked,{pathname:r,search:a,hash:o}=n||e.location;return p("",{pathname:r,search:a,hash:o},t.state&&t.state.usr||null,t.state&&t.state.key||"default",n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)},function(e,t){return"string"===typeof t?t:m(t)},null,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}function d(e,t){if(!1===e||null===e||"undefined"===typeof e)throw new Error(t)}function f(e,t){if(!e){"undefined"!==typeof console&&console.warn(t);try{throw new Error(t)}catch(n){}}}function h(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.unstable_mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function p(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return{pathname:"string"===typeof e?e:e.pathname,search:"",hash:"",..."string"===typeof t?g(t):t,state:n,key:t&&t.key||r||Math.random().toString(36).substring(2,10),unstable_mask:a}}function m(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&"?"!==n&&(t+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(t+="#"===r.charAt(0)?r:"#"+r),t}function g(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function y(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},{window:a=document.defaultView,v5Compat:o=!1}=r,i=a.history,l="POP",c=null,d=f();function f(){return(i.state||{idx:null}).idx}function m(){l="POP";let e=f(),t=null==e?null:e-d;d=e,c&&c({action:l,location:y.location,delta:t})}function g(e){return v(e)}null==d&&(d=0,i.replaceState({...i.state,idx:d},""));let y={get action(){return l},get location(){return e(a,i)},listen(e){if(c)throw new Error("A history only accepts one active listener");return a.addEventListener(s,m),c=e,()=>{a.removeEventListener(s,m),c=null}},createHref:e=>t(a,e),createURL:g,encodeLocation(e){let t=g(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){l="PUSH";let r=u(e)?e:p(y.location,e,t);n&&n(r,e),d=f()+1;let s=h(r,d),m=y.createHref(r.unstable_mask||r);try{i.pushState(s,"",m)}catch(g){if(g instanceof DOMException&&"DataCloneError"===g.name)throw g;a.location.assign(m)}o&&c&&c({action:l,location:y.location,delta:1})},replace:function(e,t){l="REPLACE";let r=u(e)?e:p(y.location,e,t);n&&n(r,e),d=f();let a=h(r,d),s=y.createHref(r.unstable_mask||r);i.replaceState(a,"",s),o&&c&&c({action:l,location:y.location,delta:0})},go:e=>i.go(e)};return y}function v(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n="http://localhost";"undefined"!==typeof window&&(n="null"!==window.location.origin?window.location.origin:window.location.href),d(n,"No window.location.(origin|href) available to create URL");let r="string"===typeof e?e:m(e);return r=r.replace(/ $/,"%20"),!t&&r.startsWith("//")&&(r=n+r),new URL(r,n)}function b(e){return{defaultValue:e}}var w=class{constructor(e){var t,n,r;if(t=this,n=a,r=new Map,n.has(t)?i("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(t):n.set(t,r),e)for(let[a,o]of e)this.set(a,o)}get(e){if(l(this,a).has(e))return l(this,a).get(e);if(void 0!==e.defaultValue)return e.defaultValue;throw new Error("No value found for context")}set(e,t){l(this,a).set(e,t)}};a=new WeakMap;var k=new Set(["lazy","caseSensitive","path","id","index","children"]);var S=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function E(e){return S.has(e)}function _(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return e.map((e,o)=>{let i=[...n,String(o)],l="string"===typeof e.id?e.id:i.join("-");if(d(!0!==e.index||!e.children,"Cannot specify children on an index route"),d(a||!r[l],`Found a route id collision on id "${l}". Route id's must be globally unique within Data Router usages`),function(e){return!0===e.index}(e)){let n={...e,id:l};return r[l]=C(n,t(n)),n}{let n={...e,id:l,children:void 0};return r[l]=C(n,t(n)),e.children&&(n.children=_(e.children,t,i,r,a)),n}})}function C(e,t){return Object.assign(e,{...t,..."object"===typeof t.lazy&&null!=t.lazy?{lazy:{...e.lazy,...t.lazy}}:{}})}function x(e,t){return T(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/",!1)}function T(e,t,n,r){let a=j(("string"===typeof t?g(t):t).pathname||"/",n);if(null==a)return null;let o=R(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let n=e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n]);return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(o);let i=null;for(let l=0;null==i&&l1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=function(e,o){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,l=arguments.length>3?arguments[3]:void 0,s={relativePath:void 0===l?e.path||"":l,caseSensitive:!0===e.caseSensitive,childrenIndex:o,route:e};if(s.relativePath.startsWith("/")){if(!s.relativePath.startsWith(r)&&i)return;d(s.relativePath.startsWith(r),`Absolute route path "${s.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),s.relativePath=s.relativePath.slice(r.length)}let u=q([r,s.relativePath]),c=n.concat(s);e.children&&e.children.length>0&&(d(!0!==e.index,`Index routes must not have child routes. Please remove all child routes from route path "${u}".`),R(e.children,t,c,u,i)),(null!=e.path||e.index)&&t.push({path:u,score:z(u,e.index),routesMeta:c})};return e.forEach((e,t)=>{if(""!==e.path&&e.path?.includes("?"))for(let n of L(e.path))o(e,t,!0,n);else o(e,t)}),t}function L(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,a=n.endsWith("?"),o=n.replace(/\?$/,"");if(0===r.length)return a?[o,""]:[o];let i=L(r.join("/")),l=[];return l.push(...i.map(e=>""===e?o:[o,e].join("/"))),a&&l.push(...i),l.map(t=>e.startsWith("/")&&""===t?"/":t)}var N=/^:[\w-]+$/,D=e=>"*"===e;function z(e,t){let n=e.split("/"),r=n.length;return n.some(D)&&(r+=-2),t&&(r+=2),n.filter(e=>!D(e)).reduce((e,t)=>e+(N.test(t)?3:""===t?1:10),r)}function A(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],{routesMeta:r}=e,a={},o="/",i=[];for(let l=0;l{let{paramName:r,isOptional:a}=t;if("*"===r){let e=l[n]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}const s=l[n];return e[r]=a&&!s?void 0:(s||"").replace(/%2F/g,"/"),e},{}),pathname:o,pathnameBase:i,pattern:e}}function I(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];f("*"===e||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,n,a,o)=>{if(r.push({paramName:t,isOptional:null!=n}),n){let t=o.charAt(a+e.length);return t&&"/"!==t?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(r.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}function M(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return f(!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 j(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}var F=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,$=e=>F.test(e);function U(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"}function H(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function B(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function W(e){let t=B(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function V(e,t,n){let r,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];"string"===typeof e?r=g(e):(r={...e},d(!r.pathname||!r.pathname.includes("?"),H("?","pathname","search",r)),d(!r.pathname||!r.pathname.includes("#"),H("#","pathname","hash",r)),d(!r.search||!r.search.includes("#"),H("#","search","hash",r)));let o,i=""===e||""===r.pathname,l=i?"/":r.pathname;if(null==l)o=n;else{let e=t.length-1;if(!a&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;r.pathname=t.join("/")}o=e>=0?t[e]:"/"}let s=function(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",{pathname:r,search:a="",hash:o=""}="string"===typeof e?g(e):e;return r?(r=r.replace(/\/\/+/g,"/"),t=r.startsWith("/")?U(r.substring(1),"/"):U(r,n)):t=n,{pathname:t,search:K(a),hash:Y(o)}}(r,o),u=l&&"/"!==l&&l.endsWith("/"),c=(i||"."===l)&&n.endsWith("/");return s.pathname.endsWith("/")||!u&&!c||(s.pathname+="/"),s}var q=e=>e.join("/").replace(/\/\/+/g,"/"),Q=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),K=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",Y=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";var G=class{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.status=e,this.statusText=t||"",this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function J(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}function X(e){return e.map(e=>e.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Z="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement;function ee(e,t){let n=e;if("string"!==typeof n||!F.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,a=!1;if(Z)try{let e=new URL(window.location.href),r=n.startsWith("//")?new URL(e.protocol+n):new URL(n),o=j(r.pathname,t);r.origin===e.origin&&null!=o?n=o+r.search+r.hash:a=!0}catch(o){f(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:a,to:n}}var te=Symbol("Uninstrumented");function ne(e,t){let n={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(e=>e({id:t.id,index:t.index,path:t.path,instrument(e){let t=Object.keys(n);for(let r of t)e[r]&&n[r].push(e[r])}}));let r={};if("function"===typeof t.lazy&&n.lazy.length>0){let e=re(n.lazy,t.lazy,()=>{});e&&(r.lazy=e)}if("object"===typeof t.lazy){let e=t.lazy;["middleware","loader","action"].forEach(t=>{let a=e[t],o=n[`lazy.${t}`];if("function"===typeof a&&o.length>0){let e=re(o,a,()=>{});e&&(r.lazy=Object.assign(r.lazy||{},{[t]:e}))}})}return["loader","action"].forEach(e=>{let a=t[e];if("function"===typeof a&&n[e].length>0){let t=a[te]??a,o=re(n[e],t,function(){return oe(arguments.length<=0?void 0:arguments[0])});o&&("loader"===e&&!0===t.hydrate&&(o.hydrate=!0),o[te]=t,r[e]=o)}}),t.middleware&&t.middleware.length>0&&n.middleware.length>0&&(r.middleware=t.middleware.map(e=>{let t=e[te]??e,r=re(n.middleware,t,function(){return oe(arguments.length<=0?void 0:arguments[0])});return r?(r[te]=t,r):e})),r}function re(e,t,n){return 0===e.length?null:async function(){for(var r=arguments.length,a=new Array(r),o=0;ot(...a),e.length-1);if("error"===i.type)throw i.value;return i.value}}async function ae(e,t,n,r){let a,o=e[r];if(o){let l,s=async()=>(l?console.error("You cannot call instrumented handlers more than once"):l=ae(e,t,n,r-1),a=await l,d(a,"Expected a result"),"error"===a.type&&a.value instanceof Error?{status:"error",error:a.value}:{status:"success",error:void 0});try{await o(s,t)}catch(i){console.error("An instrumentation function threw an error:",i)}l||await s(),await l}else try{let e=await n();a={type:"success",value:e}}catch(i){a={type:"error",value:i}}return a||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function oe(e){let{request:t,context:n,params:r,unstable_pattern:a}=e;return{request:le(t),params:{...r},unstable_pattern:a,context:se(n)}}function ie(e,t){return{currentUrl:m(e.state.location),..."formMethod"in t?{formMethod:t.formMethod}:{},..."formEncType"in t?{formEncType:t.formEncType}:{},..."formData"in t?{formData:t.formData}:{},..."body"in t?{body:t.body}:{}}}function le(e){return{method:e.method,url:e.url,headers:{get:function(){return e.headers.get(...arguments)}}}}function se(e){if(function(e){if(null===e||"object"!==typeof e)return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t||Object.getOwnPropertyNames(t).sort().join("\0")===ue}(e)){let t={...e};return Object.freeze(t),t}return{get:t=>e.get(t)}}var ue=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ce=["POST","PUT","PATCH","DELETE"],de=new Set(ce),fe=["GET",...ce],he=new Set(fe),pe=new Set([301,302,303,307,308]),me=new Set([307,308]),ge={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ye={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ve={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},be=e=>({hasErrorBoundary:Boolean(e.hasErrorBoundary)}),we="remix-router-transitions",ke=Symbol("ResetLoaderData");function Se(e){const t=e.window?e.window:"undefined"!==typeof window?window:void 0,n="undefined"!==typeof t&&"undefined"!==typeof t.document&&"undefined"!==typeof t.document.createElement;d(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let r=e.hydrationRouteProperties||[],a=e.mapRouteProperties||be,o=a;if(e.unstable_instrumentations){let t=e.unstable_instrumentations;o=e=>({...a(e),...ne(t.map(e=>e.route).filter(Boolean),e)})}let i,l={},s=_(e.routes,o,void 0,l),u=e.basename||"/";u.startsWith("/")||(u=`/${u}`);let c,h,y,b=e.dataStrategy||Oe,k={unstable_passThroughRequests:!1,...e.future},S=null,E=new Set,C=null,R=null,L=null,N=null!=e.hydrationData,D=x(s,e.history.location,u),z=!1,A=null;if(null!=D||e.patchRoutesOnNavigation){if(D&&!e.hydrationData){Je(D,s,e.history.location.pathname).active&&(D=null)}if(D)if(D.some(e=>e.route.lazy))c=!1,h=!c;else if(D.some(e=>xe(e.route))){let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null,r=D;if(n){let e=D.findIndex(e=>void 0!==n[e.route.id]);r=r.slice(0,e+1)}h=!1,c=!0,r.forEach(e=>{let r=Te(e.route,t,n);h=h||r.renderFallback,c=c&&!r.shouldLoad})}else c=!0,h=!c;else{c=!1,h=!c,D=[];let t=Je(null,s,e.history.location.pathname);t.active&&t.matches&&(z=!0,D=t.matches)}}else{let t=at(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=rt(s);c=!0,h=!c,D=n,A={[r.id]:t}}let O,I,M={historyAction:e.history.action,location:e.history.location,matches:D,initialized:c,renderFallback:h,navigation:ge,restoreScrollPosition:null==e.hydrationData&&null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||A,fetchers:new Map,blockers:new Map},F="POP",U=null,H=!1,B=!1,W=new Map,V=null,q=!1,Q=!1,K=new Set,Y=new Map,G=0,X=-1,Z=new Map,ee=new Set,ae=new Map,oe=new Map,le=new Set,se=new Map,ue=null;function ce(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.matches&&(e.matches=e.matches.map(e=>{let t=l[e.route.id],n=e.route;return n.element!==t.element||n.errorElement!==t.errorElement||n.hydrateFallbackElement!==t.hydrateFallbackElement?{...e,route:t}:e})),M={...M,...e};let n=[],r=[];M.fetchers.forEach((e,t)=>{"idle"===e.state&&(le.has(t)?n.push(t):r.push(t))}),le.forEach(e=>{M.fetchers.has(e)||Y.has(e)||n.push(e)}),[...E].forEach(r=>r(M,{deletedFetchers:n,newErrors:e.errors??null,viewTransitionOpts:t.viewTransitionOpts,flushSync:!0===t.flushSync})),n.forEach(e=>ze(e)),r.forEach(e=>M.fetchers.delete(e))}function de(t,n){let r,{flushSync:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=null!=M.actionData&&null!=M.navigation.formMethod&&yt(M.navigation.formMethod)&&"loading"===M.navigation.state&&!0!==t.state?._isRedirect;r=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:o?M.actionData:null;let l=n.loaderData?et(M.loaderData,n.loaderData,n.matches||[],n.errors):M.loaderData,u=M.blockers;u.size>0&&(u=new Map(u),u.forEach((e,t)=>u.set(t,ve)));let c,d=!q&&Ge(t,n.matches||M.matches),f=!0===H||null!=M.navigation.formMethod&&yt(M.navigation.formMethod)&&!0!==t.state?._isRedirect;if(i&&(s=i,i=void 0),q||"POP"===F||("PUSH"===F?e.history.push(t,t.state):"REPLACE"===F&&e.history.replace(t,t.state)),"POP"===F){let e=W.get(M.location.pathname);e&&e.has(t.pathname)?c={currentLocation:M.location,nextLocation:t}:W.has(t.pathname)&&(c={currentLocation:t,nextLocation:M.location})}else if(B){let e=W.get(M.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),W.set(M.location.pathname,e)),c={currentLocation:M.location,nextLocation:t}}ce({...n,actionData:r,loaderData:l,historyAction:F,location:t,initialized:!0,renderFallback:!1,navigation:ge,revalidation:"idle",restoreScrollPosition:d,preventScrollReset:f,blockers:u},{viewTransitionOpts:c,flushSync:!0===a}),F="POP",H=!1,B=!1,q=!1,Q=!1,U?.resolve(),U=null,ue?.resolve(),ue=null}async function fe(t,n,a){O&&O.abort(),O=null,F=t,q=!0===(a&&a.startUninterruptedRevalidation),function(e,t){if(C&&L){let n=Ye(e,t);C[n]=L()}}(M.location,M.matches),H=!0===(a&&a.preventScrollReset),B=!0===(a&&a.enableViewTransition);let c=i||s,d=a&&a.overrideNavigation,f=a?.initialHydration&&M.matches&&M.matches.length>0&&!z?M.matches:x(c,n,u),h=!0===(a&&a.flushSync);if(f&&M.initialized&&!Q&&function(e,t){if(e.pathname!==t.pathname||e.search!==t.search)return!1;if(""===e.hash)return""!==t.hash;if(e.hash===t.hash)return!0;if(""!==t.hash)return!0;return!1}(M.location,n)&&!(a&&a.submission&&yt(a.submission.formMethod)))return void de(n,{matches:f},{flushSync:h});let p=Je(f,c,n.pathname);if(p.active&&p.matches&&(f=p.matches),!f){let{error:e,notFoundMatches:t,route:r}=qe(n.pathname);return void de(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:h})}O=new AbortController;let m,g=Ke(e.history,n,O.signal,a&&a.submission),y=e.getContext?await e.getContext():new w;if(a&&a.pendingError)m=[nt(f).route.id,{type:"error",error:a.pendingError}];else if(a&&a.submission&&yt(a.submission.formMethod)){let t=await async function(t,n,a,i,c,d,f){let h=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};Pe();let p,m=function(e,t){let n={state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text};return n}(n,a);if(ce({navigation:m},{flushSync:!0===h.flushSync}),d){let e=await Xe(i,n.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){if(0===e.partialMatches.length){let{matches:t,route:n}=rt(s);return{matches:t,pendingActionResult:[n.id,{type:"error",error:e.error}]}}let t=nt(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:"error",error:e.error}]}}if(!e.matches){let{notFoundMatches:e,error:t,route:r}=qe(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:"error",error:t}]}}i=e.matches}let g=bt(i,n);if(g.route.action||g.route.lazy){let e=Ue(o,l,t,n,i,g,f?[]:r,c),a=await ke(t,n,e,c,null);if(p=a[g.route.id],!p)for(let t of i)if(a[t.route.id]){p=a[t.route.id];break}if(t.signal.aborted)return{shortCircuited:!0}}else p={type:"error",error:at(405,{method:t.method,pathname:n.pathname,routeId:g.route.id})};if(ft(p)){let n;if(h&&null!=h.replace)n=h.replace;else{n=Qe(p.response.headers.get("Location"),new URL(t.url),u,e.history)===M.location.pathname+M.location.search}return await pe(t,p,!0,{submission:a,replace:n}),{shortCircuited:!0}}if(dt(p)){let e=nt(i,g.route.id);return!0!==(h&&h.replace)&&(F="PUSH"),{matches:i,pendingActionResult:[e.route.id,p,g.route.id]}}return{matches:i,pendingActionResult:[g.route.id,p]}}(g,n,a.submission,f,y,p.active,a&&!0===a.initialHydration,{replace:a.replace,flushSync:h});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,r]=t.pendingActionResult;if(dt(r)&&J(r.error)&&404===r.error.status)return O=null,void de(n,{matches:t.matches,loaderData:{},errors:{[e]:r.error}})}f=t.matches||f,m=t.pendingActionResult,d=kt(n,a.submission),h=!1,p.active=!1,g=Ke(e.history,g.url,g.signal)}let{shortCircuited:v,matches:b,loaderData:k,errors:S}=await async function(t,n,a,c,d,f,h,p,m,g,y,v,b){let w=f||kt(n,h),k=h||p||wt(w),S=!q&&!g;if(d){if(S){let e=he(v);ce({navigation:w,...void 0!==e?{actionData:e}:{}},{flushSync:y})}let e=await Xe(a,n.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){if(0===e.partialMatches.length){let{matches:t,route:n}=rt(s);return{matches:t,loaderData:{},errors:{[n.id]:e.error}}}let t=nt(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(!e.matches){let{error:e,notFoundMatches:t,route:r}=qe(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}a=e.matches}let E=i||s,{dsMatches:_,revalidatingFetchers:C}=Ce(t,c,o,l,e.history,M,a,k,n,g?[]:r,!0===g,Q,K,le,ae,ee,E,u,null!=e.patchRoutesOnNavigation,v,b);if(X=++G,!e.dataStrategy&&!_.some(e=>e.shouldLoad)&&!_.some(e=>e.route.middleware&&e.route.middleware.length>0)&&0===C.length){let e=Me();return de(n,{matches:a,loaderData:{},errors:v&&dt(v[1])?{[v[0]]:v[1].error}:null,...tt(v),...e?{fetchers:new Map(M.fetchers)}:{}},{flushSync:y}),{shortCircuited:!0}}if(S){let e={};if(!d){e.navigation=w;let t=he(v);void 0!==t&&(e.actionData=t)}C.length>0&&(e.fetchers=function(e){return e.forEach(e=>{let t=M.fetchers.get(e.key),n=St(void 0,t?t.data:void 0);M.fetchers.set(e.key,n)}),new Map(M.fetchers)}(C)),ce(e,{flushSync:y})}C.forEach(e=>{Ae(e.key),e.controller&&Y.set(e.key,e.controller)});let x=()=>C.forEach(e=>Ae(e.key));O&&O.signal.addEventListener("abort",x);let{loaderResults:T,fetcherResults:P}=await Se(_,C,t,n,c);if(t.signal.aborted)return{shortCircuited:!0};O&&O.signal.removeEventListener("abort",x);C.forEach(e=>Y.delete(e.key));let R=ot(T);if(R)return await pe(t,R.result,!0,{replace:m}),{shortCircuited:!0};if(R=ot(P),R)return ee.add(R.key),await pe(t,R.result,!0,{replace:m}),{shortCircuited:!0};let{loaderData:L,errors:N}=Ze(M,a,T,v,C,P);g&&M.errors&&(N={...M.errors,...N});let D=Me(),z=je(X),A=D||z||C.length>0;return{matches:a,loaderData:L,errors:N,...A?{fetchers:new Map(M.fetchers)}:{}}}(g,n,f,y,p.active,d,a&&a.submission,a&&a.fetcherSubmission,a&&a.replace,a&&!0===a.initialHydration,h,m,a&&a.callSiteDefaultShouldRevalidate);v||(O=null,de(n,{matches:b||f,...tt(m),loaderData:k,errors:S}))}function he(e){return e&&!dt(e[1])?{[e[0]]:e[1].data}:M.actionData?0===Object.keys(M.actionData).length?null:M.actionData:void 0}async function pe(r,a,o){let{submission:i,fetcherSubmission:l,preventScrollReset:s,replace:c}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};o||(U?.resolve(),U=null),a.response.headers.has("X-Remix-Revalidate")&&(Q=!0);let f=a.response.headers.get("Location");d(f,"Expected a Location header on the redirect Response"),f=Qe(f,new URL(r.url),u,e.history);let h=p(M.location,f,{_isRedirect:!0});if(n){let e=!1;if(a.response.headers.has("X-Remix-Reload-Document"))e=!0;else if($(f)){const n=v(f,!0);e=n.origin!==t.location.origin||null==j(n.pathname,u)}if(e)return void(c?t.location.replace(f):t.location.assign(f))}O=null;let m=!0===c||a.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:g,formAction:y,formEncType:b}=M.navigation;!i&&!l&&g&&y&&b&&(i=wt(M.navigation));let w=i||l;if(me.has(a.response.status)&&w&&yt(w.formMethod))await fe(m,h,{submission:{...w,formAction:f},preventScrollReset:s||H,enableViewTransition:o?B:void 0});else{let e=kt(h,i);await fe(m,h,{overrideNavigation:e,fetcherSubmission:l,preventScrollReset:s||H,enableViewTransition:o?B:void 0})}}async function ke(e,t,n,r,a){let o,i={};try{o=await He(b,e,t,n,a,r,!1)}catch(l){return n.filter(e=>e.shouldLoad).forEach(e=>{i[e.route.id]={type:"error",error:l}}),i}if(e.signal.aborted)return i;if(!yt(e.method))for(let s of n){if("error"===o[s.route.id]?.type)break;o.hasOwnProperty(s.route.id)||M.loaderData.hasOwnProperty(s.route.id)||M.errors&&M.errors.hasOwnProperty(s.route.id)||!s.shouldCallHandler()||(o[s.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${s.route.id}`)})}for(let[s,c]of Object.entries(o))if(ct(c)){let t=c.result;i[s]={type:"redirect",response:Ve(t,e,s,n,u)}}else i[s]=await We(c);return i}async function Se(e,t,n,r,a){let o=ke(n,r,e,a,null),i=Promise.all(t.map(async e=>{if(e.matches&&e.match&&e.request&&e.controller){let t=(await ke(e.request,e.path,e.matches,a,e.key))[e.match.route.id];return{[e.key]:t}}return Promise.resolve({[e.key]:{type:"error",error:at(404,{pathname:e.path})}})}));return{loaderResults:await o,fetcherResults:(await i).reduce((e,t)=>Object.assign(e,t),{})}}function Pe(){Q=!0,ae.forEach((e,t)=>{Y.has(t)&&K.add(t),Ae(t)})}function Le(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};M.fetchers.set(e,t),ce({fetchers:new Map(M.fetchers)},{flushSync:!0===(n&&n.flushSync)})}function Ne(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=nt(M.matches,t);ze(e),ce({errors:{[a.route.id]:n},fetchers:new Map(M.fetchers)},{flushSync:!0===(r&&r.flushSync)})}function De(e){return oe.set(e,(oe.get(e)||0)+1),le.has(e)&&le.delete(e),M.fetchers.get(e)||ye}function ze(e){let t=M.fetchers.get(e);!Y.has(e)||t&&"loading"===t.state&&Z.has(e)||Ae(e),ae.delete(e),Z.delete(e),ee.delete(e),le.delete(e),K.delete(e),M.fetchers.delete(e)}function Ae(e,t){let n=Y.get(e);n&&(n.abort(t),Y.delete(e))}function Ie(e){for(let t of e){let e=Et(De(t).data);M.fetchers.set(t,e)}}function Me(){let e=[],t=!1;for(let n of ee){let r=M.fetchers.get(n);d(r,`Expected fetcher: ${n}`),"loading"===r.state&&(ee.delete(n),e.push(n),t=!0)}return Ie(e),t}function je(e){let t=[];for(let[n,r]of Z)if(r0}function Fe(e){M.blockers.delete(e),se.delete(e)}function $e(e,t){let n=M.blockers.get(e)||ve;d("unblocked"===n.state&&"blocked"===t.state||"blocked"===n.state&&"blocked"===t.state||"blocked"===n.state&&"proceeding"===t.state||"blocked"===n.state&&"unblocked"===t.state||"proceeding"===n.state&&"unblocked"===t.state,`Invalid blocker state transition: ${n.state} -> ${t.state}`);let r=new Map(M.blockers);r.set(e,t),ce({blockers:r})}function Be(e){let{currentLocation:t,nextLocation:n,historyAction:r}=e;if(0===se.size)return;se.size>1&&f(!1,"A router only supports one blocker at a time");let a=Array.from(se.entries()),[o,i]=a[a.length-1],l=M.blockers.get(o);return l&&"proceeding"===l.state?void 0:i({currentLocation:t,nextLocation:n,historyAction:r})?o:void 0}function qe(e){let t=at(404,{pathname:e}),n=i||s,{matches:r,route:a}=rt(n);return{notFoundMatches:r,route:a,error:t}}function Ye(e,t){if(R){return R(e,t.map(e=>P(e,M.loaderData)))||e.key}return e.key}function Ge(e,t){if(C){let n=Ye(e,t),r=C[n];if("number"===typeof r)return r}return null}function Je(t,n,r){if(e.patchRoutesOnNavigation){if(!t){return{active:!0,matches:T(n,r,u,!0)||[]}}if(Object.keys(t[0].params).length>0){return{active:!0,matches:T(n,r,u,!0)}}}return{active:!1,matches:null}}async function Xe(t,n,r,a){if(!e.patchRoutesOnNavigation)return{type:"success",matches:t};let c=t;for(;;){let t=null==i,f=i||s,h=l;try{await e.patchRoutesOnNavigation({signal:r,path:n,matches:c,fetcherKey:a,patch:(e,t)=>{r.aborted||Re(e,t,f,h,o,!1)}})}catch(d){return{type:"error",error:d,partialMatches:c}}finally{t&&!r.aborted&&(s=[...s])}if(r.aborted)return{type:"aborted"};let p=x(f,n,u),m=null;if(p){if(0===Object.keys(p[0].params).length)return{type:"success",matches:p};if(m=T(f,n,u,!0),!(m&&c.lengthe.route.id===t[n].route.id)}return y={get basename(){return u},get future(){return k},get state(){return M},get routes(){return s},get window(){return t},initialize:function(){if(S=e.history.listen(t=>{let{action:n,location:r,delta:a}=t;if(I)return I(),void(I=void 0);f(0===se.size||null!=a,"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 o=Be({currentLocation:M.location,nextLocation:r,historyAction:n});if(o&&null!=a){let t=new Promise(e=>{I=e});return e.history.go(-1*a),$e(o,{state:"blocked",location:r,proceed(){$e(o,{state:"proceeding",proceed:void 0,reset:void 0,location:r}),t.then(()=>e.history.go(a))},reset(){let e=new Map(M.blockers);e.set(o,ve),ce({blockers:e})}}),U?.resolve(),void(U=null)}return fe(n,r)}),n){!function(e,t){try{let n=e.sessionStorage.getItem(we);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch(n){}}(t,W);let e=()=>function(e,t){if(t.size>0){let r={};for(let[e,n]of t)r[e]=[...n];try{e.sessionStorage.setItem(we,JSON.stringify(r))}catch(n){f(!1,`Failed to save applied view transitions in sessionStorage (${n}).`)}}}(t,W);t.addEventListener("pagehide",e),V=()=>t.removeEventListener("pagehide",e)}return M.initialized||fe("POP",M.location,{initialHydration:!0}),y},subscribe:function(e){return E.add(e),()=>E.delete(e)},enableScrollRestoration:function(e,t,n){if(C=e,L=t,R=n||null,!N&&M.navigation===ge){N=!0;let e=Ge(M.location,M.matches);null!=e&&ce({restoreScrollPosition:e})}return()=>{C=null,L=null,R=null}},navigate:async function t(n,r){if(U?.resolve(),U=null,"number"===typeof n){U||(U=_t());let t=U.promise;return e.history.go(n),t}let a,o=Ee(M.location,M.matches,u,n,r?.fromRouteId,r?.relative),{path:i,submission:l,error:s}=_e(!1,o,r);if(r?.unstable_mask){a={pathname:"",search:"",hash:"",..."string"===typeof r.unstable_mask?g(r.unstable_mask):{...M.location.unstable_mask,...r.unstable_mask}}}let c=M.location,d=p(c,i,r&&r.state,void 0,a);d={...d,...e.history.encodeLocation(d)};let f=r&&null!=r.replace?r.replace:void 0,h="PUSH";!0===f?h="REPLACE":!1===f||null!=l&&yt(l.formMethod)&&l.formAction===M.location.pathname+M.location.search&&(h="REPLACE");let m=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0,y=!0===(r&&r.flushSync),v=Be({currentLocation:c,nextLocation:d,historyAction:h});v?$e(v,{state:"blocked",location:d,proceed(){$e(v,{state:"proceeding",proceed:void 0,reset:void 0,location:d}),t(n,r)},reset(){let e=new Map(M.blockers);e.set(v,ve),ce({blockers:e})}}):await fe(h,d,{submission:l,pendingError:s,preventScrollReset:m,replace:r&&r.replace,enableViewTransition:r&&r.viewTransition,flushSync:y,callSiteDefaultShouldRevalidate:r&&r.unstable_defaultShouldRevalidate})},fetch:async function(t,n,a,c){Ae(t);let f=!0===(c&&c.flushSync),h=i||s,p=Ee(M.location,M.matches,u,a,n,c?.relative),m=x(h,p,u),g=Je(m,h,p);if(g.active&&g.matches&&(m=g.matches),!m)return void Ne(t,n,at(404,{pathname:p}),{flushSync:f});let{path:y,submission:v,error:b}=_e(!0,p,c);if(b)return void Ne(t,n,b,{flushSync:f});let k=e.getContext?await e.getContext():new w,S=!0===(c&&c.preventScrollReset);v&&yt(v.formMethod)?await async function(t,n,a,c,f,h,p,m,g,y){Pe(),ae.delete(t);let v=M.fetchers.get(t);Le(t,function(e,t){let n={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};return n}(g,v),{flushSync:p});let b=new AbortController,w=Ke(e.history,a,b.signal,g);if(h){let e=await Xe(c,new URL(w.url).pathname,w.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void Ne(t,n,e.error,{flushSync:p});if(!e.matches)return void Ne(t,n,at(404,{pathname:a}),{flushSync:p});c=e.matches}let k=bt(c,a);if(!k.route.action&&!k.route.lazy){let e=at(405,{method:g.formMethod,pathname:a,routeId:n});return void Ne(t,n,e,{flushSync:p})}Y.set(t,b);let S=G,E=Ue(o,l,w,a,c,k,r,f),_=await ke(w,a,E,f,t),C=_[k.route.id];if(!C)for(let e of E)if(_[e.route.id]){C=_[e.route.id];break}if(w.signal.aborted)return void(Y.get(t)===b&&Y.delete(t));if(le.has(t)){if(ft(C)||dt(C))return void Le(t,Et(void 0))}else{if(ft(C))return Y.delete(t),X>S?void Le(t,Et(void 0)):(ee.add(t),Le(t,St(g)),pe(w,C,!1,{fetcherSubmission:g,preventScrollReset:m}));if(dt(C))return void Ne(t,n,C.error)}let T=M.navigation.location||M.location,P=Ke(e.history,T,b.signal),R=i||s,L="idle"!==M.navigation.state?x(R,M.navigation.location,u):M.matches;d(L,"Didn't find any matches after fetcher action");let N=++G;Z.set(t,N);let D=St(g,C.data);M.fetchers.set(t,D);let{dsMatches:z,revalidatingFetchers:A}=Ce(P,f,o,l,e.history,M,L,g,T,r,!1,Q,K,le,ae,ee,R,u,null!=e.patchRoutesOnNavigation,[k.route.id,C],y);A.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=M.fetchers.get(t),r=St(void 0,n?n.data:void 0);M.fetchers.set(t,r),Ae(t),e.controller&&Y.set(t,e.controller)}),ce({fetchers:new Map(M.fetchers)});let I=()=>A.forEach(e=>Ae(e.key));b.signal.addEventListener("abort",I);let{loaderResults:j,fetcherResults:$}=await Se(z,A,P,T,f);if(b.signal.aborted)return;if(b.signal.removeEventListener("abort",I),Z.delete(t),Y.delete(t),A.forEach(e=>Y.delete(e.key)),M.fetchers.has(t)){let e=Et(C.data);M.fetchers.set(t,e)}let U=ot(j);if(U)return pe(P,U.result,!1,{preventScrollReset:m});if(U=ot($),U)return ee.add(U.key),pe(P,U.result,!1,{preventScrollReset:m});let{loaderData:H,errors:B}=Ze(M,L,j,void 0,A,$);je(N),"loading"===M.navigation.state&&N>X?(d(F,"Expected pending action"),O&&O.abort(),de(M.navigation.location,{matches:L,loaderData:H,errors:B,fetchers:new Map(M.fetchers)})):(ce({errors:B,loaderData:et(M.loaderData,H,L,B),fetchers:new Map(M.fetchers)}),Q=!1)}(t,n,y,m,k,g.active,f,S,v,c&&c.unstable_defaultShouldRevalidate):(ae.set(t,{routeId:n,path:y}),await async function(t,n,a,i,s,u,c,d,f){let h=M.fetchers.get(t);Le(t,St(f,h?h.data:void 0),{flushSync:c});let p=new AbortController,m=Ke(e.history,a,p.signal);if(u){let e=await Xe(i,new URL(m.url).pathname,m.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void Ne(t,n,e.error,{flushSync:c});if(!e.matches)return void Ne(t,n,at(404,{pathname:a}),{flushSync:c});i=e.matches}let g=bt(i,a);Y.set(t,p);let y=G,v=Ue(o,l,m,a,i,g,r,s),b=await ke(m,a,v,s,t),w=b[g.route.id];Y.get(t)===p&&Y.delete(t);if(m.signal.aborted)return;if(le.has(t))return void Le(t,Et(void 0));if(ft(w))return X>y?void Le(t,Et(void 0)):(ee.add(t),void await pe(m,w,!1,{preventScrollReset:d}));if(dt(w))return void Ne(t,n,w.error);Le(t,Et(w.data))}(t,n,y,m,k,g.active,f,S,v))},revalidate:function(){ue||(ue=_t()),Pe(),ce({revalidation:"loading"});let e=ue.promise;return"submitting"===M.navigation.state?e:"idle"===M.navigation.state?(fe(M.historyAction,M.location,{startUninterruptedRevalidation:!0}),e):(fe(F||M.historyAction,M.navigation.location,{overrideNavigation:M.navigation,enableViewTransition:!0===B}),e)},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:De,resetFetcher:function(e,t){Ae(e,t?.reason),Le(e,Et(null))},deleteFetcher:function(e){let t=(oe.get(e)||0)-1;t<=0?(oe.delete(e),le.add(e)):oe.set(e,t),ce({fetchers:new Map(M.fetchers)})},dispose:function(){S&&S(),V&&V(),E.clear(),O&&O.abort(),M.fetchers.forEach((e,t)=>ze(t)),M.blockers.forEach((e,t)=>Fe(t))},getBlocker:function(e,t){let n=M.blockers.get(e)||ve;return se.get(e)!==t&&se.set(e,t),n},deleteBlocker:Fe,patchRoutes:function(e,t){let n=null==i;Re(e,t,i||s,l,o,arguments.length>2&&void 0!==arguments[2]&&arguments[2]),n&&(s=[...s],ce({}))},_internalFetchControllers:Y,_internalSetRoutes:function(e){l={},i=_(e,o,void 0,l)},_internalSetStateDoNotUseOrYouWillBreakYourApp(e){ce(e)}},e.unstable_instrumentations&&(y=function(e,t){let n={navigate:[],fetch:[]};if(t.forEach(e=>e({instrument(e){let t=Object.keys(e);for(let r of t)e[r]&&n[r].push(e[r])}})),n.navigate.length>0){let t=e.navigate[te]??e.navigate,r=re(n.navigate,t,function(){for(var t=arguments.length,n=new Array(t),r=0;r0){let t=e.fetch[te]??e.fetch,r=re(n.fetch,t,function(){for(var t=arguments.length,n=new Array(t),r=0;re.router).filter(Boolean))),y}function Ee(e,t,n,r,a,o){let i,l;if(a){i=[];for(let e of t)if(i.push(e),e.route.id===a){l=e;break}}else i=t,l=t[t.length-1];let s=V(r||".",W(i),j(e.pathname,n)||e.pathname,"path"===o);if(null==r&&(s.search=e.search,s.hash=e.hash),(null==r||""===r||"."===r)&&l){let e=vt(s.search);if(l.route.index&&!e)s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index";else if(!l.route.index&&e){let e=new URLSearchParams(s.search),t=e.getAll("index");e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let n=e.toString();s.search=n?`?${n}`:""}}return"/"!==n&&(s.pathname=function(e){let{basename:t,pathname:n}=e;return"/"===n?t:q([t,n])}({basename:n,pathname:s.pathname})),m(s)}function _e(e,t,n){if(!n||!function(e){return null!=e&&("formData"in e&&null!=e.formData||"body"in e&&void 0!==e.body)}(n))return{path:t};if(n.formMethod&&!gt(n.formMethod))return{path:t,error:at(405,{method:n.formMethod})};let r,a,o=()=>({path:t,error:at(400,{type:"invalid-body"})}),i=(n.formMethod||"get").toUpperCase(),l=it(t);if(void 0!==n.body){if("text/plain"===n.formEncType){if(!yt(i))return o();let e="string"===typeof n.body?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,t)=>{let[n,r]=t;return`${e}${n}=${r}\n`},""):String(n.body);return{path:t,submission:{formMethod:i,formAction:l,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}if("application/json"===n.formEncType){if(!yt(i))return o();try{let e="string"===typeof n.body?JSON.parse(n.body):n.body;return{path:t,submission:{formMethod:i,formAction:l,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch(c){return o()}}}if(d("function"===typeof FormData,"FormData is not available in this environment"),n.formData)r=Ge(n.formData),a=n.formData;else if(n.body instanceof FormData)r=Ge(n.body),a=n.body;else if(n.body instanceof URLSearchParams)r=n.body,a=Je(r);else if(null==n.body)r=new URLSearchParams,a=new FormData;else try{r=new URLSearchParams(n.body),a=Je(r)}catch(c){return o()}let s={formMethod:i,formAction:l,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:a,json:void 0,text:void 0};if(yt(s.formMethod))return{path:t,submission:s};let u=g(t);return e&&u.search&&vt(u.search)&&r.append("index",""),u.search=`?${r}`,{path:m(u),submission:s}}function Ce(e,t,n,r,a,o,i,l,s,u,c,d,f,h,p,m,g,y,v,b,w){let k,S=b?dt(b[1])?b[1].error:b[1].data:void 0,E=a.createURL(o.location),_=a.createURL(s);if(c&&o.errors){let e=Object.keys(o.errors)[0];k=i.findIndex(t=>t.route.id===e)}else if(b&&dt(b[1])){let e=b[0];k=i.findIndex(t=>t.route.id===e)-1}let C=b?b[1].statusCode:void 0,T=C&&C>=400,P={currentUrl:E,currentParams:o.matches[0]?.params||{},nextUrl:_,nextParams:i[0].params,...l,actionResult:S,actionStatus:C},R=X(i),L=i.map((a,i)=>{let{route:l}=a,f=null;if(null!=k&&i>k)f=!1;else if(l.lazy)f=!0;else if(xe(l))if(c){let{shouldLoad:e}=Te(l,o.loaderData,o.errors);f=e}else(function(e,t,n){let r=!t||n.route.id!==t.route.id,a=!e.hasOwnProperty(n.route.id);return r||a})(o.loaderData,o.matches[i],a)&&(f=!0);else f=!1;if(null!==f)return $e(n,r,e,s,R,a,u,t,f);let h=!1;"boolean"===typeof w?h=w:T?h=!1:(d||E.pathname+E.search===_.pathname+_.search||E.search!==_.search||function(e,t){let n=e.route.path;return e.pathname!==t.pathname||null!=n&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}(o.matches[i],a))&&(h=!0);let p={...P,defaultShouldRevalidate:h},m=Pe(a,p);return $e(n,r,e,s,R,a,u,t,m,p,w)}),N=[];return p.forEach((e,l)=>{if(c||!i.some(t=>t.route.id===e.routeId)||h.has(l))return;let s=o.fetchers.get(l),p=s&&"idle"!==s.state&&void 0===s.data,b=x(g,e.path,y);if(!b){if(v&&p)return;return void N.push({key:l,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null})}if(m.has(l))return;let k=bt(b,e.path),S=new AbortController,E=Ke(a,e.path,S.signal),_=null;if(f.has(l))f.delete(l),_=Ue(n,r,E,e.path,b,k,u,t);else if(p)d&&(_=Ue(n,r,E,e.path,b,k,u,t));else{let a;a="boolean"===typeof w?w:!T&&d;let o={...P,defaultShouldRevalidate:a};Pe(k,o)&&(_=Ue(n,r,E,e.path,b,k,u,t,o))}_&&N.push({key:l,routeId:e.routeId,path:e.path,matches:_,match:k,request:E,controller:S})}),{dsMatches:L,revalidatingFetchers:N}}function xe(e){return null!=e.loader||null!=e.middleware&&e.middleware.length>0}function Te(e,t,n){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!xe(e))return{shouldLoad:!1,renderFallback:!1};let r=null!=t&&e.id in t,a=null!=n&&void 0!==n[e.id];if(!r&&a)return{shouldLoad:!1,renderFallback:!1};if("function"===typeof e.loader&&!0===e.loader.hydrate)return{shouldLoad:!0,renderFallback:!r};let o=!r&&!a;return{shouldLoad:o,renderFallback:o}}function Pe(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if("boolean"===typeof n)return n}return t.defaultShouldRevalidate}function Re(e,t,n,r,a,o){let i;if(e){let t=r[e];d(t,`No route found to patch children into: routeId = ${e}`),t.children||(t.children=[]),i=t.children}else i=n;let l=[],s=[];if(t.forEach(e=>{let t=i.find(t=>Le(e,t));t?s.push({existingRoute:t,newRoute:e}):l.push(e)}),l.length>0){let t=_(l,a,[e||"_","patch",String(i?.length||"0")],r);i.push(...t)}if(o&&s.length>0)for(let u=0;ut.children?.some(t=>Le(e,t)))??!1))}var Ne=new WeakMap,De=e=>{let{key:t,route:n,manifest:r,mapRouteProperties:a}=e,o=r[n.id];if(d(o,"No route found in manifest"),!o.lazy||"object"!==typeof o.lazy)return;let i=o.lazy[t];if(!i)return;let l=Ne.get(o);l||(l={},Ne.set(o,l));let s=l[t];if(s)return s;let u=(async()=>{let e=function(e){return k.has(e)}(t),n=void 0!==o[t]&&"hasErrorBoundary"!==t;if(e)f(!e,"Route property "+t+" is not a supported lazy route property. This property will be ignored."),l[t]=Promise.resolve();else if(n)f(!1,`Route "${o.id}" has a static property "${t}" defined. The lazy property will be ignored.`);else{let e=await i();null!=e&&(Object.assign(o,{[t]:e}),Object.assign(o,a(o)))}"object"===typeof o.lazy&&(o.lazy[t]=void 0,Object.values(o.lazy).every(e=>void 0===e)&&(o.lazy=void 0))})();return l[t]=u,u},ze=new WeakMap;async function Ae(e){let t=e.matches.filter(e=>e.shouldLoad),n={};return(await Promise.all(t.map(e=>e.resolve()))).forEach((e,r)=>{n[t[r].route.id]=e}),n}async function Oe(e){return e.matches.some(e=>e.route.middleware)?Ie(e,()=>Ae(e)):Ae(e)}function Ie(e,t){return Me(e,t,e=>{if(mt(e))throw e;return e},st,function(t,n,r){if(r)return Promise.resolve(Object.assign(r.value,{[n]:{type:"error",result:t}}));{let{matches:r}=e,a=Math.min(Math.max(r.findIndex(e=>e.route.id===n),0),Math.max(r.findIndex(e=>e.shouldCallHandler()),0)),o=nt(r,r[a].route.id).route.id;return Promise.resolve({[o]:{type:"error",result:t}})}})}async function Me(e,t,n,r,a){let{matches:o,...i}=e,l=o.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]);return await je(i,l,t,n,r,a)}async function je(e,t,n,r,a,o){let i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,{request:l}=e;if(l.signal.aborted)throw l.signal.reason??new Error(`Request aborted: ${l.method} ${l.url}`);let s=t[i];if(!s){return await n()}let u,[c,d]=s,f=async()=>{if(u)throw new Error("You may only call `next()` once per middleware");try{let l=await je(e,t,n,r,a,o,i+1);return u={value:l},u.value}catch(l){return u={value:await o(l,c,u)},u.value}};try{let t=await d(e,f),n=null!=t?r(t):void 0;return a(n)?n:u?n??u.value:(u={value:await f()},u.value)}catch(h){return await o(h,c,u)}}function Fe(e,t,n,r,a){let o=De({key:"middleware",route:r.route,manifest:t,mapRouteProperties:e}),i=function(e,t,n,r,a){let o=n[e.id];if(d(o,"No route found in manifest"),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if("function"===typeof e.lazy){let t=ze.get(o);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let n=(async()=>{d("function"===typeof e.lazy,"No lazy route function found");let t=await e.lazy(),n={};for(let e in t){let r=t[e];if(void 0===r)continue;let a=E(e),i=void 0!==o[e]&&"hasErrorBoundary"!==e;a?f(!a,"Route property "+e+" is not a supported property to be returned from a lazy route function. This property will be ignored."):i?f(!i,`Route "${o.id}" has a static property "${e}" defined but its lazy function is also returning a value for this property. The lazy route property "${e}" will be ignored.`):n[e]=r}Object.assign(o,n),Object.assign(o,{...r(o),lazy:void 0})})();return ze.set(o,n),n.catch(()=>{}),{lazyRoutePromise:n,lazyHandlerPromise:n}}let i,l=Object.keys(e.lazy),s=[];for(let c of l){if(a&&a.includes(c))continue;let o=De({key:c,route:e,manifest:n,mapRouteProperties:r});o&&(s.push(o),c===t&&(i=o))}let u=s.length>0?Promise.all(s).then(()=>{}):void 0;return u?.catch(()=>{}),i?.catch(()=>{}),{lazyRoutePromise:u,lazyHandlerPromise:i}}(r.route,yt(n.method)?"action":"loader",t,e,a);return{middleware:o,route:i.lazyRoutePromise,handler:i.lazyHandlerPromise}}function $e(e,t,n,r,a,o,i,l,s){let u=arguments.length>9&&void 0!==arguments[9]?arguments[9]:null,c=arguments.length>10?arguments[10]:void 0,d=!1,f=Fe(e,t,n,o,i);return{...o,_lazyPromises:f,shouldLoad:s,shouldRevalidateArgs:u,shouldCallHandler:e=>(d=!0,u?Pe(o,"boolean"===typeof c?{...u,defaultShouldRevalidate:c}:"boolean"===typeof e?{...u,defaultShouldRevalidate:e}:u):s),resolve(e){let{lazy:t,loader:i,middleware:u}=o.route,c=d||s||e&&!yt(n.method)&&(t||i),h=u&&u.length>0&&!i&&!t;return!c||!yt(n.method)&&h?Promise.resolve({type:"data",result:void 0}):async function(e){let t,n,{request:r,path:a,unstable_pattern:o,match:i,lazyHandlerPromise:l,lazyRoutePromise:s,handlerOverride:u,scopedContext:c}=e,d=yt(r.method),f=d?"action":"loader",h=e=>{let t,l=new Promise((e,n)=>t=n);n=()=>t(),r.signal.addEventListener("abort",n);let s=t=>"function"!==typeof e?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${f}" [routeId: ${i.route.id}]`)):e({request:r,unstable_url:Ye(r,a),unstable_pattern:o,params:i.params,context:c},...void 0!==t?[t]:[]),d=(async()=>{try{return{type:"data",result:await(u?u(e=>s(e)):s())}}catch(e){return{type:"error",result:e}}})();return Promise.race([d,l])};try{let e=d?i.route.action:i.route.loader;if(l||s)if(e){let n,[r]=await Promise.all([h(e).catch(e=>{n=e}),l,s]);if(void 0!==n)throw n;t=r}else{await l;let e=d?i.route.action:i.route.loader;if(!e){if("action"===f){let e=new URL(r.url),t=e.pathname+e.search;throw at(405,{method:r.method,pathname:t,routeId:i.route.id})}return{type:"data",result:void 0}}[t]=await Promise.all([h(e),s])}else{if(!e){let e=new URL(r.url);throw at(404,{pathname:e.pathname+e.search})}t=await h(e)}}catch(p){return{type:"error",result:p}}finally{n&&r.signal.removeEventListener("abort",n)}return t}({request:n,path:r,unstable_pattern:a,match:o,lazyHandlerPromise:f?.handler,lazyRoutePromise:f?.route,handlerOverride:e,scopedContext:l})}}}function Ue(e,t,n,r,a,o,i,l){let s=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null;return a.map(u=>u.route.id!==o.route.id?{...u,shouldLoad:!1,shouldRevalidateArgs:s,shouldCallHandler:()=>!1,_lazyPromises:Fe(e,t,n,u,i),resolve:()=>Promise.resolve({type:"data",result:void 0})}:$e(e,t,n,r,X(a),u,i,l,!0,s))}async function He(e,t,n,r,a,o,i){r.some(e=>e._lazyPromises?.middleware)&&await Promise.all(r.map(e=>e._lazyPromises?.middleware));let l={request:t,unstable_url:Ye(t,n),unstable_pattern:X(r),params:r[0].params,context:o,matches:r},s=i?()=>{throw new Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`")}:e=>{let t=l;return Ie(t,()=>e({...t,fetcherKey:a,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))},u=await e({...l,fetcherKey:a,runClientMiddleware:s});try{await Promise.all(r.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch(c){}return u}async function Be(e){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?null==e.body?null:e.json():e.text()}async function We(e){let{result:t,type:n}=e;if(pt(t)){let e;try{e=await Be(t)}catch(r){return{type:"error",error:r}}return"error"===n?{type:"error",error:new G(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:"data",data:e,statusCode:t.status,headers:t.headers}}return"error"===n?ht(t)?t.data instanceof Error?{type:"error",error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:lt(t),statusCode:J(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:t,statusCode:J(t)?t.status:void 0}:ht(t)?{type:"data",data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"data",data:t}}function Ve(e,t,n,r,a){let o=e.headers.get("Location");if(d(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!$(o)){let i=r.slice(0,r.findIndex(e=>e.route.id===n)+1);o=Ee(new URL(t.url),i,a,o),e.headers.set("Location",o)}return e}var qe=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function Qe(e,t,n,r){if($(e)){let r=e,a=r.startsWith("//")?new URL(t.protocol+r):new URL(r);if(qe.includes(a.protocol))throw new Error("Invalid redirect location");let o=null!=j(a.pathname,n);if(a.origin===t.origin&&o)return a.pathname+a.search+a.hash}try{let t=r.createURL(e);if(qe.includes(t.protocol))throw new Error("Invalid redirect location")}catch(a){}return e}function Ke(e,t,n,r){let a=e.createURL(it(t)).toString(),o={signal:n};if(r&&yt(r.formMethod)){let{formMethod:e,formEncType:t}=r;o.method=e.toUpperCase(),"application/json"===t?(o.headers=new Headers({"Content-Type":t}),o.body=JSON.stringify(r.json)):"text/plain"===t?o.body=r.text:"application/x-www-form-urlencoded"===t&&r.formData?o.body=Ge(r.formData):o.body=r.formData}return new Request(a,o)}function Ye(e,t){let n=new URL(e.url),r="string"===typeof t?g(t):t;if(n.pathname=r.pathname||"/",r.search){let e=new URLSearchParams(r.search),t=e.getAll("index");e.delete("index");for(let n of t.filter(Boolean))e.append("index",n);n.search=e.size?`?${e.toString()}`:""}else n.search="";return n.hash=r.hash||"",n}function Ge(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,"string"===typeof r?r:r.name);return t}function Je(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function Xe(e,t,n){let r,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i={},l=null,s=!1,u={},c=n&&dt(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let f=n.route.id,h=t[f];if(d(!ft(h),"Cannot handle redirect results in processLoaderData"),dt(h)){let t=h.error;if(void 0!==c&&(t=c,c=void 0),l=l||{},o)l[f]=t;else{let n=nt(e,f);null==l[n.route.id]&&(l[n.route.id]=t)}a||(i[f]=ke),s||(s=!0,r=J(h.error)?h.error.status:500),h.headers&&(u[f]=h.headers)}else i[f]=h.data,h.statusCode&&200!==h.statusCode&&!s&&(r=h.statusCode),h.headers&&(u[f]=h.headers)}),void 0!==c&&n&&(l={[n[0]]:c},n[2]&&(i[n[2]]=void 0)),{loaderData:i,errors:l,statusCode:r||200,loaderHeaders:u}}function Ze(e,t,n,r,a,o){let{loaderData:i,errors:l}=Xe(t,n,r);return a.filter(e=>!e.matches||e.matches.some(e=>e.shouldLoad)).forEach(t=>{let{key:n,match:r,controller:a}=t;if(a&&a.signal.aborted)return;let i=o[n];if(d(i,"Did not find corresponding fetcher result"),dt(i)){let t=nt(e.matches,r?.route.id);l&&l[t.route.id]||(l={...l,[t.route.id]:i.error}),e.fetchers.delete(n)}else if(ft(i))d(!1,"Unhandled fetcher revalidation redirect");else{let t=Et(i.data);e.fetchers.set(n,t)}}),{loaderData:i,errors:l}}function et(e,t,n,r){let a=Object.entries(t).filter(e=>{let[,t]=e;return t!==ke}).reduce((e,t)=>{let[n,r]=t;return e[n]=r,e},{});for(let o of n){let n=o.route.id;if(!t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&o.route.loader&&(a[n]=e[n]),r&&r.hasOwnProperty(n))break}return a}function tt(e){return e?dt(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function nt(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>!0===e.route.hasErrorBoundary)||e[0]}function rt(e){let t=1===e.length?e[0]:e.find(e=>e.index||!e.path||"/"===e.path)||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function at(e){let{pathname:t,routeId:n,method:r,type:a,message:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i="Unknown Server Error",l="Unknown @remix-run/router error";return 400===e?(i="Bad Request",r&&t&&n?l=`You made a ${r} request to "${t}" but did not provide a \`loader\` for route "${n}", so there is no way to handle the request.`:"invalid-body"===a&&(l="Unable to encode submission body")):403===e?(i="Forbidden",l=`Route "${n}" does not match URL "${t}"`):404===e?(i="Not Found",l=`No route matches URL "${t}"`):405===e&&(i="Method Not Allowed",r&&t&&n?l=`You made a ${r.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${n}", so there is no way to handle the request.`:r&&(l=`Invalid request method "${r.toUpperCase()}"`)),new G(e||500,i,new Error(l),!0)}function ot(e){let t=Object.entries(e);for(let n=t.length-1;n>=0;n--){let[e,r]=t[n];if(ft(r))return{key:e,result:r}}}function it(e){return m({..."string"===typeof e?g(e):e,hash:""})}function lt(e){return new G(e.init?.status??500,e.init?.statusText??"Internal Server Error",e.data)}function st(e){return null!=e&&"object"===typeof e&&Object.entries(e).every(e=>{let[t,n]=e;return"string"===typeof t&&ut(n)})}function ut(e){return null!=e&&"object"===typeof e&&"type"in e&&"result"in e&&("data"===e.type||"error"===e.type)}function ct(e){return pt(e.result)&&pe.has(e.result.status)}function dt(e){return"error"===e.type}function ft(e){return"redirect"===(e&&e.type)}function ht(e){return"object"===typeof e&&null!=e&&"type"in e&&"data"in e&&"init"in e&&"DataWithResponseInit"===e.type}function pt(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"object"===typeof e.headers&&"undefined"!==typeof e.body}function mt(e){return pt(e)&&(t=e.status,pe.has(t))&&e.headers.has("Location");var t}function gt(e){return he.has(e.toUpperCase())}function yt(e){return de.has(e.toUpperCase())}function vt(e){return new URLSearchParams(e).getAll("index").some(e=>""===e)}function bt(e,t){let n="string"===typeof t?g(t).search:t.search;if(e[e.length-1].route.index&&vt(n||""))return e[e.length-1];let r=B(e);return r[r.length-1]}function wt(e){let{formMethod:t,formAction:n,formEncType:r,text:a,formData:o,json:i}=e;if(t&&n&&r)return null!=a?{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:a}:null!=o?{formMethod:t,formAction:n,formEncType:r,formData:o,json:void 0,text:void 0}:void 0!==i?{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:i,text:void 0}:void 0}function kt(e,t){if(t){return{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}return{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function St(e,t){if(e){return{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}}return{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function Et(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 _t(){let e,t,n=new Promise((r,a)=>{e=async e=>{r(e);try{await n}catch(t){}},t=async e=>{a(e);try{await n}catch(t){}}});return{promise:n,resolve:e,reject:t}}var Ct=o.createContext(null);Ct.displayName="DataRouter";var xt=o.createContext(null);xt.displayName="DataRouterState";var Tt=o.createContext(!1);function Pt(){return o.useContext(Tt)}var Rt=o.createContext({isTransitioning:!1});Rt.displayName="ViewTransition";var Lt=o.createContext(new Map);Lt.displayName="Fetchers";var Nt=o.createContext(null);Nt.displayName="Await";var Dt=o.createContext(null);Dt.displayName="Navigation";var zt=o.createContext(null);zt.displayName="Location";var At=o.createContext({outlet:null,matches:[],isDataRoute:!1});At.displayName="Route";var Ot=o.createContext(null);Ot.displayName="RouteError";var It="REACT_ROUTER_ERROR";function Mt(){return null!=o.useContext(zt)}function jt(){return d(Mt(),"useLocation() may be used only in the context of a component."),o.useContext(zt).location}var Ft="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function $t(e){o.useContext(Dt).static||o.useLayoutEffect(e)}function Ut(){let{isDataRoute:e}=o.useContext(At);return e?function(){let{router:e}=Zt("useNavigate"),t=tn("useNavigate"),n=o.useRef(!1);$t(()=>{n.current=!0});let r=o.useCallback(async function(r){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};f(n.current,Ft),n.current&&("number"===typeof r?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...a}))},[e,t]);return r}():function(){d(Mt(),"useNavigate() may be used only in the context of a component.");let e=o.useContext(Ct),{basename:t,navigator:n}=o.useContext(Dt),{matches:r}=o.useContext(At),{pathname:a}=jt(),i=JSON.stringify(W(r)),l=o.useRef(!1);$t(()=>{l.current=!0});let s=o.useCallback(function(r){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(f(l.current,Ft),!l.current)return;if("number"===typeof r)return void n.go(r);let s=V(r,JSON.parse(i),a,"path"===o.relative);null==e&&"/"!==t&&(s.pathname="/"===s.pathname?t:q([t,s.pathname])),(o.replace?n.replace:n.push)(s,o.state,o)},[t,n,i,a,e]);return s}()}var Ht=o.createContext(null);function Bt(e){let{relative:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{matches:n}=o.useContext(At),{pathname:r}=jt(),a=JSON.stringify(W(n));return o.useMemo(()=>V(e,JSON.parse(a),r,"path"===t),[e,a,r,t])}function Wt(e,t,n){d(Mt(),"useRoutes() may be used only in the context of a component.");let{navigator:r}=o.useContext(Dt),{matches:a}=o.useContext(At),i=a[a.length-1],l=i?i.params:{},s=i?i.pathname:"/",u=i?i.pathnameBase:"/",c=i&&i.route;{let e=c&&c.path||"";on(s,!c||e.endsWith("*")||e.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${s}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent to .`)}let h,p=jt();if(t){let e="string"===typeof t?g(t):t;d("/"===u||e.pathname?.startsWith(u),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${u}" but pathname "${e.pathname}" was given in the \`location\` prop.`),h=e}else h=p;let m=h.pathname||"/",y=m;if("/"!==u){let e=u.replace(/^\//,"").split("/");y="/"+m.replace(/^\//,"").split("/").slice(e.length).join("/")}let v=x(e,{pathname:y});f(c||null!=v,`No routes matched location "${h.pathname}${h.search}${h.hash}" `),f(null==v||void 0!==v[v.length-1].route.element||void 0!==v[v.length-1].route.Component||void 0!==v[v.length-1].route.lazy,`Matched leaf route at location "${h.pathname}${h.search}${h.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let b=Jt(v&&v.map(e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:q([u,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?u:q([u,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:e.pathnameBase])})),a,n);return t&&b?o.createElement(zt.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...h},navigationType:"POP"}},b):b}function Vt(){let e=rn(),t=J(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:r},i={padding:"2px 4px",backgroundColor:r},l=null;return console.error("Error handled by React Router default ErrorBoundary:",e),l=o.createElement(o.Fragment,null,o.createElement("p",null,"\ud83d\udcbf Hey developer \ud83d\udc4b"),o.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",o.createElement("code",{style:i},"ErrorBoundary")," or"," ",o.createElement("code",{style:i},"errorElement")," prop on your route.")),o.createElement(o.Fragment,null,o.createElement("h2",null,"Unexpected Application Error!"),o.createElement("h3",{style:{fontStyle:"italic"}},t),n?o.createElement("pre",{style:a},n):null,l)}var qt=o.createElement(Vt,null),Qt=class extends o.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&"object"===typeof e&&e&&"digest"in e&&"string"===typeof e.digest){const t=function(e){if(e.startsWith(`${It}:ROUTE_ERROR_RESPONSE:{`))try{let t=JSON.parse(e.slice(40));if("object"===typeof t&&t&&"number"===typeof t.status&&"string"===typeof t.statusText)return new G(t.status,t.statusText,t.data)}catch{}}(e.digest);t&&(e=t)}let t=void 0!==e?o.createElement(At.Provider,{value:this.props.routeContext},o.createElement(Ot.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?o.createElement(Yt,{error:e},t):t}};Qt.contextType=Tt;var Kt=new WeakMap;function Yt(e){let{children:t,error:n}=e,{basename:r}=o.useContext(Dt);if("object"===typeof n&&n&&"digest"in n&&"string"===typeof n.digest){let e=function(e){if(e.startsWith(`${It}:REDIRECT:{`))try{let t=JSON.parse(e.slice(28));if("object"===typeof t&&t&&"number"===typeof t.status&&"string"===typeof t.statusText&&"string"===typeof t.location&&"boolean"===typeof t.reloadDocument&&"boolean"===typeof t.replace)return t}catch{}}(n.digest);if(e){let t=Kt.get(n);if(t)throw t;let a=ee(e.location,r);if(Z&&!Kt.get(n)){if(!a.isExternal&&!e.reloadDocument){const t=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:e.replace}));throw Kt.set(n,t),t}window.location.href=a.absoluteURL||a.to}return o.createElement("meta",{httpEquiv:"refresh",content:`0;url=${a.absoluteURL||a.to}`})}}return t}function Gt(e){let{routeContext:t,match:n,children:r}=e,a=o.useContext(Ct);return a&&a.static&&a.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),o.createElement(At.Provider,{value:t},r)}function Jt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,r=n?.state;if(null==e){if(!r)return null;if(r.errors)e=r.matches;else{if(0!==t.length||r.initialized||!(r.matches.length>0))return null;e=r.matches}}let a=e,i=r?.errors;if(null!=i){let e=a.findIndex(e=>e.route.id&&void 0!==i?.[e.route.id]);d(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(i).join(",")}`),a=a.slice(0,Math.min(a.length,e+1))}let l=!1,s=-1;if(n&&r){l=r.renderFallback;for(let e=0;e=0?a.slice(0,s+1):[a[0]];break}}}}let u=n?.onError,c=r&&u?(e,t)=>{u(e,{location:r.location,params:r.matches?.[0]?.params??{},unstable_pattern:X(r.matches),errorInfo:t})}:void 0;return a.reduceRight((e,n,u)=>{let d,f=!1,h=null,p=null;r&&(d=i&&n.route.id?i[n.route.id]:void 0,h=n.route.errorElement||qt,l&&(s<0&&0===u?(on("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),f=!0,p=null):s===u&&(f=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(a.slice(0,u+1)),g=()=>{let t;return t=d?h:f?p:n.route.Component?o.createElement(n.route.Component,null):n.route.element?n.route.element:e,o.createElement(Gt,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:null!=r},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||0===u)?o.createElement(Qt,{location:r.location,revalidation:r.revalidation,component:h,error:d,children:g(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:c}):g()},null)}function Xt(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Zt(e){let t=o.useContext(Ct);return d(t,Xt(e)),t}function en(e){let t=o.useContext(xt);return d(t,Xt(e)),t}function tn(e){let t=function(e){let t=o.useContext(At);return d(t,Xt(e)),t}(e),n=t.matches[t.matches.length-1];return d(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function nn(){let{matches:e,loaderData:t}=en("useMatches");return o.useMemo(()=>e.map(e=>P(e,t)),[e,t])}function rn(){let e=o.useContext(Ot),t=en("useRouteError"),n=tn("useRouteError");return void 0!==e?e:t.errors?.[n]}var an={};function on(e,t,n){t||an[e]||(an[e]=!0,f(!1,n))}var ln={};function sn(e,t){e||ln[t]||(ln[t]=!0,console.warn(t))}var un=(r||(r=n.t(o,2))).useOptimistic,cn=()=>{};function dn(e){let t={hasErrorBoundary:e.hasErrorBoundary||null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&(e.element&&f(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:o.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&f(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:o.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&f(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:o.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var fn=["HydrateFallback","hydrateFallbackElement"];var hn=class{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=t=>{"pending"===this.status&&(this.status="resolved",e(t))},this.reject=e=>{"pending"===this.status&&(this.status="rejected",t(e))}})}};function pn(e){let{router:t,flushSync:n,onError:r,unstable_useTransitions:a}=e,i=Pt();a=i||a;let[l,s]=o.useState(t.state),[u,c]=(d=l,un?un(d):[d,cn]);var d;let[f,h]=o.useState(),[p,m]=o.useState({isTransitioning:!1}),[g,y]=o.useState(),[v,b]=o.useState(),[w,k]=o.useState(),S=o.useRef(new Map),E=o.useCallback((e,i)=>{let{deletedFetchers:l,newErrors:u,flushSync:d,viewTransitionOpts:f}=i;u&&r&&Object.values(u).forEach(t=>r(t,{location:e.location,params:e.matches[0]?.params??{},unstable_pattern:X(e.matches)})),e.fetchers.forEach((e,t)=>{void 0!==e.data&&S.current.set(t,e.data)}),l.forEach(e=>S.current.delete(e)),sn(!1===d||null!=n,'You provided the `flushSync` option to a router update, but you are not using the `` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let p=null!=t.window&&null!=t.window.document&&"function"===typeof t.window.document.startViewTransition;if(sn(null==f||p,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),f&&p){if(n&&d){n(()=>{v&&(g?.resolve(),v.skipTransition()),m({isTransitioning:!0,flushSync:!0,currentLocation:f.currentLocation,nextLocation:f.nextLocation})});let r=t.window.document.startViewTransition(()=>{n(()=>s(e))});return r.finished.finally(()=>{n(()=>{y(void 0),b(void 0),h(void 0),m({isTransitioning:!1})})}),void n(()=>b(r))}v?(g?.resolve(),v.skipTransition(),k({state:e,currentLocation:f.currentLocation,nextLocation:f.nextLocation})):(h(e),m({isTransitioning:!0,flushSync:!1,currentLocation:f.currentLocation,nextLocation:f.nextLocation}))}else n&&d?n(()=>s(e)):!1===a?s(e):o.startTransition(()=>{!0===a&&c(t=>mn(t,e)),s(e)})},[t.window,n,v,g,a,c,r]);o.useLayoutEffect(()=>t.subscribe(E),[t,E]),o.useEffect(()=>{p.isTransitioning&&!p.flushSync&&y(new hn)},[p]),o.useEffect(()=>{if(g&&f&&t.window){let e=f,n=g.promise,r=t.window.document.startViewTransition(async()=>{!1===a?s(e):o.startTransition(()=>{!0===a&&c(t=>mn(t,e)),s(e)}),await n});r.finished.finally(()=>{y(void 0),b(void 0),h(void 0),m({isTransitioning:!1})}),b(r)}},[f,g,t.window,a,c]),o.useEffect(()=>{g&&f&&u.location.key===f.location.key&&g.resolve()},[g,v,u.location,f]),o.useEffect(()=>{!p.isTransitioning&&w&&(h(w.state),m({isTransitioning:!0,flushSync:!1,currentLocation:w.currentLocation,nextLocation:w.nextLocation}),k(void 0))},[p.isTransitioning,w]);let _=o.useMemo(()=>({createHref:t.createHref,encodeLocation:t.encodeLocation,go:e=>t.navigate(e),push:(e,n,r)=>t.navigate(e,{state:n,preventScrollReset:r?.preventScrollReset}),replace:(e,n,r)=>t.navigate(e,{replace:!0,state:n,preventScrollReset:r?.preventScrollReset})}),[t]),C=t.basename||"/",x=o.useMemo(()=>({router:t,navigator:_,static:!1,basename:C,onError:r}),[t,_,C,r]);return o.createElement(o.Fragment,null,o.createElement(Ct.Provider,{value:x},o.createElement(xt.Provider,{value:u},o.createElement(Lt.Provider,{value:S.current},o.createElement(Rt.Provider,{value:p},o.createElement(bn,{basename:C,location:u.location,navigationType:u.historyAction,navigator:_,unstable_useTransitions:a},o.createElement(gn,{routes:t.routes,future:t.future,state:u,isStatic:!1,onError:r})))))),null)}function mn(e,t){return{...e,navigation:"idle"!==t.navigation.state?t.navigation:e.navigation,revalidation:"idle"!==t.revalidation?t.revalidation:e.revalidation,actionData:"submitting"!==t.navigation.state?t.actionData:e.actionData,fetchers:t.fetchers}}var gn=o.memo(yn);function yn(e){let{routes:t,future:n,state:r,isStatic:a,onError:o}=e;return Wt(t,void 0,{state:r,isStatic:a,onError:o,future:n})}function vn(e){return function(e){let t=o.useContext(At).outlet;return o.useMemo(()=>t&&o.createElement(Ht.Provider,{value:e},t),[t,e])}(e.context)}function bn(e){let{basename:t="/",children:n=null,location:r,navigationType:a="POP",navigator:i,static:l=!1,unstable_useTransitions:s}=e;d(!Mt(),"You cannot render a inside another . You should never have more than one in your app.");let u=t.replace(/^\/*/,"/"),c=o.useMemo(()=>({basename:u,navigator:i,static:l,unstable_useTransitions:s,future:{}}),[u,i,l,s]);"string"===typeof r&&(r=g(r));let{pathname:h="/",search:p="",hash:m="",state:y=null,key:v="default",unstable_mask:b}=r,w=o.useMemo(()=>{let e=j(h,u);return null==e?null:{location:{pathname:e,search:p,hash:m,state:y,key:v,unstable_mask:b},navigationType:a}},[u,h,p,m,y,v,a,b]);return f(null!=w,` is not able to match the URL "${h}${p}${m}" because it does not start with the basename, so the won't render anything.`),null==w?null:o.createElement(Dt.Provider,{value:c},o.createElement(zt.Provider,{children:n,value:w}))}o.Component;var wn="get",kn="application/x-www-form-urlencoded";function Sn(e){return"undefined"!==typeof HTMLElement&&e instanceof HTMLElement}var En=null;var _n=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Cn(e){return null==e||_n.has(e)?e:(f(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${kn}"`),null)}function xn(e,t){let n,r,a,o,i;if(Sn(l=e)&&"form"===l.tagName.toLowerCase()){let i=e.getAttribute("action");r=i?j(i,t):null,n=e.getAttribute("method")||wn,a=Cn(e.getAttribute("enctype"))||kn,o=new FormData(e)}else if(function(e){return Sn(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return Sn(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw new Error('Cannot submit a