304 lines
130 KiB
JavaScript
304 lines
130 KiB
JavaScript
(function(){"use strict";/**
|
|
* @vue/shared v3.5.42
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/function Ts(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const W={},nt=[],we=()=>{},mi=()=>!1,Vt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Bt=e=>e.startsWith("onUpdate:"),X=Object.assign,Cs=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},To=Object.prototype.hasOwnProperty,D=(e,t)=>To.call(e,t),A=Array.isArray,ze=e=>gt(e)==="[object Map]",Wt=e=>gt(e)==="[object Set]",xi=e=>gt(e)==="[object Date]",R=e=>typeof e=="function",q=e=>typeof e=="string",be=e=>typeof e=="symbol",j=e=>e!==null&&typeof e=="object",yi=e=>(j(e)||R(e))&&R(e.then)&&R(e.catch),_i=Object.prototype.toString,gt=e=>_i.call(e),Co=e=>gt(e).slice(8,-1),zt=e=>gt(e)==="[object Object]",ks=e=>q(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,vt=Ts(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Kt=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},ko=/-\w/g,se=Kt(e=>e.replace(ko,t=>t.slice(1).toUpperCase())),Oo=/\B([A-Z])/g,ve=Kt(e=>e.replace(Oo,"-$1").toLowerCase()),Gt=Kt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Os=Kt(e=>e?`on${Gt(e)}`:""),He=(e,t)=>!Object.is(e,t),As=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},wi=(e,t,s,i=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:s})},Ao=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Si=e=>{const t=q(e)?Number(e):NaN;return isNaN(t)?e:t};let Ei;const qt=()=>Ei||(Ei=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ms(e){if(A(e)){const t={};for(let s=0;s<e.length;s++){const i=e[s],n=q(i)?Lo(i):Ms(i);if(n)for(const o in n)t[o]=n[o]}return t}else if(q(e)||j(e))return e}const Mo=/;(?![^(]*\))/g,Ro=/:([^]+)/,Po=/\/\*[^]*?\*\//g;function Lo(e){const t={};return e.replace(Po,"").split(Mo).forEach(s=>{if(s){const i=s.split(Ro);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function Ke(e){let t="";if(q(e))t=e;else if(A(e))for(let s=0;s<e.length;s++){const i=Ke(e[s]);i&&(t+=i+" ")}else if(j(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const Io=Ts("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function Ti(e){return!!e||e===""}function No(e,t){if(e.length!==t.length)return!1;let s=!0;for(let i=0;s&&i<e.length;i++)s=Jt(e[i],t[i]);return s}function Ci(e,t){if(e.size!==t.size)return!1;const s=Array.from(t),i=new Uint8Array(s.length);for(const n of e){let o=-1;for(let l=0;l<s.length;l++)if(!i[l]&&Jt(n,s[l])){o=l;break}if(o<0)return!1;i[o]=1}return!0}function Jt(e,t){if(e===t)return!0;let s=xi(e),i=xi(t);if(s||i)return s&&i?e.getTime()===t.getTime():!1;if(s=be(e),i=be(t),s||i)return e===t;if(s=A(e),i=A(t),s||i)return s&&i?No(e,t):!1;if(s=j(e),i=j(t),s||i){if(!s||!i)return!1;if(s=ze(e),i=ze(t),s||i||(s=Wt(e),i=Wt(t),s||i))return s&&i?Ci(e,t):!1;const n=Object.keys(e).length,o=Object.keys(t).length;if(n!==o)return!1;for(const l in e){const r=e.hasOwnProperty(l),a=t.hasOwnProperty(l);if(r&&!a||!r&&a||!Jt(e[l],t[l]))return!1}}return String(e)===String(t)}const ki=e=>!!(e&&e.__v_isRef===!0),F=e=>q(e)?e:e==null?"":A(e)||j(e)&&(e.toString===_i||!R(e.toString))?ki(e)?F(e.value):JSON.stringify(e,Oi,2):String(e),Oi=(e,t)=>ki(t)?Oi(e,t.value):ze(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[i,n],o)=>(s[Rs(i,o)+" =>"]=n,s),{})}:Wt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Rs(s))}:be(t)?Rs(t):j(t)&&!A(t)&&!zt(t)?String(t):t,Rs=(e,t="")=>{var s;return be(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
|
|
* @vue/reactivity v3.5.42
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/let ie;class Ho{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ie&&(ie.active?(this.parent=ie,this.index=(ie.scopes||(ie.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes){const i=this.scopes.slice();for(t=0,s=i.length;t<s;t++)i[t].pause()}for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes){const n=this.scopes.slice();for(t=0,s=n.length;t<s;t++)n[t].resume()}const i=this.effects.slice();for(t=0,s=i.length;t<s;t++)i[t].resume()}}run(t){if(this._active){const s=ie;try{return ie=this,t()}finally{ie=s}}}on(){++this._on===1&&(this.prevScope=ie,ie=this)}off(){if(this._on>0&&--this._on===0){if(ie===this)ie=this.prevScope;else{let t=ie;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let s,i;for(s=0,i=this.effects.length;s<i;s++)this.effects[s].stop();for(this.effects.length=0,s=0,i=this.cleanups.length;s<i;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){const n=this.scopes.slice();for(s=0,i=n.length;s<i;s++)n[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const n=this.parent.scopes.pop();n&&n!==this&&(this.parent.scopes[this.index]=n,n.index=this.index)}this.parent=void 0}}}function Do(){return ie}let K;const Ps=new WeakSet;class Ai{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ie&&(ie.active?ie.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ps.has(this)&&(Ps.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Ri(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Hi(this),Pi(this);const t=K,s=me;K=this,me=!0;try{return this.fn()}finally{Li(this),K=t,me=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Hs(t);this.deps=this.depsTail=void 0,Hi(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ps.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ns(this)&&this.run()}get dirty(){return Ns(this)}}let Mi=0,bt,mt;function Ri(e,t=!1){if(e.flags|=8,t){e.next=mt,mt=e;return}e.next=bt,bt=e}function Ls(){Mi++}function Is(){if(--Mi>0)return;if(mt){let t=mt;for(mt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;bt;){let t=bt;for(bt=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(i){e||(e=i)}t=s}}if(e)throw e}function Pi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Li(e){let t,s=e.depsTail,i=s;for(;i;){const n=i.prevDep;i.version===-1?(i===s&&(s=n),Hs(i),Fo(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=n}e.deps=t,e.depsTail=s}function Ns(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===xt)||(e.globalVersion=xt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ns(e))))return;e.flags|=2;const t=e.dep,s=K,i=me;K=e,me=!0;try{Pi(e);const n=e.fn(e._value);(t.version===0||He(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(n){throw t.version++,n}finally{K=s,me=i,Li(e),e.flags&=-3}}function Hs(e,t=!1){const{dep:s,prevSub:i,nextSub:n}=e;if(i&&(i.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=i,e.nextSub=void 0),s.subs===e&&(s.subs=i,!i&&s.computed)){s.computed.flags&=-5;for(let o=s.computed.deps;o;o=o.nextDep)Hs(o,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Fo(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let me=!0;const Ni=[];function Se(){Ni.push(me),me=!1}function Ee(){const e=Ni.pop();me=e===void 0?!0:e}function Hi(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=K;K=void 0;try{t()}finally{K=s}}}let xt=0;class $o{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Di{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!K||!me||K===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==K)s=this.activeLink=new $o(K,this),K.deps?(s.prevDep=K.depsTail,K.depsTail.nextDep=s,K.depsTail=s):K.deps=K.depsTail=s,Fi(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const i=s.nextDep;i.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=i),s.prevDep=K.depsTail,s.nextDep=void 0,K.depsTail.nextDep=s,K.depsTail=s,K.deps===s&&(K.deps=i)}return s}trigger(t){this.version++,xt++,this.notify(t)}notify(t){Ls();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Is()}}}function Fi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let i=t.deps;i;i=i.nextDep)Fi(i)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Ds=new WeakMap,Ye=Symbol(""),Fs=Symbol(""),yt=Symbol("");function re(e,t,s){if(me&&K){let i=Ds.get(e);i||Ds.set(e,i=new Map);let n=i.get(s);n||(i.set(s,n=new Di),n.map=i,n.key=s),n.track()}}function De(e,t,s,i,n,o){const l=Ds.get(e);if(!l){xt++;return}const r=a=>{a&&a.trigger()};if(Ls(),t==="clear")l.forEach(r);else{const a=A(e),u=a&&ks(s);if(a&&s==="length"){const f=Number(i);l.forEach((h,S)=>{(S==="length"||S===yt||!be(S)&&S>=f)&&r(h)})}else switch((s!==void 0||l.has(void 0))&&r(l.get(s)),u&&r(l.get(yt)),t){case"add":a?u&&r(l.get("length")):(r(l.get(Ye)),ze(e)&&r(l.get(Fs)));break;case"delete":a||(r(l.get(Ye)),ze(e)&&r(l.get(Fs)));break;case"set":ze(e)&&r(l.get(Ye));break}}Is()}function ot(e){const t=$(e);return t===e?t:(re(t,"iterate",yt),xe(e)?t:t.map($e))}function Yt(e){return re(e=$(e),"iterate",yt),e}function Te(e,t){return Ge(e)?lt(Xe(e)?$e(t):t):$e(t)}const jo={__proto__:null,[Symbol.iterator](){return $s(this,Symbol.iterator,e=>Te(this,e))},concat(...e){return ot(this).concat(...e.map(t=>A(t)?ot(t):t))},entries(){return $s(this,"entries",e=>(e[1]=Te(this,e[1]),e))},every(e,t){return Fe(this,"every",e,t,void 0,arguments)},filter(e,t){return Fe(this,"filter",e,t,s=>s.map(i=>Te(this,i)),arguments)},find(e,t){return Fe(this,"find",e,t,s=>Te(this,s),arguments)},findIndex(e,t){return Fe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Fe(this,"findLast",e,t,s=>Te(this,s),arguments)},findLastIndex(e,t){return Fe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Fe(this,"forEach",e,t,void 0,arguments)},includes(...e){return js(this,"includes",e)},indexOf(...e){return js(this,"indexOf",e)},join(e){return ot(this).join(e)},lastIndexOf(...e){return js(this,"lastIndexOf",e)},map(e,t){return Fe(this,"map",e,t,void 0,arguments)},pop(){return _t(this,"pop")},push(...e){return _t(this,"push",e)},reduce(e,...t){return $i(this,"reduce",e,t)},reduceRight(e,...t){return $i(this,"reduceRight",e,t)},shift(){return _t(this,"shift")},some(e,t){return Fe(this,"some",e,t,void 0,arguments)},splice(...e){return _t(this,"splice",e)},toReversed(){return ot(this).toReversed()},toSorted(e){return ot(this).toSorted(e)},toSpliced(...e){return ot(this).toSpliced(...e)},unshift(...e){return _t(this,"unshift",e)},values(){return $s(this,"values",e=>Te(this,e))}};function $s(e,t,s){const i=Yt(e),n=i[t]();return i!==e&&!xe(e)&&(n._next=n.next,n.next=()=>{const o=n._next();return o.done||(o.value=s(o.value)),o}),n}const Uo=Array.prototype;function Fe(e,t,s,i,n,o){const l=Yt(e),r=l!==e&&!xe(e),a=l[t];if(a!==Uo[t]){const h=a.apply(e,o);return r?$e(h):h}let u=s;l!==e&&(r?u=function(h,S){return s.call(this,Te(e,h),S,e)}:s.length>2&&(u=function(h,S){return s.call(this,h,S,e)}));const f=a.call(l,u,i);return r&&n?n(f):f}function $i(e,t,s,i){const n=Yt(e),o=n!==e&&!xe(e);let l=s,r=!1;n!==e&&(o?(r=i.length===0,l=function(u,f,h){return r&&(r=!1,u=Te(e,u)),s.call(this,u,Te(e,f),h,e)}):s.length>3&&(l=function(u,f,h){return s.call(this,u,f,h,e)}));const a=n[t](l,...i);return r?Te(e,a):a}function js(e,t,s){const i=$(e);re(i,"iterate",yt);const n=i[t](...s);return(n===-1||n===!1)&&Ws(s[0])?(s[0]=$(s[0]),i[t](...s)):n}function _t(e,t,s=[]){Se(),Ls();const i=$(e)[t].apply(e,s);return Is(),Ee(),i}const Vo=Ts("__proto__,__v_isRef,__isVue"),ji=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(be));function Bo(e){be(e)||(e=String(e));const t=$(this);return re(t,"has",e),t.hasOwnProperty(e)}class Ui{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,i){if(s==="__v_skip")return t.__v_skip;const n=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!n;if(s==="__v_isReadonly")return n;if(s==="__v_isShallow")return o;if(s==="__v_raw")return i===(n?o?Gi:Ki:o?zi:Wi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(i)?t:void 0;const l=A(t);if(!n){let a;if(l&&(a=jo[s]))return a;if(s==="hasOwnProperty")return Bo}const r=Reflect.get(t,s,ae(t)?t:i);if((be(s)?ji.has(s):Vo(s))||(n||re(t,"get",s),o))return r;if(ae(r)){const a=l&&ks(s)?r:r.value;return n&&j(a)?Bs(a):a}return j(r)?n?Bs(r):Vs(r):r}}class Vi extends Ui{constructor(t=!1){super(!1,t)}set(t,s,i,n){let o=t[s];const l=A(t)&&ks(s);if(!this._isShallow){const u=Ge(o);if(!xe(i)&&!Ge(i)&&(o=$(o),i=$(i)),!l&&ae(o)&&!ae(i))return u||(o.value=i),!0}const r=l?Number(s)<t.length:D(t,s),a=Reflect.set(t,s,i,ae(t)?t:n);return t===$(n)&&a&&(r?He(i,o)&&De(t,"set",s,i):De(t,"add",s,i)),a}deleteProperty(t,s){const i=D(t,s);t[s];const n=Reflect.deleteProperty(t,s);return n&&i&&De(t,"delete",s,void 0),n}has(t,s){const i=Reflect.has(t,s);return(!be(s)||!ji.has(s))&&re(t,"has",s),i}ownKeys(t){return re(t,"iterate",A(t)?"length":Ye),Reflect.ownKeys(t)}}class Bi extends Ui{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Wo=new Vi,zo=new Bi,Ko=new Vi(!0),Go=new Bi(!0),Us=e=>e,Xt=e=>Reflect.getPrototypeOf(e);function qo(e,t,s){return function(...i){const n=this.__v_raw,o=$(n),l=ze(o),r=e==="entries"||e===Symbol.iterator&&l,a=e==="keys"&&l,u=n[e](...i),f=s?Us:t?lt:$e;return!t&&re(o,"iterate",a?Fs:Ye),X(Object.create(u),{next(){const{value:h,done:S}=u.next();return S?{value:h,done:S}:{value:r?[f(h[0]),f(h[1])]:f(h),done:S}}})}}function Zt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Jo(e,t){const s={get(n){const o=this.__v_raw,l=$(o),r=$(n);e||(He(n,r)&&re(l,"get",n),re(l,"get",r));const{has:a}=Xt(l),u=t?Us:e?lt:$e;if(a.call(l,n))return u(o.get(n));if(a.call(l,r))return u(o.get(r));o!==l&&o.get(n)},get size(){const n=this.__v_raw;return!e&&re($(n),"iterate",Ye),n.size},has(n){const o=this.__v_raw,l=$(o),r=$(n);return e||(He(n,r)&&re(l,"has",n),re(l,"has",r)),n===r?o.has(n):o.has(n)||o.has(r)},forEach(n,o){const l=this,r=l.__v_raw,a=$(r),u=t?Us:e?lt:$e;return!e&&re(a,"iterate",Ye),r.forEach((f,h)=>n.call(o,u(f),u(h),l))}};return X(s,e?{add:Zt("add"),set:Zt("set"),delete:Zt("delete"),clear:Zt("clear")}:{add(n){const o=$(this),l=Xt(o),r=$(n),a=!t&&!xe(n)&&!Ge(n)?r:n;return l.has.call(o,a)||He(n,a)&&l.has.call(o,n)||He(r,a)&&l.has.call(o,r)||(o.add(a),De(o,"add",a,a)),this},set(n,o){!t&&!xe(o)&&!Ge(o)&&(o=$(o));const l=$(this),{has:r,get:a}=Xt(l);let u=r.call(l,n);u||(n=$(n),u=r.call(l,n));const f=a.call(l,n);return l.set(n,o),u?He(o,f)&&De(l,"set",n,o):De(l,"add",n,o),this},delete(n){const o=$(this),{has:l,get:r}=Xt(o);let a=l.call(o,n);a||(n=$(n),a=l.call(o,n)),r&&r.call(o,n);const u=o.delete(n);return a&&De(o,"delete",n,void 0),u},clear(){const n=$(this),o=n.size!==0,l=n.clear();return o&&De(n,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(n=>{s[n]=qo(n,e,t)}),s}function Qt(e,t){const s=Jo(e,t);return(i,n,o)=>n==="__v_isReactive"?!e:n==="__v_isReadonly"?e:n==="__v_raw"?i:Reflect.get(D(s,n)&&n in i?s:i,n,o)}const Yo={get:Qt(!1,!1)},Xo={get:Qt(!1,!0)},Zo={get:Qt(!0,!1)},Qo={get:Qt(!0,!0)},Wi=new WeakMap,zi=new WeakMap,Ki=new WeakMap,Gi=new WeakMap;function el(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Vs(e){return Ge(e)?e:es(e,!1,Wo,Yo,Wi)}function tl(e){return es(e,!1,Ko,Xo,zi)}function Bs(e){return es(e,!0,zo,Zo,Ki)}function Nc(e){return es(e,!0,Go,Qo,Gi)}function es(e,t,s,i,n){if(!j(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=n.get(e);if(o)return o;const l=el(Co(e));if(l===0)return e;const r=new Proxy(e,l===2?i:s);return n.set(e,r),r}function Xe(e){return Ge(e)?Xe(e.__v_raw):!!(e&&e.__v_isReactive)}function Ge(e){return!!(e&&e.__v_isReadonly)}function xe(e){return!!(e&&e.__v_isShallow)}function Ws(e){return e?!!e.__v_raw:!1}function $(e){const t=e&&e.__v_raw;return t?$(t):e}function sl(e){return!D(e,"__v_skip")&&Object.isExtensible(e)&&wi(e,"__v_skip",!0),e}const $e=e=>j(e)?Vs(e):e,lt=e=>j(e)?Bs(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function qi(e){return ae(e)?e.value:e}const il={get:(e,t,s)=>t==="__v_raw"?e:qi(Reflect.get(e,t,s)),set:(e,t,s,i)=>{const n=e[t];return ae(n)&&!ae(s)?(n.value=s,!0):Reflect.set(e,t,s,i)}};function Ji(e){return Xe(e)?e:new Proxy(e,il)}class nl{constructor(t,s,i){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Di(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=xt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=i}notify(){if(this.flags|=16,!(this.flags&8)&&K!==this)return Ri(this,!0),!0}get value(){const t=this.dep.track();return Ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ol(e,t,s=!1){let i,n;return R(e)?i=e:(i=e.get,n=e.set),new nl(i,n,s)}const ts={},ss=new WeakMap;let Ze;function ll(e,t=!1,s=Ze){if(s){let i=ss.get(s);i||ss.set(s,i=[]),i.push(e)}}function rl(e,t,s=W){const{immediate:i,deep:n,once:o,scheduler:l,augmentJob:r,call:a}=s,u=O=>n?O:xe(O)||n===!1||n===0?je(O,1):je(O);let f,h,S,E,U=!1,L=!1;if(ae(e)?(h=()=>e.value,U=xe(e)):Xe(e)?(h=()=>u(e),U=!0):A(e)?(L=!0,U=e.some(O=>Xe(O)||xe(O)),h=()=>e.map(O=>{if(ae(O))return O.value;if(Xe(O))return u(O);if(R(O))return a?a(O,2):O()})):R(e)?t?h=a?()=>a(e,2):e:h=()=>{if(S){Se();try{S()}finally{Ee()}}const O=Ze;Ze=f;try{return a?a(e,3,[E]):e(E)}finally{Ze=O}}:h=we,t&&n){const O=h,te=n===!0?1/0:n;h=()=>je(O(),te)}const Z=Do(),J=()=>{f.stop(),Z&&Z.active&&Cs(Z.effects,f)};if(o&&t){const O=t;t=(...te)=>{const Me=O(...te);return J(),Me}}let H=L?new Array(e.length).fill(ts):ts;const V=O=>{if(!(!(f.flags&1)||!f.dirty&&!O))if(t){const te=f.run();if(O||n||U||(L?te.some((Me,Re)=>He(Me,H[Re])):He(te,H))){S&&S();const Me=Ze;Ze=f;try{const Re=[te,H===ts?void 0:L&&H[0]===ts?[]:H,E];H=te,a?a(t,3,Re):t(...Re)}finally{Ze=Me}}}else f.run()};return r&&r(V),f=new Ai(h),f.scheduler=l?()=>l(V,!1):V,E=O=>ll(O,!1,f),S=f.onStop=()=>{const O=ss.get(f);if(O){if(a)a(O,4);else for(const te of O)te();ss.delete(f)}},t?i?V(!0):H=f.run():l?l(V.bind(null,!0),!0):f.run(),J.pause=f.pause.bind(f),J.resume=f.resume.bind(f),J.stop=J,J}function je(e,t=1/0,s){if(t<=0||!j(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,ae(e))je(e.value,t,s);else if(A(e))for(let i=0;i<e.length;i++)je(e[i],t,s);else if(Wt(e)||ze(e))e.forEach(i=>{je(i,t,s)});else if(zt(e)){for(const i in e)je(e[i],t,s);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&je(e[i],t,s)}return e}/**
|
|
* @vue/runtime-core v3.5.42
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/const wt=[];let zs=!1;function Hc(e,...t){if(zs)return;zs=!0,Se();const s=wt.length?wt[wt.length-1].component:null,i=s&&s.appContext.config.warnHandler,n=al();if(i)rt(i,s,11,[e+t.map(o=>{var l,r;return(r=(l=o.toString)==null?void 0:l.call(o))!=null?r:JSON.stringify(o)}).join(""),s&&s.proxy,n.map(({vnode:o})=>`at <${Yn(s,o.type)}>`).join(`
|
|
`),n]);else{const o=[`[Vue warn]: ${e}`,...t];n.length&&o.push(`
|
|
`,...cl(n)),console.warn(...o)}Ee(),zs=!1}function al(){let e=wt[wt.length-1];if(!e)return[];const t=[];for(;e;){const s=t[0];s&&s.vnode===e?s.recurseCount++:t.push({vnode:e,recurseCount:0});const i=e.component&&e.component.parent;e=i&&i.vnode}return t}function cl(e){const t=[];return e.forEach((s,i)=>{t.push(...i===0?[]:[`
|
|
`],...dl(s))}),t}function dl({vnode:e,recurseCount:t}){const s=t>0?`... (${t} recursive calls)`:"",i=e.component?e.component.parent==null:!1,n=` at <${Yn(e.component,e.type,i)}`,o=">"+s;return e.props?[n,...fl(e.props),o]:[n+o]}function fl(e){const t=[],s=Object.keys(e);return s.slice(0,3).forEach(i=>{t.push(...Yi(i,e[i]))}),s.length>3&&t.push(" ..."),t}function Yi(e,t,s){return q(t)?(t=JSON.stringify(t),s?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?s?t:[`${e}=${t}`]:ae(t)?(t=Yi(e,$(t.value),!0),s?t:[`${e}=Ref<`,t,">"]):R(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=$(t),s?t:[`${e}=`,t])}function rt(e,t,s,i){try{return i?e(...i):e()}catch(n){is(n,t,s)}}function ye(e,t,s,i){if(R(e)){const n=rt(e,t,s,i);return n&&yi(n)&&n.catch(o=>{is(o,t,s)}),n}if(A(e)){const n=[];for(let o=0;o<e.length;o++)n.push(ye(e[o],t,s,i));return n}}function is(e,t,s,i=!0){const n=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:l}=t&&t.appContext.config||W;if(t){let r=t.parent;const a=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${s}`;for(;r;){const f=r.ec;if(f){for(let h=0;h<f.length;h++)if(f[h](e,a,u)===!1)return}r=r.parent}if(o){Se(),rt(o,null,10,[e,a,u]),Ee();return}}ul(e,s,n,i,l)}function ul(e,t,s,i=!0,n=!1){if(n)throw e;console.error(e)}const de=[];let Ce=-1;const at=[];let qe=null,ct=0;const Xi=Promise.resolve();let ns=null;function Zi(e){const t=ns||Xi;return e?t.then(this?e.bind(this):e):t}function pl(e){let t=Ce+1,s=de.length;for(;t<s;){const i=t+s>>>1,n=de[i],o=St(n);o<e||o===e&&n.flags&2?t=i+1:s=i}return t}function Ks(e){if(!(e.flags&1)){const t=St(e),s=de[de.length-1];!s||!(e.flags&2)&&t>=St(s)?de.push(e):de.splice(pl(t),0,e),e.flags|=1,Qi()}}function Qi(){ns||(ns=Xi.then(sn))}function hl(e){if(!A(e))qe&&e.id===-1?qe.splice(ct+1,0,e):e.flags&1||(at.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)at.push(e[t]);Qi()}function en(e,t,s=Ce+1){for(;s<de.length;s++){const i=de[s];if(i&&i.flags&2){if(e&&i.id!==e.uid)continue;de.splice(s,1),s--,i.flags&4&&(i.flags&=-2),i(),i.flags&4||(i.flags&=-2)}}}function tn(e){if(at.length){const t=[...new Set(at)].sort((s,i)=>St(s)-St(i));if(at.length=0,qe){for(let s=0;s<t.length;s++)qe.push(t[s]);return}for(qe=t,ct=0;ct<qe.length;ct++){const s=qe[ct];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}qe=null,ct=0}}const St=e=>e.id==null?e.flags&2?-1:1/0:e.id;function sn(e){try{for(Ce=0;Ce<de.length;Ce++){const t=de[Ce];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),rt(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ce<de.length;Ce++){const t=de[Ce];t&&(t.flags&=-2)}Ce=-1,de.length=0,tn(),ns=null,(de.length||at.length)&&sn()}}let ne=null,nn=null;function os(e){const t=ne;return ne=e,nn=e&&e.type.__scopeId||null,t}function Et(e,t=ne,s){if(!t||e._n)return e;const i=(...n)=>{i._d&&Un(-1);const o=os(t),l=Ve.length;let r;try{r=e(...n)}finally{for(let a=Ve.length;a>l;a--)ai();os(o),i._d&&Un(1)}return r};return i._n=!0,i._c=!0,i._d=!0,i}function Gs(e,t){if(ne===null)return e;const s=bs(ne),i=e.dirs||(e.dirs=[]);for(let n=0;n<t.length;n++){let[o,l,r,a=W]=t[n];o&&(R(o)&&(o={mounted:o,updated:o}),o.deep&&je(l),i.push({dir:o,instance:s,value:l,oldValue:void 0,arg:r,modifiers:a}))}return e}function Qe(e,t,s,i){const n=e.dirs,o=t&&t.dirs;for(let l=0;l<n.length;l++){const r=n[l];o&&(r.oldValue=o[l].value);let a=r.dir[i];a&&(Se(),ye(a,s,8,[e.el,r,e,t]),Ee())}}function gl(e,t){if(ce){let s=ce.provides;const i=ce.parent&&ce.parent.provides;i===s&&(s=ce.provides=Object.create(i)),s[e]=t}}function Tt(e,t,s=!1){const i=Wn();if(i||ut){let n=ut?ut._context.provides:i?i.parent==null||i.ce?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides:void 0;if(n&&e in n)return n[e];if(arguments.length>1)return s&&R(t)?t.call(i&&i.proxy):t}}const vl=Symbol.for("v-scx"),bl=()=>Tt(vl);function qs(e,t,s){return on(e,t,s)}function on(e,t,s=W){const{immediate:i,deep:n,flush:o,once:l}=s,r=X({},s),a=t&&i||!t&&o!=="post";let u;if(Lt){if(o==="sync"){const E=bl();u=E.__watcherHandles||(E.__watcherHandles=[])}else if(!a){const E=()=>{};return E.stop=we,E.resume=we,E.pause=we,E}}const f=ce;r.call=(E,U,L)=>ye(E,f,U,L);let h=!1;o==="post"?r.scheduler=E=>{pe(E,f&&f.suspense)}:o!=="sync"&&(h=!0,r.scheduler=(E,U)=>{U?E():Ks(E)}),r.augmentJob=E=>{t&&(E.flags|=4),h&&(E.flags|=2,f&&(E.id=f.uid,E.i=f))};const S=rl(e,t,r);return Lt&&(u?u.push(S):a&&S()),S}function ml(e,t,s){const i=this.proxy,n=q(e)?e.includes(".")?ln(i,e):()=>i[e]:e.bind(i,i);let o;R(t)?o=t:(o=t.handler,s=t);const l=Pt(this),r=on(n,o.bind(i),s);return l(),r}function ln(e,t){const s=t.split(".");return()=>{let i=e;for(let n=0;n<s.length&&i;n++)i=i[s[n]];return i}}const xl=Symbol("_vte"),ls=e=>e.__isTeleport,Js=Symbol("_leaveCb");function yl(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==ke){t=s;break}}return t}function rn(e){if(!Zs(e))return ls(e.type)&&e.children?yl(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&R(s.default))return s.default()}}function Ys(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const s=e.component.subTree;Ys(ls(s.type)&&rn(s)||s,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Xs(e,t){return R(e)?X({name:e.name},t,{setup:e}):e}function an(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function cn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const rs=new WeakMap;function Ct(e,t,s,i,n=!1){if(A(e)){e.forEach((L,Z)=>Ct(L,t&&(A(t)?t[Z]:t),s,i,n));return}if(dt(i)&&!n){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&Ct(e,t,s,i.component.subTree);return}const o=i.shapeFlag&4?bs(i.component):i.el,l=n?null:o,{i:r,r:a}=e,u=t&&t.r,f=r.refs===W?r.refs={}:r.refs,h=r.setupState,S=$(h),E=h===W?mi:L=>cn(f,L)?!1:D(S,L),U=(L,Z)=>!(Z&&cn(f,Z));if(u!=null&&u!==a){if(dn(t),q(u))f[u]=null,E(u)&&(h[u]=null);else if(ae(u)){const L=t;U(u,L.k)&&(u.value=null),L.k&&(f[L.k]=null)}}if(R(a))rt(a,r,12,[l,f]);else{const L=q(a),Z=ae(a);if(L||Z){const J=()=>{if(e.f){const H=L?E(a)?h[a]:f[a]:U()||!e.k?a.value:f[e.k];if(n)A(H)&&Cs(H,o);else if(A(H))H.includes(o)||H.push(o);else if(L)f[a]=[o],E(a)&&(h[a]=f[a]);else{const V=[o];U(a,e.k)&&(a.value=V),e.k&&(f[e.k]=V)}}else L?(f[a]=l,E(a)&&(h[a]=l)):Z&&(U(a,e.k)&&(a.value=l),e.k&&(f[e.k]=l))};if(l){const H=()=>{J(),rs.delete(e)};H.id=-1,rs.set(e,H),pe(H,s)}else dn(e),J()}}}function dn(e){const t=rs.get(e);t&&(t.flags|=8,rs.delete(e))}qt().requestIdleCallback,qt().cancelIdleCallback;const dt=e=>!!e.type.__asyncLoader,Zs=e=>e.type.__isKeepAlive;function _l(e,t){fn(e,"a",t)}function wl(e,t){fn(e,"da",t)}function fn(e,t,s=ce){const i=e.__wdc||(e.__wdc=()=>{let n=s;for(;n;){if(n.isDeactivated)return;n=n.parent}return e()});if(as(t,i,s),s){let n=s.parent;for(;n&&n.parent;)Zs(n.parent.vnode)&&Sl(i,t,s,n),n=n.parent}}function Sl(e,t,s,i){const n=as(t,e,i,!0);pn(()=>{Cs(i[t],n)},s)}function as(e,t,s=ce,i=!1){if(s){const n=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...l)=>{Se();const r=Pt(s),a=ye(t,s,e,l);return r(),Ee(),a});return i?n.unshift(o):n.push(o),o}}const Ue=e=>(t,s=ce)=>{(!Lt||e==="sp")&&as(e,(...i)=>t(...i),s)},El=Ue("bm"),un=Ue("m"),Tl=Ue("bu"),Cl=Ue("u"),kl=Ue("bum"),pn=Ue("um"),Ol=Ue("sp"),Al=Ue("rtg"),Ml=Ue("rtc");function Rl(e,t=ce){as("ec",e,t)}const Pl="components";function Ll(e,t){return Nl(Pl,e,!0,t)||e}const Il=Symbol.for("v-ndc");function Nl(e,t,s=!0,i=!1){const n=ne||ce;if(n){const o=n.type;{const r=Jn(o,!1);if(r&&(r===t||r===se(t)||r===Gt(se(t))))return o}const l=hn(n[e]||o[e],t)||hn(n.appContext[e],t);return!l&&i?o:l}}function hn(e,t){return e&&(e[t]||e[se(t)]||e[Gt(se(t))])}function ft(e,t,s,i){let n;const o=s,l=A(e);if(l||q(e)){const r=l&&Xe(e);let a=!1,u=!1;r&&(a=!xe(e),u=Ge(e),e=Yt(e)),n=new Array(e.length);for(let f=0,h=e.length;f<h;f++)n[f]=t(a?u?lt($e(e[f])):$e(e[f]):e[f],f,void 0,o)}else if(typeof e=="number"){n=new Array(e);for(let r=0;r<e;r++)n[r]=t(r+1,r,void 0,o)}else if(j(e))if(e[Symbol.iterator])n=Array.from(e,(r,a)=>t(r,a,void 0,o));else{const r=Object.keys(e);n=new Array(r.length);for(let a=0,u=r.length;a<u;a++){const f=r[a];n[a]=t(e[f],f,a,o)}}else n=[];return n}function cs(e,t,s,i,n,o){if(s==null&&(s={}),ne.ce||ne.parent&&dt(ne.parent)&&ne.parent.ce){const u=o!=null&&s.key==null?X({},s,{key:o}):s,f=Object.keys(u).length>0;return t!=="default"&&(u.name=t),P(),ps(ee,null,[_e("slot",u,i)],f?-2:64)}let l=e[t];l&&l._c&&(l._d=!1);const r=Ve.length;P();let a;try{const u=l&&gn(l(s)),f=s.key||o||u&&u.key;a=ps(ee,{key:(f&&!be(f)?f:`_${t}`)+(!u&&i?"_fb":"")},u||(i?i():[]),u&&e._===1?64:-2)}catch(u){for(let f=Ve.length;f>r;f--)ai();throw u}finally{l&&l._c&&(l._d=!0)}return a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),a}function gn(e){return e.some(t=>ci(t)?!(t.type===ke||t.type===ee&&!gn(t.children)):!0)?e:null}const Qs=e=>e?Kn(e)?bs(e):Qs(e.parent):null,kt=X(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Qs(e.parent),$root:e=>Qs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>xn(e),$forceUpdate:e=>e.f||(e.f=()=>{Ks(e.update)}),$nextTick:e=>e.n||(e.n=Zi.bind(e.proxy)),$watch:e=>ml.bind(e)}),ei=(e,t)=>e!==W&&!e.__isScriptSetup&&D(e,t),Hl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:i,data:n,props:o,accessCache:l,type:r,appContext:a}=e;if(t[0]!=="$"){const S=l[t];if(S!==void 0)switch(S){case 1:return i[t];case 2:return n[t];case 4:return s[t];case 3:return o[t]}else{if(ei(i,t))return l[t]=1,i[t];if(n!==W&&D(n,t))return l[t]=2,n[t];if(D(o,t))return l[t]=3,o[t];if(s!==W&&D(s,t))return l[t]=4,s[t];ti&&(l[t]=0)}}const u=kt[t];let f,h;if(u)return t==="$attrs"&&re(e.attrs,"get",""),u(e);if((f=r.__cssModules)&&(f=f[t]))return f;if(s!==W&&D(s,t))return l[t]=4,s[t];if(h=a.config.globalProperties,D(h,t))return h[t]},set({_:e},t,s){const{data:i,setupState:n,ctx:o}=e;return ei(n,t)?(n[t]=s,!0):i!==W&&D(i,t)?(i[t]=s,!0):D(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:i,appContext:n,props:o,type:l}},r){let a;return!!(s[r]||e!==W&&r[0]!=="$"&&D(e,r)||ei(t,r)||D(o,r)||D(i,r)||D(kt,r)||D(n.config.globalProperties,r)||(a=l.__cssModules)&&a[r])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:D(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function vn(e){return A(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let ti=!0;function Dl(e){const t=xn(e),s=e.proxy,i=e.ctx;ti=!1,t.beforeCreate&&bn(t.beforeCreate,e,"bc");const{data:n,computed:o,methods:l,watch:r,provide:a,inject:u,created:f,beforeMount:h,mounted:S,beforeUpdate:E,updated:U,activated:L,deactivated:Z,beforeDestroy:J,beforeUnmount:H,destroyed:V,unmounted:O,render:te,renderTracked:Me,renderTriggered:Re,errorCaptured:Je,serverPrefetch:ys,expose:tt,inheritAttrs:Ft,components:_s,directives:ws,filters:vi}=t;if(u&&Fl(u,i,null),l)for(const Y in l){const G=l[Y];R(G)&&(i[Y]=G.bind(s))}if(n){const Y=n.call(s,s);j(Y)&&(e.data=Vs(Y))}if(ti=!0,o)for(const Y in o){const G=o[Y],st=R(G)?G.bind(s,s):R(G.get)?G.get.bind(s,s):we,Ss=!R(G)&&R(G.set)?G.set.bind(s):we,it=_r({get:st,set:Ss});Object.defineProperty(i,Y,{enumerable:!0,configurable:!0,get:()=>it.value,set:Pe=>it.value=Pe})}if(r)for(const Y in r)mn(r[Y],i,s,Y);if(a){const Y=R(a)?a.call(s):a;Reflect.ownKeys(Y).forEach(G=>{gl(G,Y[G])})}f&&bn(f,e,"c");function ue(Y,G){A(G)?G.forEach(st=>Y(st.bind(s))):G&&Y(G.bind(s))}if(ue(El,h),ue(un,S),ue(Tl,E),ue(Cl,U),ue(_l,L),ue(wl,Z),ue(Rl,Je),ue(Ml,Me),ue(Al,Re),ue(kl,H),ue(pn,O),ue(Ol,ys),A(tt))if(tt.length){const Y=e.exposed||(e.exposed={});tt.forEach(G=>{Object.defineProperty(Y,G,{get:()=>s[G],set:st=>s[G]=st,enumerable:!0})})}else e.exposed||(e.exposed={});te&&e.render===we&&(e.render=te),Ft!=null&&(e.inheritAttrs=Ft),_s&&(e.components=_s),ws&&(e.directives=ws),ys&&an(e)}function Fl(e,t,s=we){A(e)&&(e=si(e));for(const i in e){const n=e[i];let o;j(n)?"default"in n?o=Tt(n.from||i,n.default,!0):o=Tt(n.from||i):o=Tt(n),ae(o)?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[i]=o}}function bn(e,t,s){ye(A(e)?e.map(i=>i.bind(t.proxy)):e.bind(t.proxy),t,s)}function mn(e,t,s,i){let n=i.includes(".")?ln(s,i):()=>s[i];if(q(e)){const o=t[e];R(o)&&qs(n,o)}else if(R(e))qs(n,e.bind(s));else if(j(e))if(A(e))e.forEach(o=>mn(o,t,s,i));else{const o=R(e.handler)?e.handler.bind(s):t[e.handler];R(o)&&qs(n,o,e)}}function xn(e){const t=e.type,{mixins:s,extends:i}=t,{mixins:n,optionsCache:o,config:{optionMergeStrategies:l}}=e.appContext,r=o.get(t);let a;return r?a=r:!n.length&&!s&&!i?a=t:(a={},n.length&&n.forEach(u=>ds(a,u,l,!0)),ds(a,t,l)),j(t)&&o.set(t,a),a}function ds(e,t,s,i=!1){const{mixins:n,extends:o}=t;o&&ds(e,o,s,!0),n&&n.forEach(l=>ds(e,l,s,!0));for(const l in t)if(!(i&&l==="expose")){const r=$l[l]||s&&s[l];e[l]=r?r(e[l],t[l]):t[l]}return e}const $l={data:yn,props:_n,emits:_n,methods:Ot,computed:Ot,beforeCreate:fe,created:fe,beforeMount:fe,mounted:fe,beforeUpdate:fe,updated:fe,beforeDestroy:fe,beforeUnmount:fe,destroyed:fe,unmounted:fe,activated:fe,deactivated:fe,errorCaptured:fe,serverPrefetch:fe,components:Ot,directives:Ot,watch:Ul,provide:yn,inject:jl};function yn(e,t){return t?e?function(){return X(R(e)?e.call(this,this):e,R(t)?t.call(this,this):t)}:t:e}function jl(e,t){return Ot(si(e),si(t))}function si(e){if(A(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function fe(e,t){return e?[...new Set([].concat(e,t))]:t}function Ot(e,t){return e?X(Object.create(null),e,t):t}function _n(e,t){return e?A(e)&&A(t)?[...new Set([...e,...t])]:X(Object.create(null),vn(e),vn(t??{})):t}function Ul(e,t){if(!e)return t;if(!t)return e;const s=X(Object.create(null),e);for(const i in t)s[i]=fe(e[i],t[i]);return s}function wn(){return{app:null,config:{isNativeTag:mi,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Vl=0;function Bl(e,t){return function(i,n=null){R(i)||(i=X({},i)),n!=null&&!j(n)&&(n=null);const o=wn(),l=new WeakSet,r=[];let a=!1;const u=o.app={_uid:Vl++,_component:i,_props:n,_container:null,_context:o,_instance:null,version:wr,get config(){return o.config},set config(f){},use(f,...h){return l.has(f)||(f&&R(f.install)?(l.add(f),f.install(u,...h)):R(f)&&(l.add(f),f(u,...h))),u},mixin(f){return o.mixins.includes(f)||o.mixins.push(f),u},component(f,h){return h?(o.components[f]=h,u):o.components[f]},directive(f,h){return h?(o.directives[f]=h,u):o.directives[f]},mount(f,h,S){if(!a){const E=u._ceVNode||_e(i,n);return E.appContext=o,S===!0?S="svg":S===!1&&(S=void 0),e(E,f,S),a=!0,u._container=f,f.__vue_app__=u,bs(E.component)}},onUnmount(f){r.push(f)},unmount(){a&&(ye(r,u._instance,16),e(null,u._container),delete u._container.__vue_app__)},provide(f,h){return o.provides[f]=h,u},runWithContext(f){const h=ut;ut=u;try{return f()}finally{ut=h}}};return u}}let ut=null;const Wl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${se(t)}Modifiers`]||e[`${ve(t)}Modifiers`];function zl(e,t,...s){if(e.isUnmounted)return;const i=e.vnode.props||W;let n=s;const o=t.startsWith("update:"),l=o&&Wl(i,t.slice(7));l&&(l.trim&&(n=s.map(f=>q(f)?f.trim():f)),l.number&&(n=n.map(Ao)));let r,a=i[r=Os(t)]||i[r=Os(se(t))];!a&&o&&(a=i[r=Os(ve(t))]),a&&ye(a,e,6,n);const u=i[r+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,ye(u,e,6,n)}}const Kl=new WeakMap;function Sn(e,t,s=!1){const i=s?Kl:t.emitsCache,n=i.get(e);if(n!==void 0)return n;const o=e.emits;let l={},r=!1;if(!R(e)){const a=u=>{const f=Sn(u,t,!0);f&&(r=!0,X(l,f))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!r?(j(e)&&i.set(e,null),null):(A(o)?o.forEach(a=>l[a]=null):X(l,o),j(e)&&i.set(e,l),l)}function fs(e,t){return!e||!Vt(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),D(e,t[0].toLowerCase()+t.slice(1))||D(e,ve(t))||D(e,t))}function Dc(){}function En(e){const{type:t,vnode:s,proxy:i,withProxy:n,propsOptions:[o],slots:l,attrs:r,emit:a,render:u,renderCache:f,props:h,data:S,setupState:E,ctx:U,inheritAttrs:L}=e,Z=os(e);let J,H;try{if(s.shapeFlag&4){const O=n||i,te=O;J=Oe(u.call(te,O,f,h,E,S,U)),H=r}else{const O=t;J=Oe(O.length>1?O(h,{attrs:r,slots:l,emit:a}):O(h,null)),H=t.props?r:Gl(r)}}catch(O){Ve.length=0,is(O,e,1),J=_e(ke)}let V=J;if(H&&L!==!1){const O=Object.keys(H),{shapeFlag:te}=V;O.length&&te&7&&(o&&O.some(Bt)&&(H=ql(H,o)),V=pt(V,H,!1,!0))}if(s.dirs&&(V=pt(V,null,!1,!0),V.dirs=V.dirs?V.dirs.concat(s.dirs):s.dirs),s.transition){const O=ls(V.type)&&rn(V)||V;Ys(O,s.transition)}return J=V,os(Z),J}const Gl=e=>{let t;for(const s in e)(s==="class"||s==="style"||Vt(s))&&((t||(t={}))[s]=e[s]);return t},ql=(e,t)=>{const s={};for(const i in e)(!Bt(i)||!(i.slice(9)in t))&&(s[i]=e[i]);return s};function Jl(e,t,s){const{props:i,children:n,component:o}=e,{props:l,children:r,patchFlag:a}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return i?Tn(i,l,u):!!l;if(a&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const S=f[h];if(Cn(l,i,S)&&!fs(u,S))return!0}}}else return(n||r)&&(!r||!r.$stable)?!0:i===l?!1:i?l?Tn(i,l,u):!0:!!l;return!1}function Tn(e,t,s){const i=Object.keys(t);if(i.length!==Object.keys(e).length)return!0;for(let n=0;n<i.length;n++){const o=i[n];if(Cn(t,e,o)&&!fs(s,o))return!0}return!1}function Cn(e,t,s){const i=e[s],n=t[s];return s==="style"&&j(i)&&j(n)?!Jt(i,n):i!==n}function Yl({vnode:e,parent:t,suspense:s},i){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=i,e=n),n===e)(e=t.vnode).el=i,t=t.parent;else break}s&&s.activeBranch===e&&(s.vnode.el=i)}const kn={},On=()=>Object.create(kn),An=e=>Object.getPrototypeOf(e)===kn;function Xl(e,t,s,i=!1){const n={},o=On();e.propsDefaults=Object.create(null),Mn(e,t,n,o);for(const l in e.propsOptions[0])l in n||(n[l]=void 0);s?e.props=i?n:tl(n):e.type.props?e.props=n:e.props=o,e.attrs=o}function Zl(e,t,s,i){const{props:n,attrs:o,vnode:{patchFlag:l}}=e,r=$(n),[a]=e.propsOptions;let u=!1;if((i||l>0)&&!(l&16)){if(l&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let S=f[h];if(fs(e.emitsOptions,S))continue;const E=t[S];if(a)if(D(o,S))E!==o[S]&&(o[S]=E,u=!0);else{const U=se(S);n[U]=ii(a,r,U,E,e,!1)}else E!==o[S]&&(o[S]=E,u=!0)}}}else{Mn(e,t,n,o)&&(u=!0);let f;for(const h in r)(!t||!D(t,h)&&((f=ve(h))===h||!D(t,f)))&&(a?s&&(s[h]!==void 0||s[f]!==void 0)&&(n[h]=ii(a,r,h,void 0,e,!0)):delete n[h]);if(o!==r)for(const h in o)(!t||!D(t,h))&&(delete o[h],u=!0)}u&&De(e.attrs,"set","")}function Mn(e,t,s,i){const[n,o]=e.propsOptions;let l=!1,r;if(t)for(let a in t){if(vt(a))continue;const u=t[a];let f;n&&D(n,f=se(a))?!o||!o.includes(f)?s[f]=u:(r||(r={}))[f]=u:fs(e.emitsOptions,a)||(!(a in i)||u!==i[a])&&(i[a]=u,l=!0)}if(o){const a=$(s),u=r||W;for(let f=0;f<o.length;f++){const h=o[f];s[h]=ii(n,a,h,u[h],e,!D(u,h))}}return l}function ii(e,t,s,i,n,o){const l=e[s];if(l!=null){const r=D(l,"default");if(r&&i===void 0){const a=l.default;if(l.type!==Function&&!l.skipFactory&&R(a)){const{propsDefaults:u}=n;if(s in u)i=u[s];else{const f=Pt(n);i=u[s]=a.call(null,t),f()}}else i=a;n.ce&&n.ce._setProp(s,i)}l[0]&&(o&&!r?i=!1:l[1]&&(i===""||i===ve(s))&&(i=!0))}return i}const Ql=new WeakMap;function Rn(e,t,s=!1){const i=s?Ql:t.propsCache,n=i.get(e);if(n)return n;const o=e.props,l={},r=[];let a=!1;if(!R(e)){const f=h=>{a=!0;const[S,E]=Rn(h,t,!0);X(l,S),E&&r.push(...E)};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!a)return j(e)&&i.set(e,nt),nt;if(A(o))for(let f=0;f<o.length;f++){const h=se(o[f]);Pn(h)&&(l[h]=W)}else if(o)for(const f in o){const h=se(f);if(Pn(h)){const S=o[f],E=l[h]=A(S)||R(S)?{type:S}:X({},S),U=E.type;let L=!1,Z=!0;if(A(U))for(let J=0;J<U.length;++J){const H=U[J],V=R(H)&&H.name;if(V==="Boolean"){L=!0;break}else V==="String"&&(Z=!1)}else L=R(U)&&U.name==="Boolean";E[0]=L,E[1]=Z,(L||D(E,"default"))&&r.push(h)}}const u=[l,r];return j(e)&&i.set(e,u),u}function Pn(e){return e[0]!=="$"&&!vt(e)}const ni=e=>e==="_"||e==="_ctx"||e==="$stable",oi=e=>A(e)?e.map(Oe):[Oe(e)],er=(e,t,s)=>{if(t._n)return t;const i=Et((...n)=>oi(t(...n)),s);return i._c=!1,i},Ln=(e,t,s)=>{const i=e._ctx;for(const n in e){if(ni(n))continue;const o=e[n];if(R(o))t[n]=er(n,o,i);else if(o!=null){const l=oi(o);t[n]=()=>l}}},In=(e,t)=>{const s=oi(t);e.slots.default=()=>s},Nn=(e,t,s)=>{for(const i in t)(s||!ni(i))&&(e[i]=t[i])},tr=(e,t,s)=>{const i=e.slots=On();if(e.vnode.shapeFlag&32){const n=t._;n?(Nn(i,t,s),s&&wi(i,"_",n,!0)):Ln(t,i)}else t&&In(e,t)},sr=(e,t,s)=>{const{vnode:i,slots:n}=e;let o=!0,l=W;if(i.shapeFlag&32){const r=t._;r?s&&r===1?o=!1:Nn(n,t,s):(o=!t.$stable,Ln(t,n)),l=t}else t&&(In(e,t),l={default:1});if(o)for(const r in n)!ni(r)&&l[r]==null&&delete n[r]},pe=rr;function ir(e){return nr(e)}function nr(e,t){const s=qt();s.__VUE__=!0;const{insert:i,remove:n,patchProp:o,createElement:l,createText:r,createComment:a,setText:u,setElementText:f,parentNode:h,nextSibling:S,setScopeId:E=we,insertStaticContent:U}=e,L=(c,d,p,m=null,b=null,g=null,_=void 0,y=null,x=!!d.dynamicChildren)=>{if(c===d)return;c&&!Mt(c,d)&&(m=Es(c),Pe(c,b,g,!0),c=null),d.patchFlag===-2&&(x=!1,d.dynamicChildren=null);const{type:v,ref:k,shapeFlag:w}=d;switch(v){case us:Z(c,d,p,m);break;case ke:J(c,d,p,m);break;case ri:c==null&&H(d,p,m,_);break;case ee:_s(c,d,p,m,b,g,_,y,x);break;default:w&1?te(c,d,p,m,b,g,_,y,x):w&6?ws(c,d,p,m,b,g,_,y,x):(w&64||w&128)&&v.process(c,d,p,m,b,g,_,y,x,jt)}k!=null&&b?Ct(k,c&&c.ref,g,d||c,!d):k==null&&c&&c.ref!=null&&Ct(c.ref,null,g,c,!0)},Z=(c,d,p,m)=>{if(c==null)i(d.el=r(d.children),p,m);else{const b=d.el=c.el;d.children!==c.children&&u(b,d.children)}},J=(c,d,p,m)=>{c==null?i(d.el=a(d.children||""),p,m):d.el=c.el},H=(c,d,p,m)=>{[c.el,c.anchor]=U(c.children,d,p,m,c.el,c.anchor)},V=({el:c,anchor:d},p,m)=>{let b;for(;c&&c!==d;)b=S(c),i(c,p,m),c=b;i(d,p,m)},O=({el:c,anchor:d})=>{let p;for(;c&&c!==d;)p=S(c),n(c),c=p;n(d)},te=(c,d,p,m,b,g,_,y,x)=>{if(d.type==="svg"?_="svg":d.type==="math"&&(_="mathml"),c==null)Me(d,p,m,b,g,_,y,x);else{const v=c.el&&c.el._isVueCE?c.el:null;try{v&&v._beginPatch(),ys(c,d,b,g,_,y,x)}finally{v&&v._endPatch()}}},Me=(c,d,p,m,b,g,_,y)=>{let x,v;const{props:k,shapeFlag:w,transition:T,dirs:M}=c;if(x=c.el=l(c.type,g,k&&k.is,k),w&8?f(x,c.children):w&16&&Je(c.children,x,null,m,b,li(c,g),_,y),M&&Qe(c,null,m,"created"),Re(x,c,c.scopeId,_,m),k){for(const z in k)z!=="value"&&!vt(z)&&o(x,z,null,k[z],g,m);"value"in k&&o(x,"value",null,k.value,g),(v=k.onVnodeBeforeMount)&&Ae(v,m,c)}M&&Qe(c,null,m,"beforeMount");const N=or(b,T);N&&T.beforeEnter(x),i(x,d,p),((v=k&&k.onVnodeMounted)||N||M)&&pe(()=>{try{v&&Ae(v,m,c),N&&T.enter(x),M&&Qe(c,null,m,"mounted")}finally{}},b)},Re=(c,d,p,m,b)=>{if(p&&E(c,p),m)for(let g=0;g<m.length;g++)E(c,m[g]);if(b){let g=b.subTree;if(d===g||jn(g.type)&&(g.ssContent===d||g.ssFallback===d)){const _=b.vnode;Re(c,_,_.scopeId,_.slotScopeIds,b.parent)}}},Je=(c,d,p,m,b,g,_,y,x=0)=>{for(let v=x;v<c.length;v++){const k=c[v]=y?Be(c[v]):Oe(c[v]);L(null,k,d,p,m,b,g,_,y)}},ys=(c,d,p,m,b,g,_)=>{const y=d.el=c.el;let{patchFlag:x,dynamicChildren:v,dirs:k}=d;x|=c.patchFlag&16;const w=c.props||W,T=d.props||W;let M;if(p&&et(p,!1),(M=T.onVnodeBeforeUpdate)&&Ae(M,p,d,c),k&&Qe(d,c,p,"beforeUpdate"),p&&et(p,!0),v&&(!c.dynamicChildren||c.dynamicChildren.length!==v.length)&&(x=0,_=!1,v=null),(w.innerHTML&&T.innerHTML==null||w.textContent&&T.textContent==null)&&f(y,""),v?tt(c.dynamicChildren,v,y,p,m,li(d,b),g):_||G(c,d,y,null,p,m,li(d,b),g,!1),x>0){if(x&16)Ft(y,w,T,p,b);else if(x&2&&w.class!==T.class&&o(y,"class",null,T.class,b),x&4&&o(y,"style",w.style,T.style,b),x&8){const N=d.dynamicProps;for(let z=0;z<N.length;z++){const B=N[z],Q=w[B],le=T[B];(le!==Q||B==="value")&&o(y,B,Q,le,b,p)}}x&1&&c.children!==d.children&&f(y,d.children)}else!_&&v==null&&Ft(y,w,T,p,b);((M=T.onVnodeUpdated)||k)&&pe(()=>{M&&Ae(M,p,d,c),k&&Qe(d,c,p,"updated")},m)},tt=(c,d,p,m,b,g,_)=>{for(let y=0;y<d.length;y++){const x=c[y],v=d[y],k=x.el&&(x.type===ee||!Mt(x,v)||x.shapeFlag&198)?h(x.el):p;L(x,v,k,null,m,b,g,_,!0)}},Ft=(c,d,p,m,b)=>{if(d!==p){if(d!==W)for(const g in d)!vt(g)&&!(g in p)&&o(c,g,d[g],null,b,m);for(const g in p){if(vt(g))continue;const _=p[g],y=d[g];_!==y&&g!=="value"&&o(c,g,y,_,b,m)}"value"in p&&o(c,"value",d.value,p.value,b)}},_s=(c,d,p,m,b,g,_,y,x)=>{const v=d.el=c?c.el:r(""),k=d.anchor=c?c.anchor:r("");let{patchFlag:w,dynamicChildren:T,slotScopeIds:M}=d;M&&(y=y?y.concat(M):M),c==null?(i(v,p,m),i(k,p,m),Je(d.children||[],p,k,b,g,_,y,x)):w>0&&w&64&&T&&c.dynamicChildren&&c.dynamicChildren.length===T.length?(tt(c.dynamicChildren,T,p,b,g,_,y),(d.key!=null||b&&d===b.subTree)&&Hn(c,d,!0)):G(c,d,p,k,b,g,_,y,x)},ws=(c,d,p,m,b,g,_,y,x)=>{d.slotScopeIds=y,c==null?d.shapeFlag&512?b.ctx.activate(d,p,m,_,x):vi(d,p,m,b,g,_,x):xo(c,d,x)},vi=(c,d,p,m,b,g,_)=>{const y=c.component=pr(c,m,b);if(Zs(c)&&(y.ctx.renderer=jt),hr(y,!1,_),y.asyncDep){if(b&&b.registerDep(y,ue,_),!c.el){const x=y.subTree=_e(ke);J(null,x,d,p),c.placeholder=x.el}}else ue(y,c,d,p,b,g,_)},xo=(c,d,p)=>{const m=d.component=c.component;if(Jl(c,d,p))if(m.asyncDep&&!m.asyncResolved){Y(m,d,p);return}else m.next=d,m.update();else d.el=c.el,m.vnode=d},ue=(c,d,p,m,b,g,_)=>{const y=()=>{if(c.isMounted){let{next:w,bu:T,u:M,parent:N,vnode:z}=c;{const Ie=Dn(c);if(Ie){w&&(w.el=z.el,Y(c,w,_)),Ie.asyncDep.then(()=>{pe(()=>{c.isUnmounted||v()},b)});return}}let B=w,Q;et(c,!1),w?(w.el=z.el,Y(c,w,_)):w=z,T&&As(T),(Q=w.props&&w.props.onVnodeBeforeUpdate)&&Ae(Q,N,w,z),et(c,!0);const le=En(c),Le=c.subTree;c.subTree=le,L(Le,le,h(Le.el),Es(Le),c,b,g),w.el=le.el,B===null&&Yl(c,le.el),M&&pe(M,b),(Q=w.props&&w.props.onVnodeUpdated)&&pe(()=>Ae(Q,N,w,z),b)}else{let w;const{el:T,props:M}=d,{bm:N,m:z,parent:B,root:Q,type:le}=c,Le=dt(d);et(c,!1),N&&As(N),!Le&&(w=M&&M.onVnodeBeforeMount)&&Ae(w,B,d),et(c,!0);{Q.ce&&Q.ce._hasShadowRoot()&&Q.ce._injectChildStyle(le,c.parent?c.parent.type:void 0);const Ie=c.subTree=En(c);L(null,Ie,p,m,c,b,g),d.el=Ie.el}if(z&&pe(z,b),!Le&&(w=M&&M.onVnodeMounted)){const Ie=d;pe(()=>Ae(w,B,Ie),b)}(d.shapeFlag&256||B&&dt(B.vnode)&&B.vnode.shapeFlag&256)&&c.a&&pe(c.a,b),c.isMounted=!0,d=p=m=null}};c.scope.on();const x=c.effect=new Ai(y);c.scope.off();const v=c.update=x.run.bind(x),k=c.job=x.runIfDirty.bind(x);k.i=c,k.id=c.uid,x.scheduler=()=>Ks(k),et(c,!0),v()},Y=(c,d,p)=>{d.component=c;const m=c.vnode.props;c.vnode=d,c.next=null,Zl(c,d.props,m,p),sr(c,d.children,p),Se(),en(c),Ee()},G=(c,d,p,m,b,g,_,y,x=!1)=>{const v=c&&c.children,k=c?c.shapeFlag:0,w=d.children,{patchFlag:T,shapeFlag:M}=d;if(T>0){if(T&128){Ss(v,w,p,m,b,g,_,y,x);return}else if(T&256){st(v,w,p,m,b,g,_,y,x);return}}M&8?(k&16&&$t(v,b,g),w!==v&&f(p,w)):k&16?M&16?Ss(v,w,p,m,b,g,_,y,x):$t(v,b,g,!0):(k&8&&f(p,""),M&16&&Je(w,p,m,b,g,_,y,x))},st=(c,d,p,m,b,g,_,y,x)=>{c=c||nt,d=d||nt;const v=c.length,k=d.length,w=Math.min(v,k);let T;for(T=0;T<w;T++){const M=d[T]=x?Be(d[T]):Oe(d[T]);L(c[T],M,p,null,b,g,_,y,x)}v>k?$t(c,b,g,!0,!1,w):Je(d,p,m,b,g,_,y,x,w)},Ss=(c,d,p,m,b,g,_,y,x)=>{let v=0;const k=d.length;let w=c.length-1,T=k-1;for(;v<=w&&v<=T;){const M=c[v],N=d[v]=x?Be(d[v]):Oe(d[v]);if(Mt(M,N))L(M,N,p,null,b,g,_,y,x);else break;v++}for(;v<=w&&v<=T;){const M=c[w],N=d[T]=x?Be(d[T]):Oe(d[T]);if(Mt(M,N))L(M,N,p,null,b,g,_,y,x);else break;w--,T--}if(v>w){if(v<=T){const M=T+1,N=M<k?d[M].el:m;for(;v<=T;)L(null,d[v]=x?Be(d[v]):Oe(d[v]),p,N,b,g,_,y,x),v++}}else if(v>T)for(;v<=w;)Pe(c[v],b,g,!0),v++;else{const M=v,N=v,z=new Map;for(v=N;v<=T;v++){const ge=d[v]=x?Be(d[v]):Oe(d[v]);ge.key!=null&&z.set(ge.key,v)}let B,Q=0;const le=T-N+1;let Le=!1,Ie=0;const Ut=new Array(le);for(v=0;v<le;v++)Ut[v]=0;for(v=M;v<=w;v++){const ge=c[v];if(Q>=le){Pe(ge,b,g,!0);continue}let Ne;if(ge.key!=null)Ne=z.get(ge.key);else for(B=N;B<=T;B++)if(Ut[B-N]===0&&Mt(ge,d[B])){Ne=B;break}Ne===void 0?Pe(ge,b,g,!0):(Ut[Ne-N]=v+1,Ne>=Ie?Ie=Ne:Le=!0,L(ge,d[Ne],p,null,b,g,_,y,x),Q++)}const wo=Le?lr(Ut):nt;for(B=wo.length-1,v=le-1;v>=0;v--){const ge=N+v,Ne=d[ge],So=d[ge+1],Eo=ge+1<k?So.el||$n(So):m;Ut[v]===0?L(null,Ne,p,Eo,b,g,_,y,x):Le&&(B<0||v!==wo[B]?it(Ne,p,Eo,2):B--)}}},it=(c,d,p,m,b=null)=>{const{el:g,type:_,transition:y,children:x,shapeFlag:v}=c;if(v&6){it(c.component.subTree,d,p,m);return}if(v&128){c.suspense.move(d,p,m);return}if(v&64){_.move(c,d,p,jt);return}if(_===ee){i(g,d,p);for(let w=0;w<x.length;w++)it(x[w],d,p,m);i(c.anchor,d,p);return}if(_===ri){V(c,d,p);return}if(m!==2&&v&1&&y)if(m===0)y.persisted&&!g[Js]?i(g,d,p):(y.beforeEnter(g),i(g,d,p),pe(()=>y.enter(g),b));else{const{leave:w,delayLeave:T,afterLeave:M}=y,N=()=>{c.ctx.isUnmounted?n(g):i(g,d,p)},z=()=>{const B=g._isLeaving||!!g[Js];g._isLeaving&&g[Js](!0),y.persisted&&!B?N():w(g,()=>{N(),M&&M()})};T?T(g,N,z):z()}else i(g,d,p)},Pe=(c,d,p,m=!1,b=!1)=>{const{type:g,props:_,ref:y,children:x,dynamicChildren:v,shapeFlag:k,patchFlag:w,dirs:T,cacheIndex:M,memo:N}=c;if(w===-2&&(b=!1),y!=null&&(Se(),Ct(y,null,p,c,!0),Ee()),M!=null&&(d.renderCache[M]=void 0),k&256){d.ctx.deactivate(c);return}const z=k&1&&T,B=!dt(c);let Q;if(B&&(Q=_&&_.onVnodeBeforeUnmount)&&Ae(Q,d,c),k&6)Lc(c.component,p,m);else{if(k&128){c.suspense.unmount(p,m);return}z&&Qe(c,null,d,"beforeUnmount"),k&64?c.type.remove(c,d,p,jt,m):v&&!v.hasOnce&&(g!==ee||w>0&&w&64)?$t(v,d,p,!1,!0):(g===ee&&w&384||!b&&k&16)&&$t(x,d,p),m&&yo(c)}const le=N!=null&&M==null;(B&&(Q=_&&_.onVnodeUnmounted)||z||le)&&pe(()=>{Q&&Ae(Q,d,c),z&&Qe(c,null,d,"unmounted"),le&&(c.el=null)},p)},yo=c=>{const{type:d,el:p,anchor:m,transition:b}=c;if(d===ee){Pc(p,m);return}if(d===ri){O(c);return}const g=()=>{n(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(c.shapeFlag&1&&b&&!b.persisted){const{leave:_,delayLeave:y}=b,x=()=>_(p,g);y?y(c.el,g,x):x()}else g()},Pc=(c,d)=>{let p;for(;c!==d;)p=S(c),n(c),c=p;n(d)},Lc=(c,d,p)=>{const{bum:m,scope:b,job:g,subTree:_,um:y,m:x,a:v}=c;Fn(x),Fn(v),m&&As(m),b.stop(),g&&(g.flags|=8,Pe(_,c,d,p)),y&&pe(y,d),pe(()=>{c.isUnmounted=!0},d)},$t=(c,d,p,m=!1,b=!1,g=0)=>{for(let _=g;_<c.length;_++)Pe(c[_],d,p,m,b)},Es=c=>{if(c.shapeFlag&6)return Es(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const d=S(c.anchor||c.el),p=d&&d[xl];return p?S(p):d};let bi=!1;const _o=(c,d,p)=>{let m;c==null?d._vnode&&(Pe(d._vnode,null,null,!0),m=d._vnode.component):L(d._vnode||null,c,d,null,null,null,p),d._vnode=c,bi||(bi=!0,en(m),tn(),bi=!1)},jt={p:L,um:Pe,m:it,r:yo,mt:vi,mc:Je,pc:G,pbc:tt,n:Es,o:e};return{render:_o,hydrate:void 0,createApp:Bl(_o)}}function li({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function et({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function or(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Hn(e,t,s=!1){const i=e.children,n=t.children;if(A(i)&&A(n))for(let o=0;o<i.length;o++){const l=i[o];let r=n[o];r.shapeFlag&1&&!r.dynamicChildren&&((r.patchFlag<=0||r.patchFlag===32)&&(r=n[o]=Be(n[o]),r.el=l.el),!s&&r.patchFlag!==-2&&Hn(l,r)),r.type===us&&(r.patchFlag===-1&&(r=n[o]=Be(r)),r.el=l.el),r.type===ke&&!r.el&&(r.el=l.el)}}function lr(e){const t=e.slice(),s=[0];let i,n,o,l,r;const a=e.length;for(i=0;i<a;i++){const u=e[i];if(u!==0){if(n=s[s.length-1],e[n]<u){t[i]=n,s.push(i);continue}for(o=0,l=s.length-1;o<l;)r=o+l>>1,e[s[r]]<u?o=r+1:l=r;u<e[s[o]]&&(o>0&&(t[i]=s[o-1]),s[o]=i)}}for(o=s.length,l=s[o-1];o-- >0;)s[o]=l,l=t[l];return s}function Dn(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Dn(t)}function Fn(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function $n(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?$n(t.subTree):null}const jn=e=>e.__isSuspense;function rr(e,t){t&&t.pendingBranch?A(e)?t.effects.push(...e):t.effects.push(e):hl(e)}const ee=Symbol.for("v-fgt"),us=Symbol.for("v-txt"),ke=Symbol.for("v-cmt"),ri=Symbol.for("v-stc"),Ve=[];let he=null;function P(e=!1){Ve.push(he=e?null:[])}function ai(){Ve.pop(),he=Ve[Ve.length-1]||null}let At=1;function Un(e,t=!1){At+=e,e<0&&he&&t&&(he.hasOnce=!0)}function Vn(e){return e.dynamicChildren=At>0?he||nt:null,ai(),At>0&&he&&he.push(e),e}function I(e,t,s,i,n,o){return Vn(C(e,t,s,i,n,o,!0))}function ps(e,t,s,i,n){return Vn(_e(e,t,s,i,n,!0))}function ci(e){return e?e.__v_isVNode===!0:!1}function Mt(e,t){return e.type===t.type&&e.key===t.key}const Bn=({key:e})=>e??null,hs=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?q(e)||ae(e)||R(e)?{i:ne,r:e,k:t,f:!!s}:e:null);function C(e,t=null,s=null,i=0,n=null,o=e===ee?0:1,l=!1,r=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Bn(t),ref:t&&hs(t),scopeId:nn,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:i,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:ne};return r?(gs(a,s),o&128&&e.normalize(a)):s&&(a.shapeFlag|=q(s)?8:16),At>0&&!l&&he&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&he.push(a),a}const _e=ar;function ar(e,t=null,s=null,i=0,n=null,o=!1){if((!e||e===Il)&&(e=ke),ci(e)){const r=pt(e,t,!0);return s&&gs(r,s),At>0&&!o&&he&&(r.shapeFlag&6?he[he.indexOf(e)]=r:he.push(r)),r.patchFlag=-2,r}if(yr(e)&&(e=e.__vccOpts),t){t=cr(t);let{class:r,style:a}=t;r&&!q(r)&&(t.class=Ke(r)),j(a)&&(Ws(a)&&!A(a)&&(a=X({},a)),t.style=Ms(a))}const l=q(e)?1:jn(e)?128:ls(e)?64:j(e)?4:R(e)?2:0;return C(e,t,s,i,n,l,o,!0)}function cr(e){return e?Ws(e)||An(e)?X({},e):e:null}function pt(e,t,s=!1,i=!1){const{props:n,ref:o,patchFlag:l,children:r,transition:a}=e,u=t?dr(n||{},t):n,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Bn(u),ref:t&&t.ref?s&&o?A(o)?o.concat(hs(t)):[o,hs(t)]:hs(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ee?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&pt(e.ssContent),ssFallback:e.ssFallback&&pt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&i&&Ys(f,a.clone(f)),f}function ht(e=" ",t=0){return _e(us,null,e,t)}function oe(e="",t=!1){return t?(P(),ps(ke,null,e)):_e(ke,null,e)}function Oe(e){return e==null||typeof e=="boolean"?_e(ke):A(e)?_e(ee,null,e.slice()):ci(e)?Be(e):_e(us,null,String(e))}function Be(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:pt(e)}function gs(e,t){let s=0;const{shapeFlag:i}=e;if(t==null)t=null;else if(A(t))s=16;else if(typeof t=="object")if(i&65){const n=t.default;n&&(n._c&&(n._d=!1),gs(e,n()),n._c&&(n._d=!0));return}else{s=32;const n=t._;!n&&!An(t)?t._ctx=ne:n===3&&ne&&(ne.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(R(t)){if(i&65){gs(e,{default:t});return}t={default:t,_ctx:ne},s=32}else t=String(t),i&64?(s=16,t=[ht(t)]):s=8;e.children=t,e.shapeFlag|=s}function dr(...e){const t={};for(let s=0;s<e.length;s++){const i=e[s];for(const n in i)if(n==="class")t.class!==i.class&&(t.class=Ke([t.class,i.class]));else if(n==="style")t.style=Ms([t.style,i.style]);else if(Vt(n)){const o=t[n],l=i[n];l&&o!==l&&!(A(o)&&o.includes(l))?t[n]=o?[].concat(o,l):l:l==null&&o==null&&!Bt(n)&&(t[n]=l)}else n!==""&&(t[n]=i[n])}return t}function Ae(e,t,s,i=null){ye(e,t,7,[s,i])}const fr=wn();let ur=0;function pr(e,t,s){const i=e.type,n=(t?t.appContext:e.appContext)||fr,o={uid:ur++,vnode:e,type:i,parent:t,appContext:n,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ho(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(n.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Rn(i,n),emitsOptions:Sn(i,n),emit:null,emitted:null,propsDefaults:W,inheritAttrs:i.inheritAttrs,ctx:W,data:W,props:W,attrs:W,slots:W,refs:W,setupState:W,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=zl.bind(null,o),e.ce&&e.ce(o),o}let ce=null;const Wn=()=>ce||ne;let vs,Rt;{const e=qt(),t=(s,i)=>{let n;return(n=e[s])||(n=e[s]=[]),n.push(i),o=>{n.length>1?n.forEach(l=>l(o)):n[0](o)}};vs=t("__VUE_INSTANCE_SETTERS__",s=>ce=s),Rt=t("__VUE_SSR_SETTERS__",s=>Lt=s)}const Pt=e=>{const t=ce;return vs(e),e.scope.on(),()=>{e.scope.off(),vs(t)}},zn=()=>{ce&&ce.scope.off(),vs(null)};function Kn(e){return e.vnode.shapeFlag&4}let Lt=!1;function hr(e,t=!1,s=!1){t&&Rt(t);const{props:i,children:n}=e.vnode,o=Kn(e);Xl(e,i,o,t),tr(e,n,s||t);const l=o?gr(e,t):void 0;return t&&Rt(!1),l}function gr(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Hl);const{setup:i}=s;if(i){Se();const n=e.setupContext=i.length>1?br(e):null,o=Pt(e),l=rt(i,e,0,[e.props,n]),r=yi(l);if(Ee(),o(),(r||e.sp)&&!dt(e)&&an(e),r){if(l.then(zn,zn),t)return l.then(a=>{Rt(!0);try{Gn(e,a,t)}finally{Rt(!1)}}).catch(a=>{is(a,e,0)});e.asyncDep=l}else Gn(e,l)}else qn(e)}function Gn(e,t,s){R(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:j(t)&&(e.setupState=Ji(t)),qn(e)}function qn(e,t,s){const i=e.type;e.render||(e.render=i.render||we);{const n=Pt(e);Se();try{Dl(e)}finally{Ee(),n()}}}const vr={get(e,t){return re(e,"get",""),e[t]}};function br(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,vr),slots:e.slots,emit:e.emit,expose:t}}function bs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ji(sl(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in kt)return kt[s](e)},has(t,s){return s in t||s in kt}})):e.proxy}const mr=/(?:^|[-_])\w/g,xr=e=>e.replace(mr,t=>t.toUpperCase()).replace(/[-_]/g,"");function Jn(e,t=!0){return R(e)?e.displayName||e.name:e.name||t&&e.__name}function Yn(e,t,s=!1){let i=Jn(t);if(!i&&t.__file){const n=t.__file.match(/([^/\\]+)\.\w+$/);n&&(i=n[1])}if(!i&&e){const n=o=>{for(const l in o)if(o[l]===t)return l};i=n(e.components)||e.parent&&n(e.parent.type.components)||n(e.appContext.components)}return i?xr(i):s?"App":"Anonymous"}function yr(e){return R(e)&&"__vccOpts"in e}const _r=(e,t)=>ol(e,t,Lt),wr="3.5.42";/**
|
|
* @vue/runtime-dom v3.5.42
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/let di;const Xn=typeof window<"u"&&window.trustedTypes;if(Xn)try{di=Xn.createPolicy("vue",{createHTML:e=>e})}catch{}const Zn=di?e=>di.createHTML(e):e=>e,Sr="http://www.w3.org/2000/svg",Er="http://www.w3.org/1998/Math/MathML",We=typeof document<"u"?document:null,Qn=We&&We.createElement("template"),Tr={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,i)=>{const n=t==="svg"?We.createElementNS(Sr,e):t==="mathml"?We.createElementNS(Er,e):s?We.createElement(e,{is:s}):We.createElement(e);return e==="select"&&i&&i.multiple!=null&&n.setAttribute("multiple",i.multiple),n},createText:e=>We.createTextNode(e),createComment:e=>We.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>We.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,i,n,o){const l=s?s.previousSibling:t.lastChild;if(n&&(n===o||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),s),!(n===o||!(n=n.nextSibling)););else{Qn.innerHTML=Zn(i==="svg"?`<svg>${e}</svg>`:i==="mathml"?`<math>${e}</math>`:e);const r=Qn.content;if(i==="svg"||i==="mathml"){const a=r.firstChild;for(;a.firstChild;)r.appendChild(a.firstChild);r.removeChild(a)}t.insertBefore(r,s)}return[l?l.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Cr=Symbol("_vtc");function kr(e,t,s){const i=e[Cr];i&&(t=(t?[t,...i]:[...i]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const ms=Symbol("_vod"),eo=Symbol("_vsh"),fi={name:"show",beforeMount(e,{value:t},{transition:s}){e[ms]=e.style.display==="none"?"":e.style.display,s&&t?s.beforeEnter(e):It(e,t)},mounted(e,{value:t},{transition:s}){s&&t&&s.enter(e)},updated(e,{value:t,oldValue:s},{transition:i}){!t!=!s&&(i?t?(i.beforeEnter(e),It(e,!0),i.enter(e)):i.leave(e,()=>{It(e,!1)}):It(e,t))},beforeUnmount(e,{value:t}){It(e,t)}};function It(e,t){e.style.display=t?e[ms]:"none",e[eo]=!t}const Or=Symbol(""),Ar=/(?:^|;)\s*display\s*:/;function Mr(e,t,s){const i=e.style,n=q(s);let o=!1;if(s&&!n){if(t)if(q(t))for(const l of t.split(";")){const r=l.slice(0,l.indexOf(":")).trim();s[r]==null&&Nt(i,r,"")}else for(const l in t)s[l]==null&&Nt(i,l,"");for(const l in s){l==="display"&&(o=!0);const r=s[l];r!=null?Pr(e,l,!q(t)&&t?t[l]:void 0,r)||Nt(i,l,r):Nt(i,l,"")}}else if(n){if(t!==s){const l=i[Or];l&&(s+=";"+l),i.cssText=s,o=Ar.test(s)}}else t&&e.removeAttribute("style");ms in e&&(e[ms]=o?i.display:"",e[eo]&&(i.display="none"))}const xs=/\s*!important$/;function Nt(e,t,s){if(A(s))s.forEach(i=>Nt(e,t,i));else if(s==null&&(s=""),t.startsWith("--"))xs.test(s)?e.setProperty(t,s.replace(xs,""),"important"):e.setProperty(t,s);else{const i=Rr(e,t);xs.test(s)?e.setProperty(ve(i),s.replace(xs,""),"important"):e[i]=s}}const to=["Webkit","Moz","ms"],ui={};function Rr(e,t){const s=ui[t];if(s)return s;let i=se(t);if(i!=="filter"&&i in e)return ui[t]=i;i=Gt(i);for(let n=0;n<to.length;n++){const o=to[n]+i;if(o in e)return ui[t]=o}return t}function Pr(e,t,s,i){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&q(i)&&s===i}const so="http://www.w3.org/1999/xlink";function io(e,t,s,i,n,o=Io(t)){i&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(so,t.slice(6,t.length)):e.setAttributeNS(so,t,s):s==null||o&&!Ti(s)?e.removeAttribute(t):e.setAttribute(t,o?"":be(s)?String(s):s)}function no(e,t,s,i,n){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Zn(s):s);return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const r=o==="OPTION"?e.getAttribute("value")||"":e.value,a=s==null?e.type==="checkbox"?"on":"":String(s);(r!==a||!("_value"in e))&&(e.value=a),s==null&&e.removeAttribute(t),e._value=s;return}let l=!1;if(s===""||s==null){const r=typeof e[t];r==="boolean"?s=Ti(s):s==null&&r==="string"?(s="",l=!0):r==="number"&&(s=0,l=!0)}try{e[t]=s}catch{}l&&e.removeAttribute(n||t)}function Lr(e,t,s,i){e.addEventListener(t,s,i)}function Ir(e,t,s,i){e.removeEventListener(t,s,i)}const oo=Symbol("_vei");function Nr(e,t,s,i,n=null){const o=e[oo]||(e[oo]={}),l=o[t];if(i&&l)l.value=i;else{const[r,a]=Fr(t);if(i){const u=o[t]=Ur(i,n);Lr(e,r,u,a)}else l&&(Ir(e,r,l,a),o[t]=void 0)}}const Hr=/(Once|Passive|Capture)$/,Dr=/^on:?(?:Once|Passive|Capture)$/;function Fr(e){let t,s;for(;(s=e.match(Hr))&&!Dr.test(e);)t||(t={}),e=e.slice(0,e.length-s[1].length),t[s[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):ve(e.slice(2)),t]}let pi=0;const $r=Promise.resolve(),jr=()=>pi||($r.then(()=>pi=0),pi=Date.now());function Ur(e,t){const s=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=s.attached)return;const n=s.value;if(A(n)){const o=i.stopImmediatePropagation;i.stopImmediatePropagation=()=>{o.call(i),i._stopped=!0};const l=n.slice(),r=[i];for(let a=0;a<l.length&&!i._stopped;a++){const u=l[a];u&&ye(u,t,5,r)}}else ye(n,t,5,[i])};return s.value=e,s.attached=jr(),s}const lo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Vr=(e,t,s,i,n,o)=>{const l=n==="svg";t==="class"?kr(e,i,l):t==="style"?Mr(e,s,i):Vt(t)?Bt(t)||Nr(e,t,s,i,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Br(e,t,i,l))?(no(e,t,i),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&io(e,t,i,l,o,t!=="value")):e._isVueCE&&(Wr(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!q(i)))?no(e,se(t),i,o,t):(t==="true-value"?e._trueValue=i:t==="false-value"&&(e._falseValue=i),io(e,t,i,l))};function Br(e,t,s,i){if(i)return!!(t==="innerHTML"||t==="textContent"||t in e&&lo(t)&&R(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const n=e.tagName;if(n==="IMG"||n==="VIDEO"||n==="CANVAS"||n==="SOURCE")return!1}return lo(t)&&q(s)?!1:t in e}function Wr(e,t){const s=e._def.props;if(!s)return!1;const i=se(t);return Array.isArray(s)?s.some(n=>se(n)===i):Object.keys(s).some(n=>se(n)===i)}const ro={};function zr(e,t,s){let i=Xs(e,t);zt(i)&&(i=X({},i,t));class n extends hi{constructor(l){super(i,l,s)}}return n.def=i,n}const Kr=typeof HTMLElement<"u"?HTMLElement:class{};class hi extends Kr{constructor(t,s={},i=fo){super(),this._def=t,this._props=s,this._createApp=i,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&i!==fo?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(X({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof hi){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Zi(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const s of t)this._setAttr(s.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let i=0;i<this.attributes.length;i++)this._setAttr(this.attributes[i].name);this._ob=new MutationObserver(this._processMutations.bind(this)),this._ob.observe(this,{attributes:!0});const t=(i,n=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:o,styles:l}=i;let r;if(o&&!A(o))for(const a in o){const u=o[a];(u===Number||u&&u.type===Number)&&(a in this._props&&(this._props[a]=Si(this._props[a])),(r||(r=Object.create(null)))[se(a)]=!0)}this._numberProps=r,this._resolveProps(i),this.shadowRoot&&this._applyStyles(l),this._mount(i)},s=this._def.__asyncLoader;if(s)return this._pendingResolve=s().then(i=>{i.configureApp=this._def.configureApp,t(this._def=i,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const s=this._instance&&this._instance.exposed;if(s)for(const i in s)D(this,i)||Object.defineProperty(this,i,{get:()=>qi(s[i])})}_resolveProps(t){const{props:s}=t,i=A(s)?s:Object.keys(s||{});for(const n of Object.keys(this))n[0]!=="_"&&i.includes(n)&&this._setProp(n,this[n]);for(const n of i.map(se))Object.defineProperty(this,n,{get(){return this._getProp(n)},set(o){this._setProp(n,o,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const s=this.hasAttribute(t);let i=s?this.getAttribute(t):ro;const n=se(t);s&&this._numberProps&&this._numberProps[n]&&(i=Si(i)),this._setProp(n,i,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,s,i=!0,n=!1){if(s!==this._props[t]&&(this._dirty=!0,s===ro?delete this._props[t]:(this._props[t]=s,t==="key"&&this._app&&(this._app._ceVNode.key=s)),n&&this._instance&&this._update(),i)){const o=this._ob;o&&(this._processMutations(o.takeRecords()),o.disconnect()),s===!0?this.setAttribute(ve(t),""):typeof s=="string"||typeof s=="number"?this.setAttribute(ve(t),s+""):s||this.removeAttribute(ve(t)),o&&o.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),qr(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const s=_e(this._def,X(t,this._props));return this._instance||(s.ce=i=>{this._instance=i,i.ce=this,i.isCE=!0;const n=(o,l)=>{this.dispatchEvent(new CustomEvent(o,zt(l[0])?X({detail:l},l[0]):{detail:l}))};i.emit=(o,...l)=>{n(o,l),ve(o)!==o&&n(ve(o),l)},this._setParent()}),s}_applyStyles(t,s,i){if(!t)return;if(s){if(s===this._def||this._styleChildren.has(s))return;this._styleChildren.add(s)}const n=this._nonce,o=this.shadowRoot,l=i?this._getStyleAnchor(i)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(o);let r=null;for(let a=t.length-1;a>=0;a--){const u=document.createElement("style");n&&u.setAttribute("nonce",n),u.textContent=t[a],o.insertBefore(u,r||l),r=u,a===0&&(i||this._styleAnchors.set(this._def,u),s&&this._styleAnchors.set(s,u))}}_getStyleAnchor(t){if(!t)return null;const s=this._styleAnchors.get(t);return s&&s.parentNode===this.shadowRoot?s:(s&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let s=0;s<t.childNodes.length;s++){const i=t.childNodes[s];if(!(i instanceof HTMLStyleElement))return i}return null}_parseSlots(){const t=this._slots={};let s;for(;s=this.firstChild;){const i=s.nodeType===1&&s.getAttribute("slot")||"default";(t[i]||(t[i]=[])).push(s),this.removeChild(s)}}_renderSlots(){const t=this._getSlots(),s=this._instance.type.__scopeId;for(let i=0;i<t.length;i++){const n=t[i],o=n.getAttribute("name")||"default",l=this._slots[o],r=n.parentNode;if(l)for(const a of l){if(s&&a.nodeType===1){const u=s+"-s",f=document.createTreeWalker(a,1);a.setAttribute(u,"");let h;for(;h=f.nextNode();)h.setAttribute(u,"")}r.insertBefore(a,n)}else for(;n.firstChild;)r.insertBefore(n.firstChild,n);r.removeChild(n)}}_getSlots(){const t=[this];this._teleportTargets&&t.push(...this._teleportTargets);const s=new Set;for(const i of t){const n=i.querySelectorAll("slot");for(let o=0;o<n.length;o++)s.add(n[o])}return Array.from(s)}_injectChildStyle(t,s){this._applyStyles(t.styles,t,s)}_beginPatch(){this._patching=!0,this._dirty=!1}_endPatch(){this._patching=!1,this._dirty&&this._instance&&this._update()}_hasShadowRoot(){return this._def.shadowRoot!==!1}_removeChildStyle(t){}}const Gr=X({patchProp:Vr},Tr);let ao;function co(){return ao||(ao=ir(Gr))}const qr=(...e)=>{co().render(...e)},fo=(...e)=>{const t=co().createApp(...e),{mount:s}=t;return t.mount=i=>{const n=Yr(i);if(!n)return;const o=t._component;!R(o)&&!o.render&&!o.template&&(o.template=n.innerHTML),n.nodeType===1&&(n.textContent="");const l=s(n,!1,Jr(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),l},t};function Jr(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Yr(e){return q(e)?document.querySelector(e):e}function uo(e,t){const s=t||Xr(e);un(()=>{var r;const i=Wn();if(!i)return;const n=(r=i.proxy)==null?void 0:r.$el;if(!n)return;const o=n.getRootNode();if(!(o instanceof ShadowRoot)||o.querySelector(`style[data-shadow-styles="${s}"]`))return;const l=document.createElement("style");l.setAttribute("data-shadow-styles",s),l.textContent=e,o.appendChild(l)})}function Xr(e){let t=0;for(let s=0;s<e.length;s++)t=(t<<5)-t+e.charCodeAt(s),t|=0;return"s"+Math.abs(t).toString(36)}const po={menu:'<line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/>',map:'<polygon points="3 6 9 3 15 6 21 3 21 18 15 21 9 18 3 21"/><line x1="9" y1="3" x2="9" y2="18"/><line x1="15" y1="6" x2="15" y2="21"/>',globe:'<circle cx="12" cy="12" r="9"/><path d="M3 12h18"/><path d="M12 3a15 15 0 0 1 0 18a15 15 0 0 1 0-18"/>',heart:'<path d="M19 14c1.5-1.5 3-3.5 3-5.5A4.5 4.5 0 0 0 12 6a4.5 4.5 0 0 0-10 2.5C2 10.5 3.5 12.5 5 14l7 7Z"/>',prayer:'<path d="M12 4.2c-.9 1.4-1.9 2.6-2.9 3.8-1 1.2-1.6 2.6-1.6 4.2v3.3c0 1.3.7 2.4 1.8 3 .5.3 1.1-.1 1.1-.7"/><path d="M12 4.2c.9 1.4 1.9 2.6 2.9 3.8 1 1.2 1.6 2.6 1.6 4.2v3.3c0 1.3-.7 2.4-1.8 3-.5.3-1.1-.1-1.1-.7"/><path d="M12 4.2V17"/>',list:'<line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><circle cx="4" cy="6" r="1"/><circle cx="4" cy="12" r="1"/><circle cx="4" cy="18" r="1"/>',users:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.9"/><path d="M16 3.1a4 4 0 0 1 0 7.8"/>',flag:'<path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V4s-1 1-4 1-5-2-8-2-4 1-4 1z"/><line x1="4" y1="22" x2="4" y2="15"/>',target:'<circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1"/>',pin:'<path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z"/><circle cx="12" cy="10" r="3"/>',monitor:'<rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/>',chart:'<line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/>',layers:'<polygon points="12 2 2 7 12 12 22 7 12 2"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/>',flask:'<path d="M9 3h6v5l5 11a2 2 0 0 1-2 3H6a2 2 0 0 1-2-3l5-11z"/><line x1="9" y1="3" x2="15" y2="3"/><line x1="6" y1="15" x2="18" y2="15"/>',share:'<circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/><line x1="8.6" y1="13.5" x2="15.4" y2="17.5"/><line x1="15.4" y1="6.5" x2="8.6" y2="10.5"/>',beaker:'<path d="M6 3h12"/><path d="M8 3v7l-3 8a2 2 0 0 0 2 3h10a2 2 0 0 0 2-3l-3-8V3"/>',chevron:'<polyline points="9 18 15 12 9 6"/>',grid:'<rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/>',tree:'<rect x="9" y="3" width="6" height="5" rx="1"/><rect x="2" y="16" width="6" height="5" rx="1"/><rect x="16" y="16" width="6" height="5" rx="1"/><path d="M12 8v4M5 16v-2h14v2"/>',dots:'<circle cx="12" cy="5" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="12" cy="19" r="1.5"/>',embed:'<polyline points="9 7 4 12 9 17"/><polyline points="15 7 20 12 15 17"/>',send:'<path d="M21 3 L3 10.5 L9.5 13.5 L12.5 20 Z"/><line x1="21" y1="3" x2="9.5" y2="13.5"/>',poster:'<rect x="4" y="3" width="16" height="18" rx="2"/><circle cx="12" cy="10" r="2.5"/><path d="M8 17h8"/>',search:'<circle cx="10.5" cy="10.5" r="7.5"/><line x1="15.8" y1="15.8" x2="20.5" y2="20.5"/>',book:'<path d="M12 6.5C12 6.5 9.5 4.5 4 4.5v13C9.5 17.5 12 19.5 12 19.5"/><path d="M12 6.5C12 6.5 14.5 4.5 20 4.5v13C14.5 17.5 12 19.5 12 19.5"/>',wifi:'<path d="M3.5 9a13 13 0 0 1 17 0"/><path d="M6.8 12.4a8.5 8.5 0 0 1 10.4 0"/><path d="M10 15.7a4 4 0 0 1 4 0"/><circle cx="12" cy="19" r="1"/>'};function Zr(e,t=""){const s=po[e]||po.map;return`<svg class="ic ${t}" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${s}</svg>`}const Qr=".vtl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid!important;grid-template-rows:auto 1fr;height:100%;width:100%;min-height:420px;background:#f3f3f1;color:#3b463d;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--vtl-accent:#92b195;--vtl-border:#d1d4cd;--vtl-elevated:#ffffff;--vtl-accented:#d1d4cd;--vtl-muted:#6d766e;--vtl-rail:256px}.vtl.no-header{grid-template-rows:1fr}.vtl-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:64px;padding:8px 16px;border-bottom:1px solid var(--vtl-border);background:#fff}.vtl-menu{display:none;font:16px/1 system-ui;color:#3b463d;background:#d1d4cd;border:1px solid #d1d4cd;border-radius:8px;padding:5px 10px;cursor:pointer}.vtl-fab{position:absolute;z-index:15;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.vtl-fab:hover{background:#d1d4cd}.vtl-fab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:2px}.vtl-menu:hover{background:#d1d4cd}.vtl-brand{display:inline-flex;align-items:center}.vtl-brand:empty{display:none}.vtl-title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#3b463d}.vtl-meta{color:var(--vtl-muted);font-size:12px;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.vtl-body{min-height:0;position:relative;display:flex}.vtl-nav{position:absolute;top:0;bottom:0;left:0;z-index:5;width:256px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--vtl-border);padding:12px 12px 20px;background:#fff;scrollbar-width:thin;scrollbar-color:#c4c8c0 transparent;contain:layout paint;transform:translate(0);transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.vtl-nav::-webkit-scrollbar{width:8px;height:8px}.vtl-nav::-webkit-scrollbar-track{background:transparent}.vtl-nav::-webkit-scrollbar-thumb{background:#c4c8c0;border-radius:8px}.vtl-nav::-webkit-scrollbar-thumb:hover{background:#9aa197}.vtl-collapse{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;margin:0 0 8px;padding:7px 10px;border:1px solid var(--vtl-border);border-radius:8px;background:#d1d4cd;color:var(--vtl-muted);font:inherit;font-size:12px;cursor:pointer}.vtl-collapse:hover{background:var(--vtl-accented);color:#3b463d}.vtl-collapse:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-collapse-ic{flex:0 0 auto;display:inline-flex;transition:transform .16s ease;transform:rotate(180deg)}.vtl-collapse-ic svg{width:16px;height:16px}.vtl-collapse-tx{white-space:nowrap}.vtl-grp{margin-bottom:2px}.vtl-grp+.vtl-grp{margin-top:8px;padding-top:8px;border-top:1px solid var(--vtl-border)}.vtl-tier{width:100%;padding:8px 8px 6px;display:flex;align-items:center;gap:8px;box-sizing:border-box}.vtl-tier-btn{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:8px}.vtl-tier-btn:hover{background:var(--vtl-accented)}.vtl-tier-btn:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tier-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tier-ic svg{width:15px;height:15px}.vtl-cap{font:700 10px/1 system-ui;letter-spacing:.4px;color:#052e16;background:var(--vtl-accent);border-radius:999px;padding:3px 7px}.vtl-tl{font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--vtl-muted)}.vtl-td{color:#6b6b6b;font-size:11px;margin-left:auto}.vtl-chev{margin-left:auto;display:inline-flex;color:var(--vtl-muted);transition:transform .16s ease}.vtl-chev svg{width:15px;height:15px}.vtl-chev.open{transform:rotate(90deg)}.vtl-rows{display:flex;flex-direction:column;gap:1px}.vtl-tab{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;text-align:left;border:0;background:none;color:var(--vtl-muted);padding:8px 12px;cursor:pointer;border-radius:var(--vtl-radius,8px);font:inherit;margin:0;transition:background .13s ease,color .13s ease}.vtl-tab:hover{background:var(--vtl-accented);color:#3b463d}.vtl-tab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tab.active{background:var(--vtl-accented);color:#3b463d;font-weight:500}.vtl-tab.active .vtl-tab-ic{color:var(--vtl-accent)}.vtl-tab-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tab-ic svg{width:20px;height:20px}.vtl-tab-emoji{font-size:17px;line-height:1;flex:0 0 auto}.vtl-tab-fallback{display:none;flex:0 0 auto;width:20px;height:20px;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--vtl-muted);background:var(--vtl-accented);border-radius:6px}.vtl-tab.active .vtl-tab-fallback{color:var(--vtl-accent)}.vtl-tab-text{display:flex;flex-direction:column;min-width:0}.vtl-tab-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.vtl-tab-badge{font:600 9px/1 system-ui;letter-spacing:.3px;text-transform:uppercase;color:var(--vtl-accent);border:1px solid var(--vtl-accent);border-radius:var(--vtl-radius,8px);padding:2px 5px}.vtl-tab-sub{font-size:11px;color:#6b6b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vtl-tab-sub code{font-family:ui-monospace,Menlo,monospace}.vtl-tab.active .vtl-tab-sub{color:var(--vtl-muted)}.vtl-main{position:absolute;top:0;bottom:0;right:0;left:256px;min-width:0;display:flex;flex-direction:column}.vtl-content{flex:1 1 auto;position:relative;min-height:0;contain:layout}.vtl-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h:0}.vtl-host-slot{position:relative;min-height:100%}.vtl-host-slot>*{min-height:0;max-height:none}.vtl-host-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:var(--dx-muted, #6d766e);font-size:13px;padding:20px}.vtl-host-hint.err{color:#f87171}.vtl-host-hint small{color:var(--dx-muted, #6d766e)}.vtl.rail-collapsed .vtl-nav{transform:translate(-184px)}.vtl.rail-collapsed .vtl-main{left:72px}.vtl.rail-collapsed .vtl-collapse{padding-left:184px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(0)}.vtl.rail-collapsed .vtl-collapse-tx{display:none}.vtl.rail-collapsed .vtl-tab{padding-left:188px;gap:0}.vtl.rail-collapsed .vtl-tab-text{display:none}.vtl.rail-collapsed .vtl-tab-emoji{font-size:19px}.vtl.rail-collapsed .vtl-tab-fallback{display:inline-flex}.vtl.rail-collapsed .vtl-tier{padding-left:196px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:none}.vtl.rail-collapsed .vtl-grp+.vtl-grp{margin-top:6px;padding-top:6px}@media (max-width: 760px){.vtl-top{min-height:56px}.vtl-menu{display:inline-block}.vtl-meta{display:none}.vtl-nav{z-index:20;width:256px;box-shadow:0 0 28px #0000008c;transform:translate(-100%)}.vtl.nav-open .vtl-nav{transform:translate(0)}.vtl-main{left:0}.vtl.rail-collapsed .vtl-nav{transform:translate(-100%)}.vtl.rail-collapsed.nav-open .vtl-nav{transform:translate(0)}.vtl.rail-collapsed .vtl-main{left:0}.vtl.rail-collapsed .vtl-collapse{padding-left:10px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(180deg)}.vtl.rail-collapsed .vtl-collapse-tx{display:inline}.vtl.rail-collapsed .vtl-tab{padding-left:10px;gap:11px}.vtl.rail-collapsed .vtl-tab-text{display:flex}.vtl.rail-collapsed .vtl-tab-fallback{display:none}.vtl.rail-collapsed .vtl-tier{padding-left:8px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:inline}}",ho=(e,t)=>{const s=e.__vccOpts||e;for(const[i,n]of t)s[i]=n;return s},Ht={};function ea(e){return e?(Ht[e]||(Ht[e]=new Promise((t,s)=>{const i=document.createElement("script");i.src=e,i.onload=()=>t(),i.onerror=()=>{delete Ht[e],s(new Error("failed to load "+e))},document.head.appendChild(i)})),Ht[e]):Promise.resolve()}function ta(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((s,i)=>setTimeout(()=>i(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const sa=`
|
|
/* STRUCTURAL DISPLAY — the !important is deliberate, not a hack. This layout's display mode is
|
|
load-bearing: it CANNOT function as a block. As a library/ (high-bar) component it ships across
|
|
all 5 deployment methods, and a host (app-shell direct-mount, WordPress, mobile webview) may force
|
|
its own inline display onto the element. Declaring it non-overridable is the correct contract.
|
|
grid-template-rows: auto 1fr = header takes its natural height, .vtl-body gets a DEFINITE
|
|
remaining track — no dependence on in-flow children (nav/main are absolute for the rail slide). */
|
|
.vtl { position:absolute; inset:0; display:grid !important; grid-template-rows:auto 1fr; height:100%; width:100%; min-height:420px; background:#f3f3f1; color:#3b463d; font-family:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; -webkit-font-smoothing:antialiased; --vtl-accent:#92b195; --vtl-border:#d1d4cd; --vtl-elevated:#ffffff; --vtl-accented:#d1d4cd; --vtl-muted:#6d766e; --vtl-rail:256px; }
|
|
/* HEADER-OFF (header=false, e.g. the cap-5 doxa-maps-spa): the .vtl-top element is NOT rendered, so
|
|
.vtl-body becomes the ONLY grid child and auto-places into row 1 — the auto row — which has no
|
|
content to size it and collapses to 0 (the 1fr row sits empty) → the same 0-height black screen.
|
|
With no header there is only one region, so declare a single 1fr row and the body fills. */
|
|
.vtl.no-header { grid-template-rows:1fr; }
|
|
/* MATERIAL APP BAR = 64px desktop / 56px mobile (2026-09-21), was 51px from 11px padding.
|
|
Stated as an explicit min-height rather than left to padding arithmetic, so the number a
|
|
reader sees is the number that renders. min-height keeps a wrapping title from clipping.
|
|
★ box-sizing:border-box IS LOAD-BEARING HERE. Without it this element is content-box, so
|
|
min-height:64px MEASURED 81px live: 64 + 16px vertical padding + 1px border. A height stated
|
|
in a comment is worth nothing if the box model adds to it — measure the rendered value, do not
|
|
trust the declaration. (Found exactly that way: the probe read 81 against a 64 target.)
|
|
THIS RULE EXISTS TWICE (VTL_SHADOW_CSS and the scoped style block); keep them identical. */
|
|
.vtl-top { flex:0 0 auto; display:flex; align-items:center; gap:10px; box-sizing:border-box; min-height:64px; padding:8px 16px; border-bottom:1px solid var(--vtl-border); background:#ffffff; }
|
|
.vtl-menu { display:none; font:16px/1 system-ui; color:#3b463d; background:#d1d4cd; border:1px solid #d1d4cd; border-radius:8px; padding:5px 10px; cursor:pointer; }
|
|
/* Headerless-mobile drawer opener. Only ever rendered when narrow AND header-off AND the drawer is
|
|
shut, so it cannot appear in any layout that already has a working toggle. z-index sits ABOVE the
|
|
content but BELOW the drawer (.vtl-nav is z-index:20) so the drawer covers it when it slides in.
|
|
44px is the minimum comfortable touch target; the safe-area insets keep it clear of an iOS home
|
|
indicator and a notch in landscape. */
|
|
.vtl-fab { position:absolute; z-index:15; left:calc(12px + env(safe-area-inset-left)); bottom:calc(12px + env(safe-area-inset-bottom)); width:44px; height:44px; display:flex; align-items:center; justify-content:center; font:18px/1 system-ui; color:#3b463d; background:#ffffff; border:1px solid var(--vtl-border); border-radius:50%; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; }
|
|
.vtl-fab:hover { background:#d1d4cd; }
|
|
.vtl-fab:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:2px; }
|
|
.vtl-menu:hover { background:#d1d4cd; }
|
|
.vtl-brand { display:inline-flex; align-items:center; }
|
|
.vtl-brand:empty { display:none; }
|
|
.vtl-title { font-size:15px; font-weight:600; letter-spacing:-0.01em; color:#3b463d; }
|
|
.vtl-meta { color:var(--vtl-muted); font-size:12px; margin-left:auto; display:inline-flex; align-items:center; gap:8px; }
|
|
/* GRID ROWS, not flex (BUG-EMBEDDED-PLUGIN-STUDIO-BLACK-SCREEN). The collapsible-rail design makes
|
|
.vtl-nav and .vtl-main position:absolute (so the rail slides by transform without reflowing the
|
|
heavy map sibling). That leaves .vtl-body with NO in-flow children → ZERO intrinsic height, so it
|
|
could only fill via flex:1 from a flex parent. A host that forces display:block on .vtl (the
|
|
app-shell direct-mounts cap-5 elements that way) made that flex inert → .vtl-body collapsed to 0
|
|
→ black screen. The auto/1fr grid on .vtl gives this row a DEFINITE height by construction, so
|
|
it no longer depends on the parent's display mode NOR on in-flow children. Header-off
|
|
(header=false) still works: the auto row collapses to 0 and 1fr takes the full height. */
|
|
.vtl-body { min-height:0; position:relative; display:flex; }
|
|
.vtl-nav { position:absolute; top:0; bottom:0; left:0; z-index:5; width:256px; box-sizing:border-box; overflow-y:auto; overflow-x:hidden; border-right:1px solid var(--vtl-border); padding:12px 12px 20px; background:#ffffff; scrollbar-width:thin; scrollbar-color:#c4c8c0 transparent; contain:layout paint; transform:translateX(0); transition:transform .2s cubic-bezier(.4,0,.2,1); will-change:transform; }
|
|
/* Thin OVERLAY scrollbar: transparent track so the bar costs no visual space and sits flush to
|
|
the nav edge; low-contrast thumb that darkens on hover. Matches the research-dashboard rails. */
|
|
.vtl-nav::-webkit-scrollbar { width:8px; height:8px; }
|
|
.vtl-nav::-webkit-scrollbar-track { background:transparent; }
|
|
.vtl-nav::-webkit-scrollbar-thumb { background:#c4c8c0; border-radius:8px; }
|
|
.vtl-nav::-webkit-scrollbar-thumb:hover { background:#9aa197; }
|
|
.vtl-collapse { display:flex; align-items:center; gap:8px; width:100%; box-sizing:border-box; margin:0 0 8px; padding:7px 10px; border:1px solid var(--vtl-border); border-radius:8px; background:#d1d4cd; color:var(--vtl-muted); font:inherit; font-size:12px; cursor:pointer; }
|
|
.vtl-collapse:hover { background:var(--vtl-accented); color:#3b463d; }
|
|
.vtl-collapse:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:-2px; }
|
|
.vtl-collapse-ic { flex:0 0 auto; display:inline-flex; transition:transform .16s ease; transform:rotate(180deg); }
|
|
.vtl-collapse-ic svg { width:16px; height:16px; }
|
|
.vtl-collapse-tx { white-space:nowrap; }
|
|
.vtl-grp { margin-bottom:2px; }
|
|
.vtl-grp + .vtl-grp { margin-top:8px; padding-top:8px; border-top:1px solid var(--vtl-border); }
|
|
.vtl-tier { width:100%; padding:8px 8px 6px; display:flex; align-items:center; gap:8px; box-sizing:border-box; }
|
|
.vtl-tier-btn { border:0; background:none; color:inherit; font:inherit; cursor:pointer; text-align:left; border-radius:8px; }
|
|
.vtl-tier-btn:hover { background:var(--vtl-accented); }
|
|
.vtl-tier-btn:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:-2px; }
|
|
.vtl-tier-ic { flex:0 0 auto; display:inline-flex; color:var(--vtl-muted); }
|
|
.vtl-tier-ic svg { width:15px; height:15px; }
|
|
.vtl-cap { font:700 10px/1 system-ui; letter-spacing:.4px; color:#052e16; background:var(--vtl-accent); border-radius:999px; padding:3px 7px; }
|
|
.vtl-tl { font-weight:600; font-size:11px; letter-spacing:.03em; text-transform:uppercase; color:var(--vtl-muted); }
|
|
.vtl-td { color:#6b6b6b; font-size:11px; margin-left:auto; }
|
|
.vtl-chev { margin-left:auto; display:inline-flex; color:var(--vtl-muted); transition:transform .16s ease; }
|
|
.vtl-chev svg { width:15px; height:15px; }
|
|
.vtl-chev.open { transform:rotate(90deg); }
|
|
.vtl-rows { display:flex; flex-direction:column; gap:1px; }
|
|
/* MATERIAL NAV-ROW METRICS (2026-09-21). product owner: "people are used to the YouTube layout, Google
|
|
layout is just way better. We do not need to create custom styles people are not used to."
|
|
Measured before this change: 44px rows with an 8px radius.
|
|
min-height:48px the Material list-item height. min-height, not height, so a wrapping
|
|
label still grows instead of clipping.
|
|
border-radius var(--vtl-radius,8px) — SUPERSEDED THE FULL PILL (2026-09-23).
|
|
The 999px stadium above was a real instruction ("imitate the YouTube
|
|
active row") and it shipped. The product owner then measured it against the
|
|
rest of the product and reversed it: "the roundedness of the tabs is a
|
|
little bit too round because there is nowhere else in the app that has
|
|
that same roundedness. Even the collapse button is not that round...
|
|
it looks more material UI to have a more rounded tab than a less
|
|
circular tab." He is right on the facts — .vtl-collapse is 8px, the
|
|
filter toggles in @map/components/search are 8px, and 8px is already
|
|
the most common radius in this file. A 999px radius on a 48px row is a
|
|
stadium, which is why it reads as foreign beside everything else.
|
|
★ DO NOT "RESTORE" THE PILL on the strength of the YouTube rationale
|
|
above — that rationale is kept because it is true history, not because
|
|
it is current. The 48px Material row height is unaffected and stays.
|
|
NOT VENDORED: the card's law is to imitate the metrics in our own CSS, never to add Quasar or
|
|
MUI. Same clone-dont-edit rule the library follows everywhere else.
|
|
THIS RULE EXISTS TWICE (VTL_SHADOW_CSS and the scoped style block) and the two copies must stay
|
|
byte-identical — edit both or neither. */
|
|
.vtl-tab { display:flex; align-items:center; gap:11px; width:100%; min-height:48px; text-align:left; border:0; background:none; color:var(--vtl-muted); padding:8px 12px; cursor:pointer; border-radius:var(--vtl-radius,8px); font:inherit; margin:0; transition:background .13s ease,color .13s ease; }
|
|
.vtl-tab:hover { background:var(--vtl-accented); color:#3b463d; }
|
|
.vtl-tab:focus-visible { outline:2px solid var(--vtl-accent); outline-offset:-2px; }
|
|
.vtl-tab.active { background:var(--vtl-accented); color:#3b463d; font-weight:500; }
|
|
.vtl-tab.active .vtl-tab-ic { color:var(--vtl-accent); }
|
|
.vtl-tab-ic { flex:0 0 auto; display:inline-flex; color:var(--vtl-muted); }
|
|
.vtl-tab-ic svg { width:20px; height:20px; }
|
|
.vtl-tab-emoji { font-size:17px; line-height:1; flex:0 0 auto; }
|
|
.vtl-tab-fallback { display:none; flex:0 0 auto; width:20px; height:20px; align-items:center; justify-content:center; font-size:12px; font-weight:600; color:var(--vtl-muted); background:var(--vtl-accented); border-radius:6px; }
|
|
.vtl-tab.active .vtl-tab-fallback { color:var(--vtl-accent); }
|
|
.vtl-tab-text { display:flex; flex-direction:column; min-width:0; }
|
|
.vtl-tab-label { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:flex; align-items:center; gap:6px; }
|
|
.vtl-tab-badge { font:600 9px/1 system-ui; letter-spacing:.3px; text-transform:uppercase; color:var(--vtl-accent); border:1px solid var(--vtl-accent); border-radius:var(--vtl-radius,8px); padding:2px 5px; }
|
|
.vtl-tab-sub { font-size:11px; color:#6b6b6b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
|
|
.vtl-tab-sub code { font-family:ui-monospace,Menlo,monospace; }
|
|
.vtl-tab.active .vtl-tab-sub { color:var(--vtl-muted); }
|
|
.vtl-main { position:absolute; top:0; bottom:0; right:0; left:256px; min-width:0; display:flex; flex-direction:column; }
|
|
/* ★ contain:layout, NOT layout paint (BUG-STILL-CANNOT-SCROLL-DOWN-TO-THE-GRID, measured
|
|
2026-09-22). layout is the half that does the work the rail collapse needs — it isolates this
|
|
subtree so sliding the rail never reflows a heavy mounted map. paint additionally CLIPS the
|
|
subtree to this box, which silently swallowed every pixel a scroll-stack composite rendered below
|
|
one viewport. The clipping now belongs to .vtl-host, which owns a real scrollbar, so the content
|
|
is both contained AND reachable. Dropping paint costs the collapse nothing: paint never
|
|
contributed reflow isolation, only clipping. */
|
|
.vtl-content { flex:1 1 auto; position:relative; min-height:0; contain:layout; }
|
|
/* ★ THE PANE OWNS THE SCROLL (BUG-STILL-CANNOT-SCROLL-DOWN-TO-THE-GRID). Measured in the cap-5
|
|
shell: the dashboard-plus-grid composite mounted here reported scrollHeight 3380 / clientHeight
|
|
769 — 2611px of real, mounted, populated content (the people-groups grid, h=2586) that NO element
|
|
could scroll to, because this box was position:absolute; inset:0 with the default
|
|
overflow:visible. The document itself measured scrollHeight 900 === clientHeight 900, so a
|
|
wheel gesture anywhere had nothing to move and the page simply sat still.
|
|
THIS IS A HOST GAP, NOT A PLUGIN BUG. The same composite is PERFECT standalone (document
|
|
2960/900, wheel scrolls to 2060, grid reachable) because its generated leaf sets
|
|
body{overflow-y:auto} — the document owns the scroll there. In this shell the pane is pinned to
|
|
viewport height and no ancestor scrolls, so the layout must own it. generate-tree.mjs keeps cap-5
|
|
leaves fixed-viewport on the reasoning that "any scroll-stack it hosts is its OWN iframe leaf" —
|
|
but the studio documents "there is NO iframe mode": every tab mounts its REAL custom element
|
|
directly into this pane. So the scroll has to land here.
|
|
WHY THIS IS SAFE FOR THE FIXED-VIEWPORT MAP TABS, which are the majority. A map element ships
|
|
position:absolute; inset:0 (or height:100%) and therefore fills this box exactly:
|
|
scrollHeight === clientHeight, so auto yields NO scrollbar and NOTHING changes for them. Only a
|
|
pane whose content genuinely exceeds one viewport — i.e. a StackLayout scroll-stack, which is the
|
|
composite that is meant to scroll — gets one. auto is load-bearing; scroll would paint a dead
|
|
scrollbar on all 19 map tabs.
|
|
overscroll-behavior:contain stops a wheel that bottoms out here from chaining to the document. */
|
|
.vtl-host { position:absolute; inset:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; --profile-min-h:0; }
|
|
/* The slot is the element's mount point. It must NOT be position:absolute; inset:0 any more: that
|
|
pinned it to the pane's height and re-created the exact trap one level down — an absolutely
|
|
positioned child cannot grow a scroll container. min-height:100% keeps a fixed-viewport map
|
|
filling the pane (the behaviour absolute-inset gave it) while letting a taller scroll-stack
|
|
composite push the pane's scrollHeight past its clientHeight, which is what produces the
|
|
scrollbar. */
|
|
.vtl-host-slot { position:relative; min-height:100%; }
|
|
/* ★ THE dvh FLOOR, NEUTRALISED FOR HOSTED ELEMENTS (measured 2026-09-22 in the studio, same layout
|
|
shape). A hosted map ships .profile-loader { height:100%; min-height:100dvh }, and the two resolve
|
|
against DIFFERENT bases: height:100% against this pane, min-height:100dvh against the VIEWPORT.
|
|
Wherever the pane is shorter than the viewport (any header/toolbar chrome above it), the floor
|
|
wins, the element overflows by exactly that chrome height, and the overflow-y:auto above then
|
|
correctly paints a scrollbar on a fixed-viewport map that should never have one.
|
|
The floor is DELIBERATE and must stay in the element (standalone it prevents a collapse to 0
|
|
against an auto-height body). It is only wrong HERE, against a definite shorter pane. A genuine
|
|
scroll-stack composite is unaffected: it exceeds the pane on its own content, not on this floor. */
|
|
.vtl-host-slot > * { min-height:0; max-height:none; }
|
|
.vtl-host-hint { position:absolute; inset:0; display:grid; place-items:center; text-align:center; color:var(--dx-muted, #6d766e); font-size:13px; padding:20px; }
|
|
.vtl-host-hint.err { color:#f87171; }
|
|
.vtl-host-hint small { color:var(--dx-muted, #6d766e); }
|
|
/* MATERIAL MINI-VARIANT RAIL = 72px (2026-09-21), up from 60px.
|
|
★ THE COLLAPSE IS A TRANSLATE, NOT A WIDTH CHANGE — so FOUR numbers are coupled and must move
|
|
together, which is precisely where a partial edit would break the layout:
|
|
nav translate -184px the 256px rail slides left, leaving 256-184 = 72px visible
|
|
main left 72px the content pane starts exactly where the rail ends
|
|
collapse pad 184px pushes the toggle's icon into the 72px strip that stays on screen
|
|
tab pad 188px the same for each row's icon (4px more, matching the old 196/200 pair)
|
|
Change one without the others and the icons drift out of the visible strip or the content
|
|
overlaps the rail. Old values were -196 / 60 / 196 / 200.
|
|
THIS BLOCK EXISTS TWICE (VTL_SHADOW_CSS and the scoped style block); keep them byte-identical. */
|
|
.vtl.rail-collapsed .vtl-nav { transform:translateX(-184px); }
|
|
.vtl.rail-collapsed .vtl-main { left:72px; }
|
|
.vtl.rail-collapsed .vtl-collapse { padding-left:184px; justify-content:flex-start; }
|
|
.vtl.rail-collapsed .vtl-collapse-ic { transform:rotate(0deg); }
|
|
.vtl.rail-collapsed .vtl-collapse-tx { display:none; }
|
|
.vtl.rail-collapsed .vtl-tab { padding-left:188px; gap:0; }
|
|
.vtl.rail-collapsed .vtl-tab-text { display:none; }
|
|
.vtl.rail-collapsed .vtl-tab-emoji { font-size:19px; }
|
|
.vtl.rail-collapsed .vtl-tab-fallback { display:inline-flex; }
|
|
.vtl.rail-collapsed .vtl-tier { padding-left:196px; }
|
|
.vtl.rail-collapsed .vtl-tl, .vtl.rail-collapsed .vtl-td, .vtl.rail-collapsed .vtl-cap, .vtl.rail-collapsed .vtl-chev { display:none; }
|
|
.vtl.rail-collapsed .vtl-grp + .vtl-grp { margin-top:6px; padding-top:6px; }
|
|
@media (max-width: 760px) {
|
|
/* Material app bar is 56px on mobile, 64px on desktop — the desktop value is set above. */
|
|
.vtl-top { min-height:56px; }
|
|
.vtl-menu { display:inline-block; }
|
|
.vtl-meta { display:none; }
|
|
/* MOBILE = the SAME composited-transform model, taken to its full-off-canvas extreme: a full-width
|
|
drawer that slides in/out via transform (never a layout property), so opening/closing the drawer
|
|
never reflows the content. Content is full-width (left:0) and stays put; the drawer floats over it. */
|
|
.vtl-nav { z-index:20; width:256px; box-shadow:0 0 28px rgba(0,0,0,.55); transform:translateX(-100%); }
|
|
.vtl.nav-open .vtl-nav { transform:translateX(0); }
|
|
.vtl-main { left:0; }
|
|
/* The desktop slim-rail collapse has no meaning on a phone — reconcileForWidth() clears railCollapsed
|
|
at this width, but neutralize its CSS too (belt-and-suspenders) so a full labelled drawer always
|
|
shows: no partial slide, no icon-column padding, labels/sections visible. */
|
|
.vtl.rail-collapsed .vtl-nav { transform:translateX(-100%); }
|
|
.vtl.rail-collapsed.nav-open .vtl-nav { transform:translateX(0); }
|
|
.vtl.rail-collapsed .vtl-main { left:0; }
|
|
.vtl.rail-collapsed .vtl-collapse { padding-left:10px; justify-content:flex-start; }
|
|
.vtl.rail-collapsed .vtl-collapse-ic { transform:rotate(180deg); }
|
|
.vtl.rail-collapsed .vtl-collapse-tx { display:inline; }
|
|
.vtl.rail-collapsed .vtl-tab { padding-left:10px; gap:11px; }
|
|
.vtl.rail-collapsed .vtl-tab-text { display:flex; }
|
|
.vtl.rail-collapsed .vtl-tab-fallback { display:none; }
|
|
.vtl.rail-collapsed .vtl-tier { padding-left:8px; }
|
|
.vtl.rail-collapsed .vtl-tl, .vtl.rail-collapsed .vtl-td, .vtl.rail-collapsed .vtl-cap, .vtl.rail-collapsed .vtl-chev { display:inline; }
|
|
}
|
|
`,ia=Xs({name:"VerticalTabsLayout",props:{active:{type:String,default:""},title:{type:String,default:""},items:{type:Array,default:()=>[]},groups:{type:Array,default:()=>[]},navLabel:{type:String,default:"Sections"},initialNavOpen:{type:Boolean,default:!0},header:{type:Boolean,default:!0},initialRailCollapsed:{type:Boolean,default:!1}},emits:["update:active"],setup(){uo(sa,"vertical-tabs-layout")},data(){return{navOpen:this.initialNavOpen,railCollapsed:this.initialRailCollapsed,_tabEls:{},folderOverride:{},narrow:!1,_mql:null,_onMedia:null,activatedKeys:{},hostState:{},hostError:{},_hostSlots:{},_hostMounted:{}}},computed:{railShown(){return this.narrow?this.navOpen:!0},allRows(){if(this.groups&&this.groups.length){const e=[];for(const t of this.groups)for(const s of t.rows||[])e.push(s);return e}return this.items},orderedKeys(){return this.allRows.map(e=>e.key)},elementRows(){return this.allRows.filter(e=>e&&e.element)},mountedElementRows(){return this.elementRows.filter(e=>this.activatedKeys[e.key])}},watch:{active:{immediate:!0,handler(e){this.activateElement(e)}}},mounted(){try{window.matchMedia&&(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this.reconcileForWidth(),this._onMedia=e=>{this.narrow=e.matches,this.reconcileForWidth()},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))}catch{}this.$nextTick(()=>this.activateElement(this.active))},beforeUnmount(){try{this._mql&&this._onMedia&&(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia))}catch{}this._mql=null,this._onMedia=null},methods:{registerTab(e,t){t&&(this._tabEls[e]=t)},isNarrow(){return this.narrow},reconcileForWidth(){this.narrow?(this.navOpen=!1,this.railCollapsed=!1):this.navOpen=!0},toggleRail(){this.narrow?this.navOpen=!this.navOpen:this.railCollapsed=!this.railCollapsed},setHostSlot(e,t){t&&(this._hostSlots[e]=t,this.$nextTick(()=>this.mountHostElement(e)))},activateElement(e){!e||!this.elementRows.find(s=>s.key===e)||(this.activatedKeys[e]||(this.activatedKeys={...this.activatedKeys,[e]:!0},this.hostState={...this.hostState,[e]:"loading"}),this.$nextTick(()=>this.mountHostElement(e)))},mountHostElement(e){if(this._hostMounted[e])return;const t=this.elementRows.find(i=>i.key===e),s=this._hostSlots[e];!t||!s||(this._hostMounted[e]=!0,this.hostState={...this.hostState,[e]:"loading"},ea(t.src).then(()=>ta(t.element)).then(()=>{s.innerHTML="";const i=document.createElement(t.element),n=t.attrs||{};for(const o in n){const l=n[o],r=l!=null&&typeof l=="object"?JSON.stringify(l):String(l);try{i[o]=l}catch{}try{i.setAttribute(o,r)}catch{}}i.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",s.appendChild(i),this.hostState={...this.hostState,[e]:"ready"}}).catch(i=>{this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"error"},this.hostError={...this.hostError,[e]:i&&i.message||String(i)}}))},iconSvg(e){return e?Zr(e):""},initial(e){const t=(e||"").trim();return t?t.charAt(0).toUpperCase():"•"},isFolderClosed(e){const t=this.folderOverride[e.key];return t!=null?!t:e.open!==!0},toggleFolder(e){const t=this.folderOverride[e],s=(this.groups||[]).find(n=>n.key===e),i=t??(s&&s.open===!0);this.folderOverride={...this.folderOverride,[e]:!i}},pick(e){this.$emit("update:active",e),this.narrow&&(this.navOpen=!1)},onKey(e){const t=this.orderedKeys;if(!t.length)return;const s=t.indexOf(this.active);let i=-1;if(e.key==="ArrowDown"||e.key==="ArrowRight")i=(s+1)%t.length;else if(e.key==="ArrowUp"||e.key==="ArrowLeft")i=(s-1+t.length)%t.length;else if(e.key==="Home")i=0;else if(e.key==="End")i=t.length-1;else return;e.preventDefault();const n=t[i];this.pick(n),this.$nextTick(()=>{const o=this._tabEls[n];o&&o.focus&&o.focus()})}}}),na={key:0,class:"vtl-top"},oa=["aria-expanded"],la={class:"vtl-brand"},ra={class:"vtl-title"},aa={class:"vtl-meta"},ca=["aria-expanded"],da={class:"vtl-body"},fa=["aria-label","aria-hidden"],ua=["aria-expanded","aria-label"],pa=["innerHTML"],ha=["aria-expanded","onClick"],ga={class:"vtl-tl"},va=["innerHTML"],ba={key:1,class:"vtl-tier"},ma={key:0,class:"vtl-cap"},xa={class:"vtl-tl"},ya={key:1,class:"vtl-td"},_a={class:"vtl-rows"},wa=["aria-selected","tabindex","onClick"],Sa=["innerHTML"],Ea={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Ta={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Ca={class:"vtl-tab-text"},ka={class:"vtl-tab-label"},Oa={key:0,class:"vtl-tab-badge"},Aa={key:0,class:"vtl-tab-sub"},Ma=["innerHTML"],Ra=["aria-selected","tabindex","onClick"],Pa=["innerHTML"],La={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Ia={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Na={class:"vtl-tab-text"},Ha={class:"vtl-tab-label"},Da={key:0,class:"vtl-tab-sub"},Fa={class:"vtl-main"},$a={class:"vtl-content"},ja=["hidden"],Ua={key:0,class:"vtl-host-hint"},Va={key:1,class:"vtl-host-hint err"};function Ba(e,t,s,i,n,o){return P(),I("div",{class:Ke(["vtl",{"nav-open":e.navOpen,"rail-collapsed":e.railCollapsed,"no-header":!e.header}])},[e.header?(P(),I("header",na,[C("button",{class:"vtl-menu",type:"button","aria-expanded":String(e.navOpen),onClick:t[0]||(t[0]=l=>e.navOpen=!e.navOpen),"aria-label":"Toggle list"},"☰",8,oa),C("span",la,[cs(e.$slots,"brand")]),C("b",ra,F(e.title),1),C("span",aa,[cs(e.$slots,"meta")])])):oe("",!0),e.narrow&&!e.header&&!e.navOpen?(P(),I("button",{key:1,class:"vtl-fab",type:"button","aria-expanded":String(e.navOpen),onClick:t[1]||(t[1]=l=>e.navOpen=!0),"aria-label":"Open the list of views"},"☰",8,ca)):oe("",!0),C("div",da,[C("nav",{class:"vtl-nav","aria-label":e.navLabel,"aria-hidden":String(!e.railShown),role:"tablist","aria-orientation":"vertical"},[C("button",{type:"button",class:"vtl-collapse","aria-expanded":String(!e.railCollapsed),"aria-label":e.railCollapsed?"Expand list":"Collapse list",onClick:t[2]||(t[2]=(...l)=>e.toggleRail&&e.toggleRail(...l))},[C("span",{class:"vtl-collapse-ic","aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,8,pa),t[5]||(t[5]=C("span",{class:"vtl-collapse-tx"},"Collapse",-1))],8,ua),e.groups&&e.groups.length?(P(!0),I(ee,{key:0},ft(e.groups,l=>(P(),I("div",{class:"vtl-grp",key:l.key},[l.folder?(P(),I("button",{key:0,type:"button",class:"vtl-tier vtl-tier-btn","aria-expanded":String(!e.isFolderClosed(l)),onClick:r=>e.toggleFolder(l.key)},[C("span",ga,F(l.label),1),C("span",{class:Ke(["vtl-chev",{open:!e.isFolderClosed(l)}]),"aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,10,va)],8,ha)):(P(),I("div",ba,[l.badge?(P(),I("span",ma,F(l.badge),1)):oe("",!0),C("span",xa,F(l.label),1),l.count!=null?(P(),I("span",ya,F(l.count),1)):oe("",!0)])),Gs(C("div",_a,[(P(!0),I(ee,null,ft(l.rows,r=>(P(),I("button",{key:r.key,type:"button",role:"tab",class:Ke(["vtl-tab",{active:r.key===e.active}]),"aria-selected":String(r.key===e.active),tabindex:r.key===e.active?0:-1,ref_for:!0,ref:a=>e.registerTab(r.key,a),onClick:a=>e.pick(r.key),onKeydown:t[3]||(t[3]=a=>e.onKey(a))},[r.icon?(P(),I("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(r.icon)},null,8,Sa)):r.emoji?(P(),I("span",Ea,F(r.emoji),1)):(P(),I("span",Ta,F(e.initial(r.label)),1)),C("span",Ca,[C("span",ka,[ht(F(r.label),1),r.badge?(P(),I("span",Oa,F(r.badge),1)):oe("",!0)]),r.sub?(P(),I("span",Aa,[C("span",{innerHTML:r.sub},null,8,Ma)])):oe("",!0)])],42,wa))),128))],512),[[fi,!l.folder||!e.isFolderClosed(l)]])]))),128)):(P(!0),I(ee,{key:1},ft(e.items,l=>(P(),I("button",{key:l.key,type:"button",role:"tab",class:Ke(["vtl-tab",{active:l.key===e.active}]),"aria-selected":String(l.key===e.active),tabindex:l.key===e.active?0:-1,ref_for:!0,ref:r=>e.registerTab(l.key,r),onClick:r=>e.pick(l.key),onKeydown:t[4]||(t[4]=r=>e.onKey(r))},[l.icon?(P(),I("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(l.icon)},null,8,Pa)):l.emoji?(P(),I("span",La,F(l.emoji),1)):(P(),I("span",Ia,F(e.initial(l.label)),1)),C("span",Na,[C("span",Ha,F(l.label),1),l.sub?(P(),I("span",Da,F(l.sub),1)):oe("",!0)])],42,Ra))),128))],8,fa),C("main",Fa,[e.header?cs(e.$slots,"toolbar",{},void 0,void 0,0):oe("",!0),C("div",$a,[(P(!0),I(ee,null,ft(e.mountedElementRows,l=>Gs((P(),I("section",{key:l.key,class:"vtl-host",hidden:l.key!==e.active},[C("div",{class:"vtl-host-slot",ref_for:!0,ref:r=>e.setHostSlot(l.key,r)},null,512),e.hostState[l.key]==="loading"?(P(),I("div",Ua,"Loading "+F(l.label)+"…",1)):e.hostState[l.key]==="error"?(P(),I("div",Va,[ht(" Could not load "+F(l.label)+".",1),t[6]||(t[6]=C("br",null,null,-1)),C("small",null,F(e.hostError[l.key]),1)])):oe("",!0)],8,ja)),[[fi,l.key===e.active]])),128)),cs(e.$slots,"default")])])])],2)}const Wa=ho(ia,[["render",Ba],["styles",[Qr]]]),gi=[{code:"en",name:"English",nativeName:"English",flag:"🇺🇸"},{code:"es",name:"Spanish",nativeName:"Español",flag:"🇪🇸"},{code:"fr",name:"French",nativeName:"Français",flag:"🇫🇷"},{code:"pt",name:"Portuguese",nativeName:"Português",flag:"🇵🇹"},{code:"ar",name:"Arabic",nativeName:"العربية",flag:"🇸🇦",dir:"rtl"},{code:"ru",name:"Russian",nativeName:"Русский",flag:"🇷🇺"},{code:"de",name:"German",nativeName:"Deutsch",flag:"🇩🇪",hideFromSwitcher:!0},{code:"hi",name:"Hindi",nativeName:"हिन्दी",flag:"🇮🇳",hideFromSwitcher:!0}],za=gi.filter(e=>!e.hideFromSwitcher);function Ka(e){return gi.find(t=>t.code===e)}function go(e){const t=String(e||"").split("-")[0].toLowerCase();return gi.some(s=>s.code===t)?t:"en"}const vo="doxa-maps:locale";function Ga(){try{const e=localStorage.getItem(vo);if(e)return go(e)}catch{}return go(navigator==null?void 0:navigator.language)}function qa(e){try{localStorage.setItem(vo,e)}catch{}}const Ja=".ps-logo{display:inline-flex;align-items:center}.ps-logo svg{display:block}.ps-count{color:#6d766e}.ps-locale{position:relative;display:inline-flex}.ps-locale-btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;padding:4px 9px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer}.ps-locale-btn:hover{background:#d1d4cd}.ps-flag{font-size:13px;line-height:1}.ps-locale-name{max-width:11ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-dots{color:#6d766e}.ps-locale-menu{position:absolute;top:100%;right:0;margin-top:4px;z-index:30;min-width:180px;list-style:none;padding:6px;border:1px solid #d1d4cd;border-radius:10px;background:#fff;box-shadow:0 12px 32px #00000080;max-height:320px;overflow:auto}.ps-locale-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:13px;padding:7px 9px;border:0;border-radius:7px;background:none;color:#3b463d;cursor:pointer}.ps-locale-opt:hover,.ps-locale-opt.active{background:#d1d4cd;color:#3b463d}.ps-locale-opt.active .ps-locale-name{color:#92b195}.ps-locale-en{margin-left:auto;font-size:11px;color:#6d766e}.ps-toolbar{display:flex;flex-direction:column;gap:8px;padding:10px 12px 0}.ps-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ps-bar-t{flex:1 1 auto;min-width:0}.ps-bar-t b{font-size:15px;color:#3b463d}.ps-bar-sub{display:block;font-size:12px;color:#6d766e}.ps-btn{font:inherit;font-size:12px;padding:5px 10px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer;white-space:nowrap}.ps-btn:hover{background:#d1d4cd}.ps-embed{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid #d1d4cd;border-radius:8px;background:#f3f3f1}.ps-embed label{font-size:12px;color:#6d766e;display:flex;justify-content:space-between;align-items:center}.ps-embed textarea{width:100%;height:58px;font:11px/1.35 ui-monospace,Menlo,monospace;border:1px solid #d1d4cd;border-radius:6px;background:#fff;color:#3b463d;padding:6px;resize:vertical}.ps-stage{position:absolute;top:10px;right:12px;bottom:12px;left:12px;border:1px solid #d1d4cd;border-radius:10px;overflow:hidden;background:#f3f3f1}.ps-pane{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h: 0}.ps-slot{position:relative;min-height:100%}.ps-slot>*{min-height:0;max-height:none}.ps-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:#6d766e;font-size:13px;padding:20px}.ps-hint.err{color:#f87171}.ps-hint small{color:#6d766e}",Ya=`
|
|
.ps-logo { display:inline-flex; align-items:center; }
|
|
.ps-logo svg { display:block; }
|
|
.ps-count { color:#6d766e; }
|
|
.ps-locale { position:relative; display:inline-flex; }
|
|
.ps-locale-btn { display:inline-flex; align-items:center; gap:6px; font:inherit; font-size:12px; padding:4px 9px; border:1px solid #d1d4cd; border-radius:8px; background:#d1d4cd; color:#3b463d; cursor:pointer; }
|
|
.ps-locale-btn:hover { background:#d1d4cd; }
|
|
.ps-flag { font-size:13px; line-height:1; }
|
|
.ps-locale-name { max-width:11ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
|
|
.ps-dots { color:#6d766e; }
|
|
.ps-locale-menu { position:absolute; top:100%; right:0; margin-top:4px; z-index:30; min-width:180px; list-style:none; padding:6px; border:1px solid #d1d4cd; border-radius:10px; background:#ffffff; box-shadow:0 12px 32px rgba(0,0,0,.5); max-height:320px; overflow:auto; }
|
|
.ps-locale-opt { display:flex; align-items:center; gap:8px; width:100%; text-align:left; font:inherit; font-size:13px; padding:7px 9px; border:0; border-radius:7px; background:none; color:#3b463d; cursor:pointer; }
|
|
.ps-locale-opt:hover { background:#d1d4cd; color:#3b463d; }
|
|
.ps-locale-opt.active { background:#d1d4cd; color:#3b463d; }
|
|
.ps-locale-opt.active .ps-locale-name { color:#92b195; }
|
|
.ps-locale-en { margin-left:auto; font-size:11px; color:#6d766e; }
|
|
.ps-toolbar { display:flex; flex-direction:column; gap:8px; padding:10px 12px 0; }
|
|
.ps-bar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
|
|
.ps-bar-t { flex:1 1 auto; min-width:0; }
|
|
.ps-bar-t b { font-size:15px; color:#3b463d; }
|
|
.ps-bar-sub { display:block; font-size:12px; color:#6d766e; }
|
|
.ps-btn { font:inherit; font-size:12px; padding:5px 10px; border:1px solid #d1d4cd; border-radius:8px; background:#d1d4cd; color:#3b463d; cursor:pointer; white-space:nowrap; }
|
|
.ps-btn:hover { background:#d1d4cd; }
|
|
.ps-embed { display:flex; flex-direction:column; gap:6px; padding:8px; border:1px solid #d1d4cd; border-radius:8px; background:#f3f3f1; }
|
|
.ps-embed label { font-size:12px; color:#6d766e; display:flex; justify-content:space-between; align-items:center; }
|
|
.ps-embed textarea { width:100%; height:58px; font:11px/1.35 ui-monospace,Menlo,monospace; border:1px solid #d1d4cd; border-radius:6px; background:#ffffff; color:#3b463d; padding:6px; resize:vertical; }
|
|
.ps-stage { position:absolute; inset:10px 12px 12px; border:1px solid #d1d4cd; border-radius:10px; overflow:hidden; background:#f3f3f1; }
|
|
/* ★ THE PANE OWNS THE SCROLL (BUG-STILL-CANNOT-SCROLL-DOWN-TO-THE-GRID, measured 2026-09-22).
|
|
A scroll-stack composite (dashboard-plus-grid: an 88svh dashboard band + the people-groups grid
|
|
below it) mounted here measured scrollHeight 3380 / clientHeight 769 — 2611px of real, mounted,
|
|
populated content that NO element could scroll to, because this pane was position:absolute;
|
|
inset:0 with the default overflow:visible inside a .ps-stage that is overflow:hidden.
|
|
Document scrollHeight was 900, exactly === clientHeight, so a wheel gesture had nothing to move.
|
|
The identical composite is PERFECT standalone (document 2960/900, wheel reaches 2060) because its
|
|
generated leaf gives the DOCUMENT the scroll — a host that pins the pane to viewport height has
|
|
to own that scroll itself.
|
|
auto, not scroll: only a pane whose content really exceeds its box gets a scrollbar, so the map
|
|
tabs stay scrollbar-free (see the dvh floor note below, which is what makes that true). */
|
|
.ps-pane { position:absolute; inset:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; --profile-min-h:0; }
|
|
/* NOT absolute-inset: that pinned the mount point to the pane's height and re-created the same trap
|
|
one level down (an absolutely positioned child cannot grow a scroll container). min-height:100%
|
|
keeps a fixed-viewport map filling the pane while letting a taller composite grow it. */
|
|
.ps-slot { position:relative; min-height:100%; }
|
|
/* ★ THE dvh FLOOR, NEUTRALISED FOR HOSTED ELEMENTS (measured 2026-09-22, caught by the regression
|
|
check on this very fix — my first version of the rule above was WRONG about this).
|
|
I claimed a fixed-viewport map "fills this box exactly, so auto is a no-op for it". It is not.
|
|
doxa-research-map ships .profile-loader { height:100%; min-height:100dvh }, and those two resolve
|
|
against DIFFERENT bases: height:100% against the pane (769px here, because the pane sits inside a
|
|
.ps-stage inset by the studio chrome), min-height:100dvh against the VIEWPORT (900px). The floor
|
|
wins, the element is 131px taller than its container, and overflow:auto then correctly reported a
|
|
scrollbar on a map tab that should never have one — a real regression my reasoning had ruled out.
|
|
The dvh floor is deliberate and must stay for the STANDALONE leaf, where it fixes the opposite
|
|
bug (BUG-UPG100-NESTED-ELEMENTS-ZERO-HEIGHT: min-height:100% against a body with no definite
|
|
height collapses to 0). It is only wrong HERE, where the pane is a definite box shorter than the
|
|
viewport. So neutralise it on the hosted subtree rather than editing the map: a direct child of a
|
|
studio pane is bounded by the PANE. A taller-than-viewport scroll-stack composite is unaffected —
|
|
it grows past this floor on its own content, which is what makes the grid reachable.
|
|
|
|
★ AND --profile-min-h:0 ON THE PANE, which is the half that actually does the work. Sizing the
|
|
host is NOT enough, and measuring proved it: the host correctly became 769px while the pane still
|
|
overflowed by exactly 131px, because .profile-loader lives INSIDE the map's SHADOW ROOT at
|
|
min-height:100dvh and a host-page SELECTOR cannot reach into a shadow tree. Inherited properties
|
|
CAN, so ProfileLoader.vue now reads min-height:var(--profile-min-h, 100dvh) and this pane sets it
|
|
to 0 — the floor keeps its default everywhere else, including every standalone leaf where it
|
|
still fixes BUG-UPG100.
|
|
★ NOT overflow:clip, which I tried first and MEASURED as wrong: it bounded the map (good) but
|
|
ALSO bounded the scroll-stack composite, whose host box is the pane height while its content is
|
|
3380px — so the grid became unreachable again and the gate went straight back to 0px scrolled.
|
|
One blanket rule cannot serve both; the variable targets the actual culprit instead. */
|
|
.ps-slot > * { min-height:0; max-height:none; }
|
|
.ps-hint { position:absolute; inset:0; display:grid; place-items:center; text-align:center; color:#6d766e; font-size:13px; padding:20px; }
|
|
.ps-hint.err { color:#f87171; }
|
|
.ps-hint small { color:#6d766e; }
|
|
`,Xa={5:"App shell · nested-mfe-spa",4:"Composite element",3:"Multi-view element",2:"Preset element",1:"Single element"},bo={"nested-mfe-spa":0,"nested-elements-mfe":1,monolithic:2,parameterized:3,single:4},Za=e=>bo[e]!=null?5-bo[e]:1,Qa={5:"🧩",4:"🔗",3:"🗂️",2:"🎛️",1:"🔹"},mo=new Set(["doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-map","doxa-maps-spa","dashboard-plus-grid","research-dashboard-map","demo-map","all-people-groups","country-posters-map","key-cities-map","research-map-plus-grid"]),Dt={};function ec(e,t){return Dt[e]||(Dt[e]=new Promise((s,i)=>{const n=document.createElement("script");n.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(n.type="module"),n.onload=()=>s(),n.onerror=()=>{delete Dt[e],i(new Error("failed to load "+e))},document.head.appendChild(n)})),Dt[e]}function tc(e,t){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():Promise.race([customElements.whenDefined(e),new Promise((s,i)=>setTimeout(()=>{customElements.get(e)||i(new Error("<"+e+"> never registered (bundle loaded but defined no element)"))},15e3))])}const sc=Xs({name:"PluginStudio",components:{VerticalTabsLayout:Wa},props:{treeBase:{type:String,default:""},profileConfig:{type:[String,Object],default:""},heading:{type:String,default:"Plugin Studio"},tokenUrl:{type:String,default:""},tk:{type:String,default:""}},setup(){return uo(Ya,"plugin-studio"),{injectedBase:Tt("psTreeBase","")}},data(){return{activeKey:"",embedOpen:!1,locale:Ga(),localeOpen:!1,switcherLangs:za,rows:[]}},computed:{cfg(){let e=this.profileConfig;if(typeof e=="string")try{e=e?JSON.parse(e):{}}catch{e={}}return e&&typeof e=="object"?e:{}},base(){const e=(this.treeBase||this.cfg.treeBase||this.injectedBase||"").trim();return e?e.replace(/\/+$/,"")+"/":""},flatRows(){return this.rows},groups(){const e={};for(const t of this.rows)(e[t.cap]=e[t.cap]||[]).push(t);return[5,4,3,2,1].filter(t=>e[t]&&e[t].length).map(t=>({cap:t,label:Xa[t]||"capability "+t,rows:e[t]}))},navGroups(){const e=t=>String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");return this.groups.map(t=>({key:"cap-"+t.cap,badge:"CAP "+t.cap,label:t.label,count:t.rows.length,rows:t.rows.map(s=>({key:s.key,label:s.label,emoji:s.emoji,sub:"<code><"+e(s.tag)+"></code>"}))}))},active(){return this.rows.find(e=>e.key===this.activeKey)||null},countLabel(){return new Set(this.rows.map(t=>t.bundle)).size+" bundles · "+this.rows.length+" elements"},activeLang(){return Ka(this.locale)||{code:this.locale,flag:"🌐",nativeName:this.locale}}},mounted(){this.loadManifest()},methods:{setSlot(e,t){t&&(this._slots=Object.assign(this._slots||{},{[e]:t}))},setLocale(e){this.locale=e,this.localeOpen=!1,qa(e);try{const t=this.active,s=this._slots&&this._slots[this.activeKey],i=s&&s.firstElementChild;if(i&&i.setAttribute&&t){const n={profile:t.label,instanceId:"ps-"+this.activeKey.replace(/\//g,"-"),locale:e};(this.tk||this.cfg.tk)&&(n.tk=this.tk||this.cfg.tk),i.setAttribute("profile-config",JSON.stringify(n))}}catch{}},resolve(e){const t=String(e);if(/^(https?:)?\/\//.test(t)||t.startsWith("/"))return t;const s=t.replace(/^\.\//,"");return this.base?this.base.replace(/\/+$/,"")+"/"+s:"../"+s},loadManifest(){const e=s=>{this.rows=this.rowsFromManifest(s),this.route()},t=typeof window<"u"&&window.__psBaked||null;if(typeof fetch=="function"&&typeof location<"u"&&location.protocol!=="file:"){const s=this.base?this.resolve("manifest.json"):"../manifest.json";fetch(s,{cache:"no-cache"}).then(i=>i.ok?i.json():null).then(i=>e(i||t||{bundles:[]})).catch(()=>e(t||{bundles:[]}))}else e(t||{bundles:[]})},rowsFromManifest(e){const t=[];for(const s of e.bundles||[])if(s.bundle!=="plugin-studio")for(const i of s.profiles||[]){const n=i.element||s.elements&&s.elements[0]||s.bundle,o=Za(i.type||"single"),l=mo.has(n)||mo.has(s.bundle);t.push({key:s.bundle+"/"+i.profile,bundle:s.bundle,label:i.profile,tag:n,cap:o,emoji:Qa[o]||"🔹",description:i.description||"",heavy:l,bundleJs:s.scriptUrl||s.bundle+"/"+s.bundle+".js",embed:i.embed&&i.embed.script||"",mounted:!1,state:"idle",error:""})}return t.sort((s,i)=>i.cap-s.cap||s.bundle.localeCompare(i.bundle)||s.label.localeCompare(i.label)),t},route(){const e=(typeof location<"u"&&location.hash||"").replace(/^#\/?/,"");if(e&&this.rows.some(s=>s.key===e)){this.select(e);return}const t=this.readLastTab();if(t&&this.rows.some(s=>s.key===t)){this.select(t);return}this.rows.length&&this.select(this.rows[0].key)},storageKey(){return"dx-studio-tab:"+(typeof location<"u"&&location.pathname||"")},readLastTab(){try{return window.localStorage.getItem(this.storageKey())||""}catch{return""}},writeLastTab(e){try{window.localStorage.setItem(this.storageKey(),e)}catch{}},select(e){const t=this.activeKey;if(this.activeKey=e,this.embedOpen=!1,t&&t!==e){const i=this.rows.find(n=>n.key===t);i&&i.heavy&&i.mounted&&this.releaseRow(i)}const s=this.rows.find(i=>i.key===e);s&&(this.writeLastTab(e),s.mounted||this.$nextTick(()=>{this.activeKey===s.key&&this.mountElement(s)}))},releaseRow(e){try{const t=this._slots&&this._slots[e.key];t&&(t.innerHTML="")}catch{}this._slots&&delete this._slots[e.key],e.mounted=!1,e.state="idle",e.error=""},mountElement(e){e.mounted=!0,e.state="loading";const t=this.resolve(e.bundleJs);ec(t).then(()=>tc(e.tag)).then(()=>{try{if(e.heavy&&this.activeKey!==e.key){e.mounted=!1,e.state="idle";return}const s=this._slots&&this._slots[e.key];if(!s){e.state="error",e.error="no slot";return}s.innerHTML="";const i=document.createElement(e.tag),n={profile:e.label,instanceId:"ps-"+e.key.replace(/\//g,"-"),locale:this.locale};(this.tk||this.cfg.tk)&&(n.tk=this.tk||this.cfg.tk),(this.tokenUrl||this.cfg.tokenUrl)&&(n.tokenUrl=this.tokenUrl||this.cfg.tokenUrl),this.base&&(n.treeBase=this.base),i.setAttribute("profile-config",JSON.stringify(n)),i.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",s.appendChild(i),e.state="ready"}catch(s){e.state="error",e.error="mount failed: "+(s&&s.message||String(s))}}).catch(s=>{e.state="error",e.error=s&&s.message||String(s)})},copyText(e,t){const s=()=>{const i=t.textContent;t.textContent="Copied",setTimeout(()=>{t.textContent=i},1200)};if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(e).then(s,()=>{});else try{const i=document.createElement("textarea");i.value=e,document.body.appendChild(i),i.select(),document.execCommand("copy"),document.body.removeChild(i),s()}catch{}}}}),ic={class:"ps-count"},nc={class:"ps-locale"},oc=["aria-expanded"],lc={class:"ps-flag"},rc={class:"ps-locale-name"},ac={key:0,class:"ps-locale-menu",role:"listbox"},cc=["aria-selected"],dc=["onClick"],fc={class:"ps-flag"},uc={class:"ps-locale-name"},pc={class:"ps-locale-en"},hc={key:0,class:"ps-toolbar"},gc={class:"ps-bar"},vc={class:"ps-bar-t"},bc={class:"ps-bar-sub"},mc={key:0},xc=["aria-expanded"],yc={key:0,class:"ps-embed"},_c=["value"],wc={class:"ps-stage"},Sc=["hidden"],Ec={key:0,class:"ps-hint"},Tc={key:1,class:"ps-hint err"},Cc={key:0,class:"ps-hint"};function kc(e,t,s,i,n,o){const l=Ll("VerticalTabsLayout");return P(),ps(l,{title:e.heading,"nav-label":"Plugin elements · by capability 5 → 1",header:!0,groups:e.navGroups,active:e.activeKey,"onUpdate:active":e.select},{brand:Et(()=>[...t[3]||(t[3]=[C("span",{class:"ps-logo","aria-hidden":"true"},[C("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#92b195","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[C("path",{d:"M10 3v3M14 3v3M7 6h10v5a5 5 0 0 1-10 0V6Z"}),C("path",{d:"M12 16v5"})])],-1)])]),meta:Et(()=>[C("span",ic,F(e.countLabel),1),C("span",nc,[C("button",{type:"button",class:"ps-locale-btn","aria-expanded":String(e.localeOpen),"aria-label":"Change language",onClick:t[0]||(t[0]=r=>e.localeOpen=!e.localeOpen)},[C("span",lc,F(e.activeLang.flag),1),C("span",rc,F(e.activeLang.nativeName),1),t[4]||(t[4]=C("span",{class:"ps-dots","aria-hidden":"true"},"⋮",-1))],8,oc),e.localeOpen?(P(),I("ul",ac,[(P(!0),I(ee,null,ft(e.switcherLangs,r=>(P(),I("li",{key:r.code,role:"option","aria-selected":String(r.code===e.locale)},[C("button",{type:"button",class:Ke(["ps-locale-opt",{active:r.code===e.locale}]),onClick:a=>e.setLocale(r.code)},[C("span",fc,F(r.flag),1),C("span",uc,F(r.nativeName),1),C("span",pc,F(r.name),1)],10,dc)],8,cc))),128))])):oe("",!0)])]),toolbar:Et(()=>[e.active?(P(),I("div",hc,[C("div",gc,[C("div",vc,[C("b",null,F(e.active.label),1),C("span",bc,[ht(F(e.active.bundle)+" · <"+F(e.active.tag)+">",1),e.active.description?(P(),I("span",mc," · "+F(e.active.description),1)):oe("",!0)])]),e.active.embed?(P(),I("button",{key:0,type:"button",class:"ps-btn","aria-expanded":String(e.embedOpen),onClick:t[1]||(t[1]=r=>e.embedOpen=!e.embedOpen)},"Copy embed",8,xc)):oe("",!0)]),e.embedOpen&&e.active.embed?(P(),I("div",yc,[C("label",null,[t[5]||(t[5]=ht("script embed ",-1)),C("button",{type:"button",class:"ps-btn",onClick:t[2]||(t[2]=r=>e.copyText(e.active.embed,r.target))},"Copy")]),C("textarea",{readonly:"",value:e.active.embed},null,8,_c)])):oe("",!0)])):oe("",!0)]),default:Et(()=>[C("div",wc,[(P(!0),I(ee,null,ft(e.flatRows,r=>Gs((P(),I("section",{key:r.key,class:"ps-pane",hidden:r.key!==e.activeKey},[!r.heavy||r.key===e.activeKey?(P(),I(ee,{key:0},[C("div",{class:"ps-slot",ref_for:!0,ref:a=>e.setSlot(r.key,a)},null,512),r.state==="loading"?(P(),I("div",Ec,"Loading "+F(r.label)+"…",1)):r.state==="error"?(P(),I("div",Tc,[ht(" Could not load "+F(r.label)+".",1),t[6]||(t[6]=C("br",null,null,-1)),C("small",null,F(r.error),1)])):oe("",!0)],64)):oe("",!0)],8,Sc)),[[fi,r.key===e.activeKey]])),128)),e.activeKey?oe("",!0):(P(),I("div",Cc,"Choose an element from the list."))])]),_:1},8,["title","groups","active","onUpdate:active"])}const Oc=ho(sc,[["render",kc],["styles",[Ja]]]);function Ac(){try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.replace(/[^/]+\/[^/]+$/,"").replace(/\/+$/,"")+"/":""}catch{return""}}const Mc=Ac(),Rc=zr(Oc,{configureApp(e){e.provide("psTreeBase",Mc)}});typeof customElements<"u"&&!customElements.get("plugin-studio")&&customElements.define("plugin-studio",Rc)})();
|