@real-router/core 0.132.0 → 0.132.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ const e=require("./internals-BGTllfGV.js"),t=require("./ingest-C6HQ7xXf.js"),n=require("./RouterError-B-j6UqeF.js"),r=Object.entries,i=Object.hasOwn;function a(e,n,a){if(e===void 0||a.length===0)return e;let o,s=!1;for(let[c,l]of r(e)){if(i(n,c)&&n[c]!==void 0&&a.includes(c)){s=!0;continue}o??={},t.a(o,c,l)}return o===void 0?s?void 0:e:o}function o(t,n,i){for(let[a,o]of r(t))e.g(i,a,o,n(a),"this route's `defaultParams`","Move it to `defaultSearch`")}const s=Object.entries,c=Object.freeze;function l(e,n,r){let i,a=!1;for(let[o,c]of s(e))n.includes(o)?(i??={},t.a(i,o,c)):(a=!0,r?.(o));return a?c(i??t.u):e}function u(e,t){let n=e.path,r=n.startsWith(`~`),i=r?n.slice(1):n,a=i!==``&&!i.startsWith(`/`)&&!i.startsWith(`?`)?`/${i}`:i,o={name:e.name,path:a,absolute:r,children:[],parent:t};if(e.children)for(let t of e.children){let e=u(t,o);o.children.push(e)}return o}function d(e,t,n){let r=u({name:e,path:t},null);for(let e of n){let t=u(e,r);r.children.push(t)}return r}const f=/[^\w!$'()*+,.:;|~-]/gu,p=/[^\w!$'()*+,.:;|~-]/u,m=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,h=e=>t=>{try{return e(t)}catch{return e(t.replaceAll(m,`�`))}},g=h(e=>e.replaceAll(f,e=>encodeURIComponent(e))),_={default:e=>p.test(e)?g(e):e,uri:h(encodeURI),uriComponent:h(encodeURIComponent),none:e=>e},v={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:e=>e},y=(e,t)=>{let n=_[t],r=String(e).split(`/`),i=n(r[0]);for(let e=1;e<r.length;e++)i+=`/`+n(r[e]);return i},b=Object.freeze(Object.create(null));function x(){return{staticChildren:b,hasChildren:!1,paramChild:void 0,splatChild:void 0,route:void 0,slashChildRoute:void 0}}function S(e){return e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e}function ee(e,t){return e===``?t:t===``?e:e.endsWith(`/`)&&t.startsWith(`/`)?e+t.slice(1):e+t}function te(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function ne(e){let t=0;for(;t<e.length;)if(e.codePointAt(t)===37){if(t+2>=e.length)return!1;let n=e.codePointAt(t+1)??0,r=e.codePointAt(t+2)??0;if(!te(n)||!te(r))return!1;t+=3}else t++;return!0}const re=Object.freeze([]),ie=Object.freeze(new Set),ae=Object.freeze([]),oe=Object.freeze({}),se=Object.freeze({}),ce=Object.freeze({});function le(e,t){let n=e.kind===`splat`;return{paramName:e.name,encoder:n?e=>y(e,t):_[t]}}function ue(t,n,r,i){let a=new Set(i);for(let e of n)for(let t of e.paramMeta.urlParams)a.add(t);if(a.size===0)return{buildStaticParts:[t],buildParamSlots:ae};let o=[],s=[],c=``,l=e.h(t),u=l.length-1;for(let[t,n]of l.entries()){let i=e.m(n);if(`error`in i||i.kind!==`splat`||t===u){if(t>0&&(c+=`/`),`error`in i||i.kind===`static`){c+=n;continue}o.push(c),c=``,s.push(le(i,r))}}return o.push(c),{buildStaticParts:o,buildParamSlots:s}}function de(e,t,n){throw Error(`[SegmentMatcher.registerTree] Parameter name conflict at the same path position: '${n}${e}' and '${n}${t}'. One position binds one name across every route that shares it. Rename one — e.g. use '${n}${e}' in both.`)}function fe(){throw Error(`[SegmentMatcher.registerTree] Empty parameter name: a ':'/'*' marker must be followed by a name (e.g. ':id', '*rest'), and a segment cannot end in a bare '?'.`)}function pe(e){throw Error(`[SegmentMatcher.registerTree] Fused parameter marker in segment "${e}": a ':'/'*' marker must begin a segment — write 'a/:b', not 'a:b'.`)}function me(e){throw Error(`[SegmentMatcher.registerTree] Trailing parameter marker in segment "${e}": a param name cannot end in a bare ':' or '*'. Drop the stray marker.`)}function he(e){throw Error(`[SegmentMatcher.registerTree] Optional params are not supported: "${e}" — declare two sibling routes instead, one with the segment and one without.`)}function ge(e){throw Error(`[SegmentMatcher.registerTree] Regex constraints are not supported: '<' and '>' are reserved in path segments ("${e}"). Match it as a plain string and validate the value in a canActivate guard.`)}function _e(e){throw Error(`[SegmentMatcher.registerTree] Non-ASCII static segment "${e}": match compares static keys raw and rejects non-ASCII input, so this route can never match. Percent-encode it (e.g. "/caf%C3%A9") or use a param.`)}function ve(e,t){switch(e){case`name-less`:return fe();case`trailing-marker`:return me(t);case`fused-marker`:return pe(t);case`optional-removed`:return he(t);case`constraint-removed`:return ge(t)}}function ye(e,t){let n=new Set,r=``;for(let e of t){if(n.has(e)){r=e;break}n.add(e)}throw Error(`[SegmentMatcher.registerTree] Duplicate parameter name '${r}' in route "${e}": a name must be unique within a route — the second position overwrites the first. Rename one.`)}function be(e,t){throw Error(`[SegmentMatcher.registerTree] Invalid query-param declaration "${t}" in route "${e}": a query-param name cannot contain '<' or '>'. Rename it.`)}function xe(e){throw Error(`[SegmentMatcher.registerTree] Double slashes are not allowed in path "${e}": the route would build a URL its own matcher refuses. Remove the empty segment.`)}function Se(e,t){throw Error(`[SegmentMatcher.registerTree] Duplicate route path: routes "${e}" and "${t}" resolve to the same URL — the later would shadow the earlier. Give them distinct paths.`)}function Ce(e,t){throw Error(`[SegmentMatcher.registerTree] Index route "${e}" (path "/") under the splat parent "${t}" is unreachable: the wildcard match never reaches the index node. Give the index a distinct path, or make the parent static.`)}function we(e,t){return e.paramChild?e.paramChild.name!==t&&de(e.paramChild.name,t,`:`):e.paramChild={node:x(),name:t},e.paramChild.node}function Te(e,t){return e.splatChild?e.splatChild.name!==t&&de(e.splatChild.name,t,`*`):e.splatChild={node:x(),name:t},e.splatChild.node}const Ee=Object.create;function De(e,t){e.route!==void 0&&e.route!==t&&Se(e.route.name,t.name),e.route=t}function Oe(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>=128)return!0;return!1}function ke(e,t,n){let r=S(n);if(r===`/`){De(e.root,t);return}Ae(e,e.root,r,1,t)}function Ae(e,t,n,r,i){let a=n.length;for(;r<=a;){let i=n.indexOf(`/`,r),o=i===-1?a:i,s=n.slice(r,o);t=Pe(e,t,s),r=o+1}De(t,i)}function je(e,t,n){let r=n.length;for(;r>1&&n.codePointAt(r-1)===47;)--r;let i=n.slice(0,r);i.slice(i.lastIndexOf(`/`)+1).startsWith(`*`)&&Ce(t.name,n);let a=Me(e,n);a.slashChildRoute=t}function Me(e,t){return Ne(e,e.root,t)}function Ne(e,t,n){let r=S(n);if(r===`/`||r===``)return t;let i=t,a=1,o=r.length;for(;a<=o;){let t=r.indexOf(`/`,a),n=t===-1?o:t;if(n<=a)break;let s=r.slice(a,n);i=Pe(e,i,s),a=n+1}return i}function Pe(t,n,r){let i=e.m(r);if(`error`in i&&fe(),i.kind===`splat`){let e=Te(n,i.name);return n.hasChildren=!0,e}if(i.kind===`param`){let e=we(n,i.name);return n.hasChildren=!0,e}Oe(r)&&_e(r);let a=t.options.caseSensitive?r:r.toLowerCase();return a in n.staticChildren||(n.staticChildren===b&&(n.staticChildren=Ee(null)),n.staticChildren[a]=x(),n.hasChildren=!0),n.staticChildren[a]}const C=Object.freeze,Fe=Object.hasOwn;function Ie(t){let n=e.h(t);for(let[e,r]of n.entries())r===``&&e>0&&e<n.length-1&&xe(t)}function Le(t){for(let n of e.h(t)){let t=e.m(n);`error`in t&&ve(t.error,n)}}function Re(t,n,r,i,a){let o=n.fullName===``;o||i.push(n);let s=n.absolute,c=n.paramMeta===e.d?n.path:n.paramMeta.pathPattern,l=s&&c.startsWith(`~`)?c.slice(1):c,u=s?l:c;Ie(n.path),Le(u);let d=u,f=s?d:ee(r,d),p=o?a:ze(t,n,f,s?``:r,i,a);for(let e of n.children.values())Re(t,e,f,i,p);o||i.pop()}function ze(e,t,n,r,i,a){let o=We(n,r),s=C([...i]),c=Be(s),l=S(n),u=C(Ge(e.rootQueryParams,i)),{buildStaticParts:d,buildParamSlots:f}=ue(o?S(r):l,o?i.slice(0,-1):i,e.options.urlParamsEncoding,e.rootUrlParams),p=f.map(e=>e.paramName),m=p.length===0?ie:new Set(p);m.size!==p.length&&ye(t.fullName,p),Ke(t.fullName,u);let h={name:t.fullName,parent:a,matchSegments:s,meta:c,declaredQueryParams:u,declaredQueryParamsSet:u.length===0?ie:new Set(u),hasTrailingSlash:n.length>1&&n.endsWith(`/`),buildStaticParts:d,buildParamSlots:f,buildParamNamesSet:m,cachedResult:void 0};return t.paramMeta.urlParams.length===0&&(h.cachedResult=C({segments:h.matchSegments,params:oe,search:se,meta:h.meta})),e.routesByName.set(t.fullName,h),o?He(e,h,r):Ue(e,h,n,l,t),h}function Be(e){let n;for(let r of e)Ve(r.paramTypeMap)&&(n??=t.r(),n[r.fullName]=r.paramTypeMap);return n===void 0?ce:C(t.t(t.i(n)))}function Ve(e){for(let t in e)if(Fe(e,t))return!0;return!1}function He(e,t,n){je(e,t,n);let r=S(n),i=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.has(i)&&e.staticCache.set(i,t)}function Ue(e,t,n,r,i){if(ke(e,t,n),i.paramMeta.urlParams.length===0){let n=e.options.caseSensitive?r:r.toLowerCase();e.staticCache.set(n,t)}}function We(e,t){return S(e)===S(t)}function Ge(e,t){let n=[];e.length>0&&n.push(...e);for(let e of t)e.paramMeta.queryParams.length>0&&n.push(...e.paramMeta.queryParams);return n.length===0?re:n}function Ke(t,n){for(let r of n)e.f.test(r)&&be(t,r)}const qe=Symbol.for(`real-router.searchParams.configFault`),Je=Object.hasOwn,Ye=Object.keys,Xe=Object.getOwnPropertyDescriptor;function Ze(e){try{return Xe(e,qe)?.configurable===!1}catch{return!1}}function Qe(e){return typeof e==`string`?e:typeof e==`object`?JSON.stringify(e):String(e)}const $e=Object.freeze({});function et(e,t){return e===`strict`?t?`always`:`never`:e}var tt=class{get options(){return this.#e}#e;#t=x();#n=new Map;#r=new Map;#i={cleanPath:``,normalized:``,queryString:void 0};#a=[];#o=``;#s;#c;constructor(e){let t=e.urlParamsEncoding??`default`,n=typeof t==`string`?t:String(t),r=Je(_,n)?n:`default`;this.#e={caseSensitive:e.caseSensitive??!0,strictTrailingSlash:e.strictTrailingSlash??!1,strictQueryParams:e.strictQueryParams??!1,urlParamsEncoding:r,parseQueryString:e.parseQueryString,buildQueryString:e.buildQueryString},this.#s=this.#e.caseSensitive,this.#c=this.#e.urlParamsEncoding===`none`?null:v[this.#e.urlParamsEncoding]}registerTree(e){this.#a=e.paramMeta.queryParams,Re({root:this.#t,options:this.#e,routesByName:this.#n,staticCache:this.#r,rootQueryParams:this.#a,rootUrlParams:e.paramMeta.urlParams},e,``,[],null)}match(e){if(!this.#f(e))return;let{cleanPath:t,normalized:n,queryString:r}=this.#i,i=this.#s?n:n.toLowerCase(),a=this.#r.get(i);if(a)return this.#e.strictTrailingSlash&&!this.#g(t,a)?void 0:r===void 0&&a.cachedResult?a.cachedResult:this.#m(a,{},r);let o={},s=this.#_(n,o);if(s&&(!this.#e.strictTrailingSlash||this.#g(t,s))&&this.#b(o))return this.#m(s,o,r)}buildPath(e,t,n,r){let i=this.#n.get(e);if(!i)throw Error(`[SegmentMatcher.buildPath] '${e}' is not defined`);let a=this.#l(i,t),o=this.#u(a,et(r?.trailingSlash,i.hasTrailingSlash)),s=this.#d(i,n??t,r?.queryParamsMode);return o+(s?`?${s}`:``)}getSegmentsByName(e){return this.#n.get(e)?.matchSegments}getMetaByName(e){return this.#n.get(e)?.meta}getDeclaredQueryParams(e){return this.#n.get(e)?.declaredQueryParams}hasRoute(e){return this.#n.has(e)}#l(e,t){let n=e.buildStaticParts,r=e.buildParamSlots;if(r.length===0)return n[0];let i=n[0];for(let[e,a]of r.entries()){let r=t!=null&&Je(t,a.paramName)?t[a.paramName]:void 0;if(r==null)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}'`);if(r===``)throw Error(`[SegmentMatcher.buildPath] Missing required param '${a.paramName}' (empty string)`);let o=a.encoder(Qe(r));i+=o+n[e+1]}return i}#u(e,t){return t===`always`&&!e.endsWith(`/`)?`${e}/`:t===`never`&&e!==`/`&&e.endsWith(`/`)?e.slice(0,-1):e}#d(e,n,r){if(!n||e.declaredQueryParams.length===0&&r!==`loose`)return``;let i={},a=!1;for(let r of e.declaredQueryParams)Je(n,r)&&(t.a(i,r,n[r]),a=!0);if(r===`loose`)for(let r of Ye(n))e.declaredQueryParamsSet.has(r)||e.buildParamNamesSet.has(r)||(t.a(i,r,n[r]),a=!0);return a?this.#e.buildQueryString(i):``}#f(e){if(e===``&&(e=`/`),e.codePointAt(0)!==47)return!1;let t=this.#p(e);if(t===-2)return!1;t===-3&&(e=this.#o);let n=t>=0?e.slice(0,t):e,r=t>=0?e.slice(t+1):void 0;if(r!==void 0){let e=r.indexOf(`#`);e!==-1&&(r=r.slice(0,e))}let i=S(n);return this.#i.cleanPath=n,this.#i.normalized=i,this.#i.queryString=r,!0}#p(e){let t=!1;for(let n=0;n<e.length;n++){let r=e.codePointAt(n);if(r===35)return this.#o=e.slice(0,n),-3;if(r===63)return n;if(r>=128)return-2;if(r===47){if(t)return-2;t=!0}else t=!1}return-1}#m(e,t,n){let r=$e;if(n!==void 0){let t=this.#h(e,n);if(t===void 0)return;r=t}return{segments:e.matchSegments,params:t,search:r,meta:e.meta}}#h(e,t){let n;try{n=this.#e.parseQueryString(t)}catch(e){if(Ze(e))throw e;return}if(this.#e.strictQueryParams){let t=e.declaredQueryParamsSet;for(let e of Ye(n))if(!t.has(e))return}return n}#g(e,t){return(e.length>1&&e.endsWith(`/`))===t.hasTrailingSlash}#_(e,t){return e.length===1?this.#t.slashChildRoute??this.#t.route:this.#v(this.#t,e,1,t)}#v(e,n,r,i){let a=e,o=n.length,s=this.#s;for(;r<=o;){let e=n.indexOf(`/`,r),c=e===-1?o:e,l=n.slice(r,c),u=s?l:l.toLowerCase(),d;if(u in a.staticChildren){let e=a.staticChildren[u];if(a.splatChild!==void 0){let o={},s=this.#v(e,n,c+1,o);return s===void 0?this.#y(a.splatChild,n,r,i):(t.n(i,o),s)}d=e}else if(a.paramChild){let e=a.paramChild;if(a.splatChild!==void 0){let o={[e.name]:l},s=this.#v(e.node,n,c+1,o);return s===void 0?this.#y(a.splatChild,n,r,i):(t.n(i,o),s)}d=e.node,t.a(i,e.name,l)}else if(a.splatChild)return this.#y(a.splatChild,n,r,i);else return;a=d,r=c+1}return a.slashChildRoute??a.route}#y(e,n,r,i){let a=e.node;if(!a.hasChildren)return t.a(i,e.name,n.slice(r)),a.route;let o={},s=this.#v(a,n,r,o);return s?(t.n(i,o),s):(t.a(i,e.name,n.slice(r)),a.route)}#b(e){let t=this.#c;if(!t)return!0;for(let n of Ye(e)){let r=e[n];if(r.includes(`%`)){if(!ne(r))return!1;try{e[n]=t(r)}catch{return!1}}}return!0}};const w=Object.freeze,nt=Object.freeze(new Map),rt=Object.freeze([]);function it(e){return e.parent?.name?`${e.parent.fullName}.${e.name}`:e.name}function at(e){let t=new Map;for(let n of e)t.set(n.name,n);return t}function ot(e,t){let n=[],r=[];for(let i of e){let e=st(i,t);n.push(e),e.absolute||r.push(e)}return{childrenMap:at(n),nonAbsoluteChildren:r}}function st(t,n){let r=e.p(t.path),i=r.urlParams.length===0&&r.queryParams.length===0&&r.pathPattern===t.path?e.d:r,a=i.paramTypeMap,o={name:t.name,path:t.path,absolute:t.absolute,parent:n,children:void 0,paramMeta:i,nonAbsoluteChildren:void 0,fullName:``,paramTypeMap:a};if(o.fullName=it(o),t.children.length===0)o.children=nt,o.nonAbsoluteChildren=rt;else{let{childrenMap:e,nonAbsoluteChildren:n}=ot(t.children,o);o.children=e,o.nonAbsoluteChildren=n,w(o.nonAbsoluteChildren),w(o.children)}return w(a),w(i.urlParams),w(i.queryParams),w(i),w(o),o}function ct(e){return st(e,null)}function lt(e,t,n){return ct(d(e,t,n))}function ut(e){let n=e.absolute?`~${e.path}`:e.path,r={name:e.name,path:n};return e.children.size>0&&t.a(r,`children`,Array.from(e.children.values(),ut)),r}function dt(e){return Array.from(e.children.values(),ut)}const ft=e=>{let t=e.indexOf(`%`),n=e.indexOf(`+`);if(t===-1&&n===-1)return e;let r=n===-1?e:e.replaceAll(`+`,` `);return t===-1?r:decodeURIComponent(r)},pt=(e,t)=>{if(e===void 0)return t.boolean.decodeUndefined();let n=t.boolean.decodeRaw(e);if(n!==null)return n;let r=ft(e),i=t.number.decode(r);return i===null?t.boolean.decodeValue(r):i},mt=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,ht=e=>{try{return encodeURIComponent(e)}catch(t){if(!(t instanceof URIError))throw t;return encodeURIComponent(String(e).replaceAll(mt,`�`))}},gt=e=>{let t=typeof e;if(t!==`string`&&t!==`number`&&t!==`boolean`)throw TypeError(`[router] Invalid query value: an array element must be a string, number, or boolean — received ${t}`);return ht(e)},_t=(e,t,n,r)=>{let i=`${e}${n}`,a=[];for(let e of t)if(e===null){let e=r.encode(i);e&&a.push(e)}else a.push(`${i}=${gt(e)}`);return a.join(`&`)},vt={none:{encodeArray:(e,t,n)=>_t(e,t,``,n)},brackets:{encodeArray:(e,t,n)=>_t(e,t,`[]`,n)},index:{encodeArray:(e,t,n)=>{let r=[];for(let[i,a]of t.entries()){let t=`${e}[${i}]`;if(a===null){let e=n.encode(t);e&&r.push(e)}else r.push(`${t}=${gt(a)}`)}return r.join(`&`)},indexed:!0},comma:{encodeArray:(e,t)=>{let n=[];for(let e of t)e!==null&&n.push(gt(e));return n.length===0?``:`${e}=${n.join(`,`)}`},decodeValue:e=>e.includes(`,`)?e.split(`,`):null}},yt={none:{encode:(e,t)=>`${e}=${t}`,decodeUndefined:()=>null,decodeRaw:()=>null,decodeValue:e=>e},auto:{encode:(e,t)=>`${e}=${t}`,decodeUndefined:()=>null,decodeRaw:e=>e===`true`||e!==`false`&&null,decodeValue:e=>e},"empty-true":{encode:(e,t)=>t?e:`${e}=false`,decodeUndefined:()=>!0,decodeRaw:e=>e===`true`||e!==`false`&&null,decodeValue:e=>e}},bt={default:{encode:e=>e},hidden:{encode:()=>``}},xt={auto:{decode:e=>{let t=e.length;if(t===0)return null;let n=+(e.codePointAt(0)===45);if(n===t||t-n>1&&e.codePointAt(n)===48&&e.codePointAt(n+1)!==46)return null;let r=!1;for(let i=n;i<t;i++){let a=e.codePointAt(i);if(!(a!==void 0&&a>=48&&a<=57)){if(a===46&&!r&&i!==n&&i!==t-1){r=!0;continue}return null}}let i=Number(e);return String(i)!==e||!Number.isSafeInteger(i)&&!r?null:i}},none:{decode:()=>null}},St=Object.defineProperty,Ct=Object.keys,wt=Object.hasOwn,Tt=Symbol.for(`real-router.searchParams.configFault`),T=(e,t,n)=>{let r=typeof t==`string`?t:String(t);if(!wt(e,r)){let t=TypeError(`[router.constructor] Invalid "queryParams.${n}": "${r}" — expected ${Ct(e).map(e=>`"${e}"`).join(` | `)}`);throw St(t,Tt,{value:!0}),t}return e[r]},Et=(e,t,n,r)=>({boolean:T(yt,t,`booleanFormat`),null:T(bt,n,`nullFormat`),number:T(xt,r,`numberFormat`),array:T(vt,e,`arrayFormat`)}),Dt=Object.freeze({boolean:yt.auto,null:bt.default,number:xt.auto,array:vt.none}),E=Object.freeze({arrayFormat:`none`,booleanFormat:`auto`,nullFormat:`default`,numberFormat:`auto`}),Ot=Object.freeze({...E,strategies:Dt}),kt=e=>{if(!e||e.arrayFormat===void 0&&e.booleanFormat===void 0&&e.nullFormat===void 0&&e.numberFormat===void 0)return Ot;let t=e.arrayFormat??E.arrayFormat,n=e.booleanFormat??E.booleanFormat,r=e.nullFormat??E.nullFormat,i=e.numberFormat??E.numberFormat;return{arrayFormat:t,booleanFormat:n,nullFormat:r,numberFormat:i,strategies:Et(t,n,r,i)}},D=e=>ht(e),At=(e,t,n)=>{let r=D(e);switch(typeof t){case`string`:case`number`:return`${r}=${D(t)}`;case`boolean`:return n.strategies.boolean.encode(r,t);case`object`:return t===null?n.strategies.null.encode(r):Array.isArray(t)?n.strategies.array.encodeArray(r,t,n.strategies.null):`${r}=${D(t)}`;default:return`${r}=${D(t)}`}},jt=Object.hasOwn,Mt=Object.keys;function Nt(e,n,r){t.a(e,n,r)}function Pt(e,t,n,r){if(!jt(e,t)){Nt(e,t,r?[n]:n);return}let i=e[t];Array.isArray(i)?i.push(n):Nt(e,t,[i,n])}function Ft(e,t,n){let r=t+1,i=0,a=!1;for(;r<n;){let t=e.codePointAt(r);if(t===93)return a?i:null;if(t!==void 0&&t>=48&&t<=57){i=i*10+(t-48),a=!0,r++;continue}return null}return null}function It(e,t,n){let{searchPart:r,nameEnd:i,nameSourceEnd:a,rawValue:o,decodedName:s}=e,c=Ft(r,i,a);if(c===null)return!1;let l=pt(o,t),u=n.get(s);return u===void 0?n.set(s,[[c,l]]):u.push([c,l]),!0}function Lt(e,t,n,r,i,a,o){let s=a!==-1&&a<n?e.slice(a+1,n):void 0,c=s===void 0?n:a,l=c,u=!1;for(let n=t;n<c;n++)if(e.codePointAt(n)===91){l=n,u=!0;break}let d=ft(e.slice(t,l));if(!(o!==void 0&&u&&It({searchPart:e,nameEnd:l,nameSourceEnd:c,rawValue:s,decodedName:d},i,o))){if(!u&&s!==void 0&&i.array.decodeValue){let e=i.array.decodeValue(s);if(e){for(let t of e)Pt(r,d,pt(t,i),!0);return}}Pt(r,d,pt(s,i),u)}}const Rt=(e,t)=>{if(e===``||e===`?`)return{};let n={};return zt(e,n,t.strategies),n};function zt(e,t,n){let r=n.array.indexed?new Map:void 0,i=0,a=e.length,o=-2;for(;i<a;){let s=e.indexOf(`&`,i);s===-1&&(s=a),s>i&&(o!==-1&&o<i&&(o=e.indexOf(`=`,i)),Lt(e,i,s,t,n,o,r)),i=s+1}if(r!==void 0)for(let[e,n]of r)n.sort((e,t)=>e[0]-t[0]),Nt(t,e,n.map(e=>e[1]))}const Bt=(e,t)=>{let n=Mt(e);if(n.length===0)return``;let r=[];for(let i of n){let n=e[i];if(n===void 0)continue;let a=At(i,n,t);a&&r.push(a)}return r.join(`&`)};function Vt(e){let t=e?.queryParams,n=kt(t);return new tt({...e?.caseSensitive!==void 0&&{caseSensitive:e.caseSensitive},...e?.strictTrailingSlash!==void 0&&{strictTrailingSlash:e.strictTrailingSlash},...e?.strictQueryParams!==void 0&&{strictQueryParams:e.strictQueryParams},...e?.urlParamsEncoding!==void 0&&{urlParamsEncoding:e.urlParamsEncoding},parseQueryString:e=>Rt(e,n),buildQueryString:e=>Bt(e,n)})}const Ht=Object.keys,Ut=Object.values,Wt=Object.hasOwn,Gt=Object.getOwnPropertyDescriptor,Kt=Object.getPrototypeOf,qt=Object,Jt=new Set(Ut(t.h));function Yt(e){if(!Jt.has(e))throw TypeError(`[router.addEventListener] Invalid event name: ${String(e)}. Must be one of: ${[...Jt].join(`, `)}`)}function Xt(e){if(typeof e!=`function`)throw TypeError(`[router.addEventListener] callback must be a function, got ${typeof e}`)}function Zt(t,n){if(typeof t!=`string`||!Wt(e.t,t))throw TypeError(`[router.addInterceptor] Invalid method: ${typeof t==`string`?`"${t}"`:typeof t}. Must be one of: ${Ht(e.t).join(`, `)}`);if(typeof n!=`function`)throw TypeError(`[router.addInterceptor] interceptor must be a function, got ${typeof n}`)}function Qt(e,t){if(typeof e!=`string`)throw TypeError(`[router.${t}] Route name must be a string, got ${typeof e}`)}function $t(e){if(!e||typeof e!=`object`)throw TypeError(`dependencies must be a plain object`);let t=Kt(e);if(t!==null&&t.constructor!==qt)throw TypeError(`dependencies must be a plain object`)}function en(e,t){$t(e);let n=e,r=[];for(let e of Ht(n)){if(Gt(n,e)?.get)throw TypeError(`dependencies cannot contain getters: "${e}"`);let t=n[e];t!==void 0&&r.push([e,t])}for(let[e,n]of r)t(e,n)}function tn(n){let r=[];for(let i of n){let n=i;if(typeof n!=`object`||!n||Array.isArray(n))throw TypeError(`route must be a non-array object`);e.c(n,`addRoute`);let a={...n},o=a.children;o&&t.a(a,`children`,tn(o)),r.push(a)}return r}function nn(e,t){if(t)for(let n of e){t.routes.guardRouteCallbacks(n),t.routes.guardNoAsyncCallbacks(n);let e=n.children;e&&nn(e,t)}}const rn=new Set([`all`,`warn-error`,`error-only`,`none`]);function an(e){return typeof e==`string`&&rn.has(e)}function on(e){return typeof e==`string`?`"${e}"`:typeof e==`object`?JSON.stringify(e):String(e)}function sn(e){for(let t of Ht(e))if(t!==`level`&&t!==`callback`&&t!==`callbackIgnoresLevel`)throw TypeError(`Unknown logger config property: "${t}"`)}function cn(e){if(!Wt(e,`level`))return;let t=e.level;if(t!==void 0){if(!an(t))throw TypeError(`Invalid logger level: ${on(t)}. Expected: "all" | "warn-error" | "error-only" | "none"`);return t}}function ln(e){if(!Wt(e,`callbackIgnoresLevel`))return;let t=e.callbackIgnoresLevel;if(t!==void 0){if(typeof t!=`boolean`)throw TypeError(`Logger callbackIgnoresLevel must be a boolean, got ${typeof t}`);return t}}function un(e){if(typeof e!=`object`||!e)throw TypeError(`Logger config must be an object`);let n=e;sn(n);let r=t.r(),i=cn(n);if(i!==void 0&&(r.level=i),Wt(n,`callback`)){let e=n.callback;if(e!==void 0&&typeof e!=`function`)throw TypeError(`Logger callback must be a function, got ${typeof e}`);r.callback=e}let a=ln(n);return a!==void 0&&(r.callbackIgnoresLevel=a),r}const dn=Object.freeze;function fn(e={}){let n={...t.o,...e};return dn({maxDependencies:Number(n.maxDependencies),maxPlugins:Number(n.maxPlugins),maxListeners:Number(n.maxListeners),warnListeners:Number(n.warnListeners),maxLifecycleHandlers:Number(n.maxLifecycleHandlers)})}const pn=Object.create;function mn(e,t,n){e[t]=n}function hn(e={}){let n=pn(null),r=e,i=n;return en(r,(e,t)=>{mn(i,e,t)}),{dependencies:n,limits:t.o}}const gn={defaultRoute:``,defaultParams:{},defaultSearch:{},trailingSlash:`preserve`,caseSensitive:!0,queryParamsMode:`loose`,queryParams:E,urlParamsEncoding:`default`,allowNotFound:!0,rewritePathOnMatch:!0};function _n(e){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`[router.constructor] options must be a plain object`)}const vn=Object.freeze;var yn=class{#e;constructor(e={}){this.#e=vn(n.l({...gn,...e}))}static validateOptionsIsObject(e){_n(e)}get(){return this.#e}};function bn(e,t){return typeof e==`function`?e(t):e}const xn=Object.keys;function Sn(e,t,n,r,i){let a=e.pathNames(t);if(a!==void 0)for(let e of xn(n))!r.includes(e)&&!a.includes(e)&&i(t,e)}function O(e,r,i,o,s){let c=String(r),u=s?.resolveForward===!1?{name:c,params:i,search:o}:e.resolveForward(c,i,o),d=u.name,f=n.m(u.params,t.l),p=s?.diagnoseUndeclared===!0?e.reportUndeclaredParamKey:void 0;p&&Sn(e,d,f,e.queryNames(d),p);let m=e.defaultParams(d),h=e.defaultSearch(d);if((u.search===void 0||u.search===t.u)&&m===void 0&&h===void 0)return{name:d,path:f,query:t.u};let g=e.queryNames(d),_=e.reportDroppedQueryKey,v=s?.resolveForward===!1?a(h,f,g):h,y=n.m(u.search,t.u),b=n.p(v,y);return{name:d,path:n.f(m,f),query:e.admitsUndeclaredQuery()?b:l(b,g,t=>{_!==void 0&&e.pathNames(d)!==void 0&&_(d,t)})}}function k(e,t){return t.buildPath(e.name,e.path,e.query)}const Cn=Object.freeze;function wn(e,n){let r={name:e.name,params:e.path,search:e.query,path:n,context:{},transition:t.s};return Cn(r.params),r}function A(e,t){return n.u(wn(e,t))}function Tn(e,t){return wn(e,t)}var En=class{#e;#t;get(){return this.#e.current}getPrevious(){return this.#e.previous}setContext(e){this.#e=e}setDependencies(e){this.#t=e}makeState(n,r,i,a){let o=this.#t.port(),s=O(o,n,r??t.l,i,{resolveForward:!1});return e._(`makeState`,s.name,s.path,o.queryNames(s.name)),A(s,a??k(s,o))}areStatesEqual(e,t,r=!0){if(!e||!t)return!!e==!!t;let i=e.name;return i===t.name?r?n.v(e.params,t.params,this.#t.getUrlParams(i)):n._(e.params,t.params)&&n._(e.search,t.search):!1}};const Dn=Object.keys,On={[t.g.ROUTER_START]:t.h.ROUTER_START,[t.g.ROUTER_STOP]:t.h.ROUTER_STOP,[t.g.TRANSITION_SUCCESS]:t.h.TRANSITION_SUCCESS,[t.g.TRANSITION_START]:t.h.TRANSITION_START,[t.g.TRANSITION_LEAVE_APPROVE]:t.h.TRANSITION_LEAVE_APPROVE,[t.g.TRANSITION_ERROR]:t.h.TRANSITION_ERROR,[t.g.TRANSITION_CANCEL]:t.h.TRANSITION_CANCEL},kn=Dn(On),An=`router.usePlugin`;function jn(e){if(!(e&&typeof e==`object`)||Array.isArray(e))throw TypeError(`[router.usePlugin] Plugin factory must return an object, got ${typeof e}`);if(typeof e.then==`function`)throw TypeError(`[router.usePlugin] Async plugin factories are not supported. Factory returned a Promise instead of a plugin object.`)}const Mn=Object.freeze;var Nn=class e{#e=new Set;#t=new Set;#n;static validatePlugin(e){jn(e)}setDependencies(e){this.#n=e}count(){return this.#e.size}use(...e){if(this.#n.getValidator()?.plugins.validateCountThresholds(this.#e.size+e.length),e.length===1){let t=e[0],n=this.#i(t);this.#e.add(t);let r=!1,i=()=>{if(!r){r=!0,this.#e.delete(t),this.#t.delete(i);try{n()}catch(e){this.#n.logger.error(An,`Error during cleanup:`,e)}}};return this.#t.add(i),i}let t=this.#r(e),n=[];try{for(let e of t){let t=this.#i(e);n.push({factory:e,cleanup:t})}}catch(e){for(let{cleanup:e}of n)try{e()}catch(e){this.#n.logger.error(An,`Cleanup error:`,e)}throw e}for(let{factory:e}of n)this.#e.add(e);let r=!1,i=()=>{if(!r){r=!0,this.#t.delete(i);for(let{factory:e}of n)this.#e.delete(e);for(let{cleanup:e}of n)try{e()}catch(e){this.#n.logger.error(An,`Error during cleanup:`,e)}}};return this.#t.add(i),i}getAll(){return[...this.#e]}disposeAll(){for(let e of this.#t)e();this.#e.clear(),this.#t.clear()}#r(e){let t=new Set;for(let n of e)t.has(n)?this.#n.getValidator()?.plugins.warnBatchDuplicates(e):t.add(n);return t}#i(t){let n=this.#n.compileFactory(t);e.validatePlugin(n),this.#n.getValidator()?.plugins.validatePluginKeys(n),Mn(n);let r=[];for(let e of kn)e in n&&(typeof n[e]==`function`?(r.push(this.#n.addEventListener(On[e],n[e])),e===`onStart`&&this.#n.canNavigate()&&this.#n.getValidator()?.plugins.warnPluginAfterStart(e)):this.#n.getValidator()?.plugins.warnPluginMethodType(e));return()=>{for(let e of r)e();typeof n.teardown==`function`&&n.teardown()}}};const j=Object.create,Pn=()=>!0,Fn=()=>!1,In=()=>Pn,Ln=()=>Fn;function Rn(e){return e?In:Ln}function zn(e,t,n){n===void 0?e.delete(t):e.set(t,n)}var Bn=class{#e=new Map;#t=new Map;#n=new Map;#r=new Map;#i=new Map;#a=new Map;#o=new Map;#s=new Map;#c=new Map;#l=new Map;#u=[this.#i,this.#a];#d;setDependencies(e){this.#d=e}getHandlerCount(e){let t=e===`activate`?this.#e:this.#n,n=e===`activate`?this.#t:this.#r;if(t.size===0)return n.size;if(n.size===0)return t.size;let r=new Set(t.keys());for(let e of n.keys())r.add(e);return r.size}preflightHandlerLimit(e,t,n){let r=this.#d.getValidator();if(!r)return;let i=(e,t,i)=>{let{definition:a,external:o}=this.#g(e),s=0;for(let e of t)(n?o.has(e):a.has(e)||o.has(e))||s++;if(s===0)return;let c=n?o.size:this.getHandlerCount(e);r.lifecycle.validateHandlerLimit(c+s-1,i)};i(`activate`,e,`canActivate`),i(`deactivate`,t,`canDeactivate`)}addCanActivate(e,t,n,r){this.#f(`activate`,e,t,n,`canActivate`,r)}addCanDeactivate(e,t,n,r){this.#f(`deactivate`,e,t,n,`canDeactivate`,r)}clearCanActivate(e,t){this.#p(`activate`,e,t)}clearCanDeactivate(e,t){this.#p(`deactivate`,e,t)}clearAll(){this.#e.clear(),this.#t.clear(),this.#n.clear(),this.#r.clear(),this.#a.clear(),this.#i.clear(),this.#o.clear(),this.#s.clear(),this.#c.clear(),this.#l.clear()}clearDefinitionGuards(){for(let e of this.#e.keys())this.#c.delete(e),this.#t.has(e)?this.#m(`activate`,e):this.#a.delete(e);for(let e of this.#n.keys())this.#o.delete(e),this.#r.has(e)?this.#m(`deactivate`,e):this.#i.delete(e);this.#e.clear(),this.#n.clear()}getFactories(){let e=j(null),t=j(null);for(let[t,n]of this.#n)e[t]=n;for(let[t,n]of this.#r)e[t]=n;for(let[e,n]of this.#e)t[e]=n;for(let[e,n]of this.#t)t[e]=n;return[e,t]}getFactoriesByOrigin(){let e=j(null),t=j(null),n=j(null),r=j(null);for(let[t,n]of this.#n)e[t]=n;for(let[e,n]of this.#e)t[e]=n;for(let[e,t]of this.#r)n[e]=t;for(let[e,t]of this.#t)r[e]=t;return{definition:[e,t],external:[n,r]}}getFunctions(){return this.#u}canNavigateTo(e,t,n,r){for(let t of e)if(!this.#_(this.#i,t,n,r,`canNavigateTo`))return!1;for(let e of t)if(!this.#_(this.#a,e,n,r,`canNavigateTo`))return!1;return!0}compileGuardFactory(e,t){let n=typeof e==`boolean`?Rn(e):e,r=this.#d.compileFactory(n);if(typeof r!=`function`)throw TypeError(`[router.${t}] Factory must return a function, got ${typeof r}`);return r}#f(e,t,n,r,i,a){let o=this.#g(e),s=e===`activate`?this.#a:this.#i,c=r?o.definition:o.external,l=r?o.external:o.definition;if(c.has(t)||l.has(t))this.#d.getValidator()?.lifecycle.warnOverwrite(t,e,i);else{let t=this.#d.getValidator();if(t){let n=this.getHandlerCount(e);t.lifecycle.validateHandlerLimit(n,i),t.lifecycle.validateCountThresholds(n+1,i)}}let u=typeof n==`boolean`?Rn(n):n,d=c.get(t),f=this.#h(e),p=r?f.definition:f.external,m=p.get(t);c.set(t,u);let h=r&&l.has(t);try{let e=a??this.compileGuardFactory(u,i);p.set(t,e),h||s.set(t,e)}catch(n){throw zn(c,t,d),zn(p,t,m),this.#m(e,t),n}}#p(e,t,n){let{definition:r,external:i}=this.#g(e),a=this.#h(e),o=n!==`external`&&r.delete(t),s=n!==`definition`&&i.delete(t);o&&a.definition.delete(t),s&&a.external.delete(t),(o||s)&&this.#m(e,t)}#m(e,t){let n=this.#h(e),r=e===`activate`?this.#a:this.#i,i=n.external.get(t)??n.definition.get(t);if(!i){r.delete(t);return}r.set(t,i)}#h(e){return e===`activate`?{definition:this.#c,external:this.#l}:{definition:this.#o,external:this.#s}}#g(e){return e===`activate`?{definition:this.#e,external:this.#t}:{definition:this.#n,external:this.#r}}#_(e,t,n,r,i){let a=e.get(t);if(!a)return!0;try{let e=a(n,r);return typeof e==`boolean`?e:(this.#d.getValidator()?.lifecycle.warnAsyncGuardSync(t,i),!1)}catch(e){return this.#d.logger.warn(`router.${i}`,`Guard for "${t}" threw — treated as navigation-blocking (returned false)`,e),!1}}};const Vn=new Set([`name`,`path`,`children`,`canActivate`,`canDeactivate`,`forwardTo`,`encodeParams`,`decodeParams`,`defaultParams`,`defaultSearch`]),Hn=Object.freeze,M=Object.create,Un=Object.hasOwn,N=Object.keys;function Wn(){return{decoders:M(null),encoders:M(null),defaultParams:M(null),defaultSearch:M(null),forwardMap:M(null),forwardFnMap:M(null)}}function Gn(e){return N(e.forwardMap).length>0||N(e.forwardFnMap).length>0}function Kn(e,t){for(let n of N(t))Object.assign(e[n],t[n])}function qn(e,t){for(let r in e)if(Un(t,r)&&!n.s(e[r],t[r]))return!1;return!0}function Jn(e){return typeof e==`string`?e:`<non-string>`}function Yn(e,t){for(let r in e)if(!n.s(e[r],t[r]))return!1;return!0}function Xn(e){let n={name:e.name,path:e.path};return e.children&&t.a(n,`children`,e.children.map(e=>Xn(e))),n}function Zn(e,t,n){if(n.add(t),e.children)for(let r of e.children)Zn(r,`${t}.${r.name}`,n)}function Qn(e,t,n=``){for(let r=0;r<e.length;r++){let i=e[r],a=n?`${n}.${i.name}`:i.name;if(a===t){e.splice(r,1);let t=new Set;return Zn(i,a,t),t}if(i.children&&t.startsWith(`${a}.`)){let e=Qn(i.children,t,a);if(e)return e}}}function $n(e,t){for(let n of N(e))t(n)&&delete e[n]}function er(e,t){let n=t.search(/[?#]/),r=n===-1?t:t.slice(0,n);if(r===`/`||r.endsWith(`/`))return t;let i=e.search(/[?#]/),a=i===-1?e:e.slice(0,i);return a.length>1&&a.endsWith(`/`)?`${r}/${n===-1?``:t.slice(n)}`:t}function tr(e){let t=[];for(let n of e)for(let e of n.paramMeta.urlParams)t.push(e);return t}function nr(e,t,n){let r=n.get(t);if(r!==void 0)return r;let i=e.getSegmentsByName(t),a=Hn(i?tr(i):[]);return n.set(t,a),a}function rr(e,t){return nr(e.matcher,t,e.urlParamsCache)}function ir(e,t,n,r){let i=r.get(t);if(i!==void 0)return i;let a=e.getDeclaredQueryParams(t),o=[];if(a){let r=nr(e,t,n);o=a.filter(e=>!r.includes(e))}let s=Hn(o);return r.set(t,s),s}function ar(e,t){return ir(e.matcher,t,e.urlParamsCache,e.queryParamsCache)}function or(e,t,n){let r=new Map,i=new Map;o(t.defaultParams,t=>ir(e,t,r,i),n)}function sr(e,t,n=100){let r=String(e),i=new Set,a=[r],o=r;for(;;){let e=t[o];if(!e)break;let r=String(e);if(i.has(r)){let e=a.indexOf(r),t=[...a.slice(e),r];throw Error(`Circular forwardTo: ${t.join(` → `)}`)}if(i.add(o),a.push(r),o=r,a.length>n)throw Error(`forwardTo chain exceeds maximum depth (${n}): ${a.join(` → `)}`)}return o}const cr=Object.freeze,P=Object.create,lr=Object.entries,F=Object.keys,ur=Object.defineProperty,dr=Object.fromEntries;function fr(e,t,n){let r=lt(``,t,e),i=Vt(n);return i.registerTree(r),{tree:r,matcher:i}}function pr(e,t=e.definitions){let n=fr(t,e.rootPath,e.matcherOptions);e.tree=n.tree,e.matcher=n.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear()}function mr(e,t){let n=fr(e.definitions,t,e.matcherOptions);or(n.matcher,e.config,`setRootPath`),e.rootPath=t,e.tree=n.tree,e.matcher=n.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear()}function hr(e,t){pr(e,t),I(e,vr(e.config))}function gr(e){_r(e),pr(e,[])}function _r(e){Object.assign(e.config,Wn()),I(e,P(null)),e.routeCustomFields=P(null)}function I(e,t){e.resolvedForwardMap=t,e.hasAnyForward=Gn(e.config)}function vr(e){let t=P(null);for(let n of F(e.forwardMap))t[n]=sr(n,e.forwardMap);return t}function yr(e,t){if(typeof e!=`function`)return;let n=e.constructor.name===`AsyncFunction`,r=e.toString().includes(`__awaiter`);if(n||r)throw TypeError(`forwardTo callback cannot be async for route "${t}". Async functions break matchPath/buildPath.`)}function br(e,t,n,r){if(e.canActivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;r.warn(`real-router`,`Route "${t}" has both forwardTo and canActivate. canActivate will be ignored because forwardTo creates a redirect (industry standard). Move canActivate to the target route "${n}".`)}if(e.canDeactivate){let n=typeof e.forwardTo==`string`?e.forwardTo:`[dynamic]`;r.warn(`real-router`,`Route "${t}" has both forwardTo and canDeactivate. canDeactivate will be ignored because forwardTo creates a redirect (industry standard). Move canDeactivate to the target route "${n}".`)}yr(e.forwardTo,t),typeof e.forwardTo==`string`?n.forwardMap[t]=e.forwardTo:n.forwardFnMap[t]=e.forwardTo}function xr(e,t,r,i,a,o,s){let c=dr(lr(e).filter(([e])=>!Vn.has(e)));if(F(c).length>0&&(i[t]=cr(c)),e.canActivate&&a.set(t,e.canActivate),e.canDeactivate&&o.set(t,e.canDeactivate),e.forwardTo&&br(e,t,r,s),e.decodeParams){let n=e.decodeParams;r.decoders[t]=e=>n(e)??e}if(e.encodeParams){let n=e.encodeParams;r.encoders[t]=e=>n(e)??e}e.defaultParams&&(r.defaultParams[t]=n.c(`defaultParams`,e.defaultParams)),e.defaultSearch&&(r.defaultSearch[t]=n.c(`defaultSearch`,e.defaultSearch))}function Sr(e,t,n,r,i,a,o=``){for(let s of e){let e=o?`${o}.${s.name}`:s.name;xr(s,e,t,n,r,i,a),s.children&&Sr(s.children,t,n,r,i,a,e)}}function Cr(e){let t=Wn();return Kn(t,e),t}function wr(e,t,n){if(n.length===0)return[...e,...t];let[r,...i]=n;return e.map(e=>{if(e.name!==r)return e;let n=e.children??[];return{...e,children:i.length===0?[...n,...t]:wr(n,t,i)}})}function Tr(e,t,n){for(let r of e){let e=t?`${t}.${r.name}`:r.name;n(e),r.children&&Tr(r.children,e,n)}}function Er(e,t,n){let r=new Set;Tr(e,t,e=>{if(r.has(e))throw Error(`[router.${n}] Duplicate route "${e}" in batch`);r.add(e)})}function Dr(e,t){if(Qt(e,t),e.startsWith(`@@`))throw Error(`[router.${t}] Route name "${e}" uses the reserved "@@" prefix. Routes with this prefix are internal and cannot be modified through the public API.`)}function L(e,t){for(let n of e)Dr(n.name,t),n.children&&L(n.children,t)}function R(t,n){for(let r of t)e.u(r.name,n),r.children&&R(r.children,n)}function z(t,n){for(let r of t)e.l(r.name,n),r.children&&z(r.children,n)}function Or(e,t,n){let r=new Map,i=(e,t)=>{for(let a of e){let e=r.get(t);if(e?.has(a.path))throw Error(`[router.${n}] Path "${a.path}" is already defined`);e?e.add(a.path):r.set(t,new Set([a.path])),a.children&&i(a.children,t?`${t}.${a.name}`:a.name)}};i(e,t)}function kr(e,t,n){if(L(t,`addRoute`),R(t,`addRoute`),z(t,`addRoute`),n!==void 0&&!e.matcher.hasRoute(n))throw Error(`[router.addRoute] Parent route "${n}" does not exist`);Tr(t,n??``,t=>{if(e.matcher.hasRoute(t))throw Error(`[router.addRoute] Route "${t}" already exists`)}),Er(t,n??``,`addRoute`),Or(t,n??``,`addRoute`)}function Ar({definitions:e,routesForHandlers:t,config:n,routeCustomFields:r,handlerParentName:i,rootPath:a,matcherOptions:o,logger:s}){let c=new Map,l=new Map;Sr(t,n,r,c,l,s,i);let u=vr(n),{tree:d,matcher:f}=fr(e,a,o);return{config:n,routeCustomFields:r,pendingCanActivate:c,pendingCanDeactivate:l,tree:d,matcher:f,resolvedForwardMap:u}}function jr(e,t,n,r){return Ar({definitions:wr(e.definitions,t.map(e=>Xn(e)),n===void 0?[]:n.split(`.`)),routesForHandlers:t,config:Cr(e.config),routeCustomFields:Object.assign(P(null),e.routeCustomFields),handlerParentName:n??``,rootPath:e.rootPath,matcherOptions:e.matcherOptions,logger:r})}function Mr(e,t,n,r){return Ar({definitions:e.map(e=>Xn(e)),routesForHandlers:e,config:Wn(),routeCustomFields:P(null),handlerParentName:``,rootPath:t,matcherOptions:n,logger:r})}function Nr(e,t,n){let r=[];for(let[i,a]of e)r.push([i,a,t(a,n)]);return r}function Pr(e,t){return{activate:Nr(e.pendingCanActivate,t.compileGuard,`canActivate`),deactivate:Nr(e.pendingCanDeactivate,t.compileGuard,`canDeactivate`)}}function Fr(e,t,n){let r=e.depsStore,{activate:i,deactivate:a}=n??Pr(t,r);Object.assign(e.config,t.config),e.routeCustomFields=t.routeCustomFields,e.tree=t.tree,e.matcher=t.matcher,e.urlParamsCache.clear(),e.queryParamsCache.clear(),I(e,t.resolvedForwardMap);for(let[e,t,n]of i)r.addActivateGuard(e,t,n);for(let[e,t,n]of a)r.addDeactivateGuard(e,t,n)}function B(e){return e===null?e:e||void 0}function Ir(e,t){return t==null?t:n.c(e,t)}function Lr(t,n,r,i){let{forwardTo:a,defaultParams:o,defaultSearch:s,decodeParams:c,encodeParams:l,canActivate:u,canDeactivate:d}=i,f=B(a),p=Ir(`defaultParams`,B(o)),m=Ir(`defaultSearch`,B(s)),h=B(c),g=B(l),_=B(u),v=B(d);p!=null&&e.g(`updateRoute`,r,p,ar(t,r),"this route's `defaultParams`","Move it to `defaultSearch`");let y=f===void 0?void 0:Rr(r,f,t.config),b=zr(t,r,i),x=_==null?void 0:n.compileGuardFactory(_,`canActivate`),S=v==null?void 0:n.compileGuardFactory(v,`canDeactivate`);return n.preflightHandlerLimit(x===void 0?[]:[r],S===void 0?[]:[r],!1),b!==void 0&&(F(b).length>0?t.routeCustomFields[r]=cr(b):delete t.routeCustomFields[r]),y!==void 0&&(t.config.forwardMap=y.forwardMap,t.config.forwardFnMap=y.forwardFnMap,I(t,y.resolved)),Vr(t,r,{defaultParams:p,defaultSearch:m,decodeParams:h,encodeParams:g}),Hr(n,`activate`,r,_,x),Hr(n,`deactivate`,r,v,S),{forwardTo:f,defaultParams:p,defaultSearch:m,decodeParams:h,encodeParams:g}}function Rr(e,t,n){yr(t,e);let r=Object.assign(P(null),n.forwardMap),i=Object.assign(P(null),n.forwardFnMap);return t===null?(delete r[e],delete i[e]):typeof t==`string`?(delete i[e],r[e]=t):(delete r[e],i[e]=t),{forwardMap:r,forwardFnMap:i,resolved:vr({...n,forwardMap:r})}}function zr(e,n,r){let i;for(let a of F(r)){if(Vn.has(a))continue;let o=r[a];o!==void 0&&(i??={...e.routeCustomFields[n]},o===null?delete i[a]:t.a(i,a,o))}return i}function Br(e,t,n){n!==void 0&&(n===null?delete e[t]:e[t]=n)}function Vr(e,t,n){if(Br(e.config.defaultParams,t,n.defaultParams),Br(e.config.defaultSearch,t,n.defaultSearch),n.decodeParams!==void 0){if(n.decodeParams===null)delete e.config.decoders[t];else{let r=n.decodeParams;e.config.decoders[t]=e=>r(e)??e}}if(n.encodeParams!==void 0){if(n.encodeParams===null)delete e.config.encoders[t];else{let r=n.encodeParams;e.config.encoders[t]=e=>r(e)??e}}}function Hr(e,t,n,r,i){r!==void 0&&(t===`activate`?r===null?e.clearCanActivate(n,`definition`):e.addCanActivate(n,r,!0,i):r===null?e.clearCanDeactivate(n,`definition`):e.addCanDeactivate(n,r,!0,i))}function Ur(e,t,n){let r=e;L(r,`addRoute`),R(r,`constructor`),z(r,`constructor`),Er(r,``,`addRoute`);let i=Mr(r,``,t,n),a={get definitions(){return dt(a.tree)},config:i.config,tree:i.tree,matcher:i.matcher,urlParamsCache:new Map,queryParamsCache:new Map,resolvedForwardMap:i.resolvedForwardMap,hasAnyForward:Gn(i.config),routeCustomFields:i.routeCustomFields,rootPath:``,matcherOptions:t,depsStore:void 0,lifecycleNamespace:void 0,revalidating:!1,pendingCanActivate:i.pendingCanActivate,pendingCanDeactivate:i.pendingCanDeactivate};return or(a.matcher,a.config,`addRoute`),ur(a,`matcherOptions`,{writable:!1,configurable:!1}),a}const Wr=Object.freeze,Gr=Object.keys,Kr=[];Object.freeze(Kr);function qr(e){let t=e.split(`.`),n=t.length,r=[t[0]],i=t[0].length;for(let a=1;a<n-1;a++)i+=1+t[a].length,r.push(e.slice(0,i));return r.push(e),r}const Jr=new Set([`string`,`number`,`boolean`]);function Yr(e){return Jr.has(typeof e)}function Xr(e,t,n,r){let i=t[e];if(!i||typeof i!=`object`)return!0;for(let e of Gr(i)){let t=n.params[e],i=r.params[e];if(Yr(t)&&Yr(i)&&String(t)!==String(i))return!1}return!0}function Zr(e,t,n,r,i,a){for(let o=0;o<a;o++){let a=r[o];if(a!==i[o]||!Xr(a,e,t,n))return o}return a}const Qr=new Map;function V(e){let t=Qr.get(e);if(t)return t;let n=$r(e);return Wr(n),Qr.set(e,n),n}function $r(e){if(!e)return[``];let t=e.indexOf(`.`);if(t===-1)return[e];let n=e.indexOf(`.`,t+1);if(n===-1)return[e.slice(0,t),e];let r=e.indexOf(`.`,n+1);return r===-1?[e.slice(0,t),e.slice(0,n),e]:e.indexOf(`.`,r+1)===-1?[e.slice(0,t),e.slice(0,n),e.slice(0,r),e]:qr(e)}let ei,ti,H=null,ni,ri,ii=null;function ai(e,t,n){if(!t)return{intersection:``,toActivate:V(e.name),toDeactivate:Kr};let r=n(e.name),i=n(t.name);if(!r&&!i)return{intersection:``,toActivate:V(e.name),toDeactivate:V(t.name)};let a=V(e.name),o=V(t.name),s=Math.min(o.length,a.length),c=Zr(r??i,e,t,a,o,s),l;if(c>=o.length)l=Kr;else if(c===0&&o.length===1)l=o;else{l=[];for(let e=o.length-1;e>=c;e--)l.push(o[e])}let u=c===0?a:a.slice(c);return{intersection:c>0?o[c-1]:``,toDeactivate:l,toActivate:u}}function U(e,t,n){if(H!==null&&e===ei&&t===ti)return H;if(ii!==null&&e===ni&&t===ri)return ii;let r=ai(e,t,n);return ni=ei,ri=ti,ii=H,ei=e,ti=t,H=r,r}const oi=Object.freeze,W=Object.hasOwn;function si(e,t){return{name:t??e.segments.at(-1).fullName,params:e.params,search:e.search,meta:e.meta}}function ci(e){return e===`preserve`?void 0:e}var li=class{#e;#t;#n;get#r(){return this.#e.depsStore}constructor(e,t,n){this.#e=Ur(e,t,n)}static shouldUpdateNode(e,t){return(n,r)=>{if(!(n&&typeof n==`object`&&`name`in n))throw TypeError(`[router.shouldUpdateNode] toState must be valid State object`);if(n.transition?.reload||e===``)return!0;let{intersection:i,toActivate:a,toDeactivate:o}=U(n,r,t);return e===i||a.includes(e)?!0:o.includes(e)}}isRevalidating(){return this.#e.revalidating}setDependencies(e){this.#e.depsStore=e}flushPendingGuards(){let e=this.#r;for(let[t,n]of this.#e.pendingCanActivate)e.addActivateGuard(t,n);this.#e.pendingCanActivate.clear();for(let[t,n]of this.#e.pendingCanDeactivate)e.addDeactivateGuard(t,n);this.#e.pendingCanDeactivate.clear()}setLifecycleNamespace(e){this.#e.lifecycleNamespace=e}setRootPath(e){mr(this.#e,e)}hasRoute(e){return this.#e.matcher.hasRoute(e)}clearRoutes(){gr(this.#e)}buildPath(e,n,r,i){if(e===t.p.UNKNOWN_ROUTE)return typeof n.path==`string`?n.path:``;let a=this.#e.config.encoders[e];if(typeof a==`function`){let t=a({params:{...n},search:{...r}});return this.#e.matcher.buildPath(e,t.params,t.search,this.#c(i))}return this.#e.matcher.buildPath(e,n,r,this.#c(i))}buildPathFromIntent(e,r,i){return e===t.p.UNKNOWN_ROUTE?this.#r.port.buildPath(e,n.m(r,t.l),i??t.u):k(O(this.#r.port,e,r,i,{resolveForward:!1}),this.#r.port)}matchPath(t,r){let i=r,a=this.#e.matcher.match(t);if(!a)return;let o=si(a),{name:s}=o,c=n.y(o.params),l=n.y(o.search),u=this.#e.config.decoders[s],d;typeof u==`function`?(d=u({params:c,search:l}),this.#r.getValidator()?.routes.validateStateBuilderArgs(s,d.params,`matchPath`),e.g(`matchPath`,s,d.params,this.getQueryParams(s),"the `params` returned by this route's `decodeParams`")):d={params:c,search:l};let f=O(this.#r.port,s,d.params,d.search),p=f.name;e._(`matchPath`,f.name,f.path,this.getQueryParams(f.name));let m=f.path,h=f.query,g=t;if(i.rewritePathOnMatch){let e=this.#e.config.encoders[p],n=typeof e==`function`?e({params:m,search:h}):{params:m,search:h},r=i.trailingSlash;try{g=this.#e.matcher.buildPath(p,n.params,n.search,{trailingSlash:ci(r),queryParamsMode:i.queryParamsMode}),r===`preserve`&&(g=er(t,g))}catch{g=t}}return A(f,g)}forwardState(e,n,r){let i=r??t.u;if(W(this.#e.config.forwardFnMap,e)){let t=this.#e.config.forwardFnMap[e],{target:r,chain:a,params:o}=this.#l(e,t,n);return this.#s(r,a,o,i)}let a=this.#e.resolvedForwardMap[e]??e;if(a!==e&&W(this.#e.config.forwardFnMap,a)){let t=this.#e.config.forwardFnMap[a],{target:r,chain:o,params:s}=this.#l(a,t,n);return this.#s(r,[...this.#o(e),...o],s,i)}return a===e?{name:e,params:n,search:i}:this.#s(a,this.#o(e),n,i)}buildStateResolved(e,t){let n=this.#e.matcher.getSegmentsByName(e);if(n)return si({segments:n,params:t,search:{},meta:this.#e.matcher.getMetaByName(e)},e)}isActiveRoute(e,n=t.l,r=t.u,i=!1,a=!0){if(this.#i(e,n,r,i,a))return!0;if(!this.#e.hasAnyForward)return!1;let o;try{o=typeof e==`string`?e:String(e)}catch{return!1}if(!W(this.#e.config.forwardMap,o)&&!W(this.#e.config.forwardFnMap,o))return!1;let s;try{s=this.forwardState(e,n,r)}catch(t){return this.#r.logger.warn(`router.isActiveRoute`,`Dynamic forwardTo of route "${Jn(e)}" threw while resolving the active-link destination; treating the link as inactive.`,t),!1}return this.#i(s.name,s.params,s.search,i,a)}getMetaForState(e){return this.#e.matcher.hasRoute(e)?this.#e.matcher.getMetaByName(e):void 0}getUrlParams(e){return rr(this.#e,e)}getQueryParams(e){return ar(this.#e,e)}getStore(){return this.#e}getPort(){return this.#r.port}#i(e,t,n,r,i){try{return this.#a(e,t,n,r,i)}catch(t){return this.#r.logger.warn(`router.isActiveRoute`,`Reading the arguments for route "${Jn(e)}" threw while resolving the active-link state; treating the link as inactive.`,t),!1}}#a(e,t,r,i,a){let o=this.#r.getState();if(!o)return!1;let s=o.name;if(s!==e&&!s.startsWith(`${e}.`)&&!e.startsWith(`${s}.`))return!1;let c=O(this.#r.port,e,t,r,{resolveForward:!1});if(i||s===e){let e=Tn(c,``);return!this.#r.areStatesEqual(e,o,!0)||!qn(c.path,o.params)?!1:a||n._(e.search,o.search)}return!(!s.startsWith(`${e}.`)||!qn(c.path,o.params)||!a&&!Yn(c.query,o.search))}#o(e){let t=[],n=e;for(;W(this.#e.config.forwardMap,n);)t.push(n),n=this.#e.config.forwardMap[n];return t}#s(e,r,i,a){let o,s;for(let e of r)o=n.d(this.#e.config.defaultParams[e],o),s=n.d(this.#e.config.defaultSearch[e],s);return{name:e,params:n.m(n.d(o,i),t.l),search:n.m(n.d(s,a),t.u)}}#c(e){return this.#t?(e!==this.#n&&this.#r.logger.warn(`router.buildPath`,"`options` differs from the cached source reference; router options are immutable per router instance, so the first-cached buildPath options are reused (#957)."),this.#t):(this.#n=e,this.#t=oi({trailingSlash:ci(e?.trailingSlash),queryParamsMode:e?.queryParamsMode}),this.#t)}#l(e,t,r){let i=n.r(r),a=new Set([e]),o=[e],s=t(this.#r.getDependency,i),c=0;if(typeof s!=`string`)throw TypeError(`forwardTo callback must return a string, got ${typeof s}`);for(;c<100;){if(this.#e.matcher.getSegmentsByName(s)===void 0)throw Error(`Route "${s}" does not exist`);if(a.has(s)){let e=[...a,s].join(` → `);throw Error(`Circular forwardTo: ${e}`)}if(a.add(s),W(this.#e.config.forwardFnMap,s)){let e=this.#e.config.forwardFnMap[s];o.push(s),s=e(this.#r.getDependency,i),c++;continue}let e=this.#e.config.forwardMap[s];if(e!==void 0){o.push(s),s=e,c++;continue}return{target:s,chain:o,params:i}}throw Error(`forwardTo exceeds maximum depth of 100`)}};const ui=new n.t(t.m.ROUTER_NOT_STARTED),di=new n.t(t.m.ROUTE_NOT_FOUND),fi=new n.t(t.m.SAME_STATES),pi=new n.t(t.m.ROUTER_NOT_STARTED,{message:`[router] cannot commit before the start navigation does — the boot would overwrite it; defer with queueMicrotask/await, or navigate after start() resolves`});Object.freeze(ui),Object.freeze(di),Object.freeze(fi),Object.freeze(pi);const G=Promise.reject(ui),mi=Promise.reject(di),hi=Promise.reject(fi),K=Promise.reject(pi);G.catch(()=>{}),mi.catch(()=>{}),hi.catch(()=>{}),K.catch(()=>{});const gi=new Set([t.m.SAME_STATES,t.m.TRANSITION_CANCELLED,t.m.ROUTER_NOT_STARTED,t.m.ROUTE_NOT_FOUND,t.m.CANNOT_ACTIVATE,t.m.CANNOT_DEACTIVATE,t.m.ROUTER_ALREADY_STARTED]);function _i(e){return e instanceof n.t&&gi.has(e.code)}const vi=new Set([G,mi,hi,K]),q=Object.freeze;function yi(e){let{fromState:t,toDeactivate:n,toActivate:r,intersection:i}=e;q(n),q(r);let a={phase:`activating`,reason:`success`,segments:q({deactivated:n,activated:r,intersection:i})};return t?.name!==void 0&&(a.from=t.name),e.reload!==void 0&&(a.reload=e.reload),e.replace!==void 0&&(a.replace=e.replace),e.redirected!==void 0&&(a.redirected=e.redirected),q(a)}function bi(e,r){let{toState:i,fromState:a,toDeactivate:o,toActivate:s}=r;if(i.name!==t.p.UNKNOWN_ROUTE&&!e.hasRoute(i.name)){let o=new n.t(t.m.ROUTE_NOT_FOUND,{routeName:i.name});throw e.sendTransitionFail(a,o,r),n.n(o)}let c=r,l={...i,transition:yi(r)},u=q(l);r.toState=u;let d=e.canCommitTransition(c);if(!d)throw n.n(new n.t(t.m.TRANSITION_CANCELLED));for(let t of o)!s.includes(t)&&r.canDeactivateFunctions.has(t)&&e.clearCanDeactivate(t,d);return e.sendTransitionDone(c),u}const xi=Object.entries;function Si(e){return e instanceof n.t&&e.code===t.m.TRANSITION_CANCELLED}function Ci(e){return Si(e)?e:new n.t(t.m.TRANSITION_CANCELLED,{reason:e})}function wi(e,n,r,i){let a=n;a.code!==t.m.TRANSITION_CANCELLED&&a.code!==t.m.ROUTE_NOT_FOUND&&e.sendTransitionFail(r,a,i)}function Ti(e,r,i){if(e instanceof DOMException&&e.name===`AbortError`)throw n.n(new n.t(t.m.TRANSITION_CANCELLED));if(Si(e))throw e;Ei(e,r,i)}function Ei(e,t,r){if(e instanceof n.t){let{code:r,message:i,...a}=e.toJSON(),o=new n.t(r,{...a,message:i});throw o.setCode(t),o.stack=e.stack??``,n.n(o)}throw n.n(new n.t(t,Oi(e,r)))}const Di=new Set([`code`,`segment`,`path`,`then`]);function Oi(e,n){let r={segment:n};if(e instanceof Error){let t=e.message,n=e.stack,i=`cause`in e?e.cause:void 0;return{...r,message:t,stack:n,...i!==void 0&&{cause:i}}}if(e&&typeof e==`object`){let n={};for(let[r,i]of xi(e))r!==`__proto__`&&!Di.has(r)&&t.a(n,r,i);return{...r,...n}}return r}async function ki(e,t,r){let i;try{i=await e}catch(e){Ti(e,t,r);return}if(!i)throw n.n(new n.t(t,{segment:r}))}function Ai(e,r,i,a,o,s,c,l,u,d){if(!u())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));if(e===1){let t=d();return t===void 0?void 0:{phase:e,index:r+1,pending:t}}let f=i[r],p=a.get(f);if(!p)return;let m=!1;try{m=p(s,c,l)}catch(e){Ti(e,o,f)}let h;try{h=m.then}catch(e){Ti(e,o,f)}if(typeof h==`function`){let t=m;return{phase:e,index:r+1,pending:new Promise((e,n)=>{Reflect.apply(h,t,[e,n])})}}if(!m)throw n.n(new n.t(o,{segment:f}))}function ji(e,n,r,i,a,o,s,c,l,u,d,f,p){let m=e===1,h=e===0;if(!m&&!(h?s:c))return;let g=h?a:o,_=m?1:g.length,v=h?r:i,y=h?t.m.CANNOT_DEACTIVATE:t.m.CANNOT_ACTIVATE;for(let t=n;t<_;t++){let n=Ai(e,t,g,v,y,l,u,d,f,p);if(n!==void 0)return n}}function Mi(e,t,n,r,i,a,o,s,c,l,u,d,f){for(let p=d;p<=2;p++){let m=ji(p,p===d?f:0,e,t,n,r,i,a,o,s,c,l,u);if(m!==void 0)return m}}async function Ni(e,n,r,i,a,o,s,c,l,u,d,f){let p=e;for(;p!==void 0;){if(p.phase===1)await p.pending;else{let e=p.phase===0;await ki(p.pending,e?t.m.CANNOT_DEACTIVATE:t.m.CANNOT_ACTIVATE,(e?i:a)[p.index-1])}p=Mi(n,r,i,a,o,s,c,l,u,d,f,p.phase,p.index)}}function Pi(e,t,n,r,i,a,o,s,c,l,u){let d=Mi(e,t,n,r,i,a,o,s,c,l,u,0,0);return d===void 0?void 0:Ni(d,e,t,n,r,i,a,o,s,c,l,u)}const Fi=Object.freeze,Ii=Object.freeze([]),Li=new Map;function Ri(e,t){return t?Fi({...e,replace:!0}):e}function zi(e,t,n,r){return!!e&&!t&&!n&&e.path===r.path}function Bi(e,t){if(e.size===0)return!1;for(let n of t)if(e.has(n))return!0;return!1}function Vi(e){let t=e.controller;if(t!==void 0)return t;let n=new AbortController;return e.cancelReason!==void 0&&n.abort(e.cancelReason),e.controller=n,n}function Hi(e,t){t.externalSignal!==void 0&&t.cancelReason===void 0&&t.hasGuards&&e.bridgeExternalSignal(t)}function Ui(e,r,i,a,o,s,c,l,u,d){Xi(e,s);let f=e.hasLeaveListeners()||e.hasPreCommitListeners(),p={toState:r,fromState:i,opts:a,suspendable:o!==void 0||f,forceDeactivate:d,toDeactivate:Ii,toActivate:Ii,intersection:``,canDeactivateFunctions:Li,canActivateFunctions:Li,shouldDeactivate:!1,shouldActivate:!1,hasGuards:!1,controller:void 0,cancelReason:void 0,detachExternalBridge:void 0,externalSignal:o,reload:c,replace:l,redirected:u};if(!e.startTransition(p))throw n.n(new n.t(t.m.TRANSITION_CANCELLED));return p}function Wi(e,t){return e.sendLeaveApprove(t),bi(e,t)}function Gi(e,n){let[r,i]=e.getLifecycleFunctions(),{toDeactivate:a,toActivate:o,intersection:s}=U(n.toState,n.fromState,t=>e.getMetaForState(t));n.canDeactivateFunctions=r,n.canActivateFunctions=i,n.toDeactivate=a,n.toActivate=o,n.intersection=s,n.shouldDeactivate=!!n.fromState&&!n.forceDeactivate&&a.length>0,n.shouldActivate=n.toState.name!==t.p.UNKNOWN_ROUTE&&o.length>0,n.hasGuards=n.shouldDeactivate&&Bi(r,a)||n.shouldActivate&&Bi(i,o)}function Ki(e,r,i){let a,o;try{a=e.getState();let s=n.g(i),c=s?.aborted===!0?s:void 0;i=n.o(i);let l=n.h(i,`reload`),u=n.h(i,`force`),d=n.h(i,`replace`),f=n.h(i,`redirected`),p=n.h(i,`forceDeactivate`)===!0,m=a?.name===t.p.UNKNOWN_ROUTE&&!d,h=m||d;if(i=Ri(i,m),zi(a,l,u,r))return e.emitTransitionError(r,a,fi),hi;let g=Ui(e,r,a,i,s,c,l,h,f,p);o=g;let _=g.externalSignal;if(_?.aborted===!0&&e.cancelNavigation(_.reason),Gi(e,g),Hi(e,g),!g.hasGuards&&!g.suspendable)return Wi(e,g);let{canDeactivateFunctions:v,canActivateFunctions:y,toDeactivate:b,toActivate:x,shouldDeactivate:S,shouldActivate:ee,hasGuards:te}=g,ne=r;if(!te){let t=Yi(e,g);if(t!==void 0)return t}if(te){let i=Vi(g),o=()=>!i.signal.aborted,s=i.signal,c=Pi(v,y,b,x,S,ee,r,a,s,o,()=>{if(e.sendLeaveApprove(g),e.hasLeaveListeners())return e.awaitLeaveListeners(ne,a,s)});if(c!==void 0)return qi(e,c,g,i);if(!o())throw n.n(new n.t(t.m.TRANSITION_CANCELLED))}return bi(e,g)}catch(t){let n=Ji(e,t,{nav:o,fromState:a});return Promise.reject(n)}}async function qi(e,r,i,a){let o=()=>!a.signal.aborted,s=i.externalSignal,c,l=!1,u,d=new Promise(e=>{if(a.signal.aborted){e();return}c=()=>{e()},a.signal.addEventListener(`abort`,c,{once:!0})});r.catch(()=>{});try{if(s?.aborted)throw n.n(new n.t(t.m.TRANSITION_CANCELLED,{reason:s.reason}));if(await Promise.race([r,d]),!o())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));let a=bi(e,i);return l=!0,a}catch(t){let n=o()?t:Ci(t);throw u=n,wi(e,n,i.fromState,i),n}finally{c&&a.signal.removeEventListener(`abort`,c),l||a.abort(u)}}function Ji(e,t,n){let{nav:r}=n;if(r?.controller?.abort(t),r!==void 0){let i=e.isTransitioning()?t:Ci(t);return wi(e,i,n.fromState,r),i}return t}function Yi(e,t){let{toState:n,fromState:r}=t;if(e.hasLeaveListeners()&&Vi(t),e.sendLeaveApprove(t),e.hasLeaveListeners()){let i=Vi(t),a;try{a=e.awaitLeaveListeners(n,r,i.signal)}catch(e){throw i.abort(e),e}return a===void 0?void 0:qi(e,a,t,i)}}function Xi(e,r){if(e.isTransitioning()&&(e.logger.warn(`router.navigate`,`Concurrent navigation detected on shared router instance. For SSR, use cloneRouter() to create isolated instance per request.`),e.cancelNavigation()),r!==void 0)throw n.n(new n.t(t.m.TRANSITION_CANCELLED,{reason:r.reason}))}const Zi=Object.freeze,Qi=Object.freeze([t.p.UNKNOWN_ROUTE]),$i=Object.freeze({replace:!0});function ea(e,r,i){Xi(e,void 0);let a=e.getState(),o=a?V(a.name).toReversed():[];Zi(o);let s={deactivated:o,activated:Qi,intersection:``};Zi(s);let c={phase:`activating`,...a&&{from:a.name},reason:`success`,replace:!0,segments:s};Zi(c);let l={name:t.p.UNKNOWN_ROUTE,params:t.l,search:t.u,path:r,transition:c,context:{}};if(Zi(l),i&&a!==void 0&&!e.canDeactivateCurrent(o,l,a)){let i=new n.t(t.m.CANNOT_DEACTIVATE,{path:r,message:`[router.navigateToNotFound] a canDeactivate guard on "${a.name}" refused to leave for ${r}`});throw e.emitTransitionError(void 0,a,i),n.n(i)}return e.systemCommit(l,a,$i)}function ta(e,t){return ea(e,t,!0)}function na(e,t){return ea(e,t,!1)}var ra=class{#e;#t;#n=0;setDependencies(e){this.#e=e,this.#t=t=>{_i(t)||e.logger.error(`router.navigate`,`Unexpected navigation error`,t)}}navigate(e,t,n,r){return this.#r(this.#i(e,t,n,r))}navigateToState(e,t){return this.#r(this.#a(e,t))}navigateToDefault(e){return this.#r(this.#s(e))}navigateToNotFound(e){return ta(this.#e,e)}revalidateToNotFound(e){return na(this.#e,e)}isPreparing(){return this.#n>0}#r(e){return e instanceof Promise&&!vi.has(e)&&e.catch(this.#t),e}#i(e,t,n,r){let i=this.#e;if(!i.canNavigate())return i.isStarting()?K:G;let a;this.#n++;try{a=i.buildNavigateState(e,t,n)}catch(e){return Promise.reject(e)}finally{this.#n--}return a?Ki(this.#e,a,r):(i.emitTransitionError(void 0,i.getState(),di),mi)}#a(r,i){let a=this.#e;if(!a.canNavigate())return a.isStarting()?K:G;let o=r.name;if(o!==t.p.UNKNOWN_ROUTE&&!a.hasRoute(o)){let e=new n.t(t.m.ROUTE_NOT_FOUND,{routeName:o});return a.emitTransitionError(void 0,a.getState(),e),Promise.reject(e)}let s=e.v(r.params,a.getQueryParams(o));if(s!==void 0){let r=new n.t(t.m.WRONG_CHANNEL,{routeName:o,message:`[router.navigateToState] ${e.y(o,s,"`state.params`")}`});return a.emitTransitionError(void 0,a.getState(),r),Promise.reject(r)}let c;try{c=this.#o(r,o)}catch(e){return Promise.reject(e)}return Ki(this.#e,c,i)}#o(e,r){let i={name:r,params:n.i(e.params,t.l),search:n.i(e.search,t.u),path:e.path,context:{...e.context},transition:t.s};return n.u(i)}#s(e){let r=this.#e;if(!r.getOptions().defaultRoute)return Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute not configured`}));let i,a,o;this.#n++;try{({route:i,params:a,search:o}=r.resolveDefault())}catch(e){return Promise.reject(e)}finally{this.#n--}return i?typeof i==`string`?this.#i(i,a,o,e):Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute did not resolve to a route name`})):Promise.reject(new n.t(t.m.ROUTE_NOT_FOUND,{routeName:`defaultRoute resolved to empty`}))}};const ia={},aa=Object.freeze({replace:!0});function oa(e){return[e,e?.reason].some(e=>e instanceof n.t&&e.code===t.m.ROUTE_NOT_FOUND)}var sa=class{#e;setDependencies(e){this.#e=e}async start(e){let r=this.#e;if(r.isIdle())throw n.n(new n.t(t.m.TRANSITION_CANCELLED));let i=r.getOptions();if(typeof e!=`string`)throw TypeError(`[router.start] path must be a string, got ${typeof e}`);let a=r.matchPath(e);if(!a&&!i.allowNotFound){let r=new n.t(t.m.ROUTE_NOT_FOUND,{path:e});throw n.n(r)}if(r.completeStart(),a)try{return await r.navigateToState(a,aa)}catch(t){if(!i.allowNotFound||!oa(t))throw t;return r.navigateToNotFound(e)}return r.navigateToNotFound(e)}};const ca={},la=Object.create,ua=Object.entries,da=Object.hasOwn,fa=Object.values,pa=new WeakMap;function ma(e,t,n){if(typeof n==`string`)return{target:n,when:void 0,update:void 0};let r=n.when,i=n.update;if(r!==void 0&&typeof r!=`function`)throw Error(`[FSM.constructor] transitions["${e}"]["${t}"].when is not a function`);if(i!==void 0&&typeof i!=`function`)throw Error(`[FSM.constructor] transitions["${e}"]["${t}"].update is not a function`);return{target:n.target,when:r,update:i}}function ha(e){let t=pa.get(e);if(t!==void 0)return t;let n=e,r=la(null);for(let[e,t]of ua(n)){let n=la(null);for(let[r,i]of ua(t))i!==void 0&&(n[r]=ma(e,r,i));r[e]=n}for(let e of fa(r))for(let t of fa(e))if(t!==void 0&&r[t.target]===void 0)throw Error(`[FSM.constructor] state "${t.target}" is not declared in config.transitions`);return pa.set(e,r),r}var ga=class{#e;#t;#n=0;#r=null;#i;#a;#o=[];constructor(e){let t=e.initial;if(this.#e=t,this.#i=e.context,this.#a=ha(e.transitions),this.#a[t]===void 0)throw Error(`[FSM.constructor] state "${t}" is not declared in config.transitions`);this.#t=this.#a[t]}send(e,t){let n=this.#t[e];if(n===void 0)return this.#e;let r=t,i=n.when;if(i!==void 0&&!i(this.#i,r))return this.#e;let a=n.target,o=n.update,s=this.#e;if(this.#e=a,this.#t=this.#a[a],o?.(this.#i,r),this.#r!==null){let t=this.#r.get(s)?.get(e);t!==void 0&&t(r)}if(this.#n>0){let t={from:s,to:a,event:e,payload:r};for(let e of this.#o)e!==null&&e(t)}return this.#e}canSend(e,t){let n=this.#t[e];return n===void 0?!1:n.when===void 0||n.when(this.#i,t)}getState(){return this.#e}getContext(){return this.#i}on(e,t,n){let r=this.#a[e];if(r===void 0)throw Error(`[FSM.on] state "${e}" is not declared in config.transitions`);if(!da(r,t))throw Error(`[FSM.on] event "${t}" has no edge from state "${e}"`);this.#r??=new Map;let i=this.#r.get(e);i||(i=new Map,this.#r.set(e,i));let a=n;return i.set(t,a),()=>{let n=this.#r?.get(e);n?.get(t)===a&&n.delete(t)}}onTransition(e){let t=this.#o.indexOf(null),n;t===-1?(n=this.#o.length,this.#o.push(e)):(this.#o[t]=e,n=t),this.#n++;let r=!0;return()=>{r&&(r=!1,this.#o[n]=null,this.#n--)}}};const J={IDLE:`IDLE`,STARTING:`STARTING`,READY:`READY`,TRANSITION_STARTED:`TRANSITION_STARTED`,LEAVE_APPROVED:`LEAVE_APPROVED`,DISPOSED:`DISPOSED`},Y={START:`START`,STARTED:`STARTED`,NAVIGATE:`NAVIGATE`,LEAVE_APPROVE:`LEAVE_APPROVE`,COMPLETE:`COMPLETE`,FAIL:`FAIL`,CANCEL:`CANCEL`,STOP:`STOP`,DISPOSE:`DISPOSE`,SYSTEM_COMMIT:`SYSTEM_COMMIT`};function _a(){return{inflight:void 0,current:void 0,previous:void 0}}const va=(e,t)=>t?.nav===void 0||t.nav===e.inflight,ya=(e,t)=>t!==void 0&&t===e.inflight&&t.externalSignal?.aborted!==!0,ba=(e,t)=>{e.previous=e.current,e.current=n.u(t)},xa=(e,t)=>{ba(e,t.toState),e.inflight=void 0},Sa=(e,t)=>{ba(e,t.toState)},Ca=e=>{e.previous=e.current,e.current=void 0},X=e=>{e.current=void 0,e.previous=void 0,e.inflight=void 0},wa=(e,t)=>{e.inflight=t},Ta={[J.IDLE]:{[Y.START]:J.STARTING,[Y.DISPOSE]:{target:J.DISPOSED,update:X}},[J.STARTING]:{[Y.STARTED]:J.READY,[Y.FAIL]:J.IDLE,[Y.STOP]:{target:J.IDLE,update:Ca},[Y.DISPOSE]:{target:J.DISPOSED,update:X}},[J.READY]:{[Y.NAVIGATE]:{target:J.TRANSITION_STARTED,update:wa},[Y.SYSTEM_COMMIT]:{target:J.READY,update:Sa},[Y.STOP]:{target:J.IDLE,update:Ca},[Y.DISPOSE]:{target:J.DISPOSED,update:X}},[J.TRANSITION_STARTED]:{[Y.NAVIGATE]:{target:J.TRANSITION_STARTED,update:wa},[Y.LEAVE_APPROVE]:J.LEAVE_APPROVED,[Y.CANCEL]:J.READY,[Y.FAIL]:{target:J.READY,when:va},[Y.DISPOSE]:{target:J.DISPOSED,update:X}},[J.LEAVE_APPROVED]:{[Y.NAVIGATE]:{target:J.TRANSITION_STARTED,update:wa},[Y.COMPLETE]:{target:J.READY,when:ya,update:xa},[Y.CANCEL]:J.READY,[Y.FAIL]:{target:J.READY,when:va},[Y.DISPOSE]:{target:J.DISPOSED,update:X}},[J.DISPOSED]:{}};function Ea(){return new ga({initial:J.IDLE,context:_a(),transitions:Ta})}const Da=Object.freeze,Z=`TREE_CHANGED`;function Oa(e){return e instanceof Error?e:Error(String(e))}function ka(e,r,i){return new Promise((a,o)=>{let s=()=>{let e=i.reason;o(e instanceof n.t&&e.code===t.m.TRANSITION_CANCELLED?e:new n.t(t.m.TRANSITION_CANCELLED,{reason:e}))};if(i.aborted){s();return}i.addEventListener(`abort`,s,{once:!0}),Promise.allSettled(e).then(e=>{if(i.removeEventListener(`abort`,s),i.aborted)return;if(r!==void 0){o(Oa(r));return}let t=e.find(e=>e.status===`rejected`);if(t!==void 0){o(Oa(t.reason));return}a()})})}function Aa(e,t,n){return e.addEventListener(`abort`,t,{once:!0}),()=>{n(),e.removeEventListener(`abort`,t)}}var ja=class{#e;#t;#n;#r=[];#i=0;constructor(e){this.#e=e.routerFSM,this.#t=e.emitter,this.#s()}static validateSubscribeListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribe] Expected a function. For Observable pattern use observable(router) from @real-router/rx`)}static validateSubscribeLeaveListener(e){if(typeof e!=`function`)throw TypeError(`[router.subscribeLeave] Expected a function`)}emitRouterStart(){this.#i++;try{this.#t.emit(t.h.ROUTER_START)}finally{this.#i--}}emitRouterStop(){this.#t.emit(t.h.ROUTER_STOP)}emitTransitionStart(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_START,e,n)}finally{this.#i--}}emitTransitionSuccess(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_SUCCESS,e,n,r)}finally{this.#i--}}emitTransitionError(e,n,r){this.#i++;try{this.#t.emit(t.h.TRANSITION_ERROR,e,n,r)}finally{this.#i--}}emitTransitionCancel(e,n){this.#i++;try{this.#t.emit(t.h.TRANSITION_CANCEL,e,n)}finally{this.#i--}}emitTransitionLeaveApprove(e,n){this.#i++;try{this.#t.emit(t.h.TRANSITION_LEAVE_APPROVE,e,n)}finally{this.#i--}}isProcessing(){return this.#i>0}emitTreeChanged(e){this.#t.emit(Z,e)}isEmittingTreeChanged(){return this.#t.isDispatching(Z)}subscribeTreeChanged(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));return this.#t.on(Z,t=>{e(t)})}treeChangedListenerCount(){return this.#t.listenerCount(Z)}sendStart(){this.#e.send(Y.START)}sendStop(){this.#e.send(Y.STOP)}sendDispose(){this.#e.send(Y.DISPOSE)}sendStarted(){this.#e.send(Y.STARTED)}sendNavigate(e){return this.#e.send(Y.NAVIGATE,e)===J.TRANSITION_STARTED}canCommitTransition(e){return this.#e.canSend(Y.COMPLETE,e)}sendComplete(e){this.#e.send(Y.COMPLETE,e)}sendLeaveApprove(e){this.#e.send(Y.LEAVE_APPROVE,e)}sendFail(e,t,n){this.#e.send(Y.FAIL,{nav:n,fromState:e,error:t})}sendCancel(e,t){this.#e.send(Y.CANCEL,{fromState:e,reason:t})}systemCommit(e){let{toState:r}=e,i=r.transition,a={name:r.name,params:n.i(r.params,t.l),search:n.i(r.search,t.u),path:r.path,context:{...r.context},...i!=null&&{transition:n.a(i)}};if(!this.#e.canSend(Y.SYSTEM_COMMIT))throw this.#o();return this.#e.send(Y.SYSTEM_COMMIT,{...e,toState:a}),a}canBeginTransition(){return this.#e.canSend(Y.NAVIGATE)}canStart(){return this.#e.canSend(Y.START)}canCancel(){return this.#e.canSend(Y.CANCEL)}isActive(){let e=this.#e.getState();return e!==J.IDLE&&e!==J.DISPOSED}isDisposed(){return this.#e.getState()===J.DISPOSED}isTransitioning(){let e=this.#e.getState();return e===J.TRANSITION_STARTED||e===J.LEAVE_APPROVED}isLeaveApproved(){return this.#e.getState()===J.LEAVE_APPROVED}isReady(){return this.#e.getState()===J.READY}isStarting(){return this.#e.getState()===J.STARTING}isIdle(){return this.#e.getState()===J.IDLE}addEventListener(e,t){return this.#a(e,`addEventListener`),this.#t.on(e,t)}subscribe(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));return this.#a(t.h.TRANSITION_SUCCESS,`subscribe`),this.#t.on(t.h.TRANSITION_SUCCESS,(t,n)=>e({route:t,previousRoute:n}))}subscribeLeave(e){if(this.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));this.#r.push(e);let r=!1;return()=>{if(r)return;r=!0;let t=this.#r.indexOf(e);t!==-1&&this.#r.splice(t,1)}}hasLeaveListeners(){return this.#r.length>0}hasPreCommitListeners(){return this.#t.listenerCount(t.h.TRANSITION_START)>0||this.#t.listenerCount(t.h.TRANSITION_LEAVE_APPROVE)>0}awaitLeaveListeners(e,t,n){if(t===void 0)return;let r=Da({route:t,nextRoute:e,signal:n}),i,a,o=[...this.#r];this.#i++;try{for(let e of o)try{let t=e(r);t!==void 0&&typeof t.then==`function`&&(i??=[],i.push(t))}catch(e){a===void 0&&(a=e)}}finally{this.#i--}if(i===void 0){if(a!==void 0)throw Oa(a);return}return ka(i,a,n)}clearAll(){this.#t.clearAll(),this.#r.length=0}setLimits(e){this.#t.setLimits(e)}setValidatorAccessor(e){this.#n=e}sendCancelIfPossible(e,t){this.canCancel()&&this.sendCancel(e,t)}bridgeExternalSignal(e){let t=e.externalSignal;return t===void 0||e.detachExternalBridge!==void 0||(e.detachExternalBridge=Aa(t,()=>{this.sendCancelIfPossible(this.#e.getContext().current,t.reason)},()=>{e.detachExternalBridge=void 0})),ca}#a(e,t){let n=this.#n?.();n&&n.eventBus.validateCountThresholds(this.#t.listenerCount(e)+1,e,t)}#o(){if(this.isDisposed())return new n.t(t.m.ROUTER_DISPOSED);let e;return e=this.isTransitioning()?`[router] cannot commit a state while a transition is in flight — the navigation in progress commits its own`:this.isStarting()?`[router] cannot commit before the start navigation does — the boot would overwrite it; await start() first`:`[router] cannot commit a state before the router has started`,new n.t(t.m.ROUTER_NOT_STARTED,{message:e})}#s(){let e=this.#e;e.on(J.STARTING,Y.STARTED,()=>{this.emitRouterStart()}),e.on(J.READY,Y.STOP,()=>{this.emitRouterStop()});let r=e=>{let t=e.externalSignal!==void 0&&(this.hasLeaveListeners()||this.hasPreCommitListeners())?this.bridgeExternalSignal(e):ca;this.emitTransitionStart(e.toState,e.fromState,t)};e.on(J.READY,Y.NAVIGATE,r),e.on(J.TRANSITION_STARTED,Y.NAVIGATE,r),e.on(J.LEAVE_APPROVED,Y.NAVIGATE,r),e.on(J.TRANSITION_STARTED,Y.LEAVE_APPROVE,e=>{this.emitTransitionLeaveApprove(e.toState,e.fromState)}),e.on(J.LEAVE_APPROVED,Y.COMPLETE,e=>{e.detachExternalBridge?.(),this.emitTransitionSuccess(e.toState,e.fromState,e.opts)});let i=e=>{let{fromState:r,reason:i}=e,a=this.#e.getContext().inflight,o=i??new n.t(t.m.TRANSITION_CANCELLED);a.cancelReason=o,a.controller?.abort(o),a.detachExternalBridge?.(),this.emitTransitionCancel(a.toState,r)};e.on(J.TRANSITION_STARTED,Y.CANCEL,i),e.on(J.LEAVE_APPROVED,Y.CANCEL,i),e.on(J.READY,Y.SYSTEM_COMMIT,e=>{this.emitTransitionSuccess(e.toState,e.fromState,e.opts)});let a=e=>{let t=this.#e.getContext().inflight;t?.detachExternalBridge?.(),this.emitTransitionError(t?.toState,e.fromState,e.error)};e.on(J.LEAVE_APPROVED,Y.FAIL,a),e.on(J.TRANSITION_STARTED,Y.FAIL,a),e.on(J.STARTING,Y.FAIL,e=>{this.emitTransitionError(void 0,e.fromState,e.error)})}};const Ma=new n.t(t.m.ROUTER_ALREADY_STARTED);Object.freeze(Ma);const Na={maxListeners:0,warnListeners:0};var Pa=class{#e=new Map;#t=new Set;#n=null;#r=Na;#i;#a;constructor(e){e?.limits&&(this.#r=e.limits),this.#i=e?.onListenerError??null,this.#a=e?.onListenerWarn??null}static validateCallback(e,t){if(typeof e!=`function`)throw TypeError(`Expected callback to be a function for event ${t}`)}setLimits(e){this.#r=e}on(e,t){let n=this.#e.get(e),r=n?.size??0;if(n?.has(t))throw Error(`Duplicate listener for "${e}"`);let{maxListeners:i,warnListeners:a}=this.#r;if(i!==0&&r>=i)throw Error(`Listener limit (${i}) reached for "${e}"`);a!==0&&r===a&&this.#a!==null&&(this.#n??=new Set,this.#n.has(e)||(this.#a(e,a),this.#n.add(e)));let o=n;return o===void 0&&(o=new Set,this.#e.set(e,o)),o.add(t),()=>{this.off(e,t)}}off(e,t){let n=this.#e.get(e);n&&(n.delete(t),n.size===0&&(this.#e.delete(e),this.#n?.delete(e)))}emit(e,t,n,r,i){let a=this.#e.get(e);if(!a||a.size===0||this.#t.has(e))return;let o=arguments.length-1;this.#t.add(e);try{if(a.size===1){let[s]=a;this.#o(e,s,o,t,n,r,i)}else{let s=[...a];for(let a of s)this.#o(e,a,o,t,n,r,i)}}finally{this.#t.delete(e)}}clearAll(){this.#e.clear(),this.#n=null}listenerCount(e){return this.#e.get(e)?.size??0}isDispatching(e){return this.#t.has(e)}#o(e,t,n,r,i,a,o){try{let s=this.#s(t,n,r,i,a,o),c=s?.then;typeof c==`function`&&new Promise((e,t)=>{c.call(s,e,t)}).catch(t=>{this.#i?.(e,t)})}catch(t){this.#i?.(e,t)}}#s(e,t,n,r,i,a){switch(t){case 0:return e();case 1:return e(n);case 2:return e(n,r);case 3:return e(n,r,i);default:return e(n,r,i,a)}}};const Fa=Object.freeze({log:0,warn:1,error:2}),Ia=Object.freeze({all:0,"warn-error":1,"error-only":2,none:3}),La=Object.hasOwn;var Ra=class{#e={level:`all`,callback:void 0,callbackIgnoresLevel:!1};#t=0;#n=!1;constructor(e){e&&this.configure(e)}configure(e){let t=un(e),n=t.level;n!==void 0&&(this.#e.level=n,this.#t=Ia[n]),La(t,`callback`)&&(this.#e.callback=t.callback),t.callbackIgnoresLevel!==void 0&&(this.#e.callbackIgnoresLevel=t.callbackIgnoresLevel)}getConfig(){return{level:this.#e.level,callback:this.#e.callback,callbackIgnoresLevel:this.#e.callbackIgnoresLevel}}log(e,t,...n){this.#r(`log`,e,t,n)}warn(e,t,...n){this.#r(`warn`,e,t,n)}error(e,t,...n){this.#r(`error`,e,t,n)}#r(e,t,n,r){if(this.#e.level===`none`&&!this.#e.callbackIgnoresLevel)return;let i=Fa[e]<this.#t;i||this.#i(e,t,n,r),this.#a(e,t,n,i,r)}#i(e,t,n,r){if(typeof console<`u`&&typeof console[e]==`function`){let i=t?`[${t}] ${n}`:n;console[e](i,...r)}}#a(e,t,n,r,i){if(!(!this.#e.callback||!this.#e.callbackIgnoresLevel&&r)&&!this.#n){this.#n=!0;try{let r=this.#e.callback(e,t,n,...i);r!=null&&typeof r.then==`function`&&Promise.resolve(r).catch(e=>{this.#o(`[Logger] Error in async callback:`,e)})}catch(e){this.#o(`[Logger] Error in callback:`,e)}finally{this.#n=!1}}}#o(e,t){typeof console<`u`&&typeof console.error==`function`&&console.error(e,t)}};function za(t){let n=Ba(t),r=Ka(t),i=()=>e.i(t.router).validator;Va(t),Ha(t,i),Ua(t,n,i),Wa(t,r,i),Ga(t,n,i),qa(t,r),Ja(t),Ya(t,r)}function Ba(e){let{router:t,dependenciesStore:n}=e,r=e=>n.dependencies[e];return e=>e(t,r)}function Va(e){e.dependenciesStore.limits=e.limits,e.eventBus.setLimits({maxListeners:e.limits.maxListeners,warnListeners:e.limits.warnListeners})}function Ha(e,t){e.eventBus.setValidatorAccessor(t)}function Ua(t,n,r){let i={logger:e.i(t.router).logger,compileFactory:n,getValidator:r};t.routeLifecycle.setDependencies(i)}function Wa(t,n,r){let i={logger:e.i(t.router).logger,getValidator:r,port:n,addActivateGuard:(e,n,r)=>{t.routeLifecycle.addCanActivate(e,n,!0,r)},addDeactivateGuard:(e,n,r)=>{t.routeLifecycle.addCanDeactivate(e,n,!0,r)},compileGuard:(e,n)=>t.routeLifecycle.compileGuardFactory(e,n),getState:()=>t.state.get(),areStatesEqual:(e,n,r)=>t.state.areStatesEqual(e,n,r),getDependency:e=>t.dependenciesStore.dependencies[e]};t.routes.setDependencies(i),t.routes.setLifecycleNamespace(t.routeLifecycle)}function Ga(t,n,r){let i={logger:e.i(t.router).logger,addEventListener:(e,n)=>t.eventBus.addEventListener(e,n),canNavigate:()=>t.eventBus.canBeginTransition(),compileFactory:n,getValidator:r};t.plugins.setDependencies(i)}function Ka(t){let n=e.i(t.router),r=t.routes.getStore(),i=(e,t)=>{n.validator?.state.reportUndeclaredParamKey(e,t)},a=(e,t)=>{n.validator?.state.reportDroppedQueryKey(e,t)};return{resolveForward:(e,t,r)=>n.forwardState(e,t,r),defaultParams:e=>r.config.defaultParams[e],defaultSearch:e=>r.config.defaultSearch[e],buildPath:(e,n,r)=>t.routes.buildPath(e,n,r,t.options.get()),queryNames:e=>t.routes.getQueryParams(e),pathNames:e=>t.routes.hasRoute(e)?t.routes.getUrlParams(e):void 0,admitsUndeclaredQuery:()=>t.options.get().queryParamsMode===`loose`,get reportDroppedQueryKey(){return n.validator?a:void 0},get reportUndeclaredParamKey(){return n.validator?i:void 0}}}function qa(t,n){let r={logger:e.i(t.router).logger,getOptions:()=>t.options.get(),hasRoute:e=>t.routes.hasRoute(e),getQueryParams:e=>t.routes.getQueryParams(e),getMetaForState:e=>t.routes.getMetaForState(e),getState:()=>t.state.get(),buildNavigateState:(r,i,a)=>{e.i(t.router).validator?.routes.validateStateBuilderArgs(r,i,`navigate`);let o=O(n,r,i,a,{diagnoseUndeclared:!0});if(t.routes.getMetaForState(o.name)!==void 0)return e._(`navigate`,o.name,o.path,n.queryNames(o.name)),A(o,k(o,n))},resolveDefault:()=>{let n=t.options.get(),r=e.i(t.router),i=bn(n.defaultRoute,e=>t.dependenciesStore.dependencies[e]),a=bn(n.defaultParams,e=>t.dependenciesStore.dependencies[e]),o=bn(n.defaultSearch,e=>t.dependenciesStore.dependencies[e]);return typeof n.defaultRoute==`function`&&r.validator?.options.validateResolvedDefaultRoute(i,r.routeGetStore()),{route:i,params:a,search:o}},startTransition:e=>t.eventBus.sendNavigate(e),systemCommit:(e,n,r)=>t.eventBus.systemCommit({toState:e,fromState:n,opts:r}),cancelNavigation:e=>{t.eventBus.sendCancelIfPossible(t.state.get(),e)},bridgeExternalSignal:e=>{t.eventBus.bridgeExternalSignal(e)},canCommitTransition:e=>t.eventBus.canCommitTransition(e)?ia:void 0,sendTransitionDone:e=>{t.eventBus.sendComplete(e)},sendTransitionFail:(e,n,r)=>{t.eventBus.sendFail(e,n,r)},emitTransitionError:(e,n,r)=>{t.eventBus.emitTransitionError(e,n,r)},sendLeaveApprove:e=>{t.eventBus.sendLeaveApprove(e)},canNavigate:()=>t.eventBus.canBeginTransition(),isStarting:()=>t.eventBus.isStarting(),getLifecycleFunctions:()=>t.routeLifecycle.getFunctions(),canDeactivateCurrent:(e,n,r)=>t.routeLifecycle.canNavigateTo(e,[],n,r),isTransitioning:()=>t.eventBus.isTransitioning(),clearCanDeactivate:(e,n)=>{t.routeLifecycle.clearCanDeactivate(e,`external`)},hasLeaveListeners:()=>t.eventBus.hasLeaveListeners(),hasPreCommitListeners:()=>t.eventBus.hasPreCommitListeners(),awaitLeaveListeners:(e,n,r)=>t.eventBus.awaitLeaveListeners(e,n,r)};t.navigation.setDependencies(r)}function Ja(e){e.lifecycle.setDependencies({getOptions:()=>e.options.get(),navigateToState:(t,n)=>e.navigation.navigateToState(t,n),navigateToNotFound:t=>e.navigation.navigateToNotFound(t),matchPath:t=>e.routes.matchPath(t,e.options.get()),completeStart:()=>{e.eventBus.sendStarted()},isIdle:()=>e.eventBus.isIdle()})}function Ya(e,t){e.state.setDependencies({port:()=>t,getUrlParams:t=>e.routes.getUrlParams(t)})}const Xa=Object.create,Za=Object.keys,Qa=Object.freeze;var $a=class r{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;constructor(i=[],a={},o={}){let{logger:s,...c}=a,l=new Ra(s?un(s):void 0);this.#f=e=>{_i(e)||l.error(`router.start`,`Unexpected start error`,e)},yn.validateOptionsIsObject(a),$t(o);let u=tn(i),d=io(c);this.#r=to(c),this.#e=new yn(d),this.#t=fn(d.limits),this.#n=d.limits==null?void 0:Qa(Za(d.limits)),this.#i=hn(o),this.#a=new En,this.#o=new li(u,co(this.#e.get()),l),this.#s=new Bn,this.#c=new Nn,this.#l=new ra,this.#u=new sa;let f=Ea();this.#a.setContext(f.getContext());let p=new Pa({onListenerError:(e,t)=>{l.error(`Router`,`Error in listener for ${e}:`,t)},onListenerWarn:(e,t)=>{l.warn(`router.addEventListener`,`Event "${e}" has ${t} listeners — possible memory leak`)}});this.#d=new ja({routerFSM:f,emitter:p});let m=new Map,h=e=>{let t=e.params,r=e.search;return{name:e.name,params:t==null?t:n.y(t),search:r==null?r:n.y(r)}},g=e.r(e.t.forwardState,(e,t,n)=>this.#o.forwardState(e,t,n),m,h,no),_=((r,i,a)=>{let o=g(r,i,a),s=o.name,c=o.params;e.g(`forwardState`,s,c,this.#o.getQueryParams(s),()=>s===r?"the `params` bag leaving the forwardState chain":`the \`params\` bag leaving the forwardState chain (forwarded here from "${r}")`);let l=o.search,u=l==null;return{name:s,params:n.y(c??t.l),search:u?l:n.y(l)}}),v=e.r(e.t.forwardState,(e,t,n)=>({name:e,params:t,search:n}),m,h,no);this.#p=(e,n,r)=>{let i=v(e,n,r),a=i.params,o=i.search;return this.#o.buildPathFromIntent(i.name,a??t.l,o)},e.a(this,{logger:l,makeState:(e,t,n,r)=>this.#a.makeState(e,t,n,r),getMetaForState:e=>this.#o.getMetaForState(e),getQueryParams:e=>this.#o.getQueryParams(e),forwardState:_,buildStateResolved:(e,t)=>this.#o.buildStateResolved(e,t),port:()=>this.#o.getPort(),matchPath:(e,t)=>this.#o.matchPath(e,t),getOptions:()=>this.#e.get(),getAdoptedOrigins:()=>this.#r,addEventListener:(e,t)=>this.#d.addEventListener(e,t),treeChanged:{emit:e=>{this.#d.emitTreeChanged(e)},subscribe:e=>this.#d.subscribeTreeChanged(e),listenerCount:()=>this.#d.treeChangedListenerCount(),isEmitting:()=>this.#d.isEmittingTreeChanged()},emitTransitionError:e=>{this.#d.emitTransitionError(void 0,this.#a.get(),e)},navigateToNotFound:e=>this.#l.navigateToNotFound(e),revalidateToNotFound:e=>this.#l.revalidateToNotFound(e),start:e.n(e.t.start,e=>this.#u.start(e),m),navigateToState:(e,n)=>(this.#g(),r.#m(this.#l.navigateToState(e,n??t.c))),interceptors:m,setRootPath:e=>{this.#o.setRootPath(e)},getRootPath:()=>this.#o.getStore().rootPath,getTree:()=>this.#o.getStore().tree,isDisposed:()=>this.#d.isDisposed(),validator:null,dependenciesGetStore:()=>this.#i,getCloneState:()=>({options:{...this.#e.get()},dependencies:n.l({...this.#i.dependencies}),pluginFactories:this.#c.getAll(),loggerConfig:l.getConfig(),limits:this.#t,limitKeys:this.#n}),routeGetStore:()=>this.#o.getStore(),getStateName:()=>this.#a.get()?.name,isTransitioning:()=>this.#d.isTransitioning(),systemCommit:(e,t,n)=>this.#d.systemCommit({toState:e,fromState:t,opts:n}),routerExtensions:[],contextClaimRecords:new Map,hydrationState:null}),za({router:this,options:this.#e,limits:this.#t,dependenciesStore:this.#i,state:this.#a,routes:this.#o,routeLifecycle:this.#s,plugins:this.#c,navigation:this.#l,lifecycle:this.#u,eventBus:this.#d}),this.isActiveRoute=this.isActiveRoute.bind(this),this.buildPath=this.buildPath.bind(this),this.getState=this.getState.bind(this),this.getPreviousState=this.getPreviousState.bind(this),this.areStatesEqual=this.areStatesEqual.bind(this),this.shouldUpdateNode=this.shouldUpdateNode.bind(this),this.isActive=this.isActive.bind(this),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.dispose=this.dispose.bind(this),this.canNavigateTo=this.canNavigateTo.bind(this),this.usePlugin=this.usePlugin.bind(this),this.navigate=this.navigate.bind(this),this.navigateToDefault=this.navigateToDefault.bind(this),this.navigateToNotFound=this.navigateToNotFound.bind(this),this.subscribe=this.subscribe.bind(this),this.subscribeLeave=this.subscribeLeave.bind(this),this.isLeaveApproved=this.isLeaveApproved.bind(this);try{this.#o.flushPendingGuards()}catch(e){throw this.dispose(),e}}isActiveRoute(t,n,r,i,a){let o=e.i(this);return o.validator?.routes.validateIsActiveRouteArgs(t,n,i,a),o.validator?.navigation.validateSearch(r,`isActiveRoute`),o.validator?.routes.validateRouteName(t,`isActiveRoute`),t===``?(o.logger.warn(`real-router`,`isActiveRoute("") called with empty string. Root node is not considered a parent of any route.`),!1):this.#o.isActiveRoute(t,n,r,i,a)}buildPath(r,i,a){let o=e.i(this);o.validator?.routes.validateBuildPathArgs(r,i),o.validator?.navigation.validateParamsShape(i,`buildPath`),o.validator?.navigation.validateSearch(a,`buildPath`);let s=n.r(i);return o.validator?.navigation.validateParams(s,`buildPath`),this.#p(r,s??t.l,a)}getState(){return this.#a.get()}getPreviousState(){return this.#a.getPrevious()}areStatesEqual(t,n,r=!0){return e.i(this).validator?.state.validateAreStatesEqualArgs(t,n,r),this.#a.areStatesEqual(t,n,r)}shouldUpdateNode(t){return e.i(this).validator?.routes.validateShouldUpdateNodeArgs(t),li.shouldUpdateNode(t,e=>this.#o.getMetaForState(e))}isActive(){return this.#d.isActive()}start(e){let t=this.#h(e);return t.catch(this.#f),t}stop(){return this.#d.sendCancelIfPossible(this.#a.get()),!this.#d.isReady()&&!this.#d.isTransitioning()&&!this.#d.isStarting()||this.#d.sendStop(),this}dispose(){if(this.#d.isDisposed())return;this.#d.sendCancelIfPossible(this.#a.get()),(this.#d.isReady()||this.#d.isTransitioning())&&this.#d.sendStop(),this.#d.sendDispose(),this.#d.clearAll(),this.#c.disposeAll();let t=e.i(this);for(let e of t.routerExtensions)for(let t of e.keys)delete this[t];t.routerExtensions.length=0,t.contextClaimRecords.clear(),t.interceptors.clear(),this.#o.clearRoutes(),this.#s.clearAll(),this.#i.dependencies=Xa(null),this.#v()}canNavigateTo(r,i,a){let o=e.i(this);o.validator?.routes.validateRouteName(r,`canNavigateTo`),o.validator?.navigation.validateParamsShape(i,`canNavigateTo`),o.validator?.navigation.validateSearch(a,`canNavigateTo`);let s;try{s=n.r(i)}catch(e){return o.logger.warn(`router.canNavigateTo`,`Reading the params bag for route "${r}" threw; treating the route as unreachable.`,e),!1}if(o.validator?.navigation.validateParams(s,`canNavigateTo`),!this.#o.hasRoute(r)||e.v(i,this.#o.getQueryParams(r))!==void 0)return!1;let c=this.#o.getPort(),l;try{l=O(c,r,s??t.l,a)}catch(e){return o.logger.warn(`router.canNavigateTo`,`Resolving route "${r}" threw while answering the predicate; treating the route as unreachable.`,e),!1}let u;try{u=A(l,k(l,c))}catch{return!1}let d=this.#a.get(),{toDeactivate:f,toActivate:p}=U(u,d,e=>this.#o.getMetaForState(e));return this.#s.canNavigateTo(f,p,u,d)}usePlugin(...r){if(this.#d.isDisposed())throw n.n(new n.t(t.m.ROUTER_DISPOSED));let i=r.filter(Boolean);if(i.length===0)return()=>{};let a=e.i(this);a.validator?.plugins.validatePluginLimit(this.#c.count(),this.#t);for(let e of i)a.validator?.plugins.validateNoDuplicatePlugins(e,this.#c.getAll());return this.#c.use(...i)}subscribe(e){return ja.validateSubscribeListener(e),this.#d.subscribe(e)}subscribeLeave(e){return ja.validateSubscribeLeaveListener(e),this.#d.subscribeLeave(e)}isLeaveApproved(){return this.#d.isLeaveApproved()}navigate(i,a,o,s){this.#g();let c=e.i(this),l,u,d,f;typeof i==`object`&&i?(l=i.name,u=i.params,d=i.search,f=a??t.c):(l=i,u=a,d=o,f=s??t.c),e.o(c,`navigate`,l,u),c.validator?.navigation.validateNavigateArgs(l),c.validator?.navigation.validateParamsShape(u,`navigate`),c.validator?.navigation.validateSearch(d,`navigate`),c.validator?.navigation.validateNavigationOptions(f,`navigate`);let p;try{p=n.r(u)}catch(e){return Promise.reject(e)}return c.validator?.navigation.validateParams(p,`navigate`),r.#m(this.#l.navigate(l,p??t.l,d,f))}navigateToDefault(n){this.#g();let i=e.i(this);i.validator?.navigation.validateNavigateToDefaultArgs(n);let a=n??t.c;return i.validator?.navigation.validateNavigationOptions(a,`navigateToDefault`),r.#m(this.#l.navigateToDefault(a))}navigateToNotFound(e){if(this.#g(),!this.#d.isActive())throw n.n(new n.t(t.m.ROUTER_NOT_STARTED));if(e!==void 0&&typeof e!=`string`)throw TypeError(`[router.navigateToNotFound] path must be a string, got ${typeof e}`);if(e!==void 0)return this.#l.navigateToNotFound(e);let r=this.#a.get();if(r===void 0)throw n.n(new n.t(t.m.ROUTER_NOT_STARTED,{message:`[router.navigateToNotFound] cannot derive the path before the start navigation commits — pass an explicit path`}));return this.#l.navigateToNotFound(r.path)}static#m(e){return e instanceof Promise?e:Promise.resolve(e)}#h(t){if(!this.#d.canStart())return Promise.reject(Ma);e.i(this).validator?.navigation.validateStartArgs(t),this.#d.sendStart();let n;try{let r=e.i(this).start(t);n=typeof r?.then==`function`?r:Promise.reject(TypeError("[router.start] a `start` interceptor returned without calling next(). Every start interceptor must return `next(path)`."))}catch(e){n=Promise.reject(e)}return n.catch(e=>this.#_(e))}#g(){if(this.#d.isProcessing())throw n.n(new n.t(t.m.REENTRANT_NAVIGATION,{message:`[router] cannot start a navigation from inside a router event listener — the nested navigation would commit a state the outer one overwrites. Defer it: queueMicrotask(() => router.navigate(...)), await the current transition, or use an async listener.`}));if(this.#l.isPreparing())throw n.n(new n.t(t.m.REENTRANT_NAVIGATION,{message:`[router] cannot start a navigation from inside a forwardState interceptor, a route's encodeParams or dynamic forwardTo callback, or a defaultRoute/defaultParams/defaultSearch option callback — they run while a navigation is being prepared, before it is announced. Defer it: queueMicrotask(() => router.navigate(...)).`}));if(this.#o.isRevalidating())throw n.n(new n.t(t.m.REENTRANT_NAVIGATION,{message:`[router] cannot start a navigation from inside replace()'s revalidation — the revalidation would then defer to a commit that may never happen. Defer it: queueMicrotask(() => router.navigate(...)).`}))}#_(e){throw this.#d.isReady()&&this.#a.get()===void 0?this.#d.sendStop():this.#d.isStarting()&&this.#d.sendFail(void 0,e),e}#v(){this.navigate=Q,this.navigateToDefault=Q,this.navigateToNotFound=Q,this.start=Q,this.stop=Q,this.usePlugin=Q,this.subscribe=Q,this.subscribeLeave=Q,this.canNavigateTo=Q}};function Q(){throw n.n(new n.t(t.m.ROUTER_DISPOSED))}function eo(e){return ro(e)&&!Object.isFrozen(e)&&e!==gn.defaultParams&&e!==gn.defaultSearch}function to(e){let{defaultParams:t,defaultSearch:n}=e;return Qa({...eo(t)&&{defaultParams:new WeakRef(t)},...eo(n)&&{defaultSearch:new WeakRef(n)}})}function no(e,t,r){return[e,n.r(t),n.r(r)]}function ro(e){return typeof e==`object`&&!!e}function io(e){let t={...e};return e.limits!=null&&(t.limits=n.c(`limits`,e.limits)),ro(e.defaultParams)&&(t.defaultParams=n.c(`defaultParams`,e.defaultParams)),ro(e.defaultSearch)&&(t.defaultSearch=n.c(`defaultSearch`,e.defaultSearch)),t}const ao=Object.freeze({});function $(e,t){let n;try{n=t[e]}catch(t){throw TypeError(`[router.constructor] Invalid "queryParams.${e}": reading it threw.`,{cause:t})}if(n!=null){if(typeof n==`string`)return n;try{return String(n)}catch(t){throw TypeError(`[router.constructor] Invalid "queryParams.${e}": its value cannot be converted to a string.`,{cause:t})}}}function oo(e){if(e==null)return`default`;try{return String(e)}catch(e){throw TypeError(`[router.constructor] Invalid "urlParamsEncoding": coercing it threw.`,{cause:e})}}function so(e){if(!e)return ao;let t=$(`arrayFormat`,e),n=$(`booleanFormat`,e),r=$(`nullFormat`,e),i=$(`numberFormat`,e);return Qa({...t!==void 0&&{arrayFormat:t},...n!==void 0&&{booleanFormat:n},...r!==void 0&&{nullFormat:r},...i!==void 0&&{numberFormat:i}})}function co(e){return Qa({strictTrailingSlash:e.trailingSlash===`strict`,caseSensitive:e.caseSensitive,strictQueryParams:e.queryParamsMode===`strict`,urlParamsEncoding:oo(e.urlParamsEncoding),queryParams:so(e.queryParams)})}Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return mn}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return dt}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return tn}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return en}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return Zt}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return Qn}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return gr}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return kr}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return Kn}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return Or}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return jr}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return Pr}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return hr}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return nn}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return Xt}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Lr}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Mr}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return Er}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $a}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Dr}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return sr}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return $n}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return or}});
2
+ //# sourceMappingURL=Router-DBjhxn9b.js.map