@fox-js/fox 3.1.1-7 → 3.1.1-8
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.
- package/libs/index.cjs.js +2 -2
- package/libs/index.esm.d.ts +20 -21
- package/libs/index.esm.js +3 -4
- package/libs/index.umd.js +2 -2
- package/package.json +1 -1
package/libs/index.cjs.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";/*!
|
|
2
|
-
* fox v3.1.0
|
|
3
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("vue"),he=typeof window<"u",$=function(){return window},Ve=function(){return window.document};function hr(r){let e=r,t=e.lastIndexOf("/");return t>0&&t<e.length-1?e=e.substring(0,t+1):t===0&&e.indexOf(".")!==-1?e="/":t===-1&&(e.indexOf(".")==-1?e=`/${e}/`:e="/"),e.indexOf("/")!==0&&(e=`/${e}`),e}function wt(){if(!he)return"/";let r=$().location,e=`${r.protocol}//${r.host}`;return e+=hr(r.pathname),e}function at(r,e,t,s=!1){r.addEventListener?r.addEventListener(e,t,s):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function zt(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}const Je=(r,e,t)=>{e=e??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in e)a==="bubbles"?n=!!e[a]:a==="cancelable"?i=!!e[a]:s[a]=e[a];s.initEvent(r,n,i),(t??document).dispatchEvent(s)},yr=Array.isArray,dr=r=>ht(r)==="[object Map]",pr=r=>ht(r)==="[object Set]",mr=r=>r instanceof Date,x=r=>typeof r=="function",gr=r=>typeof r=="string",vr=r=>typeof r=="symbol",_s=r=>r!==null&&typeof r=="object",wr=r=>_s(r)&&x(r.then)&&x(r.catch),Ue=r=>r==null,br=Object.prototype.toString,ht=r=>br.call(r),Ks=r=>ht(r)==="[object Object]",xr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Gt(r){return r.__esModule||xr&&r[Symbol.toStringTag]==="Module"}const Rr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function F(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,s=r.length,n=!1;for(typeof e=="boolean"&&(n=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<s;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[t];for(let o in i){let a=e[o],l=i[o];if(a!==l)if(n===!0&&l&&typeof l=="object"){let u;Array.isArray(l)?u=a&&Array.isArray(a)?a:[]:u=a&&typeof a=="object"?a:{},e[o]=F(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function yt(r,e,t=!1){if(!t)F(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s of Reflect.ownKeys(e)){let n=r[s],i=e[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!Ks(i))continue;n=yt(n,i,t),r[s]=n}else{if(typeof i=="function")continue;r[s]=i}}}return r}class ie{static seed=new Date().getTime();static get(){let e=++ie.seed;return e>=Number.MAX_VALUE&&(ie.seed=0),e}}const bt=Rr?Promise.resolve():null;function Ie(r,...e){bt!==null?e&&e.length>0?bt.then(()=>{r(e)}):bt.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function Xt(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":!!r}function Sr(r){return typeof r=="number"?r:Number(r)}const Pr={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Object]":"object"};function Dt(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Pr[t]||"object"}function Ht(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Dt(r),s=Dt(e);if(t!==s)return!1;if(t==="object"){let n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o],l=r[a],u=e[a];if(!Ht(l,u))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++){let i=r[n],o=e[n];if(!Ht(i,o))return!1}return!0}return!1}const js=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=js(s)),typeof t=="symbol"?e[String(t)]=s:e[t]=s}return e},Cr=/^Symbol\((.*)\)$/,qs=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=qs(s));const n=Cr.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=s}else e[t]=s}return e};function Ls(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{t=null,Reflect.apply(r,null,[...s])},e)}}const us=Symbol("idKey"),ye=Symbol("valueKey"),R=Symbol("childrenKey"),J=Symbol("growKey");class ks{[J]=!0;[us];[ye]=g.ref();[R]=new Map;constructor(e){this[us]=e}}class Er{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[J];let s=e[R].get(t);if(s)return De(s);if(e[J])return s=Yt(t),s[J]=e[J],e[R].set(t,s),De(s)}set(e,t,s){return t=="value"?(e[ye].value=s,!0):t==="grow"?(e[J]=Xt(s),!0):s==null?(e[R].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[R].delete(t),!0)}}const Qt="__proxy__";function Yt(r){const e=new ks(r);return Reflect.set(e,Qt,new Proxy(e,new Er)),e}function De(r){return Reflect.get(r,Qt)}let $r=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ue(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage,t&&typeof t=="object"&&Object.assign(this.state,t)}init(e){this.restore(e),this.initFlag=!0}getStorage(){if(!this.persistPolicy)return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(he){const t=$();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,s=JSON.stringify(this.state??{});e.setItem(t,s)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_bus_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(this.state,i),Reflect.ownKeys(this.state).forEach(a=>{if(typeof a!="string")return;const l=this.state[a],u=a.split(/\//g);u.push(l),Reflect.apply(e.put,e,u)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n=e[t-1];this.state[s]=n,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===s||o.startsWith(s)||(n[o]=this.state[o]))}),this.state=n,this.saveState()}catch(t){console.error(t)}}clear(){if(this.initFlag)try{this.state={},this.removeState()}catch(e){console.error(e)}}};class Os extends ks{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new $r(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let s=this;for(let n=0;n<t-1;n++){let i=e[n],o;s[R].has(i)?o=s[R].get(i):(o=Yt(i),s[R].set(i,o)),s=o}return s[ye].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let s=this;for(let n=0;n<t;n++){let i=e[n];if(s[R].has(i))s=s[R].get(i);else return}return s[ye].value}remove(...e){let t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){const o=e[i];if(s[R].has(o))s=s[R].get(o);else return!1}const n=e[t-1];return s[R].has(n)?(s[R].delete(n),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){let o=e[i];if(s[R].has(o))s=s[R].get(o);else return!1}const n=e[t-1];return s[R].has(n)}clear(){this[R].clear(),this._persistHandler.clear()}}const Fr=["put","get","contains","remove","clear","_persistHandler"];function cs(r){return Fr.includes(r)}class Ar{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[J];if(t===R)return e[R];if(typeof t=="string"&&cs(t))return e[t];const s=String(t);let n=e[R].get(s);if(n)return De(n);if(e[J])return n=Yt(s),n[J]=e[J],e[R].set(s,n),De(n)}set(e,t,s){return t=="value"?(e[ye].value=s,!0):t==="grow"?(e[J]=Xt(s),!0):cs(t)?!1:s==null?(e[R].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[R].delete(t),!0)}}function Tr(r,e){const t=new Os(r,e),s=new Ar,n=new Proxy(t,s);return Reflect.set(t,Qt,n),t}const Ut=new Proxy(Os,{construct(r,e){const t=e[0]??{},s=e[1],n=Tr(t,s);return De(n)}}),Zt=r=>!r||typeof r!="object"?!0:Reflect.ownKeys(r).length===0;class Ms{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ue(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage}getStorage(){if(!this.persistPolicy)return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(he){const t=$();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null||Zt(e))return;const s=`_state_${this.name}`,n=JSON.stringify(e??{});t.setItem(s,n)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null)return;const t=`_state_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_state_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(e,i)}}}function Is(r,e,t){const s=new Ms(t);s.restore(e);const n=l=>{const u=g.toRaw(l),c={};for(let f in u){const h=u[f];Ue(h)||(c[f]=h)}Zt(c)?s.removeState():s.saveState(c)};let i=null;if(t&&t.debounce===!1)i=n;else{const l=t&&t.debounceDelay?t.debounceDelay:250;i=Ls(n,l)}const o=r?g.shallowReactive(e):g.reactive(e);return g.effectScope(!0).run(()=>{g.watch(o,l=>{const u=g.toRaw(l);i(u)})}),o}function _r(r,e){return Is(!1,r,e)}function Kr(r,e){return Is(!0,r,e)}function jr(r,e){const t=new Ms(e);t.restore(r);const s=a=>{const l=g.toRaw(a),u={};for(let c in l){const f=l[c];Ue(f)||(u[c]=f)}Zt(u)?t.removeState():t.saveState(u)};let n=null;if(e&&e.debounce===!1)n=s;else{const a=e&&e.debounceDelay?e.debounceDelay:250;n=Ls(s,a)}const i={get(a,l){return a[l]},set(a,l,u){return a[l]=u,n(a),!0}};return new Proxy(r,i)}function qr(r,e){return jr(r,e)}const X="default",Ns=Symbol("sync"),O=Symbol("resolveRoute");function fs(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function Lr(r){let e=r.src;return new Promise((t,s)=>{const n=fs(a=>{Gt(a)&&(a=a.default),r.component=a,console.debug("success load async module"),t()}),i=fs(a=>{console.debug("reject load async module"),s(a)});let o;try{o=e(n,i)}catch(a){i(a)}if(o)if(typeof o.then=="function")o.then(n,i);else{const a=o.component;a&&typeof a.then=="function"&&a.then(n,i)}})}class kr{name;level;rootName;rootIndex=0;constructor(e,t,s,n){this.name=e,this.level=t,this.rootName=s,this.rootIndex=n}}class Re{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){const t=new Re(e.to,e.from),s=e.data??{};return F(!0,t.data,s),t}static clear(e){for(let t in e)e[t]=void 0}}class S{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??X}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(e,t){let s=new S;return yt(s,e,t),s}static isSame(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!==t.path||e.name&&e.name!==t.name||e.root!==t.root||e.index!==t.index)}static isSameForRouteModel(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!=t.path||e.name&&e.name!=t.name)}static from(e){let t=new S;if(e==null)return t;let s=t;for(let i in e){let o=e[i];s[i]=o}const n=Object.getOwnPropertySymbols(e);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=e[i];return t}}class Or{id;name;props;meta;src;component;constructor(e,t,s,n){this.id=ie.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=s,this.meta=n}get isResolved(){return this.component!==void 0}resolve(){return Lr(this)}}class hs{models=[]}class xt{path;match;redirect;name;layers=[]}var E=(r=>(r[r.Push=0]="Push",r[r.Replace=1]="Replace",r[r.Put=2]="Put",r[r.Append=3]="Append",r[r.Open=4]="Open",r))(E||{});const Ds="FoxBeforeEnter",Hs="FoxEnter",Us="FoxLeave",Bs="FoxLeave",ut="FoxLeaveEnd",I=Symbol("chainKey"),k=Symbol("cursorKey"),Rt=Symbol("$persistentModeKey"),C=Symbol("statusKey"),z=Symbol("argsKey"),We=Symbol("exArgsKey"),ge=Symbol("successFnsKey"),Fe=Symbol("errorFnsKey"),ne=Symbol("sessionKey"),G=Symbol("_go");class He{[I]=[];[k]=0;[Rt]=!1;[C]="Free";[z]=[];[We]=[];[ge]=[];[Fe]=[];[ne];get session(){return this[ne]}constructor(e,t=!1){this[ne]=e,this[Rt]=t}[G](e,...t){let s=this[C];if(this[C]="Busy",this[k]+=e,this[k]<0&&(this[k]=0),this[z]=t,s==="Exception"||s==="Reject"){let a=[{session:this[ne]},...this[We]];for(;this[Fe].length>0;)try{let l=this[Fe].shift();typeof l=="function"&&Ie(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[C]=s,this[I]=[],this[k]=0,this}else if(s==="Finished"||this[k]>=this[I].length){let a=[{session:this[ne]},...this[z]];for(;this[ge].length>0;){let l=this[ge].shift();typeof l=="function"&&Ie(()=>{Reflect.apply(l,{},a)})}return this[C]="Free",this}if(this[k]>=this[I].length)return this[C]="Free",this;let n=this[I][this[k]];this[Rt]||(this[I].splice(0,this[k]+1),this[k]=-1);let i=this[k]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[G],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[G],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[I].splice(i,0,l),i++)},session:this[ne]};Ie(()=>{Reflect.apply(n,{},[a,...this[z]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[G],this,[e,...t])}finish(...e){return this[C]="Finished",this[z]=e,Reflect.apply(this[G],this,[0])}reject(...e){return this[C]="Reject",this[We]=e,Reflect.apply(this[G],this,[0])}throw(...e){return this[C]="Exception",this[We]=e,Reflect.apply(this[G],this,[0])}reset(...e){this[C]="Busy",this[z]=e,this[I]=[],this[k]=0;let s=[{session:this[ne]},...this[z]];for(;this[ge].length>0;){let n=this[ge].shift();Ie(()=>{Reflect.apply(n,this,s)})}return this[C]="Free",this}post(e){return this[C]==="Reject"||this[C]==="Exception"?this:(Array.isArray(e)?this[I]=[...this[I],...e]:this[I].push(e),this[C]==="Busy"?this:(Reflect.apply(this[G],this,[0,...this[z]]),this))}wait(e,t){return e&&typeof e=="function"&&this[ge].push(e),t&&typeof t=="function"&&this[Fe].push(t),this[C]==="Busy"?this:(Reflect.apply(this[G],this,[0,...this[z]]),this)}exception(e){return e&&typeof e=="function"&&this[Fe].push(e),this[C]==="Busy"?this:Reflect.apply(this[G],this,[0,...this[z]])}isFinish(){return this[C]=="Reject"||this[C]=="Free"&&this[k]>=this[I].length}}const ve=Symbol("registerKey");class Mr{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Bt{[ve]=new Map;constructor(){}on(e,t,s=!1){let n=this[ve].get(e);n||(n=new Array,this[ve].set(e,n));let i=s===!0?1:0,o=new Mr(t,i);return n.push(o),this}off(e,t){if(!t)return this[ve].delete(e),this;let s=this[ve].get(e);if(s){for(let n=0;n<s.length;n++)if(s[n].callback===t){s.splice(n,1);break}}return this}bind(e,t,s=!1){return this.on(e,t,s)}unbind(e,t){return this.off(e,t)}once(e,t){return this.on(e,t,!0)}all(...e){let t=e.length;if(t<1)return this;let s=e[t-1];if(typeof s!="function")return console.error("callback can not benn empty"),this;let n=t-1,i=new Array(n),o=[].splice.call(e,0,n);for(let a=0;a<o.length;a++)this.once(o[a],l=>{i[a]=l,n-=1,n==0&&Reflect.apply(s,{},i)});return this}emit(e,...t){let s=this[ve].get(e);if(!s)return this;for(let n=0;n<s.length;){let i=s[n];if(i.policy==1?s.splice(n,1):n++,typeof i.callback=="function")try{Ie(()=>{Reflect.apply(i.callback,{},t)})}catch(o){console.error(o.message,o)}}return this}trigger(e,...t){return Reflect.apply(this.emit,this,[e,...t])}}const Ae=Symbol("registerKey");class Ir{[Ae]=new Map;constructor(){}set(e,t){this[Ae].set(e,t)}get(e){return this[Ae].get(e)}has(e){return this[Ae].has(e)}delete(e){return this[Ae].delete(e)}}const fe=Symbol("lc");function ct(r,e=!1){let t=r;if(Reflect.has(t,fe))return t[fe];if(e){const s=new Ir;return t[fe]=s,s}return null}function Vs(r,e=!1){let t=null,s=r;for(;s&&!(Reflect.has(s,fe)&&(t=s[fe],t));)s=s.$parent;if(!t&&e){const n=r;n&&n.$parent&&(t=ct(n.$parent,e))}return t}function es(r,e){let t=r;for(;t;){if(Reflect.has(t,fe)){const s=t[fe];if(s.has(e))return s.get(e)}t=t.$parent}return null}function Nr(r,e,t){Vs(r,!0)?.set(e,t)}function Dr(r,e){Vs(r,!0)?.delete(e)}function ys(r){if(Array.isArray(r.children)&&r.children.length>0){let e=r.children[0];if(e!=null&&e.component!=null&&e.component.proxy!=null)return ct(e.component.proxy,!1)}return null}const ft=Symbol("hooksKey");function Hr(r){let e=r.get(ft);e||(e=[],r.set(ft,e))}function ds(r,e){let t=r.get(ft);if(t!=null)for(let s=t.length-1;s>=0;s--){let n=t[s];if(n.type===e)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var Vt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(Vt||{});class Ur{type;hook;target;constructor(e,t,s){this.target=s,this.hook=t,this.type=e}}function Br(r,e,t,s){let n=new Ur(e,t,s);return r.push(n),!0}function Vr(r,e,t,s){let n=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===s){n=i;break}}return n!=-1?(r.splice(n,1),!0):!1}function Js(r){return(e,t)=>{let s;if(t)s=t;else{const i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=es(s,ft);if(n==null){console.warn("hooks context not found");return}g.onUnmounted(()=>{Vr(n,r,e,s)}),Br(n,r,e,s)}}const Jr=Js("a"),Wr=Js("da"),Ws=Symbol("routeKey");function ps(r,e){r.set(Ws,e)}function ts(r){let e=es(r,Ws);return typeof e=="function"?e():e??null}const dt=Symbol("rk"),St=Symbol("vd"),ms=Symbol("rv"),Pt=Symbol("rvi"),gs=Symbol("pv"),Ct=Symbol("pvi");var de={};Object.defineProperty(de,"__esModule",{value:!0});de.TokenData=void 0;de.parse=pt;var zr=de.compile=tn,Gr=de.match=nn;de.pathToRegexp=an;const Xr="/",ss=r=>r,Qr=/^\p{XID_Continue}$/u,Ne="https://git.new/pathToRegexpError",Yr={"!":"!","@":"@",";":";",",":",","*":"*","+":"+","?":"?","{":"{","}":"}"};function Zr(r){const e=[...r],t=[];let s=0;for(;s<e.length;){const n=e[s],i=Yr[n];if(i){t.push({type:i,index:s++,value:n});continue}if(n==="\\"){t.push({type:"ESCAPED",index:s++,value:e[s++]});continue}if(n===":"){let o="";for(;Qr.test(e[++s]);)o+=e[s];if(!o)throw new TypeError(`Missing parameter name at ${s}`);t.push({type:"NAME",index:s,value:o});continue}if(n==="("){const o=s++;let a=1,l="";if(e[s]==="?")throw new TypeError(`Pattern cannot start with "?" at ${s}`);for(;s<e.length;){if(e[s]==="\\"){l+=e[s++]+e[s++];continue}if(e[s]===")"){if(a--,a===0){s++;break}}else if(e[s]==="("&&(a++,e[s+1]!=="?"))throw new TypeError(`Capturing groups are not allowed at ${s}`);l+=e[s++]}if(a)throw new TypeError(`Unbalanced pattern at ${o}`);if(!l)throw new TypeError(`Missing pattern at ${o}`);t.push({type:"PATTERN",index:s,value:l});continue}t.push({type:"CHAR",index:s,value:e[s++]})}return t.push({type:"END",index:s,value:""}),new en(t)}class en{constructor(e){this.tokens=e,this.index=0}peek(){return this.tokens[this.index]}tryConsume(e){const t=this.peek();if(t.type===e)return this.index++,t.value}consume(e){const t=this.tryConsume(e);if(t!==void 0)return t;const{type:s,index:n}=this.peek();throw new TypeError(`Unexpected ${s} at ${n}, expected ${e}: ${Ne}`)}text(){let e="",t;for(;t=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)e+=t;return e}modifier(){return this.tryConsume("?")||this.tryConsume("*")||this.tryConsume("+")}}class Be{constructor(e,t){this.tokens=e,this.delimiter=t}}de.TokenData=Be;function pt(r,e={}){const{encodePath:t=ss,delimiter:s=t(Xr)}=e,n=[],i=Zr(r);let o=0;do{const a=i.text();a&&n.push(t(a));const l=i.tryConsume("NAME"),u=i.tryConsume("PATTERN");if(l||u){n.push({name:l||String(o++),pattern:u});const h=i.peek();if(h.type==="*")throw new TypeError(`Unexpected * at ${h.index}, you probably want \`/*\` or \`{/:foo}*\`: ${Ne}`);continue}if(i.tryConsume("*")){n.push({name:String(o++),pattern:`(?:(?!${Ce(s)}).)*`,modifier:"*",separator:s});continue}if(i.tryConsume("{")){const h=i.text(),y=i.tryConsume("NAME"),d=i.tryConsume("PATTERN"),p=i.text(),m=i.tryConsume(";")&&i.text();i.consume("}");const w=i.modifier();n.push({name:y||(d?String(o++):""),prefix:t(h),suffix:t(p),pattern:d,modifier:w,separator:m});continue}i.consume("END");break}while(!0);return new Be(n,s)}function tn(r,e={}){const t=r instanceof Be?r:pt(r,e);return rn(t,e)}function sn(r,e){if(typeof r=="string")return()=>r;const t=e||ss,s=r.modifier==="+"||r.modifier==="*",n=r.modifier==="?"||r.modifier==="*",{prefix:i="",suffix:o="",separator:a=o+i}=r;if(e&&s){const u=(f,h)=>{if(typeof f!="string")throw new TypeError(`Expected "${r.name}/${h}" to be a string`);return t(f)},c=f=>{if(!Array.isArray(f))throw new TypeError(`Expected "${r.name}" to be an array`);return f.length===0?"":i+f.map(u).join(a)+o};return n?f=>{const h=f[r.name];return h==null?"":h.length?c(h):""}:f=>{const h=f[r.name];return c(h)}}const l=u=>{if(typeof u!="string")throw new TypeError(`Expected "${r.name}" to be a string`);return i+t(u)+o};return n?u=>{const c=u[r.name];return c==null?"":l(c)}:u=>{const c=u[r.name];return l(c)}}function rn(r,e){const{encode:t=encodeURIComponent,loose:s=!0,validate:n=!0,strict:i=!1}=e,o=zs(e),a=rs(s,r.delimiter),l=Xs(r,a,[],o,i),u=r.tokens.map((c,f)=>{const h=sn(c,t);if(!n||typeof c=="string")return h;const y=new RegExp(`^${l[f]}$`,o);return d=>{const p=h(d);if(!y.test(p))throw new TypeError(`Invalid value for "${c.name}": ${JSON.stringify(p)}`);return p}});return function(f={}){let h="";for(const y of u)h+=y(f);return h}}function nn(r,e={}){const{decode:t=decodeURIComponent,loose:s=!0}=e,n=r instanceof Be?r:pt(r,e),i=rs(s,n.delimiter),o=[],a=Gs(n,o,e),l=o.map(u=>{if(t&&(u.modifier==="+"||u.modifier==="*")){const{prefix:c="",suffix:f="",separator:h=f+c}=u,y=new RegExp(i(h),"g");return d=>d.split(y).map(t)}return t||ss});return function(c){const f=a.exec(c);if(!f)return!1;const{0:h,index:y}=f,d=Object.create(null);for(let p=1;p<f.length;p++){if(f[p]===void 0)continue;const m=o[p-1],w=l[p-1];d[m.name]=w(f[p])}return{path:h,index:y,params:d}}}function Ce(r){return r.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function on(r,e){const t=Ce(r);return e?`(?:${t})+(?!${t})`:t}function rs(r,e){if(!r)return Ce;const t=new RegExp(`(?:(?!${Ce(e)}).)+|(.)`,"g");return s=>s.replace(t,on)}function zs(r){return r.sensitive?"":"i"}function Gs(r,e,t){const{trailing:s=!0,loose:n=!0,start:i=!0,end:o=!0,strict:a=!1}=t,l=zs(t),u=rs(n,r.delimiter),c=Xs(r,u,e,l,a);let f=i?"^":"";return f+=c.join(""),s&&(f+=`(?:${u(r.delimiter)})?`),f+=o?"$":`(?=${Ce(r.delimiter)}|$)`,new RegExp(f,l)}function Xs(r,e,t,s,n){const i=`(?:(?!${Ce(r.delimiter)}).)+?`;let o="",a=!0;return r.tokens.map((l,u)=>{if(typeof l=="string")return o=l,e(l);const{prefix:c="",suffix:f="",separator:h=f+c,modifier:y=""}=l,d=e(c),p=e(f);if(l.name){const m=l.pattern?`(?:${l.pattern})`:i,w=ln(m,l.name,s);if(a||(a=Et(w,c||o)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}": ${Ne}`);if(a=!n||Et(w,f),o="",t.push(l),y==="+"||y==="*"){const v=y==="*"?"?":"",_=e(h);if(!_)throw new TypeError(`Missing separator for "${l.name}": ${Ne}`);if(a||(a=!n||Et(w,h)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}" separator: ${Ne}`);return a=!n,`(?:${d}(${m}(?:${_}${m})*)${p})${v}`}return`(?:${d}(${m})${p})${y}`}return`(?:${d}${p})${y}`})}function ln(r,e,t){try{return new RegExp(`^${r}$`,t)}catch(s){throw new TypeError(`Invalid pattern for "${e}": ${s.message}`)}}function Et(r,e){return e?!r.test(e):!1}function an(r,e={}){const t=r instanceof Be?r:pt(r,e),s=[],n=Gs(t,s,e);return Object.assign(n,{keys:s})}var it=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(it||{});const V=Symbol("rootKey"),B=Symbol("rootNodeKey"),ce=Symbol("parentNodeKey"),ot=Symbol("nameKey");class te{instance=null;model;route;active=!0;index=0;constructor(e,t,s=0,n=!0){this.route=e,this.model=t,this.index=s,this.active=n}}class Te{_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[ot];[V];[B]=null;[ce]=null;get name(){return this[ot]}constructor(e,t,s){this[ot]=e,this[V]=t,s&&(this[B]=s)}}class N{view;index;level;constructor(e,t,s){this.view=e,this.index=t,this.level=s}static include(e,t){for(let s=0;s<e.length;s++){let n=e[s];if(n.view===t.view&&(t.index==-1||n.index===t.index)&&n.level===t.level)return!0}return!1}}class $t{views=[]}class un{layers=[]}class cn{time;route}class fn{forbidTime=300;submitRecorder=new cn;isSameRoute(e,t){return e==null||t==null?!1:e.name===t.name&&e.path===t.path&&e.root===t.root}acquire(e){let t=new Date().getTime();if(this.isSameRoute(e,this.submitRecorder.route)&&this.submitRecorder.time&&t-this.submitRecorder.time<=this.forbidTime){this.submitRecorder.time=t;return}return this.submitRecorder.route=e,this.submitRecorder.time=t,t}release(e){this.submitRecorder.time===e&&(this.submitRecorder.route=void 0)}}const Se=Symbol("_notifyChange");class vs{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const le=Symbol("historyChangeConsumerKey"),ws=Symbol("_navigateFirstRoute"),ze=Symbol("_getRouteMark"),Ft=Symbol("_getUrlSearch"),At=Symbol("_generateLocation"),Ge=Symbol("_setRouteMarkRecorder"),_e=Symbol("beforeRestoreFiltersKey"),bs=Symbol("_beforeRestore"),xs="Symbol(_fox_restore_point)";function Ke(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}function Rs(r){if(!Array.isArray(r))return!1;if(r.length===0)return!0;const e=r[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class Qs{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[le]=!1;[_e]=new Array;backTimeout=320;constructor(e="hash",t="",s="",n=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=s,this.firstNavigate=n,this.historyMonitor=i,this.traceless=o,this.storage=a??$().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=$();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[le]=="function"){const s=this[le]();if(this[le]=!1,s)return}else if(this[le]===!0){this[le]=!1;return}if(Ke(this.historyMonitor)){const s=t.history.state;this[Se](s);try{let n=[];if(typeof s=="string"?n=JSON.parse(s):n=s,Array.isArray(n)&&n.length>0){const i=this[ze]()??"/";this[Ge](i,n)}}catch{}}}),at(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[ws](),Promise.resolve()}destroy(){if(this.historyChange){const e=$();zt(e,"popstate",this.historyChange)}}[bs](e,t,s,n){for(let i of this[_e])try{const o=Reflect.apply(i,{},[e,t,s,n]);if(o===!1)return o}catch(o){console.error(o.message,o)}return!0}beforeRestoreEach(e){this[_e].push(e)}removeBeforeRestoreEach(e){const t=this[_e].indexOf(e);return t!==-1?(this[_e].splice(t,1),!0):!1}[ws](){const e=this[ze]()??"/",t=this.storage.getItem(xs);if(t)try{const o=JSON.parse(t);if(o.mark===e&&Array.isArray(o.routes)&&o.routes.length>0){const a=o.routes.filter((l,u)=>(l.params=l.params?qs(l.params):{},this[bs](l,u,e,o.routes)));if(a.length>0){const l=this[Ft](),u=a.length-1;a[u].query=l||a[u].query,this[Se](a);return}}}catch{}const s=e.indexOf("!");let n;s!=-1?n=e.substring(s+1):n=e;const i=new S;i.path=n,i.query=this[Ft](),this[Se]([i])}[Ge](e,t){try{t.forEach(i=>{i.params=i.params?js(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(xs,n)}catch(s){console.error(s.message,s)}}setRestorePoint(e){const t=this[ze]()??"/";this[Ge](t,e)}[Se](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[ze](){const e=$();if(this.mode==="path"){let t=e.location.pathname;return this.base&&t.indexOf(this.base)===0&&(t=t.substring(this.base.length)),t}else{const t=e.location.hash,s=t.indexOf("#");if(s!=-1)return t.substring(s+1)}return null}[Ft](){let t=$().location.search;return t.length>0&&t.indexOf("?")===0&&(t=t.substring(1)),t}listen(e){this.changeHandler=e}go(e,t=!1){const s=$();this[le]=t,s.history.go(e)}goBack(e,t){const s=$(),n=s.history.state;if(Rs(n)&&n.length>0){let i=!1;for(let c=n.length-1;c>=0;c--){const f=S.from(n[c]);if(!(f.historyUpdatePolicy==="traceless"||Ke(this.traceless,f))&&S.isSame(f,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{s.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const f=$().history.state;if(Rs(f)&&f.length>0){let h=f.length;const y=f[h-1],d=S.from(y);if(S.isSame(d,e))return t(),!0;if(h>0){let p=!1;for(let m=h-1;m>=0;m--){const w=S.from(f[m]);if(!(w.traceless===!0||Ke(this.traceless,w))&&S.isSame(w,e)){p=!0;break}}return p?(setTimeout(()=>{a=setTimeout(l,o),this.go(-1,u)},0),!0):(t(),!0)}}return t(),!0};a=setTimeout(l,o),this.go(-1,u)}else t()}setRouteMark(e){const t=e.currentRoute.fullPath;this[Ge](t,e.routes)}push(e){const t=this[At](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Ke(this.traceless,e.currentRoute)&&$().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[At](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Ke(this.traceless,e.currentRoute))&&$().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[At](e){const t=$();let s="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),c=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=c}else a=e.query;this.query?(s=a.length>0?`${this.query}&${a}`:this.query,s.length>0&&s.charAt(0)!=="?"&&(s=`?${s}`)):a.length>0&&(s=`?${a}`)}const n=t.location;let i=e.alias??e.fullPath;i.startsWith(X)&&(i=i.substring(X.length+1));let o;return s?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${s}`:o=`${this.base}/${i}${s}`:o=`${n.pathname}${s}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${n.pathname}#${i}`,`${n.origin}${o}`}}function hn(r=!0,e=null,t="",s=!0,n=!1,i){return e!==null&&(e=$().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new Qs("path",e??"",t,r,s,n,i)}function Ys(r=!0,e="",t=!0,s=!1,n){return new Qs("hash","",e,r,t,s,n)}class yn{maxSize=50;cursor=-1;queue=[];changeHandler;base;historyMonitor=!1;traceless=!1;constructor(e,t=50){this.base=e,this.maxSize=t}init(e=!0){return Promise.resolve()}destroy(){this.queue=[]}beforeRestoreEach(e){}removeBeforeRestoreEach(e){return!1}listen(e){this.changeHandler=e}[Se](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let s=this.cursor+e;if(s<0?s=0:s>this.queue.length-1&&(s=this.queue.length-1),s!=this.cursor){this.cursor=s;let n=!1;if(typeof t=="function"?n=t():n=t,!n){const i=this.queue[s];this[Se](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let s=0;if(e===null)s=this.cursor+1;else for(let n=this.cursor;n>=0;n--){const i=this.queue[n];if(S.isSame(i.currentRoute,e))break;s++}if(s===0){t();return}this.go(-s,()=>(t(),!0))}setRouteMark(e){}push(e){this.queue.length>=this.maxSize&&this.queue.splice(0,1),this.queue.push(e),this.cursor=this.queue.length-1}replace(e){let t=this.queue.length-this.cursor;this.queue.splice(this.cursor,t),this.queue[this.cursor]=e}setRestorePoint(e){}}function Zs(r="",e=50){return new yn(r,e)}const Xe=Symbol("_constructRouteModel"),Qe=Symbol("_findRouteModel"),Tt=Symbol("_findRootView"),Ss=Symbol("_getFirstView"),ae=Symbol("_removeView"),Ps=Symbol("_buildPage"),Cs=Symbol("_resolveComponent"),Es=Symbol("_update"),se=Symbol("_merge"),_t=Symbol("_handleHistoryChange"),Ye=Symbol("_handleRouteUpdated"),Ze=Symbol("routeUpdatedCallback"),b=Symbol("currentRoutes"),et=Symbol("routeSessionCacheKey"),$s=Symbol("_addRouteRecorder"),je=Symbol("_removeRouteRecorder"),tt=Symbol("_cloneRouteRecorder"),T=Symbol("_handleError"),st=Symbol("errorCallback"),D=Symbol("registerKey"),rt=Symbol("notFoundKey"),Kt=Symbol("notFoundPathKey"),H=Symbol("forestKey"),P=Symbol("historyKey"),qe=Symbol("beforeFiltersKey"),Le=Symbol("afterFiltersKey"),ke=Symbol("destroyFiltersKey"),jt=Symbol("propsFilterKey"),we=Symbol("mainDispatcherKey"),qt=Symbol("initKey"),ue=Symbol("readyKey"),Lt=Symbol("readyHandlersKey"),nt=Symbol("_markReady"),Fs=Symbol("_createNextFn"),kt=Symbol("_start"),Ot=Symbol("_before"),Mt=Symbol("_after"),As=Symbol("_destroy"),It=Symbol("_load"),Oe=Symbol("_unload"),Me=Symbol("routerGuardKey");function dn(r){return r.layers.length==0||r.layers[0].views.length==0}function pn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(s=>{if(!(s==null||s==null))if(typeof s.meta=="object"){let n=F(!0,{},s.meta);e.push(n)}else s.meta&&e.push(s.meta)})}),e}class mn{[D]=new Array;[rt];[Kt]="*";[ue]=!1;[Lt]=[];[H]=new un;[P];[b]=new Array;[et]=new WeakMap;[st]=null;[Ze]=null;[qe]=new Array;[Le]=new Array;[ke]=new Array;[jt]=null;[we]=new He;[Me]=new fn;[qt]=!1;get current(){const e=this[b].length;return e>0?this[b][e-1]:null}options;constructor(e){this.options=e??{},this.options.notFoundPath&&this.setNotFoundPath(this.options.notFoundPath);let t=this.options.routes||[];this.addRoutes(t),this.options.notFound&&this.setNotFoundRoute(this.options.notFound),e.history?this[P]=e.history:this[P]=he?Ys():Zs(),this[P]?.listen(async s=>{let n=!0;try{if(typeof s=="string"){const i=this[O](s);i&&await this[_t]([i])}else await this[_t](s)}catch(i){console.error(i.message,i),n=!1}this[ue]===!1&&this[nt](n)})}[T](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[st]=="function")try{this[st](e,t)}catch{}console.error(e)}init(){this[qt]!==!0&&(this[P]?.init(!this[ue]),this[qt]=!0)}isReady(){return this[ue]?Promise.resolve():new Promise((e,t)=>{this[Lt].push([e,t])})}[nt](e){this[ue]=!0,this[Lt].forEach(([t,s])=>{try{e?t():s()}catch(n){console.error(n.message,n)}})}[_t](e){try{if(!e){let o=[...this[b]].reverse();return this[Oe](o),he&&$().location.reload(),Promise.resolve()}let t=null,s=[],n=[],i=0;for(;i<e.length&&i<this[b].length&&S.isSame(e[i],this[b][i]);i++)e[i].active===!0&&e[i].active!==this[b][i].active&&(t=e[i]);if(i<e.length&&(s=e.slice(i)),i<this[b].length&&(n=this[b].slice(i).reverse()),n.length===0&&s.length===0){if(t!==null)return this.restore([t])}else if(n.length>0){if(this[Oe](n)){if(s.length>0)return this.restore(s);if(t!==null)return this.restore([t])}}else return this.restore(s)}catch(t){this[T](t)}return Promise.resolve()}[Ye](e=null){if(e||(e=this.current),typeof this[Ze]=="function")try{this[Ze](e)}catch{}}[$s](e,t){if(e.opsType===E.Open){let s=!1;const n=this[b].length-1;for(let i=n;i>=0;i--){const o=this[b][i];if(e.root==o.root){if(e.path===o.path){this[b].splice(i,1,e),s=!0;continue}e.active&&(o.active=!1)}}s||this[b].push(e)}else this[b].push(e);this[et].set(e,t)}[tt](){let e=[];for(let t of this[b]){let s=S.clone(t,!0);e.push(s)}return e}[je](e){if(!this[b])return;let t=-1;for(let s=0;s<this[b].length;s++)if(S.isSame(this[b][s],e)){t=s;break}if(t!=-1){let s=this[b][t];this[b].splice(t,1);const n=this[et].get(s);this[et].delete(s),this[As](s,n)}}set historyMonitor(e){this[P]&&(this[P].historyMonitor=e)}get historyMonitor(){return this[P]?this[P].historyMonitor:!1}set traceless(e){this[P]&&(this[P].traceless=e)}get traceless(){return this[P]?this[P].traceless:!1}set propsFilter(e){this[jt]=e}get propsFilter(){return this[jt]}setRestorePoint(){const e=this[tt]();this[P]?.setRestorePoint(e)}onRouteUpdated(e){this[Ze]=e}onError(e){this[st]=e}beforeEach(e){this[qe].push(e)}removeBeforeEach(e){const t=this[qe].indexOf(e);return t!==-1?(this[qe].splice(t,1),!0):!1}afterEach(e){this[Le].push(e)}removeAfterEach(e){const t=this[Le].indexOf(e);return t!==-1?(this[Le].splice(t,1),!0):!1}destroyEach(e){this[ke].push(e)}removeDestroyEach(e){const t=this[ke].indexOf(e);return t!==-1?(this[ke].splice(t,1),!0):!1}beforeRestoreEach(e){this[P]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[P]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Kt]){this.setNotFoundRoute(e);return}const s=this[Xe](e);if(t==-1)this[D]=[...this[D],...s];else for(let n=s.length-1;n>=0;n--)this[D].splice(t,0,s[n])}removeRoute(e){const t=this[O](e);if(t===null)return console.warn("route格式错误",e),!1;for(let s=0;s<this[D].length;s++){const n=this[D][s];if(t?.path&&n.path===t.path)return this[D].splice(s,1),!0;if(t?.name&&n.name===t.name)return this[D].splice(s,1),!0}return!1}hasRoute(e){const t=this[O](e);return t===null?(console.warn("route格式错误",e),!1):this[D].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Kt]=e}setNotFoundRoute(e){const t=this[Xe](e);this[rt]=t[0]}getRoutes(){return[...this[D]]}[Xe](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let s=e.components??(e.component&&{"":e.component});if(s==null){const a=new xt;return a.path=t,a.redirect=e.redirect,[a]}let n=[];for(let a in s){let l=s[a];a.length===0&&(a=X);let u=new Or(a,l,e.props,e.meta);n.push(u)}let i=!1,o=[];if(e.children)for(let a of e.children){let l=this[Xe](a);for(let u of l){let c=new xt;c.name=u.name,u.path&&u.path.length>0?t!=="/"?c.path=`${t}${u.path}`:c.path=u.path:(i=!0,c.path=t);let f=new hs;f.models=[...n],c.layers=[f,...u.layers],o.push(c)}}if(!i){const a=new hs;a.models=n;const l=new xt;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[Qe](e){const t=e.route;try{for(let s of this[D]){const n=t.template??t.path,i=t.template??t.name;if(n&&s.path){let o=s.match;o||(o=s.match=Gr(s.path));const a=o(n);if(!a)continue;if(s.redirect){const l=new S;F(!0,l,t),l.path=s.redirect;const u={route:l,find:void 0};return this[Qe](u)?(e.route=u.route,e.find=u.find,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0):!1}if(t.params=t.params??{},F(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},c=l.split("&");for(let f of c){const h=f.split("=");if(h.length!==2)continue;const y=decodeURIComponent(h[0].trim()),d=decodeURIComponent(h[1].trim());u[y]=d}F(!0,t.params,u)}else typeof l=="object"&&F(!0,t.params,l)}return e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===s.name){t.params=t.params??{};const o=zr(s.path);return t.path=o(t.params),e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(s){console.error(s.message,s),typeof t.error=="function"&&t.error(s.message)}return!1}[O](e){let t=null;if(Array.isArray(e))if(t=new S,typeof e[0]=="object")t=S.from(e[0]);else for(let s=0;s<e.length;s++)s===0?e[s].charAt(0)==="/"?t.path=e[s]:t.name=e[s]:s===1?t.params=e[s]:s===2?t.root=e[s]:s===3&&F(!1,t,e[s]);else typeof e=="object"?t=S.from(e):typeof e=="string"&&(t=new S,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let s=t.path.indexOf("?");s!==-1&&s<t.path.length-1&&(t.query=t.path.substring(s+1),t.path=t.path.substring(0,s))}t.root=t.root??X,t.opsType=t.opsType??this.options.defaultOperationType??E.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[O](e);return t?(t.opsType=E.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}put(...e){const t=this[O](e);return t?(t.opsType=E.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[T]("resolve route fail",t),this)}replace(...e){const t=this[O](e);return t?(t.opsType=E.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[T]("resolve route fail",t),this)}append(...e){const t=this[O](e);return t?(t.opsType=E.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}remove(e,t){return new Promise(s=>{this[we].post(n=>{try{if(this[b].length===0){n.resolve(),s(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[b][0].root??X,e.all)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];c.opsType===E.Append&&c.root===o&&(a.splice(0,0,c),i=u-1)}else if(e.until)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];if(c.opsType===E.Append&&c.root===o){if(e.until.charAt(0)==="/"&&e.until===c.path){i=u;break}else if(e.until===c.name){i=u;break}a.splice(0,0,c)}}else if(e.to)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];if(c.opsType===E.Append&&c.root===o){if(a.splice(0,0,c),e.to.charAt(0)==="/"&&e.to===c.path){i=u-1;break}else if(e.to===c.name){i=u-1;break}}}}else{o=X;let u=this[Ss](this[H]);u&&(o=u.name);for(let c=this[b].length-1;c>0;c--){let f=this[b][c];if(f.opsType===E.Append&&f.root===o){a.push(f),i=c-1;break}}}if(i===-1||a.length===0){let u="can not find route";console.warn(u),n.resolve(u),s(!1);return}let l=null;if(i!==-1&&(l=this[b][i]),this[Oe](a)){if(t===!1)return n.resolve(),s(!0),!0;const u=()=>(n.resolve(),s(!0),!0),c=this[b].length;if(l&&S.isSame(l,this[b][c-1])){this[P]?.goBack(l,u);return}u()}}catch(i){this[T](i),n.resolve(),s(!1)}})})}open(...e){let t=this[O](e);return t?(t.opsType=E.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}close(e){return this[we].post(t=>{try{let s=this[O](e);if(!s){t.reject("resolve route fail");return}let n=[];for(let i=0;i<this[b].length;i++){let o=this[b][i];if(o.root===s.root){if(!s.path&&!s.name){n.push(o);continue}if(s.path&&s.path===o.path){n.push(o);break}else if(s.name&&s.name===o.name){n.push(o);break}}}if(n.length===0){t.resolve();return}this[Oe](n)&&this[Ye](),t.resolve()}catch(s){this[T](s),t.resolve()}}),this}to(...e){let t=this[O](e);if(!t)return this[T]("resolve route fail",t),this;let s=this[Me].acquire(t);return s==null?(this[T]("route forbid",t),this):(this[we].post(n=>{try{let i=this[kt](t);this[Ot](i),this[It](i),this[Mt](i),i.wait((o,a)=>{const l=o.session.to;if(o.session.updateResult&&o.session.updateResult.status==="success")try{let u=S.clone(l,!0);const c=new vs(u,this[tt]());l.historyUpdatePolicy==="replace"?this[P]?.replace(c):l.historyUpdatePolicy==="traceless"?this[P]?.setRouteMark(c):this[P]?.push(c)}catch(u){console.error(u.message,u)}if(Re.clear(o.session),this[Me].release(s),this[Ye](l),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[ue]===!1&&this[nt](!0),i=null,n.resolve()},(o,a)=>{this[Me].release(s),a!==null&&this[T](a,t),this[ue]===!1&&this[nt](!1),Re.clear(o.session),i=null,n.resolve()})}catch(i){this[Me].release(s),this[T](i,t),n.resolve()}}),this)}back(e=1){this[P]?.go(-e,!1)}[Fs](e){return(t,s)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(s??null);else if(t){const n=this[O](t);if(n){const i=e.session.to;n.success=i.success,n.error=i.error,e.session.to=n,e.session.redirect=!0,e.session.routeModel=null,e.resolve()}else e.session.redirect=!1,e.reject("route resolve fail")}else e.session.redirect=!1,e.resolve()}}[kt](e){const t=this[b].length>0?this[b][this[b].length-1]:void 0,s=new Re(e,t),n={route:e,find:null};return this[Qe](n),n.find&&(s.routeModel=n.find,e.matched=pn(n.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=n.find.layers[0].models[0].meta)),new He(s)}[Ot](e){for(let t of this[qe])e.post(s=>{const n=this[Fs](s);Reflect.apply(t,{},[s.session.to,s.session.from,n,s.session])})}[Mt](e){e.post(t=>{for(let s of this[Le])try{Reflect.apply(s,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[As](e,t){for(let s of this[ke])try{Reflect.apply(s,{},[e,t])}catch(n){console.error(n.message,n)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[It](e){e.post(t=>{const s=t.session.to;let n=t.session.routeModel;if(n==null){let o={route:s,find:null};if(this[Qe](o))n=o.find,t.session.routeModel=n;else if(this[rt])n=this[rt];else{t.reject(`not find route model, path:${s.path??s.name}`);return}}const i=Re.from(t.session);this[Ps](s,n,i).then(o=>{this[H],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Oe](e){if(e.length==0)return!0;let t=this[H],s=[];for(let n of e){let i=this[Tt](t,n);i!=null&&s.push({...i,route:n})}if(s.length==0)return this[T]("can not find view index"),!1;for(let n of s.reverse())this[ae](t,{x:n.x,y:n.y},[n.route.index??0],!0);return!0}[Tt](e,t){const s=t.root??X;let n;for(let i=0;i<e.layers.length;i++){const o=e.layers[i];for(let a=o.views.length-1;a>=0;a--){const l=o.views[a];if(l[V]&&l[ot]===s)return n={x:a,y:i},n}}return null}[Ss](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ae](e,t,s=null,n=!0){if(t.y>=e.layers.length||t.x>=e.layers[t.y].views.length)return;let i=e.layers[t.y].views[t.x],o=!1,a=[],l=!1,u=[...i.slots.value];for(let f=u.length-1;f>=0;f--){let h=u[f];(!s||s.indexOf(h.index)!=-1)&&(h.route&&i[V]&&(this[je](h.route),h.active===!0&&h.route.opsType==E.Append&&(l=!0)),a.push(new N(i,h.index,t.y)),u.splice(f,1))}if(u.length==0)n?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let f=u.length-1,h=u[f];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let c=t.y+1;for(;c<e.layers.length;c++){let f=e.layers[c].views,h=[];for(let y=f.length-1;(o||a.length>0)&&y>=0;y--){let d=f[y];if(d[ce]&&(o||N.include(a,d[ce]))){let p=d.slots.value;for(let m=p.length-1;m>=0;m--){let w=p[m];w.route&&d[V]&&this[je](w.route),h.push(new N(d,w.index,c)),p.splice(m,1)}e.layers[c].views.splice(y,1)}}a=h,e.layers[c].views.length==0&&(o=!0)}}restore(e){if(!e||this[D].length==0){let t=this[H];if(t.layers.length>0){let s=t.layers[0].views;s.length>0&&(s[0].slots.value=[])}return this[b]=[],this[Ye](),Promise.resolve()}else return new Promise((s,n)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[we].post(u=>{const c=this[kt](l);this[Ot](c),this[It](c),this[Mt](c),c.wait((f,h)=>{i=f.session.to,o=f.session.redirect,u.resolve()},(f,h)=>{i=null,h!==null&&this[T](h),u.resolve()})})}this[we].post(a=>{if(i&&o===!0){const l=S.clone(i,!0),u=new vs(l,this[tt]());this[P]?.replace(u)}a.resolve(),s()})})}[Ps](e,t,s){const n=e.updateType??it.Part;return this[Cs](t).then(()=>{const o=this[Es](t,e,s,n);if(o.status==="error")throw Error(o.message);return o})}[Cs](e){let t=[];for(let s=0;s<e.layers.length;s++){let n=e.layers[s];for(let i=0;i<n.models.length;i++){let o=n.models[i];o.isResolved||t.push(o.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[Es](e,t,s,n){if(e.layers[0].models.length!==1)return{status:"error",message:"illegal route structure(multi root node)"};const i=e.layers[0].models[0];let o=this[H],a=dn(o),l=t.root??X,u;!a&&n==it.Part&&(u=this[Tt](o,t));let c,f=0;if(u==null||u==null)if(a||n===it.All){if(o.layers.length==0&&(o.layers[0]=new $t),o.layers[0].views.length==0){let h=t.root??X;c=new Te(h,!0,null),o.layers[0].views=[c]}else c=o.layers[0].views[0];u={x:0,y:0}}else{let h=t.slot;if(!h)return{status:"error",message:"can not rebuild view(because not route slot)"};let y=h.level;if(y>o.layers.length)return{status:"error",message:"can not insert view(override level)"};let d;if(h.rootName){let p=o.layers[y-1];for(let m of p.views){if(m[V]&&m.name===h.rootName){d=new N(m,h.rootIndex??0,y-1);break}if(m[B]&&m[B].view.name===h.rootName&&m[B].index===h.rootIndex){d=m[B];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};c=new Te(l,!0,d),o.layers[y].views.push(c),u={x:o.layers[y].views.length-1,y}}else c=o.layers[u.y].views[u.x];if(f=u.y,c[V]=!0,t.opsType===E.Append){t.index=t.index??ie.get(),t.active=!0;let h=c.slots.value;if(h.length>0){let w=h[h.length-1];w.active=!1,w.route&&(w.route.active=w.active)}let y=new te(t,i,t.index,!0);c.slots.value=[...h,y];let d=f+1,p=1,m=new N(c,t.index,f);this[se](o,d,e,p,m)}else if(t.opsType===E.Open){let h=c.slots.value;const y=t.active??!0;let d=!1;for(let p of h){if(p.route!==null&&S.isSameForRouteModel(p.route,t)){if(p.active===y)return t.index=p.index,t.active=y,p.route=t,{status:"no-change",message:""};p.active=y,d=!0,t.index=p.index,t.active=y,p.route=t}else y&&(p.active=!1);p.route&&(p.route.active=p.active)}if(!d){t.index=t.index??ie.get(),t.active=y;let p=new te(t,i,t.index,y);h.push(p);let m=f+1,w=1,v=new N(c,t.index,f);this[se](o,m,e,w,v)}c.slots.value=[...h]}else{let h=c.slots.value;if(h.length==0){t.index=t.index??ie.get(),t.active=!0,c.slots.value=[new te(t,i,t.index)];let y=f+1,d=1,p=new N(c,t.index,f);this[se](o,y,e,d,p)}else{let y=h[0];if(y.model!==i){this[ae](o,u,null,!0),t.index=t.index??ie.get(),t.active=!0,c.slots.value=[new te(t,i,t.index)];let d=f+1,p=1,m=new N(c,t.index,f);this[se](o,d,e,p,m)}else{y.route!==null&&this[je](y.route);let d=!1;const p=t.active??!0;y.active!==p&&(y.active=p,d=!0),t.active=p,t.index=y.index,y.route=t;let m=[];for(let Q=1;Q<h.length;Q++)m.push(h[Q].index);m.length>0?this[ae](o,u,m,!0):d&&(c.slots.value=[...h]);let w=[new N(c,t.index,f)],v=f+1,_=1,ee=new N(c,t.index,f);for(;w.length>0&&v<o.layers.length&&_<e.layers.length;v++,_++){let Q=[];for(let K=0;K<o.layers[v].views.length;K++){let j=o.layers[v].views[K];j[ce]&&N.include(w,j[ce])&&Q.unshift(K)}let pe=[];for(let K of Q){let j=o.layers[v].views[K],oe=e.layers[_].models,Y;for(let L=0;L<oe.length;L++)if(j.name===oe[L].name){Y=oe[L];break}if(!Y)this[ae](o,{x:K,y:v},null,!1);else{let L=j.slots.value;if(L.length==0){let W=0;j.slots.value=[new te(null,Y,W)];let U=v+1,Z=_+1;this[se](o,U,e,Z,ee)}else{let W=L[0];if(W.model!==Y){this[ae](o,{x:K,y:v},null,!0),j.slots.value=[new te(null,Y,0)];let U=v+1,Z=_+1;this[se](o,U,e,Z,ee)}else{j[V]&&W.route!==null&&this[je](W.route);let U=[];for(let Z=1;Z<L.length;Z++)U.push(L[Z].index);U.length>0&&this[ae](o,{x:K,y:v},U,!0),pe.push(new N(j,W.index,v))}}j[V]=!1}}w=pe}this[se](o,v,e,_,ee)}}}if(c&&c[B]){let h=c[B];h&&(t.slot=new kr(l,f,h?.view.name,h?.index??0))}return s.to=void 0,s.routeModel=void 0,this[$s](t,s),{status:"success",message:""}}[se](e,t,s,n,i){let o=n,a=t;for(;a<e.layers.length&&o<s.layers.length;a++,o++){let l=e.layers[a].views;for(let u of s.layers[o].models){let c=new Te(u.name,!1,i),f=new te(null,u);c.slots.value=[f],l.push(c)}}for(;o<s.layers.length;o++){let l=new $t;l.views=[];for(let u of s.layers[o].models){let c=new Te(u.name,!1,i),f=new te(null,u);c.slots.value=[f],l.views.push(c)}e.layers.push(l)}}[Ns](e,t,s,n,i,o){if(t<0||t>this[H].layers.length)return null;if(t<this[H].layers.length){let c=this[H].layers[t],f=null;for(let h of c.views){let y=!1;if(s!==null?(y=h.name===e&&h[B]?.view===s,y&&n!==-1&&(y=h[B]?.index===n)):y=h.name===e,!!y){i!==null&&(h[ce]={view:i,index:o,level:t-1}),f=h;break}}if(f!==null)return f}let a=null,l=null;i!==null&&(i[V]?a={view:i,index:o,level:t-1}:a=i[B],l={view:i,index:o,level:t-1});let u=new Te(e,!0,a);if(u[ce]=l,t==this[H].layers.length){let c=new $t;c.views=[u],this[H].layers.push(c)}else this[H].layers[t].views.push(u);return u}}const gn="fox-router-view",vn="fox-router-link";function er(r,e=!1){let t=null;return e?t=r.showFromClass??r.enterFromClass:t=r.enterFromClass,t||(t=r.transitionName,t?e?`${t}-show-from`:`${t}-enter-from`:null)}function tr(r,e=!1){let t=null;return e?t=r.showActiveClass??r.enterActiveClass:t=r.enterActiveClass,t||(t=r.transitionName,t?e?`${t}-show-active`:`${t}-enter-active`:null)}function wn(r,e=!1){let t=null;return e?t=r.showToClass??r.enterToClass:t=r.enterToClass,t||(t=r.transitionName,t?e?`${t}-show-to`:`${t}-enter-to`:null)}function sr(r,e=!1){let t=null;return e?t=r.hideFromClass??r.leaveFromClass:t=r.leaveFromClass,t||(t=r.transitionName,t?e?`${t}-hide-from`:`${t}-leave-from`:null)}function rr(r,e=!1){let t=null;return e?t=r.hideActiveClass??r.leaveActiveClass:t=r.leaveActiveClass,t||(t=r.transitionName,t?e?`${t}-hide-active`:`${t}-leave-active`:null)}function bn(r,e=!1){let t=null;return e?t=r.hideToClass??r.leaveToClass:t=r.leaveToClass,t||(t=r.transitionName,t?e?`${t}-hide-to`:`${t}-leave-to`:null)}function xn(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function Rn(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function Sn(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function Pn(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function Cn(r,e=!1){let t=null;return e?t=r.beforeHide??r.beforeLeave:t=r.beforeLeave,t}function En(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function $n(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function Fn(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function ns(r){let e,t=r.duration;return typeof t=="object"?e={enter:t.enter??-1,leave:t.leave??-1,show:t.show??-1,hide:t.hide??-1}:(typeof t=="string"&&(t=t.length==0?-1:Number(t)),e={enter:t,leave:t,show:t,hide:t}),e}function Ee(r,e){r.classList.contains(e)||r.classList.add(e)}function Pe(r,e){r.classList.remove(e)}const An=he&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function mt(r){An(r)}function A(r,e,t){x(e)&&(r==null&&(r={}),Reflect.apply(e,r,t))}function nr(r,e,t,s=-1,n,i,o,a){let l=[];const u=()=>{for(let c of l)zt(e,c.type,c.listener);l=[]};if(x(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,s]),x(a)&&Reflect.apply(a,r,[])},n);return}const c=["animationend","transitionend",ut],f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(i,r,[e,t,s]))};c.forEach(h=>{at(e,h,f),l.push({type:h,listener:f})})}if(x(o)){const c="animationcancel",f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(o,r,[e,t,s]))};at(e,c,f),l.push({type:c,listener:f})}}function gt(r){return!he||r===null?!1:r.opsType===E.Append||r.opsType===E.Open}function ir(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=er(s,e);o&&Ee(t,o);const a=tr(s,e);a&&Ee(t,a);const l=xn(s,e);A(r,l,[t,e,n,i])}}function or(r,e,t,s={},n,i,o,a){if(!gt(i)&&!e){x(a)&&a(r,a,[t]);return}const l=er(s,e),u=tr(s,e),c=wn(s,e),f=Rn(s,e),h=Sn(s,e),y=Pn(s,e);if(!l&&!u&&!c&&!f){x(a)&&a(r,a,[t]);return}mt(()=>{nr(r,t,i,o,n,()=>{u&&Pe(t,u),c&&Pe(t,c),x(h)&&A(r,h,[t,e,i,o]),x(a)&&a(r,a,[t])},()=>{x(y)&&A(r,y,[t,e,i,o])}),l&&Pe(t,l),c&&Ee(t,c),x(f)&&A(r,f,[t,e,i,o])})}function lr(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=sr(s,e);o&&Ee(t,o);const a=rr(s,e);a&&Ee(t,a);const l=Cn(s,e);A(r,l,[t,e,n,i])}}function ar(r,e,t,s={},n,i,o,a,l){if(!gt(o)&&!e){x(l)&&A(r,l,[t]),!e&&x(i)&&i();return}const u=sr(s,e),c=rr(s,e),f=bn(s,e),h=En(s,e),y=$n(s,e),d=Fn(s,e);if(!u&&!c&&!f&&!h){x(l)&&A(r,l,[t]),!e&&x(i)&&i();return}mt(()=>{nr(r,t,o,a,n,()=>{c&&Pe(t,c),f&&Pe(t,f),x(y)&&A(r,y,[t,e,o,a]),x(l)&&A(r,l,[t]),!e&&x(i)&&i()},()=>{x(d)&&A(r,d,[t,e,o,a]),x(l)&&A(r,l,[t]),!e&&x(i)&&i()}),u&&Pe(t,u),f&&Ee(t,f),x(h)&&A(r,h,[t,e,o,a])})}function Jt(r,e,t={},s,n=-1){const i=t.mode??"default",o=ns(t);return{mode:i,persisted:!1,beforeEnter:l=>{ir(r,!1,l,t,s,n)},enter:l=>{or(r,!1,l,t,o.enter,s,n)},leave:(l,u)=>{lr(r,!1,l,t,s,n),ar(r,!1,l,t,o.leave,u,s,n,()=>{e.transition=null,e=null})},clone:l=>Jt(r,e,t,s,n)}}function ur(r){return r.el}function Tn(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ns(t);ir(r,!0,a,t,s,n),or(r,!0,a,t,l.show,s,n,u=>{x(o)&&A(r,o,[u])})}else x(o)&&A(r,o,[])}function _n(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ns(t);lr(r,!0,a,t,s,n),ar(r,!0,a,t,l.hide,null,s,n,u=>{x(o)&&A(r,o,[u])})}else x(o)&&A(r,o,[])}function Kn(r,e={}){mt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function cr(r,e,t={},s,n=-1){return{mode:t.mode??"default",persisted:!1,beforeEnter:a=>{Je(Ds,{},a)},enter:a=>{Je(Hs,{},a)},leave:(a,l)=>{Je(Us,{},a),mt(()=>{const u=c=>{const f=c.target||c.srcElement,h=c.currentTarget;f===h&&(zt(a,ut,u),l&&Reflect.apply(l,r,[]),e.transition=null,e=null)};at(a,ut,u),Je(Bs,{},a)})},clone:a=>cr(r,e,t,s,n)}}function re(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function Nt(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}function be(r,e){return typeof e=="function"?e(r):r}class jn{node;state;constructor(e,t){this.node=e,this.state=t}}const Wt=g.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,required:!1,default:"default"},modelSlot:{type:[Object],required:!1},multi:{type:Boolean,required:!1,default:!1},tag:{type:[String,Object,Function],required:!1,default:"div"},viewTag:{type:[String,Object,Function],required:!1,default:"div"},viewTagProps:{type:[Object,Function],required:!1,default(){return{}}},viewClass:{type:[String,Function],required:!1},viewActiveClass:{type:[String,Function],required:!1},viewInactiveClass:{type:[String,Function],required:!1},transition:{type:[Boolean,String,Function],required:!1,default:!1},transitionName:{type:String,required:!1},enterFromClass:{type:String,required:!1},enterActiveClass:{type:String,required:!1},enterToClass:{type:String,required:!1},leaveFromClass:{type:String,required:!1},leaveActiveClass:{type:String,required:!1},leaveToClass:{type:String,required:!1},showFromClass:{type:String,required:!1},showActiveClass:{type:String,required:!1},showToClass:{type:String,required:!1},hideFromClass:{type:String,required:!1},hideActiveClass:{type:String,required:!1},hideToClass:{type:String,required:!1},beforeEnter:{type:Function,required:!1},enter:{type:Function,required:!1},afterEnter:{type:Function,required:!1},enterCancelled:{type:Function,required:!1},beforeLeave:{type:Function,required:!1},leave:{type:Function,required:!1},afterLeave:{type:Function,required:!1},leaveCancelled:{type:Function,required:!1},beforeShow:{type:Function,required:!1},show:{type:Function,required:!1},afterShow:{type:Function,required:!1},showCancelled:{type:Function,required:!1},beforeHide:{type:Function,required:!1},hide:{type:Function,required:!1},afterHide:{type:Function,required:!1},hideCancelled:{type:Function,required:!1}},setup(r,e){const t=g.getCurrentInstance();if(t===null||t.proxy===null){console.error("instance or instance.proxy not exist");return}const s=r.multi===!0,n=g.inject(dt,null),i=g.inject(St,0),o=g.inject(ms,null),a=g.inject(Pt,-1);let l=null,u=r.modelSlot;if(u){if(g.provide(St,i+1),g.provide(Pt,u.index),g.provide(Ct,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=ct(t.proxy,!0);Hr(h),ps(h,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const f=r.name,h=g.inject(gs,null),y=g.inject(Ct,0);if(l=n[Ns](f,i,o,a,h,y),l===null)return;g.provide(gs,l);const d=l[V]===!0;if(d&&g.provide(ms,l),!s&&(g.provide(Pt,-1),g.provide(St,i+1),g.provide(Ct,-1),d)){const p=ct(t.proxy,!0);ps(p,()=>{const m=l.slots.value;return m.length>0?m[0].route:null})}}const c={value:new Map};return g.onUnmounted(()=>{if(c.value&&c.value.clear(),u){const f=u;f.route=null,f.model=null,f.instance=null,u=void 0}}),()=>{if(s){const f=new Map,h=[],y=l?.slots.value,d=[];for(let w=0;w<y.length;w++){const v=y[w],_=`${r.name}_${v.index}`,ee=re(r.transition,v.route,w)??!0,Q={modelSlot:v};let pe;e.slots.default?pe=g.h(Wt,Q,{default:e.slots.default}):pe=g.h(Wt,Q);const K={},j=re(r.viewClass,v.route,w);typeof j=="string"&&j.length>0&&(K[j]=!0);const oe=re(r.viewActiveClass,v.route,w),Y=re(r.viewInactiveClass,v.route,w),L=c.value.get(_);if(typeof oe=="string"&&oe.length>0&&(K[oe]=v.active),typeof Y=="string"&&Y.length>0&&(K[Y]=!v.active),L&&v.active!==L.state){const M=L.node;v.active?d.unshift(()=>{const vt=()=>{let $e=ys(M);$e!=null&&ds($e,Vt.ACTIVATED)};Tn(t,M,r,v.route,w,ee,vt)}):d.push(()=>{const vt=()=>{const $e=ys(M);$e!=null&&ds($e,Vt.DEACTIVATED)};_n(t,M,r,v.route,w,ee,vt)})}const W={class:K,key:_},U=re(r.viewTagProps,v.route,w);if(U!==null&&typeof U=="object"){const M=be(U,n?.propsFilter);F(!0,W,M)}if(v.route?.viewTagAttrs&&typeof v.route?.viewTagAttrs=="object"){const M=be(v.route.viewTagAttrs,n?.propsFilter);F(!0,W,M)}const Z=re(r.viewTag,v.route,w),me=g.h(Z,W,{default:()=>[pe]});if(f.set(_,new jn(me,v.active)),c.value.delete(_),ee===!0){const M=Jt(t,me,r,v.route,w);me.transition=M}else if(ee==="custom"){const M=cr(t,me,r,v.route,w);me.transition=M}h.push(me)}c.value=f,Kn(d,t);const p=re(r.tag,null,-1),m={};return Object.assign(m,e.attrs),g.h(p,m,{default:()=>h})}else if(u!=null){const f=u.model,h={};if(f.props){if(typeof f.props=="object"){const d=be(f.props,n?.propsFilter);F(!1,h,d)}else if(f.props===!0&&typeof u.route?.params=="object"){const d=be(u.route.params,n?.propsFilter);F(!1,h,d)}}const y=g.h(f.component,h);return Nt(e.slots.default,{Component:y,route:u.route})??y}else{const f=l.slots.value;if(f.length>0){const h=f[0],y=h.route??(t.proxy&&ts(t.proxy))??null,d=h.model,p={};if(d.props){if(typeof d.props=="object"){const v=be(d.props,n?.propsFilter);F(!1,p,v)}else if(d.props===!0&&typeof y?.params=="object"){const v=be(y.params,n?.propsFilter);F(!1,p,v)}}const m=g.h(d.component,p);if(re(r.transition,y,-1)??!0){const v=Jt(t,m,r,y,-1);m.transition=v}return Nt(e.slots.default,{Component:m,route:y})??m}else return Nt(e.slots.fallback,{})}}}});function qn(r){if(!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)&&!r.defaultPrevented&&!(r.button!=null&&r.button!==0)){if(r.currentTarget&&r.currentTarget.getAttribute){const e=r.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return r.preventDefault&&r.preventDefault(),!0}}function Ln(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function kn(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function xe(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let On=g.defineComponent({name:"RouterLink",inheritAttrs:!1,props:{tag:{type:[String,Object,Function],required:!1,default:"a"},to:{type:[String,Object,Function],required:!0},root:{type:String},activeClass:{type:[String,Function],required:!1,default:"fox-router-link-active"},exact:{type:[String,Boolean,Function],required:!1},exactActiveClass:{type:[String,Function],required:!1,default:"fox-router-link-exact-active"},event:{type:[String,Function],required:!1,default:"onClick"}},setup(r,e){const t=g.inject(dt,null);return()=>{let s=xe(r.to,null),n=xe(r.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[O](s),r.root&&(i.root=r.root),o=t.current);let a={},l=xe(r.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=kn(i,o)),xe(r.exact,i)===!0){let h=xe(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=Ln(i,o))}let c={class:a};(n==="a"||n==="A")&&(c.href=i?.path??i?.name??"#"),F(!0,c,e.attrs);let f=xe(r.event,i);if(typeof f=="string"){const h=y=>{if(t==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}qn(y)&&t.to(i)};c[f]=h}return g.h(n,c,e.slots)}}});var q=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(q||{}),lt=(r=>(r[r.normal=0]="normal",r[r.factory=1]="factory",r))(lt||{});class Mn{register=new Map;constructor(){}get(e){return this.register.get(e)??null}set(e,t){this.register.set(e,t)}remove(e){let t=this.register.get(e);return this.register.delete(e),t??null}has(e){return this.register.has(e)}clear(){this.register.clear()}}class Ts{moduleManager=new Mn;options={paths:{},alias:{},nature:[],timeout:3e3};set paths(e){this.options.paths=e}get paths(){return this.options.paths}set alias(e){this.options.alias=e}get alias(){return this.options.alias}set naturePaths(e){this.options.nature=e}get naturePaths(){return this.options.nature}set timeout(e){this.options.timeout=e}get timeout(){return this.options.timeout}_query;set query(e){this._query=e}get query(){return this._query}get head(){return Ve().head}constructor(){}setModule(e,t){const s={id:e,src:"",status:q.Defined};typeof t=="function"?(s.exports=t,s.type=lt.factory):s.exports=t,this.moduleManager.set(e,s)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let s=e.length-1;const n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let l=0;l<=s;l++)if(Array.isArray(e[l])){let u=e[l];for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}const o=new In(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(c){console.error(c.message,c)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(c){console.error(c.message,c)}}),a=new He;for(let l=0;l<t.length;l++){const u=new Nn(l,t[l],n,o);this.mount(a,u)}return this}remove(...e){let t=[],s=e.length-1,n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let o=0;o<=s;o++)if(Array.isArray(e[o])){let a=e[o];for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}else{let a=e[o].split(",");for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}return t.forEach(o=>{this.unmount(o,n)}),typeof i=="function"&&Reflect.apply(i,{},[]),this}mount(e,t){if(t.src==="exports"){e.post(n=>{t.progress.work(!0,t.index,"exports"),n.resolve()});return}else if(t.src==="module"){e.post(n=>{t.progress.work(!0,t.index,"module"),n.resolve()});return}if(this.isNaturePath(t.src)){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(this.isNaturePath(t.src)){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}let s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(s==="css"){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}}mountCSS(e,t,s){e.post(n=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==q.Defined||o.status==q.Loaded)&&o.exports){o.type===lt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}const a=Ve(),l=a.createElement("link");if(Reflect.has(l,"onload"))l.onload=()=>{l.onload=null,l.onerror=null,t.progress.work(!0,t.index,t.src),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),n.reject()};else{const f={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),n.resolve()},error:()=>{try{s.removeChild(l)}catch(h){console.error(h.message,h)}t.progress.work(!1,t.index,null),n.resolve()}};setTimeout(()=>{fr(l,f)},1)}let c=a.getElementById(i);c&&c.parentNode&&c.parentNode.removeChild(c),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,s.appendChild(l)})}mountJS(e,t,s){e.post(n=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==q.Defined||o.status==q.Loaded)){if(o.exports){o.type===lt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}if(document.querySelector(`script[src='${i}`)){t.progress.work(!0,t.index,o.exports),n.resolve();return}}o={id:i,src:i,status:q.Loading},this.moduleManager.set(i,o);const l=Ve().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===q.Loading&&(o.status=q.Loaded,t.progress.work(!0,t.index,i)),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),n.resolve()};else{const f=l;f.onreadystatechange=()=>{/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,o.status==q.Loading&&(o.status=q.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const c=$();c.define=this.createDefine(o,t),s.appendChild(l)})}unmount(e,t={}){const s=Ve(),n=this.getFileNamePostfix(e);if(n==="js"||n.length===0){const i=s.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(n==="css"){const i=s.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let s=0;s<e.length;s++){if(e[s]===void 0||e[s]===null)continue;const n=e[s].trim();n.length!==0&&t.push(n)}return t}createDefine(e,t){const s=this,n=function(...i){e.status=q.Defining;let o,a,l,u=i.length;u===1?(l=i[0],o=void 0):u===2?(l=i[1],Array.isArray(i[0])?(a=s.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=s.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,s.options.alias[o]=e.src),a&&a.length>0?s.ensure(a,(...c)=>{const f=c.map(h=>h==="exports"?((!e.exports||typeof e.exports!="object")&&(e.exports={}),e.exports):h==="module"?e:h);if(typeof l=="function"){const h=Reflect.apply(l,e,f);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=q.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=q.Defined,t.progress.work(!0,t.index,e.exports))};return n.amd=!0,n}resolvePath(e){try{if(e==="exports"||e==="module"||this.isNaturePath(e))return e;e=this.parserPath(e,!0);let t=this.getFileNamePostfix(e);t=t.toLowerCase();let s=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),s.length>0&&(e+=`?${s}`)):s.length>0&&(e+=`&${s}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let s in e){let n=`${e[s]}`;t+=`${encodeURIComponent(s)}=${encodeURIComponent(n)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let s=e.lastIndexOf(".",t);return s==-1?"":e.substring(s+1,t)}isNaturePath(e){if(!this.options.nature)return!1;if(typeof this.options.nature=="function")return this.options.nature(e);const t=this.options.nature;if(t&&Array.isArray(t))for(let s=0;s<t.length;s++){const n=t[s];if(e.indexOf(n)===0)return!0}return!1}parserPath(e,t){if(e.indexOf("http://")==0||e.indexOf("https://")==0||e.indexOf("file:///")==0)return e;if(e.indexOf("/")==0)return`${wt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${wt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${$().location.protocol}${e}`;if(t){let n=this.options.alias[e];if(!n){let i=e.indexOf("/");if(i==-1)n=e;else{let o=e.slice(0,i),a=this.options.paths[o];a?n=a+e.slice(i):n=e}}return this.parserPath(n,!1)}return`${wt()}${e}`}}function fr(r,e){let t=r.sheet,s=!1;if(e.isOldWebKit)t&&(s=!0);else if(t)try{t.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{e.time+=20,s?e.success():e.timeout>e.timeout?e.error():fr(r,e)},20)}class In{callback;values;status;size;lastIndex;constructor(e,t){this.size=e,this.callback=t,this.status=!0,this.values=[],this.lastIndex=-1}work(e,t,s){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(s)),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(n){console.error(n.message,n)}}isOK(){return this.status}}class Nn{index;src;params;progress;constructor(e,t,s,n){this.index=e,this.src=t,this.params=s,this.progress=n}}const is=Symbol("fk"),os=Symbol("fbk"),ls=Symbol("fepk");function Dn(r={}){const e=new mn(r),t=new Ut,s=new Bt,n=new Ts,i={get router(){return e},get bus(){return t},get Bus(){return Ut},get EventProxy(){return Bt},get eventproxy(){return s},get EventChain(){return He},get Require(){return Ts},get require(){return n},get extend(){return F},get clone(){return yt},get isESModule(){return Gt},install(o){o.provide(dt,e),o.provide(is,i),o.provide(os,t),o.provide(ls,s),o.component(gn,Wt),o.component(vn,On),Reflect.defineProperty(o.config.globalProperties,"$fox",{get(){return i}}),Reflect.defineProperty(o.config.globalProperties,"$router",{get(){return e}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$eventProxy",{get(){return s}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){s.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){s.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){s.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=s;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return ts(this)}}}),e.init()}};return i}function as(r){return r?r.$router:g.inject(dt)}function Hn(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?ts(r):null}function Un(r){return r?r.$fox:g.inject(is)}function Bn(r){return r?r.$bus:g.inject(os)}function Vn(r){return r?r.$eventProxy:g.inject(ls)}function Jn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function Wn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}exports.Bus=Ut;exports.EventChain=He;exports.EventProxy=Bt;exports.FoxBeforeEnter=Ds;exports.FoxBeforeLeave=Us;exports.FoxEnter=Hs;exports.FoxLeave=Bs;exports.FoxLeaveEnd=ut;exports.OperationType=E;exports.Route=S;exports.clone=yt;exports.createFox=Dn;exports.createMemoryHistory=Zs;exports.createWebHashHistory=Ys;exports.createWebHistory=hn;exports.deleteContextValue=Dr;exports.extend=F;exports.foxBusKey=os;exports.foxEventProxyKey=ls;exports.foxKey=is;exports.injectContextValue=es;exports.isArray=yr;exports.isDate=mr;exports.isESModule=Gt;exports.isEqual=Ht;exports.isFunction=x;exports.isMap=dr;exports.isNil=Ue;exports.isObject=_s;exports.isPlainObject=Ks;exports.isPromise=wr;exports.isSet=pr;exports.isString=gr;exports.isSymbol=vr;exports.onAfterRouteUpdate=Wn;exports.onBeforeRouteUpdate=Jn;exports.onFoxActivated=Jr;exports.onFoxInactivated=Wr;exports.provideContextValue=Nr;exports.rawState=qr;exports.reactiveState=_r;exports.sessionKey=ne;exports.shallowReactiveState=Kr;exports.toBoolean=Xt;exports.toNumber=Sr;exports.toTypeString=ht;exports.typeOf=Dt;exports.useBus=Bn;exports.useEventProxy=Vn;exports.useFox=Un;exports.useRoute=Hn;exports.useRouter=as;
|
|
2
|
+
* fox v3.1.0 Fri Oct 18 2024 19:32:13 GMT+0800 (中国标准时间)
|
|
3
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("vue"),he=typeof window<"u",$=function(){return window},Ve=function(){return window.document};function hr(r){let e=r,t=e.lastIndexOf("/");return t>0&&t<e.length-1?e=e.substring(0,t+1):t===0&&e.indexOf(".")!==-1?e="/":t===-1&&(e.indexOf(".")==-1?e=`/${e}/`:e="/"),e.indexOf("/")!==0&&(e=`/${e}`),e}function wt(){if(!he)return"/";let r=$().location,e=`${r.protocol}//${r.host}`;return e+=hr(r.pathname),e}function at(r,e,t,s=!1){r.addEventListener?r.addEventListener(e,t,s):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function zt(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}const Je=(r,e,t)=>{e=e??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in e)a==="bubbles"?n=!!e[a]:a==="cancelable"?i=!!e[a]:s[a]=e[a];s.initEvent(r,n,i),(t??document).dispatchEvent(s)},yr=Array.isArray,dr=r=>ht(r)==="[object Map]",pr=r=>ht(r)==="[object Set]",mr=r=>r instanceof Date,x=r=>typeof r=="function",gr=r=>typeof r=="string",vr=r=>typeof r=="symbol",_s=r=>r!==null&&typeof r=="object",wr=r=>_s(r)&&x(r.then)&&x(r.catch),Ue=r=>r==null,br=Object.prototype.toString,ht=r=>br.call(r),Ks=r=>ht(r)==="[object Object]",xr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Gt(r){return r.__esModule||xr&&r[Symbol.toStringTag]==="Module"}const Rr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function F(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,s=r.length,n=!1;for(typeof e=="boolean"&&(n=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<s;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[t];for(let o in i){let a=e[o],l=i[o];if(a!==l)if(n===!0&&l&&typeof l=="object"){let u;Array.isArray(l)?u=a&&Array.isArray(a)?a:[]:u=a&&typeof a=="object"?a:{},e[o]=F(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function yt(r,e,t=!1){if(!t)F(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s of Reflect.ownKeys(e)){let n=r[s],i=e[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!Ks(i))continue;n=yt(n,i,t),r[s]=n}else{if(typeof i=="function")continue;r[s]=i}}}return r}class ie{static seed=new Date().getTime();static get(){let e=++ie.seed;return e>=Number.MAX_VALUE&&(ie.seed=0),e}}const bt=Rr?Promise.resolve():null;function Ie(r,...e){bt!==null?e&&e.length>0?bt.then(()=>{r(e)}):bt.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function Xt(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":!!r}function Sr(r){return typeof r=="number"?r:Number(r)}const Pr={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Object]":"object"};function Dt(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Pr[t]||"object"}function Ht(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Dt(r),s=Dt(e);if(t!==s)return!1;if(t==="object"){let n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o],l=r[a],u=e[a];if(!Ht(l,u))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++){let i=r[n],o=e[n];if(!Ht(i,o))return!1}return!0}return!1}const js=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=js(s)),typeof t=="symbol"?e[String(t)]=s:e[t]=s}return e},Cr=/^Symbol\((.*)\)$/,qs=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=qs(s));const n=Cr.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=s}else e[t]=s}return e};function Ls(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{t=null,Reflect.apply(r,null,[...s])},e)}}const us=Symbol("idKey"),ye=Symbol("valueKey"),R=Symbol("childrenKey"),J=Symbol("growKey");class ks{[J]=!0;[us];[ye]=g.ref();[R]=new Map;constructor(e){this[us]=e}}class Er{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[J];let s=e[R].get(t);if(s)return De(s);if(e[J])return s=Yt(t),s[J]=e[J],e[R].set(t,s),De(s)}set(e,t,s){return t=="value"?(e[ye].value=s,!0):t==="grow"?(e[J]=Xt(s),!0):s==null?(e[R].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[R].delete(t),!0)}}const Qt="__proxy__";function Yt(r){const e=new ks(r);return Reflect.set(e,Qt,new Proxy(e,new Er)),e}function De(r){return Reflect.get(r,Qt)}let $r=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ue(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage,t&&typeof t=="object"&&Object.assign(this.state,t)}init(e){this.restore(e),this.initFlag=!0}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(he){const t=$();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,s=JSON.stringify(this.state??{});e.setItem(t,s)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_bus_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(this.state,i),Reflect.ownKeys(this.state).forEach(a=>{if(typeof a!="string")return;const l=this.state[a],u=a.split(/\//g);u.push(l),Reflect.apply(e.put,e,u)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n=e[t-1];this.state[s]=n,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===s||o.startsWith(s)||(n[o]=this.state[o]))}),this.state=n,this.saveState()}catch(t){console.error(t)}}clear(){if(this.initFlag)try{this.state={},this.removeState()}catch(e){console.error(e)}}};class Os extends ks{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new $r(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let s=this;for(let n=0;n<t-1;n++){let i=e[n],o;s[R].has(i)?o=s[R].get(i):(o=Yt(i),s[R].set(i,o)),s=o}return s[ye].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let s=this;for(let n=0;n<t;n++){let i=e[n];if(s[R].has(i))s=s[R].get(i);else return}return s[ye].value}remove(...e){let t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){const o=e[i];if(s[R].has(o))s=s[R].get(o);else return!1}const n=e[t-1];return s[R].has(n)?(s[R].delete(n),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){let o=e[i];if(s[R].has(o))s=s[R].get(o);else return!1}const n=e[t-1];return s[R].has(n)}clear(){this[R].clear(),this._persistHandler.clear()}}const Fr=["put","get","contains","remove","clear","_persistHandler"];function cs(r){return Fr.includes(r)}class Ar{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[J];if(t===R)return e[R];if(typeof t=="string"&&cs(t))return e[t];const s=String(t);let n=e[R].get(s);if(n)return De(n);if(e[J])return n=Yt(s),n[J]=e[J],e[R].set(s,n),De(n)}set(e,t,s){return t=="value"?(e[ye].value=s,!0):t==="grow"?(e[J]=Xt(s),!0):cs(t)?!1:s==null?(e[R].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[R].delete(t),!0)}}function Tr(r,e){const t=new Os(r,e),s=new Ar,n=new Proxy(t,s);return Reflect.set(t,Qt,n),t}const Ut=new Proxy(Os,{construct(r,e){const t=e[0]??{},s=e[1],n=Tr(t,s);return De(n)}}),Zt=r=>!r||typeof r!="object"?!0:Reflect.ownKeys(r).length===0;class Ms{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ue(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(he){const t=$();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null||Zt(e))return;const s=`_state_${this.name}`,n=JSON.stringify(e??{});t.setItem(s,n)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null)return;const t=`_state_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_state_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(e,i)}}}function Is(r,e,t){const s=new Ms(t);s.restore(e);const n=l=>{const u=g.toRaw(l),c={};for(let f in u){const h=u[f];Ue(h)||(c[f]=h)}Zt(c)?s.removeState():s.saveState(c)};let i=null;if(t&&t.debounce===!1)i=n;else{const l=t&&t.debounceDelay?t.debounceDelay:250;i=Ls(n,l)}const o=r?g.shallowReactive(e):g.reactive(e);return g.effectScope(!0).run(()=>{g.watch(o,l=>{const u=g.toRaw(l);i(u)})}),o}function _r(r,e){return Is(!1,r,e)}function Kr(r,e){return Is(!0,r,e)}function jr(r,e){const t=new Ms(e);t.restore(r);const s=a=>{const l=g.toRaw(a),u={};for(let c in l){const f=l[c];Ue(f)||(u[c]=f)}Zt(u)?t.removeState():t.saveState(u)};let n=null;if(e&&e.debounce===!1)n=s;else{const a=e&&e.debounceDelay?e.debounceDelay:250;n=Ls(s,a)}const i={get(a,l){return a[l]},set(a,l,u){return a[l]=u,n(a),!0}};return new Proxy(r,i)}function qr(r,e){return jr(r,e)}const X="default",Ns=Symbol("sync"),O=Symbol("resolveRoute");function fs(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function Lr(r){let e=r.src;return new Promise((t,s)=>{const n=fs(a=>{Gt(a)&&(a=a.default),r.component=a,console.debug("success load async module"),t()}),i=fs(a=>{console.debug("reject load async module"),s(a)});let o;try{o=e(n,i)}catch(a){i(a)}if(o)if(typeof o.then=="function")o.then(n,i);else{const a=o.component;a&&typeof a.then=="function"&&a.then(n,i)}})}class kr{name;level;rootName;rootIndex=0;constructor(e,t,s,n){this.name=e,this.level=t,this.rootName=s,this.rootIndex=n}}class Re{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){const t=new Re(e.to,e.from),s=e.data??{};return F(!0,t.data,s),t}static clear(e){for(let t in e)e[t]=void 0}}class S{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??X}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(e,t){let s=new S;return yt(s,e,t),s}static isSame(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!==t.path||e.name&&e.name!==t.name||e.root!==t.root||e.index!==t.index)}static isSameForRouteModel(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!=t.path||e.name&&e.name!=t.name)}static from(e){let t=new S;if(e==null)return t;let s=t;for(let i in e){let o=e[i];s[i]=o}const n=Object.getOwnPropertySymbols(e);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=e[i];return t}}class Or{id;name;props;meta;src;component;constructor(e,t,s,n){this.id=ie.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=s,this.meta=n}get isResolved(){return this.component!==void 0}resolve(){return Lr(this)}}class hs{models=[]}class xt{path;match;redirect;name;layers=[]}var E=(r=>(r[r.Push=0]="Push",r[r.Replace=1]="Replace",r[r.Put=2]="Put",r[r.Append=3]="Append",r[r.Open=4]="Open",r))(E||{});const Ds="FoxBeforeEnter",Hs="FoxEnter",Us="FoxLeave",Bs="FoxLeave",ut="FoxLeaveEnd",I=Symbol("chainKey"),k=Symbol("cursorKey"),Rt=Symbol("$persistentModeKey"),C=Symbol("statusKey"),z=Symbol("argsKey"),We=Symbol("exArgsKey"),ge=Symbol("successFnsKey"),Fe=Symbol("errorFnsKey"),ne=Symbol("sessionKey"),G=Symbol("_go");class He{[I]=[];[k]=0;[Rt]=!1;[C]="Free";[z]=[];[We]=[];[ge]=[];[Fe]=[];[ne];get session(){return this[ne]}constructor(e,t=!1){this[ne]=e,this[Rt]=t}[G](e,...t){let s=this[C];if(this[C]="Busy",this[k]+=e,this[k]<0&&(this[k]=0),this[z]=t,s==="Exception"||s==="Reject"){let a=[{session:this[ne]},...this[We]];for(;this[Fe].length>0;)try{let l=this[Fe].shift();typeof l=="function"&&Ie(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[C]=s,this[I]=[],this[k]=0,this}else if(s==="Finished"||this[k]>=this[I].length){let a=[{session:this[ne]},...this[z]];for(;this[ge].length>0;){let l=this[ge].shift();typeof l=="function"&&Ie(()=>{Reflect.apply(l,{},a)})}return this[C]="Free",this}if(this[k]>=this[I].length)return this[C]="Free",this;let n=this[I][this[k]];this[Rt]||(this[I].splice(0,this[k]+1),this[k]=-1);let i=this[k]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[G],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[G],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[I].splice(i,0,l),i++)},session:this[ne]};Ie(()=>{Reflect.apply(n,{},[a,...this[z]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[G],this,[e,...t])}finish(...e){return this[C]="Finished",this[z]=e,Reflect.apply(this[G],this,[0])}reject(...e){return this[C]="Reject",this[We]=e,Reflect.apply(this[G],this,[0])}throw(...e){return this[C]="Exception",this[We]=e,Reflect.apply(this[G],this,[0])}reset(...e){this[C]="Busy",this[z]=e,this[I]=[],this[k]=0;let s=[{session:this[ne]},...this[z]];for(;this[ge].length>0;){let n=this[ge].shift();Ie(()=>{Reflect.apply(n,this,s)})}return this[C]="Free",this}post(e){return this[C]==="Reject"||this[C]==="Exception"?this:(Array.isArray(e)?this[I]=[...this[I],...e]:this[I].push(e),this[C]==="Busy"?this:(Reflect.apply(this[G],this,[0,...this[z]]),this))}wait(e,t){return e&&typeof e=="function"&&this[ge].push(e),t&&typeof t=="function"&&this[Fe].push(t),this[C]==="Busy"?this:(Reflect.apply(this[G],this,[0,...this[z]]),this)}exception(e){return e&&typeof e=="function"&&this[Fe].push(e),this[C]==="Busy"?this:Reflect.apply(this[G],this,[0,...this[z]])}isFinish(){return this[C]=="Reject"||this[C]=="Free"&&this[k]>=this[I].length}}const ve=Symbol("registerKey");class Mr{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Bt{[ve]=new Map;constructor(){}on(e,t,s=!1){let n=this[ve].get(e);n||(n=new Array,this[ve].set(e,n));let i=s===!0?1:0,o=new Mr(t,i);return n.push(o),this}off(e,t){if(!t)return this[ve].delete(e),this;let s=this[ve].get(e);if(s){for(let n=0;n<s.length;n++)if(s[n].callback===t){s.splice(n,1);break}}return this}bind(e,t,s=!1){return this.on(e,t,s)}unbind(e,t){return this.off(e,t)}once(e,t){return this.on(e,t,!0)}all(...e){let t=e.length;if(t<1)return this;let s=e[t-1];if(typeof s!="function")return console.error("callback can not benn empty"),this;let n=t-1,i=new Array(n),o=[].splice.call(e,0,n);for(let a=0;a<o.length;a++)this.once(o[a],l=>{i[a]=l,n-=1,n==0&&Reflect.apply(s,{},i)});return this}emit(e,...t){let s=this[ve].get(e);if(!s)return this;for(let n=0;n<s.length;){let i=s[n];if(i.policy==1?s.splice(n,1):n++,typeof i.callback=="function")try{Ie(()=>{Reflect.apply(i.callback,{},t)})}catch(o){console.error(o.message,o)}}return this}trigger(e,...t){return Reflect.apply(this.emit,this,[e,...t])}}const Ae=Symbol("registerKey");class Ir{[Ae]=new Map;constructor(){}set(e,t){this[Ae].set(e,t)}get(e){return this[Ae].get(e)}has(e){return this[Ae].has(e)}delete(e){return this[Ae].delete(e)}}const fe=Symbol("lc");function ct(r,e=!1){let t=r;if(Reflect.has(t,fe))return t[fe];if(e){const s=new Ir;return t[fe]=s,s}return null}function Vs(r,e=!1){let t=null,s=r;for(;s&&!(Reflect.has(s,fe)&&(t=s[fe],t));)s=s.$parent;if(!t&&e){const n=r;n&&n.$parent&&(t=ct(n.$parent,e))}return t}function es(r,e){let t=r;for(;t;){if(Reflect.has(t,fe)){const s=t[fe];if(s.has(e))return s.get(e)}t=t.$parent}return null}function Nr(r,e,t){Vs(r,!0)?.set(e,t)}function Dr(r,e){Vs(r,!0)?.delete(e)}function ys(r){if(Array.isArray(r.children)&&r.children.length>0){let e=r.children[0];if(e!=null&&e.component!=null&&e.component.proxy!=null)return ct(e.component.proxy,!1)}return null}const ft=Symbol("hooksKey");function Hr(r){let e=r.get(ft);e||(e=[],r.set(ft,e))}function ds(r,e){let t=r.get(ft);if(t!=null)for(let s=t.length-1;s>=0;s--){let n=t[s];if(n.type===e)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var Vt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(Vt||{});class Ur{type;hook;target;constructor(e,t,s){this.target=s,this.hook=t,this.type=e}}function Br(r,e,t,s){let n=new Ur(e,t,s);return r.push(n),!0}function Vr(r,e,t,s){let n=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===s){n=i;break}}return n!=-1?(r.splice(n,1),!0):!1}function Js(r){return(e,t)=>{let s;if(t)s=t;else{const i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=es(s,ft);if(n==null){console.warn("hooks context not found");return}g.onUnmounted(()=>{Vr(n,r,e,s)}),Br(n,r,e,s)}}const Jr=Js("a"),Wr=Js("da"),Ws=Symbol("routeKey");function ps(r,e){r.set(Ws,e)}function ts(r){let e=es(r,Ws);return typeof e=="function"?e():e??null}const dt=Symbol("rk"),St=Symbol("vd"),ms=Symbol("rv"),Pt=Symbol("rvi"),gs=Symbol("pv"),Ct=Symbol("pvi");var de={};Object.defineProperty(de,"__esModule",{value:!0});de.TokenData=void 0;de.parse=pt;var zr=de.compile=tn,Gr=de.match=nn;de.pathToRegexp=an;const Xr="/",ss=r=>r,Qr=/^\p{XID_Continue}$/u,Ne="https://git.new/pathToRegexpError",Yr={"!":"!","@":"@",";":";",",":",","*":"*","+":"+","?":"?","{":"{","}":"}"};function Zr(r){const e=[...r],t=[];let s=0;for(;s<e.length;){const n=e[s],i=Yr[n];if(i){t.push({type:i,index:s++,value:n});continue}if(n==="\\"){t.push({type:"ESCAPED",index:s++,value:e[s++]});continue}if(n===":"){let o="";for(;Qr.test(e[++s]);)o+=e[s];if(!o)throw new TypeError(`Missing parameter name at ${s}`);t.push({type:"NAME",index:s,value:o});continue}if(n==="("){const o=s++;let a=1,l="";if(e[s]==="?")throw new TypeError(`Pattern cannot start with "?" at ${s}`);for(;s<e.length;){if(e[s]==="\\"){l+=e[s++]+e[s++];continue}if(e[s]===")"){if(a--,a===0){s++;break}}else if(e[s]==="("&&(a++,e[s+1]!=="?"))throw new TypeError(`Capturing groups are not allowed at ${s}`);l+=e[s++]}if(a)throw new TypeError(`Unbalanced pattern at ${o}`);if(!l)throw new TypeError(`Missing pattern at ${o}`);t.push({type:"PATTERN",index:s,value:l});continue}t.push({type:"CHAR",index:s,value:e[s++]})}return t.push({type:"END",index:s,value:""}),new en(t)}class en{constructor(e){this.tokens=e,this.index=0}peek(){return this.tokens[this.index]}tryConsume(e){const t=this.peek();if(t.type===e)return this.index++,t.value}consume(e){const t=this.tryConsume(e);if(t!==void 0)return t;const{type:s,index:n}=this.peek();throw new TypeError(`Unexpected ${s} at ${n}, expected ${e}: ${Ne}`)}text(){let e="",t;for(;t=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)e+=t;return e}modifier(){return this.tryConsume("?")||this.tryConsume("*")||this.tryConsume("+")}}class Be{constructor(e,t){this.tokens=e,this.delimiter=t}}de.TokenData=Be;function pt(r,e={}){const{encodePath:t=ss,delimiter:s=t(Xr)}=e,n=[],i=Zr(r);let o=0;do{const a=i.text();a&&n.push(t(a));const l=i.tryConsume("NAME"),u=i.tryConsume("PATTERN");if(l||u){n.push({name:l||String(o++),pattern:u});const h=i.peek();if(h.type==="*")throw new TypeError(`Unexpected * at ${h.index}, you probably want \`/*\` or \`{/:foo}*\`: ${Ne}`);continue}if(i.tryConsume("*")){n.push({name:String(o++),pattern:`(?:(?!${Ce(s)}).)*`,modifier:"*",separator:s});continue}if(i.tryConsume("{")){const h=i.text(),y=i.tryConsume("NAME"),d=i.tryConsume("PATTERN"),p=i.text(),m=i.tryConsume(";")&&i.text();i.consume("}");const w=i.modifier();n.push({name:y||(d?String(o++):""),prefix:t(h),suffix:t(p),pattern:d,modifier:w,separator:m});continue}i.consume("END");break}while(!0);return new Be(n,s)}function tn(r,e={}){const t=r instanceof Be?r:pt(r,e);return rn(t,e)}function sn(r,e){if(typeof r=="string")return()=>r;const t=e||ss,s=r.modifier==="+"||r.modifier==="*",n=r.modifier==="?"||r.modifier==="*",{prefix:i="",suffix:o="",separator:a=o+i}=r;if(e&&s){const u=(f,h)=>{if(typeof f!="string")throw new TypeError(`Expected "${r.name}/${h}" to be a string`);return t(f)},c=f=>{if(!Array.isArray(f))throw new TypeError(`Expected "${r.name}" to be an array`);return f.length===0?"":i+f.map(u).join(a)+o};return n?f=>{const h=f[r.name];return h==null?"":h.length?c(h):""}:f=>{const h=f[r.name];return c(h)}}const l=u=>{if(typeof u!="string")throw new TypeError(`Expected "${r.name}" to be a string`);return i+t(u)+o};return n?u=>{const c=u[r.name];return c==null?"":l(c)}:u=>{const c=u[r.name];return l(c)}}function rn(r,e){const{encode:t=encodeURIComponent,loose:s=!0,validate:n=!0,strict:i=!1}=e,o=zs(e),a=rs(s,r.delimiter),l=Xs(r,a,[],o,i),u=r.tokens.map((c,f)=>{const h=sn(c,t);if(!n||typeof c=="string")return h;const y=new RegExp(`^${l[f]}$`,o);return d=>{const p=h(d);if(!y.test(p))throw new TypeError(`Invalid value for "${c.name}": ${JSON.stringify(p)}`);return p}});return function(f={}){let h="";for(const y of u)h+=y(f);return h}}function nn(r,e={}){const{decode:t=decodeURIComponent,loose:s=!0}=e,n=r instanceof Be?r:pt(r,e),i=rs(s,n.delimiter),o=[],a=Gs(n,o,e),l=o.map(u=>{if(t&&(u.modifier==="+"||u.modifier==="*")){const{prefix:c="",suffix:f="",separator:h=f+c}=u,y=new RegExp(i(h),"g");return d=>d.split(y).map(t)}return t||ss});return function(c){const f=a.exec(c);if(!f)return!1;const{0:h,index:y}=f,d=Object.create(null);for(let p=1;p<f.length;p++){if(f[p]===void 0)continue;const m=o[p-1],w=l[p-1];d[m.name]=w(f[p])}return{path:h,index:y,params:d}}}function Ce(r){return r.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function on(r,e){const t=Ce(r);return e?`(?:${t})+(?!${t})`:t}function rs(r,e){if(!r)return Ce;const t=new RegExp(`(?:(?!${Ce(e)}).)+|(.)`,"g");return s=>s.replace(t,on)}function zs(r){return r.sensitive?"":"i"}function Gs(r,e,t){const{trailing:s=!0,loose:n=!0,start:i=!0,end:o=!0,strict:a=!1}=t,l=zs(t),u=rs(n,r.delimiter),c=Xs(r,u,e,l,a);let f=i?"^":"";return f+=c.join(""),s&&(f+=`(?:${u(r.delimiter)})?`),f+=o?"$":`(?=${Ce(r.delimiter)}|$)`,new RegExp(f,l)}function Xs(r,e,t,s,n){const i=`(?:(?!${Ce(r.delimiter)}).)+?`;let o="",a=!0;return r.tokens.map((l,u)=>{if(typeof l=="string")return o=l,e(l);const{prefix:c="",suffix:f="",separator:h=f+c,modifier:y=""}=l,d=e(c),p=e(f);if(l.name){const m=l.pattern?`(?:${l.pattern})`:i,w=ln(m,l.name,s);if(a||(a=Et(w,c||o)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}": ${Ne}`);if(a=!n||Et(w,f),o="",t.push(l),y==="+"||y==="*"){const v=y==="*"?"?":"",_=e(h);if(!_)throw new TypeError(`Missing separator for "${l.name}": ${Ne}`);if(a||(a=!n||Et(w,h)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}" separator: ${Ne}`);return a=!n,`(?:${d}(${m}(?:${_}${m})*)${p})${v}`}return`(?:${d}(${m})${p})${y}`}return`(?:${d}${p})${y}`})}function ln(r,e,t){try{return new RegExp(`^${r}$`,t)}catch(s){throw new TypeError(`Invalid pattern for "${e}": ${s.message}`)}}function Et(r,e){return e?!r.test(e):!1}function an(r,e={}){const t=r instanceof Be?r:pt(r,e),s=[],n=Gs(t,s,e);return Object.assign(n,{keys:s})}var it=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(it||{});const V=Symbol("rootKey"),B=Symbol("rootNodeKey"),ce=Symbol("parentNodeKey"),ot=Symbol("nameKey");class te{instance=null;model;route;active=!0;index=0;constructor(e,t,s=0,n=!0){this.route=e,this.model=t,this.index=s,this.active=n}}class Te{_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[ot];[V];[B]=null;[ce]=null;get name(){return this[ot]}constructor(e,t,s){this[ot]=e,this[V]=t,s&&(this[B]=s)}}class N{view;index;level;constructor(e,t,s){this.view=e,this.index=t,this.level=s}static include(e,t){for(let s=0;s<e.length;s++){let n=e[s];if(n.view===t.view&&(t.index==-1||n.index===t.index)&&n.level===t.level)return!0}return!1}}class $t{views=[]}class un{layers=[]}class cn{time;route}class fn{forbidTime=300;submitRecorder=new cn;isSameRoute(e,t){return e==null||t==null?!1:e.name===t.name&&e.path===t.path&&e.root===t.root}acquire(e){let t=new Date().getTime();if(this.isSameRoute(e,this.submitRecorder.route)&&this.submitRecorder.time&&t-this.submitRecorder.time<=this.forbidTime){this.submitRecorder.time=t;return}return this.submitRecorder.route=e,this.submitRecorder.time=t,t}release(e){this.submitRecorder.time===e&&(this.submitRecorder.route=void 0)}}const Se=Symbol("_notifyChange");class vs{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const le=Symbol("historyChangeConsumerKey"),ws=Symbol("_navigateFirstRoute"),ze=Symbol("_getRouteMark"),Ft=Symbol("_getUrlSearch"),At=Symbol("_generateLocation"),Ge=Symbol("_setRouteMarkRecorder"),_e=Symbol("beforeRestoreFiltersKey"),bs=Symbol("_beforeRestore"),xs="Symbol(_fox_restore_point)";function Ke(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}function Rs(r){if(!Array.isArray(r))return!1;if(r.length===0)return!0;const e=r[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class Qs{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[le]=!1;[_e]=new Array;backTimeout=320;constructor(e="hash",t="",s="",n=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=s,this.firstNavigate=n,this.historyMonitor=i,this.traceless=o,this.storage=a??$().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=$();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[le]=="function"){const s=this[le]();if(this[le]=!1,s)return}else if(this[le]===!0){this[le]=!1;return}if(Ke(this.historyMonitor)){const s=t.history.state;this[Se](s);try{let n=[];if(typeof s=="string"?n=JSON.parse(s):n=s,Array.isArray(n)&&n.length>0){const i=this[ze]()??"/";this[Ge](i,n)}}catch{}}}),at(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[ws](),Promise.resolve()}destroy(){if(this.historyChange){const e=$();zt(e,"popstate",this.historyChange)}}[bs](e,t,s,n){for(let i of this[_e])try{const o=Reflect.apply(i,{},[e,t,s,n]);if(o===!1)return o}catch(o){console.error(o.message,o)}return!0}beforeRestoreEach(e){this[_e].push(e)}removeBeforeRestoreEach(e){const t=this[_e].indexOf(e);return t!==-1?(this[_e].splice(t,1),!0):!1}[ws](){const e=this[ze]()??"/",t=this.storage.getItem(xs);if(t)try{const o=JSON.parse(t);if(o.mark===e&&Array.isArray(o.routes)&&o.routes.length>0){const a=o.routes.filter((l,u)=>(l.params=l.params?qs(l.params):{},this[bs](l,u,e,o.routes)));if(a.length>0){const l=this[Ft](),u=a.length-1;a[u].query=l||a[u].query,this[Se](a);return}}}catch{}const s=e.indexOf("!");let n;s!=-1?n=e.substring(s+1):n=e;const i=new S;i.path=n,i.query=this[Ft](),this[Se]([i])}[Ge](e,t){try{t.forEach(i=>{i.params=i.params?js(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(xs,n)}catch(s){console.error(s.message,s)}}setRestorePoint(e){const t=this[ze]()??"/";this[Ge](t,e)}[Se](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[ze](){const e=$();if(this.mode==="path"){let t=e.location.pathname;return this.base&&t.indexOf(this.base)===0&&(t=t.substring(this.base.length)),t}else{const t=e.location.hash,s=t.indexOf("#");if(s!=-1)return t.substring(s+1)}return null}[Ft](){let t=$().location.search;return t.length>0&&t.indexOf("?")===0&&(t=t.substring(1)),t}listen(e){this.changeHandler=e}go(e,t=!1){const s=$();this[le]=t,s.history.go(e)}goBack(e,t){const s=$(),n=s.history.state;if(Rs(n)&&n.length>0){let i=!1;for(let c=n.length-1;c>=0;c--){const f=S.from(n[c]);if(!(f.historyUpdatePolicy==="traceless"||Ke(this.traceless,f))&&S.isSame(f,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{s.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const f=$().history.state;if(Rs(f)&&f.length>0){let h=f.length;const y=f[h-1],d=S.from(y);if(S.isSame(d,e))return t(),!0;if(h>0){let p=!1;for(let m=h-1;m>=0;m--){const w=S.from(f[m]);if(!(w.traceless===!0||Ke(this.traceless,w))&&S.isSame(w,e)){p=!0;break}}return p?(setTimeout(()=>{a=setTimeout(l,o),this.go(-1,u)},0),!0):(t(),!0)}}return t(),!0};a=setTimeout(l,o),this.go(-1,u)}else t()}setRouteMark(e){const t=e.currentRoute.fullPath;this[Ge](t,e.routes)}push(e){const t=this[At](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Ke(this.traceless,e.currentRoute)&&$().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[At](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Ke(this.traceless,e.currentRoute))&&$().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[At](e){const t=$();let s="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),c=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=c}else a=e.query;this.query?(s=a.length>0?`${this.query}&${a}`:this.query,s.length>0&&s.charAt(0)!=="?"&&(s=`?${s}`)):a.length>0&&(s=`?${a}`)}const n=t.location;let i=e.alias??e.fullPath;i.startsWith(X)&&(i=i.substring(X.length+1));let o;return s?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${s}`:o=`${this.base}/${i}${s}`:o=`${n.pathname}${s}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${n.pathname}#${i}`,`${n.origin}${o}`}}function hn(r=!0,e=null,t="",s=!0,n=!1,i){return e!==null&&(e=$().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new Qs("path",e??"",t,r,s,n,i)}function Ys(r=!0,e="",t=!0,s=!1,n){return new Qs("hash","",e,r,t,s,n)}class yn{maxSize=50;cursor=-1;queue=[];changeHandler;base;historyMonitor=!1;traceless=!1;constructor(e,t=50){this.base=e,this.maxSize=t}init(e=!0){return Promise.resolve()}destroy(){this.queue=[]}beforeRestoreEach(e){}removeBeforeRestoreEach(e){return!1}listen(e){this.changeHandler=e}[Se](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let s=this.cursor+e;if(s<0?s=0:s>this.queue.length-1&&(s=this.queue.length-1),s!=this.cursor){this.cursor=s;let n=!1;if(typeof t=="function"?n=t():n=t,!n){const i=this.queue[s];this[Se](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let s=0;if(e===null)s=this.cursor+1;else for(let n=this.cursor;n>=0;n--){const i=this.queue[n];if(S.isSame(i.currentRoute,e))break;s++}if(s===0){t();return}this.go(-s,()=>(t(),!0))}setRouteMark(e){}push(e){this.queue.length>=this.maxSize&&this.queue.splice(0,1),this.queue.push(e),this.cursor=this.queue.length-1}replace(e){let t=this.queue.length-this.cursor;this.queue.splice(this.cursor,t),this.queue[this.cursor]=e}setRestorePoint(e){}}function Zs(r="",e=50){return new yn(r,e)}const Xe=Symbol("_constructRouteModel"),Qe=Symbol("_findRouteModel"),Tt=Symbol("_findRootView"),Ss=Symbol("_getFirstView"),ae=Symbol("_removeView"),Ps=Symbol("_buildPage"),Cs=Symbol("_resolveComponent"),Es=Symbol("_update"),se=Symbol("_merge"),_t=Symbol("_handleHistoryChange"),Ye=Symbol("_handleRouteUpdated"),Ze=Symbol("routeUpdatedCallback"),b=Symbol("currentRoutes"),et=Symbol("routeSessionCacheKey"),$s=Symbol("_addRouteRecorder"),je=Symbol("_removeRouteRecorder"),tt=Symbol("_cloneRouteRecorder"),T=Symbol("_handleError"),st=Symbol("errorCallback"),D=Symbol("registerKey"),rt=Symbol("notFoundKey"),Kt=Symbol("notFoundPathKey"),H=Symbol("forestKey"),P=Symbol("historyKey"),qe=Symbol("beforeFiltersKey"),Le=Symbol("afterFiltersKey"),ke=Symbol("destroyFiltersKey"),jt=Symbol("propsFilterKey"),we=Symbol("mainDispatcherKey"),qt=Symbol("initKey"),ue=Symbol("readyKey"),Lt=Symbol("readyHandlersKey"),nt=Symbol("_markReady"),Fs=Symbol("_createNextFn"),kt=Symbol("_start"),Ot=Symbol("_before"),Mt=Symbol("_after"),As=Symbol("_destroy"),It=Symbol("_load"),Oe=Symbol("_unload"),Me=Symbol("routerGuardKey");function dn(r){return r.layers.length==0||r.layers[0].views.length==0}function pn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(s=>{if(!(s==null||s==null))if(typeof s.meta=="object"){let n=F(!0,{},s.meta);e.push(n)}else s.meta&&e.push(s.meta)})}),e}class mn{[D]=new Array;[rt];[Kt]="*";[ue]=!1;[Lt]=[];[H]=new un;[P];[b]=new Array;[et]=new WeakMap;[st]=null;[Ze]=null;[qe]=new Array;[Le]=new Array;[ke]=new Array;[jt]=null;[we]=new He;[Me]=new fn;[qt]=!1;get current(){const e=this[b].length;return e>0?this[b][e-1]:null}options;constructor(e){this.options=e??{},this.options.notFoundPath&&this.setNotFoundPath(this.options.notFoundPath);let t=this.options.routes||[];this.addRoutes(t),this.options.notFound&&this.setNotFoundRoute(this.options.notFound),e.history?this[P]=e.history:this[P]=he?Ys():Zs(),this[P]?.listen(async s=>{let n=!0;try{if(typeof s=="string"){const i=this[O](s);i&&await this[_t]([i])}else await this[_t](s)}catch(i){console.error(i.message,i),n=!1}this[ue]===!1&&this[nt](n)})}[T](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[st]=="function")try{this[st](e,t)}catch{}console.error(e)}init(){this[qt]!==!0&&(this[P]?.init(!this[ue]),this[qt]=!0)}isReady(){return this[ue]?Promise.resolve():new Promise((e,t)=>{this[Lt].push([e,t])})}[nt](e){this[ue]=!0,this[Lt].forEach(([t,s])=>{try{e?t():s()}catch(n){console.error(n.message,n)}})}[_t](e){try{if(!e){let o=[...this[b]].reverse();return this[Oe](o),he&&$().location.reload(),Promise.resolve()}let t=null,s=[],n=[],i=0;for(;i<e.length&&i<this[b].length&&S.isSame(e[i],this[b][i]);i++)e[i].active===!0&&e[i].active!==this[b][i].active&&(t=e[i]);if(i<e.length&&(s=e.slice(i)),i<this[b].length&&(n=this[b].slice(i).reverse()),n.length===0&&s.length===0){if(t!==null)return this.restore([t])}else if(n.length>0){if(this[Oe](n)){if(s.length>0)return this.restore(s);if(t!==null)return this.restore([t])}}else return this.restore(s)}catch(t){this[T](t)}return Promise.resolve()}[Ye](e=null){if(e||(e=this.current),typeof this[Ze]=="function")try{this[Ze](e)}catch{}}[$s](e,t){if(e.opsType===E.Open){let s=!1;const n=this[b].length-1;for(let i=n;i>=0;i--){const o=this[b][i];if(e.root==o.root){if(e.path===o.path){this[b].splice(i,1,e),s=!0;continue}e.active&&(o.active=!1)}}s||this[b].push(e)}else this[b].push(e);this[et].set(e,t)}[tt](){let e=[];for(let t of this[b]){let s=S.clone(t,!0);e.push(s)}return e}[je](e){if(!this[b])return;let t=-1;for(let s=0;s<this[b].length;s++)if(S.isSame(this[b][s],e)){t=s;break}if(t!=-1){let s=this[b][t];this[b].splice(t,1);const n=this[et].get(s);this[et].delete(s),this[As](s,n)}}set historyMonitor(e){this[P]&&(this[P].historyMonitor=e)}get historyMonitor(){return this[P]?this[P].historyMonitor:!1}set traceless(e){this[P]&&(this[P].traceless=e)}get traceless(){return this[P]?this[P].traceless:!1}set propsFilter(e){this[jt]=e}get propsFilter(){return this[jt]}setRestorePoint(){const e=this[tt]();this[P]?.setRestorePoint(e)}onRouteUpdated(e){this[Ze]=e}onError(e){this[st]=e}beforeEach(e){this[qe].push(e)}removeBeforeEach(e){const t=this[qe].indexOf(e);return t!==-1?(this[qe].splice(t,1),!0):!1}afterEach(e){this[Le].push(e)}removeAfterEach(e){const t=this[Le].indexOf(e);return t!==-1?(this[Le].splice(t,1),!0):!1}destroyEach(e){this[ke].push(e)}removeDestroyEach(e){const t=this[ke].indexOf(e);return t!==-1?(this[ke].splice(t,1),!0):!1}beforeRestoreEach(e){this[P]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[P]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Kt]){this.setNotFoundRoute(e);return}const s=this[Xe](e);if(t==-1)this[D]=[...this[D],...s];else for(let n=s.length-1;n>=0;n--)this[D].splice(t,0,s[n])}removeRoute(e){const t=this[O](e);if(t===null)return console.warn("route格式错误",e),!1;for(let s=0;s<this[D].length;s++){const n=this[D][s];if(t?.path&&n.path===t.path)return this[D].splice(s,1),!0;if(t?.name&&n.name===t.name)return this[D].splice(s,1),!0}return!1}hasRoute(e){const t=this[O](e);return t===null?(console.warn("route格式错误",e),!1):this[D].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Kt]=e}setNotFoundRoute(e){const t=this[Xe](e);this[rt]=t[0]}getRoutes(){return[...this[D]]}[Xe](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let s=e.components??(e.component&&{"":e.component});if(s==null){const a=new xt;return a.path=t,a.redirect=e.redirect,[a]}let n=[];for(let a in s){let l=s[a];a.length===0&&(a=X);let u=new Or(a,l,e.props,e.meta);n.push(u)}let i=!1,o=[];if(e.children)for(let a of e.children){let l=this[Xe](a);for(let u of l){let c=new xt;c.name=u.name,u.path&&u.path.length>0?t!=="/"?c.path=`${t}${u.path}`:c.path=u.path:(i=!0,c.path=t);let f=new hs;f.models=[...n],c.layers=[f,...u.layers],o.push(c)}}if(!i){const a=new hs;a.models=n;const l=new xt;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[Qe](e){const t=e.route;try{for(let s of this[D]){const n=t.template??t.path,i=t.template??t.name;if(n&&s.path){let o=s.match;o||(o=s.match=Gr(s.path));const a=o(n);if(!a)continue;if(s.redirect){const l=new S;F(!0,l,t),l.path=s.redirect;const u={route:l,find:void 0};return this[Qe](u)?(e.route=u.route,e.find=u.find,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0):!1}if(t.params=t.params??{},F(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},c=l.split("&");for(let f of c){const h=f.split("=");if(h.length!==2)continue;const y=decodeURIComponent(h[0].trim()),d=decodeURIComponent(h[1].trim());u[y]=d}F(!0,t.params,u)}else typeof l=="object"&&F(!0,t.params,l)}return e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===s.name){t.params=t.params??{};const o=zr(s.path);return t.path=o(t.params),e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(s){console.error(s.message,s),typeof t.error=="function"&&t.error(s.message)}return!1}[O](e){let t=null;if(Array.isArray(e))if(t=new S,typeof e[0]=="object")t=S.from(e[0]);else for(let s=0;s<e.length;s++)s===0?e[s].charAt(0)==="/"?t.path=e[s]:t.name=e[s]:s===1?t.params=e[s]:s===2?t.root=e[s]:s===3&&F(!1,t,e[s]);else typeof e=="object"?t=S.from(e):typeof e=="string"&&(t=new S,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let s=t.path.indexOf("?");s!==-1&&s<t.path.length-1&&(t.query=t.path.substring(s+1),t.path=t.path.substring(0,s))}t.root=t.root??X,t.opsType=t.opsType??this.options.defaultOperationType??E.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[O](e);return t?(t.opsType=E.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}put(...e){const t=this[O](e);return t?(t.opsType=E.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[T]("resolve route fail",t),this)}replace(...e){const t=this[O](e);return t?(t.opsType=E.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[T]("resolve route fail",t),this)}append(...e){const t=this[O](e);return t?(t.opsType=E.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}remove(e,t){return new Promise(s=>{this[we].post(n=>{try{if(this[b].length===0){n.resolve(),s(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[b][0].root??X,e.all)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];c.opsType===E.Append&&c.root===o&&(a.splice(0,0,c),i=u-1)}else if(e.until)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];if(c.opsType===E.Append&&c.root===o){if(e.until.charAt(0)==="/"&&e.until===c.path){i=u;break}else if(e.until===c.name){i=u;break}a.splice(0,0,c)}}else if(e.to)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];if(c.opsType===E.Append&&c.root===o){if(a.splice(0,0,c),e.to.charAt(0)==="/"&&e.to===c.path){i=u-1;break}else if(e.to===c.name){i=u-1;break}}}}else{o=X;let u=this[Ss](this[H]);u&&(o=u.name);for(let c=this[b].length-1;c>0;c--){let f=this[b][c];if(f.opsType===E.Append&&f.root===o){a.push(f),i=c-1;break}}}if(i===-1||a.length===0){let u="can not find route";console.warn(u),n.resolve(u),s(!1);return}let l=null;if(i!==-1&&(l=this[b][i]),this[Oe](a)){if(t===!1)return n.resolve(),s(!0),!0;const u=()=>(n.resolve(),s(!0),!0),c=this[b].length;if(l&&S.isSame(l,this[b][c-1])){this[P]?.goBack(l,u);return}u()}}catch(i){this[T](i),n.resolve(),s(!1)}})})}open(...e){let t=this[O](e);return t?(t.opsType=E.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}close(e){return this[we].post(t=>{try{let s=this[O](e);if(!s){t.reject("resolve route fail");return}let n=[];for(let i=0;i<this[b].length;i++){let o=this[b][i];if(o.root===s.root){if(!s.path&&!s.name){n.push(o);continue}if(s.path&&s.path===o.path){n.push(o);break}else if(s.name&&s.name===o.name){n.push(o);break}}}if(n.length===0){t.resolve();return}this[Oe](n)&&this[Ye](),t.resolve()}catch(s){this[T](s),t.resolve()}}),this}to(...e){let t=this[O](e);if(!t)return this[T]("resolve route fail",t),this;let s=this[Me].acquire(t);return s==null?(this[T]("route forbid",t),this):(this[we].post(n=>{try{let i=this[kt](t);this[Ot](i),this[It](i),this[Mt](i),i.wait((o,a)=>{const l=o.session.to;if(o.session.updateResult&&o.session.updateResult.status==="success")try{let u=S.clone(l,!0);const c=new vs(u,this[tt]());l.historyUpdatePolicy==="replace"?this[P]?.replace(c):l.historyUpdatePolicy==="traceless"?this[P]?.setRouteMark(c):this[P]?.push(c)}catch(u){console.error(u.message,u)}if(Re.clear(o.session),this[Me].release(s),this[Ye](l),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[ue]===!1&&this[nt](!0),i=null,n.resolve()},(o,a)=>{this[Me].release(s),a!==null&&this[T](a,t),this[ue]===!1&&this[nt](!1),Re.clear(o.session),i=null,n.resolve()})}catch(i){this[Me].release(s),this[T](i,t),n.resolve()}}),this)}back(e=1){this[P]?.go(-e,!1)}[Fs](e){return(t,s)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(s??null);else if(t){const n=this[O](t);if(n){const i=e.session.to;n.success=i.success,n.error=i.error,e.session.to=n,e.session.redirect=!0,e.session.routeModel=null,e.resolve()}else e.session.redirect=!1,e.reject("route resolve fail")}else e.session.redirect=!1,e.resolve()}}[kt](e){const t=this[b].length>0?this[b][this[b].length-1]:void 0,s=new Re(e,t),n={route:e,find:null};return this[Qe](n),n.find&&(s.routeModel=n.find,e.matched=pn(n.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=n.find.layers[0].models[0].meta)),new He(s)}[Ot](e){for(let t of this[qe])e.post(s=>{const n=this[Fs](s);Reflect.apply(t,{},[s.session.to,s.session.from,n,s.session])})}[Mt](e){e.post(t=>{for(let s of this[Le])try{Reflect.apply(s,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[As](e,t){for(let s of this[ke])try{Reflect.apply(s,{},[e,t])}catch(n){console.error(n.message,n)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[It](e){e.post(t=>{const s=t.session.to;let n=t.session.routeModel;if(n==null){let o={route:s,find:null};if(this[Qe](o))n=o.find,t.session.routeModel=n;else if(this[rt])n=this[rt];else{t.reject(`not find route model, path:${s.path??s.name}`);return}}const i=Re.from(t.session);this[Ps](s,n,i).then(o=>{this[H],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Oe](e){if(e.length==0)return!0;let t=this[H],s=[];for(let n of e){let i=this[Tt](t,n);i!=null&&s.push({...i,route:n})}if(s.length==0)return this[T]("can not find view index"),!1;for(let n of s.reverse())this[ae](t,{x:n.x,y:n.y},[n.route.index??0],!0);return!0}[Tt](e,t){const s=t.root??X;let n;for(let i=0;i<e.layers.length;i++){const o=e.layers[i];for(let a=o.views.length-1;a>=0;a--){const l=o.views[a];if(l[V]&&l[ot]===s)return n={x:a,y:i},n}}return null}[Ss](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ae](e,t,s=null,n=!0){if(t.y>=e.layers.length||t.x>=e.layers[t.y].views.length)return;let i=e.layers[t.y].views[t.x],o=!1,a=[],l=!1,u=[...i.slots.value];for(let f=u.length-1;f>=0;f--){let h=u[f];(!s||s.indexOf(h.index)!=-1)&&(h.route&&i[V]&&(this[je](h.route),h.active===!0&&h.route.opsType==E.Append&&(l=!0)),a.push(new N(i,h.index,t.y)),u.splice(f,1))}if(u.length==0)n?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let f=u.length-1,h=u[f];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let c=t.y+1;for(;c<e.layers.length;c++){let f=e.layers[c].views,h=[];for(let y=f.length-1;(o||a.length>0)&&y>=0;y--){let d=f[y];if(d[ce]&&(o||N.include(a,d[ce]))){let p=d.slots.value;for(let m=p.length-1;m>=0;m--){let w=p[m];w.route&&d[V]&&this[je](w.route),h.push(new N(d,w.index,c)),p.splice(m,1)}e.layers[c].views.splice(y,1)}}a=h,e.layers[c].views.length==0&&(o=!0)}}restore(e){if(!e||this[D].length==0){let t=this[H];if(t.layers.length>0){let s=t.layers[0].views;s.length>0&&(s[0].slots.value=[])}return this[b]=[],this[Ye](),Promise.resolve()}else return new Promise((s,n)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[we].post(u=>{const c=this[kt](l);this[Ot](c),this[It](c),this[Mt](c),c.wait((f,h)=>{i=f.session.to,o=f.session.redirect,u.resolve()},(f,h)=>{i=null,h!==null&&this[T](h),u.resolve()})})}this[we].post(a=>{if(i&&o===!0){const l=S.clone(i,!0),u=new vs(l,this[tt]());this[P]?.replace(u)}a.resolve(),s()})})}[Ps](e,t,s){const n=e.updateType??it.Part;return this[Cs](t).then(()=>{const o=this[Es](t,e,s,n);if(o.status==="error")throw Error(o.message);return o})}[Cs](e){let t=[];for(let s=0;s<e.layers.length;s++){let n=e.layers[s];for(let i=0;i<n.models.length;i++){let o=n.models[i];o.isResolved||t.push(o.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[Es](e,t,s,n){if(e.layers[0].models.length!==1)return{status:"error",message:"illegal route structure(multi root node)"};const i=e.layers[0].models[0];let o=this[H],a=dn(o),l=t.root??X,u;!a&&n==it.Part&&(u=this[Tt](o,t));let c,f=0;if(u==null||u==null)if(a||n===it.All){if(o.layers.length==0&&(o.layers[0]=new $t),o.layers[0].views.length==0){let h=t.root??X;c=new Te(h,!0,null),o.layers[0].views=[c]}else c=o.layers[0].views[0];u={x:0,y:0}}else{let h=t.slot;if(!h)return{status:"error",message:"can not rebuild view(because not route slot)"};let y=h.level;if(y>o.layers.length)return{status:"error",message:"can not insert view(override level)"};let d;if(h.rootName){let p=o.layers[y-1];for(let m of p.views){if(m[V]&&m.name===h.rootName){d=new N(m,h.rootIndex??0,y-1);break}if(m[B]&&m[B].view.name===h.rootName&&m[B].index===h.rootIndex){d=m[B];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};c=new Te(l,!0,d),o.layers[y].views.push(c),u={x:o.layers[y].views.length-1,y}}else c=o.layers[u.y].views[u.x];if(f=u.y,c[V]=!0,t.opsType===E.Append){t.index=t.index??ie.get(),t.active=!0;let h=c.slots.value;if(h.length>0){let w=h[h.length-1];w.active=!1,w.route&&(w.route.active=w.active)}let y=new te(t,i,t.index,!0);c.slots.value=[...h,y];let d=f+1,p=1,m=new N(c,t.index,f);this[se](o,d,e,p,m)}else if(t.opsType===E.Open){let h=c.slots.value;const y=t.active??!0;let d=!1;for(let p of h){if(p.route!==null&&S.isSameForRouteModel(p.route,t)){if(p.active===y)return t.index=p.index,t.active=y,p.route=t,{status:"no-change",message:""};p.active=y,d=!0,t.index=p.index,t.active=y,p.route=t}else y&&(p.active=!1);p.route&&(p.route.active=p.active)}if(!d){t.index=t.index??ie.get(),t.active=y;let p=new te(t,i,t.index,y);h.push(p);let m=f+1,w=1,v=new N(c,t.index,f);this[se](o,m,e,w,v)}c.slots.value=[...h]}else{let h=c.slots.value;if(h.length==0){t.index=t.index??ie.get(),t.active=!0,c.slots.value=[new te(t,i,t.index)];let y=f+1,d=1,p=new N(c,t.index,f);this[se](o,y,e,d,p)}else{let y=h[0];if(y.model!==i){this[ae](o,u,null,!0),t.index=t.index??ie.get(),t.active=!0,c.slots.value=[new te(t,i,t.index)];let d=f+1,p=1,m=new N(c,t.index,f);this[se](o,d,e,p,m)}else{y.route!==null&&this[je](y.route);let d=!1;const p=t.active??!0;y.active!==p&&(y.active=p,d=!0),t.active=p,t.index=y.index,y.route=t;let m=[];for(let Q=1;Q<h.length;Q++)m.push(h[Q].index);m.length>0?this[ae](o,u,m,!0):d&&(c.slots.value=[...h]);let w=[new N(c,t.index,f)],v=f+1,_=1,ee=new N(c,t.index,f);for(;w.length>0&&v<o.layers.length&&_<e.layers.length;v++,_++){let Q=[];for(let K=0;K<o.layers[v].views.length;K++){let j=o.layers[v].views[K];j[ce]&&N.include(w,j[ce])&&Q.unshift(K)}let pe=[];for(let K of Q){let j=o.layers[v].views[K],oe=e.layers[_].models,Y;for(let L=0;L<oe.length;L++)if(j.name===oe[L].name){Y=oe[L];break}if(!Y)this[ae](o,{x:K,y:v},null,!1);else{let L=j.slots.value;if(L.length==0){let W=0;j.slots.value=[new te(null,Y,W)];let U=v+1,Z=_+1;this[se](o,U,e,Z,ee)}else{let W=L[0];if(W.model!==Y){this[ae](o,{x:K,y:v},null,!0),j.slots.value=[new te(null,Y,0)];let U=v+1,Z=_+1;this[se](o,U,e,Z,ee)}else{j[V]&&W.route!==null&&this[je](W.route);let U=[];for(let Z=1;Z<L.length;Z++)U.push(L[Z].index);U.length>0&&this[ae](o,{x:K,y:v},U,!0),pe.push(new N(j,W.index,v))}}j[V]=!1}}w=pe}this[se](o,v,e,_,ee)}}}if(c&&c[B]){let h=c[B];h&&(t.slot=new kr(l,f,h?.view.name,h?.index??0))}return s.to=void 0,s.routeModel=void 0,this[$s](t,s),{status:"success",message:""}}[se](e,t,s,n,i){let o=n,a=t;for(;a<e.layers.length&&o<s.layers.length;a++,o++){let l=e.layers[a].views;for(let u of s.layers[o].models){let c=new Te(u.name,!1,i),f=new te(null,u);c.slots.value=[f],l.push(c)}}for(;o<s.layers.length;o++){let l=new $t;l.views=[];for(let u of s.layers[o].models){let c=new Te(u.name,!1,i),f=new te(null,u);c.slots.value=[f],l.views.push(c)}e.layers.push(l)}}[Ns](e,t,s,n,i,o){if(t<0||t>this[H].layers.length)return null;if(t<this[H].layers.length){let c=this[H].layers[t],f=null;for(let h of c.views){let y=!1;if(s!==null?(y=h.name===e&&h[B]?.view===s,y&&n!==-1&&(y=h[B]?.index===n)):y=h.name===e,!!y){i!==null&&(h[ce]={view:i,index:o,level:t-1}),f=h;break}}if(f!==null)return f}let a=null,l=null;i!==null&&(i[V]?a={view:i,index:o,level:t-1}:a=i[B],l={view:i,index:o,level:t-1});let u=new Te(e,!0,a);if(u[ce]=l,t==this[H].layers.length){let c=new $t;c.views=[u],this[H].layers.push(c)}else this[H].layers[t].views.push(u);return u}}const gn="fox-router-view",vn="fox-router-link";function er(r,e=!1){let t=null;return e?t=r.showFromClass??r.enterFromClass:t=r.enterFromClass,t||(t=r.transitionName,t?e?`${t}-show-from`:`${t}-enter-from`:null)}function tr(r,e=!1){let t=null;return e?t=r.showActiveClass??r.enterActiveClass:t=r.enterActiveClass,t||(t=r.transitionName,t?e?`${t}-show-active`:`${t}-enter-active`:null)}function wn(r,e=!1){let t=null;return e?t=r.showToClass??r.enterToClass:t=r.enterToClass,t||(t=r.transitionName,t?e?`${t}-show-to`:`${t}-enter-to`:null)}function sr(r,e=!1){let t=null;return e?t=r.hideFromClass??r.leaveFromClass:t=r.leaveFromClass,t||(t=r.transitionName,t?e?`${t}-hide-from`:`${t}-leave-from`:null)}function rr(r,e=!1){let t=null;return e?t=r.hideActiveClass??r.leaveActiveClass:t=r.leaveActiveClass,t||(t=r.transitionName,t?e?`${t}-hide-active`:`${t}-leave-active`:null)}function bn(r,e=!1){let t=null;return e?t=r.hideToClass??r.leaveToClass:t=r.leaveToClass,t||(t=r.transitionName,t?e?`${t}-hide-to`:`${t}-leave-to`:null)}function xn(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function Rn(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function Sn(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function Pn(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function Cn(r,e=!1){let t=null;return e?t=r.beforeHide??r.beforeLeave:t=r.beforeLeave,t}function En(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function $n(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function Fn(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function ns(r){let e,t=r.duration;return typeof t=="object"?e={enter:t.enter??-1,leave:t.leave??-1,show:t.show??-1,hide:t.hide??-1}:(typeof t=="string"&&(t=t.length==0?-1:Number(t)),e={enter:t,leave:t,show:t,hide:t}),e}function Ee(r,e){r.classList.contains(e)||r.classList.add(e)}function Pe(r,e){r.classList.remove(e)}const An=he&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function mt(r){An(r)}function A(r,e,t){x(e)&&(r==null&&(r={}),Reflect.apply(e,r,t))}function nr(r,e,t,s=-1,n,i,o,a){let l=[];const u=()=>{for(let c of l)zt(e,c.type,c.listener);l=[]};if(x(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,s]),x(a)&&Reflect.apply(a,r,[])},n);return}const c=["animationend","transitionend",ut],f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(i,r,[e,t,s]))};c.forEach(h=>{at(e,h,f),l.push({type:h,listener:f})})}if(x(o)){const c="animationcancel",f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(o,r,[e,t,s]))};at(e,c,f),l.push({type:c,listener:f})}}function gt(r){return!he||r===null?!1:r.opsType===E.Append||r.opsType===E.Open}function ir(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=er(s,e);o&&Ee(t,o);const a=tr(s,e);a&&Ee(t,a);const l=xn(s,e);A(r,l,[t,e,n,i])}}function or(r,e,t,s={},n,i,o,a){if(!gt(i)&&!e){x(a)&&a(r,a,[t]);return}const l=er(s,e),u=tr(s,e),c=wn(s,e),f=Rn(s,e),h=Sn(s,e),y=Pn(s,e);if(!l&&!u&&!c&&!f){x(a)&&a(r,a,[t]);return}mt(()=>{nr(r,t,i,o,n,()=>{u&&Pe(t,u),c&&Pe(t,c),x(h)&&A(r,h,[t,e,i,o]),x(a)&&a(r,a,[t])},()=>{x(y)&&A(r,y,[t,e,i,o])}),l&&Pe(t,l),c&&Ee(t,c),x(f)&&A(r,f,[t,e,i,o])})}function lr(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=sr(s,e);o&&Ee(t,o);const a=rr(s,e);a&&Ee(t,a);const l=Cn(s,e);A(r,l,[t,e,n,i])}}function ar(r,e,t,s={},n,i,o,a,l){if(!gt(o)&&!e){x(l)&&A(r,l,[t]),!e&&x(i)&&i();return}const u=sr(s,e),c=rr(s,e),f=bn(s,e),h=En(s,e),y=$n(s,e),d=Fn(s,e);if(!u&&!c&&!f&&!h){x(l)&&A(r,l,[t]),!e&&x(i)&&i();return}mt(()=>{nr(r,t,o,a,n,()=>{c&&Pe(t,c),f&&Pe(t,f),x(y)&&A(r,y,[t,e,o,a]),x(l)&&A(r,l,[t]),!e&&x(i)&&i()},()=>{x(d)&&A(r,d,[t,e,o,a]),x(l)&&A(r,l,[t]),!e&&x(i)&&i()}),u&&Pe(t,u),f&&Ee(t,f),x(h)&&A(r,h,[t,e,o,a])})}function Jt(r,e,t={},s,n=-1){const i=t.mode??"default",o=ns(t);return{mode:i,persisted:!1,beforeEnter:l=>{ir(r,!1,l,t,s,n)},enter:l=>{or(r,!1,l,t,o.enter,s,n)},leave:(l,u)=>{lr(r,!1,l,t,s,n),ar(r,!1,l,t,o.leave,u,s,n,()=>{e.transition=null,e=null})},clone:l=>Jt(r,e,t,s,n)}}function ur(r){return r.el}function Tn(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ns(t);ir(r,!0,a,t,s,n),or(r,!0,a,t,l.show,s,n,u=>{x(o)&&A(r,o,[u])})}else x(o)&&A(r,o,[])}function _n(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ns(t);lr(r,!0,a,t,s,n),ar(r,!0,a,t,l.hide,null,s,n,u=>{x(o)&&A(r,o,[u])})}else x(o)&&A(r,o,[])}function Kn(r,e={}){mt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function cr(r,e,t={},s,n=-1){return{mode:t.mode??"default",persisted:!1,beforeEnter:a=>{Je(Ds,{},a)},enter:a=>{Je(Hs,{},a)},leave:(a,l)=>{Je(Us,{},a),mt(()=>{const u=c=>{const f=c.target||c.srcElement,h=c.currentTarget;f===h&&(zt(a,ut,u),l&&Reflect.apply(l,r,[]),e.transition=null,e=null)};at(a,ut,u),Je(Bs,{},a)})},clone:a=>cr(r,e,t,s,n)}}function re(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function Nt(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}function be(r,e){return typeof e=="function"?e(r):r}class jn{node;state;constructor(e,t){this.node=e,this.state=t}}const Wt=g.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,required:!1,default:"default"},modelSlot:{type:[Object],required:!1},multi:{type:Boolean,required:!1,default:!1},tag:{type:[String,Object,Function],required:!1,default:"div"},viewTag:{type:[String,Object,Function],required:!1,default:"div"},viewTagProps:{type:[Object,Function],required:!1,default(){return{}}},viewClass:{type:[String,Function],required:!1},viewActiveClass:{type:[String,Function],required:!1},viewInactiveClass:{type:[String,Function],required:!1},transition:{type:[Boolean,String,Function],required:!1,default:!1},transitionName:{type:String,required:!1},enterFromClass:{type:String,required:!1},enterActiveClass:{type:String,required:!1},enterToClass:{type:String,required:!1},leaveFromClass:{type:String,required:!1},leaveActiveClass:{type:String,required:!1},leaveToClass:{type:String,required:!1},showFromClass:{type:String,required:!1},showActiveClass:{type:String,required:!1},showToClass:{type:String,required:!1},hideFromClass:{type:String,required:!1},hideActiveClass:{type:String,required:!1},hideToClass:{type:String,required:!1},beforeEnter:{type:Function,required:!1},enter:{type:Function,required:!1},afterEnter:{type:Function,required:!1},enterCancelled:{type:Function,required:!1},beforeLeave:{type:Function,required:!1},leave:{type:Function,required:!1},afterLeave:{type:Function,required:!1},leaveCancelled:{type:Function,required:!1},beforeShow:{type:Function,required:!1},show:{type:Function,required:!1},afterShow:{type:Function,required:!1},showCancelled:{type:Function,required:!1},beforeHide:{type:Function,required:!1},hide:{type:Function,required:!1},afterHide:{type:Function,required:!1},hideCancelled:{type:Function,required:!1}},setup(r,e){const t=g.getCurrentInstance();if(t===null||t.proxy===null){console.error("instance or instance.proxy not exist");return}const s=r.multi===!0,n=g.inject(dt,null),i=g.inject(St,0),o=g.inject(ms,null),a=g.inject(Pt,-1);let l=null,u=r.modelSlot;if(u){if(g.provide(St,i+1),g.provide(Pt,u.index),g.provide(Ct,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=ct(t.proxy,!0);Hr(h),ps(h,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const f=r.name,h=g.inject(gs,null),y=g.inject(Ct,0);if(l=n[Ns](f,i,o,a,h,y),l===null)return;g.provide(gs,l);const d=l[V]===!0;if(d&&g.provide(ms,l),!s&&(g.provide(Pt,-1),g.provide(St,i+1),g.provide(Ct,-1),d)){const p=ct(t.proxy,!0);ps(p,()=>{const m=l.slots.value;return m.length>0?m[0].route:null})}}const c={value:new Map};return g.onUnmounted(()=>{if(c.value&&c.value.clear(),u){const f=u;f.route=null,f.model=null,f.instance=null,u=void 0}}),()=>{if(s){const f=new Map,h=[],y=l?.slots.value,d=[];for(let w=0;w<y.length;w++){const v=y[w],_=`${r.name}_${v.index}`,ee=re(r.transition,v.route,w)??!0,Q={modelSlot:v};let pe;e.slots.default?pe=g.h(Wt,Q,{default:e.slots.default}):pe=g.h(Wt,Q);const K={},j=re(r.viewClass,v.route,w);typeof j=="string"&&j.length>0&&(K[j]=!0);const oe=re(r.viewActiveClass,v.route,w),Y=re(r.viewInactiveClass,v.route,w),L=c.value.get(_);if(typeof oe=="string"&&oe.length>0&&(K[oe]=v.active),typeof Y=="string"&&Y.length>0&&(K[Y]=!v.active),L&&v.active!==L.state){const M=L.node;v.active?d.unshift(()=>{const vt=()=>{let $e=ys(M);$e!=null&&ds($e,Vt.ACTIVATED)};Tn(t,M,r,v.route,w,ee,vt)}):d.push(()=>{const vt=()=>{const $e=ys(M);$e!=null&&ds($e,Vt.DEACTIVATED)};_n(t,M,r,v.route,w,ee,vt)})}const W={class:K,key:_},U=re(r.viewTagProps,v.route,w);if(U!==null&&typeof U=="object"){const M=be(U,n?.propsFilter);F(!0,W,M)}if(v.route?.viewTagAttrs&&typeof v.route?.viewTagAttrs=="object"){const M=be(v.route.viewTagAttrs,n?.propsFilter);F(!0,W,M)}const Z=re(r.viewTag,v.route,w),me=g.h(Z,W,{default:()=>[pe]});if(f.set(_,new jn(me,v.active)),c.value.delete(_),ee===!0){const M=Jt(t,me,r,v.route,w);me.transition=M}else if(ee==="custom"){const M=cr(t,me,r,v.route,w);me.transition=M}h.push(me)}c.value=f,Kn(d,t);const p=re(r.tag,null,-1),m={};return Object.assign(m,e.attrs),g.h(p,m,{default:()=>h})}else if(u!=null){const f=u.model,h={};if(f.props){if(typeof f.props=="object"){const d=be(f.props,n?.propsFilter);F(!1,h,d)}else if(f.props===!0&&typeof u.route?.params=="object"){const d=be(u.route.params,n?.propsFilter);F(!1,h,d)}}const y=g.h(f.component,h);return Nt(e.slots.default,{Component:y,route:u.route})??y}else{const f=l.slots.value;if(f.length>0){const h=f[0],y=h.route??(t.proxy&&ts(t.proxy))??null,d=h.model,p={};if(d.props){if(typeof d.props=="object"){const v=be(d.props,n?.propsFilter);F(!1,p,v)}else if(d.props===!0&&typeof y?.params=="object"){const v=be(y.params,n?.propsFilter);F(!1,p,v)}}const m=g.h(d.component,p);if(re(r.transition,y,-1)??!0){const v=Jt(t,m,r,y,-1);m.transition=v}return Nt(e.slots.default,{Component:m,route:y})??m}else return Nt(e.slots.fallback,{})}}}});function qn(r){if(!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)&&!r.defaultPrevented&&!(r.button!=null&&r.button!==0)){if(r.currentTarget&&r.currentTarget.getAttribute){const e=r.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return r.preventDefault&&r.preventDefault(),!0}}function Ln(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function kn(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function xe(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let On=g.defineComponent({name:"RouterLink",inheritAttrs:!1,props:{tag:{type:[String,Object,Function],required:!1,default:"a"},to:{type:[String,Object,Function],required:!0},root:{type:String},activeClass:{type:[String,Function],required:!1,default:"fox-router-link-active"},exact:{type:[String,Boolean,Function],required:!1},exactActiveClass:{type:[String,Function],required:!1,default:"fox-router-link-exact-active"},event:{type:[String,Function],required:!1,default:"onClick"}},setup(r,e){const t=g.inject(dt,null);return()=>{let s=xe(r.to,null),n=xe(r.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[O](s),r.root&&(i.root=r.root),o=t.current);let a={},l=xe(r.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=kn(i,o)),xe(r.exact,i)===!0){let h=xe(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=Ln(i,o))}let c={class:a};(n==="a"||n==="A")&&(c.href=i?.path??i?.name??"#"),F(!0,c,e.attrs);let f=xe(r.event,i);if(typeof f=="string"){const h=y=>{if(t==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}qn(y)&&t.to(i)};c[f]=h}return g.h(n,c,e.slots)}}});var q=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(q||{}),lt=(r=>(r[r.normal=0]="normal",r[r.factory=1]="factory",r))(lt||{});class Mn{register=new Map;constructor(){}get(e){return this.register.get(e)??null}set(e,t){this.register.set(e,t)}remove(e){let t=this.register.get(e);return this.register.delete(e),t??null}has(e){return this.register.has(e)}clear(){this.register.clear()}}class Ts{moduleManager=new Mn;options={paths:{},alias:{},nature:[],timeout:3e3};set paths(e){this.options.paths=e}get paths(){return this.options.paths}set alias(e){this.options.alias=e}get alias(){return this.options.alias}set naturePaths(e){this.options.nature=e}get naturePaths(){return this.options.nature}set timeout(e){this.options.timeout=e}get timeout(){return this.options.timeout}_query;set query(e){this._query=e}get query(){return this._query}get head(){return Ve().head}constructor(){}setModule(e,t){const s={id:e,src:"",status:q.Defined};typeof t=="function"?(s.exports=t,s.type=lt.factory):s.exports=t,this.moduleManager.set(e,s)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let s=e.length-1;const n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let l=0;l<=s;l++)if(Array.isArray(e[l])){let u=e[l];for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}const o=new In(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(c){console.error(c.message,c)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(c){console.error(c.message,c)}}),a=new He;for(let l=0;l<t.length;l++){const u=new Nn(l,t[l],n,o);this.mount(a,u)}return this}remove(...e){let t=[],s=e.length-1,n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let o=0;o<=s;o++)if(Array.isArray(e[o])){let a=e[o];for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}else{let a=e[o].split(",");for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}return t.forEach(o=>{this.unmount(o,n)}),typeof i=="function"&&Reflect.apply(i,{},[]),this}mount(e,t){if(t.src==="exports"){e.post(n=>{t.progress.work(!0,t.index,"exports"),n.resolve()});return}else if(t.src==="module"){e.post(n=>{t.progress.work(!0,t.index,"module"),n.resolve()});return}if(this.isNaturePath(t.src)){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(this.isNaturePath(t.src)){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}let s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(s==="css"){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}}mountCSS(e,t,s){e.post(n=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==q.Defined||o.status==q.Loaded)&&o.exports){o.type===lt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}const a=Ve(),l=a.createElement("link");if(Reflect.has(l,"onload"))l.onload=()=>{l.onload=null,l.onerror=null,t.progress.work(!0,t.index,t.src),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),n.reject()};else{const f={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),n.resolve()},error:()=>{try{s.removeChild(l)}catch(h){console.error(h.message,h)}t.progress.work(!1,t.index,null),n.resolve()}};setTimeout(()=>{fr(l,f)},1)}let c=a.getElementById(i);c&&c.parentNode&&c.parentNode.removeChild(c),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,s.appendChild(l)})}mountJS(e,t,s){e.post(n=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==q.Defined||o.status==q.Loaded)){if(o.exports){o.type===lt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}if(document.querySelector(`script[src='${i}`)){t.progress.work(!0,t.index,o.exports),n.resolve();return}}o={id:i,src:i,status:q.Loading},this.moduleManager.set(i,o);const l=Ve().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===q.Loading&&(o.status=q.Loaded,t.progress.work(!0,t.index,i)),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),n.resolve()};else{const f=l;f.onreadystatechange=()=>{/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,o.status==q.Loading&&(o.status=q.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const c=$();c.define=this.createDefine(o,t),s.appendChild(l)})}unmount(e,t={}){const s=Ve(),n=this.getFileNamePostfix(e);if(n==="js"||n.length===0){const i=s.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(n==="css"){const i=s.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let s=0;s<e.length;s++){if(e[s]===void 0||e[s]===null)continue;const n=e[s].trim();n.length!==0&&t.push(n)}return t}createDefine(e,t){const s=this,n=function(...i){e.status=q.Defining;let o,a,l,u=i.length;u===1?(l=i[0],o=void 0):u===2?(l=i[1],Array.isArray(i[0])?(a=s.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=s.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,s.options.alias[o]=e.src),a&&a.length>0?s.ensure(a,(...c)=>{const f=c.map(h=>h==="exports"?((!e.exports||typeof e.exports!="object")&&(e.exports={}),e.exports):h==="module"?e:h);if(typeof l=="function"){const h=Reflect.apply(l,e,f);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=q.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=q.Defined,t.progress.work(!0,t.index,e.exports))};return n.amd=!0,n}resolvePath(e){try{if(e==="exports"||e==="module"||this.isNaturePath(e))return e;e=this.parserPath(e,!0);let t=this.getFileNamePostfix(e);t=t.toLowerCase();let s=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),s.length>0&&(e+=`?${s}`)):s.length>0&&(e+=`&${s}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let s in e){let n=`${e[s]}`;t+=`${encodeURIComponent(s)}=${encodeURIComponent(n)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let s=e.lastIndexOf(".",t);return s==-1?"":e.substring(s+1,t)}isNaturePath(e){if(!this.options.nature)return!1;if(typeof this.options.nature=="function")return this.options.nature(e);const t=this.options.nature;if(t&&Array.isArray(t))for(let s=0;s<t.length;s++){const n=t[s];if(e.indexOf(n)===0)return!0}return!1}parserPath(e,t){if(e.indexOf("http://")==0||e.indexOf("https://")==0||e.indexOf("file:///")==0)return e;if(e.indexOf("/")==0)return`${wt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${wt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${$().location.protocol}${e}`;if(t){let n=this.options.alias[e];if(!n){let i=e.indexOf("/");if(i==-1)n=e;else{let o=e.slice(0,i),a=this.options.paths[o];a?n=a+e.slice(i):n=e}}return this.parserPath(n,!1)}return`${wt()}${e}`}}function fr(r,e){let t=r.sheet,s=!1;if(e.isOldWebKit)t&&(s=!0);else if(t)try{t.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{e.time+=20,s?e.success():e.timeout>e.timeout?e.error():fr(r,e)},20)}class In{callback;values;status;size;lastIndex;constructor(e,t){this.size=e,this.callback=t,this.status=!0,this.values=[],this.lastIndex=-1}work(e,t,s){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(s)),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(n){console.error(n.message,n)}}isOK(){return this.status}}class Nn{index;src;params;progress;constructor(e,t,s,n){this.index=e,this.src=t,this.params=s,this.progress=n}}const is=Symbol("fk"),os=Symbol("fbk"),ls=Symbol("fepk");function Dn(r={}){const e=new mn(r),t=new Ut,s=new Bt,n=new Ts,i={get router(){return e},get bus(){return t},get Bus(){return Ut},get EventProxy(){return Bt},get eventproxy(){return s},get EventChain(){return He},get Require(){return Ts},get require(){return n},get extend(){return F},get clone(){return yt},get isESModule(){return Gt},install(o){o.provide(dt,e),o.provide(is,i),o.provide(os,t),o.provide(ls,s),o.component(gn,Wt),o.component(vn,On),Reflect.defineProperty(o.config.globalProperties,"$fox",{get(){return i}}),Reflect.defineProperty(o.config.globalProperties,"$router",{get(){return e}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$eventProxy",{get(){return s}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){s.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){s.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){s.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=s;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return ts(this)}}}),e.init()}};return i}function as(r){return r?r.$router:g.inject(dt)}function Hn(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?ts(r):null}function Un(r){return r?r.$fox:g.inject(is)}function Bn(r){return r?r.$bus:g.inject(os)}function Vn(r){return r?r.$eventProxy:g.inject(ls)}function Jn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function Wn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}exports.Bus=Ut;exports.EventChain=He;exports.EventProxy=Bt;exports.FoxBeforeEnter=Ds;exports.FoxBeforeLeave=Us;exports.FoxEnter=Hs;exports.FoxLeave=Bs;exports.FoxLeaveEnd=ut;exports.OperationType=E;exports.Route=S;exports.clone=yt;exports.createFox=Dn;exports.createMemoryHistory=Zs;exports.createWebHashHistory=Ys;exports.createWebHistory=hn;exports.deleteContextValue=Dr;exports.extend=F;exports.foxBusKey=os;exports.foxEventProxyKey=ls;exports.foxKey=is;exports.injectContextValue=es;exports.isArray=yr;exports.isDate=mr;exports.isESModule=Gt;exports.isEqual=Ht;exports.isFunction=x;exports.isMap=dr;exports.isNil=Ue;exports.isObject=_s;exports.isPlainObject=Ks;exports.isPromise=wr;exports.isSet=pr;exports.isString=gr;exports.isSymbol=vr;exports.onAfterRouteUpdate=Wn;exports.onBeforeRouteUpdate=Jn;exports.onFoxActivated=Jr;exports.onFoxInactivated=Wr;exports.provideContextValue=Nr;exports.rawState=qr;exports.reactiveState=_r;exports.sessionKey=ne;exports.shallowReactiveState=Kr;exports.toBoolean=Xt;exports.toNumber=Sr;exports.toTypeString=ht;exports.typeOf=Dt;exports.useBus=Bn;exports.useEventProxy=Vn;exports.useFox=Un;exports.useRoute=Hn;exports.useRouter=as;
|
package/libs/index.esm.d.ts
CHANGED
|
@@ -445,7 +445,7 @@ export declare interface Fox {
|
|
|
445
445
|
* 安装
|
|
446
446
|
* @param app
|
|
447
447
|
*/
|
|
448
|
-
install(app: App): void;
|
|
448
|
+
install(app: App<Element>): void;
|
|
449
449
|
}
|
|
450
450
|
|
|
451
451
|
/**
|
|
@@ -473,8 +473,7 @@ export declare const FoxEnter = "FoxEnter";
|
|
|
473
473
|
*/
|
|
474
474
|
export declare const foxEventProxyKey: FoxInjectionKey<EventProxy>;
|
|
475
475
|
|
|
476
|
-
declare
|
|
477
|
-
}
|
|
476
|
+
declare type FoxInjectionKey<T> = InjectionKey<T>;
|
|
478
477
|
|
|
479
478
|
/**
|
|
480
479
|
* 全局Fox
|
|
@@ -831,14 +830,18 @@ declare const parentNodeKey: unique symbol;
|
|
|
831
830
|
declare const persistentModeKey: unique symbol;
|
|
832
831
|
|
|
833
832
|
/**
|
|
834
|
-
*
|
|
833
|
+
* 持久化参数
|
|
835
834
|
*/
|
|
836
|
-
declare type
|
|
835
|
+
declare type PersistOptions = {
|
|
836
|
+
name?: string;
|
|
837
|
+
persistPolicy?: PersistPolicy;
|
|
838
|
+
storage?: Storage_2;
|
|
839
|
+
};
|
|
837
840
|
|
|
838
841
|
/**
|
|
839
842
|
* 持久化策略
|
|
840
843
|
*/
|
|
841
|
-
declare type
|
|
844
|
+
declare type PersistPolicy = 'memory' | 'session' | 'local' | 'custom';
|
|
842
845
|
|
|
843
846
|
/**
|
|
844
847
|
* 属性函数
|
|
@@ -872,7 +875,7 @@ declare type Proxy_2 = ComponentPublicInstance | null;
|
|
|
872
875
|
* @param options
|
|
873
876
|
* @returns
|
|
874
877
|
*/
|
|
875
|
-
export declare function rawState<T extends Record<string, any>>(state: T, options?:
|
|
878
|
+
export declare function rawState<T extends Record<string, any>>(state: T, options?: StatePersistOptions): T;
|
|
876
879
|
|
|
877
880
|
/**
|
|
878
881
|
* reactive state
|
|
@@ -880,7 +883,7 @@ export declare function rawState<T extends Record<string, any>>(state: T, option
|
|
|
880
883
|
* @param options
|
|
881
884
|
* @returns
|
|
882
885
|
*/
|
|
883
|
-
export declare function reactiveState<T extends Record<string, any>>(state: T, options?:
|
|
886
|
+
export declare function reactiveState<T extends Record<string, any>>(state: T, options?: StatePersistOptions): T;
|
|
884
887
|
|
|
885
888
|
declare const readyHandlersKey: unique symbol;
|
|
886
889
|
|
|
@@ -1785,7 +1788,7 @@ export declare const sessionKey: unique symbol;
|
|
|
1785
1788
|
* @param options
|
|
1786
1789
|
* @returns
|
|
1787
1790
|
*/
|
|
1788
|
-
export declare function shallowReactiveState<T extends Record<string, any>>(state: T, options?:
|
|
1791
|
+
export declare function shallowReactiveState<T extends Record<string, any>>(state: T, options?: StatePersistOptions): T;
|
|
1789
1792
|
|
|
1790
1793
|
/**
|
|
1791
1794
|
* 插槽
|
|
@@ -1821,14 +1824,19 @@ declare const _start: unique symbol;
|
|
|
1821
1824
|
/**
|
|
1822
1825
|
* state参数
|
|
1823
1826
|
*/
|
|
1824
|
-
export declare type
|
|
1827
|
+
export declare type StatePersistOptions = {
|
|
1825
1828
|
name?: string;
|
|
1826
|
-
persistPolicy?:
|
|
1829
|
+
persistPolicy?: StatePersistPolicy;
|
|
1827
1830
|
storage?: Storage;
|
|
1828
1831
|
debounce?: boolean;
|
|
1829
1832
|
debounceDelay?: number;
|
|
1830
1833
|
};
|
|
1831
1834
|
|
|
1835
|
+
/**
|
|
1836
|
+
* 持久化策略
|
|
1837
|
+
*/
|
|
1838
|
+
declare type StatePersistPolicy = 'memory' | 'session' | 'local' | 'custom';
|
|
1839
|
+
|
|
1832
1840
|
declare const statusKey: unique symbol;
|
|
1833
1841
|
|
|
1834
1842
|
/**
|
|
@@ -1933,7 +1941,7 @@ declare class TreeImpl extends TreeNodeImpl implements Tree {
|
|
|
1933
1941
|
/**
|
|
1934
1942
|
* 默认构造函数
|
|
1935
1943
|
*/
|
|
1936
|
-
constructor(options?:
|
|
1944
|
+
constructor(options?: PersistOptions, defaultState?: Record<string, any>);
|
|
1937
1945
|
/**
|
|
1938
1946
|
* 加入数据
|
|
1939
1947
|
* @param args
|
|
@@ -2005,15 +2013,6 @@ declare class TreeNodeImpl implements TreeNode {
|
|
|
2005
2013
|
constructor(id: string);
|
|
2006
2014
|
}
|
|
2007
2015
|
|
|
2008
|
-
/**
|
|
2009
|
-
* Tree参数
|
|
2010
|
-
*/
|
|
2011
|
-
declare type TreeOptions = {
|
|
2012
|
-
name?: string;
|
|
2013
|
-
persistPolicy?: PersistPolicy;
|
|
2014
|
-
storage?: Storage_2;
|
|
2015
|
-
};
|
|
2016
|
-
|
|
2017
2016
|
/**
|
|
2018
2017
|
* 判断类型
|
|
2019
2018
|
* @param obj
|
package/libs/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref as cr, shallowReactive as fr, reactive as hr, effectScope as yr, watch as dr, toRaw as Dt, getCurrentInstance as Jt, onUnmounted as ht, shallowRef as pr, defineComponent as Fs, inject as B, provide as te, h as fe } from "vue";
|
|
2
2
|
/*!
|
|
3
|
-
* fox v3.1.0
|
|
3
|
+
* fox v3.1.0 Fri Oct 18 2024 19:32:13 GMT+0800 (中国标准时间)
|
|
4
4
|
*/
|
|
5
5
|
const de = typeof window < "u", $ = function() {
|
|
6
6
|
return window;
|
|
@@ -272,7 +272,6 @@ let $r = class {
|
|
|
272
272
|
state = {};
|
|
273
273
|
/**
|
|
274
274
|
* 构造函数
|
|
275
|
-
* @param tree
|
|
276
275
|
* @param options
|
|
277
276
|
* @param defaultValue
|
|
278
277
|
*/
|
|
@@ -293,7 +292,7 @@ let $r = class {
|
|
|
293
292
|
* @returns
|
|
294
293
|
*/
|
|
295
294
|
getStorage() {
|
|
296
|
-
if (!this.persistPolicy)
|
|
295
|
+
if (!this.persistPolicy || this.persistPolicy === "memory")
|
|
297
296
|
return null;
|
|
298
297
|
let e = null;
|
|
299
298
|
if (this.persistPolicy === "custom")
|
|
@@ -572,7 +571,7 @@ class Os {
|
|
|
572
571
|
* @returns
|
|
573
572
|
*/
|
|
574
573
|
getStorage() {
|
|
575
|
-
if (!this.persistPolicy)
|
|
574
|
+
if (!this.persistPolicy || this.persistPolicy === "memory")
|
|
576
575
|
return null;
|
|
577
576
|
let e = null;
|
|
578
577
|
if (this.persistPolicy === "custom")
|
package/libs/index.umd.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
(function(p,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],g):(p=typeof globalThis<"u"?globalThis:p||self,g(p.Fox={},p.Vue))})(this,function(p,g){"use strict";/*!
|
|
2
|
-
* fox v3.1.0
|
|
3
|
-
*/const le=typeof window<"u",E=function(){return window},Je=function(){return window.document};function yr(r){let e=r,t=e.lastIndexOf("/");return t>0&&t<e.length-1?e=e.substring(0,t+1):t===0&&e.indexOf(".")!==-1?e="/":t===-1&&(e.indexOf(".")==-1?e=`/${e}/`:e="/"),e.indexOf("/")!==0&&(e=`/${e}`),e}function wt(){if(!le)return"/";let r=E().location,e=`${r.protocol}//${r.host}`;return e+=yr(r.pathname),e}function We(r,e,t,s=!1){r.addEventListener?r.addEventListener(e,t,s):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function bt(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}const ze=(r,e,t)=>{e=e??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in e)a==="bubbles"?n=!!e[a]:a==="cancelable"?i=!!e[a]:s[a]=e[a];s.initEvent(r,n,i),(t??document).dispatchEvent(s)},dr=Array.isArray,mr=r=>Ge(r)==="[object Map]",pr=r=>Ge(r)==="[object Set]",gr=r=>r instanceof Date,S=r=>typeof r=="function",vr=r=>typeof r=="string",wr=r=>typeof r=="symbol",cs=r=>r!==null&&typeof r=="object",br=r=>cs(r)&&S(r.then)&&S(r.catch),Fe=r=>r==null,Rr=Object.prototype.toString,Ge=r=>Rr.call(r),fs=r=>Ge(r)==="[object Object]",Sr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Rt(r){return r.__esModule||Sr&&r[Symbol.toStringTag]==="Module"}const xr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function $(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,s=r.length,n=!1;for(typeof e=="boolean"&&(n=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<s;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[t];for(let o in i){let a=e[o],l=i[o];if(a!==l)if(n===!0&&l&&typeof l=="object"){let u;Array.isArray(l)?u=a&&Array.isArray(a)?a:[]:u=a&&typeof a=="object"?a:{},e[o]=$(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function Xe(r,e,t=!1){if(!t)$(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s of Reflect.ownKeys(e)){let n=r[s],i=e[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!fs(i))continue;n=Xe(n,i,t),r[s]=n}else{if(typeof i=="function")continue;r[s]=i}}}return r}class te{static seed=new Date().getTime();static get(){let e=++te.seed;return e>=Number.MAX_VALUE&&(te.seed=0),e}}const St=xr?Promise.resolve():null;function Ae(r,...e){St!==null?e&&e.length>0?St.then(()=>{r(e)}):St.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function xt(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":!!r}function Pr(r){return typeof r=="number"?r:Number(r)}const Cr={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Object]":"object"};function Pt(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Cr[t]||"object"}function Ct(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Pt(r),s=Pt(e);if(t!==s)return!1;if(t==="object"){let n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o],l=r[a],u=e[a];if(!Ct(l,u))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++){let i=r[n],o=e[n];if(!Ct(i,o))return!1}return!0}return!1}const hs=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=hs(s)),typeof t=="symbol"?e[String(t)]=s:e[t]=s}return e},Er=/^Symbol\((.*)\)$/,ys=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=ys(s));const n=Er.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=s}else e[t]=s}return e};function ds(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{t=null,Reflect.apply(r,null,[...s])},e)}}const ms=Symbol("idKey"),ae=Symbol("valueKey"),x=Symbol("childrenKey"),B=Symbol("growKey");class ps{[B]=!0;[ms];[ae]=g.ref();[x]=new Map;constructor(e){this[ms]=e}}class $r{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[B];let s=e[x].get(t);if(s)return Te(s);if(e[B])return s=$t(t),s[B]=e[B],e[x].set(t,s),Te(s)}set(e,t,s){return t=="value"?(e[ae].value=s,!0):t==="grow"?(e[B]=xt(s),!0):s==null?(e[x].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[x].delete(t),!0)}}const Et="__proxy__";function $t(r){const e=new ps(r);return Reflect.set(e,Et,new Proxy(e,new $r)),e}function Te(r){return Reflect.get(r,Et)}let Fr=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Fe(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage,t&&typeof t=="object"&&Object.assign(this.state,t)}init(e){this.restore(e),this.initFlag=!0}getStorage(){if(!this.persistPolicy)return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(le){const t=E();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,s=JSON.stringify(this.state??{});e.setItem(t,s)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_bus_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(this.state,i),Reflect.ownKeys(this.state).forEach(a=>{if(typeof a!="string")return;const l=this.state[a],u=a.split(/\//g);u.push(l),Reflect.apply(e.put,e,u)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n=e[t-1];this.state[s]=n,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===s||o.startsWith(s)||(n[o]=this.state[o]))}),this.state=n,this.saveState()}catch(t){console.error(t)}}clear(){if(this.initFlag)try{this.state={},this.removeState()}catch(e){console.error(e)}}};class gs extends ps{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new Fr(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let s=this;for(let n=0;n<t-1;n++){let i=e[n],o;s[x].has(i)?o=s[x].get(i):(o=$t(i),s[x].set(i,o)),s=o}return s[ae].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let s=this;for(let n=0;n<t;n++){let i=e[n];if(s[x].has(i))s=s[x].get(i);else return}return s[ae].value}remove(...e){let t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){const o=e[i];if(s[x].has(o))s=s[x].get(o);else return!1}const n=e[t-1];return s[x].has(n)?(s[x].delete(n),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){let o=e[i];if(s[x].has(o))s=s[x].get(o);else return!1}const n=e[t-1];return s[x].has(n)}clear(){this[x].clear(),this._persistHandler.clear()}}const Ar=["put","get","contains","remove","clear","_persistHandler"];function vs(r){return Ar.includes(r)}class Tr{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[B];if(t===x)return e[x];if(typeof t=="string"&&vs(t))return e[t];const s=String(t);let n=e[x].get(s);if(n)return Te(n);if(e[B])return n=$t(s),n[B]=e[B],e[x].set(s,n),Te(n)}set(e,t,s){return t=="value"?(e[ae].value=s,!0):t==="grow"?(e[B]=xt(s),!0):vs(t)?!1:s==null?(e[x].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[x].delete(t),!0)}}function _r(r,e){const t=new gs(r,e),s=new Tr,n=new Proxy(t,s);return Reflect.set(t,Et,n),t}const Ft=new Proxy(gs,{construct(r,e){const t=e[0]??{},s=e[1],n=_r(t,s);return Te(n)}}),At=r=>!r||typeof r!="object"?!0:Reflect.ownKeys(r).length===0;class ws{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Fe(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage}getStorage(){if(!this.persistPolicy)return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(le){const t=E();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null||At(e))return;const s=`_state_${this.name}`,n=JSON.stringify(e??{});t.setItem(s,n)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null)return;const t=`_state_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_state_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(e,i)}}}function bs(r,e,t){const s=new ws(t);s.restore(e);const n=l=>{const u=g.toRaw(l),c={};for(let f in u){const h=u[f];Fe(h)||(c[f]=h)}At(c)?s.removeState():s.saveState(c)};let i=null;if(t&&t.debounce===!1)i=n;else{const l=t&&t.debounceDelay?t.debounceDelay:250;i=ds(n,l)}const o=r?g.shallowReactive(e):g.reactive(e);return g.effectScope(!0).run(()=>{g.watch(o,l=>{const u=g.toRaw(l);i(u)})}),o}function Kr(r,e){return bs(!1,r,e)}function jr(r,e){return bs(!0,r,e)}function qr(r,e){const t=new ws(e);t.restore(r);const s=a=>{const l=g.toRaw(a),u={};for(let c in l){const f=l[c];Fe(f)||(u[c]=f)}At(u)?t.removeState():t.saveState(u)};let n=null;if(e&&e.debounce===!1)n=s;else{const a=e&&e.debounceDelay?e.debounceDelay:250;n=ds(s,a)}const i={get(a,l){return a[l]},set(a,l,u){return a[l]=u,n(a),!0}};return new Proxy(r,i)}function Lr(r,e){return qr(r,e)}const z="default",Rs=Symbol("sync"),k=Symbol("resolveRoute");function Ss(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function kr(r){let e=r.src;return new Promise((t,s)=>{const n=Ss(a=>{Rt(a)&&(a=a.default),r.component=a,console.debug("success load async module"),t()}),i=Ss(a=>{console.debug("reject load async module"),s(a)});let o;try{o=e(n,i)}catch(a){i(a)}if(o)if(typeof o.then=="function")o.then(n,i);else{const a=o.component;a&&typeof a.then=="function"&&a.then(n,i)}})}class Or{name;level;rootName;rootIndex=0;constructor(e,t,s,n){this.name=e,this.level=t,this.rootName=s,this.rootIndex=n}}class pe{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){const t=new pe(e.to,e.from),s=e.data??{};return $(!0,t.data,s),t}static clear(e){for(let t in e)e[t]=void 0}}class P{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??z}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(e,t){let s=new P;return Xe(s,e,t),s}static isSame(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!==t.path||e.name&&e.name!==t.name||e.root!==t.root||e.index!==t.index)}static isSameForRouteModel(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!=t.path||e.name&&e.name!=t.name)}static from(e){let t=new P;if(e==null)return t;let s=t;for(let i in e){let o=e[i];s[i]=o}const n=Object.getOwnPropertySymbols(e);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=e[i];return t}}class Mr{id;name;props;meta;src;component;constructor(e,t,s,n){this.id=te.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=s,this.meta=n}get isResolved(){return this.component!==void 0}resolve(){return kr(this)}}class xs{models=[]}class Tt{path;match;redirect;name;layers=[]}var F=(r=>(r[r.Push=0]="Push",r[r.Replace=1]="Replace",r[r.Put=2]="Put",r[r.Append=3]="Append",r[r.Open=4]="Open",r))(F||{});const Ps="FoxBeforeEnter",Cs="FoxEnter",Es="FoxLeave",$s="FoxLeave",Qe="FoxLeaveEnd",I=Symbol("chainKey"),O=Symbol("cursorKey"),_t=Symbol("$persistentModeKey"),A=Symbol("statusKey"),G=Symbol("argsKey"),Ye=Symbol("exArgsKey"),ge=Symbol("successFnsKey"),_e=Symbol("errorFnsKey"),se=Symbol("sessionKey"),X=Symbol("_go");class Ke{[I]=[];[O]=0;[_t]=!1;[A]="Free";[G]=[];[Ye]=[];[ge]=[];[_e]=[];[se];get session(){return this[se]}constructor(e,t=!1){this[se]=e,this[_t]=t}[X](e,...t){let s=this[A];if(this[A]="Busy",this[O]+=e,this[O]<0&&(this[O]=0),this[G]=t,s==="Exception"||s==="Reject"){let a=[{session:this[se]},...this[Ye]];for(;this[_e].length>0;)try{let l=this[_e].shift();typeof l=="function"&&Ae(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[A]=s,this[I]=[],this[O]=0,this}else if(s==="Finished"||this[O]>=this[I].length){let a=[{session:this[se]},...this[G]];for(;this[ge].length>0;){let l=this[ge].shift();typeof l=="function"&&Ae(()=>{Reflect.apply(l,{},a)})}return this[A]="Free",this}if(this[O]>=this[I].length)return this[A]="Free",this;let n=this[I][this[O]];this[_t]||(this[I].splice(0,this[O]+1),this[O]=-1);let i=this[O]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[X],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[X],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[I].splice(i,0,l),i++)},session:this[se]};Ae(()=>{Reflect.apply(n,{},[a,...this[G]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[X],this,[e,...t])}finish(...e){return this[A]="Finished",this[G]=e,Reflect.apply(this[X],this,[0])}reject(...e){return this[A]="Reject",this[Ye]=e,Reflect.apply(this[X],this,[0])}throw(...e){return this[A]="Exception",this[Ye]=e,Reflect.apply(this[X],this,[0])}reset(...e){this[A]="Busy",this[G]=e,this[I]=[],this[O]=0;let s=[{session:this[se]},...this[G]];for(;this[ge].length>0;){let n=this[ge].shift();Ae(()=>{Reflect.apply(n,this,s)})}return this[A]="Free",this}post(e){return this[A]==="Reject"||this[A]==="Exception"?this:(Array.isArray(e)?this[I]=[...this[I],...e]:this[I].push(e),this[A]==="Busy"?this:(Reflect.apply(this[X],this,[0,...this[G]]),this))}wait(e,t){return e&&typeof e=="function"&&this[ge].push(e),t&&typeof t=="function"&&this[_e].push(t),this[A]==="Busy"?this:(Reflect.apply(this[X],this,[0,...this[G]]),this)}exception(e){return e&&typeof e=="function"&&this[_e].push(e),this[A]==="Busy"?this:Reflect.apply(this[X],this,[0,...this[G]])}isFinish(){return this[A]=="Reject"||this[A]=="Free"&&this[O]>=this[I].length}}const ve=Symbol("registerKey");class Ir{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Kt{[ve]=new Map;constructor(){}on(e,t,s=!1){let n=this[ve].get(e);n||(n=new Array,this[ve].set(e,n));let i=s===!0?1:0,o=new Ir(t,i);return n.push(o),this}off(e,t){if(!t)return this[ve].delete(e),this;let s=this[ve].get(e);if(s){for(let n=0;n<s.length;n++)if(s[n].callback===t){s.splice(n,1);break}}return this}bind(e,t,s=!1){return this.on(e,t,s)}unbind(e,t){return this.off(e,t)}once(e,t){return this.on(e,t,!0)}all(...e){let t=e.length;if(t<1)return this;let s=e[t-1];if(typeof s!="function")return console.error("callback can not benn empty"),this;let n=t-1,i=new Array(n),o=[].splice.call(e,0,n);for(let a=0;a<o.length;a++)this.once(o[a],l=>{i[a]=l,n-=1,n==0&&Reflect.apply(s,{},i)});return this}emit(e,...t){let s=this[ve].get(e);if(!s)return this;for(let n=0;n<s.length;){let i=s[n];if(i.policy==1?s.splice(n,1):n++,typeof i.callback=="function")try{Ae(()=>{Reflect.apply(i.callback,{},t)})}catch(o){console.error(o.message,o)}}return this}trigger(e,...t){return Reflect.apply(this.emit,this,[e,...t])}}const je=Symbol("registerKey");class Nr{[je]=new Map;constructor(){}set(e,t){this[je].set(e,t)}get(e){return this[je].get(e)}has(e){return this[je].has(e)}delete(e){return this[je].delete(e)}}const ue=Symbol("lc");function Ze(r,e=!1){let t=r;if(Reflect.has(t,ue))return t[ue];if(e){const s=new Nr;return t[ue]=s,s}return null}function Fs(r,e=!1){let t=null,s=r;for(;s&&!(Reflect.has(s,ue)&&(t=s[ue],t));)s=s.$parent;if(!t&&e){const n=r;n&&n.$parent&&(t=Ze(n.$parent,e))}return t}function jt(r,e){let t=r;for(;t;){if(Reflect.has(t,ue)){const s=t[ue];if(s.has(e))return s.get(e)}t=t.$parent}return null}function Dr(r,e,t){Fs(r,!0)?.set(e,t)}function Hr(r,e){Fs(r,!0)?.delete(e)}function As(r){if(Array.isArray(r.children)&&r.children.length>0){let e=r.children[0];if(e!=null&&e.component!=null&&e.component.proxy!=null)return Ze(e.component.proxy,!1)}return null}const et=Symbol("hooksKey");function Ur(r){let e=r.get(et);e||(e=[],r.set(et,e))}function Ts(r,e){let t=r.get(et);if(t!=null)for(let s=t.length-1;s>=0;s--){let n=t[s];if(n.type===e)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var qt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(qt||{});class Br{type;hook;target;constructor(e,t,s){this.target=s,this.hook=t,this.type=e}}function Vr(r,e,t,s){let n=new Br(e,t,s);return r.push(n),!0}function Jr(r,e,t,s){let n=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===s){n=i;break}}return n!=-1?(r.splice(n,1),!0):!1}function _s(r){return(e,t)=>{let s;if(t)s=t;else{const i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=jt(s,et);if(n==null){console.warn("hooks context not found");return}g.onUnmounted(()=>{Jr(n,r,e,s)}),Vr(n,r,e,s)}}const Wr=_s("a"),zr=_s("da"),Ks=Symbol("routeKey");function js(r,e){r.set(Ks,e)}function Lt(r){let e=jt(r,Ks);return typeof e=="function"?e():e??null}const tt=Symbol("rk"),kt=Symbol("vd"),qs=Symbol("rv"),Ot=Symbol("rvi"),Ls=Symbol("pv"),Mt=Symbol("pvi");var ce={};Object.defineProperty(ce,"__esModule",{value:!0}),ce.TokenData=void 0,ce.parse=st;var Gr=ce.compile=sn,Xr=ce.match=on;ce.pathToRegexp=un;const Qr="/",It=r=>r,Yr=/^\p{XID_Continue}$/u,qe="https://git.new/pathToRegexpError",Zr={"!":"!","@":"@",";":";",",":",","*":"*","+":"+","?":"?","{":"{","}":"}"};function en(r){const e=[...r],t=[];let s=0;for(;s<e.length;){const n=e[s],i=Zr[n];if(i){t.push({type:i,index:s++,value:n});continue}if(n==="\\"){t.push({type:"ESCAPED",index:s++,value:e[s++]});continue}if(n===":"){let o="";for(;Yr.test(e[++s]);)o+=e[s];if(!o)throw new TypeError(`Missing parameter name at ${s}`);t.push({type:"NAME",index:s,value:o});continue}if(n==="("){const o=s++;let a=1,l="";if(e[s]==="?")throw new TypeError(`Pattern cannot start with "?" at ${s}`);for(;s<e.length;){if(e[s]==="\\"){l+=e[s++]+e[s++];continue}if(e[s]===")"){if(a--,a===0){s++;break}}else if(e[s]==="("&&(a++,e[s+1]!=="?"))throw new TypeError(`Capturing groups are not allowed at ${s}`);l+=e[s++]}if(a)throw new TypeError(`Unbalanced pattern at ${o}`);if(!l)throw new TypeError(`Missing pattern at ${o}`);t.push({type:"PATTERN",index:s,value:l});continue}t.push({type:"CHAR",index:s,value:e[s++]})}return t.push({type:"END",index:s,value:""}),new tn(t)}class tn{constructor(e){this.tokens=e,this.index=0}peek(){return this.tokens[this.index]}tryConsume(e){const t=this.peek();if(t.type===e)return this.index++,t.value}consume(e){const t=this.tryConsume(e);if(t!==void 0)return t;const{type:s,index:n}=this.peek();throw new TypeError(`Unexpected ${s} at ${n}, expected ${e}: ${qe}`)}text(){let e="",t;for(;t=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)e+=t;return e}modifier(){return this.tryConsume("?")||this.tryConsume("*")||this.tryConsume("+")}}class Le{constructor(e,t){this.tokens=e,this.delimiter=t}}ce.TokenData=Le;function st(r,e={}){const{encodePath:t=It,delimiter:s=t(Qr)}=e,n=[],i=en(r);let o=0;do{const a=i.text();a&&n.push(t(a));const l=i.tryConsume("NAME"),u=i.tryConsume("PATTERN");if(l||u){n.push({name:l||String(o++),pattern:u});const h=i.peek();if(h.type==="*")throw new TypeError(`Unexpected * at ${h.index}, you probably want \`/*\` or \`{/:foo}*\`: ${qe}`);continue}if(i.tryConsume("*")){n.push({name:String(o++),pattern:`(?:(?!${we(s)}).)*`,modifier:"*",separator:s});continue}if(i.tryConsume("{")){const h=i.text(),y=i.tryConsume("NAME"),d=i.tryConsume("PATTERN"),m=i.text(),v=i.tryConsume(";")&&i.text();i.consume("}");const b=i.modifier();n.push({name:y||(d?String(o++):""),prefix:t(h),suffix:t(m),pattern:d,modifier:b,separator:v});continue}i.consume("END");break}while(!0);return new Le(n,s)}function sn(r,e={}){const t=r instanceof Le?r:st(r,e);return nn(t,e)}function rn(r,e){if(typeof r=="string")return()=>r;const t=e||It,s=r.modifier==="+"||r.modifier==="*",n=r.modifier==="?"||r.modifier==="*",{prefix:i="",suffix:o="",separator:a=o+i}=r;if(e&&s){const u=(f,h)=>{if(typeof f!="string")throw new TypeError(`Expected "${r.name}/${h}" to be a string`);return t(f)},c=f=>{if(!Array.isArray(f))throw new TypeError(`Expected "${r.name}" to be an array`);return f.length===0?"":i+f.map(u).join(a)+o};return n?f=>{const h=f[r.name];return h==null?"":h.length?c(h):""}:f=>{const h=f[r.name];return c(h)}}const l=u=>{if(typeof u!="string")throw new TypeError(`Expected "${r.name}" to be a string`);return i+t(u)+o};return n?u=>{const c=u[r.name];return c==null?"":l(c)}:u=>{const c=u[r.name];return l(c)}}function nn(r,e){const{encode:t=encodeURIComponent,loose:s=!0,validate:n=!0,strict:i=!1}=e,o=ks(e),a=Nt(s,r.delimiter),l=Ms(r,a,[],o,i),u=r.tokens.map((c,f)=>{const h=rn(c,t);if(!n||typeof c=="string")return h;const y=new RegExp(`^${l[f]}$`,o);return d=>{const m=h(d);if(!y.test(m))throw new TypeError(`Invalid value for "${c.name}": ${JSON.stringify(m)}`);return m}});return function(f={}){let h="";for(const y of u)h+=y(f);return h}}function on(r,e={}){const{decode:t=decodeURIComponent,loose:s=!0}=e,n=r instanceof Le?r:st(r,e),i=Nt(s,n.delimiter),o=[],a=Os(n,o,e),l=o.map(u=>{if(t&&(u.modifier==="+"||u.modifier==="*")){const{prefix:c="",suffix:f="",separator:h=f+c}=u,y=new RegExp(i(h),"g");return d=>d.split(y).map(t)}return t||It});return function(c){const f=a.exec(c);if(!f)return!1;const{0:h,index:y}=f,d=Object.create(null);for(let m=1;m<f.length;m++){if(f[m]===void 0)continue;const v=o[m-1],b=l[m-1];d[v.name]=b(f[m])}return{path:h,index:y,params:d}}}function we(r){return r.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function ln(r,e){const t=we(r);return e?`(?:${t})+(?!${t})`:t}function Nt(r,e){if(!r)return we;const t=new RegExp(`(?:(?!${we(e)}).)+|(.)`,"g");return s=>s.replace(t,ln)}function ks(r){return r.sensitive?"":"i"}function Os(r,e,t){const{trailing:s=!0,loose:n=!0,start:i=!0,end:o=!0,strict:a=!1}=t,l=ks(t),u=Nt(n,r.delimiter),c=Ms(r,u,e,l,a);let f=i?"^":"";return f+=c.join(""),s&&(f+=`(?:${u(r.delimiter)})?`),f+=o?"$":`(?=${we(r.delimiter)}|$)`,new RegExp(f,l)}function Ms(r,e,t,s,n){const i=`(?:(?!${we(r.delimiter)}).)+?`;let o="",a=!0;return r.tokens.map((l,u)=>{if(typeof l=="string")return o=l,e(l);const{prefix:c="",suffix:f="",separator:h=f+c,modifier:y=""}=l,d=e(c),m=e(f);if(l.name){const v=l.pattern?`(?:${l.pattern})`:i,b=an(v,l.name,s);if(a||(a=Dt(b,c||o)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}": ${qe}`);if(a=!n||Dt(b,f),o="",t.push(l),y==="+"||y==="*"){const w=y==="*"?"?":"",j=e(h);if(!j)throw new TypeError(`Missing separator for "${l.name}": ${qe}`);if(a||(a=!n||Dt(b,h)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}" separator: ${qe}`);return a=!n,`(?:${d}(${v}(?:${j}${v})*)${m})${w}`}return`(?:${d}(${v})${m})${y}`}return`(?:${d}${m})${y}`})}function an(r,e,t){try{return new RegExp(`^${r}$`,t)}catch(s){throw new TypeError(`Invalid pattern for "${e}": ${s.message}`)}}function Dt(r,e){return e?!r.test(e):!1}function un(r,e={}){const t=r instanceof Le?r:st(r,e),s=[],n=Os(t,s,e);return Object.assign(n,{keys:s})}var rt=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(rt||{});const V=Symbol("rootKey"),J=Symbol("rootNodeKey"),fe=Symbol("parentNodeKey"),nt=Symbol("nameKey");class re{instance=null;model;route;active=!0;index=0;constructor(e,t,s=0,n=!0){this.route=e,this.model=t,this.index=s,this.active=n}}class ke{_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[nt];[V];[J]=null;[fe]=null;get name(){return this[nt]}constructor(e,t,s){this[nt]=e,this[V]=t,s&&(this[J]=s)}}class N{view;index;level;constructor(e,t,s){this.view=e,this.index=t,this.level=s}static include(e,t){for(let s=0;s<e.length;s++){let n=e[s];if(n.view===t.view&&(t.index==-1||n.index===t.index)&&n.level===t.level)return!0}return!1}}class Ht{views=[]}class cn{layers=[]}class fn{time;route}class hn{forbidTime=300;submitRecorder=new fn;isSameRoute(e,t){return e==null||t==null?!1:e.name===t.name&&e.path===t.path&&e.root===t.root}acquire(e){let t=new Date().getTime();if(this.isSameRoute(e,this.submitRecorder.route)&&this.submitRecorder.time&&t-this.submitRecorder.time<=this.forbidTime){this.submitRecorder.time=t;return}return this.submitRecorder.route=e,this.submitRecorder.time=t,t}release(e){this.submitRecorder.time===e&&(this.submitRecorder.route=void 0)}}const be=Symbol("_notifyChange");class Is{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const he=Symbol("historyChangeConsumerKey"),Ns=Symbol("_navigateFirstRoute"),it=Symbol("_getRouteMark"),Ut=Symbol("_getUrlSearch"),Bt=Symbol("_generateLocation"),ot=Symbol("_setRouteMarkRecorder"),Oe=Symbol("beforeRestoreFiltersKey"),Ds=Symbol("_beforeRestore"),Hs="Symbol(_fox_restore_point)";function Me(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}function Us(r){if(!Array.isArray(r))return!1;if(r.length===0)return!0;const e=r[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class Bs{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[he]=!1;[Oe]=new Array;backTimeout=320;constructor(e="hash",t="",s="",n=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=s,this.firstNavigate=n,this.historyMonitor=i,this.traceless=o,this.storage=a??E().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=E();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[he]=="function"){const s=this[he]();if(this[he]=!1,s)return}else if(this[he]===!0){this[he]=!1;return}if(Me(this.historyMonitor)){const s=t.history.state;this[be](s);try{let n=[];if(typeof s=="string"?n=JSON.parse(s):n=s,Array.isArray(n)&&n.length>0){const i=this[it]()??"/";this[ot](i,n)}}catch{}}}),We(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[Ns](),Promise.resolve()}destroy(){if(this.historyChange){const e=E();bt(e,"popstate",this.historyChange)}}[Ds](e,t,s,n){for(let i of this[Oe])try{const o=Reflect.apply(i,{},[e,t,s,n]);if(o===!1)return o}catch(o){console.error(o.message,o)}return!0}beforeRestoreEach(e){this[Oe].push(e)}removeBeforeRestoreEach(e){const t=this[Oe].indexOf(e);return t!==-1?(this[Oe].splice(t,1),!0):!1}[Ns](){const e=this[it]()??"/",t=this.storage.getItem(Hs);if(t)try{const o=JSON.parse(t);if(o.mark===e&&Array.isArray(o.routes)&&o.routes.length>0){const a=o.routes.filter((l,u)=>(l.params=l.params?ys(l.params):{},this[Ds](l,u,e,o.routes)));if(a.length>0){const l=this[Ut](),u=a.length-1;a[u].query=l||a[u].query,this[be](a);return}}}catch{}const s=e.indexOf("!");let n;s!=-1?n=e.substring(s+1):n=e;const i=new P;i.path=n,i.query=this[Ut](),this[be]([i])}[ot](e,t){try{t.forEach(i=>{i.params=i.params?hs(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(Hs,n)}catch(s){console.error(s.message,s)}}setRestorePoint(e){const t=this[it]()??"/";this[ot](t,e)}[be](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[it](){const e=E();if(this.mode==="path"){let t=e.location.pathname;return this.base&&t.indexOf(this.base)===0&&(t=t.substring(this.base.length)),t}else{const t=e.location.hash,s=t.indexOf("#");if(s!=-1)return t.substring(s+1)}return null}[Ut](){let t=E().location.search;return t.length>0&&t.indexOf("?")===0&&(t=t.substring(1)),t}listen(e){this.changeHandler=e}go(e,t=!1){const s=E();this[he]=t,s.history.go(e)}goBack(e,t){const s=E(),n=s.history.state;if(Us(n)&&n.length>0){let i=!1;for(let c=n.length-1;c>=0;c--){const f=P.from(n[c]);if(!(f.historyUpdatePolicy==="traceless"||Me(this.traceless,f))&&P.isSame(f,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{s.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const f=E().history.state;if(Us(f)&&f.length>0){let h=f.length;const y=f[h-1],d=P.from(y);if(P.isSame(d,e))return t(),!0;if(h>0){let m=!1;for(let v=h-1;v>=0;v--){const b=P.from(f[v]);if(!(b.traceless===!0||Me(this.traceless,b))&&P.isSame(b,e)){m=!0;break}}return m?(setTimeout(()=>{a=setTimeout(l,o),this.go(-1,u)},0),!0):(t(),!0)}}return t(),!0};a=setTimeout(l,o),this.go(-1,u)}else t()}setRouteMark(e){const t=e.currentRoute.fullPath;this[ot](t,e.routes)}push(e){const t=this[Bt](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Me(this.traceless,e.currentRoute)&&E().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[Bt](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Me(this.traceless,e.currentRoute))&&E().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[Bt](e){const t=E();let s="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),c=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=c}else a=e.query;this.query?(s=a.length>0?`${this.query}&${a}`:this.query,s.length>0&&s.charAt(0)!=="?"&&(s=`?${s}`)):a.length>0&&(s=`?${a}`)}const n=t.location;let i=e.alias??e.fullPath;i.startsWith(z)&&(i=i.substring(z.length+1));let o;return s?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${s}`:o=`${this.base}/${i}${s}`:o=`${n.pathname}${s}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${n.pathname}#${i}`,`${n.origin}${o}`}}function yn(r=!0,e=null,t="",s=!0,n=!1,i){return e!==null&&(e=E().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new Bs("path",e??"",t,r,s,n,i)}function Vs(r=!0,e="",t=!0,s=!1,n){return new Bs("hash","",e,r,t,s,n)}class dn{maxSize=50;cursor=-1;queue=[];changeHandler;base;historyMonitor=!1;traceless=!1;constructor(e,t=50){this.base=e,this.maxSize=t}init(e=!0){return Promise.resolve()}destroy(){this.queue=[]}beforeRestoreEach(e){}removeBeforeRestoreEach(e){return!1}listen(e){this.changeHandler=e}[be](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let s=this.cursor+e;if(s<0?s=0:s>this.queue.length-1&&(s=this.queue.length-1),s!=this.cursor){this.cursor=s;let n=!1;if(typeof t=="function"?n=t():n=t,!n){const i=this.queue[s];this[be](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let s=0;if(e===null)s=this.cursor+1;else for(let n=this.cursor;n>=0;n--){const i=this.queue[n];if(P.isSame(i.currentRoute,e))break;s++}if(s===0){t();return}this.go(-s,()=>(t(),!0))}setRouteMark(e){}push(e){this.queue.length>=this.maxSize&&this.queue.splice(0,1),this.queue.push(e),this.cursor=this.queue.length-1}replace(e){let t=this.queue.length-this.cursor;this.queue.splice(this.cursor,t),this.queue[this.cursor]=e}setRestorePoint(e){}}function Js(r="",e=50){return new dn(r,e)}function Gn(r){}const lt=Symbol("_constructRouteModel"),at=Symbol("_findRouteModel"),Vt=Symbol("_findRootView"),Ws=Symbol("_getFirstView"),ye=Symbol("_removeView"),zs=Symbol("_buildPage"),Gs=Symbol("_resolveComponent"),Xs=Symbol("_update"),ne=Symbol("_merge"),Jt=Symbol("_handleHistoryChange"),ut=Symbol("_handleRouteUpdated"),ct=Symbol("routeUpdatedCallback"),R=Symbol("currentRoutes"),ft=Symbol("routeSessionCacheKey"),Qs=Symbol("_addRouteRecorder"),Ie=Symbol("_removeRouteRecorder"),ht=Symbol("_cloneRouteRecorder"),_=Symbol("_handleError"),yt=Symbol("errorCallback"),D=Symbol("registerKey"),dt=Symbol("notFoundKey"),Wt=Symbol("notFoundPathKey"),H=Symbol("forestKey"),C=Symbol("historyKey"),Ne=Symbol("beforeFiltersKey"),De=Symbol("afterFiltersKey"),He=Symbol("destroyFiltersKey"),zt=Symbol("propsFilterKey"),Re=Symbol("mainDispatcherKey"),Gt=Symbol("initKey"),de=Symbol("readyKey"),Xt=Symbol("readyHandlersKey"),mt=Symbol("_markReady"),Ys=Symbol("_createNextFn"),Qt=Symbol("_start"),Yt=Symbol("_before"),Zt=Symbol("_after"),Zs=Symbol("_destroy"),es=Symbol("_load"),Ue=Symbol("_unload"),Be=Symbol("routerGuardKey");function mn(r){return r.layers.length==0||r.layers[0].views.length==0}function pn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(s=>{if(!(s==null||s==null))if(typeof s.meta=="object"){let n=$(!0,{},s.meta);e.push(n)}else s.meta&&e.push(s.meta)})}),e}class gn{[D]=new Array;[dt];[Wt]="*";[de]=!1;[Xt]=[];[H]=new cn;[C];[R]=new Array;[ft]=new WeakMap;[yt]=null;[ct]=null;[Ne]=new Array;[De]=new Array;[He]=new Array;[zt]=null;[Re]=new Ke;[Be]=new hn;[Gt]=!1;get current(){const e=this[R].length;return e>0?this[R][e-1]:null}options;constructor(e){this.options=e??{},this.options.notFoundPath&&this.setNotFoundPath(this.options.notFoundPath);let t=this.options.routes||[];this.addRoutes(t),this.options.notFound&&this.setNotFoundRoute(this.options.notFound),e.history?this[C]=e.history:this[C]=le?Vs():Js(),this[C]?.listen(async s=>{let n=!0;try{if(typeof s=="string"){const i=this[k](s);i&&await this[Jt]([i])}else await this[Jt](s)}catch(i){console.error(i.message,i),n=!1}this[de]===!1&&this[mt](n)})}[_](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[yt]=="function")try{this[yt](e,t)}catch{}console.error(e)}init(){this[Gt]!==!0&&(this[C]?.init(!this[de]),this[Gt]=!0)}isReady(){return this[de]?Promise.resolve():new Promise((e,t)=>{this[Xt].push([e,t])})}[mt](e){this[de]=!0,this[Xt].forEach(([t,s])=>{try{e?t():s()}catch(n){console.error(n.message,n)}})}[Jt](e){try{if(!e){let o=[...this[R]].reverse();return this[Ue](o),le&&E().location.reload(),Promise.resolve()}let t=null,s=[],n=[],i=0;for(;i<e.length&&i<this[R].length&&P.isSame(e[i],this[R][i]);i++)e[i].active===!0&&e[i].active!==this[R][i].active&&(t=e[i]);if(i<e.length&&(s=e.slice(i)),i<this[R].length&&(n=this[R].slice(i).reverse()),n.length===0&&s.length===0){if(t!==null)return this.restore([t])}else if(n.length>0){if(this[Ue](n)){if(s.length>0)return this.restore(s);if(t!==null)return this.restore([t])}}else return this.restore(s)}catch(t){this[_](t)}return Promise.resolve()}[ut](e=null){if(e||(e=this.current),typeof this[ct]=="function")try{this[ct](e)}catch{}}[Qs](e,t){if(e.opsType===F.Open){let s=!1;const n=this[R].length-1;for(let i=n;i>=0;i--){const o=this[R][i];if(e.root==o.root){if(e.path===o.path){this[R].splice(i,1,e),s=!0;continue}e.active&&(o.active=!1)}}s||this[R].push(e)}else this[R].push(e);this[ft].set(e,t)}[ht](){let e=[];for(let t of this[R]){let s=P.clone(t,!0);e.push(s)}return e}[Ie](e){if(!this[R])return;let t=-1;for(let s=0;s<this[R].length;s++)if(P.isSame(this[R][s],e)){t=s;break}if(t!=-1){let s=this[R][t];this[R].splice(t,1);const n=this[ft].get(s);this[ft].delete(s),this[Zs](s,n)}}set historyMonitor(e){this[C]&&(this[C].historyMonitor=e)}get historyMonitor(){return this[C]?this[C].historyMonitor:!1}set traceless(e){this[C]&&(this[C].traceless=e)}get traceless(){return this[C]?this[C].traceless:!1}set propsFilter(e){this[zt]=e}get propsFilter(){return this[zt]}setRestorePoint(){const e=this[ht]();this[C]?.setRestorePoint(e)}onRouteUpdated(e){this[ct]=e}onError(e){this[yt]=e}beforeEach(e){this[Ne].push(e)}removeBeforeEach(e){const t=this[Ne].indexOf(e);return t!==-1?(this[Ne].splice(t,1),!0):!1}afterEach(e){this[De].push(e)}removeAfterEach(e){const t=this[De].indexOf(e);return t!==-1?(this[De].splice(t,1),!0):!1}destroyEach(e){this[He].push(e)}removeDestroyEach(e){const t=this[He].indexOf(e);return t!==-1?(this[He].splice(t,1),!0):!1}beforeRestoreEach(e){this[C]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[C]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Wt]){this.setNotFoundRoute(e);return}const s=this[lt](e);if(t==-1)this[D]=[...this[D],...s];else for(let n=s.length-1;n>=0;n--)this[D].splice(t,0,s[n])}removeRoute(e){const t=this[k](e);if(t===null)return console.warn("route格式错误",e),!1;for(let s=0;s<this[D].length;s++){const n=this[D][s];if(t?.path&&n.path===t.path)return this[D].splice(s,1),!0;if(t?.name&&n.name===t.name)return this[D].splice(s,1),!0}return!1}hasRoute(e){const t=this[k](e);return t===null?(console.warn("route格式错误",e),!1):this[D].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Wt]=e}setNotFoundRoute(e){const t=this[lt](e);this[dt]=t[0]}getRoutes(){return[...this[D]]}[lt](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let s=e.components??(e.component&&{"":e.component});if(s==null){const a=new Tt;return a.path=t,a.redirect=e.redirect,[a]}let n=[];for(let a in s){let l=s[a];a.length===0&&(a=z);let u=new Mr(a,l,e.props,e.meta);n.push(u)}let i=!1,o=[];if(e.children)for(let a of e.children){let l=this[lt](a);for(let u of l){let c=new Tt;c.name=u.name,u.path&&u.path.length>0?t!=="/"?c.path=`${t}${u.path}`:c.path=u.path:(i=!0,c.path=t);let f=new xs;f.models=[...n],c.layers=[f,...u.layers],o.push(c)}}if(!i){const a=new xs;a.models=n;const l=new Tt;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[at](e){const t=e.route;try{for(let s of this[D]){const n=t.template??t.path,i=t.template??t.name;if(n&&s.path){let o=s.match;o||(o=s.match=Xr(s.path));const a=o(n);if(!a)continue;if(s.redirect){const l=new P;$(!0,l,t),l.path=s.redirect;const u={route:l,find:void 0};return this[at](u)?(e.route=u.route,e.find=u.find,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0):!1}if(t.params=t.params??{},$(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},c=l.split("&");for(let f of c){const h=f.split("=");if(h.length!==2)continue;const y=decodeURIComponent(h[0].trim()),d=decodeURIComponent(h[1].trim());u[y]=d}$(!0,t.params,u)}else typeof l=="object"&&$(!0,t.params,l)}return e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===s.name){t.params=t.params??{};const o=Gr(s.path);return t.path=o(t.params),e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(s){console.error(s.message,s),typeof t.error=="function"&&t.error(s.message)}return!1}[k](e){let t=null;if(Array.isArray(e))if(t=new P,typeof e[0]=="object")t=P.from(e[0]);else for(let s=0;s<e.length;s++)s===0?e[s].charAt(0)==="/"?t.path=e[s]:t.name=e[s]:s===1?t.params=e[s]:s===2?t.root=e[s]:s===3&&$(!1,t,e[s]);else typeof e=="object"?t=P.from(e):typeof e=="string"&&(t=new P,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let s=t.path.indexOf("?");s!==-1&&s<t.path.length-1&&(t.query=t.path.substring(s+1),t.path=t.path.substring(0,s))}t.root=t.root??z,t.opsType=t.opsType??this.options.defaultOperationType??F.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[k](e);return t?(t.opsType=F.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}put(...e){const t=this[k](e);return t?(t.opsType=F.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[_]("resolve route fail",t),this)}replace(...e){const t=this[k](e);return t?(t.opsType=F.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[_]("resolve route fail",t),this)}append(...e){const t=this[k](e);return t?(t.opsType=F.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}remove(e,t){return new Promise(s=>{this[Re].post(n=>{try{if(this[R].length===0){n.resolve(),s(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[R][0].root??z,e.all)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];c.opsType===F.Append&&c.root===o&&(a.splice(0,0,c),i=u-1)}else if(e.until)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];if(c.opsType===F.Append&&c.root===o){if(e.until.charAt(0)==="/"&&e.until===c.path){i=u;break}else if(e.until===c.name){i=u;break}a.splice(0,0,c)}}else if(e.to)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];if(c.opsType===F.Append&&c.root===o){if(a.splice(0,0,c),e.to.charAt(0)==="/"&&e.to===c.path){i=u-1;break}else if(e.to===c.name){i=u-1;break}}}}else{o=z;let u=this[Ws](this[H]);u&&(o=u.name);for(let c=this[R].length-1;c>0;c--){let f=this[R][c];if(f.opsType===F.Append&&f.root===o){a.push(f),i=c-1;break}}}if(i===-1||a.length===0){let u="can not find route";console.warn(u),n.resolve(u),s(!1);return}let l=null;if(i!==-1&&(l=this[R][i]),this[Ue](a)){if(t===!1)return n.resolve(),s(!0),!0;const u=()=>(n.resolve(),s(!0),!0),c=this[R].length;if(l&&P.isSame(l,this[R][c-1])){this[C]?.goBack(l,u);return}u()}}catch(i){this[_](i),n.resolve(),s(!1)}})})}open(...e){let t=this[k](e);return t?(t.opsType=F.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}close(e){return this[Re].post(t=>{try{let s=this[k](e);if(!s){t.reject("resolve route fail");return}let n=[];for(let i=0;i<this[R].length;i++){let o=this[R][i];if(o.root===s.root){if(!s.path&&!s.name){n.push(o);continue}if(s.path&&s.path===o.path){n.push(o);break}else if(s.name&&s.name===o.name){n.push(o);break}}}if(n.length===0){t.resolve();return}this[Ue](n)&&this[ut](),t.resolve()}catch(s){this[_](s),t.resolve()}}),this}to(...e){let t=this[k](e);if(!t)return this[_]("resolve route fail",t),this;let s=this[Be].acquire(t);return s==null?(this[_]("route forbid",t),this):(this[Re].post(n=>{try{let i=this[Qt](t);this[Yt](i),this[es](i),this[Zt](i),i.wait((o,a)=>{const l=o.session.to;if(o.session.updateResult&&o.session.updateResult.status==="success")try{let u=P.clone(l,!0);const c=new Is(u,this[ht]());l.historyUpdatePolicy==="replace"?this[C]?.replace(c):l.historyUpdatePolicy==="traceless"?this[C]?.setRouteMark(c):this[C]?.push(c)}catch(u){console.error(u.message,u)}if(pe.clear(o.session),this[Be].release(s),this[ut](l),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[de]===!1&&this[mt](!0),i=null,n.resolve()},(o,a)=>{this[Be].release(s),a!==null&&this[_](a,t),this[de]===!1&&this[mt](!1),pe.clear(o.session),i=null,n.resolve()})}catch(i){this[Be].release(s),this[_](i,t),n.resolve()}}),this)}back(e=1){this[C]?.go(-e,!1)}[Ys](e){return(t,s)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(s??null);else if(t){const n=this[k](t);if(n){const i=e.session.to;n.success=i.success,n.error=i.error,e.session.to=n,e.session.redirect=!0,e.session.routeModel=null,e.resolve()}else e.session.redirect=!1,e.reject("route resolve fail")}else e.session.redirect=!1,e.resolve()}}[Qt](e){const t=this[R].length>0?this[R][this[R].length-1]:void 0,s=new pe(e,t),n={route:e,find:null};return this[at](n),n.find&&(s.routeModel=n.find,e.matched=pn(n.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=n.find.layers[0].models[0].meta)),new Ke(s)}[Yt](e){for(let t of this[Ne])e.post(s=>{const n=this[Ys](s);Reflect.apply(t,{},[s.session.to,s.session.from,n,s.session])})}[Zt](e){e.post(t=>{for(let s of this[De])try{Reflect.apply(s,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[Zs](e,t){for(let s of this[He])try{Reflect.apply(s,{},[e,t])}catch(n){console.error(n.message,n)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[es](e){e.post(t=>{const s=t.session.to;let n=t.session.routeModel;if(n==null){let o={route:s,find:null};if(this[at](o))n=o.find,t.session.routeModel=n;else if(this[dt])n=this[dt];else{t.reject(`not find route model, path:${s.path??s.name}`);return}}const i=pe.from(t.session);this[zs](s,n,i).then(o=>{this[H],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Ue](e){if(e.length==0)return!0;let t=this[H],s=[];for(let n of e){let i=this[Vt](t,n);i!=null&&s.push({...i,route:n})}if(s.length==0)return this[_]("can not find view index"),!1;for(let n of s.reverse())this[ye](t,{x:n.x,y:n.y},[n.route.index??0],!0);return!0}[Vt](e,t){const s=t.root??z;let n;for(let i=0;i<e.layers.length;i++){const o=e.layers[i];for(let a=o.views.length-1;a>=0;a--){const l=o.views[a];if(l[V]&&l[nt]===s)return n={x:a,y:i},n}}return null}[Ws](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ye](e,t,s=null,n=!0){if(t.y>=e.layers.length||t.x>=e.layers[t.y].views.length)return;let i=e.layers[t.y].views[t.x],o=!1,a=[],l=!1,u=[...i.slots.value];for(let f=u.length-1;f>=0;f--){let h=u[f];(!s||s.indexOf(h.index)!=-1)&&(h.route&&i[V]&&(this[Ie](h.route),h.active===!0&&h.route.opsType==F.Append&&(l=!0)),a.push(new N(i,h.index,t.y)),u.splice(f,1))}if(u.length==0)n?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let f=u.length-1,h=u[f];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let c=t.y+1;for(;c<e.layers.length;c++){let f=e.layers[c].views,h=[];for(let y=f.length-1;(o||a.length>0)&&y>=0;y--){let d=f[y];if(d[fe]&&(o||N.include(a,d[fe]))){let m=d.slots.value;for(let v=m.length-1;v>=0;v--){let b=m[v];b.route&&d[V]&&this[Ie](b.route),h.push(new N(d,b.index,c)),m.splice(v,1)}e.layers[c].views.splice(y,1)}}a=h,e.layers[c].views.length==0&&(o=!0)}}restore(e){if(!e||this[D].length==0){let t=this[H];if(t.layers.length>0){let s=t.layers[0].views;s.length>0&&(s[0].slots.value=[])}return this[R]=[],this[ut](),Promise.resolve()}else return new Promise((s,n)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[Re].post(u=>{const c=this[Qt](l);this[Yt](c),this[es](c),this[Zt](c),c.wait((f,h)=>{i=f.session.to,o=f.session.redirect,u.resolve()},(f,h)=>{i=null,h!==null&&this[_](h),u.resolve()})})}this[Re].post(a=>{if(i&&o===!0){const l=P.clone(i,!0),u=new Is(l,this[ht]());this[C]?.replace(u)}a.resolve(),s()})})}[zs](e,t,s){const n=e.updateType??rt.Part;return this[Gs](t).then(()=>{const o=this[Xs](t,e,s,n);if(o.status==="error")throw Error(o.message);return o})}[Gs](e){let t=[];for(let s=0;s<e.layers.length;s++){let n=e.layers[s];for(let i=0;i<n.models.length;i++){let o=n.models[i];o.isResolved||t.push(o.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[Xs](e,t,s,n){if(e.layers[0].models.length!==1)return{status:"error",message:"illegal route structure(multi root node)"};const i=e.layers[0].models[0];let o=this[H],a=mn(o),l=t.root??z,u;!a&&n==rt.Part&&(u=this[Vt](o,t));let c,f=0;if(u==null||u==null)if(a||n===rt.All){if(o.layers.length==0&&(o.layers[0]=new Ht),o.layers[0].views.length==0){let h=t.root??z;c=new ke(h,!0,null),o.layers[0].views=[c]}else c=o.layers[0].views[0];u={x:0,y:0}}else{let h=t.slot;if(!h)return{status:"error",message:"can not rebuild view(because not route slot)"};let y=h.level;if(y>o.layers.length)return{status:"error",message:"can not insert view(override level)"};let d;if(h.rootName){let m=o.layers[y-1];for(let v of m.views){if(v[V]&&v.name===h.rootName){d=new N(v,h.rootIndex??0,y-1);break}if(v[J]&&v[J].view.name===h.rootName&&v[J].index===h.rootIndex){d=v[J];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};c=new ke(l,!0,d),o.layers[y].views.push(c),u={x:o.layers[y].views.length-1,y}}else c=o.layers[u.y].views[u.x];if(f=u.y,c[V]=!0,t.opsType===F.Append){t.index=t.index??te.get(),t.active=!0;let h=c.slots.value;if(h.length>0){let b=h[h.length-1];b.active=!1,b.route&&(b.route.active=b.active)}let y=new re(t,i,t.index,!0);c.slots.value=[...h,y];let d=f+1,m=1,v=new N(c,t.index,f);this[ne](o,d,e,m,v)}else if(t.opsType===F.Open){let h=c.slots.value;const y=t.active??!0;let d=!1;for(let m of h){if(m.route!==null&&P.isSameForRouteModel(m.route,t)){if(m.active===y)return t.index=m.index,t.active=y,m.route=t,{status:"no-change",message:""};m.active=y,d=!0,t.index=m.index,t.active=y,m.route=t}else y&&(m.active=!1);m.route&&(m.route.active=m.active)}if(!d){t.index=t.index??te.get(),t.active=y;let m=new re(t,i,t.index,y);h.push(m);let v=f+1,b=1,w=new N(c,t.index,f);this[ne](o,v,e,b,w)}c.slots.value=[...h]}else{let h=c.slots.value;if(h.length==0){t.index=t.index??te.get(),t.active=!0,c.slots.value=[new re(t,i,t.index)];let y=f+1,d=1,m=new N(c,t.index,f);this[ne](o,y,e,d,m)}else{let y=h[0];if(y.model!==i){this[ye](o,u,null,!0),t.index=t.index??te.get(),t.active=!0,c.slots.value=[new re(t,i,t.index)];let d=f+1,m=1,v=new N(c,t.index,f);this[ne](o,d,e,m,v)}else{y.route!==null&&this[Ie](y.route);let d=!1;const m=t.active??!0;y.active!==m&&(y.active=m,d=!0),t.active=m,t.index=y.index,y.route=t;let v=[];for(let Y=1;Y<h.length;Y++)v.push(h[Y].index);v.length>0?this[ye](o,u,v,!0):d&&(c.slots.value=[...h]);let b=[new N(c,t.index,f)],w=f+1,j=1,oe=new N(c,t.index,f);for(;b.length>0&&w<o.layers.length&&j<e.layers.length;w++,j++){let Y=[];for(let q=0;q<o.layers[w].views.length;q++){let L=o.layers[w].views[q];L[fe]&&N.include(b,L[fe])&&Y.unshift(q)}let Ee=[];for(let q of Y){let L=o.layers[w].views[q],me=e.layers[j].models,Z;for(let M=0;M<me.length;M++)if(L.name===me[M].name){Z=me[M];break}if(!Z)this[ye](o,{x:q,y:w},null,!1);else{let M=L.slots.value;if(M.length==0){let Q=0;L.slots.value=[new re(null,Z,Q)];let W=w+1,ee=j+1;this[ne](o,W,e,ee,oe)}else{let Q=M[0];if(Q.model!==Z){this[ye](o,{x:q,y:w},null,!0),L.slots.value=[new re(null,Z,0)];let W=w+1,ee=j+1;this[ne](o,W,e,ee,oe)}else{L[V]&&Q.route!==null&&this[Ie](Q.route);let W=[];for(let ee=1;ee<M.length;ee++)W.push(M[ee].index);W.length>0&&this[ye](o,{x:q,y:w},W,!0),Ee.push(new N(L,Q.index,w))}}L[V]=!1}}b=Ee}this[ne](o,w,e,j,oe)}}}if(c&&c[J]){let h=c[J];h&&(t.slot=new Or(l,f,h?.view.name,h?.index??0))}return s.to=void 0,s.routeModel=void 0,this[Qs](t,s),{status:"success",message:""}}[ne](e,t,s,n,i){let o=n,a=t;for(;a<e.layers.length&&o<s.layers.length;a++,o++){let l=e.layers[a].views;for(let u of s.layers[o].models){let c=new ke(u.name,!1,i),f=new re(null,u);c.slots.value=[f],l.push(c)}}for(;o<s.layers.length;o++){let l=new Ht;l.views=[];for(let u of s.layers[o].models){let c=new ke(u.name,!1,i),f=new re(null,u);c.slots.value=[f],l.views.push(c)}e.layers.push(l)}}[Rs](e,t,s,n,i,o){if(t<0||t>this[H].layers.length)return null;if(t<this[H].layers.length){let c=this[H].layers[t],f=null;for(let h of c.views){let y=!1;if(s!==null?(y=h.name===e&&h[J]?.view===s,y&&n!==-1&&(y=h[J]?.index===n)):y=h.name===e,!!y){i!==null&&(h[fe]={view:i,index:o,level:t-1}),f=h;break}}if(f!==null)return f}let a=null,l=null;i!==null&&(i[V]?a={view:i,index:o,level:t-1}:a=i[J],l={view:i,index:o,level:t-1});let u=new ke(e,!0,a);if(u[fe]=l,t==this[H].layers.length){let c=new Ht;c.views=[u],this[H].layers.push(c)}else this[H].layers[t].views.push(u);return u}}const vn="fox-router-view",wn="fox-router-link";function er(r,e=!1){let t=null;return e?t=r.showFromClass??r.enterFromClass:t=r.enterFromClass,t||(t=r.transitionName,t?e?`${t}-show-from`:`${t}-enter-from`:null)}function tr(r,e=!1){let t=null;return e?t=r.showActiveClass??r.enterActiveClass:t=r.enterActiveClass,t||(t=r.transitionName,t?e?`${t}-show-active`:`${t}-enter-active`:null)}function bn(r,e=!1){let t=null;return e?t=r.showToClass??r.enterToClass:t=r.enterToClass,t||(t=r.transitionName,t?e?`${t}-show-to`:`${t}-enter-to`:null)}function sr(r,e=!1){let t=null;return e?t=r.hideFromClass??r.leaveFromClass:t=r.leaveFromClass,t||(t=r.transitionName,t?e?`${t}-hide-from`:`${t}-leave-from`:null)}function rr(r,e=!1){let t=null;return e?t=r.hideActiveClass??r.leaveActiveClass:t=r.leaveActiveClass,t||(t=r.transitionName,t?e?`${t}-hide-active`:`${t}-leave-active`:null)}function Rn(r,e=!1){let t=null;return e?t=r.hideToClass??r.leaveToClass:t=r.leaveToClass,t||(t=r.transitionName,t?e?`${t}-hide-to`:`${t}-leave-to`:null)}function Sn(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function xn(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function Pn(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function Cn(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function En(r,e=!1){let t=null;return e?t=r.beforeHide??r.beforeLeave:t=r.beforeLeave,t}function $n(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function Fn(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function An(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function ts(r){let e,t=r.duration;return typeof t=="object"?e={enter:t.enter??-1,leave:t.leave??-1,show:t.show??-1,hide:t.hide??-1}:(typeof t=="string"&&(t=t.length==0?-1:Number(t)),e={enter:t,leave:t,show:t,hide:t}),e}function Se(r,e){r.classList.contains(e)||r.classList.add(e)}function xe(r,e){r.classList.remove(e)}const Tn=le&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function pt(r){Tn(r)}function T(r,e,t){S(e)&&(r==null&&(r={}),Reflect.apply(e,r,t))}function nr(r,e,t,s=-1,n,i,o,a){let l=[];const u=()=>{for(let c of l)bt(e,c.type,c.listener);l=[]};if(S(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,s]),S(a)&&Reflect.apply(a,r,[])},n);return}const c=["animationend","transitionend",Qe],f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(i,r,[e,t,s]))};c.forEach(h=>{We(e,h,f),l.push({type:h,listener:f})})}if(S(o)){const c="animationcancel",f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(o,r,[e,t,s]))};We(e,c,f),l.push({type:c,listener:f})}}function gt(r){return!le||r===null?!1:r.opsType===F.Append||r.opsType===F.Open}function ir(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=er(s,e);o&&Se(t,o);const a=tr(s,e);a&&Se(t,a);const l=Sn(s,e);T(r,l,[t,e,n,i])}}function or(r,e,t,s={},n,i,o,a){if(!gt(i)&&!e){S(a)&&a(r,a,[t]);return}const l=er(s,e),u=tr(s,e),c=bn(s,e),f=xn(s,e),h=Pn(s,e),y=Cn(s,e);if(!l&&!u&&!c&&!f){S(a)&&a(r,a,[t]);return}pt(()=>{nr(r,t,i,o,n,()=>{u&&xe(t,u),c&&xe(t,c),S(h)&&T(r,h,[t,e,i,o]),S(a)&&a(r,a,[t])},()=>{S(y)&&T(r,y,[t,e,i,o])}),l&&xe(t,l),c&&Se(t,c),S(f)&&T(r,f,[t,e,i,o])})}function lr(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=sr(s,e);o&&Se(t,o);const a=rr(s,e);a&&Se(t,a);const l=En(s,e);T(r,l,[t,e,n,i])}}function ar(r,e,t,s={},n,i,o,a,l){if(!gt(o)&&!e){S(l)&&T(r,l,[t]),!e&&S(i)&&i();return}const u=sr(s,e),c=rr(s,e),f=Rn(s,e),h=$n(s,e),y=Fn(s,e),d=An(s,e);if(!u&&!c&&!f&&!h){S(l)&&T(r,l,[t]),!e&&S(i)&&i();return}pt(()=>{nr(r,t,o,a,n,()=>{c&&xe(t,c),f&&xe(t,f),S(y)&&T(r,y,[t,e,o,a]),S(l)&&T(r,l,[t]),!e&&S(i)&&i()},()=>{S(d)&&T(r,d,[t,e,o,a]),S(l)&&T(r,l,[t]),!e&&S(i)&&i()}),u&&xe(t,u),f&&Se(t,f),S(h)&&T(r,h,[t,e,o,a])})}function ss(r,e,t={},s,n=-1){const i=t.mode??"default",o=ts(t);return{mode:i,persisted:!1,beforeEnter:l=>{ir(r,!1,l,t,s,n)},enter:l=>{or(r,!1,l,t,o.enter,s,n)},leave:(l,u)=>{lr(r,!1,l,t,s,n),ar(r,!1,l,t,o.leave,u,s,n,()=>{e.transition=null,e=null})},clone:l=>ss(r,e,t,s,n)}}function ur(r){return r.el}function _n(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ts(t);ir(r,!0,a,t,s,n),or(r,!0,a,t,l.show,s,n,u=>{S(o)&&T(r,o,[u])})}else S(o)&&T(r,o,[])}function Kn(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ts(t);lr(r,!0,a,t,s,n),ar(r,!0,a,t,l.hide,null,s,n,u=>{S(o)&&T(r,o,[u])})}else S(o)&&T(r,o,[])}function jn(r,e={}){pt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function cr(r,e,t={},s,n=-1){return{mode:t.mode??"default",persisted:!1,beforeEnter:a=>{ze(Ps,{},a)},enter:a=>{ze(Cs,{},a)},leave:(a,l)=>{ze(Es,{},a),pt(()=>{const u=c=>{const f=c.target||c.srcElement,h=c.currentTarget;f===h&&(bt(a,Qe,u),l&&Reflect.apply(l,r,[]),e.transition=null,e=null)};We(a,Qe,u),ze($s,{},a)})},clone:a=>cr(r,e,t,s,n)}}function ie(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function rs(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}function Pe(r,e){return typeof e=="function"?e(r):r}class qn{node;state;constructor(e,t){this.node=e,this.state=t}}const ns=g.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,required:!1,default:"default"},modelSlot:{type:[Object],required:!1},multi:{type:Boolean,required:!1,default:!1},tag:{type:[String,Object,Function],required:!1,default:"div"},viewTag:{type:[String,Object,Function],required:!1,default:"div"},viewTagProps:{type:[Object,Function],required:!1,default(){return{}}},viewClass:{type:[String,Function],required:!1},viewActiveClass:{type:[String,Function],required:!1},viewInactiveClass:{type:[String,Function],required:!1},transition:{type:[Boolean,String,Function],required:!1,default:!1},transitionName:{type:String,required:!1},enterFromClass:{type:String,required:!1},enterActiveClass:{type:String,required:!1},enterToClass:{type:String,required:!1},leaveFromClass:{type:String,required:!1},leaveActiveClass:{type:String,required:!1},leaveToClass:{type:String,required:!1},showFromClass:{type:String,required:!1},showActiveClass:{type:String,required:!1},showToClass:{type:String,required:!1},hideFromClass:{type:String,required:!1},hideActiveClass:{type:String,required:!1},hideToClass:{type:String,required:!1},beforeEnter:{type:Function,required:!1},enter:{type:Function,required:!1},afterEnter:{type:Function,required:!1},enterCancelled:{type:Function,required:!1},beforeLeave:{type:Function,required:!1},leave:{type:Function,required:!1},afterLeave:{type:Function,required:!1},leaveCancelled:{type:Function,required:!1},beforeShow:{type:Function,required:!1},show:{type:Function,required:!1},afterShow:{type:Function,required:!1},showCancelled:{type:Function,required:!1},beforeHide:{type:Function,required:!1},hide:{type:Function,required:!1},afterHide:{type:Function,required:!1},hideCancelled:{type:Function,required:!1}},setup(r,e){const t=g.getCurrentInstance();if(t===null||t.proxy===null){console.error("instance or instance.proxy not exist");return}const s=r.multi===!0,n=g.inject(tt,null),i=g.inject(kt,0),o=g.inject(qs,null),a=g.inject(Ot,-1);let l=null,u=r.modelSlot;if(u){if(g.provide(kt,i+1),g.provide(Ot,u.index),g.provide(Mt,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=Ze(t.proxy,!0);Ur(h),js(h,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const f=r.name,h=g.inject(Ls,null),y=g.inject(Mt,0);if(l=n[Rs](f,i,o,a,h,y),l===null)return;g.provide(Ls,l);const d=l[V]===!0;if(d&&g.provide(qs,l),!s&&(g.provide(Ot,-1),g.provide(kt,i+1),g.provide(Mt,-1),d)){const m=Ze(t.proxy,!0);js(m,()=>{const v=l.slots.value;return v.length>0?v[0].route:null})}}const c={value:new Map};return g.onUnmounted(()=>{if(c.value&&c.value.clear(),u){const f=u;f.route=null,f.model=null,f.instance=null,u=void 0}}),()=>{if(s){const f=new Map,h=[],y=l?.slots.value,d=[];for(let b=0;b<y.length;b++){const w=y[b],j=`${r.name}_${w.index}`,oe=ie(r.transition,w.route,b)??!0,Y={modelSlot:w};let Ee;e.slots.default?Ee=g.h(ns,Y,{default:e.slots.default}):Ee=g.h(ns,Y);const q={},L=ie(r.viewClass,w.route,b);typeof L=="string"&&L.length>0&&(q[L]=!0);const me=ie(r.viewActiveClass,w.route,b),Z=ie(r.viewInactiveClass,w.route,b),M=c.value.get(j);if(typeof me=="string"&&me.length>0&&(q[me]=w.active),typeof Z=="string"&&Z.length>0&&(q[Z]=!w.active),M&&w.active!==M.state){const U=M.node;w.active?d.unshift(()=>{const us=()=>{let Ve=As(U);Ve!=null&&Ts(Ve,qt.ACTIVATED)};_n(t,U,r,w.route,b,oe,us)}):d.push(()=>{const us=()=>{const Ve=As(U);Ve!=null&&Ts(Ve,qt.DEACTIVATED)};Kn(t,U,r,w.route,b,oe,us)})}const Q={class:q,key:j},W=ie(r.viewTagProps,w.route,b);if(W!==null&&typeof W=="object"){const U=Pe(W,n?.propsFilter);$(!0,Q,U)}if(w.route?.viewTagAttrs&&typeof w.route?.viewTagAttrs=="object"){const U=Pe(w.route.viewTagAttrs,n?.propsFilter);$(!0,Q,U)}const ee=ie(r.viewTag,w.route,b),$e=g.h(ee,Q,{default:()=>[Ee]});if(f.set(j,new qn($e,w.active)),c.value.delete(j),oe===!0){const U=ss(t,$e,r,w.route,b);$e.transition=U}else if(oe==="custom"){const U=cr(t,$e,r,w.route,b);$e.transition=U}h.push($e)}c.value=f,jn(d,t);const m=ie(r.tag,null,-1),v={};return Object.assign(v,e.attrs),g.h(m,v,{default:()=>h})}else if(u!=null){const f=u.model,h={};if(f.props){if(typeof f.props=="object"){const d=Pe(f.props,n?.propsFilter);$(!1,h,d)}else if(f.props===!0&&typeof u.route?.params=="object"){const d=Pe(u.route.params,n?.propsFilter);$(!1,h,d)}}const y=g.h(f.component,h);return rs(e.slots.default,{Component:y,route:u.route})??y}else{const f=l.slots.value;if(f.length>0){const h=f[0],y=h.route??(t.proxy&&Lt(t.proxy))??null,d=h.model,m={};if(d.props){if(typeof d.props=="object"){const w=Pe(d.props,n?.propsFilter);$(!1,m,w)}else if(d.props===!0&&typeof y?.params=="object"){const w=Pe(y.params,n?.propsFilter);$(!1,m,w)}}const v=g.h(d.component,m);if(ie(r.transition,y,-1)??!0){const w=ss(t,v,r,y,-1);v.transition=w}return rs(e.slots.default,{Component:v,route:y})??v}else return rs(e.slots.fallback,{})}}}});function Ln(r){if(!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)&&!r.defaultPrevented&&!(r.button!=null&&r.button!==0)){if(r.currentTarget&&r.currentTarget.getAttribute){const e=r.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return r.preventDefault&&r.preventDefault(),!0}}function kn(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function On(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function Ce(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let Mn=g.defineComponent({name:"RouterLink",inheritAttrs:!1,props:{tag:{type:[String,Object,Function],required:!1,default:"a"},to:{type:[String,Object,Function],required:!0},root:{type:String},activeClass:{type:[String,Function],required:!1,default:"fox-router-link-active"},exact:{type:[String,Boolean,Function],required:!1},exactActiveClass:{type:[String,Function],required:!1,default:"fox-router-link-exact-active"},event:{type:[String,Function],required:!1,default:"onClick"}},setup(r,e){const t=g.inject(tt,null);return()=>{let s=Ce(r.to,null),n=Ce(r.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[k](s),r.root&&(i.root=r.root),o=t.current);let a={},l=Ce(r.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=On(i,o)),Ce(r.exact,i)===!0){let h=Ce(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=kn(i,o))}let c={class:a};(n==="a"||n==="A")&&(c.href=i?.path??i?.name??"#"),$(!0,c,e.attrs);let f=Ce(r.event,i);if(typeof f=="string"){const h=y=>{if(t==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}Ln(y)&&t.to(i)};c[f]=h}return g.h(n,c,e.slots)}}});var K=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(K||{}),vt=(r=>(r[r.normal=0]="normal",r[r.factory=1]="factory",r))(vt||{});class In{register=new Map;constructor(){}get(e){return this.register.get(e)??null}set(e,t){this.register.set(e,t)}remove(e){let t=this.register.get(e);return this.register.delete(e),t??null}has(e){return this.register.has(e)}clear(){this.register.clear()}}class fr{moduleManager=new In;options={paths:{},alias:{},nature:[],timeout:3e3};set paths(e){this.options.paths=e}get paths(){return this.options.paths}set alias(e){this.options.alias=e}get alias(){return this.options.alias}set naturePaths(e){this.options.nature=e}get naturePaths(){return this.options.nature}set timeout(e){this.options.timeout=e}get timeout(){return this.options.timeout}_query;set query(e){this._query=e}get query(){return this._query}get head(){return Je().head}constructor(){}setModule(e,t){const s={id:e,src:"",status:K.Defined};typeof t=="function"?(s.exports=t,s.type=vt.factory):s.exports=t,this.moduleManager.set(e,s)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let s=e.length-1;const n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let l=0;l<=s;l++)if(Array.isArray(e[l])){let u=e[l];for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}const o=new Nn(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(c){console.error(c.message,c)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(c){console.error(c.message,c)}}),a=new Ke;for(let l=0;l<t.length;l++){const u=new Dn(l,t[l],n,o);this.mount(a,u)}return this}remove(...e){let t=[],s=e.length-1,n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let o=0;o<=s;o++)if(Array.isArray(e[o])){let a=e[o];for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}else{let a=e[o].split(",");for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}return t.forEach(o=>{this.unmount(o,n)}),typeof i=="function"&&Reflect.apply(i,{},[]),this}mount(e,t){if(t.src==="exports"){e.post(n=>{t.progress.work(!0,t.index,"exports"),n.resolve()});return}else if(t.src==="module"){e.post(n=>{t.progress.work(!0,t.index,"module"),n.resolve()});return}if(this.isNaturePath(t.src)){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(this.isNaturePath(t.src)){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}let s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(s==="css"){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}}mountCSS(e,t,s){e.post(n=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==K.Defined||o.status==K.Loaded)&&o.exports){o.type===vt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}const a=Je(),l=a.createElement("link");if(Reflect.has(l,"onload"))l.onload=()=>{l.onload=null,l.onerror=null,t.progress.work(!0,t.index,t.src),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),n.reject()};else{const f={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),n.resolve()},error:()=>{try{s.removeChild(l)}catch(h){console.error(h.message,h)}t.progress.work(!1,t.index,null),n.resolve()}};setTimeout(()=>{hr(l,f)},1)}let c=a.getElementById(i);c&&c.parentNode&&c.parentNode.removeChild(c),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,s.appendChild(l)})}mountJS(e,t,s){e.post(n=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==K.Defined||o.status==K.Loaded)){if(o.exports){o.type===vt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}if(document.querySelector(`script[src='${i}`)){t.progress.work(!0,t.index,o.exports),n.resolve();return}}o={id:i,src:i,status:K.Loading},this.moduleManager.set(i,o);const l=Je().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===K.Loading&&(o.status=K.Loaded,t.progress.work(!0,t.index,i)),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),n.resolve()};else{const f=l;f.onreadystatechange=()=>{/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,o.status==K.Loading&&(o.status=K.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const c=E();c.define=this.createDefine(o,t),s.appendChild(l)})}unmount(e,t={}){const s=Je(),n=this.getFileNamePostfix(e);if(n==="js"||n.length===0){const i=s.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(n==="css"){const i=s.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let s=0;s<e.length;s++){if(e[s]===void 0||e[s]===null)continue;const n=e[s].trim();n.length!==0&&t.push(n)}return t}createDefine(e,t){const s=this,n=function(...i){e.status=K.Defining;let o,a,l,u=i.length;u===1?(l=i[0],o=void 0):u===2?(l=i[1],Array.isArray(i[0])?(a=s.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=s.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,s.options.alias[o]=e.src),a&&a.length>0?s.ensure(a,(...c)=>{const f=c.map(h=>h==="exports"?((!e.exports||typeof e.exports!="object")&&(e.exports={}),e.exports):h==="module"?e:h);if(typeof l=="function"){const h=Reflect.apply(l,e,f);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=K.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=K.Defined,t.progress.work(!0,t.index,e.exports))};return n.amd=!0,n}resolvePath(e){try{if(e==="exports"||e==="module"||this.isNaturePath(e))return e;e=this.parserPath(e,!0);let t=this.getFileNamePostfix(e);t=t.toLowerCase();let s=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),s.length>0&&(e+=`?${s}`)):s.length>0&&(e+=`&${s}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let s in e){let n=`${e[s]}`;t+=`${encodeURIComponent(s)}=${encodeURIComponent(n)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let s=e.lastIndexOf(".",t);return s==-1?"":e.substring(s+1,t)}isNaturePath(e){if(!this.options.nature)return!1;if(typeof this.options.nature=="function")return this.options.nature(e);const t=this.options.nature;if(t&&Array.isArray(t))for(let s=0;s<t.length;s++){const n=t[s];if(e.indexOf(n)===0)return!0}return!1}parserPath(e,t){if(e.indexOf("http://")==0||e.indexOf("https://")==0||e.indexOf("file:///")==0)return e;if(e.indexOf("/")==0)return`${wt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${wt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${E().location.protocol}${e}`;if(t){let n=this.options.alias[e];if(!n){let i=e.indexOf("/");if(i==-1)n=e;else{let o=e.slice(0,i),a=this.options.paths[o];a?n=a+e.slice(i):n=e}}return this.parserPath(n,!1)}return`${wt()}${e}`}}function hr(r,e){let t=r.sheet,s=!1;if(e.isOldWebKit)t&&(s=!0);else if(t)try{t.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{e.time+=20,s?e.success():e.timeout>e.timeout?e.error():hr(r,e)},20)}class Nn{callback;values;status;size;lastIndex;constructor(e,t){this.size=e,this.callback=t,this.status=!0,this.values=[],this.lastIndex=-1}work(e,t,s){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(s)),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(n){console.error(n.message,n)}}isOK(){return this.status}}class Dn{index;src;params;progress;constructor(e,t,s,n){this.index=e,this.src=t,this.params=s,this.progress=n}}const is=Symbol("fk"),os=Symbol("fbk"),ls=Symbol("fepk");function Hn(r={}){const e=new gn(r),t=new Ft,s=new Kt,n=new fr,i={get router(){return e},get bus(){return t},get Bus(){return Ft},get EventProxy(){return Kt},get eventproxy(){return s},get EventChain(){return Ke},get Require(){return fr},get require(){return n},get extend(){return $},get clone(){return Xe},get isESModule(){return Rt},install(o){o.provide(tt,e),o.provide(is,i),o.provide(os,t),o.provide(ls,s),o.component(vn,ns),o.component(wn,Mn),Reflect.defineProperty(o.config.globalProperties,"$fox",{get(){return i}}),Reflect.defineProperty(o.config.globalProperties,"$router",{get(){return e}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$eventProxy",{get(){return s}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){s.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){s.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){s.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=s;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return Lt(this)}}}),e.init()}};return i}function as(r){return r?r.$router:g.inject(tt)}function Un(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?Lt(r):null}function Bn(r){return r?r.$fox:g.inject(is)}function Vn(r){return r?r.$bus:g.inject(os)}function Jn(r){return r?r.$eventProxy:g.inject(ls)}function Wn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function zn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}p.Bus=Ft,p.EventChain=Ke,p.EventProxy=Kt,p.FoxBeforeEnter=Ps,p.FoxBeforeLeave=Es,p.FoxEnter=Cs,p.FoxLeave=$s,p.FoxLeaveEnd=Qe,p.OperationType=F,p.Route=P,p.clone=Xe,p.createFox=Hn,p.createMemoryHistory=Js,p.createWebHashHistory=Vs,p.createWebHistory=yn,p.deleteContextValue=Hr,p.extend=$,p.foxBusKey=os,p.foxEventProxyKey=ls,p.foxKey=is,p.injectContextValue=jt,p.isArray=dr,p.isDate=gr,p.isESModule=Rt,p.isEqual=Ct,p.isFunction=S,p.isMap=mr,p.isNil=Fe,p.isObject=cs,p.isPlainObject=fs,p.isPromise=br,p.isSet=pr,p.isString=vr,p.isSymbol=wr,p.onAfterRouteUpdate=zn,p.onBeforeRouteUpdate=Wn,p.onFoxActivated=Wr,p.onFoxInactivated=zr,p.provideContextValue=Dr,p.rawState=Lr,p.reactiveState=Kr,p.sessionKey=se,p.shallowReactiveState=jr,p.toBoolean=xt,p.toNumber=Pr,p.toTypeString=Ge,p.typeOf=Pt,p.useBus=Vn,p.useEventProxy=Jn,p.useFox=Bn,p.useRoute=Un,p.useRouter=as,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
|
|
2
|
+
* fox v3.1.0 Fri Oct 18 2024 19:32:13 GMT+0800 (中国标准时间)
|
|
3
|
+
*/const le=typeof window<"u",E=function(){return window},Je=function(){return window.document};function yr(r){let e=r,t=e.lastIndexOf("/");return t>0&&t<e.length-1?e=e.substring(0,t+1):t===0&&e.indexOf(".")!==-1?e="/":t===-1&&(e.indexOf(".")==-1?e=`/${e}/`:e="/"),e.indexOf("/")!==0&&(e=`/${e}`),e}function wt(){if(!le)return"/";let r=E().location,e=`${r.protocol}//${r.host}`;return e+=yr(r.pathname),e}function We(r,e,t,s=!1){r.addEventListener?r.addEventListener(e,t,s):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function bt(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}const ze=(r,e,t)=>{e=e??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in e)a==="bubbles"?n=!!e[a]:a==="cancelable"?i=!!e[a]:s[a]=e[a];s.initEvent(r,n,i),(t??document).dispatchEvent(s)},dr=Array.isArray,mr=r=>Ge(r)==="[object Map]",pr=r=>Ge(r)==="[object Set]",gr=r=>r instanceof Date,S=r=>typeof r=="function",vr=r=>typeof r=="string",wr=r=>typeof r=="symbol",cs=r=>r!==null&&typeof r=="object",br=r=>cs(r)&&S(r.then)&&S(r.catch),Fe=r=>r==null,Rr=Object.prototype.toString,Ge=r=>Rr.call(r),fs=r=>Ge(r)==="[object Object]",Sr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Rt(r){return r.__esModule||Sr&&r[Symbol.toStringTag]==="Module"}const xr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function $(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,s=r.length,n=!1;for(typeof e=="boolean"&&(n=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<s;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[t];for(let o in i){let a=e[o],l=i[o];if(a!==l)if(n===!0&&l&&typeof l=="object"){let u;Array.isArray(l)?u=a&&Array.isArray(a)?a:[]:u=a&&typeof a=="object"?a:{},e[o]=$(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function Xe(r,e,t=!1){if(!t)$(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s of Reflect.ownKeys(e)){let n=r[s],i=e[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!fs(i))continue;n=Xe(n,i,t),r[s]=n}else{if(typeof i=="function")continue;r[s]=i}}}return r}class te{static seed=new Date().getTime();static get(){let e=++te.seed;return e>=Number.MAX_VALUE&&(te.seed=0),e}}const St=xr?Promise.resolve():null;function Ae(r,...e){St!==null?e&&e.length>0?St.then(()=>{r(e)}):St.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function xt(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":!!r}function Pr(r){return typeof r=="number"?r:Number(r)}const Cr={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Object]":"object"};function Pt(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Cr[t]||"object"}function Ct(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Pt(r),s=Pt(e);if(t!==s)return!1;if(t==="object"){let n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o],l=r[a],u=e[a];if(!Ct(l,u))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++){let i=r[n],o=e[n];if(!Ct(i,o))return!1}return!0}return!1}const hs=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=hs(s)),typeof t=="symbol"?e[String(t)]=s:e[t]=s}return e},Er=/^Symbol\((.*)\)$/,ys=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=ys(s));const n=Er.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=s}else e[t]=s}return e};function ds(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{t=null,Reflect.apply(r,null,[...s])},e)}}const ms=Symbol("idKey"),ae=Symbol("valueKey"),x=Symbol("childrenKey"),B=Symbol("growKey");class ps{[B]=!0;[ms];[ae]=g.ref();[x]=new Map;constructor(e){this[ms]=e}}class $r{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[B];let s=e[x].get(t);if(s)return Te(s);if(e[B])return s=$t(t),s[B]=e[B],e[x].set(t,s),Te(s)}set(e,t,s){return t=="value"?(e[ae].value=s,!0):t==="grow"?(e[B]=xt(s),!0):s==null?(e[x].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[x].delete(t),!0)}}const Et="__proxy__";function $t(r){const e=new ps(r);return Reflect.set(e,Et,new Proxy(e,new $r)),e}function Te(r){return Reflect.get(r,Et)}let Fr=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Fe(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage,t&&typeof t=="object"&&Object.assign(this.state,t)}init(e){this.restore(e),this.initFlag=!0}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(le){const t=E();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,s=JSON.stringify(this.state??{});e.setItem(t,s)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_bus_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(this.state,i),Reflect.ownKeys(this.state).forEach(a=>{if(typeof a!="string")return;const l=this.state[a],u=a.split(/\//g);u.push(l),Reflect.apply(e.put,e,u)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n=e[t-1];this.state[s]=n,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===s||o.startsWith(s)||(n[o]=this.state[o]))}),this.state=n,this.saveState()}catch(t){console.error(t)}}clear(){if(this.initFlag)try{this.state={},this.removeState()}catch(e){console.error(e)}}};class gs extends ps{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new Fr(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let s=this;for(let n=0;n<t-1;n++){let i=e[n],o;s[x].has(i)?o=s[x].get(i):(o=$t(i),s[x].set(i,o)),s=o}return s[ae].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let s=this;for(let n=0;n<t;n++){let i=e[n];if(s[x].has(i))s=s[x].get(i);else return}return s[ae].value}remove(...e){let t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){const o=e[i];if(s[x].has(o))s=s[x].get(o);else return!1}const n=e[t-1];return s[x].has(n)?(s[x].delete(n),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){let o=e[i];if(s[x].has(o))s=s[x].get(o);else return!1}const n=e[t-1];return s[x].has(n)}clear(){this[x].clear(),this._persistHandler.clear()}}const Ar=["put","get","contains","remove","clear","_persistHandler"];function vs(r){return Ar.includes(r)}class Tr{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[B];if(t===x)return e[x];if(typeof t=="string"&&vs(t))return e[t];const s=String(t);let n=e[x].get(s);if(n)return Te(n);if(e[B])return n=$t(s),n[B]=e[B],e[x].set(s,n),Te(n)}set(e,t,s){return t=="value"?(e[ae].value=s,!0):t==="grow"?(e[B]=xt(s),!0):vs(t)?!1:s==null?(e[x].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[x].delete(t),!0)}}function _r(r,e){const t=new gs(r,e),s=new Tr,n=new Proxy(t,s);return Reflect.set(t,Et,n),t}const Ft=new Proxy(gs,{construct(r,e){const t=e[0]??{},s=e[1],n=_r(t,s);return Te(n)}}),At=r=>!r||typeof r!="object"?!0:Reflect.ownKeys(r).length===0;class ws{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Fe(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(le){const t=E();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null||At(e))return;const s=`_state_${this.name}`,n=JSON.stringify(e??{});t.setItem(s,n)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null)return;const t=`_state_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_state_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(e,i)}}}function bs(r,e,t){const s=new ws(t);s.restore(e);const n=l=>{const u=g.toRaw(l),c={};for(let f in u){const h=u[f];Fe(h)||(c[f]=h)}At(c)?s.removeState():s.saveState(c)};let i=null;if(t&&t.debounce===!1)i=n;else{const l=t&&t.debounceDelay?t.debounceDelay:250;i=ds(n,l)}const o=r?g.shallowReactive(e):g.reactive(e);return g.effectScope(!0).run(()=>{g.watch(o,l=>{const u=g.toRaw(l);i(u)})}),o}function Kr(r,e){return bs(!1,r,e)}function jr(r,e){return bs(!0,r,e)}function qr(r,e){const t=new ws(e);t.restore(r);const s=a=>{const l=g.toRaw(a),u={};for(let c in l){const f=l[c];Fe(f)||(u[c]=f)}At(u)?t.removeState():t.saveState(u)};let n=null;if(e&&e.debounce===!1)n=s;else{const a=e&&e.debounceDelay?e.debounceDelay:250;n=ds(s,a)}const i={get(a,l){return a[l]},set(a,l,u){return a[l]=u,n(a),!0}};return new Proxy(r,i)}function Lr(r,e){return qr(r,e)}const z="default",Rs=Symbol("sync"),k=Symbol("resolveRoute");function Ss(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function kr(r){let e=r.src;return new Promise((t,s)=>{const n=Ss(a=>{Rt(a)&&(a=a.default),r.component=a,console.debug("success load async module"),t()}),i=Ss(a=>{console.debug("reject load async module"),s(a)});let o;try{o=e(n,i)}catch(a){i(a)}if(o)if(typeof o.then=="function")o.then(n,i);else{const a=o.component;a&&typeof a.then=="function"&&a.then(n,i)}})}class Or{name;level;rootName;rootIndex=0;constructor(e,t,s,n){this.name=e,this.level=t,this.rootName=s,this.rootIndex=n}}class pe{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){const t=new pe(e.to,e.from),s=e.data??{};return $(!0,t.data,s),t}static clear(e){for(let t in e)e[t]=void 0}}class P{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??z}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(e,t){let s=new P;return Xe(s,e,t),s}static isSame(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!==t.path||e.name&&e.name!==t.name||e.root!==t.root||e.index!==t.index)}static isSameForRouteModel(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!=t.path||e.name&&e.name!=t.name)}static from(e){let t=new P;if(e==null)return t;let s=t;for(let i in e){let o=e[i];s[i]=o}const n=Object.getOwnPropertySymbols(e);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=e[i];return t}}class Mr{id;name;props;meta;src;component;constructor(e,t,s,n){this.id=te.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=s,this.meta=n}get isResolved(){return this.component!==void 0}resolve(){return kr(this)}}class xs{models=[]}class Tt{path;match;redirect;name;layers=[]}var F=(r=>(r[r.Push=0]="Push",r[r.Replace=1]="Replace",r[r.Put=2]="Put",r[r.Append=3]="Append",r[r.Open=4]="Open",r))(F||{});const Ps="FoxBeforeEnter",Cs="FoxEnter",Es="FoxLeave",$s="FoxLeave",Qe="FoxLeaveEnd",I=Symbol("chainKey"),O=Symbol("cursorKey"),_t=Symbol("$persistentModeKey"),A=Symbol("statusKey"),G=Symbol("argsKey"),Ye=Symbol("exArgsKey"),ge=Symbol("successFnsKey"),_e=Symbol("errorFnsKey"),se=Symbol("sessionKey"),X=Symbol("_go");class Ke{[I]=[];[O]=0;[_t]=!1;[A]="Free";[G]=[];[Ye]=[];[ge]=[];[_e]=[];[se];get session(){return this[se]}constructor(e,t=!1){this[se]=e,this[_t]=t}[X](e,...t){let s=this[A];if(this[A]="Busy",this[O]+=e,this[O]<0&&(this[O]=0),this[G]=t,s==="Exception"||s==="Reject"){let a=[{session:this[se]},...this[Ye]];for(;this[_e].length>0;)try{let l=this[_e].shift();typeof l=="function"&&Ae(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[A]=s,this[I]=[],this[O]=0,this}else if(s==="Finished"||this[O]>=this[I].length){let a=[{session:this[se]},...this[G]];for(;this[ge].length>0;){let l=this[ge].shift();typeof l=="function"&&Ae(()=>{Reflect.apply(l,{},a)})}return this[A]="Free",this}if(this[O]>=this[I].length)return this[A]="Free",this;let n=this[I][this[O]];this[_t]||(this[I].splice(0,this[O]+1),this[O]=-1);let i=this[O]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[X],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[X],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[I].splice(i,0,l),i++)},session:this[se]};Ae(()=>{Reflect.apply(n,{},[a,...this[G]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[X],this,[e,...t])}finish(...e){return this[A]="Finished",this[G]=e,Reflect.apply(this[X],this,[0])}reject(...e){return this[A]="Reject",this[Ye]=e,Reflect.apply(this[X],this,[0])}throw(...e){return this[A]="Exception",this[Ye]=e,Reflect.apply(this[X],this,[0])}reset(...e){this[A]="Busy",this[G]=e,this[I]=[],this[O]=0;let s=[{session:this[se]},...this[G]];for(;this[ge].length>0;){let n=this[ge].shift();Ae(()=>{Reflect.apply(n,this,s)})}return this[A]="Free",this}post(e){return this[A]==="Reject"||this[A]==="Exception"?this:(Array.isArray(e)?this[I]=[...this[I],...e]:this[I].push(e),this[A]==="Busy"?this:(Reflect.apply(this[X],this,[0,...this[G]]),this))}wait(e,t){return e&&typeof e=="function"&&this[ge].push(e),t&&typeof t=="function"&&this[_e].push(t),this[A]==="Busy"?this:(Reflect.apply(this[X],this,[0,...this[G]]),this)}exception(e){return e&&typeof e=="function"&&this[_e].push(e),this[A]==="Busy"?this:Reflect.apply(this[X],this,[0,...this[G]])}isFinish(){return this[A]=="Reject"||this[A]=="Free"&&this[O]>=this[I].length}}const ve=Symbol("registerKey");class Ir{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Kt{[ve]=new Map;constructor(){}on(e,t,s=!1){let n=this[ve].get(e);n||(n=new Array,this[ve].set(e,n));let i=s===!0?1:0,o=new Ir(t,i);return n.push(o),this}off(e,t){if(!t)return this[ve].delete(e),this;let s=this[ve].get(e);if(s){for(let n=0;n<s.length;n++)if(s[n].callback===t){s.splice(n,1);break}}return this}bind(e,t,s=!1){return this.on(e,t,s)}unbind(e,t){return this.off(e,t)}once(e,t){return this.on(e,t,!0)}all(...e){let t=e.length;if(t<1)return this;let s=e[t-1];if(typeof s!="function")return console.error("callback can not benn empty"),this;let n=t-1,i=new Array(n),o=[].splice.call(e,0,n);for(let a=0;a<o.length;a++)this.once(o[a],l=>{i[a]=l,n-=1,n==0&&Reflect.apply(s,{},i)});return this}emit(e,...t){let s=this[ve].get(e);if(!s)return this;for(let n=0;n<s.length;){let i=s[n];if(i.policy==1?s.splice(n,1):n++,typeof i.callback=="function")try{Ae(()=>{Reflect.apply(i.callback,{},t)})}catch(o){console.error(o.message,o)}}return this}trigger(e,...t){return Reflect.apply(this.emit,this,[e,...t])}}const je=Symbol("registerKey");class Nr{[je]=new Map;constructor(){}set(e,t){this[je].set(e,t)}get(e){return this[je].get(e)}has(e){return this[je].has(e)}delete(e){return this[je].delete(e)}}const ue=Symbol("lc");function Ze(r,e=!1){let t=r;if(Reflect.has(t,ue))return t[ue];if(e){const s=new Nr;return t[ue]=s,s}return null}function Fs(r,e=!1){let t=null,s=r;for(;s&&!(Reflect.has(s,ue)&&(t=s[ue],t));)s=s.$parent;if(!t&&e){const n=r;n&&n.$parent&&(t=Ze(n.$parent,e))}return t}function jt(r,e){let t=r;for(;t;){if(Reflect.has(t,ue)){const s=t[ue];if(s.has(e))return s.get(e)}t=t.$parent}return null}function Dr(r,e,t){Fs(r,!0)?.set(e,t)}function Hr(r,e){Fs(r,!0)?.delete(e)}function As(r){if(Array.isArray(r.children)&&r.children.length>0){let e=r.children[0];if(e!=null&&e.component!=null&&e.component.proxy!=null)return Ze(e.component.proxy,!1)}return null}const et=Symbol("hooksKey");function Ur(r){let e=r.get(et);e||(e=[],r.set(et,e))}function Ts(r,e){let t=r.get(et);if(t!=null)for(let s=t.length-1;s>=0;s--){let n=t[s];if(n.type===e)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var qt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(qt||{});class Br{type;hook;target;constructor(e,t,s){this.target=s,this.hook=t,this.type=e}}function Vr(r,e,t,s){let n=new Br(e,t,s);return r.push(n),!0}function Jr(r,e,t,s){let n=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===s){n=i;break}}return n!=-1?(r.splice(n,1),!0):!1}function _s(r){return(e,t)=>{let s;if(t)s=t;else{const i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=jt(s,et);if(n==null){console.warn("hooks context not found");return}g.onUnmounted(()=>{Jr(n,r,e,s)}),Vr(n,r,e,s)}}const Wr=_s("a"),zr=_s("da"),Ks=Symbol("routeKey");function js(r,e){r.set(Ks,e)}function Lt(r){let e=jt(r,Ks);return typeof e=="function"?e():e??null}const tt=Symbol("rk"),kt=Symbol("vd"),qs=Symbol("rv"),Ot=Symbol("rvi"),Ls=Symbol("pv"),Mt=Symbol("pvi");var ce={};Object.defineProperty(ce,"__esModule",{value:!0}),ce.TokenData=void 0,ce.parse=st;var Gr=ce.compile=sn,Xr=ce.match=on;ce.pathToRegexp=un;const Qr="/",It=r=>r,Yr=/^\p{XID_Continue}$/u,qe="https://git.new/pathToRegexpError",Zr={"!":"!","@":"@",";":";",",":",","*":"*","+":"+","?":"?","{":"{","}":"}"};function en(r){const e=[...r],t=[];let s=0;for(;s<e.length;){const n=e[s],i=Zr[n];if(i){t.push({type:i,index:s++,value:n});continue}if(n==="\\"){t.push({type:"ESCAPED",index:s++,value:e[s++]});continue}if(n===":"){let o="";for(;Yr.test(e[++s]);)o+=e[s];if(!o)throw new TypeError(`Missing parameter name at ${s}`);t.push({type:"NAME",index:s,value:o});continue}if(n==="("){const o=s++;let a=1,l="";if(e[s]==="?")throw new TypeError(`Pattern cannot start with "?" at ${s}`);for(;s<e.length;){if(e[s]==="\\"){l+=e[s++]+e[s++];continue}if(e[s]===")"){if(a--,a===0){s++;break}}else if(e[s]==="("&&(a++,e[s+1]!=="?"))throw new TypeError(`Capturing groups are not allowed at ${s}`);l+=e[s++]}if(a)throw new TypeError(`Unbalanced pattern at ${o}`);if(!l)throw new TypeError(`Missing pattern at ${o}`);t.push({type:"PATTERN",index:s,value:l});continue}t.push({type:"CHAR",index:s,value:e[s++]})}return t.push({type:"END",index:s,value:""}),new tn(t)}class tn{constructor(e){this.tokens=e,this.index=0}peek(){return this.tokens[this.index]}tryConsume(e){const t=this.peek();if(t.type===e)return this.index++,t.value}consume(e){const t=this.tryConsume(e);if(t!==void 0)return t;const{type:s,index:n}=this.peek();throw new TypeError(`Unexpected ${s} at ${n}, expected ${e}: ${qe}`)}text(){let e="",t;for(;t=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)e+=t;return e}modifier(){return this.tryConsume("?")||this.tryConsume("*")||this.tryConsume("+")}}class Le{constructor(e,t){this.tokens=e,this.delimiter=t}}ce.TokenData=Le;function st(r,e={}){const{encodePath:t=It,delimiter:s=t(Qr)}=e,n=[],i=en(r);let o=0;do{const a=i.text();a&&n.push(t(a));const l=i.tryConsume("NAME"),u=i.tryConsume("PATTERN");if(l||u){n.push({name:l||String(o++),pattern:u});const h=i.peek();if(h.type==="*")throw new TypeError(`Unexpected * at ${h.index}, you probably want \`/*\` or \`{/:foo}*\`: ${qe}`);continue}if(i.tryConsume("*")){n.push({name:String(o++),pattern:`(?:(?!${we(s)}).)*`,modifier:"*",separator:s});continue}if(i.tryConsume("{")){const h=i.text(),y=i.tryConsume("NAME"),d=i.tryConsume("PATTERN"),m=i.text(),v=i.tryConsume(";")&&i.text();i.consume("}");const b=i.modifier();n.push({name:y||(d?String(o++):""),prefix:t(h),suffix:t(m),pattern:d,modifier:b,separator:v});continue}i.consume("END");break}while(!0);return new Le(n,s)}function sn(r,e={}){const t=r instanceof Le?r:st(r,e);return nn(t,e)}function rn(r,e){if(typeof r=="string")return()=>r;const t=e||It,s=r.modifier==="+"||r.modifier==="*",n=r.modifier==="?"||r.modifier==="*",{prefix:i="",suffix:o="",separator:a=o+i}=r;if(e&&s){const u=(f,h)=>{if(typeof f!="string")throw new TypeError(`Expected "${r.name}/${h}" to be a string`);return t(f)},c=f=>{if(!Array.isArray(f))throw new TypeError(`Expected "${r.name}" to be an array`);return f.length===0?"":i+f.map(u).join(a)+o};return n?f=>{const h=f[r.name];return h==null?"":h.length?c(h):""}:f=>{const h=f[r.name];return c(h)}}const l=u=>{if(typeof u!="string")throw new TypeError(`Expected "${r.name}" to be a string`);return i+t(u)+o};return n?u=>{const c=u[r.name];return c==null?"":l(c)}:u=>{const c=u[r.name];return l(c)}}function nn(r,e){const{encode:t=encodeURIComponent,loose:s=!0,validate:n=!0,strict:i=!1}=e,o=ks(e),a=Nt(s,r.delimiter),l=Ms(r,a,[],o,i),u=r.tokens.map((c,f)=>{const h=rn(c,t);if(!n||typeof c=="string")return h;const y=new RegExp(`^${l[f]}$`,o);return d=>{const m=h(d);if(!y.test(m))throw new TypeError(`Invalid value for "${c.name}": ${JSON.stringify(m)}`);return m}});return function(f={}){let h="";for(const y of u)h+=y(f);return h}}function on(r,e={}){const{decode:t=decodeURIComponent,loose:s=!0}=e,n=r instanceof Le?r:st(r,e),i=Nt(s,n.delimiter),o=[],a=Os(n,o,e),l=o.map(u=>{if(t&&(u.modifier==="+"||u.modifier==="*")){const{prefix:c="",suffix:f="",separator:h=f+c}=u,y=new RegExp(i(h),"g");return d=>d.split(y).map(t)}return t||It});return function(c){const f=a.exec(c);if(!f)return!1;const{0:h,index:y}=f,d=Object.create(null);for(let m=1;m<f.length;m++){if(f[m]===void 0)continue;const v=o[m-1],b=l[m-1];d[v.name]=b(f[m])}return{path:h,index:y,params:d}}}function we(r){return r.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function ln(r,e){const t=we(r);return e?`(?:${t})+(?!${t})`:t}function Nt(r,e){if(!r)return we;const t=new RegExp(`(?:(?!${we(e)}).)+|(.)`,"g");return s=>s.replace(t,ln)}function ks(r){return r.sensitive?"":"i"}function Os(r,e,t){const{trailing:s=!0,loose:n=!0,start:i=!0,end:o=!0,strict:a=!1}=t,l=ks(t),u=Nt(n,r.delimiter),c=Ms(r,u,e,l,a);let f=i?"^":"";return f+=c.join(""),s&&(f+=`(?:${u(r.delimiter)})?`),f+=o?"$":`(?=${we(r.delimiter)}|$)`,new RegExp(f,l)}function Ms(r,e,t,s,n){const i=`(?:(?!${we(r.delimiter)}).)+?`;let o="",a=!0;return r.tokens.map((l,u)=>{if(typeof l=="string")return o=l,e(l);const{prefix:c="",suffix:f="",separator:h=f+c,modifier:y=""}=l,d=e(c),m=e(f);if(l.name){const v=l.pattern?`(?:${l.pattern})`:i,b=an(v,l.name,s);if(a||(a=Dt(b,c||o)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}": ${qe}`);if(a=!n||Dt(b,f),o="",t.push(l),y==="+"||y==="*"){const w=y==="*"?"?":"",j=e(h);if(!j)throw new TypeError(`Missing separator for "${l.name}": ${qe}`);if(a||(a=!n||Dt(b,h)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}" separator: ${qe}`);return a=!n,`(?:${d}(${v}(?:${j}${v})*)${m})${w}`}return`(?:${d}(${v})${m})${y}`}return`(?:${d}${m})${y}`})}function an(r,e,t){try{return new RegExp(`^${r}$`,t)}catch(s){throw new TypeError(`Invalid pattern for "${e}": ${s.message}`)}}function Dt(r,e){return e?!r.test(e):!1}function un(r,e={}){const t=r instanceof Le?r:st(r,e),s=[],n=Os(t,s,e);return Object.assign(n,{keys:s})}var rt=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(rt||{});const V=Symbol("rootKey"),J=Symbol("rootNodeKey"),fe=Symbol("parentNodeKey"),nt=Symbol("nameKey");class re{instance=null;model;route;active=!0;index=0;constructor(e,t,s=0,n=!0){this.route=e,this.model=t,this.index=s,this.active=n}}class ke{_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[nt];[V];[J]=null;[fe]=null;get name(){return this[nt]}constructor(e,t,s){this[nt]=e,this[V]=t,s&&(this[J]=s)}}class N{view;index;level;constructor(e,t,s){this.view=e,this.index=t,this.level=s}static include(e,t){for(let s=0;s<e.length;s++){let n=e[s];if(n.view===t.view&&(t.index==-1||n.index===t.index)&&n.level===t.level)return!0}return!1}}class Ht{views=[]}class cn{layers=[]}class fn{time;route}class hn{forbidTime=300;submitRecorder=new fn;isSameRoute(e,t){return e==null||t==null?!1:e.name===t.name&&e.path===t.path&&e.root===t.root}acquire(e){let t=new Date().getTime();if(this.isSameRoute(e,this.submitRecorder.route)&&this.submitRecorder.time&&t-this.submitRecorder.time<=this.forbidTime){this.submitRecorder.time=t;return}return this.submitRecorder.route=e,this.submitRecorder.time=t,t}release(e){this.submitRecorder.time===e&&(this.submitRecorder.route=void 0)}}const be=Symbol("_notifyChange");class Is{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const he=Symbol("historyChangeConsumerKey"),Ns=Symbol("_navigateFirstRoute"),it=Symbol("_getRouteMark"),Ut=Symbol("_getUrlSearch"),Bt=Symbol("_generateLocation"),ot=Symbol("_setRouteMarkRecorder"),Oe=Symbol("beforeRestoreFiltersKey"),Ds=Symbol("_beforeRestore"),Hs="Symbol(_fox_restore_point)";function Me(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}function Us(r){if(!Array.isArray(r))return!1;if(r.length===0)return!0;const e=r[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class Bs{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[he]=!1;[Oe]=new Array;backTimeout=320;constructor(e="hash",t="",s="",n=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=s,this.firstNavigate=n,this.historyMonitor=i,this.traceless=o,this.storage=a??E().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=E();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[he]=="function"){const s=this[he]();if(this[he]=!1,s)return}else if(this[he]===!0){this[he]=!1;return}if(Me(this.historyMonitor)){const s=t.history.state;this[be](s);try{let n=[];if(typeof s=="string"?n=JSON.parse(s):n=s,Array.isArray(n)&&n.length>0){const i=this[it]()??"/";this[ot](i,n)}}catch{}}}),We(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[Ns](),Promise.resolve()}destroy(){if(this.historyChange){const e=E();bt(e,"popstate",this.historyChange)}}[Ds](e,t,s,n){for(let i of this[Oe])try{const o=Reflect.apply(i,{},[e,t,s,n]);if(o===!1)return o}catch(o){console.error(o.message,o)}return!0}beforeRestoreEach(e){this[Oe].push(e)}removeBeforeRestoreEach(e){const t=this[Oe].indexOf(e);return t!==-1?(this[Oe].splice(t,1),!0):!1}[Ns](){const e=this[it]()??"/",t=this.storage.getItem(Hs);if(t)try{const o=JSON.parse(t);if(o.mark===e&&Array.isArray(o.routes)&&o.routes.length>0){const a=o.routes.filter((l,u)=>(l.params=l.params?ys(l.params):{},this[Ds](l,u,e,o.routes)));if(a.length>0){const l=this[Ut](),u=a.length-1;a[u].query=l||a[u].query,this[be](a);return}}}catch{}const s=e.indexOf("!");let n;s!=-1?n=e.substring(s+1):n=e;const i=new P;i.path=n,i.query=this[Ut](),this[be]([i])}[ot](e,t){try{t.forEach(i=>{i.params=i.params?hs(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(Hs,n)}catch(s){console.error(s.message,s)}}setRestorePoint(e){const t=this[it]()??"/";this[ot](t,e)}[be](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[it](){const e=E();if(this.mode==="path"){let t=e.location.pathname;return this.base&&t.indexOf(this.base)===0&&(t=t.substring(this.base.length)),t}else{const t=e.location.hash,s=t.indexOf("#");if(s!=-1)return t.substring(s+1)}return null}[Ut](){let t=E().location.search;return t.length>0&&t.indexOf("?")===0&&(t=t.substring(1)),t}listen(e){this.changeHandler=e}go(e,t=!1){const s=E();this[he]=t,s.history.go(e)}goBack(e,t){const s=E(),n=s.history.state;if(Us(n)&&n.length>0){let i=!1;for(let c=n.length-1;c>=0;c--){const f=P.from(n[c]);if(!(f.historyUpdatePolicy==="traceless"||Me(this.traceless,f))&&P.isSame(f,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{s.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const f=E().history.state;if(Us(f)&&f.length>0){let h=f.length;const y=f[h-1],d=P.from(y);if(P.isSame(d,e))return t(),!0;if(h>0){let m=!1;for(let v=h-1;v>=0;v--){const b=P.from(f[v]);if(!(b.traceless===!0||Me(this.traceless,b))&&P.isSame(b,e)){m=!0;break}}return m?(setTimeout(()=>{a=setTimeout(l,o),this.go(-1,u)},0),!0):(t(),!0)}}return t(),!0};a=setTimeout(l,o),this.go(-1,u)}else t()}setRouteMark(e){const t=e.currentRoute.fullPath;this[ot](t,e.routes)}push(e){const t=this[Bt](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Me(this.traceless,e.currentRoute)&&E().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[Bt](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Me(this.traceless,e.currentRoute))&&E().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[Bt](e){const t=E();let s="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),c=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=c}else a=e.query;this.query?(s=a.length>0?`${this.query}&${a}`:this.query,s.length>0&&s.charAt(0)!=="?"&&(s=`?${s}`)):a.length>0&&(s=`?${a}`)}const n=t.location;let i=e.alias??e.fullPath;i.startsWith(z)&&(i=i.substring(z.length+1));let o;return s?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${s}`:o=`${this.base}/${i}${s}`:o=`${n.pathname}${s}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${n.pathname}#${i}`,`${n.origin}${o}`}}function yn(r=!0,e=null,t="",s=!0,n=!1,i){return e!==null&&(e=E().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new Bs("path",e??"",t,r,s,n,i)}function Vs(r=!0,e="",t=!0,s=!1,n){return new Bs("hash","",e,r,t,s,n)}class dn{maxSize=50;cursor=-1;queue=[];changeHandler;base;historyMonitor=!1;traceless=!1;constructor(e,t=50){this.base=e,this.maxSize=t}init(e=!0){return Promise.resolve()}destroy(){this.queue=[]}beforeRestoreEach(e){}removeBeforeRestoreEach(e){return!1}listen(e){this.changeHandler=e}[be](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let s=this.cursor+e;if(s<0?s=0:s>this.queue.length-1&&(s=this.queue.length-1),s!=this.cursor){this.cursor=s;let n=!1;if(typeof t=="function"?n=t():n=t,!n){const i=this.queue[s];this[be](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let s=0;if(e===null)s=this.cursor+1;else for(let n=this.cursor;n>=0;n--){const i=this.queue[n];if(P.isSame(i.currentRoute,e))break;s++}if(s===0){t();return}this.go(-s,()=>(t(),!0))}setRouteMark(e){}push(e){this.queue.length>=this.maxSize&&this.queue.splice(0,1),this.queue.push(e),this.cursor=this.queue.length-1}replace(e){let t=this.queue.length-this.cursor;this.queue.splice(this.cursor,t),this.queue[this.cursor]=e}setRestorePoint(e){}}function Js(r="",e=50){return new dn(r,e)}function Gn(r){}const lt=Symbol("_constructRouteModel"),at=Symbol("_findRouteModel"),Vt=Symbol("_findRootView"),Ws=Symbol("_getFirstView"),ye=Symbol("_removeView"),zs=Symbol("_buildPage"),Gs=Symbol("_resolveComponent"),Xs=Symbol("_update"),ne=Symbol("_merge"),Jt=Symbol("_handleHistoryChange"),ut=Symbol("_handleRouteUpdated"),ct=Symbol("routeUpdatedCallback"),R=Symbol("currentRoutes"),ft=Symbol("routeSessionCacheKey"),Qs=Symbol("_addRouteRecorder"),Ie=Symbol("_removeRouteRecorder"),ht=Symbol("_cloneRouteRecorder"),_=Symbol("_handleError"),yt=Symbol("errorCallback"),D=Symbol("registerKey"),dt=Symbol("notFoundKey"),Wt=Symbol("notFoundPathKey"),H=Symbol("forestKey"),C=Symbol("historyKey"),Ne=Symbol("beforeFiltersKey"),De=Symbol("afterFiltersKey"),He=Symbol("destroyFiltersKey"),zt=Symbol("propsFilterKey"),Re=Symbol("mainDispatcherKey"),Gt=Symbol("initKey"),de=Symbol("readyKey"),Xt=Symbol("readyHandlersKey"),mt=Symbol("_markReady"),Ys=Symbol("_createNextFn"),Qt=Symbol("_start"),Yt=Symbol("_before"),Zt=Symbol("_after"),Zs=Symbol("_destroy"),es=Symbol("_load"),Ue=Symbol("_unload"),Be=Symbol("routerGuardKey");function mn(r){return r.layers.length==0||r.layers[0].views.length==0}function pn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(s=>{if(!(s==null||s==null))if(typeof s.meta=="object"){let n=$(!0,{},s.meta);e.push(n)}else s.meta&&e.push(s.meta)})}),e}class gn{[D]=new Array;[dt];[Wt]="*";[de]=!1;[Xt]=[];[H]=new cn;[C];[R]=new Array;[ft]=new WeakMap;[yt]=null;[ct]=null;[Ne]=new Array;[De]=new Array;[He]=new Array;[zt]=null;[Re]=new Ke;[Be]=new hn;[Gt]=!1;get current(){const e=this[R].length;return e>0?this[R][e-1]:null}options;constructor(e){this.options=e??{},this.options.notFoundPath&&this.setNotFoundPath(this.options.notFoundPath);let t=this.options.routes||[];this.addRoutes(t),this.options.notFound&&this.setNotFoundRoute(this.options.notFound),e.history?this[C]=e.history:this[C]=le?Vs():Js(),this[C]?.listen(async s=>{let n=!0;try{if(typeof s=="string"){const i=this[k](s);i&&await this[Jt]([i])}else await this[Jt](s)}catch(i){console.error(i.message,i),n=!1}this[de]===!1&&this[mt](n)})}[_](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[yt]=="function")try{this[yt](e,t)}catch{}console.error(e)}init(){this[Gt]!==!0&&(this[C]?.init(!this[de]),this[Gt]=!0)}isReady(){return this[de]?Promise.resolve():new Promise((e,t)=>{this[Xt].push([e,t])})}[mt](e){this[de]=!0,this[Xt].forEach(([t,s])=>{try{e?t():s()}catch(n){console.error(n.message,n)}})}[Jt](e){try{if(!e){let o=[...this[R]].reverse();return this[Ue](o),le&&E().location.reload(),Promise.resolve()}let t=null,s=[],n=[],i=0;for(;i<e.length&&i<this[R].length&&P.isSame(e[i],this[R][i]);i++)e[i].active===!0&&e[i].active!==this[R][i].active&&(t=e[i]);if(i<e.length&&(s=e.slice(i)),i<this[R].length&&(n=this[R].slice(i).reverse()),n.length===0&&s.length===0){if(t!==null)return this.restore([t])}else if(n.length>0){if(this[Ue](n)){if(s.length>0)return this.restore(s);if(t!==null)return this.restore([t])}}else return this.restore(s)}catch(t){this[_](t)}return Promise.resolve()}[ut](e=null){if(e||(e=this.current),typeof this[ct]=="function")try{this[ct](e)}catch{}}[Qs](e,t){if(e.opsType===F.Open){let s=!1;const n=this[R].length-1;for(let i=n;i>=0;i--){const o=this[R][i];if(e.root==o.root){if(e.path===o.path){this[R].splice(i,1,e),s=!0;continue}e.active&&(o.active=!1)}}s||this[R].push(e)}else this[R].push(e);this[ft].set(e,t)}[ht](){let e=[];for(let t of this[R]){let s=P.clone(t,!0);e.push(s)}return e}[Ie](e){if(!this[R])return;let t=-1;for(let s=0;s<this[R].length;s++)if(P.isSame(this[R][s],e)){t=s;break}if(t!=-1){let s=this[R][t];this[R].splice(t,1);const n=this[ft].get(s);this[ft].delete(s),this[Zs](s,n)}}set historyMonitor(e){this[C]&&(this[C].historyMonitor=e)}get historyMonitor(){return this[C]?this[C].historyMonitor:!1}set traceless(e){this[C]&&(this[C].traceless=e)}get traceless(){return this[C]?this[C].traceless:!1}set propsFilter(e){this[zt]=e}get propsFilter(){return this[zt]}setRestorePoint(){const e=this[ht]();this[C]?.setRestorePoint(e)}onRouteUpdated(e){this[ct]=e}onError(e){this[yt]=e}beforeEach(e){this[Ne].push(e)}removeBeforeEach(e){const t=this[Ne].indexOf(e);return t!==-1?(this[Ne].splice(t,1),!0):!1}afterEach(e){this[De].push(e)}removeAfterEach(e){const t=this[De].indexOf(e);return t!==-1?(this[De].splice(t,1),!0):!1}destroyEach(e){this[He].push(e)}removeDestroyEach(e){const t=this[He].indexOf(e);return t!==-1?(this[He].splice(t,1),!0):!1}beforeRestoreEach(e){this[C]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[C]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Wt]){this.setNotFoundRoute(e);return}const s=this[lt](e);if(t==-1)this[D]=[...this[D],...s];else for(let n=s.length-1;n>=0;n--)this[D].splice(t,0,s[n])}removeRoute(e){const t=this[k](e);if(t===null)return console.warn("route格式错误",e),!1;for(let s=0;s<this[D].length;s++){const n=this[D][s];if(t?.path&&n.path===t.path)return this[D].splice(s,1),!0;if(t?.name&&n.name===t.name)return this[D].splice(s,1),!0}return!1}hasRoute(e){const t=this[k](e);return t===null?(console.warn("route格式错误",e),!1):this[D].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Wt]=e}setNotFoundRoute(e){const t=this[lt](e);this[dt]=t[0]}getRoutes(){return[...this[D]]}[lt](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let s=e.components??(e.component&&{"":e.component});if(s==null){const a=new Tt;return a.path=t,a.redirect=e.redirect,[a]}let n=[];for(let a in s){let l=s[a];a.length===0&&(a=z);let u=new Mr(a,l,e.props,e.meta);n.push(u)}let i=!1,o=[];if(e.children)for(let a of e.children){let l=this[lt](a);for(let u of l){let c=new Tt;c.name=u.name,u.path&&u.path.length>0?t!=="/"?c.path=`${t}${u.path}`:c.path=u.path:(i=!0,c.path=t);let f=new xs;f.models=[...n],c.layers=[f,...u.layers],o.push(c)}}if(!i){const a=new xs;a.models=n;const l=new Tt;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[at](e){const t=e.route;try{for(let s of this[D]){const n=t.template??t.path,i=t.template??t.name;if(n&&s.path){let o=s.match;o||(o=s.match=Xr(s.path));const a=o(n);if(!a)continue;if(s.redirect){const l=new P;$(!0,l,t),l.path=s.redirect;const u={route:l,find:void 0};return this[at](u)?(e.route=u.route,e.find=u.find,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0):!1}if(t.params=t.params??{},$(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},c=l.split("&");for(let f of c){const h=f.split("=");if(h.length!==2)continue;const y=decodeURIComponent(h[0].trim()),d=decodeURIComponent(h[1].trim());u[y]=d}$(!0,t.params,u)}else typeof l=="object"&&$(!0,t.params,l)}return e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===s.name){t.params=t.params??{};const o=Gr(s.path);return t.path=o(t.params),e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(s){console.error(s.message,s),typeof t.error=="function"&&t.error(s.message)}return!1}[k](e){let t=null;if(Array.isArray(e))if(t=new P,typeof e[0]=="object")t=P.from(e[0]);else for(let s=0;s<e.length;s++)s===0?e[s].charAt(0)==="/"?t.path=e[s]:t.name=e[s]:s===1?t.params=e[s]:s===2?t.root=e[s]:s===3&&$(!1,t,e[s]);else typeof e=="object"?t=P.from(e):typeof e=="string"&&(t=new P,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let s=t.path.indexOf("?");s!==-1&&s<t.path.length-1&&(t.query=t.path.substring(s+1),t.path=t.path.substring(0,s))}t.root=t.root??z,t.opsType=t.opsType??this.options.defaultOperationType??F.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[k](e);return t?(t.opsType=F.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}put(...e){const t=this[k](e);return t?(t.opsType=F.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[_]("resolve route fail",t),this)}replace(...e){const t=this[k](e);return t?(t.opsType=F.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[_]("resolve route fail",t),this)}append(...e){const t=this[k](e);return t?(t.opsType=F.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}remove(e,t){return new Promise(s=>{this[Re].post(n=>{try{if(this[R].length===0){n.resolve(),s(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[R][0].root??z,e.all)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];c.opsType===F.Append&&c.root===o&&(a.splice(0,0,c),i=u-1)}else if(e.until)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];if(c.opsType===F.Append&&c.root===o){if(e.until.charAt(0)==="/"&&e.until===c.path){i=u;break}else if(e.until===c.name){i=u;break}a.splice(0,0,c)}}else if(e.to)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];if(c.opsType===F.Append&&c.root===o){if(a.splice(0,0,c),e.to.charAt(0)==="/"&&e.to===c.path){i=u-1;break}else if(e.to===c.name){i=u-1;break}}}}else{o=z;let u=this[Ws](this[H]);u&&(o=u.name);for(let c=this[R].length-1;c>0;c--){let f=this[R][c];if(f.opsType===F.Append&&f.root===o){a.push(f),i=c-1;break}}}if(i===-1||a.length===0){let u="can not find route";console.warn(u),n.resolve(u),s(!1);return}let l=null;if(i!==-1&&(l=this[R][i]),this[Ue](a)){if(t===!1)return n.resolve(),s(!0),!0;const u=()=>(n.resolve(),s(!0),!0),c=this[R].length;if(l&&P.isSame(l,this[R][c-1])){this[C]?.goBack(l,u);return}u()}}catch(i){this[_](i),n.resolve(),s(!1)}})})}open(...e){let t=this[k](e);return t?(t.opsType=F.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}close(e){return this[Re].post(t=>{try{let s=this[k](e);if(!s){t.reject("resolve route fail");return}let n=[];for(let i=0;i<this[R].length;i++){let o=this[R][i];if(o.root===s.root){if(!s.path&&!s.name){n.push(o);continue}if(s.path&&s.path===o.path){n.push(o);break}else if(s.name&&s.name===o.name){n.push(o);break}}}if(n.length===0){t.resolve();return}this[Ue](n)&&this[ut](),t.resolve()}catch(s){this[_](s),t.resolve()}}),this}to(...e){let t=this[k](e);if(!t)return this[_]("resolve route fail",t),this;let s=this[Be].acquire(t);return s==null?(this[_]("route forbid",t),this):(this[Re].post(n=>{try{let i=this[Qt](t);this[Yt](i),this[es](i),this[Zt](i),i.wait((o,a)=>{const l=o.session.to;if(o.session.updateResult&&o.session.updateResult.status==="success")try{let u=P.clone(l,!0);const c=new Is(u,this[ht]());l.historyUpdatePolicy==="replace"?this[C]?.replace(c):l.historyUpdatePolicy==="traceless"?this[C]?.setRouteMark(c):this[C]?.push(c)}catch(u){console.error(u.message,u)}if(pe.clear(o.session),this[Be].release(s),this[ut](l),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[de]===!1&&this[mt](!0),i=null,n.resolve()},(o,a)=>{this[Be].release(s),a!==null&&this[_](a,t),this[de]===!1&&this[mt](!1),pe.clear(o.session),i=null,n.resolve()})}catch(i){this[Be].release(s),this[_](i,t),n.resolve()}}),this)}back(e=1){this[C]?.go(-e,!1)}[Ys](e){return(t,s)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(s??null);else if(t){const n=this[k](t);if(n){const i=e.session.to;n.success=i.success,n.error=i.error,e.session.to=n,e.session.redirect=!0,e.session.routeModel=null,e.resolve()}else e.session.redirect=!1,e.reject("route resolve fail")}else e.session.redirect=!1,e.resolve()}}[Qt](e){const t=this[R].length>0?this[R][this[R].length-1]:void 0,s=new pe(e,t),n={route:e,find:null};return this[at](n),n.find&&(s.routeModel=n.find,e.matched=pn(n.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=n.find.layers[0].models[0].meta)),new Ke(s)}[Yt](e){for(let t of this[Ne])e.post(s=>{const n=this[Ys](s);Reflect.apply(t,{},[s.session.to,s.session.from,n,s.session])})}[Zt](e){e.post(t=>{for(let s of this[De])try{Reflect.apply(s,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[Zs](e,t){for(let s of this[He])try{Reflect.apply(s,{},[e,t])}catch(n){console.error(n.message,n)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[es](e){e.post(t=>{const s=t.session.to;let n=t.session.routeModel;if(n==null){let o={route:s,find:null};if(this[at](o))n=o.find,t.session.routeModel=n;else if(this[dt])n=this[dt];else{t.reject(`not find route model, path:${s.path??s.name}`);return}}const i=pe.from(t.session);this[zs](s,n,i).then(o=>{this[H],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Ue](e){if(e.length==0)return!0;let t=this[H],s=[];for(let n of e){let i=this[Vt](t,n);i!=null&&s.push({...i,route:n})}if(s.length==0)return this[_]("can not find view index"),!1;for(let n of s.reverse())this[ye](t,{x:n.x,y:n.y},[n.route.index??0],!0);return!0}[Vt](e,t){const s=t.root??z;let n;for(let i=0;i<e.layers.length;i++){const o=e.layers[i];for(let a=o.views.length-1;a>=0;a--){const l=o.views[a];if(l[V]&&l[nt]===s)return n={x:a,y:i},n}}return null}[Ws](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ye](e,t,s=null,n=!0){if(t.y>=e.layers.length||t.x>=e.layers[t.y].views.length)return;let i=e.layers[t.y].views[t.x],o=!1,a=[],l=!1,u=[...i.slots.value];for(let f=u.length-1;f>=0;f--){let h=u[f];(!s||s.indexOf(h.index)!=-1)&&(h.route&&i[V]&&(this[Ie](h.route),h.active===!0&&h.route.opsType==F.Append&&(l=!0)),a.push(new N(i,h.index,t.y)),u.splice(f,1))}if(u.length==0)n?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let f=u.length-1,h=u[f];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let c=t.y+1;for(;c<e.layers.length;c++){let f=e.layers[c].views,h=[];for(let y=f.length-1;(o||a.length>0)&&y>=0;y--){let d=f[y];if(d[fe]&&(o||N.include(a,d[fe]))){let m=d.slots.value;for(let v=m.length-1;v>=0;v--){let b=m[v];b.route&&d[V]&&this[Ie](b.route),h.push(new N(d,b.index,c)),m.splice(v,1)}e.layers[c].views.splice(y,1)}}a=h,e.layers[c].views.length==0&&(o=!0)}}restore(e){if(!e||this[D].length==0){let t=this[H];if(t.layers.length>0){let s=t.layers[0].views;s.length>0&&(s[0].slots.value=[])}return this[R]=[],this[ut](),Promise.resolve()}else return new Promise((s,n)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[Re].post(u=>{const c=this[Qt](l);this[Yt](c),this[es](c),this[Zt](c),c.wait((f,h)=>{i=f.session.to,o=f.session.redirect,u.resolve()},(f,h)=>{i=null,h!==null&&this[_](h),u.resolve()})})}this[Re].post(a=>{if(i&&o===!0){const l=P.clone(i,!0),u=new Is(l,this[ht]());this[C]?.replace(u)}a.resolve(),s()})})}[zs](e,t,s){const n=e.updateType??rt.Part;return this[Gs](t).then(()=>{const o=this[Xs](t,e,s,n);if(o.status==="error")throw Error(o.message);return o})}[Gs](e){let t=[];for(let s=0;s<e.layers.length;s++){let n=e.layers[s];for(let i=0;i<n.models.length;i++){let o=n.models[i];o.isResolved||t.push(o.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[Xs](e,t,s,n){if(e.layers[0].models.length!==1)return{status:"error",message:"illegal route structure(multi root node)"};const i=e.layers[0].models[0];let o=this[H],a=mn(o),l=t.root??z,u;!a&&n==rt.Part&&(u=this[Vt](o,t));let c,f=0;if(u==null||u==null)if(a||n===rt.All){if(o.layers.length==0&&(o.layers[0]=new Ht),o.layers[0].views.length==0){let h=t.root??z;c=new ke(h,!0,null),o.layers[0].views=[c]}else c=o.layers[0].views[0];u={x:0,y:0}}else{let h=t.slot;if(!h)return{status:"error",message:"can not rebuild view(because not route slot)"};let y=h.level;if(y>o.layers.length)return{status:"error",message:"can not insert view(override level)"};let d;if(h.rootName){let m=o.layers[y-1];for(let v of m.views){if(v[V]&&v.name===h.rootName){d=new N(v,h.rootIndex??0,y-1);break}if(v[J]&&v[J].view.name===h.rootName&&v[J].index===h.rootIndex){d=v[J];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};c=new ke(l,!0,d),o.layers[y].views.push(c),u={x:o.layers[y].views.length-1,y}}else c=o.layers[u.y].views[u.x];if(f=u.y,c[V]=!0,t.opsType===F.Append){t.index=t.index??te.get(),t.active=!0;let h=c.slots.value;if(h.length>0){let b=h[h.length-1];b.active=!1,b.route&&(b.route.active=b.active)}let y=new re(t,i,t.index,!0);c.slots.value=[...h,y];let d=f+1,m=1,v=new N(c,t.index,f);this[ne](o,d,e,m,v)}else if(t.opsType===F.Open){let h=c.slots.value;const y=t.active??!0;let d=!1;for(let m of h){if(m.route!==null&&P.isSameForRouteModel(m.route,t)){if(m.active===y)return t.index=m.index,t.active=y,m.route=t,{status:"no-change",message:""};m.active=y,d=!0,t.index=m.index,t.active=y,m.route=t}else y&&(m.active=!1);m.route&&(m.route.active=m.active)}if(!d){t.index=t.index??te.get(),t.active=y;let m=new re(t,i,t.index,y);h.push(m);let v=f+1,b=1,w=new N(c,t.index,f);this[ne](o,v,e,b,w)}c.slots.value=[...h]}else{let h=c.slots.value;if(h.length==0){t.index=t.index??te.get(),t.active=!0,c.slots.value=[new re(t,i,t.index)];let y=f+1,d=1,m=new N(c,t.index,f);this[ne](o,y,e,d,m)}else{let y=h[0];if(y.model!==i){this[ye](o,u,null,!0),t.index=t.index??te.get(),t.active=!0,c.slots.value=[new re(t,i,t.index)];let d=f+1,m=1,v=new N(c,t.index,f);this[ne](o,d,e,m,v)}else{y.route!==null&&this[Ie](y.route);let d=!1;const m=t.active??!0;y.active!==m&&(y.active=m,d=!0),t.active=m,t.index=y.index,y.route=t;let v=[];for(let Y=1;Y<h.length;Y++)v.push(h[Y].index);v.length>0?this[ye](o,u,v,!0):d&&(c.slots.value=[...h]);let b=[new N(c,t.index,f)],w=f+1,j=1,oe=new N(c,t.index,f);for(;b.length>0&&w<o.layers.length&&j<e.layers.length;w++,j++){let Y=[];for(let q=0;q<o.layers[w].views.length;q++){let L=o.layers[w].views[q];L[fe]&&N.include(b,L[fe])&&Y.unshift(q)}let Ee=[];for(let q of Y){let L=o.layers[w].views[q],me=e.layers[j].models,Z;for(let M=0;M<me.length;M++)if(L.name===me[M].name){Z=me[M];break}if(!Z)this[ye](o,{x:q,y:w},null,!1);else{let M=L.slots.value;if(M.length==0){let Q=0;L.slots.value=[new re(null,Z,Q)];let W=w+1,ee=j+1;this[ne](o,W,e,ee,oe)}else{let Q=M[0];if(Q.model!==Z){this[ye](o,{x:q,y:w},null,!0),L.slots.value=[new re(null,Z,0)];let W=w+1,ee=j+1;this[ne](o,W,e,ee,oe)}else{L[V]&&Q.route!==null&&this[Ie](Q.route);let W=[];for(let ee=1;ee<M.length;ee++)W.push(M[ee].index);W.length>0&&this[ye](o,{x:q,y:w},W,!0),Ee.push(new N(L,Q.index,w))}}L[V]=!1}}b=Ee}this[ne](o,w,e,j,oe)}}}if(c&&c[J]){let h=c[J];h&&(t.slot=new Or(l,f,h?.view.name,h?.index??0))}return s.to=void 0,s.routeModel=void 0,this[Qs](t,s),{status:"success",message:""}}[ne](e,t,s,n,i){let o=n,a=t;for(;a<e.layers.length&&o<s.layers.length;a++,o++){let l=e.layers[a].views;for(let u of s.layers[o].models){let c=new ke(u.name,!1,i),f=new re(null,u);c.slots.value=[f],l.push(c)}}for(;o<s.layers.length;o++){let l=new Ht;l.views=[];for(let u of s.layers[o].models){let c=new ke(u.name,!1,i),f=new re(null,u);c.slots.value=[f],l.views.push(c)}e.layers.push(l)}}[Rs](e,t,s,n,i,o){if(t<0||t>this[H].layers.length)return null;if(t<this[H].layers.length){let c=this[H].layers[t],f=null;for(let h of c.views){let y=!1;if(s!==null?(y=h.name===e&&h[J]?.view===s,y&&n!==-1&&(y=h[J]?.index===n)):y=h.name===e,!!y){i!==null&&(h[fe]={view:i,index:o,level:t-1}),f=h;break}}if(f!==null)return f}let a=null,l=null;i!==null&&(i[V]?a={view:i,index:o,level:t-1}:a=i[J],l={view:i,index:o,level:t-1});let u=new ke(e,!0,a);if(u[fe]=l,t==this[H].layers.length){let c=new Ht;c.views=[u],this[H].layers.push(c)}else this[H].layers[t].views.push(u);return u}}const vn="fox-router-view",wn="fox-router-link";function er(r,e=!1){let t=null;return e?t=r.showFromClass??r.enterFromClass:t=r.enterFromClass,t||(t=r.transitionName,t?e?`${t}-show-from`:`${t}-enter-from`:null)}function tr(r,e=!1){let t=null;return e?t=r.showActiveClass??r.enterActiveClass:t=r.enterActiveClass,t||(t=r.transitionName,t?e?`${t}-show-active`:`${t}-enter-active`:null)}function bn(r,e=!1){let t=null;return e?t=r.showToClass??r.enterToClass:t=r.enterToClass,t||(t=r.transitionName,t?e?`${t}-show-to`:`${t}-enter-to`:null)}function sr(r,e=!1){let t=null;return e?t=r.hideFromClass??r.leaveFromClass:t=r.leaveFromClass,t||(t=r.transitionName,t?e?`${t}-hide-from`:`${t}-leave-from`:null)}function rr(r,e=!1){let t=null;return e?t=r.hideActiveClass??r.leaveActiveClass:t=r.leaveActiveClass,t||(t=r.transitionName,t?e?`${t}-hide-active`:`${t}-leave-active`:null)}function Rn(r,e=!1){let t=null;return e?t=r.hideToClass??r.leaveToClass:t=r.leaveToClass,t||(t=r.transitionName,t?e?`${t}-hide-to`:`${t}-leave-to`:null)}function Sn(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function xn(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function Pn(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function Cn(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function En(r,e=!1){let t=null;return e?t=r.beforeHide??r.beforeLeave:t=r.beforeLeave,t}function $n(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function Fn(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function An(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function ts(r){let e,t=r.duration;return typeof t=="object"?e={enter:t.enter??-1,leave:t.leave??-1,show:t.show??-1,hide:t.hide??-1}:(typeof t=="string"&&(t=t.length==0?-1:Number(t)),e={enter:t,leave:t,show:t,hide:t}),e}function Se(r,e){r.classList.contains(e)||r.classList.add(e)}function xe(r,e){r.classList.remove(e)}const Tn=le&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function pt(r){Tn(r)}function T(r,e,t){S(e)&&(r==null&&(r={}),Reflect.apply(e,r,t))}function nr(r,e,t,s=-1,n,i,o,a){let l=[];const u=()=>{for(let c of l)bt(e,c.type,c.listener);l=[]};if(S(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,s]),S(a)&&Reflect.apply(a,r,[])},n);return}const c=["animationend","transitionend",Qe],f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(i,r,[e,t,s]))};c.forEach(h=>{We(e,h,f),l.push({type:h,listener:f})})}if(S(o)){const c="animationcancel",f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(o,r,[e,t,s]))};We(e,c,f),l.push({type:c,listener:f})}}function gt(r){return!le||r===null?!1:r.opsType===F.Append||r.opsType===F.Open}function ir(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=er(s,e);o&&Se(t,o);const a=tr(s,e);a&&Se(t,a);const l=Sn(s,e);T(r,l,[t,e,n,i])}}function or(r,e,t,s={},n,i,o,a){if(!gt(i)&&!e){S(a)&&a(r,a,[t]);return}const l=er(s,e),u=tr(s,e),c=bn(s,e),f=xn(s,e),h=Pn(s,e),y=Cn(s,e);if(!l&&!u&&!c&&!f){S(a)&&a(r,a,[t]);return}pt(()=>{nr(r,t,i,o,n,()=>{u&&xe(t,u),c&&xe(t,c),S(h)&&T(r,h,[t,e,i,o]),S(a)&&a(r,a,[t])},()=>{S(y)&&T(r,y,[t,e,i,o])}),l&&xe(t,l),c&&Se(t,c),S(f)&&T(r,f,[t,e,i,o])})}function lr(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=sr(s,e);o&&Se(t,o);const a=rr(s,e);a&&Se(t,a);const l=En(s,e);T(r,l,[t,e,n,i])}}function ar(r,e,t,s={},n,i,o,a,l){if(!gt(o)&&!e){S(l)&&T(r,l,[t]),!e&&S(i)&&i();return}const u=sr(s,e),c=rr(s,e),f=Rn(s,e),h=$n(s,e),y=Fn(s,e),d=An(s,e);if(!u&&!c&&!f&&!h){S(l)&&T(r,l,[t]),!e&&S(i)&&i();return}pt(()=>{nr(r,t,o,a,n,()=>{c&&xe(t,c),f&&xe(t,f),S(y)&&T(r,y,[t,e,o,a]),S(l)&&T(r,l,[t]),!e&&S(i)&&i()},()=>{S(d)&&T(r,d,[t,e,o,a]),S(l)&&T(r,l,[t]),!e&&S(i)&&i()}),u&&xe(t,u),f&&Se(t,f),S(h)&&T(r,h,[t,e,o,a])})}function ss(r,e,t={},s,n=-1){const i=t.mode??"default",o=ts(t);return{mode:i,persisted:!1,beforeEnter:l=>{ir(r,!1,l,t,s,n)},enter:l=>{or(r,!1,l,t,o.enter,s,n)},leave:(l,u)=>{lr(r,!1,l,t,s,n),ar(r,!1,l,t,o.leave,u,s,n,()=>{e.transition=null,e=null})},clone:l=>ss(r,e,t,s,n)}}function ur(r){return r.el}function _n(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ts(t);ir(r,!0,a,t,s,n),or(r,!0,a,t,l.show,s,n,u=>{S(o)&&T(r,o,[u])})}else S(o)&&T(r,o,[])}function Kn(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ts(t);lr(r,!0,a,t,s,n),ar(r,!0,a,t,l.hide,null,s,n,u=>{S(o)&&T(r,o,[u])})}else S(o)&&T(r,o,[])}function jn(r,e={}){pt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function cr(r,e,t={},s,n=-1){return{mode:t.mode??"default",persisted:!1,beforeEnter:a=>{ze(Ps,{},a)},enter:a=>{ze(Cs,{},a)},leave:(a,l)=>{ze(Es,{},a),pt(()=>{const u=c=>{const f=c.target||c.srcElement,h=c.currentTarget;f===h&&(bt(a,Qe,u),l&&Reflect.apply(l,r,[]),e.transition=null,e=null)};We(a,Qe,u),ze($s,{},a)})},clone:a=>cr(r,e,t,s,n)}}function ie(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function rs(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}function Pe(r,e){return typeof e=="function"?e(r):r}class qn{node;state;constructor(e,t){this.node=e,this.state=t}}const ns=g.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,required:!1,default:"default"},modelSlot:{type:[Object],required:!1},multi:{type:Boolean,required:!1,default:!1},tag:{type:[String,Object,Function],required:!1,default:"div"},viewTag:{type:[String,Object,Function],required:!1,default:"div"},viewTagProps:{type:[Object,Function],required:!1,default(){return{}}},viewClass:{type:[String,Function],required:!1},viewActiveClass:{type:[String,Function],required:!1},viewInactiveClass:{type:[String,Function],required:!1},transition:{type:[Boolean,String,Function],required:!1,default:!1},transitionName:{type:String,required:!1},enterFromClass:{type:String,required:!1},enterActiveClass:{type:String,required:!1},enterToClass:{type:String,required:!1},leaveFromClass:{type:String,required:!1},leaveActiveClass:{type:String,required:!1},leaveToClass:{type:String,required:!1},showFromClass:{type:String,required:!1},showActiveClass:{type:String,required:!1},showToClass:{type:String,required:!1},hideFromClass:{type:String,required:!1},hideActiveClass:{type:String,required:!1},hideToClass:{type:String,required:!1},beforeEnter:{type:Function,required:!1},enter:{type:Function,required:!1},afterEnter:{type:Function,required:!1},enterCancelled:{type:Function,required:!1},beforeLeave:{type:Function,required:!1},leave:{type:Function,required:!1},afterLeave:{type:Function,required:!1},leaveCancelled:{type:Function,required:!1},beforeShow:{type:Function,required:!1},show:{type:Function,required:!1},afterShow:{type:Function,required:!1},showCancelled:{type:Function,required:!1},beforeHide:{type:Function,required:!1},hide:{type:Function,required:!1},afterHide:{type:Function,required:!1},hideCancelled:{type:Function,required:!1}},setup(r,e){const t=g.getCurrentInstance();if(t===null||t.proxy===null){console.error("instance or instance.proxy not exist");return}const s=r.multi===!0,n=g.inject(tt,null),i=g.inject(kt,0),o=g.inject(qs,null),a=g.inject(Ot,-1);let l=null,u=r.modelSlot;if(u){if(g.provide(kt,i+1),g.provide(Ot,u.index),g.provide(Mt,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=Ze(t.proxy,!0);Ur(h),js(h,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const f=r.name,h=g.inject(Ls,null),y=g.inject(Mt,0);if(l=n[Rs](f,i,o,a,h,y),l===null)return;g.provide(Ls,l);const d=l[V]===!0;if(d&&g.provide(qs,l),!s&&(g.provide(Ot,-1),g.provide(kt,i+1),g.provide(Mt,-1),d)){const m=Ze(t.proxy,!0);js(m,()=>{const v=l.slots.value;return v.length>0?v[0].route:null})}}const c={value:new Map};return g.onUnmounted(()=>{if(c.value&&c.value.clear(),u){const f=u;f.route=null,f.model=null,f.instance=null,u=void 0}}),()=>{if(s){const f=new Map,h=[],y=l?.slots.value,d=[];for(let b=0;b<y.length;b++){const w=y[b],j=`${r.name}_${w.index}`,oe=ie(r.transition,w.route,b)??!0,Y={modelSlot:w};let Ee;e.slots.default?Ee=g.h(ns,Y,{default:e.slots.default}):Ee=g.h(ns,Y);const q={},L=ie(r.viewClass,w.route,b);typeof L=="string"&&L.length>0&&(q[L]=!0);const me=ie(r.viewActiveClass,w.route,b),Z=ie(r.viewInactiveClass,w.route,b),M=c.value.get(j);if(typeof me=="string"&&me.length>0&&(q[me]=w.active),typeof Z=="string"&&Z.length>0&&(q[Z]=!w.active),M&&w.active!==M.state){const U=M.node;w.active?d.unshift(()=>{const us=()=>{let Ve=As(U);Ve!=null&&Ts(Ve,qt.ACTIVATED)};_n(t,U,r,w.route,b,oe,us)}):d.push(()=>{const us=()=>{const Ve=As(U);Ve!=null&&Ts(Ve,qt.DEACTIVATED)};Kn(t,U,r,w.route,b,oe,us)})}const Q={class:q,key:j},W=ie(r.viewTagProps,w.route,b);if(W!==null&&typeof W=="object"){const U=Pe(W,n?.propsFilter);$(!0,Q,U)}if(w.route?.viewTagAttrs&&typeof w.route?.viewTagAttrs=="object"){const U=Pe(w.route.viewTagAttrs,n?.propsFilter);$(!0,Q,U)}const ee=ie(r.viewTag,w.route,b),$e=g.h(ee,Q,{default:()=>[Ee]});if(f.set(j,new qn($e,w.active)),c.value.delete(j),oe===!0){const U=ss(t,$e,r,w.route,b);$e.transition=U}else if(oe==="custom"){const U=cr(t,$e,r,w.route,b);$e.transition=U}h.push($e)}c.value=f,jn(d,t);const m=ie(r.tag,null,-1),v={};return Object.assign(v,e.attrs),g.h(m,v,{default:()=>h})}else if(u!=null){const f=u.model,h={};if(f.props){if(typeof f.props=="object"){const d=Pe(f.props,n?.propsFilter);$(!1,h,d)}else if(f.props===!0&&typeof u.route?.params=="object"){const d=Pe(u.route.params,n?.propsFilter);$(!1,h,d)}}const y=g.h(f.component,h);return rs(e.slots.default,{Component:y,route:u.route})??y}else{const f=l.slots.value;if(f.length>0){const h=f[0],y=h.route??(t.proxy&&Lt(t.proxy))??null,d=h.model,m={};if(d.props){if(typeof d.props=="object"){const w=Pe(d.props,n?.propsFilter);$(!1,m,w)}else if(d.props===!0&&typeof y?.params=="object"){const w=Pe(y.params,n?.propsFilter);$(!1,m,w)}}const v=g.h(d.component,m);if(ie(r.transition,y,-1)??!0){const w=ss(t,v,r,y,-1);v.transition=w}return rs(e.slots.default,{Component:v,route:y})??v}else return rs(e.slots.fallback,{})}}}});function Ln(r){if(!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)&&!r.defaultPrevented&&!(r.button!=null&&r.button!==0)){if(r.currentTarget&&r.currentTarget.getAttribute){const e=r.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return r.preventDefault&&r.preventDefault(),!0}}function kn(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function On(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function Ce(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let Mn=g.defineComponent({name:"RouterLink",inheritAttrs:!1,props:{tag:{type:[String,Object,Function],required:!1,default:"a"},to:{type:[String,Object,Function],required:!0},root:{type:String},activeClass:{type:[String,Function],required:!1,default:"fox-router-link-active"},exact:{type:[String,Boolean,Function],required:!1},exactActiveClass:{type:[String,Function],required:!1,default:"fox-router-link-exact-active"},event:{type:[String,Function],required:!1,default:"onClick"}},setup(r,e){const t=g.inject(tt,null);return()=>{let s=Ce(r.to,null),n=Ce(r.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[k](s),r.root&&(i.root=r.root),o=t.current);let a={},l=Ce(r.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=On(i,o)),Ce(r.exact,i)===!0){let h=Ce(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=kn(i,o))}let c={class:a};(n==="a"||n==="A")&&(c.href=i?.path??i?.name??"#"),$(!0,c,e.attrs);let f=Ce(r.event,i);if(typeof f=="string"){const h=y=>{if(t==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}Ln(y)&&t.to(i)};c[f]=h}return g.h(n,c,e.slots)}}});var K=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(K||{}),vt=(r=>(r[r.normal=0]="normal",r[r.factory=1]="factory",r))(vt||{});class In{register=new Map;constructor(){}get(e){return this.register.get(e)??null}set(e,t){this.register.set(e,t)}remove(e){let t=this.register.get(e);return this.register.delete(e),t??null}has(e){return this.register.has(e)}clear(){this.register.clear()}}class fr{moduleManager=new In;options={paths:{},alias:{},nature:[],timeout:3e3};set paths(e){this.options.paths=e}get paths(){return this.options.paths}set alias(e){this.options.alias=e}get alias(){return this.options.alias}set naturePaths(e){this.options.nature=e}get naturePaths(){return this.options.nature}set timeout(e){this.options.timeout=e}get timeout(){return this.options.timeout}_query;set query(e){this._query=e}get query(){return this._query}get head(){return Je().head}constructor(){}setModule(e,t){const s={id:e,src:"",status:K.Defined};typeof t=="function"?(s.exports=t,s.type=vt.factory):s.exports=t,this.moduleManager.set(e,s)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let s=e.length-1;const n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let l=0;l<=s;l++)if(Array.isArray(e[l])){let u=e[l];for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}const o=new Nn(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(c){console.error(c.message,c)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(c){console.error(c.message,c)}}),a=new Ke;for(let l=0;l<t.length;l++){const u=new Dn(l,t[l],n,o);this.mount(a,u)}return this}remove(...e){let t=[],s=e.length-1,n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let o=0;o<=s;o++)if(Array.isArray(e[o])){let a=e[o];for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}else{let a=e[o].split(",");for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}return t.forEach(o=>{this.unmount(o,n)}),typeof i=="function"&&Reflect.apply(i,{},[]),this}mount(e,t){if(t.src==="exports"){e.post(n=>{t.progress.work(!0,t.index,"exports"),n.resolve()});return}else if(t.src==="module"){e.post(n=>{t.progress.work(!0,t.index,"module"),n.resolve()});return}if(this.isNaturePath(t.src)){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(this.isNaturePath(t.src)){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}let s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(s==="css"){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}}mountCSS(e,t,s){e.post(n=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==K.Defined||o.status==K.Loaded)&&o.exports){o.type===vt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}const a=Je(),l=a.createElement("link");if(Reflect.has(l,"onload"))l.onload=()=>{l.onload=null,l.onerror=null,t.progress.work(!0,t.index,t.src),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),n.reject()};else{const f={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),n.resolve()},error:()=>{try{s.removeChild(l)}catch(h){console.error(h.message,h)}t.progress.work(!1,t.index,null),n.resolve()}};setTimeout(()=>{hr(l,f)},1)}let c=a.getElementById(i);c&&c.parentNode&&c.parentNode.removeChild(c),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,s.appendChild(l)})}mountJS(e,t,s){e.post(n=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==K.Defined||o.status==K.Loaded)){if(o.exports){o.type===vt.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}if(document.querySelector(`script[src='${i}`)){t.progress.work(!0,t.index,o.exports),n.resolve();return}}o={id:i,src:i,status:K.Loading},this.moduleManager.set(i,o);const l=Je().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===K.Loading&&(o.status=K.Loaded,t.progress.work(!0,t.index,i)),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),n.resolve()};else{const f=l;f.onreadystatechange=()=>{/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,o.status==K.Loading&&(o.status=K.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const c=E();c.define=this.createDefine(o,t),s.appendChild(l)})}unmount(e,t={}){const s=Je(),n=this.getFileNamePostfix(e);if(n==="js"||n.length===0){const i=s.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(n==="css"){const i=s.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let s=0;s<e.length;s++){if(e[s]===void 0||e[s]===null)continue;const n=e[s].trim();n.length!==0&&t.push(n)}return t}createDefine(e,t){const s=this,n=function(...i){e.status=K.Defining;let o,a,l,u=i.length;u===1?(l=i[0],o=void 0):u===2?(l=i[1],Array.isArray(i[0])?(a=s.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=s.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,s.options.alias[o]=e.src),a&&a.length>0?s.ensure(a,(...c)=>{const f=c.map(h=>h==="exports"?((!e.exports||typeof e.exports!="object")&&(e.exports={}),e.exports):h==="module"?e:h);if(typeof l=="function"){const h=Reflect.apply(l,e,f);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=K.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=K.Defined,t.progress.work(!0,t.index,e.exports))};return n.amd=!0,n}resolvePath(e){try{if(e==="exports"||e==="module"||this.isNaturePath(e))return e;e=this.parserPath(e,!0);let t=this.getFileNamePostfix(e);t=t.toLowerCase();let s=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),s.length>0&&(e+=`?${s}`)):s.length>0&&(e+=`&${s}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let s in e){let n=`${e[s]}`;t+=`${encodeURIComponent(s)}=${encodeURIComponent(n)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let s=e.lastIndexOf(".",t);return s==-1?"":e.substring(s+1,t)}isNaturePath(e){if(!this.options.nature)return!1;if(typeof this.options.nature=="function")return this.options.nature(e);const t=this.options.nature;if(t&&Array.isArray(t))for(let s=0;s<t.length;s++){const n=t[s];if(e.indexOf(n)===0)return!0}return!1}parserPath(e,t){if(e.indexOf("http://")==0||e.indexOf("https://")==0||e.indexOf("file:///")==0)return e;if(e.indexOf("/")==0)return`${wt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${wt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${E().location.protocol}${e}`;if(t){let n=this.options.alias[e];if(!n){let i=e.indexOf("/");if(i==-1)n=e;else{let o=e.slice(0,i),a=this.options.paths[o];a?n=a+e.slice(i):n=e}}return this.parserPath(n,!1)}return`${wt()}${e}`}}function hr(r,e){let t=r.sheet,s=!1;if(e.isOldWebKit)t&&(s=!0);else if(t)try{t.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{e.time+=20,s?e.success():e.timeout>e.timeout?e.error():hr(r,e)},20)}class Nn{callback;values;status;size;lastIndex;constructor(e,t){this.size=e,this.callback=t,this.status=!0,this.values=[],this.lastIndex=-1}work(e,t,s){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(s)),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(n){console.error(n.message,n)}}isOK(){return this.status}}class Dn{index;src;params;progress;constructor(e,t,s,n){this.index=e,this.src=t,this.params=s,this.progress=n}}const is=Symbol("fk"),os=Symbol("fbk"),ls=Symbol("fepk");function Hn(r={}){const e=new gn(r),t=new Ft,s=new Kt,n=new fr,i={get router(){return e},get bus(){return t},get Bus(){return Ft},get EventProxy(){return Kt},get eventproxy(){return s},get EventChain(){return Ke},get Require(){return fr},get require(){return n},get extend(){return $},get clone(){return Xe},get isESModule(){return Rt},install(o){o.provide(tt,e),o.provide(is,i),o.provide(os,t),o.provide(ls,s),o.component(vn,ns),o.component(wn,Mn),Reflect.defineProperty(o.config.globalProperties,"$fox",{get(){return i}}),Reflect.defineProperty(o.config.globalProperties,"$router",{get(){return e}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$eventProxy",{get(){return s}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){s.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){s.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){s.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=s;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return Lt(this)}}}),e.init()}};return i}function as(r){return r?r.$router:g.inject(tt)}function Un(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?Lt(r):null}function Bn(r){return r?r.$fox:g.inject(is)}function Vn(r){return r?r.$bus:g.inject(os)}function Jn(r){return r?r.$eventProxy:g.inject(ls)}function Wn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function zn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}p.Bus=Ft,p.EventChain=Ke,p.EventProxy=Kt,p.FoxBeforeEnter=Ps,p.FoxBeforeLeave=Es,p.FoxEnter=Cs,p.FoxLeave=$s,p.FoxLeaveEnd=Qe,p.OperationType=F,p.Route=P,p.clone=Xe,p.createFox=Hn,p.createMemoryHistory=Js,p.createWebHashHistory=Vs,p.createWebHistory=yn,p.deleteContextValue=Hr,p.extend=$,p.foxBusKey=os,p.foxEventProxyKey=ls,p.foxKey=is,p.injectContextValue=jt,p.isArray=dr,p.isDate=gr,p.isESModule=Rt,p.isEqual=Ct,p.isFunction=S,p.isMap=mr,p.isNil=Fe,p.isObject=cs,p.isPlainObject=fs,p.isPromise=br,p.isSet=pr,p.isString=vr,p.isSymbol=wr,p.onAfterRouteUpdate=zn,p.onBeforeRouteUpdate=Wn,p.onFoxActivated=Wr,p.onFoxInactivated=zr,p.provideContextValue=Dr,p.rawState=Lr,p.reactiveState=Kr,p.sessionKey=se,p.shallowReactiveState=jr,p.toBoolean=xt,p.toNumber=Pr,p.toTypeString=Ge,p.typeOf=Pt,p.useBus=Vn,p.useEventProxy=Jn,p.useFox=Bn,p.useRoute=Un,p.useRouter=as,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
|