node-red-contrib-knx-ultimate 4.2.10 → 4.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/examples/OSC to KNX via Function External Module.json +144 -0
- package/nodes/knxUltimateAI.html +24 -3
- package/nodes/knxUltimateAI.js +223 -51
- package/nodes/knxUltimateViewer.html +22 -1
- package/nodes/knxUltimateViewer.js +27 -8
- package/nodes/plugins/knxUltimateAI-vue/assets/app.css +1 -1
- package/nodes/plugins/knxUltimateAI-vue/assets/app.js +3 -3
- package/nodes/plugins/knxUltimateAI-vue/assets/chunk-jspdf.es.min.js +3 -3
- package/nodes/plugins/knxUltimateAI-vue/index.html +2 -2
- package/nodes/plugins/knxUltimateViewer-vue/assets/app.js +1 -1
- package/nodes/plugins/knxUltimateViewer-vue/index.html +2 -2
- package/nodes/utils/httpAdminAccessToken.js +34 -0
- package/package.json +2 -2
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>KNX AI Vue Preview</title>
|
|
7
|
-
<script type="module" crossorigin src="
|
|
8
|
-
<link rel="stylesheet" crossorigin href="
|
|
7
|
+
<script type="module" crossorigin src="./assets/app.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="./assets/app.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="app"></div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}})();function Us(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const X={},ut=[],Re=()=>{},Xn=()=>!1,os=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ws=e=>e.startsWith("onUpdate:"),te=Object.assign,Bs=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},si=Object.prototype.hasOwnProperty,j=(e,t)=>si.call(e,t),N=Array.isArray,at=e=>Kt(e)==="[object Map]",yt=e=>Kt(e)==="[object Set]",un=e=>Kt(e)==="[object Date]",D=e=>typeof e=="function",Q=e=>typeof e=="string",Fe=e=>typeof e=="symbol",q=e=>e!==null&&typeof e=="object",kn=e=>(q(e)||D(e))&&D(e.then)&&D(e.catch),Gn=Object.prototype.toString,Kt=e=>Gn.call(e),ni=e=>Kt(e).slice(8,-1),Jn=e=>Kt(e)==="[object Object]",qs=e=>Q(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,At=Us(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ls=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},ri=/-\w/g,we=ls(e=>e.replace(ri,t=>t.slice(1).toUpperCase())),ii=/\B([A-Z])/g,lt=ls(e=>e.replace(ii,"-$1").toLowerCase()),Yn=ls(e=>e.charAt(0).toUpperCase()+e.slice(1)),ys=ls(e=>e?`on${Yn(e)}`:""),$e=(e,t)=>!Object.is(e,t),Yt=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},zn=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},cs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let an;const fs=()=>an||(an=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function us(e){if(N(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],r=Q(n)?fi(n):us(n);if(r)for(const i in r)t[i]=r[i]}return t}else if(Q(e)||q(e))return e}const oi=/;(?![^(]*\))/g,li=/:([^]+)/,ci=/\/\*[^]*?\*\//g;function fi(e){const t={};return e.replace(ci,"").split(oi).forEach(s=>{if(s){const n=s.split(li);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ye(e){let t="";if(Q(e))t=e;else if(N(e))for(let s=0;s<e.length;s++){const n=Ye(e[s]);n&&(t+=n+" ")}else if(q(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const ui="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",ai=Us(ui);function Zn(e){return!!e||e===""}function di(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=vt(e[n],t[n]);return s}function vt(e,t){if(e===t)return!0;let s=un(e),n=un(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Fe(e),n=Fe(t),s||n)return e===t;if(s=N(e),n=N(t),s||n)return s&&n?di(e,t):!1;if(s=q(e),n=q(t),s||n){if(!s||!n)return!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),f=t.hasOwnProperty(o);if(l&&!f||!l&&f||!vt(e[o],t[o]))return!1}}return String(e)===String(t)}function Xs(e,t){return e.findIndex(s=>vt(s,t))}const Qn=e=>!!(e&&e.__v_isRef===!0),$=e=>Q(e)?e:e==null?"":N(e)||q(e)&&(e.toString===Gn||!D(e.toString))?Qn(e)?$(e.value):JSON.stringify(e,er,2):String(e),er=(e,t)=>Qn(t)?er(e,t.value):at(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],i)=>(s[vs(n,i)+" =>"]=r,s),{})}:yt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>vs(s))}:Fe(t)?vs(t):q(t)&&!N(t)&&!Jn(t)?String(t):t,vs=(e,t="")=>{var s;return Fe(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let pe;class hi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=pe,!t&&pe&&(this.index=(pe.scopes||(pe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[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)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=pe;try{return pe=this,t()}finally{pe=s}}}on(){++this._on===1&&(this.prevScope=pe,pe=this)}off(){this._on>0&&--this._on===0&&(pe=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function pi(){return pe}let J;const xs=new WeakSet;class tr{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,pe&&pe.active&&pe.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,xs.has(this)&&(xs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||nr(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,dn(this),rr(this);const t=J,s=Se;J=this,Se=!0;try{return this.fn()}finally{ir(this),J=t,Se=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Js(t);this.deps=this.depsTail=void 0,dn(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?xs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ms(this)&&this.run()}get dirty(){return Ms(this)}}let sr=0,It,Pt;function nr(e,t=!1){if(e.flags|=8,t){e.next=Pt,Pt=e;return}e.next=It,It=e}function ks(){sr++}function Gs(){if(--sr>0)return;if(Pt){let t=Pt;for(Pt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;It;){let t=It;for(It=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function rr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ir(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),Js(n),gi(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function Ms(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(or(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function or(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Dt)||(e.globalVersion=Dt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ms(e))))return;e.flags|=2;const t=e.dep,s=J,n=Se;J=e,Se=!0;try{rr(e);const r=e.fn(e._value);(t.version===0||$e(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{J=s,Se=n,ir(e),e.flags&=-3}}function Js(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)Js(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function gi(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Se=!0;const lr=[];function We(){lr.push(Se),Se=!1}function Be(){const e=lr.pop();Se=e===void 0?!0:e}function dn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=J;J=void 0;try{t()}finally{J=s}}}let Dt=0;class mi{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 cr{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(!J||!Se||J===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==J)s=this.activeLink=new mi(J,this),J.deps?(s.prevDep=J.depsTail,J.depsTail.nextDep=s,J.depsTail=s):J.deps=J.depsTail=s,fr(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=J.depsTail,s.nextDep=void 0,J.depsTail.nextDep=s,J.depsTail=s,J.deps===s&&(J.deps=n)}return s}trigger(t){this.version++,Dt++,this.notify(t)}notify(t){ks();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Gs()}}}function fr(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)fr(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Ns=new WeakMap,rt=Symbol(""),Rs=Symbol(""),Vt=Symbol("");function ee(e,t,s){if(Se&&J){let n=Ns.get(e);n||Ns.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new cr),r.map=n,r.key=s),r.track()}}function je(e,t,s,n,r,i){const o=Ns.get(e);if(!o){Dt++;return}const l=f=>{f&&f.trigger()};if(ks(),t==="clear")o.forEach(l);else{const f=N(e),d=f&&qs(s);if(f&&s==="length"){const a=Number(n);o.forEach((p,E)=>{(E==="length"||E===Vt||!Fe(E)&&E>=a)&&l(p)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),d&&l(o.get(Vt)),t){case"add":f?d&&l(o.get("length")):(l(o.get(rt)),at(e)&&l(o.get(Rs)));break;case"delete":f||(l(o.get(rt)),at(e)&&l(o.get(Rs)));break;case"set":at(e)&&l(o.get(rt));break}}Gs()}function ct(e){const t=B(e);return t===e?t:(ee(t,"iterate",Vt),Ce(e)?t:t.map(qe))}function as(e){return ee(e=B(e),"iterate",Vt),e}function Me(e,t){return Ze(e)?gt(it(e)?qe(t):t):qe(t)}const _i={__proto__:null,[Symbol.iterator](){return ws(this,Symbol.iterator,e=>Me(this,e))},concat(...e){return ct(this).concat(...e.map(t=>N(t)?ct(t):t))},entries(){return ws(this,"entries",e=>(e[1]=Me(this,e[1]),e))},every(e,t){return Ve(this,"every",e,t,void 0,arguments)},filter(e,t){return Ve(this,"filter",e,t,s=>s.map(n=>Me(this,n)),arguments)},find(e,t){return Ve(this,"find",e,t,s=>Me(this,s),arguments)},findIndex(e,t){return Ve(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ve(this,"findLast",e,t,s=>Me(this,s),arguments)},findLastIndex(e,t){return Ve(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ve(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ss(this,"includes",e)},indexOf(...e){return Ss(this,"indexOf",e)},join(e){return ct(this).join(e)},lastIndexOf(...e){return Ss(this,"lastIndexOf",e)},map(e,t){return Ve(this,"map",e,t,void 0,arguments)},pop(){return Tt(this,"pop")},push(...e){return Tt(this,"push",e)},reduce(e,...t){return hn(this,"reduce",e,t)},reduceRight(e,...t){return hn(this,"reduceRight",e,t)},shift(){return Tt(this,"shift")},some(e,t){return Ve(this,"some",e,t,void 0,arguments)},splice(...e){return Tt(this,"splice",e)},toReversed(){return ct(this).toReversed()},toSorted(e){return ct(this).toSorted(e)},toSpliced(...e){return ct(this).toSpliced(...e)},unshift(...e){return Tt(this,"unshift",e)},values(){return ws(this,"values",e=>Me(this,e))}};function ws(e,t,s){const n=as(e),r=n[t]();return n!==e&&!Ce(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=s(i.value)),i}),r}const bi=Array.prototype;function Ve(e,t,s,n,r,i){const o=as(e),l=o!==e&&!Ce(e),f=o[t];if(f!==bi[t]){const p=f.apply(e,i);return l?qe(p):p}let d=s;o!==e&&(l?d=function(p,E){return s.call(this,Me(e,p),E,e)}:s.length>2&&(d=function(p,E){return s.call(this,p,E,e)}));const a=f.call(o,d,n);return l&&r?r(a):a}function hn(e,t,s,n){const r=as(e),i=r!==e&&!Ce(e);let o=s,l=!1;r!==e&&(i?(l=n.length===0,o=function(d,a,p){return l&&(l=!1,d=Me(e,d)),s.call(this,d,Me(e,a),p,e)}):s.length>3&&(o=function(d,a,p){return s.call(this,d,a,p,e)}));const f=r[t](o,...n);return l?Me(e,f):f}function Ss(e,t,s){const n=B(e);ee(n,"iterate",Vt);const r=n[t](...s);return(r===-1||r===!1)&&Zs(s[0])?(s[0]=B(s[0]),n[t](...s)):r}function Tt(e,t,s=[]){We(),ks();const n=B(e)[t].apply(e,s);return Gs(),Be(),n}const yi=Us("__proto__,__v_isRef,__isVue"),ur=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Fe));function vi(e){Fe(e)||(e=String(e));const t=B(this);return ee(t,"has",e),t.hasOwnProperty(e)}class ar{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return i;if(s==="__v_raw")return n===(r?i?Pi:gr:i?pr:hr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=N(t);if(!r){let f;if(o&&(f=_i[s]))return f;if(s==="hasOwnProperty")return vi}const l=Reflect.get(t,s,ce(t)?t:n);if((Fe(s)?ur.has(s):yi(s))||(r||ee(t,"get",s),i))return l;if(ce(l)){const f=o&&qs(s)?l:l.value;return r&&q(f)?Ds(f):f}return q(l)?r?Ds(l):ds(l):l}}class dr extends ar{constructor(t=!1){super(!1,t)}set(t,s,n,r){let i=t[s];const o=N(t)&&qs(s);if(!this._isShallow){const d=Ze(i);if(!Ce(n)&&!Ze(n)&&(i=B(i),n=B(n)),!o&&ce(i)&&!ce(n))return d||(i.value=n),!0}const l=o?Number(s)<t.length:j(t,s),f=Reflect.set(t,s,n,ce(t)?t:r);return t===B(r)&&(l?$e(n,i)&&je(t,"set",s,n):je(t,"add",s,n)),f}deleteProperty(t,s){const n=j(t,s);t[s];const r=Reflect.deleteProperty(t,s);return r&&n&&je(t,"delete",s,void 0),r}has(t,s){const n=Reflect.has(t,s);return(!Fe(s)||!ur.has(s))&&ee(t,"has",s),n}ownKeys(t){return ee(t,"iterate",N(t)?"length":rt),Reflect.ownKeys(t)}}class xi extends ar{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const wi=new dr,Si=new xi,Ci=new dr(!0);const Fs=e=>e,Xt=e=>Reflect.getPrototypeOf(e);function Ti(e,t,s){return function(...n){const r=this.__v_raw,i=B(r),o=at(i),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,d=r[e](...n),a=s?Fs:t?gt:qe;return!t&&ee(i,"iterate",f?Rs:rt),te(Object.create(d),{next(){const{value:p,done:E}=d.next();return E?{value:p,done:E}:{value:l?[a(p[0]),a(p[1])]:a(p),done:E}}})}}function kt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ei(e,t){const s={get(r){const i=this.__v_raw,o=B(i),l=B(r);e||($e(r,l)&&ee(o,"get",r),ee(o,"get",l));const{has:f}=Xt(o),d=t?Fs:e?gt:qe;if(f.call(o,r))return d(i.get(r));if(f.call(o,l))return d(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ee(B(r),"iterate",rt),r.size},has(r){const i=this.__v_raw,o=B(i),l=B(r);return e||($e(r,l)&&ee(o,"has",r),ee(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,f=B(l),d=t?Fs:e?gt:qe;return!e&&ee(f,"iterate",rt),l.forEach((a,p)=>r.call(i,d(a),d(p),o))}};return te(s,e?{add:kt("add"),set:kt("set"),delete:kt("delete"),clear:kt("clear")}:{add(r){const i=B(this),o=Xt(i),l=B(r),f=!t&&!Ce(r)&&!Ze(r)?l:r;return o.has.call(i,f)||$e(r,f)&&o.has.call(i,r)||$e(l,f)&&o.has.call(i,l)||(i.add(f),je(i,"add",f,f)),this},set(r,i){!t&&!Ce(i)&&!Ze(i)&&(i=B(i));const o=B(this),{has:l,get:f}=Xt(o);let d=l.call(o,r);d||(r=B(r),d=l.call(o,r));const a=f.call(o,r);return o.set(r,i),d?$e(i,a)&&je(o,"set",r,i):je(o,"add",r,i),this},delete(r){const i=B(this),{has:o,get:l}=Xt(i);let f=o.call(i,r);f||(r=B(r),f=o.call(i,r)),l&&l.call(i,r);const d=i.delete(r);return f&&je(i,"delete",r,void 0),d},clear(){const r=B(this),i=r.size!==0,o=r.clear();return i&&je(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=Ti(r,e,t)}),s}function Ys(e,t){const s=Ei(e,t);return(n,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(j(s,r)&&r in n?s:n,r,i)}const Oi={get:Ys(!1,!1)},Ai={get:Ys(!1,!0)},Ii={get:Ys(!0,!1)};const hr=new WeakMap,pr=new WeakMap,gr=new WeakMap,Pi=new WeakMap;function Mi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ni(e){return e.__v_skip||!Object.isExtensible(e)?0:Mi(ni(e))}function ds(e){return Ze(e)?e:zs(e,!1,wi,Oi,hr)}function Ri(e){return zs(e,!1,Ci,Ai,pr)}function Ds(e){return zs(e,!0,Si,Ii,gr)}function zs(e,t,s,n,r){if(!q(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Ni(e);if(i===0)return e;const o=r.get(e);if(o)return o;const l=new Proxy(e,i===2?n:s);return r.set(e,l),l}function it(e){return Ze(e)?it(e.__v_raw):!!(e&&e.__v_isReactive)}function Ze(e){return!!(e&&e.__v_isReadonly)}function Ce(e){return!!(e&&e.__v_isShallow)}function Zs(e){return e?!!e.__v_raw:!1}function B(e){const t=e&&e.__v_raw;return t?B(t):e}function Fi(e){return!j(e,"__v_skip")&&Object.isExtensible(e)&&zn(e,"__v_skip",!0),e}const qe=e=>q(e)?ds(e):e,gt=e=>q(e)?Ds(e):e;function ce(e){return e?e.__v_isRef===!0:!1}function Di(e){return ce(e)?e.value:e}const Vi={get:(e,t,s)=>t==="__v_raw"?e:Di(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return ce(r)&&!ce(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function mr(e){return it(e)?e:new Proxy(e,Vi)}class Li{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new cr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Dt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&J!==this)return nr(this,!0),!0}get value(){const t=this.dep.track();return or(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Hi(e,t,s=!1){let n,r;return D(e)?n=e:(n=e.get,r=e.set),new Li(n,r,s)}const Gt={},es=new WeakMap;let nt;function $i(e,t=!1,s=nt){if(s){let n=es.get(s);n||es.set(s,n=[]),n.push(e)}}function ji(e,t,s=X){const{immediate:n,deep:r,once:i,scheduler:o,augmentJob:l,call:f}=s,d=I=>r?I:Ce(I)||r===!1||r===0?Ke(I,1):Ke(I);let a,p,E,O,H=!1,R=!1;if(ce(e)?(p=()=>e.value,H=Ce(e)):it(e)?(p=()=>d(e),H=!0):N(e)?(R=!0,H=e.some(I=>it(I)||Ce(I)),p=()=>e.map(I=>{if(ce(I))return I.value;if(it(I))return d(I);if(D(I))return f?f(I,2):I()})):D(e)?t?p=f?()=>f(e,2):e:p=()=>{if(E){We();try{E()}finally{Be()}}const I=nt;nt=a;try{return f?f(e,3,[O]):e(O)}finally{nt=I}}:p=Re,t&&r){const I=p,Z=r===!0?1/0:r;p=()=>Ke(I(),Z)}const z=pi(),U=()=>{a.stop(),z&&z.active&&Bs(z.effects,a)};if(i&&t){const I=t;t=(...Z)=>{I(...Z),U()}}let V=R?new Array(e.length).fill(Gt):Gt;const W=I=>{if(!(!(a.flags&1)||!a.dirty&&!I))if(t){const Z=a.run();if(r||H||(R?Z.some((be,fe)=>$e(be,V[fe])):$e(Z,V))){E&&E();const be=nt;nt=a;try{const fe=[Z,V===Gt?void 0:R&&V[0]===Gt?[]:V,O];V=Z,f?f(t,3,fe):t(...fe)}finally{nt=be}}}else a.run()};return l&&l(W),a=new tr(p),a.scheduler=o?()=>o(W,!1):W,O=I=>$i(I,!1,a),E=a.onStop=()=>{const I=es.get(a);if(I){if(f)f(I,4);else for(const Z of I)Z();es.delete(a)}},t?n?W(!0):V=a.run():o?o(W.bind(null,!0),!0):a.run(),U.pause=a.pause.bind(a),U.resume=a.resume.bind(a),U.stop=U,U}function Ke(e,t=1/0,s){if(t<=0||!q(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,ce(e))Ke(e.value,t,s);else if(N(e))for(let n=0;n<e.length;n++)Ke(e[n],t,s);else if(yt(e)||at(e))e.forEach(n=>{Ke(n,t,s)});else if(Jn(e)){for(const n in e)Ke(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ke(e[n],t,s)}return e}function Ut(e,t,s,n){try{return n?e(...n):e()}catch(r){hs(r,t,s)}}function De(e,t,s,n){if(D(e)){const r=Ut(e,t,s,n);return r&&kn(r)&&r.catch(i=>{hs(i,t,s)}),r}if(N(e)){const r=[];for(let i=0;i<e.length;i++)r.push(De(e[i],t,s,n));return r}}function hs(e,t,s,n=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const f=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const a=l.ec;if(a){for(let p=0;p<a.length;p++)if(a[p](e,f,d)===!1)return}l=l.parent}if(i){We(),Ut(i,null,10,[e,f,d]),Be();return}}Ki(e,s,r,n,o)}function Ki(e,t,s,n=!0,r=!1){if(r)throw e;console.error(e)}const oe=[];let Pe=-1;const dt=[];let Je=null,ft=0;const _r=Promise.resolve();let ts=null;function br(e){const t=ts||_r;return e?t.then(this?e.bind(this):e):t}function Ui(e){let t=Pe+1,s=oe.length;for(;t<s;){const n=t+s>>>1,r=oe[n],i=Lt(r);i<e||i===e&&r.flags&2?t=n+1:s=n}return t}function Qs(e){if(!(e.flags&1)){const t=Lt(e),s=oe[oe.length-1];!s||!(e.flags&2)&&t>=Lt(s)?oe.push(e):oe.splice(Ui(t),0,e),e.flags|=1,yr()}}function yr(){ts||(ts=_r.then(xr))}function Wi(e){N(e)?dt.push(...e):Je&&e.id===-1?Je.splice(ft+1,0,e):e.flags&1||(dt.push(e),e.flags|=1),yr()}function pn(e,t,s=Pe+1){for(;s<oe.length;s++){const n=oe[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;oe.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function vr(e){if(dt.length){const t=[...new Set(dt)].sort((s,n)=>Lt(s)-Lt(n));if(dt.length=0,Je){Je.push(...t);return}for(Je=t,ft=0;ft<Je.length;ft++){const s=Je[ft];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}Je=null,ft=0}}const Lt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function xr(e){try{for(Pe=0;Pe<oe.length;Pe++){const t=oe[Pe];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ut(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Pe<oe.length;Pe++){const t=oe[Pe];t&&(t.flags&=-2)}Pe=-1,oe.length=0,vr(),ts=null,(oe.length||dt.length)&&xr()}}let xe=null,wr=null;function ss(e){const t=xe;return xe=e,wr=e&&e.type.__scopeId||null,t}function Bi(e,t=xe,s){if(!t||e._n)return e;const n=(...r)=>{n._d&&Tn(-1);const i=ss(t);let o;try{o=e(...r)}finally{ss(i),n._d&&Tn(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function Cs(e,t){if(xe===null)return e;const s=_s(xe),n=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,f=X]=t[r];i&&(D(i)&&(i={mounted:i,updated:i}),i.deep&&Ke(o),n.push({dir:i,instance:s,value:o,oldValue:void 0,arg:l,modifiers:f}))}return e}function tt(e,t,s,n){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let f=l.dir[n];f&&(We(),De(f,s,8,[e.el,l,e,t]),Be())}}function qi(e,t){if(le){let s=le.provides;const n=le.parent&&le.parent.provides;n===s&&(s=le.provides=Object.create(n)),s[e]=t}}function zt(e,t,s=!1){const n=qo();if(n||pt){let r=pt?pt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return s&&D(t)?t.call(n&&n.proxy):t}}const Xi=Symbol.for("v-scx"),ki=()=>zt(Xi);function ht(e,t,s){return Sr(e,t,s)}function Sr(e,t,s=X){const{immediate:n,deep:r,flush:i,once:o}=s,l=te({},s),f=t&&n||!t&&i!=="post";let d;if($t){if(i==="sync"){const O=ki();d=O.__watcherHandles||(O.__watcherHandles=[])}else if(!f){const O=()=>{};return O.stop=Re,O.resume=Re,O.pause=Re,O}}const a=le;l.call=(O,H,R)=>De(O,a,H,R);let p=!1;i==="post"?l.scheduler=O=>{he(O,a&&a.suspense)}:i!=="sync"&&(p=!0,l.scheduler=(O,H)=>{H?O():Qs(O)}),l.augmentJob=O=>{t&&(O.flags|=4),p&&(O.flags|=2,a&&(O.id=a.uid,O.i=a))};const E=ji(e,t,l);return $t&&(d?d.push(E):f&&E()),E}function Gi(e,t,s){const n=this.proxy,r=Q(e)?e.includes(".")?Cr(n,e):()=>n[e]:e.bind(n,n);let i;D(t)?i=t:(i=t.handler,s=t);const o=Wt(this),l=Sr(r,i.bind(n),s);return o(),l}function Cr(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;r<s.length&&n;r++)n=n[s[r]];return n}}const Ji=Symbol("_vte"),Yi=e=>e.__isTeleport,zi=Symbol("_leaveCb");function en(e,t){e.shapeFlag&6&&e.component?(e.transition=t,en(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Tr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function gn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const ns=new WeakMap;function Mt(e,t,s,n,r=!1){if(N(e)){e.forEach((R,z)=>Mt(R,t&&(N(t)?t[z]:t),s,n,r));return}if(Nt(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Mt(e,t,s,n.component.subTree);return}const i=n.shapeFlag&4?_s(n.component):n.el,o=r?null:i,{i:l,r:f}=e,d=t&&t.r,a=l.refs===X?l.refs={}:l.refs,p=l.setupState,E=B(p),O=p===X?Xn:R=>gn(a,R)?!1:j(E,R),H=(R,z)=>!(z&&gn(a,z));if(d!=null&&d!==f){if(mn(t),Q(d))a[d]=null,O(d)&&(p[d]=null);else if(ce(d)){const R=t;H(d,R.k)&&(d.value=null),R.k&&(a[R.k]=null)}}if(D(f))Ut(f,l,12,[o,a]);else{const R=Q(f),z=ce(f);if(R||z){const U=()=>{if(e.f){const V=R?O(f)?p[f]:a[f]:H()||!e.k?f.value:a[e.k];if(r)N(V)&&Bs(V,i);else if(N(V))V.includes(i)||V.push(i);else if(R)a[f]=[i],O(f)&&(p[f]=a[f]);else{const W=[i];H(f,e.k)&&(f.value=W),e.k&&(a[e.k]=W)}}else R?(a[f]=o,O(f)&&(p[f]=o)):z&&(H(f,e.k)&&(f.value=o),e.k&&(a[e.k]=o))};if(o){const V=()=>{U(),ns.delete(e)};V.id=-1,ns.set(e,V),he(V,s)}else mn(e),U()}}}function mn(e){const t=ns.get(e);t&&(t.flags|=8,ns.delete(e))}fs().requestIdleCallback;fs().cancelIdleCallback;const Nt=e=>!!e.type.__asyncLoader,Er=e=>e.type.__isKeepAlive;function Zi(e,t){Or(e,"a",t)}function Qi(e,t){Or(e,"da",t)}function Or(e,t,s=le){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ps(t,n,s),s){let r=s.parent;for(;r&&r.parent;)Er(r.parent.vnode)&&eo(n,t,s,r),r=r.parent}}function eo(e,t,s,n){const r=ps(t,e,n,!0);Pr(()=>{Bs(n[t],r)},s)}function ps(e,t,s=le,n=!1){if(s){const r=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...o)=>{We();const l=Wt(s),f=De(t,s,e,o);return l(),Be(),f});return n?r.unshift(i):r.push(i),i}}const Xe=e=>(t,s=le)=>{(!$t||e==="sp")&&ps(e,(...n)=>t(...n),s)},to=Xe("bm"),Ar=Xe("m"),so=Xe("bu"),no=Xe("u"),Ir=Xe("bum"),Pr=Xe("um"),ro=Xe("sp"),io=Xe("rtg"),oo=Xe("rtc");function lo(e,t=le){ps("ec",e,t)}const co=Symbol.for("v-ndc");function Jt(e,t,s,n){let r;const i=s,o=N(e);if(o||Q(e)){const l=o&&it(e);let f=!1,d=!1;l&&(f=!Ce(e),d=Ze(e),e=as(e)),r=new Array(e.length);for(let a=0,p=e.length;a<p;a++)r[a]=t(f?d?gt(qe(e[a])):qe(e[a]):e[a],a,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if(q(e))if(e[Symbol.iterator])r=Array.from(e,(l,f)=>t(l,f,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let f=0,d=l.length;f<d;f++){const a=l[f];r[f]=t(e[a],a,f,i)}}else r=[];return r}const Vs=e=>e?Yr(e)?_s(e):Vs(e.parent):null,Rt=te(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=>Vs(e.parent),$root:e=>Vs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Nr(e),$forceUpdate:e=>e.f||(e.f=()=>{Qs(e.update)}),$nextTick:e=>e.n||(e.n=br.bind(e.proxy)),$watch:e=>Gi.bind(e)}),Ts=(e,t)=>e!==X&&!e.__isScriptSetup&&j(e,t),fo={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:i,accessCache:o,type:l,appContext:f}=e;if(t[0]!=="$"){const E=o[t];if(E!==void 0)switch(E){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return i[t]}else{if(Ts(n,t))return o[t]=1,n[t];if(r!==X&&j(r,t))return o[t]=2,r[t];if(j(i,t))return o[t]=3,i[t];if(s!==X&&j(s,t))return o[t]=4,s[t];Ls&&(o[t]=0)}}const d=Rt[t];let a,p;if(d)return t==="$attrs"&&ee(e.attrs,"get",""),d(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(s!==X&&j(s,t))return o[t]=4,s[t];if(p=f.config.globalProperties,j(p,t))return p[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:i}=e;return Ts(r,t)?(r[t]=s,!0):n!==X&&j(n,t)?(n[t]=s,!0):j(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,props:i,type:o}},l){let f;return!!(s[l]||e!==X&&l[0]!=="$"&&j(e,l)||Ts(t,l)||j(i,l)||j(n,l)||j(Rt,l)||j(r.config.globalProperties,l)||(f=o.__cssModules)&&f[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:j(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function _n(e){return N(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Ls=!0;function uo(e){const t=Nr(e),s=e.proxy,n=e.ctx;Ls=!1,t.beforeCreate&&bn(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:f,inject:d,created:a,beforeMount:p,mounted:E,beforeUpdate:O,updated:H,activated:R,deactivated:z,beforeDestroy:U,beforeUnmount:V,destroyed:W,unmounted:I,render:Z,renderTracked:be,renderTriggered:fe,errorCaptured:ye,serverPrefetch:ke,expose:A,inheritAttrs:x,components:y,directives:ve,filters:ue}=t;if(d&&ao(d,n,null),o)for(const Y in o){const k=o[Y];D(k)&&(n[Y]=k.bind(s))}if(r){const Y=r.call(s,s);q(Y)&&(e.data=ds(Y))}if(Ls=!0,i)for(const Y in i){const k=i[Y],Qe=D(k)?k.bind(s,s):D(k.get)?k.get.bind(s,s):Re,Bt=!D(k)&&D(k.set)?k.set.bind(s):Re,et=Ge({get:Qe,set:Bt});Object.defineProperty(n,Y,{enumerable:!0,configurable:!0,get:()=>et.value,set:Te=>et.value=Te})}if(l)for(const Y in l)Mr(l[Y],n,s,Y);if(f){const Y=D(f)?f.call(s):f;Reflect.ownKeys(Y).forEach(k=>{qi(k,Y[k])})}a&&bn(a,e,"c");function se(Y,k){N(k)?k.forEach(Qe=>Y(Qe.bind(s))):k&&Y(k.bind(s))}if(se(to,p),se(Ar,E),se(so,O),se(no,H),se(Zi,R),se(Qi,z),se(lo,ye),se(oo,be),se(io,fe),se(Ir,V),se(Pr,I),se(ro,ke),N(A))if(A.length){const Y=e.exposed||(e.exposed={});A.forEach(k=>{Object.defineProperty(Y,k,{get:()=>s[k],set:Qe=>s[k]=Qe,enumerable:!0})})}else e.exposed||(e.exposed={});Z&&e.render===Re&&(e.render=Z),x!=null&&(e.inheritAttrs=x),y&&(e.components=y),ve&&(e.directives=ve),ke&&Tr(e)}function ao(e,t,s=Re){N(e)&&(e=Hs(e));for(const n in e){const r=e[n];let i;q(r)?"default"in r?i=zt(r.from||n,r.default,!0):i=zt(r.from||n):i=zt(r),ce(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[n]=i}}function bn(e,t,s){De(N(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Mr(e,t,s,n){let r=n.includes(".")?Cr(s,n):()=>s[n];if(Q(e)){const i=t[e];D(i)&&ht(r,i)}else if(D(e))ht(r,e.bind(s));else if(q(e))if(N(e))e.forEach(i=>Mr(i,t,s,n));else{const i=D(e.handler)?e.handler.bind(s):t[e.handler];D(i)&&ht(r,i,e)}}function Nr(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let f;return l?f=l:!r.length&&!s&&!n?f=t:(f={},r.length&&r.forEach(d=>rs(f,d,o,!0)),rs(f,t,o)),q(t)&&i.set(t,f),f}function rs(e,t,s,n=!1){const{mixins:r,extends:i}=t;i&&rs(e,i,s,!0),r&&r.forEach(o=>rs(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const l=ho[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const ho={data:yn,props:vn,emits:vn,methods:Ot,computed:Ot,beforeCreate:ie,created:ie,beforeMount:ie,mounted:ie,beforeUpdate:ie,updated:ie,beforeDestroy:ie,beforeUnmount:ie,destroyed:ie,unmounted:ie,activated:ie,deactivated:ie,errorCaptured:ie,serverPrefetch:ie,components:Ot,directives:Ot,watch:go,provide:yn,inject:po};function yn(e,t){return t?e?function(){return te(D(e)?e.call(this,this):e,D(t)?t.call(this,this):t)}:t:e}function po(e,t){return Ot(Hs(e),Hs(t))}function Hs(e){if(N(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function ie(e,t){return e?[...new Set([].concat(e,t))]:t}function Ot(e,t){return e?te(Object.create(null),e,t):t}function vn(e,t){return e?N(e)&&N(t)?[...new Set([...e,...t])]:te(Object.create(null),_n(e),_n(t??{})):t}function go(e,t){if(!e)return t;if(!t)return e;const s=te(Object.create(null),e);for(const n in t)s[n]=ie(e[n],t[n]);return s}function Rr(){return{app:null,config:{isNativeTag:Xn,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 mo=0;function _o(e,t){return function(n,r=null){D(n)||(n=te({},n)),r!=null&&!q(r)&&(r=null);const i=Rr(),o=new WeakSet,l=[];let f=!1;const d=i.app={_uid:mo++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:zo,get config(){return i.config},set config(a){},use(a,...p){return o.has(a)||(a&&D(a.install)?(o.add(a),a.install(d,...p)):D(a)&&(o.add(a),a(d,...p))),d},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),d},component(a,p){return p?(i.components[a]=p,d):i.components[a]},directive(a,p){return p?(i.directives[a]=p,d):i.directives[a]},mount(a,p,E){if(!f){const O=d._ceVNode||ot(n,r);return O.appContext=i,E===!0?E="svg":E===!1&&(E=void 0),e(O,a,E),f=!0,d._container=a,a.__vue_app__=d,_s(O.component)}},onUnmount(a){l.push(a)},unmount(){f&&(De(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(a,p){return i.provides[a]=p,d},runWithContext(a){const p=pt;pt=d;try{return a()}finally{pt=p}}};return d}}let pt=null;const bo=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${we(t)}Modifiers`]||e[`${lt(t)}Modifiers`];function yo(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||X;let r=s;const i=t.startsWith("update:"),o=i&&bo(n,t.slice(7));o&&(o.trim&&(r=s.map(a=>Q(a)?a.trim():a)),o.number&&(r=s.map(cs)));let l,f=n[l=ys(t)]||n[l=ys(we(t))];!f&&i&&(f=n[l=ys(lt(t))]),f&&De(f,e,6,r);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,De(d,e,6,r)}}const vo=new WeakMap;function Fr(e,t,s=!1){const n=s?vo:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!D(e)){const f=d=>{const a=Fr(d,t,!0);a&&(l=!0,te(o,a))};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!l?(q(e)&&n.set(e,null),null):(N(i)?i.forEach(f=>o[f]=null):te(o,i),q(e)&&n.set(e,o),o)}function gs(e,t){return!e||!os(t)?!1:(t=t.slice(2).replace(/Once$/,""),j(e,t[0].toLowerCase()+t.slice(1))||j(e,lt(t))||j(e,t))}function xn(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:f,render:d,renderCache:a,props:p,data:E,setupState:O,ctx:H,inheritAttrs:R}=e,z=ss(e);let U,V;try{if(s.shapeFlag&4){const I=r||n,Z=I;U=Ne(d.call(Z,I,a,p,O,E,H)),V=l}else{const I=t;U=Ne(I.length>1?I(p,{attrs:l,slots:o,emit:f}):I(p,null)),V=t.props?l:xo(l)}}catch(I){Ft.length=0,hs(I,e,1),U=ot(mt)}let W=U;if(V&&R!==!1){const I=Object.keys(V),{shapeFlag:Z}=W;I.length&&Z&7&&(i&&I.some(Ws)&&(V=wo(V,i)),W=_t(W,V,!1,!0))}return s.dirs&&(W=_t(W,null,!1,!0),W.dirs=W.dirs?W.dirs.concat(s.dirs):s.dirs),s.transition&&en(W,s.transition),U=W,ss(z),U}const xo=e=>{let t;for(const s in e)(s==="class"||s==="style"||os(s))&&((t||(t={}))[s]=e[s]);return t},wo=(e,t)=>{const s={};for(const n in e)(!Ws(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function So(e,t,s){const{props:n,children:r,component:i}=e,{props:o,children:l,patchFlag:f}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&f>=0){if(f&1024)return!0;if(f&16)return n?wn(n,o,d):!!o;if(f&8){const a=t.dynamicProps;for(let p=0;p<a.length;p++){const E=a[p];if(Dr(o,n,E)&&!gs(d,E))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:n===o?!1:n?o?wn(n,o,d):!0:!!o;return!1}function wn(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let r=0;r<n.length;r++){const i=n[r];if(Dr(t,e,i)&&!gs(s,i))return!0}return!1}function Dr(e,t,s){const n=e[s],r=t[s];return s==="style"&&q(n)&&q(r)?!vt(n,r):n!==r}function Co({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const Vr={},Lr=()=>Object.create(Vr),Hr=e=>Object.getPrototypeOf(e)===Vr;function To(e,t,s,n=!1){const r={},i=Lr();e.propsDefaults=Object.create(null),$r(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);s?e.props=n?r:Ri(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Eo(e,t,s,n){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=B(r),[f]=e.propsOptions;let d=!1;if((n||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let p=0;p<a.length;p++){let E=a[p];if(gs(e.emitsOptions,E))continue;const O=t[E];if(f)if(j(i,E))O!==i[E]&&(i[E]=O,d=!0);else{const H=we(E);r[H]=$s(f,l,H,O,e,!1)}else O!==i[E]&&(i[E]=O,d=!0)}}}else{$r(e,t,r,i)&&(d=!0);let a;for(const p in l)(!t||!j(t,p)&&((a=lt(p))===p||!j(t,a)))&&(f?s&&(s[p]!==void 0||s[a]!==void 0)&&(r[p]=$s(f,l,p,void 0,e,!0)):delete r[p]);if(i!==l)for(const p in i)(!t||!j(t,p))&&(delete i[p],d=!0)}d&&je(e.attrs,"set","")}function $r(e,t,s,n){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let f in t){if(At(f))continue;const d=t[f];let a;r&&j(r,a=we(f))?!i||!i.includes(a)?s[a]=d:(l||(l={}))[a]=d:gs(e.emitsOptions,f)||(!(f in n)||d!==n[f])&&(n[f]=d,o=!0)}if(i){const f=B(s),d=l||X;for(let a=0;a<i.length;a++){const p=i[a];s[p]=$s(r,f,p,d[p],e,!j(d,p))}}return o}function $s(e,t,s,n,r,i){const o=e[s];if(o!=null){const l=j(o,"default");if(l&&n===void 0){const f=o.default;if(o.type!==Function&&!o.skipFactory&&D(f)){const{propsDefaults:d}=r;if(s in d)n=d[s];else{const a=Wt(r);n=d[s]=f.call(null,t),a()}}else n=f;r.ce&&r.ce._setProp(s,n)}o[0]&&(i&&!l?n=!1:o[1]&&(n===""||n===lt(s))&&(n=!0))}return n}const Oo=new WeakMap;function jr(e,t,s=!1){const n=s?Oo:t.propsCache,r=n.get(e);if(r)return r;const i=e.props,o={},l=[];let f=!1;if(!D(e)){const a=p=>{f=!0;const[E,O]=jr(p,t,!0);te(o,E),O&&l.push(...O)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!f)return q(e)&&n.set(e,ut),ut;if(N(i))for(let a=0;a<i.length;a++){const p=we(i[a]);Sn(p)&&(o[p]=X)}else if(i)for(const a in i){const p=we(a);if(Sn(p)){const E=i[a],O=o[p]=N(E)||D(E)?{type:E}:te({},E),H=O.type;let R=!1,z=!0;if(N(H))for(let U=0;U<H.length;++U){const V=H[U],W=D(V)&&V.name;if(W==="Boolean"){R=!0;break}else W==="String"&&(z=!1)}else R=D(H)&&H.name==="Boolean";O[0]=R,O[1]=z,(R||j(O,"default"))&&l.push(p)}}const d=[o,l];return q(e)&&n.set(e,d),d}function Sn(e){return e[0]!=="$"&&!At(e)}const tn=e=>e==="_"||e==="_ctx"||e==="$stable",sn=e=>N(e)?e.map(Ne):[Ne(e)],Ao=(e,t,s)=>{if(t._n)return t;const n=Bi((...r)=>sn(t(...r)),s);return n._c=!1,n},Kr=(e,t,s)=>{const n=e._ctx;for(const r in e){if(tn(r))continue;const i=e[r];if(D(i))t[r]=Ao(r,i,n);else if(i!=null){const o=sn(i);t[r]=()=>o}}},Ur=(e,t)=>{const s=sn(t);e.slots.default=()=>s},Wr=(e,t,s)=>{for(const n in t)(s||!tn(n))&&(e[n]=t[n])},Io=(e,t,s)=>{const n=e.slots=Lr();if(e.vnode.shapeFlag&32){const r=t._;r?(Wr(n,t,s),s&&zn(n,"_",r,!0)):Kr(t,n)}else t&&Ur(e,t)},Po=(e,t,s)=>{const{vnode:n,slots:r}=e;let i=!0,o=X;if(n.shapeFlag&32){const l=t._;l?s&&l===1?i=!1:Wr(r,t,s):(i=!t.$stable,Kr(t,r)),o=t}else t&&(Ur(e,t),o={default:1});if(i)for(const l in r)!tn(l)&&o[l]==null&&delete r[l]},he=Do;function Mo(e){return No(e)}function No(e,t){const s=fs();s.__VUE__=!0;const{insert:n,remove:r,patchProp:i,createElement:o,createText:l,createComment:f,setText:d,setElementText:a,parentNode:p,nextSibling:E,setScopeId:O=Re,insertStaticContent:H}=e,R=(c,u,h,b=null,g=null,m=null,C=void 0,S=null,v=!!u.dynamicChildren)=>{if(c===u)return;c&&!Et(c,u)&&(b=qt(c),Te(c,g,m,!0),c=null),u.patchFlag===-2&&(v=!1,u.dynamicChildren=null);const{type:_,ref:M,shapeFlag:T}=u;switch(_){case ms:z(c,u,h,b);break;case mt:U(c,u,h,b);break;case Os:c==null&&V(u,h,b,C);break;case me:y(c,u,h,b,g,m,C,S,v);break;default:T&1?Z(c,u,h,b,g,m,C,S,v):T&6?ve(c,u,h,b,g,m,C,S,v):(T&64||T&128)&&_.process(c,u,h,b,g,m,C,S,v,St)}M!=null&&g?Mt(M,c&&c.ref,m,u||c,!u):M==null&&c&&c.ref!=null&&Mt(c.ref,null,m,c,!0)},z=(c,u,h,b)=>{if(c==null)n(u.el=l(u.children),h,b);else{const g=u.el=c.el;u.children!==c.children&&d(g,u.children)}},U=(c,u,h,b)=>{c==null?n(u.el=f(u.children||""),h,b):u.el=c.el},V=(c,u,h,b)=>{[c.el,c.anchor]=H(c.children,u,h,b,c.el,c.anchor)},W=({el:c,anchor:u},h,b)=>{let g;for(;c&&c!==u;)g=E(c),n(c,h,b),c=g;n(u,h,b)},I=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=E(c),r(c),c=h;r(u)},Z=(c,u,h,b,g,m,C,S,v)=>{if(u.type==="svg"?C="svg":u.type==="math"&&(C="mathml"),c==null)be(u,h,b,g,m,C,S,v);else{const _=c.el&&c.el._isVueCE?c.el:null;try{_&&_._beginPatch(),ke(c,u,g,m,C,S,v)}finally{_&&_._endPatch()}}},be=(c,u,h,b,g,m,C,S)=>{let v,_;const{props:M,shapeFlag:T,transition:P,dirs:F}=c;if(v=c.el=o(c.type,m,M&&M.is,M),T&8?a(v,c.children):T&16&&ye(c.children,v,null,b,g,Es(c,m),C,S),F&&tt(c,null,b,"created"),fe(v,c,c.scopeId,C,b),M){for(const G in M)G!=="value"&&!At(G)&&i(v,G,null,M[G],m,b);"value"in M&&i(v,"value",null,M.value,m),(_=M.onVnodeBeforeMount)&&Ie(_,b,c)}F&&tt(c,null,b,"beforeMount");const L=Ro(g,P);L&&P.beforeEnter(v),n(v,u,h),((_=M&&M.onVnodeMounted)||L||F)&&he(()=>{_&&Ie(_,b,c),L&&P.enter(v),F&&tt(c,null,b,"mounted")},g)},fe=(c,u,h,b,g)=>{if(h&&O(c,h),b)for(let m=0;m<b.length;m++)O(c,b[m]);if(g){let m=g.subTree;if(u===m||kr(m.type)&&(m.ssContent===u||m.ssFallback===u)){const C=g.vnode;fe(c,C,C.scopeId,C.slotScopeIds,g.parent)}}},ye=(c,u,h,b,g,m,C,S,v=0)=>{for(let _=v;_<c.length;_++){const M=c[_]=S?He(c[_]):Ne(c[_]);R(null,M,u,h,b,g,m,C,S)}},ke=(c,u,h,b,g,m,C)=>{const S=u.el=c.el;let{patchFlag:v,dynamicChildren:_,dirs:M}=u;v|=c.patchFlag&16;const T=c.props||X,P=u.props||X;let F;if(h&&st(h,!1),(F=P.onVnodeBeforeUpdate)&&Ie(F,h,u,c),M&&tt(u,c,h,"beforeUpdate"),h&&st(h,!0),(T.innerHTML&&P.innerHTML==null||T.textContent&&P.textContent==null)&&a(S,""),_?A(c.dynamicChildren,_,S,h,b,Es(u,g),m):C||k(c,u,S,null,h,b,Es(u,g),m,!1),v>0){if(v&16)x(S,T,P,h,g);else if(v&2&&T.class!==P.class&&i(S,"class",null,P.class,g),v&4&&i(S,"style",T.style,P.style,g),v&8){const L=u.dynamicProps;for(let G=0;G<L.length;G++){const K=L[G],ae=T[K],de=P[K];(de!==ae||K==="value")&&i(S,K,ae,de,g,h)}}v&1&&c.children!==u.children&&a(S,u.children)}else!C&&_==null&&x(S,T,P,h,g);((F=P.onVnodeUpdated)||M)&&he(()=>{F&&Ie(F,h,u,c),M&&tt(u,c,h,"updated")},b)},A=(c,u,h,b,g,m,C)=>{for(let S=0;S<u.length;S++){const v=c[S],_=u[S],M=v.el&&(v.type===me||!Et(v,_)||v.shapeFlag&198)?p(v.el):h;R(v,_,M,null,b,g,m,C,!0)}},x=(c,u,h,b,g)=>{if(u!==h){if(u!==X)for(const m in u)!At(m)&&!(m in h)&&i(c,m,u[m],null,g,b);for(const m in h){if(At(m))continue;const C=h[m],S=u[m];C!==S&&m!=="value"&&i(c,m,S,C,g,b)}"value"in h&&i(c,"value",u.value,h.value,g)}},y=(c,u,h,b,g,m,C,S,v)=>{const _=u.el=c?c.el:l(""),M=u.anchor=c?c.anchor:l("");let{patchFlag:T,dynamicChildren:P,slotScopeIds:F}=u;F&&(S=S?S.concat(F):F),c==null?(n(_,h,b),n(M,h,b),ye(u.children||[],h,M,g,m,C,S,v)):T>0&&T&64&&P&&c.dynamicChildren&&c.dynamicChildren.length===P.length?(A(c.dynamicChildren,P,h,g,m,C,S),(u.key!=null||g&&u===g.subTree)&&Br(c,u,!0)):k(c,u,h,M,g,m,C,S,v)},ve=(c,u,h,b,g,m,C,S,v)=>{u.slotScopeIds=S,c==null?u.shapeFlag&512?g.ctx.activate(u,h,b,C,v):ue(u,h,b,g,m,C,v):xt(c,u,v)},ue=(c,u,h,b,g,m,C)=>{const S=c.component=Bo(c,b,g);if(Er(c)&&(S.ctx.renderer=St),Xo(S,!1,C),S.asyncDep){if(g&&g.registerDep(S,se,C),!c.el){const v=S.subTree=ot(mt);U(null,v,u,h),c.placeholder=v.el}}else se(S,c,u,h,g,m,C)},xt=(c,u,h)=>{const b=u.component=c.component;if(So(c,u,h))if(b.asyncDep&&!b.asyncResolved){Y(b,u,h);return}else b.next=u,b.update();else u.el=c.el,b.vnode=u},se=(c,u,h,b,g,m,C)=>{const S=()=>{if(c.isMounted){let{next:T,bu:P,u:F,parent:L,vnode:G}=c;{const Oe=qr(c);if(Oe){T&&(T.el=G.el,Y(c,T,C)),Oe.asyncDep.then(()=>{he(()=>{c.isUnmounted||_()},g)});return}}let K=T,ae;st(c,!1),T?(T.el=G.el,Y(c,T,C)):T=G,P&&Yt(P),(ae=T.props&&T.props.onVnodeBeforeUpdate)&&Ie(ae,L,T,G),st(c,!0);const de=xn(c),Ee=c.subTree;c.subTree=de,R(Ee,de,p(Ee.el),qt(Ee),c,g,m),T.el=de.el,K===null&&Co(c,de.el),F&&he(F,g),(ae=T.props&&T.props.onVnodeUpdated)&&he(()=>Ie(ae,L,T,G),g)}else{let T;const{el:P,props:F}=u,{bm:L,m:G,parent:K,root:ae,type:de}=c,Ee=Nt(u);st(c,!1),L&&Yt(L),!Ee&&(T=F&&F.onVnodeBeforeMount)&&Ie(T,K,u),st(c,!0);{ae.ce&&ae.ce._hasShadowRoot()&&ae.ce._injectChildStyle(de,c.parent?c.parent.type:void 0);const Oe=c.subTree=xn(c);R(null,Oe,h,b,c,g,m),u.el=Oe.el}if(G&&he(G,g),!Ee&&(T=F&&F.onVnodeMounted)){const Oe=u;he(()=>Ie(T,K,Oe),g)}(u.shapeFlag&256||K&&Nt(K.vnode)&&K.vnode.shapeFlag&256)&&c.a&&he(c.a,g),c.isMounted=!0,u=h=b=null}};c.scope.on();const v=c.effect=new tr(S);c.scope.off();const _=c.update=v.run.bind(v),M=c.job=v.runIfDirty.bind(v);M.i=c,M.id=c.uid,v.scheduler=()=>Qs(M),st(c,!0),_()},Y=(c,u,h)=>{u.component=c;const b=c.vnode.props;c.vnode=u,c.next=null,Eo(c,u.props,b,h),Po(c,u.children,h),We(),pn(c),Be()},k=(c,u,h,b,g,m,C,S,v=!1)=>{const _=c&&c.children,M=c?c.shapeFlag:0,T=u.children,{patchFlag:P,shapeFlag:F}=u;if(P>0){if(P&128){Bt(_,T,h,b,g,m,C,S,v);return}else if(P&256){Qe(_,T,h,b,g,m,C,S,v);return}}F&8?(M&16&&wt(_,g,m),T!==_&&a(h,T)):M&16?F&16?Bt(_,T,h,b,g,m,C,S,v):wt(_,g,m,!0):(M&8&&a(h,""),F&16&&ye(T,h,b,g,m,C,S,v))},Qe=(c,u,h,b,g,m,C,S,v)=>{c=c||ut,u=u||ut;const _=c.length,M=u.length,T=Math.min(_,M);let P;for(P=0;P<T;P++){const F=u[P]=v?He(u[P]):Ne(u[P]);R(c[P],F,h,null,g,m,C,S,v)}_>M?wt(c,g,m,!0,!1,T):ye(u,h,b,g,m,C,S,v,T)},Bt=(c,u,h,b,g,m,C,S,v)=>{let _=0;const M=u.length;let T=c.length-1,P=M-1;for(;_<=T&&_<=P;){const F=c[_],L=u[_]=v?He(u[_]):Ne(u[_]);if(Et(F,L))R(F,L,h,null,g,m,C,S,v);else break;_++}for(;_<=T&&_<=P;){const F=c[T],L=u[P]=v?He(u[P]):Ne(u[P]);if(Et(F,L))R(F,L,h,null,g,m,C,S,v);else break;T--,P--}if(_>T){if(_<=P){const F=P+1,L=F<M?u[F].el:b;for(;_<=P;)R(null,u[_]=v?He(u[_]):Ne(u[_]),h,L,g,m,C,S,v),_++}}else if(_>P)for(;_<=T;)Te(c[_],g,m,!0),_++;else{const F=_,L=_,G=new Map;for(_=L;_<=P;_++){const ge=u[_]=v?He(u[_]):Ne(u[_]);ge.key!=null&&G.set(ge.key,_)}let K,ae=0;const de=P-L+1;let Ee=!1,Oe=0;const Ct=new Array(de);for(_=0;_<de;_++)Ct[_]=0;for(_=F;_<=T;_++){const ge=c[_];if(ae>=de){Te(ge,g,m,!0);continue}let Ae;if(ge.key!=null)Ae=G.get(ge.key);else for(K=L;K<=P;K++)if(Ct[K-L]===0&&Et(ge,u[K])){Ae=K;break}Ae===void 0?Te(ge,g,m,!0):(Ct[Ae-L]=_+1,Ae>=Oe?Oe=Ae:Ee=!0,R(ge,u[Ae],h,null,g,m,C,S,v),ae++)}const ln=Ee?Fo(Ct):ut;for(K=ln.length-1,_=de-1;_>=0;_--){const ge=L+_,Ae=u[ge],cn=u[ge+1],fn=ge+1<M?cn.el||Xr(cn):b;Ct[_]===0?R(null,Ae,h,fn,g,m,C,S,v):Ee&&(K<0||_!==ln[K]?et(Ae,h,fn,2):K--)}}},et=(c,u,h,b,g=null)=>{const{el:m,type:C,transition:S,children:v,shapeFlag:_}=c;if(_&6){et(c.component.subTree,u,h,b);return}if(_&128){c.suspense.move(u,h,b);return}if(_&64){C.move(c,u,h,St);return}if(C===me){n(m,u,h);for(let T=0;T<v.length;T++)et(v[T],u,h,b);n(c.anchor,u,h);return}if(C===Os){W(c,u,h);return}if(b!==2&&_&1&&S)if(b===0)S.beforeEnter(m),n(m,u,h),he(()=>S.enter(m),g);else{const{leave:T,delayLeave:P,afterLeave:F}=S,L=()=>{c.ctx.isUnmounted?r(m):n(m,u,h)},G=()=>{m._isLeaving&&m[zi](!0),T(m,()=>{L(),F&&F()})};P?P(m,L,G):G()}else n(m,u,h)},Te=(c,u,h,b=!1,g=!1)=>{const{type:m,props:C,ref:S,children:v,dynamicChildren:_,shapeFlag:M,patchFlag:T,dirs:P,cacheIndex:F}=c;if(T===-2&&(g=!1),S!=null&&(We(),Mt(S,null,h,c,!0),Be()),F!=null&&(u.renderCache[F]=void 0),M&256){u.ctx.deactivate(c);return}const L=M&1&&P,G=!Nt(c);let K;if(G&&(K=C&&C.onVnodeBeforeUnmount)&&Ie(K,u,c),M&6)ti(c.component,h,b);else{if(M&128){c.suspense.unmount(h,b);return}L&&tt(c,null,u,"beforeUnmount"),M&64?c.type.remove(c,u,h,St,b):_&&!_.hasOnce&&(m!==me||T>0&&T&64)?wt(_,u,h,!1,!0):(m===me&&T&384||!g&&M&16)&&wt(v,u,h),b&&rn(c)}(G&&(K=C&&C.onVnodeUnmounted)||L)&&he(()=>{K&&Ie(K,u,c),L&&tt(c,null,u,"unmounted")},h)},rn=c=>{const{type:u,el:h,anchor:b,transition:g}=c;if(u===me){ei(h,b);return}if(u===Os){I(c);return}const m=()=>{r(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(c.shapeFlag&1&&g&&!g.persisted){const{leave:C,delayLeave:S}=g,v=()=>C(h,m);S?S(c.el,m,v):v()}else m()},ei=(c,u)=>{let h;for(;c!==u;)h=E(c),r(c),c=h;r(u)},ti=(c,u,h)=>{const{bum:b,scope:g,job:m,subTree:C,um:S,m:v,a:_}=c;Cn(v),Cn(_),b&&Yt(b),g.stop(),m&&(m.flags|=8,Te(C,c,u,h)),S&&he(S,u),he(()=>{c.isUnmounted=!0},u)},wt=(c,u,h,b=!1,g=!1,m=0)=>{for(let C=m;C<c.length;C++)Te(c[C],u,h,b,g)},qt=c=>{if(c.shapeFlag&6)return qt(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const u=E(c.anchor||c.el),h=u&&u[Ji];return h?E(h):u};let bs=!1;const on=(c,u,h)=>{let b;c==null?u._vnode&&(Te(u._vnode,null,null,!0),b=u._vnode.component):R(u._vnode||null,c,u,null,null,null,h),u._vnode=c,bs||(bs=!0,pn(b),vr(),bs=!1)},St={p:R,um:Te,m:et,r:rn,mt:ue,mc:ye,pc:k,pbc:A,n:qt,o:e};return{render:on,hydrate:void 0,createApp:_o(on)}}function Es({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 st({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ro(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Br(e,t,s=!1){const n=e.children,r=t.children;if(N(n)&&N(r))for(let i=0;i<n.length;i++){const o=n[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=He(r[i]),l.el=o.el),!s&&l.patchFlag!==-2&&Br(o,l)),l.type===ms&&(l.patchFlag===-1&&(l=r[i]=He(l)),l.el=o.el),l.type===mt&&!l.el&&(l.el=o.el)}}function Fo(e){const t=e.slice(),s=[0];let n,r,i,o,l;const f=e.length;for(n=0;n<f;n++){const d=e[n];if(d!==0){if(r=s[s.length-1],e[r]<d){t[n]=r,s.push(n);continue}for(i=0,o=s.length-1;i<o;)l=i+o>>1,e[s[l]]<d?i=l+1:o=l;d<e[s[i]]&&(i>0&&(t[n]=s[i-1]),s[i]=n)}}for(i=s.length,o=s[i-1];i-- >0;)s[i]=o,o=t[o];return s}function qr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qr(t)}function Cn(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Xr(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Xr(t.subTree):null}const kr=e=>e.__isSuspense;function Do(e,t){t&&t.pendingBranch?N(e)?t.effects.push(...e):t.effects.push(e):Wi(e)}const me=Symbol.for("v-fgt"),ms=Symbol.for("v-txt"),mt=Symbol.for("v-cmt"),Os=Symbol.for("v-stc"),Ft=[];let _e=null;function ne(e=!1){Ft.push(_e=e?null:[])}function Vo(){Ft.pop(),_e=Ft[Ft.length-1]||null}let Ht=1;function Tn(e,t=!1){Ht+=e,e<0&&_e&&t&&(_e.hasOnce=!0)}function Lo(e){return e.dynamicChildren=Ht>0?_e||ut:null,Vo(),Ht>0&&_e&&_e.push(e),e}function re(e,t,s,n,r,i){return Lo(w(e,t,s,n,r,i,!0))}function Gr(e){return e?e.__v_isVNode===!0:!1}function Et(e,t){return e.type===t.type&&e.key===t.key}const Jr=({key:e})=>e??null,Zt=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Q(e)||ce(e)||D(e)?{i:xe,r:e,k:t,f:!!s}:e:null);function w(e,t=null,s=null,n=0,r=null,i=e===me?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Jr(t),ref:t&&Zt(t),scopeId:wr,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:i,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:xe};return l?(nn(f,s),i&128&&e.normalize(f)):s&&(f.shapeFlag|=Q(s)?8:16),Ht>0&&!o&&_e&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&_e.push(f),f}const ot=Ho;function Ho(e,t=null,s=null,n=0,r=null,i=!1){if((!e||e===co)&&(e=mt),Gr(e)){const l=_t(e,t,!0);return s&&nn(l,s),Ht>0&&!i&&_e&&(l.shapeFlag&6?_e[_e.indexOf(e)]=l:_e.push(l)),l.patchFlag=-2,l}if(Yo(e)&&(e=e.__vccOpts),t){t=$o(t);let{class:l,style:f}=t;l&&!Q(l)&&(t.class=Ye(l)),q(f)&&(Zs(f)&&!N(f)&&(f=te({},f)),t.style=us(f))}const o=Q(e)?1:kr(e)?128:Yi(e)?64:q(e)?4:D(e)?2:0;return w(e,t,s,n,r,o,i,!0)}function $o(e){return e?Zs(e)||Hr(e)?te({},e):e:null}function _t(e,t,s=!1,n=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:f}=e,d=t?Ko(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Jr(d),ref:t&&t.ref?s&&i?N(i)?i.concat(Zt(t)):[i,Zt(t)]:Zt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&_t(e.ssContent),ssFallback:e.ssFallback&&_t(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return f&&n&&en(a,f.clone(a)),a}function jo(e=" ",t=0){return ot(ms,null,e,t)}function Ne(e){return e==null||typeof e=="boolean"?ot(mt):N(e)?ot(me,null,e.slice()):Gr(e)?He(e):ot(ms,null,String(e))}function He(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:_t(e)}function nn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(N(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),nn(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!Hr(t)?t._ctx=xe:r===3&&xe&&(xe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else D(t)?(t={default:t,_ctx:xe},s=32):(t=String(t),n&64?(s=16,t=[jo(t)]):s=8);e.children=t,e.shapeFlag|=s}function Ko(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const r in n)if(r==="class")t.class!==n.class&&(t.class=Ye([t.class,n.class]));else if(r==="style")t.style=us([t.style,n.style]);else if(os(r)){const i=t[r],o=n[r];o&&i!==o&&!(N(i)&&i.includes(o))&&(t[r]=i?[].concat(i,o):o)}else r!==""&&(t[r]=n[r])}return t}function Ie(e,t,s,n=null){De(e,t,7,[s,n])}const Uo=Rr();let Wo=0;function Bo(e,t,s){const n=e.type,r=(t?t.appContext:e.appContext)||Uo,i={uid:Wo++,vnode:e,type:n,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new hi(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:jr(n,r),emitsOptions:Fr(n,r),emit:null,emitted:null,propsDefaults:X,inheritAttrs:n.inheritAttrs,ctx:X,data:X,props:X,attrs:X,slots:X,refs:X,setupState:X,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 i.ctx={_:i},i.root=t?t.root:i,i.emit=yo.bind(null,i),e.ce&&e.ce(i),i}let le=null;const qo=()=>le||xe;let is,js;{const e=fs(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};is=t("__VUE_INSTANCE_SETTERS__",s=>le=s),js=t("__VUE_SSR_SETTERS__",s=>$t=s)}const Wt=e=>{const t=le;return is(e),e.scope.on(),()=>{e.scope.off(),is(t)}},En=()=>{le&&le.scope.off(),is(null)};function Yr(e){return e.vnode.shapeFlag&4}let $t=!1;function Xo(e,t=!1,s=!1){t&&js(t);const{props:n,children:r}=e.vnode,i=Yr(e);To(e,n,i,t),Io(e,r,s||t);const o=i?ko(e,t):void 0;return t&&js(!1),o}function ko(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,fo);const{setup:n}=s;if(n){We();const r=e.setupContext=n.length>1?Jo(e):null,i=Wt(e),o=Ut(n,e,0,[e.props,r]),l=kn(o);if(Be(),i(),(l||e.sp)&&!Nt(e)&&Tr(e),l){if(o.then(En,En),t)return o.then(f=>{On(e,f)}).catch(f=>{hs(f,e,0)});e.asyncDep=o}else On(e,o)}else zr(e)}function On(e,t,s){D(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:q(t)&&(e.setupState=mr(t)),zr(e)}function zr(e,t,s){const n=e.type;e.render||(e.render=n.render||Re);{const r=Wt(e);We();try{uo(e)}finally{Be(),r()}}}const Go={get(e,t){return ee(e,"get",""),e[t]}};function Jo(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Go),slots:e.slots,emit:e.emit,expose:t}}function _s(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mr(Fi(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Rt)return Rt[s](e)},has(t,s){return s in t||s in Rt}})):e.proxy}function Yo(e){return D(e)&&"__vccOpts"in e}const Ge=(e,t)=>Hi(e,t,$t),zo="3.5.30";let Ks;const An=typeof window<"u"&&window.trustedTypes;if(An)try{Ks=An.createPolicy("vue",{createHTML:e=>e})}catch{}const Zr=Ks?e=>Ks.createHTML(e):e=>e,Zo="http://www.w3.org/2000/svg",Qo="http://www.w3.org/1998/Math/MathML",Le=typeof document<"u"?document:null,In=Le&&Le.createElement("template"),el={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?Le.createElementNS(Zo,e):t==="mathml"?Le.createElementNS(Qo,e):s?Le.createElement(e,{is:s}):Le.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>Le.createTextNode(e),createComment:e=>Le.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Le.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,i){const o=s?s.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===i||!(r=r.nextSibling)););else{In.innerHTML=Zr(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=In.content;if(n==="svg"||n==="mathml"){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},tl=Symbol("_vtc");function sl(e,t,s){const n=e[tl];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Pn=Symbol("_vod"),nl=Symbol("_vsh"),rl=Symbol(""),il=/(?:^|;)\s*display\s*:/;function ol(e,t,s){const n=e.style,r=Q(s);let i=!1;if(s&&!r){if(t)if(Q(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Qt(n,l,"")}else for(const o in t)s[o]==null&&Qt(n,o,"");for(const o in s)o==="display"&&(i=!0),Qt(n,o,s[o])}else if(r){if(t!==s){const o=n[rl];o&&(s+=";"+o),n.cssText=s,i=il.test(s)}}else t&&e.removeAttribute("style");Pn in e&&(e[Pn]=i?n.display:"",e[nl]&&(n.display="none"))}const Mn=/\s*!important$/;function Qt(e,t,s){if(N(s))s.forEach(n=>Qt(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=ll(e,t);Mn.test(s)?e.setProperty(lt(n),s.replace(Mn,""),"important"):e[n]=s}}const Nn=["Webkit","Moz","ms"],As={};function ll(e,t){const s=As[t];if(s)return s;let n=we(t);if(n!=="filter"&&n in e)return As[t]=n;n=Yn(n);for(let r=0;r<Nn.length;r++){const i=Nn[r]+n;if(i in e)return As[t]=i}return t}const Rn="http://www.w3.org/1999/xlink";function Fn(e,t,s,n,r,i=ai(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(Rn,t.slice(6,t.length)):e.setAttributeNS(Rn,t,s):s==null||i&&!Zn(s)?e.removeAttribute(t):e.setAttribute(t,i?"":Fe(s)?String(s):s)}function Dn(e,t,s,n,r){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Zr(s):s);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,f=s==null?e.type==="checkbox"?"on":"":String(s);(l!==f||!("_value"in e))&&(e.value=f),s==null&&e.removeAttribute(t),e._value=s;return}let o=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=Zn(s):s==null&&l==="string"?(s="",o=!0):l==="number"&&(s=0,o=!0)}try{e[t]=s}catch{}o&&e.removeAttribute(r||t)}function ze(e,t,s,n){e.addEventListener(t,s,n)}function cl(e,t,s,n){e.removeEventListener(t,s,n)}const Vn=Symbol("_vei");function fl(e,t,s,n,r=null){const i=e[Vn]||(e[Vn]={}),o=i[t];if(n&&o)o.value=n;else{const[l,f]=ul(t);if(n){const d=i[t]=hl(n,r);ze(e,l,d,f)}else o&&(cl(e,l,o,f),i[t]=void 0)}}const Ln=/(?:Once|Passive|Capture)$/;function ul(e){let t;if(Ln.test(e)){t={};let n;for(;n=e.match(Ln);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):lt(e.slice(2)),t]}let Is=0;const al=Promise.resolve(),dl=()=>Is||(al.then(()=>Is=0),Is=Date.now());function hl(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;De(pl(n,s.value),t,5,[n])};return s.value=e,s.attached=dl(),s}function pl(e,t){if(N(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const Hn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,gl=(e,t,s,n,r,i)=>{const o=r==="svg";t==="class"?sl(e,n,o):t==="style"?ol(e,s,n):os(t)?Ws(t)||fl(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ml(e,t,n,o))?(Dn(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fn(e,t,n,o,i,t!=="value")):e._isVueCE&&(_l(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Q(n)))?Dn(e,we(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fn(e,t,n,o))};function ml(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Hn(t)&&D(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Hn(t)&&Q(s)?!1:t in e}function _l(e,t){const s=e._def.props;if(!s)return!1;const n=we(t);return Array.isArray(s)?s.some(r=>we(r)===n):Object.keys(s).some(r=>we(r)===n)}const bt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return N(t)?s=>Yt(t,s):t};function bl(e){e.target.composing=!0}function $n(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ue=Symbol("_assign");function jn(e,t,s){return t&&(e=e.trim()),s&&(e=cs(e)),e}const yl={created(e,{modifiers:{lazy:t,trim:s,number:n}},r){e[Ue]=bt(r);const i=n||r.props&&r.props.type==="number";ze(e,t?"change":"input",o=>{o.target.composing||e[Ue](jn(e.value,s,i))}),(s||i)&&ze(e,"change",()=>{e.value=jn(e.value,s,i)}),t||(ze(e,"compositionstart",bl),ze(e,"compositionend",$n),ze(e,"change",$n))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:r,number:i}},o){if(e[Ue]=bt(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?cs(e.value):e.value,f=t??"";l!==f&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||r&&e.value.trim()===f)||(e.value=f))}},vl={deep:!0,created(e,t,s){e[Ue]=bt(s),ze(e,"change",()=>{const n=e._modelValue,r=jt(e),i=e.checked,o=e[Ue];if(N(n)){const l=Xs(n,r),f=l!==-1;if(i&&!f)o(n.concat(r));else if(!i&&f){const d=[...n];d.splice(l,1),o(d)}}else if(yt(n)){const l=new Set(n);i?l.add(r):l.delete(r),o(l)}else o(Qr(e,i))})},mounted:Kn,beforeUpdate(e,t,s){e[Ue]=bt(s),Kn(e,t,s)}};function Kn(e,{value:t,oldValue:s},n){e._modelValue=t;let r;if(N(t))r=Xs(t,n.props.value)>-1;else if(yt(t))r=t.has(n.props.value);else{if(t===s)return;r=vt(t,Qr(e,!0))}e.checked!==r&&(e.checked=r)}const xl={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const r=yt(t);ze(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>s?cs(jt(o)):jt(o));e[Ue](e.multiple?r?new Set(i):i:i[0]),e._assigning=!0,br(()=>{e._assigning=!1})}),e[Ue]=bt(n)},mounted(e,{value:t}){Un(e,t)},beforeUpdate(e,t,s){e[Ue]=bt(s)},updated(e,{value:t}){e._assigning||Un(e,t)}};function Un(e,t){const s=e.multiple,n=N(t);if(!(s&&!n&&!yt(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=jt(o);if(s)if(n){const f=typeof l;f==="string"||f==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=Xs(t,l)>-1}else o.selected=t.has(l);else if(vt(jt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function jt(e){return"_value"in e?e._value:e.value}function Qr(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const wl=te({patchProp:gl},el);let Wn;function Sl(){return Wn||(Wn=Mo(wl))}const Cl=((...e)=>{const t=Sl().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=El(n);if(!r)return;const i=t._component;!D(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=s(r,!1,Tl(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function Tl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function El(e){return Q(e)?document.querySelector(e):e}const Ol={class:"page-shell"},Al={class:"topbar"},Il={class:"toolbar"},Pl=["value"],Ml={class:"checkbox"},Nl=["disabled"],Rl={class:"statusbar"},Fl={class:"pill-row"},Dl={class:"pill neutral"},Vl={class:"pill success"},Ll={class:"pill neutral"},Hl={class:"pill warn"},$l={class:"metric-grid"},jl={class:"metric-card"},Kl={class:"metric-card"},Ul={class:"metric-card"},Wl={class:"metric-card"},Bl={class:"card"},ql={class:"card-head"},Xl={class:"meta-chip"},kl={class:"section-tools"},Gl={key:0,class:"lights-grid"},Jl={class:"tile-head"},Yl={class:"meta-chip"},zl={class:"tile-meta"},Zl={class:"tile-stats"},Ql={class:"pill neutral"},ec={key:1,class:"empty-state"},tc={class:"card"},sc={class:"card-head"},nc={class:"meta-chip"},rc={key:0,class:"dimmer-grid"},ic={class:"tile-head"},oc={class:"meta-chip"},lc={class:"pill warn"},cc={class:"tile-meta"},fc={class:"dimmer-track"},uc={class:"tile-stats"},ac={class:"pill neutral"},dc={key:1,class:"empty-state"},hc={class:"card"},pc={class:"card-head"},gc={class:"meta-chip"},mc={key:0,class:"other-list"},_c={class:"other-side"},bc={class:"pill neutral"},yc={class:"pill neutral"},vc={key:1,class:"empty-state"},Ps="knxUltimateViewer:selectedNodeId",Bn="knxUltimateViewer:autoRefresh",qn="knxUltimateViewer:search",xc={__name:"App",setup(e){const t=(()=>{try{return new URLSearchParams(window.location.search).get("nodeId")||""}catch{return""}})(),s=ds({nodes:[],selectedNodeId:t||n(Ps,""),autoRefresh:r(Bn,!0),search:n(qn,""),status:"Ready",loadingNodes:!1,loadingState:!1,data:null,lastError:"",pollHandle:null});function n(A,x=""){try{return window.localStorage&&window.localStorage.getItem(A)||x}catch{return x}}function r(A,x){try{if(!window.localStorage)return x;const y=window.localStorage.getItem(A);return y==null||y===""?x:y==="true"}catch{return x}}function i(A,x){try{window.localStorage&&window.localStorage.setItem(A,String(x??""))}catch{}}function o(A,x){try{window.localStorage&&window.localStorage.setItem(A,x?"true":"false")}catch{}}function l(A){return new URL(A,window.location.href).toString()}function f(A){s.status=String(A||"")}async function d(A,x){const y=await fetch(A,Object.assign({credentials:"same-origin"},{})),ve=await y.text();let ue={};try{ue=ve?JSON.parse(ve):{}}catch{ue={error:ve||`HTTP ${y.status}`}}if(!y.ok){const xt=ue&&ue.error?ue.error:`HTTP ${y.status}`;throw y.status===401||y.status===403?new Error(`Authentication required or insufficient permissions (${y.status}).`):new Error(xt)}return ue}function a(A){return String(A||"").trim()}function p(A){const x=t&&A.find(ue=>ue.id===t)?t:"",y=n(Ps,""),ve=y&&A.find(ue=>ue.id===y)?y:"";return x||ve||(A[0]?A[0].id:"")}async function E({preserveSelection:A=!0}={}){s.loadingNodes=!0;try{const x=await d(l("nodes")),y=Array.isArray(x&&x.nodes)?x.nodes:[];s.nodes=y,(!A||!s.selectedNodeId||!y.find(ve=>ve.id===s.selectedNodeId))&&(s.selectedNodeId=p(y))}finally{s.loadingNodes=!1}}async function O(){if(!s.selectedNodeId){s.data=null,s.lastError="No KNX Viewer node available.",f("No viewer nodes");return}s.loadingState=!0,s.lastError="",f("Refreshing KNX Viewer...");try{const A=await d(l(`state?nodeId=${encodeURIComponent(s.selectedNodeId)}`));s.data=A,f("Live state loaded")}catch(A){s.lastError=A.message||String(A),f("Unable to load state")}finally{s.loadingState=!1}}function H(){s.pollHandle&&(clearInterval(s.pollHandle),s.pollHandle=null)}function R(){H(),s.autoRefresh&&(s.pollHandle=setInterval(()=>{O().catch(()=>{})},3e3))}async function z(){await E({preserveSelection:!0}),await O()}function U(A){const x=Number(A||0);if(!Number.isFinite(x)||x<=0)return"n/a";const y=Math.max(0,Date.now()-x);return y<15e3?"just now":y<6e4?`${Math.round(y/1e3)}s ago`:y<36e5?`${Math.round(y/6e4)}m ago`:`${Math.round(y/36e5)}h ago`}function V(A){if(!A)return"n/a";const x=new Date(A);return Number.isFinite(x.getTime())?x.toLocaleString():"n/a"}const W=Ge(()=>s.data&&s.data.node?s.data.node:{}),I=Ge(()=>s.data&&s.data.summary?s.data.summary:{}),Z=Ge(()=>Array.isArray(s.data&&s.data.items)?s.data.items:[]),be=Ge(()=>{const A=a(s.search).toLowerCase();return A?Z.value.filter(x=>`${x.address||""} ${x.devicename||""} ${x.dpt||""}`.toLowerCase().includes(A)):Z.value}),fe=Ge(()=>be.value.filter(A=>A.kind==="light")),ye=Ge(()=>be.value.filter(A=>A.kind==="dimmer")),ke=Ge(()=>be.value.filter(A=>A.kind==="other").slice(0,12));return ht(()=>s.selectedNodeId,async(A,x)=>{i(Ps,A||""),!(!A||A===x)&&await O()}),ht(()=>s.autoRefresh,A=>{o(Bn,A),R()}),ht(()=>s.search,A=>{i(qn,A||"")}),Ar(async()=>{await E({preserveSelection:!1}),await O(),R()}),Ir(()=>{H()}),(A,x)=>(ne(),re("div",Ol,[w("header",Al,[w("div",null,[x[3]||(x[3]=w("p",{class:"eyebrow"},"KNX Viewer Web",-1)),w("h1",null,$(W.value.name||"KNX Viewer"),1),x[4]||(x[4]=w("p",{class:"subhead"}," Live lights and dimmer values collected by the KNX Viewer node. The visual language stays aligned with KNX AI, but focused on field states. ",-1))]),w("div",Il,[Cs(w("select",{"onUpdate:modelValue":x[0]||(x[0]=y=>s.selectedNodeId=y),class:"node-select"},[x[5]||(x[5]=w("option",{value:"",disabled:""},"Select KNX Viewer",-1)),(ne(!0),re(me,null,Jt(s.nodes,y=>(ne(),re("option",{key:y.id,value:y.id},$(`${y.name||"KNXViewer"}${y.gatewayName?` | ${y.gatewayName}`:""}`),9,Pl))),128))],512),[[xl,s.selectedNodeId]]),w("label",Ml,[Cs(w("input",{"onUpdate:modelValue":x[1]||(x[1]=y=>s.autoRefresh=y),type:"checkbox"},null,512),[[vl,s.autoRefresh]]),x[6]||(x[6]=w("span",null,"Auto refresh",-1))]),w("button",{class:"secondary-button",type:"button",disabled:s.loadingState||s.loadingNodes,onClick:z}," Refresh ",8,Nl)]),w("div",Rl,[w("span",{class:Ye(["status-pill",s.lastError?"status-error":"status-ok"])},$(s.lastError||s.status),3),w("div",Fl,[w("span",Dl,"Gateway "+$(W.value.gatewayName||"n/a"),1),w("span",Vl,"Lights on "+$(I.value.lightOnCount||0),1),w("span",Ll,"Lights off "+$(I.value.lightOffCount||0),1),w("span",Hl,"Avg dimmer "+$(I.value.averageDimmerLevel||0)+"%",1)])])]),w("section",$l,[w("article",jl,[x[7]||(x[7]=w("span",{class:"metric-label"},"Detected lights",-1)),w("strong",null,$(I.value.lightCount||0),1),x[8]||(x[8]=w("p",null,"Boolean-style KNX values currently visible to this Viewer node.",-1))]),w("article",Kl,[x[9]||(x[9]=w("span",{class:"metric-label"},"Detected dimmers",-1)),w("strong",null,$(I.value.dimmerCount||0),1),x[10]||(x[10]=w("p",null,"5.001-like level values rendered as dimmer cards.",-1))]),w("article",Ul,[x[11]||(x[11]=w("span",{class:"metric-label"},"Known group addresses",-1)),w("strong",null,$(I.value.totalItems||0),1),x[12]||(x[12]=w("p",null,"Total KNX group addresses seen by the Viewer in this runtime session.",-1))]),w("article",Wl,[x[13]||(x[13]=w("span",{class:"metric-label"},"Last KNX update",-1)),w("strong",null,$(V(I.value.lastUpdate)),1),x[14]||(x[14]=w("p",null,"Most recent telegram reflected in this web page.",-1))])]),w("section",Bl,[w("div",ql,[x[15]||(x[15]=w("h2",null,"Lights",-1)),w("span",Xl,$(fe.value.length)+" visible",1)]),w("div",kl,[Cs(w("input",{"onUpdate:modelValue":x[2]||(x[2]=y=>s.search=y),class:"search-input",type:"text",placeholder:"Search GA, label or DPT"},null,512),[[yl,s.search]]),x[16]||(x[16]=w("p",{class:"section-note"},"Rendering is based on the live values currently exposed by KNX Viewer.",-1))]),fe.value.length?(ne(),re("div",Gl,[(ne(!0),re(me,null,Jt(fe.value,y=>(ne(),re("article",{key:y.address,class:Ye(["tile-card light-card",{"is-on":y.isOn,"is-off":!y.isOn}])},[w("div",Jl,[x[17]||(x[17]=w("div",{class:"light-badge"},[w("span",{class:"light-badge-core"})],-1)),w("span",Yl,$(y.address),1)]),w("h3",null,$(y.devicename||y.address),1),w("p",zl,$(y.dpt||"no dpt"),1),w("div",Zl,[w("span",{class:Ye(["pill",y.isOn?"success":"neutral"])},$(y.isOn?"ON":"OFF"),3),w("span",Ql,"Updated "+$(U(y.lastUpdateMs)),1)])],2))),128))])):(ne(),re("p",ec,"No boolean light-style values detected yet."))]),w("section",tc,[w("div",sc,[x[18]||(x[18]=w("h2",null,"Dimmers",-1)),w("span",nc,$(ye.value.length)+" visible",1)]),ye.value.length?(ne(),re("div",rc,[(ne(!0),re(me,null,Jt(ye.value,y=>(ne(),re("article",{key:y.address,class:Ye(["tile-card dimmer-card",{"is-active":Number(y.level||0)>0}])},[w("div",ic,[w("span",oc,$(y.address),1),w("span",lc,$(y.level||0)+"%",1)]),w("h3",null,$(y.devicename||y.address),1),w("p",cc,$(y.dpt||"no dpt"),1),w("div",fc,[w("span",{class:"dimmer-fill",style:us({width:`${y.level||0}%`})},null,4)]),w("div",uc,[w("span",ac,"Updated "+$(U(y.lastUpdateMs)),1),w("span",{class:Ye(["pill",Number(y.level||0)>0?"success":"neutral"])},$(Number(y.level||0)>0?"ACTIVE":"IDLE"),3)])],2))),128))])):(ne(),re("p",dc,"No dimmer values detected yet."))]),w("section",hc,[w("div",pc,[x[19]||(x[19]=w("h2",null,"Recent KNX Values",-1)),w("span",gc,$(ke.value.length)+" preview",1)]),ke.value.length?(ne(),re("div",mc,[(ne(!0),re(me,null,Jt(ke.value,y=>(ne(),re("article",{key:y.address,class:"other-row"},[w("div",null,[w("strong",null,$(y.devicename||y.address),1),w("p",null,$(y.address)+$(y.dpt?` | ${y.dpt}`:""),1)]),w("div",_c,[w("span",bc,$(y.payloadText||"-"),1),w("span",yc,$(U(y.lastUpdateMs)),1)])]))),128))])):(ne(),re("p",vc,"No additional KNX values available for preview."))])]))}};Cl(xc).mount("#app");
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}})();function Us(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const k={},at=[],Fe=()=>{},kn=()=>!1,os=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ws=e=>e.startsWith("onUpdate:"),se=Object.assign,Bs=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},si=Object.prototype.hasOwnProperty,j=(e,t)=>si.call(e,t),N=Array.isArray,dt=e=>Kt(e)==="[object Map]",vt=e=>Kt(e)==="[object Set]",un=e=>Kt(e)==="[object Date]",D=e=>typeof e=="function",Q=e=>typeof e=="string",De=e=>typeof e=="symbol",W=e=>e!==null&&typeof e=="object",Xn=e=>(W(e)||D(e))&&D(e.then)&&D(e.catch),Gn=Object.prototype.toString,Kt=e=>Gn.call(e),ni=e=>Kt(e).slice(8,-1),Jn=e=>Kt(e)==="[object Object]",qs=e=>Q(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,At=Us(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ls=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},ri=/-\w/g,Se=ls(e=>e.replace(ri,t=>t.slice(1).toUpperCase())),ii=/\B([A-Z])/g,ct=ls(e=>e.replace(ii,"-$1").toLowerCase()),Yn=ls(e=>e.charAt(0).toUpperCase()+e.slice(1)),ys=ls(e=>e?`on${Yn(e)}`:""),je=(e,t)=>!Object.is(e,t),Yt=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},zn=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},cs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let an;const fs=()=>an||(an=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function us(e){if(N(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],r=Q(n)?fi(n):us(n);if(r)for(const i in r)t[i]=r[i]}return t}else if(Q(e)||W(e))return e}const oi=/;(?![^(]*\))/g,li=/:([^]+)/,ci=/\/\*[^]*?\*\//g;function fi(e){const t={};return e.replace(ci,"").split(oi).forEach(s=>{if(s){const n=s.split(li);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ze(e){let t="";if(Q(e))t=e;else if(N(e))for(let s=0;s<e.length;s++){const n=ze(e[s]);n&&(t+=n+" ")}else if(W(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const ui="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",ai=Us(ui);function Zn(e){return!!e||e===""}function di(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=xt(e[n],t[n]);return s}function xt(e,t){if(e===t)return!0;let s=un(e),n=un(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=De(e),n=De(t),s||n)return e===t;if(s=N(e),n=N(t),s||n)return s&&n?di(e,t):!1;if(s=W(e),n=W(t),s||n){if(!s||!n)return!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),f=t.hasOwnProperty(o);if(l&&!f||!l&&f||!xt(e[o],t[o]))return!1}}return String(e)===String(t)}function ks(e,t){return e.findIndex(s=>xt(s,t))}const Qn=e=>!!(e&&e.__v_isRef===!0),$=e=>Q(e)?e:e==null?"":N(e)||W(e)&&(e.toString===Gn||!D(e.toString))?Qn(e)?$(e.value):JSON.stringify(e,er,2):String(e),er=(e,t)=>Qn(t)?er(e,t.value):dt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],i)=>(s[vs(n,i)+" =>"]=r,s),{})}:vt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>vs(s))}:De(t)?vs(t):W(t)&&!N(t)&&!Jn(t)?String(t):t,vs=(e,t="")=>{var s;return De(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let he;class hi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=he,!t&&he&&(this.index=(he.scopes||(he.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[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)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=he;try{return he=this,t()}finally{he=s}}}on(){++this._on===1&&(this.prevScope=he,he=this)}off(){this._on>0&&--this._on===0&&(he=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function pi(){return he}let Y;const xs=new WeakSet;class tr{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,he&&he.active&&he.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,xs.has(this)&&(xs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||nr(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,dn(this),rr(this);const t=Y,s=Ce;Y=this,Ce=!0;try{return this.fn()}finally{ir(this),Y=t,Ce=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Js(t);this.deps=this.depsTail=void 0,dn(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?xs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ms(this)&&this.run()}get dirty(){return Ms(this)}}let sr=0,It,Pt;function nr(e,t=!1){if(e.flags|=8,t){e.next=Pt,Pt=e;return}e.next=It,It=e}function Xs(){sr++}function Gs(){if(--sr>0)return;if(Pt){let t=Pt;for(Pt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;It;){let t=It;for(It=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function rr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ir(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),Js(n),gi(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function Ms(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(or(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function or(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Dt)||(e.globalVersion=Dt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ms(e))))return;e.flags|=2;const t=e.dep,s=Y,n=Ce;Y=e,Ce=!0;try{rr(e);const r=e.fn(e._value);(t.version===0||je(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Y=s,Ce=n,ir(e),e.flags&=-3}}function Js(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)Js(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function gi(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Ce=!0;const lr=[];function Be(){lr.push(Ce),Ce=!1}function qe(){const e=lr.pop();Ce=e===void 0?!0:e}function dn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=Y;Y=void 0;try{t()}finally{Y=s}}}let Dt=0;class mi{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 cr{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(!Y||!Ce||Y===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==Y)s=this.activeLink=new mi(Y,this),Y.deps?(s.prevDep=Y.depsTail,Y.depsTail.nextDep=s,Y.depsTail=s):Y.deps=Y.depsTail=s,fr(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=Y.depsTail,s.nextDep=void 0,Y.depsTail.nextDep=s,Y.depsTail=s,Y.deps===s&&(Y.deps=n)}return s}trigger(t){this.version++,Dt++,this.notify(t)}notify(t){Xs();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Gs()}}}function fr(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)fr(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Ns=new WeakMap,it=Symbol(""),Rs=Symbol(""),Vt=Symbol("");function te(e,t,s){if(Ce&&Y){let n=Ns.get(e);n||Ns.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new cr),r.map=n,r.key=s),r.track()}}function Ke(e,t,s,n,r,i){const o=Ns.get(e);if(!o){Dt++;return}const l=f=>{f&&f.trigger()};if(Xs(),t==="clear")o.forEach(l);else{const f=N(e),d=f&&qs(s);if(f&&s==="length"){const a=Number(n);o.forEach((p,E)=>{(E==="length"||E===Vt||!De(E)&&E>=a)&&l(p)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),d&&l(o.get(Vt)),t){case"add":f?d&&l(o.get("length")):(l(o.get(it)),dt(e)&&l(o.get(Rs)));break;case"delete":f||(l(o.get(it)),dt(e)&&l(o.get(Rs)));break;case"set":dt(e)&&l(o.get(it));break}}Gs()}function ft(e){const t=U(e);return t===e?t:(te(t,"iterate",Vt),Te(e)?t:t.map(ke))}function as(e){return te(e=U(e),"iterate",Vt),e}function Ne(e,t){return Qe(e)?mt(ot(e)?ke(t):t):ke(t)}const _i={__proto__:null,[Symbol.iterator](){return ws(this,Symbol.iterator,e=>Ne(this,e))},concat(...e){return ft(this).concat(...e.map(t=>N(t)?ft(t):t))},entries(){return ws(this,"entries",e=>(e[1]=Ne(this,e[1]),e))},every(e,t){return Le(this,"every",e,t,void 0,arguments)},filter(e,t){return Le(this,"filter",e,t,s=>s.map(n=>Ne(this,n)),arguments)},find(e,t){return Le(this,"find",e,t,s=>Ne(this,s),arguments)},findIndex(e,t){return Le(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Le(this,"findLast",e,t,s=>Ne(this,s),arguments)},findLastIndex(e,t){return Le(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Le(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ss(this,"includes",e)},indexOf(...e){return Ss(this,"indexOf",e)},join(e){return ft(this).join(e)},lastIndexOf(...e){return Ss(this,"lastIndexOf",e)},map(e,t){return Le(this,"map",e,t,void 0,arguments)},pop(){return Tt(this,"pop")},push(...e){return Tt(this,"push",e)},reduce(e,...t){return hn(this,"reduce",e,t)},reduceRight(e,...t){return hn(this,"reduceRight",e,t)},shift(){return Tt(this,"shift")},some(e,t){return Le(this,"some",e,t,void 0,arguments)},splice(...e){return Tt(this,"splice",e)},toReversed(){return ft(this).toReversed()},toSorted(e){return ft(this).toSorted(e)},toSpliced(...e){return ft(this).toSpliced(...e)},unshift(...e){return Tt(this,"unshift",e)},values(){return ws(this,"values",e=>Ne(this,e))}};function ws(e,t,s){const n=as(e),r=n[t]();return n!==e&&!Te(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=s(i.value)),i}),r}const bi=Array.prototype;function Le(e,t,s,n,r,i){const o=as(e),l=o!==e&&!Te(e),f=o[t];if(f!==bi[t]){const p=f.apply(e,i);return l?ke(p):p}let d=s;o!==e&&(l?d=function(p,E){return s.call(this,Ne(e,p),E,e)}:s.length>2&&(d=function(p,E){return s.call(this,p,E,e)}));const a=f.call(o,d,n);return l&&r?r(a):a}function hn(e,t,s,n){const r=as(e),i=r!==e&&!Te(e);let o=s,l=!1;r!==e&&(i?(l=n.length===0,o=function(d,a,p){return l&&(l=!1,d=Ne(e,d)),s.call(this,d,Ne(e,a),p,e)}):s.length>3&&(o=function(d,a,p){return s.call(this,d,a,p,e)}));const f=r[t](o,...n);return l?Ne(e,f):f}function Ss(e,t,s){const n=U(e);te(n,"iterate",Vt);const r=n[t](...s);return(r===-1||r===!1)&&Zs(s[0])?(s[0]=U(s[0]),n[t](...s)):r}function Tt(e,t,s=[]){Be(),Xs();const n=U(e)[t].apply(e,s);return Gs(),qe(),n}const yi=Us("__proto__,__v_isRef,__isVue"),ur=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(De));function vi(e){De(e)||(e=String(e));const t=U(this);return te(t,"has",e),t.hasOwnProperty(e)}class ar{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return i;if(s==="__v_raw")return n===(r?i?Pi:gr:i?pr:hr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=N(t);if(!r){let f;if(o&&(f=_i[s]))return f;if(s==="hasOwnProperty")return vi}const l=Reflect.get(t,s,ce(t)?t:n);if((De(s)?ur.has(s):yi(s))||(r||te(t,"get",s),i))return l;if(ce(l)){const f=o&&qs(s)?l:l.value;return r&&W(f)?Ds(f):f}return W(l)?r?Ds(l):ds(l):l}}class dr extends ar{constructor(t=!1){super(!1,t)}set(t,s,n,r){let i=t[s];const o=N(t)&&qs(s);if(!this._isShallow){const d=Qe(i);if(!Te(n)&&!Qe(n)&&(i=U(i),n=U(n)),!o&&ce(i)&&!ce(n))return d||(i.value=n),!0}const l=o?Number(s)<t.length:j(t,s),f=Reflect.set(t,s,n,ce(t)?t:r);return t===U(r)&&(l?je(n,i)&&Ke(t,"set",s,n):Ke(t,"add",s,n)),f}deleteProperty(t,s){const n=j(t,s);t[s];const r=Reflect.deleteProperty(t,s);return r&&n&&Ke(t,"delete",s,void 0),r}has(t,s){const n=Reflect.has(t,s);return(!De(s)||!ur.has(s))&&te(t,"has",s),n}ownKeys(t){return te(t,"iterate",N(t)?"length":it),Reflect.ownKeys(t)}}class xi extends ar{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const wi=new dr,Si=new xi,Ci=new dr(!0);const Fs=e=>e,kt=e=>Reflect.getPrototypeOf(e);function Ti(e,t,s){return function(...n){const r=this.__v_raw,i=U(r),o=dt(i),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,d=r[e](...n),a=s?Fs:t?mt:ke;return!t&&te(i,"iterate",f?Rs:it),se(Object.create(d),{next(){const{value:p,done:E}=d.next();return E?{value:p,done:E}:{value:l?[a(p[0]),a(p[1])]:a(p),done:E}}})}}function Xt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ei(e,t){const s={get(r){const i=this.__v_raw,o=U(i),l=U(r);e||(je(r,l)&&te(o,"get",r),te(o,"get",l));const{has:f}=kt(o),d=t?Fs:e?mt:ke;if(f.call(o,r))return d(i.get(r));if(f.call(o,l))return d(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&te(U(r),"iterate",it),r.size},has(r){const i=this.__v_raw,o=U(i),l=U(r);return e||(je(r,l)&&te(o,"has",r),te(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,f=U(l),d=t?Fs:e?mt:ke;return!e&&te(f,"iterate",it),l.forEach((a,p)=>r.call(i,d(a),d(p),o))}};return se(s,e?{add:Xt("add"),set:Xt("set"),delete:Xt("delete"),clear:Xt("clear")}:{add(r){const i=U(this),o=kt(i),l=U(r),f=!t&&!Te(r)&&!Qe(r)?l:r;return o.has.call(i,f)||je(r,f)&&o.has.call(i,r)||je(l,f)&&o.has.call(i,l)||(i.add(f),Ke(i,"add",f,f)),this},set(r,i){!t&&!Te(i)&&!Qe(i)&&(i=U(i));const o=U(this),{has:l,get:f}=kt(o);let d=l.call(o,r);d||(r=U(r),d=l.call(o,r));const a=f.call(o,r);return o.set(r,i),d?je(i,a)&&Ke(o,"set",r,i):Ke(o,"add",r,i),this},delete(r){const i=U(this),{has:o,get:l}=kt(i);let f=o.call(i,r);f||(r=U(r),f=o.call(i,r)),l&&l.call(i,r);const d=i.delete(r);return f&&Ke(i,"delete",r,void 0),d},clear(){const r=U(this),i=r.size!==0,o=r.clear();return i&&Ke(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=Ti(r,e,t)}),s}function Ys(e,t){const s=Ei(e,t);return(n,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(j(s,r)&&r in n?s:n,r,i)}const Oi={get:Ys(!1,!1)},Ai={get:Ys(!1,!0)},Ii={get:Ys(!0,!1)};const hr=new WeakMap,pr=new WeakMap,gr=new WeakMap,Pi=new WeakMap;function Mi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ni(e){return e.__v_skip||!Object.isExtensible(e)?0:Mi(ni(e))}function ds(e){return Qe(e)?e:zs(e,!1,wi,Oi,hr)}function Ri(e){return zs(e,!1,Ci,Ai,pr)}function Ds(e){return zs(e,!0,Si,Ii,gr)}function zs(e,t,s,n,r){if(!W(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Ni(e);if(i===0)return e;const o=r.get(e);if(o)return o;const l=new Proxy(e,i===2?n:s);return r.set(e,l),l}function ot(e){return Qe(e)?ot(e.__v_raw):!!(e&&e.__v_isReactive)}function Qe(e){return!!(e&&e.__v_isReadonly)}function Te(e){return!!(e&&e.__v_isShallow)}function Zs(e){return e?!!e.__v_raw:!1}function U(e){const t=e&&e.__v_raw;return t?U(t):e}function Fi(e){return!j(e,"__v_skip")&&Object.isExtensible(e)&&zn(e,"__v_skip",!0),e}const ke=e=>W(e)?ds(e):e,mt=e=>W(e)?Ds(e):e;function ce(e){return e?e.__v_isRef===!0:!1}function Di(e){return ce(e)?e.value:e}const Vi={get:(e,t,s)=>t==="__v_raw"?e:Di(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return ce(r)&&!ce(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function mr(e){return ot(e)?e:new Proxy(e,Vi)}class Li{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new cr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Dt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Y!==this)return nr(this,!0),!0}get value(){const t=this.dep.track();return or(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Hi(e,t,s=!1){let n,r;return D(e)?n=e:(n=e.get,r=e.set),new Li(n,r,s)}const Gt={},es=new WeakMap;let rt;function $i(e,t=!1,s=rt){if(s){let n=es.get(s);n||es.set(s,n=[]),n.push(e)}}function ji(e,t,s=k){const{immediate:n,deep:r,once:i,scheduler:o,augmentJob:l,call:f}=s,d=M=>r?M:Te(M)||r===!1||r===0?Ue(M,1):Ue(M);let a,p,E,A,H=!1,R=!1;if(ce(e)?(p=()=>e.value,H=Te(e)):ot(e)?(p=()=>d(e),H=!0):N(e)?(R=!0,H=e.some(M=>ot(M)||Te(M)),p=()=>e.map(M=>{if(ce(M))return M.value;if(ot(M))return d(M);if(D(M))return f?f(M,2):M()})):D(e)?t?p=f?()=>f(e,2):e:p=()=>{if(E){Be();try{E()}finally{qe()}}const M=rt;rt=a;try{return f?f(e,3,[A]):e(A)}finally{rt=M}}:p=Fe,t&&r){const M=p,q=r===!0?1/0:r;p=()=>Ue(M(),q)}const z=pi(),X=()=>{a.stop(),z&&z.active&&Bs(z.effects,a)};if(i&&t){const M=t;t=(...q)=>{M(...q),X()}}let V=R?new Array(e.length).fill(Gt):Gt;const B=M=>{if(!(!(a.flags&1)||!a.dirty&&!M))if(t){const q=a.run();if(r||H||(R?q.some((ve,fe)=>je(ve,V[fe])):je(q,V))){E&&E();const ve=rt;rt=a;try{const fe=[q,V===Gt?void 0:R&&V[0]===Gt?[]:V,A];V=q,f?f(t,3,fe):t(...fe)}finally{rt=ve}}}else a.run()};return l&&l(B),a=new tr(p),a.scheduler=o?()=>o(B,!1):B,A=M=>$i(M,!1,a),E=a.onStop=()=>{const M=es.get(a);if(M){if(f)f(M,4);else for(const q of M)q();es.delete(a)}},t?n?B(!0):V=a.run():o?o(B.bind(null,!0),!0):a.run(),X.pause=a.pause.bind(a),X.resume=a.resume.bind(a),X.stop=X,X}function Ue(e,t=1/0,s){if(t<=0||!W(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,ce(e))Ue(e.value,t,s);else if(N(e))for(let n=0;n<e.length;n++)Ue(e[n],t,s);else if(vt(e)||dt(e))e.forEach(n=>{Ue(n,t,s)});else if(Jn(e)){for(const n in e)Ue(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ue(e[n],t,s)}return e}function Ut(e,t,s,n){try{return n?e(...n):e()}catch(r){hs(r,t,s)}}function Ve(e,t,s,n){if(D(e)){const r=Ut(e,t,s,n);return r&&Xn(r)&&r.catch(i=>{hs(i,t,s)}),r}if(N(e)){const r=[];for(let i=0;i<e.length;i++)r.push(Ve(e[i],t,s,n));return r}}function hs(e,t,s,n=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||k;if(t){let l=t.parent;const f=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const a=l.ec;if(a){for(let p=0;p<a.length;p++)if(a[p](e,f,d)===!1)return}l=l.parent}if(i){Be(),Ut(i,null,10,[e,f,d]),qe();return}}Ki(e,s,r,n,o)}function Ki(e,t,s,n=!0,r=!1){if(r)throw e;console.error(e)}const oe=[];let Me=-1;const ht=[];let Ye=null,ut=0;const _r=Promise.resolve();let ts=null;function br(e){const t=ts||_r;return e?t.then(this?e.bind(this):e):t}function Ui(e){let t=Me+1,s=oe.length;for(;t<s;){const n=t+s>>>1,r=oe[n],i=Lt(r);i<e||i===e&&r.flags&2?t=n+1:s=n}return t}function Qs(e){if(!(e.flags&1)){const t=Lt(e),s=oe[oe.length-1];!s||!(e.flags&2)&&t>=Lt(s)?oe.push(e):oe.splice(Ui(t),0,e),e.flags|=1,yr()}}function yr(){ts||(ts=_r.then(xr))}function Wi(e){N(e)?ht.push(...e):Ye&&e.id===-1?Ye.splice(ut+1,0,e):e.flags&1||(ht.push(e),e.flags|=1),yr()}function pn(e,t,s=Me+1){for(;s<oe.length;s++){const n=oe[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;oe.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function vr(e){if(ht.length){const t=[...new Set(ht)].sort((s,n)=>Lt(s)-Lt(n));if(ht.length=0,Ye){Ye.push(...t);return}for(Ye=t,ut=0;ut<Ye.length;ut++){const s=Ye[ut];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}Ye=null,ut=0}}const Lt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function xr(e){try{for(Me=0;Me<oe.length;Me++){const t=oe[Me];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ut(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Me<oe.length;Me++){const t=oe[Me];t&&(t.flags&=-2)}Me=-1,oe.length=0,vr(),ts=null,(oe.length||ht.length)&&xr()}}let ye=null,wr=null;function ss(e){const t=ye;return ye=e,wr=e&&e.type.__scopeId||null,t}function Bi(e,t=ye,s){if(!t||e._n)return e;const n=(...r)=>{n._d&&Tn(-1);const i=ss(t);let o;try{o=e(...r)}finally{ss(i),n._d&&Tn(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function Cs(e,t){if(ye===null)return e;const s=_s(ye),n=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,f=k]=t[r];i&&(D(i)&&(i={mounted:i,updated:i}),i.deep&&Ue(o),n.push({dir:i,instance:s,value:o,oldValue:void 0,arg:l,modifiers:f}))}return e}function st(e,t,s,n){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let f=l.dir[n];f&&(Be(),Ve(f,s,8,[e.el,l,e,t]),qe())}}function qi(e,t){if(le){let s=le.provides;const n=le.parent&&le.parent.provides;n===s&&(s=le.provides=Object.create(n)),s[e]=t}}function zt(e,t,s=!1){const n=qo();if(n||gt){let r=gt?gt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return s&&D(t)?t.call(n&&n.proxy):t}}const ki=Symbol.for("v-scx"),Xi=()=>zt(ki);function pt(e,t,s){return Sr(e,t,s)}function Sr(e,t,s=k){const{immediate:n,deep:r,flush:i,once:o}=s,l=se({},s),f=t&&n||!t&&i!=="post";let d;if($t){if(i==="sync"){const A=Xi();d=A.__watcherHandles||(A.__watcherHandles=[])}else if(!f){const A=()=>{};return A.stop=Fe,A.resume=Fe,A.pause=Fe,A}}const a=le;l.call=(A,H,R)=>Ve(A,a,H,R);let p=!1;i==="post"?l.scheduler=A=>{de(A,a&&a.suspense)}:i!=="sync"&&(p=!0,l.scheduler=(A,H)=>{H?A():Qs(A)}),l.augmentJob=A=>{t&&(A.flags|=4),p&&(A.flags|=2,a&&(A.id=a.uid,A.i=a))};const E=ji(e,t,l);return $t&&(d?d.push(E):f&&E()),E}function Gi(e,t,s){const n=this.proxy,r=Q(e)?e.includes(".")?Cr(n,e):()=>n[e]:e.bind(n,n);let i;D(t)?i=t:(i=t.handler,s=t);const o=Wt(this),l=Sr(r,i.bind(n),s);return o(),l}function Cr(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;r<s.length&&n;r++)n=n[s[r]];return n}}const Ji=Symbol("_vte"),Yi=e=>e.__isTeleport,zi=Symbol("_leaveCb");function en(e,t){e.shapeFlag&6&&e.component?(e.transition=t,en(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Tr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function gn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const ns=new WeakMap;function Mt(e,t,s,n,r=!1){if(N(e)){e.forEach((R,z)=>Mt(R,t&&(N(t)?t[z]:t),s,n,r));return}if(Nt(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Mt(e,t,s,n.component.subTree);return}const i=n.shapeFlag&4?_s(n.component):n.el,o=r?null:i,{i:l,r:f}=e,d=t&&t.r,a=l.refs===k?l.refs={}:l.refs,p=l.setupState,E=U(p),A=p===k?kn:R=>gn(a,R)?!1:j(E,R),H=(R,z)=>!(z&&gn(a,z));if(d!=null&&d!==f){if(mn(t),Q(d))a[d]=null,A(d)&&(p[d]=null);else if(ce(d)){const R=t;H(d,R.k)&&(d.value=null),R.k&&(a[R.k]=null)}}if(D(f))Ut(f,l,12,[o,a]);else{const R=Q(f),z=ce(f);if(R||z){const X=()=>{if(e.f){const V=R?A(f)?p[f]:a[f]:H()||!e.k?f.value:a[e.k];if(r)N(V)&&Bs(V,i);else if(N(V))V.includes(i)||V.push(i);else if(R)a[f]=[i],A(f)&&(p[f]=a[f]);else{const B=[i];H(f,e.k)&&(f.value=B),e.k&&(a[e.k]=B)}}else R?(a[f]=o,A(f)&&(p[f]=o)):z&&(H(f,e.k)&&(f.value=o),e.k&&(a[e.k]=o))};if(o){const V=()=>{X(),ns.delete(e)};V.id=-1,ns.set(e,V),de(V,s)}else mn(e),X()}}}function mn(e){const t=ns.get(e);t&&(t.flags|=8,ns.delete(e))}fs().requestIdleCallback;fs().cancelIdleCallback;const Nt=e=>!!e.type.__asyncLoader,Er=e=>e.type.__isKeepAlive;function Zi(e,t){Or(e,"a",t)}function Qi(e,t){Or(e,"da",t)}function Or(e,t,s=le){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ps(t,n,s),s){let r=s.parent;for(;r&&r.parent;)Er(r.parent.vnode)&&eo(n,t,s,r),r=r.parent}}function eo(e,t,s,n){const r=ps(t,e,n,!0);Pr(()=>{Bs(n[t],r)},s)}function ps(e,t,s=le,n=!1){if(s){const r=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Be();const l=Wt(s),f=Ve(t,s,e,o);return l(),qe(),f});return n?r.unshift(i):r.push(i),i}}const Xe=e=>(t,s=le)=>{(!$t||e==="sp")&&ps(e,(...n)=>t(...n),s)},to=Xe("bm"),Ar=Xe("m"),so=Xe("bu"),no=Xe("u"),Ir=Xe("bum"),Pr=Xe("um"),ro=Xe("sp"),io=Xe("rtg"),oo=Xe("rtc");function lo(e,t=le){ps("ec",e,t)}const co=Symbol.for("v-ndc");function Jt(e,t,s,n){let r;const i=s,o=N(e);if(o||Q(e)){const l=o&&ot(e);let f=!1,d=!1;l&&(f=!Te(e),d=Qe(e),e=as(e)),r=new Array(e.length);for(let a=0,p=e.length;a<p;a++)r[a]=t(f?d?mt(ke(e[a])):ke(e[a]):e[a],a,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if(W(e))if(e[Symbol.iterator])r=Array.from(e,(l,f)=>t(l,f,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let f=0,d=l.length;f<d;f++){const a=l[f];r[f]=t(e[a],a,f,i)}}else r=[];return r}const Vs=e=>e?Yr(e)?_s(e):Vs(e.parent):null,Rt=se(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=>Vs(e.parent),$root:e=>Vs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Nr(e),$forceUpdate:e=>e.f||(e.f=()=>{Qs(e.update)}),$nextTick:e=>e.n||(e.n=br.bind(e.proxy)),$watch:e=>Gi.bind(e)}),Ts=(e,t)=>e!==k&&!e.__isScriptSetup&&j(e,t),fo={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:i,accessCache:o,type:l,appContext:f}=e;if(t[0]!=="$"){const E=o[t];if(E!==void 0)switch(E){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return i[t]}else{if(Ts(n,t))return o[t]=1,n[t];if(r!==k&&j(r,t))return o[t]=2,r[t];if(j(i,t))return o[t]=3,i[t];if(s!==k&&j(s,t))return o[t]=4,s[t];Ls&&(o[t]=0)}}const d=Rt[t];let a,p;if(d)return t==="$attrs"&&te(e.attrs,"get",""),d(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(s!==k&&j(s,t))return o[t]=4,s[t];if(p=f.config.globalProperties,j(p,t))return p[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:i}=e;return Ts(r,t)?(r[t]=s,!0):n!==k&&j(n,t)?(n[t]=s,!0):j(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,props:i,type:o}},l){let f;return!!(s[l]||e!==k&&l[0]!=="$"&&j(e,l)||Ts(t,l)||j(i,l)||j(n,l)||j(Rt,l)||j(r.config.globalProperties,l)||(f=o.__cssModules)&&f[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:j(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function _n(e){return N(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Ls=!0;function uo(e){const t=Nr(e),s=e.proxy,n=e.ctx;Ls=!1,t.beforeCreate&&bn(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:f,inject:d,created:a,beforeMount:p,mounted:E,beforeUpdate:A,updated:H,activated:R,deactivated:z,beforeDestroy:X,beforeUnmount:V,destroyed:B,unmounted:M,render:q,renderTracked:ve,renderTriggered:fe,errorCaptured:be,serverPrefetch:Ge,expose:xe,inheritAttrs:O,components:x,directives:y,filters:we}=t;if(d&&ao(d,n,null),o)for(const Z in o){const G=o[Z];D(G)&&(n[Z]=G.bind(s))}if(r){const Z=r.call(s,s);W(Z)&&(e.data=ds(Z))}if(Ls=!0,i)for(const Z in i){const G=i[Z],et=D(G)?G.bind(s,s):D(G.get)?G.get.bind(s,s):Fe,Bt=!D(G)&&D(G.set)?G.set.bind(s):Fe,tt=Je({get:et,set:Bt});Object.defineProperty(n,Z,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Ee=>tt.value=Ee})}if(l)for(const Z in l)Mr(l[Z],n,s,Z);if(f){const Z=D(f)?f.call(s):f;Reflect.ownKeys(Z).forEach(G=>{qi(G,Z[G])})}a&&bn(a,e,"c");function ee(Z,G){N(G)?G.forEach(et=>Z(et.bind(s))):G&&Z(G.bind(s))}if(ee(to,p),ee(Ar,E),ee(so,A),ee(no,H),ee(Zi,R),ee(Qi,z),ee(lo,be),ee(oo,ve),ee(io,fe),ee(Ir,V),ee(Pr,M),ee(ro,Ge),N(xe))if(xe.length){const Z=e.exposed||(e.exposed={});xe.forEach(G=>{Object.defineProperty(Z,G,{get:()=>s[G],set:et=>s[G]=et,enumerable:!0})})}else e.exposed||(e.exposed={});q&&e.render===Fe&&(e.render=q),O!=null&&(e.inheritAttrs=O),x&&(e.components=x),y&&(e.directives=y),Ge&&Tr(e)}function ao(e,t,s=Fe){N(e)&&(e=Hs(e));for(const n in e){const r=e[n];let i;W(r)?"default"in r?i=zt(r.from||n,r.default,!0):i=zt(r.from||n):i=zt(r),ce(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[n]=i}}function bn(e,t,s){Ve(N(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Mr(e,t,s,n){let r=n.includes(".")?Cr(s,n):()=>s[n];if(Q(e)){const i=t[e];D(i)&&pt(r,i)}else if(D(e))pt(r,e.bind(s));else if(W(e))if(N(e))e.forEach(i=>Mr(i,t,s,n));else{const i=D(e.handler)?e.handler.bind(s):t[e.handler];D(i)&&pt(r,i,e)}}function Nr(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let f;return l?f=l:!r.length&&!s&&!n?f=t:(f={},r.length&&r.forEach(d=>rs(f,d,o,!0)),rs(f,t,o)),W(t)&&i.set(t,f),f}function rs(e,t,s,n=!1){const{mixins:r,extends:i}=t;i&&rs(e,i,s,!0),r&&r.forEach(o=>rs(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const l=ho[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const ho={data:yn,props:vn,emits:vn,methods:Ot,computed:Ot,beforeCreate:ie,created:ie,beforeMount:ie,mounted:ie,beforeUpdate:ie,updated:ie,beforeDestroy:ie,beforeUnmount:ie,destroyed:ie,unmounted:ie,activated:ie,deactivated:ie,errorCaptured:ie,serverPrefetch:ie,components:Ot,directives:Ot,watch:go,provide:yn,inject:po};function yn(e,t){return t?e?function(){return se(D(e)?e.call(this,this):e,D(t)?t.call(this,this):t)}:t:e}function po(e,t){return Ot(Hs(e),Hs(t))}function Hs(e){if(N(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function ie(e,t){return e?[...new Set([].concat(e,t))]:t}function Ot(e,t){return e?se(Object.create(null),e,t):t}function vn(e,t){return e?N(e)&&N(t)?[...new Set([...e,...t])]:se(Object.create(null),_n(e),_n(t??{})):t}function go(e,t){if(!e)return t;if(!t)return e;const s=se(Object.create(null),e);for(const n in t)s[n]=ie(e[n],t[n]);return s}function Rr(){return{app:null,config:{isNativeTag:kn,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 mo=0;function _o(e,t){return function(n,r=null){D(n)||(n=se({},n)),r!=null&&!W(r)&&(r=null);const i=Rr(),o=new WeakSet,l=[];let f=!1;const d=i.app={_uid:mo++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:zo,get config(){return i.config},set config(a){},use(a,...p){return o.has(a)||(a&&D(a.install)?(o.add(a),a.install(d,...p)):D(a)&&(o.add(a),a(d,...p))),d},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),d},component(a,p){return p?(i.components[a]=p,d):i.components[a]},directive(a,p){return p?(i.directives[a]=p,d):i.directives[a]},mount(a,p,E){if(!f){const A=d._ceVNode||lt(n,r);return A.appContext=i,E===!0?E="svg":E===!1&&(E=void 0),e(A,a,E),f=!0,d._container=a,a.__vue_app__=d,_s(A.component)}},onUnmount(a){l.push(a)},unmount(){f&&(Ve(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(a,p){return i.provides[a]=p,d},runWithContext(a){const p=gt;gt=d;try{return a()}finally{gt=p}}};return d}}let gt=null;const bo=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Se(t)}Modifiers`]||e[`${ct(t)}Modifiers`];function yo(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||k;let r=s;const i=t.startsWith("update:"),o=i&&bo(n,t.slice(7));o&&(o.trim&&(r=s.map(a=>Q(a)?a.trim():a)),o.number&&(r=s.map(cs)));let l,f=n[l=ys(t)]||n[l=ys(Se(t))];!f&&i&&(f=n[l=ys(ct(t))]),f&&Ve(f,e,6,r);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ve(d,e,6,r)}}const vo=new WeakMap;function Fr(e,t,s=!1){const n=s?vo:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!D(e)){const f=d=>{const a=Fr(d,t,!0);a&&(l=!0,se(o,a))};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!l?(W(e)&&n.set(e,null),null):(N(i)?i.forEach(f=>o[f]=null):se(o,i),W(e)&&n.set(e,o),o)}function gs(e,t){return!e||!os(t)?!1:(t=t.slice(2).replace(/Once$/,""),j(e,t[0].toLowerCase()+t.slice(1))||j(e,ct(t))||j(e,t))}function xn(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:f,render:d,renderCache:a,props:p,data:E,setupState:A,ctx:H,inheritAttrs:R}=e,z=ss(e);let X,V;try{if(s.shapeFlag&4){const M=r||n,q=M;X=Re(d.call(q,M,a,p,A,E,H)),V=l}else{const M=t;X=Re(M.length>1?M(p,{attrs:l,slots:o,emit:f}):M(p,null)),V=t.props?l:xo(l)}}catch(M){Ft.length=0,hs(M,e,1),X=lt(_t)}let B=X;if(V&&R!==!1){const M=Object.keys(V),{shapeFlag:q}=B;M.length&&q&7&&(i&&M.some(Ws)&&(V=wo(V,i)),B=bt(B,V,!1,!0))}return s.dirs&&(B=bt(B,null,!1,!0),B.dirs=B.dirs?B.dirs.concat(s.dirs):s.dirs),s.transition&&en(B,s.transition),X=B,ss(z),X}const xo=e=>{let t;for(const s in e)(s==="class"||s==="style"||os(s))&&((t||(t={}))[s]=e[s]);return t},wo=(e,t)=>{const s={};for(const n in e)(!Ws(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function So(e,t,s){const{props:n,children:r,component:i}=e,{props:o,children:l,patchFlag:f}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&f>=0){if(f&1024)return!0;if(f&16)return n?wn(n,o,d):!!o;if(f&8){const a=t.dynamicProps;for(let p=0;p<a.length;p++){const E=a[p];if(Dr(o,n,E)&&!gs(d,E))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:n===o?!1:n?o?wn(n,o,d):!0:!!o;return!1}function wn(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let r=0;r<n.length;r++){const i=n[r];if(Dr(t,e,i)&&!gs(s,i))return!0}return!1}function Dr(e,t,s){const n=e[s],r=t[s];return s==="style"&&W(n)&&W(r)?!xt(n,r):n!==r}function Co({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const Vr={},Lr=()=>Object.create(Vr),Hr=e=>Object.getPrototypeOf(e)===Vr;function To(e,t,s,n=!1){const r={},i=Lr();e.propsDefaults=Object.create(null),$r(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);s?e.props=n?r:Ri(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Eo(e,t,s,n){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=U(r),[f]=e.propsOptions;let d=!1;if((n||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let p=0;p<a.length;p++){let E=a[p];if(gs(e.emitsOptions,E))continue;const A=t[E];if(f)if(j(i,E))A!==i[E]&&(i[E]=A,d=!0);else{const H=Se(E);r[H]=$s(f,l,H,A,e,!1)}else A!==i[E]&&(i[E]=A,d=!0)}}}else{$r(e,t,r,i)&&(d=!0);let a;for(const p in l)(!t||!j(t,p)&&((a=ct(p))===p||!j(t,a)))&&(f?s&&(s[p]!==void 0||s[a]!==void 0)&&(r[p]=$s(f,l,p,void 0,e,!0)):delete r[p]);if(i!==l)for(const p in i)(!t||!j(t,p))&&(delete i[p],d=!0)}d&&Ke(e.attrs,"set","")}function $r(e,t,s,n){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let f in t){if(At(f))continue;const d=t[f];let a;r&&j(r,a=Se(f))?!i||!i.includes(a)?s[a]=d:(l||(l={}))[a]=d:gs(e.emitsOptions,f)||(!(f in n)||d!==n[f])&&(n[f]=d,o=!0)}if(i){const f=U(s),d=l||k;for(let a=0;a<i.length;a++){const p=i[a];s[p]=$s(r,f,p,d[p],e,!j(d,p))}}return o}function $s(e,t,s,n,r,i){const o=e[s];if(o!=null){const l=j(o,"default");if(l&&n===void 0){const f=o.default;if(o.type!==Function&&!o.skipFactory&&D(f)){const{propsDefaults:d}=r;if(s in d)n=d[s];else{const a=Wt(r);n=d[s]=f.call(null,t),a()}}else n=f;r.ce&&r.ce._setProp(s,n)}o[0]&&(i&&!l?n=!1:o[1]&&(n===""||n===ct(s))&&(n=!0))}return n}const Oo=new WeakMap;function jr(e,t,s=!1){const n=s?Oo:t.propsCache,r=n.get(e);if(r)return r;const i=e.props,o={},l=[];let f=!1;if(!D(e)){const a=p=>{f=!0;const[E,A]=jr(p,t,!0);se(o,E),A&&l.push(...A)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!f)return W(e)&&n.set(e,at),at;if(N(i))for(let a=0;a<i.length;a++){const p=Se(i[a]);Sn(p)&&(o[p]=k)}else if(i)for(const a in i){const p=Se(a);if(Sn(p)){const E=i[a],A=o[p]=N(E)||D(E)?{type:E}:se({},E),H=A.type;let R=!1,z=!0;if(N(H))for(let X=0;X<H.length;++X){const V=H[X],B=D(V)&&V.name;if(B==="Boolean"){R=!0;break}else B==="String"&&(z=!1)}else R=D(H)&&H.name==="Boolean";A[0]=R,A[1]=z,(R||j(A,"default"))&&l.push(p)}}const d=[o,l];return W(e)&&n.set(e,d),d}function Sn(e){return e[0]!=="$"&&!At(e)}const tn=e=>e==="_"||e==="_ctx"||e==="$stable",sn=e=>N(e)?e.map(Re):[Re(e)],Ao=(e,t,s)=>{if(t._n)return t;const n=Bi((...r)=>sn(t(...r)),s);return n._c=!1,n},Kr=(e,t,s)=>{const n=e._ctx;for(const r in e){if(tn(r))continue;const i=e[r];if(D(i))t[r]=Ao(r,i,n);else if(i!=null){const o=sn(i);t[r]=()=>o}}},Ur=(e,t)=>{const s=sn(t);e.slots.default=()=>s},Wr=(e,t,s)=>{for(const n in t)(s||!tn(n))&&(e[n]=t[n])},Io=(e,t,s)=>{const n=e.slots=Lr();if(e.vnode.shapeFlag&32){const r=t._;r?(Wr(n,t,s),s&&zn(n,"_",r,!0)):Kr(t,n)}else t&&Ur(e,t)},Po=(e,t,s)=>{const{vnode:n,slots:r}=e;let i=!0,o=k;if(n.shapeFlag&32){const l=t._;l?s&&l===1?i=!1:Wr(r,t,s):(i=!t.$stable,Kr(t,r)),o=t}else t&&(Ur(e,t),o={default:1});if(i)for(const l in r)!tn(l)&&o[l]==null&&delete r[l]},de=Do;function Mo(e){return No(e)}function No(e,t){const s=fs();s.__VUE__=!0;const{insert:n,remove:r,patchProp:i,createElement:o,createText:l,createComment:f,setText:d,setElementText:a,parentNode:p,nextSibling:E,setScopeId:A=Fe,insertStaticContent:H}=e,R=(c,u,h,b=null,g=null,m=null,C=void 0,S=null,v=!!u.dynamicChildren)=>{if(c===u)return;c&&!Et(c,u)&&(b=qt(c),Ee(c,g,m,!0),c=null),u.patchFlag===-2&&(v=!1,u.dynamicChildren=null);const{type:_,ref:P,shapeFlag:T}=u;switch(_){case ms:z(c,u,h,b);break;case _t:X(c,u,h,b);break;case Os:c==null&&V(u,h,b,C);break;case me:x(c,u,h,b,g,m,C,S,v);break;default:T&1?q(c,u,h,b,g,m,C,S,v):T&6?y(c,u,h,b,g,m,C,S,v):(T&64||T&128)&&_.process(c,u,h,b,g,m,C,S,v,St)}P!=null&&g?Mt(P,c&&c.ref,m,u||c,!u):P==null&&c&&c.ref!=null&&Mt(c.ref,null,m,c,!0)},z=(c,u,h,b)=>{if(c==null)n(u.el=l(u.children),h,b);else{const g=u.el=c.el;u.children!==c.children&&d(g,u.children)}},X=(c,u,h,b)=>{c==null?n(u.el=f(u.children||""),h,b):u.el=c.el},V=(c,u,h,b)=>{[c.el,c.anchor]=H(c.children,u,h,b,c.el,c.anchor)},B=({el:c,anchor:u},h,b)=>{let g;for(;c&&c!==u;)g=E(c),n(c,h,b),c=g;n(u,h,b)},M=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=E(c),r(c),c=h;r(u)},q=(c,u,h,b,g,m,C,S,v)=>{if(u.type==="svg"?C="svg":u.type==="math"&&(C="mathml"),c==null)ve(u,h,b,g,m,C,S,v);else{const _=c.el&&c.el._isVueCE?c.el:null;try{_&&_._beginPatch(),Ge(c,u,g,m,C,S,v)}finally{_&&_._endPatch()}}},ve=(c,u,h,b,g,m,C,S)=>{let v,_;const{props:P,shapeFlag:T,transition:I,dirs:F}=c;if(v=c.el=o(c.type,m,P&&P.is,P),T&8?a(v,c.children):T&16&&be(c.children,v,null,b,g,Es(c,m),C,S),F&&st(c,null,b,"created"),fe(v,c,c.scopeId,C,b),P){for(const J in P)J!=="value"&&!At(J)&&i(v,J,null,P[J],m,b);"value"in P&&i(v,"value",null,P.value,m),(_=P.onVnodeBeforeMount)&&Pe(_,b,c)}F&&st(c,null,b,"beforeMount");const L=Ro(g,I);L&&I.beforeEnter(v),n(v,u,h),((_=P&&P.onVnodeMounted)||L||F)&&de(()=>{_&&Pe(_,b,c),L&&I.enter(v),F&&st(c,null,b,"mounted")},g)},fe=(c,u,h,b,g)=>{if(h&&A(c,h),b)for(let m=0;m<b.length;m++)A(c,b[m]);if(g){let m=g.subTree;if(u===m||Xr(m.type)&&(m.ssContent===u||m.ssFallback===u)){const C=g.vnode;fe(c,C,C.scopeId,C.slotScopeIds,g.parent)}}},be=(c,u,h,b,g,m,C,S,v=0)=>{for(let _=v;_<c.length;_++){const P=c[_]=S?$e(c[_]):Re(c[_]);R(null,P,u,h,b,g,m,C,S)}},Ge=(c,u,h,b,g,m,C)=>{const S=u.el=c.el;let{patchFlag:v,dynamicChildren:_,dirs:P}=u;v|=c.patchFlag&16;const T=c.props||k,I=u.props||k;let F;if(h&&nt(h,!1),(F=I.onVnodeBeforeUpdate)&&Pe(F,h,u,c),P&&st(u,c,h,"beforeUpdate"),h&&nt(h,!0),(T.innerHTML&&I.innerHTML==null||T.textContent&&I.textContent==null)&&a(S,""),_?xe(c.dynamicChildren,_,S,h,b,Es(u,g),m):C||G(c,u,S,null,h,b,Es(u,g),m,!1),v>0){if(v&16)O(S,T,I,h,g);else if(v&2&&T.class!==I.class&&i(S,"class",null,I.class,g),v&4&&i(S,"style",T.style,I.style,g),v&8){const L=u.dynamicProps;for(let J=0;J<L.length;J++){const K=L[J],ue=T[K],ae=I[K];(ae!==ue||K==="value")&&i(S,K,ue,ae,g,h)}}v&1&&c.children!==u.children&&a(S,u.children)}else!C&&_==null&&O(S,T,I,h,g);((F=I.onVnodeUpdated)||P)&&de(()=>{F&&Pe(F,h,u,c),P&&st(u,c,h,"updated")},b)},xe=(c,u,h,b,g,m,C)=>{for(let S=0;S<u.length;S++){const v=c[S],_=u[S],P=v.el&&(v.type===me||!Et(v,_)||v.shapeFlag&198)?p(v.el):h;R(v,_,P,null,b,g,m,C,!0)}},O=(c,u,h,b,g)=>{if(u!==h){if(u!==k)for(const m in u)!At(m)&&!(m in h)&&i(c,m,u[m],null,g,b);for(const m in h){if(At(m))continue;const C=h[m],S=u[m];C!==S&&m!=="value"&&i(c,m,S,C,g,b)}"value"in h&&i(c,"value",u.value,h.value,g)}},x=(c,u,h,b,g,m,C,S,v)=>{const _=u.el=c?c.el:l(""),P=u.anchor=c?c.anchor:l("");let{patchFlag:T,dynamicChildren:I,slotScopeIds:F}=u;F&&(S=S?S.concat(F):F),c==null?(n(_,h,b),n(P,h,b),be(u.children||[],h,P,g,m,C,S,v)):T>0&&T&64&&I&&c.dynamicChildren&&c.dynamicChildren.length===I.length?(xe(c.dynamicChildren,I,h,g,m,C,S),(u.key!=null||g&&u===g.subTree)&&Br(c,u,!0)):G(c,u,h,P,g,m,C,S,v)},y=(c,u,h,b,g,m,C,S,v)=>{u.slotScopeIds=S,c==null?u.shapeFlag&512?g.ctx.activate(u,h,b,C,v):we(u,h,b,g,m,C,v):pe(c,u,v)},we=(c,u,h,b,g,m,C)=>{const S=c.component=Bo(c,b,g);if(Er(c)&&(S.ctx.renderer=St),ko(S,!1,C),S.asyncDep){if(g&&g.registerDep(S,ee,C),!c.el){const v=S.subTree=lt(_t);X(null,v,u,h),c.placeholder=v.el}}else ee(S,c,u,h,g,m,C)},pe=(c,u,h)=>{const b=u.component=c.component;if(So(c,u,h))if(b.asyncDep&&!b.asyncResolved){Z(b,u,h);return}else b.next=u,b.update();else u.el=c.el,b.vnode=u},ee=(c,u,h,b,g,m,C)=>{const S=()=>{if(c.isMounted){let{next:T,bu:I,u:F,parent:L,vnode:J}=c;{const Ae=qr(c);if(Ae){T&&(T.el=J.el,Z(c,T,C)),Ae.asyncDep.then(()=>{de(()=>{c.isUnmounted||_()},g)});return}}let K=T,ue;nt(c,!1),T?(T.el=J.el,Z(c,T,C)):T=J,I&&Yt(I),(ue=T.props&&T.props.onVnodeBeforeUpdate)&&Pe(ue,L,T,J),nt(c,!0);const ae=xn(c),Oe=c.subTree;c.subTree=ae,R(Oe,ae,p(Oe.el),qt(Oe),c,g,m),T.el=ae.el,K===null&&Co(c,ae.el),F&&de(F,g),(ue=T.props&&T.props.onVnodeUpdated)&&de(()=>Pe(ue,L,T,J),g)}else{let T;const{el:I,props:F}=u,{bm:L,m:J,parent:K,root:ue,type:ae}=c,Oe=Nt(u);nt(c,!1),L&&Yt(L),!Oe&&(T=F&&F.onVnodeBeforeMount)&&Pe(T,K,u),nt(c,!0);{ue.ce&&ue.ce._hasShadowRoot()&&ue.ce._injectChildStyle(ae,c.parent?c.parent.type:void 0);const Ae=c.subTree=xn(c);R(null,Ae,h,b,c,g,m),u.el=Ae.el}if(J&&de(J,g),!Oe&&(T=F&&F.onVnodeMounted)){const Ae=u;de(()=>Pe(T,K,Ae),g)}(u.shapeFlag&256||K&&Nt(K.vnode)&&K.vnode.shapeFlag&256)&&c.a&&de(c.a,g),c.isMounted=!0,u=h=b=null}};c.scope.on();const v=c.effect=new tr(S);c.scope.off();const _=c.update=v.run.bind(v),P=c.job=v.runIfDirty.bind(v);P.i=c,P.id=c.uid,v.scheduler=()=>Qs(P),nt(c,!0),_()},Z=(c,u,h)=>{u.component=c;const b=c.vnode.props;c.vnode=u,c.next=null,Eo(c,u.props,b,h),Po(c,u.children,h),Be(),pn(c),qe()},G=(c,u,h,b,g,m,C,S,v=!1)=>{const _=c&&c.children,P=c?c.shapeFlag:0,T=u.children,{patchFlag:I,shapeFlag:F}=u;if(I>0){if(I&128){Bt(_,T,h,b,g,m,C,S,v);return}else if(I&256){et(_,T,h,b,g,m,C,S,v);return}}F&8?(P&16&&wt(_,g,m),T!==_&&a(h,T)):P&16?F&16?Bt(_,T,h,b,g,m,C,S,v):wt(_,g,m,!0):(P&8&&a(h,""),F&16&&be(T,h,b,g,m,C,S,v))},et=(c,u,h,b,g,m,C,S,v)=>{c=c||at,u=u||at;const _=c.length,P=u.length,T=Math.min(_,P);let I;for(I=0;I<T;I++){const F=u[I]=v?$e(u[I]):Re(u[I]);R(c[I],F,h,null,g,m,C,S,v)}_>P?wt(c,g,m,!0,!1,T):be(u,h,b,g,m,C,S,v,T)},Bt=(c,u,h,b,g,m,C,S,v)=>{let _=0;const P=u.length;let T=c.length-1,I=P-1;for(;_<=T&&_<=I;){const F=c[_],L=u[_]=v?$e(u[_]):Re(u[_]);if(Et(F,L))R(F,L,h,null,g,m,C,S,v);else break;_++}for(;_<=T&&_<=I;){const F=c[T],L=u[I]=v?$e(u[I]):Re(u[I]);if(Et(F,L))R(F,L,h,null,g,m,C,S,v);else break;T--,I--}if(_>T){if(_<=I){const F=I+1,L=F<P?u[F].el:b;for(;_<=I;)R(null,u[_]=v?$e(u[_]):Re(u[_]),h,L,g,m,C,S,v),_++}}else if(_>I)for(;_<=T;)Ee(c[_],g,m,!0),_++;else{const F=_,L=_,J=new Map;for(_=L;_<=I;_++){const ge=u[_]=v?$e(u[_]):Re(u[_]);ge.key!=null&&J.set(ge.key,_)}let K,ue=0;const ae=I-L+1;let Oe=!1,Ae=0;const Ct=new Array(ae);for(_=0;_<ae;_++)Ct[_]=0;for(_=F;_<=T;_++){const ge=c[_];if(ue>=ae){Ee(ge,g,m,!0);continue}let Ie;if(ge.key!=null)Ie=J.get(ge.key);else for(K=L;K<=I;K++)if(Ct[K-L]===0&&Et(ge,u[K])){Ie=K;break}Ie===void 0?Ee(ge,g,m,!0):(Ct[Ie-L]=_+1,Ie>=Ae?Ae=Ie:Oe=!0,R(ge,u[Ie],h,null,g,m,C,S,v),ue++)}const ln=Oe?Fo(Ct):at;for(K=ln.length-1,_=ae-1;_>=0;_--){const ge=L+_,Ie=u[ge],cn=u[ge+1],fn=ge+1<P?cn.el||kr(cn):b;Ct[_]===0?R(null,Ie,h,fn,g,m,C,S,v):Oe&&(K<0||_!==ln[K]?tt(Ie,h,fn,2):K--)}}},tt=(c,u,h,b,g=null)=>{const{el:m,type:C,transition:S,children:v,shapeFlag:_}=c;if(_&6){tt(c.component.subTree,u,h,b);return}if(_&128){c.suspense.move(u,h,b);return}if(_&64){C.move(c,u,h,St);return}if(C===me){n(m,u,h);for(let T=0;T<v.length;T++)tt(v[T],u,h,b);n(c.anchor,u,h);return}if(C===Os){B(c,u,h);return}if(b!==2&&_&1&&S)if(b===0)S.beforeEnter(m),n(m,u,h),de(()=>S.enter(m),g);else{const{leave:T,delayLeave:I,afterLeave:F}=S,L=()=>{c.ctx.isUnmounted?r(m):n(m,u,h)},J=()=>{m._isLeaving&&m[zi](!0),T(m,()=>{L(),F&&F()})};I?I(m,L,J):J()}else n(m,u,h)},Ee=(c,u,h,b=!1,g=!1)=>{const{type:m,props:C,ref:S,children:v,dynamicChildren:_,shapeFlag:P,patchFlag:T,dirs:I,cacheIndex:F}=c;if(T===-2&&(g=!1),S!=null&&(Be(),Mt(S,null,h,c,!0),qe()),F!=null&&(u.renderCache[F]=void 0),P&256){u.ctx.deactivate(c);return}const L=P&1&&I,J=!Nt(c);let K;if(J&&(K=C&&C.onVnodeBeforeUnmount)&&Pe(K,u,c),P&6)ti(c.component,h,b);else{if(P&128){c.suspense.unmount(h,b);return}L&&st(c,null,u,"beforeUnmount"),P&64?c.type.remove(c,u,h,St,b):_&&!_.hasOnce&&(m!==me||T>0&&T&64)?wt(_,u,h,!1,!0):(m===me&&T&384||!g&&P&16)&&wt(v,u,h),b&&rn(c)}(J&&(K=C&&C.onVnodeUnmounted)||L)&&de(()=>{K&&Pe(K,u,c),L&&st(c,null,u,"unmounted")},h)},rn=c=>{const{type:u,el:h,anchor:b,transition:g}=c;if(u===me){ei(h,b);return}if(u===Os){M(c);return}const m=()=>{r(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(c.shapeFlag&1&&g&&!g.persisted){const{leave:C,delayLeave:S}=g,v=()=>C(h,m);S?S(c.el,m,v):v()}else m()},ei=(c,u)=>{let h;for(;c!==u;)h=E(c),r(c),c=h;r(u)},ti=(c,u,h)=>{const{bum:b,scope:g,job:m,subTree:C,um:S,m:v,a:_}=c;Cn(v),Cn(_),b&&Yt(b),g.stop(),m&&(m.flags|=8,Ee(C,c,u,h)),S&&de(S,u),de(()=>{c.isUnmounted=!0},u)},wt=(c,u,h,b=!1,g=!1,m=0)=>{for(let C=m;C<c.length;C++)Ee(c[C],u,h,b,g)},qt=c=>{if(c.shapeFlag&6)return qt(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const u=E(c.anchor||c.el),h=u&&u[Ji];return h?E(h):u};let bs=!1;const on=(c,u,h)=>{let b;c==null?u._vnode&&(Ee(u._vnode,null,null,!0),b=u._vnode.component):R(u._vnode||null,c,u,null,null,null,h),u._vnode=c,bs||(bs=!0,pn(b),vr(),bs=!1)},St={p:R,um:Ee,m:tt,r:rn,mt:we,mc:be,pc:G,pbc:xe,n:qt,o:e};return{render:on,hydrate:void 0,createApp:_o(on)}}function Es({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 nt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ro(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Br(e,t,s=!1){const n=e.children,r=t.children;if(N(n)&&N(r))for(let i=0;i<n.length;i++){const o=n[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=$e(r[i]),l.el=o.el),!s&&l.patchFlag!==-2&&Br(o,l)),l.type===ms&&(l.patchFlag===-1&&(l=r[i]=$e(l)),l.el=o.el),l.type===_t&&!l.el&&(l.el=o.el)}}function Fo(e){const t=e.slice(),s=[0];let n,r,i,o,l;const f=e.length;for(n=0;n<f;n++){const d=e[n];if(d!==0){if(r=s[s.length-1],e[r]<d){t[n]=r,s.push(n);continue}for(i=0,o=s.length-1;i<o;)l=i+o>>1,e[s[l]]<d?i=l+1:o=l;d<e[s[i]]&&(i>0&&(t[n]=s[i-1]),s[i]=n)}}for(i=s.length,o=s[i-1];i-- >0;)s[i]=o,o=t[o];return s}function qr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qr(t)}function Cn(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function kr(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?kr(t.subTree):null}const Xr=e=>e.__isSuspense;function Do(e,t){t&&t.pendingBranch?N(e)?t.effects.push(...e):t.effects.push(e):Wi(e)}const me=Symbol.for("v-fgt"),ms=Symbol.for("v-txt"),_t=Symbol.for("v-cmt"),Os=Symbol.for("v-stc"),Ft=[];let _e=null;function ne(e=!1){Ft.push(_e=e?null:[])}function Vo(){Ft.pop(),_e=Ft[Ft.length-1]||null}let Ht=1;function Tn(e,t=!1){Ht+=e,e<0&&_e&&t&&(_e.hasOnce=!0)}function Lo(e){return e.dynamicChildren=Ht>0?_e||at:null,Vo(),Ht>0&&_e&&_e.push(e),e}function re(e,t,s,n,r,i){return Lo(w(e,t,s,n,r,i,!0))}function Gr(e){return e?e.__v_isVNode===!0:!1}function Et(e,t){return e.type===t.type&&e.key===t.key}const Jr=({key:e})=>e??null,Zt=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Q(e)||ce(e)||D(e)?{i:ye,r:e,k:t,f:!!s}:e:null);function w(e,t=null,s=null,n=0,r=null,i=e===me?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Jr(t),ref:t&&Zt(t),scopeId:wr,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:i,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ye};return l?(nn(f,s),i&128&&e.normalize(f)):s&&(f.shapeFlag|=Q(s)?8:16),Ht>0&&!o&&_e&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&_e.push(f),f}const lt=Ho;function Ho(e,t=null,s=null,n=0,r=null,i=!1){if((!e||e===co)&&(e=_t),Gr(e)){const l=bt(e,t,!0);return s&&nn(l,s),Ht>0&&!i&&_e&&(l.shapeFlag&6?_e[_e.indexOf(e)]=l:_e.push(l)),l.patchFlag=-2,l}if(Yo(e)&&(e=e.__vccOpts),t){t=$o(t);let{class:l,style:f}=t;l&&!Q(l)&&(t.class=ze(l)),W(f)&&(Zs(f)&&!N(f)&&(f=se({},f)),t.style=us(f))}const o=Q(e)?1:Xr(e)?128:Yi(e)?64:W(e)?4:D(e)?2:0;return w(e,t,s,n,r,o,i,!0)}function $o(e){return e?Zs(e)||Hr(e)?se({},e):e:null}function bt(e,t,s=!1,n=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:f}=e,d=t?Ko(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Jr(d),ref:t&&t.ref?s&&i?N(i)?i.concat(Zt(t)):[i,Zt(t)]:Zt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==me?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bt(e.ssContent),ssFallback:e.ssFallback&&bt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return f&&n&&en(a,f.clone(a)),a}function jo(e=" ",t=0){return lt(ms,null,e,t)}function Re(e){return e==null||typeof e=="boolean"?lt(_t):N(e)?lt(me,null,e.slice()):Gr(e)?$e(e):lt(ms,null,String(e))}function $e(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:bt(e)}function nn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(N(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),nn(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!Hr(t)?t._ctx=ye:r===3&&ye&&(ye.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else D(t)?(t={default:t,_ctx:ye},s=32):(t=String(t),n&64?(s=16,t=[jo(t)]):s=8);e.children=t,e.shapeFlag|=s}function Ko(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const r in n)if(r==="class")t.class!==n.class&&(t.class=ze([t.class,n.class]));else if(r==="style")t.style=us([t.style,n.style]);else if(os(r)){const i=t[r],o=n[r];o&&i!==o&&!(N(i)&&i.includes(o))&&(t[r]=i?[].concat(i,o):o)}else r!==""&&(t[r]=n[r])}return t}function Pe(e,t,s,n=null){Ve(e,t,7,[s,n])}const Uo=Rr();let Wo=0;function Bo(e,t,s){const n=e.type,r=(t?t.appContext:e.appContext)||Uo,i={uid:Wo++,vnode:e,type:n,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new hi(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:jr(n,r),emitsOptions:Fr(n,r),emit:null,emitted:null,propsDefaults:k,inheritAttrs:n.inheritAttrs,ctx:k,data:k,props:k,attrs:k,slots:k,refs:k,setupState:k,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 i.ctx={_:i},i.root=t?t.root:i,i.emit=yo.bind(null,i),e.ce&&e.ce(i),i}let le=null;const qo=()=>le||ye;let is,js;{const e=fs(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};is=t("__VUE_INSTANCE_SETTERS__",s=>le=s),js=t("__VUE_SSR_SETTERS__",s=>$t=s)}const Wt=e=>{const t=le;return is(e),e.scope.on(),()=>{e.scope.off(),is(t)}},En=()=>{le&&le.scope.off(),is(null)};function Yr(e){return e.vnode.shapeFlag&4}let $t=!1;function ko(e,t=!1,s=!1){t&&js(t);const{props:n,children:r}=e.vnode,i=Yr(e);To(e,n,i,t),Io(e,r,s||t);const o=i?Xo(e,t):void 0;return t&&js(!1),o}function Xo(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,fo);const{setup:n}=s;if(n){Be();const r=e.setupContext=n.length>1?Jo(e):null,i=Wt(e),o=Ut(n,e,0,[e.props,r]),l=Xn(o);if(qe(),i(),(l||e.sp)&&!Nt(e)&&Tr(e),l){if(o.then(En,En),t)return o.then(f=>{On(e,f)}).catch(f=>{hs(f,e,0)});e.asyncDep=o}else On(e,o)}else zr(e)}function On(e,t,s){D(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:W(t)&&(e.setupState=mr(t)),zr(e)}function zr(e,t,s){const n=e.type;e.render||(e.render=n.render||Fe);{const r=Wt(e);Be();try{uo(e)}finally{qe(),r()}}}const Go={get(e,t){return te(e,"get",""),e[t]}};function Jo(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Go),slots:e.slots,emit:e.emit,expose:t}}function _s(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mr(Fi(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Rt)return Rt[s](e)},has(t,s){return s in t||s in Rt}})):e.proxy}function Yo(e){return D(e)&&"__vccOpts"in e}const Je=(e,t)=>Hi(e,t,$t),zo="3.5.30";let Ks;const An=typeof window<"u"&&window.trustedTypes;if(An)try{Ks=An.createPolicy("vue",{createHTML:e=>e})}catch{}const Zr=Ks?e=>Ks.createHTML(e):e=>e,Zo="http://www.w3.org/2000/svg",Qo="http://www.w3.org/1998/Math/MathML",He=typeof document<"u"?document:null,In=He&&He.createElement("template"),el={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?He.createElementNS(Zo,e):t==="mathml"?He.createElementNS(Qo,e):s?He.createElement(e,{is:s}):He.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>He.createTextNode(e),createComment:e=>He.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>He.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,i){const o=s?s.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===i||!(r=r.nextSibling)););else{In.innerHTML=Zr(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=In.content;if(n==="svg"||n==="mathml"){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},tl=Symbol("_vtc");function sl(e,t,s){const n=e[tl];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Pn=Symbol("_vod"),nl=Symbol("_vsh"),rl=Symbol(""),il=/(?:^|;)\s*display\s*:/;function ol(e,t,s){const n=e.style,r=Q(s);let i=!1;if(s&&!r){if(t)if(Q(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Qt(n,l,"")}else for(const o in t)s[o]==null&&Qt(n,o,"");for(const o in s)o==="display"&&(i=!0),Qt(n,o,s[o])}else if(r){if(t!==s){const o=n[rl];o&&(s+=";"+o),n.cssText=s,i=il.test(s)}}else t&&e.removeAttribute("style");Pn in e&&(e[Pn]=i?n.display:"",e[nl]&&(n.display="none"))}const Mn=/\s*!important$/;function Qt(e,t,s){if(N(s))s.forEach(n=>Qt(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=ll(e,t);Mn.test(s)?e.setProperty(ct(n),s.replace(Mn,""),"important"):e[n]=s}}const Nn=["Webkit","Moz","ms"],As={};function ll(e,t){const s=As[t];if(s)return s;let n=Se(t);if(n!=="filter"&&n in e)return As[t]=n;n=Yn(n);for(let r=0;r<Nn.length;r++){const i=Nn[r]+n;if(i in e)return As[t]=i}return t}const Rn="http://www.w3.org/1999/xlink";function Fn(e,t,s,n,r,i=ai(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(Rn,t.slice(6,t.length)):e.setAttributeNS(Rn,t,s):s==null||i&&!Zn(s)?e.removeAttribute(t):e.setAttribute(t,i?"":De(s)?String(s):s)}function Dn(e,t,s,n,r){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Zr(s):s);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,f=s==null?e.type==="checkbox"?"on":"":String(s);(l!==f||!("_value"in e))&&(e.value=f),s==null&&e.removeAttribute(t),e._value=s;return}let o=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=Zn(s):s==null&&l==="string"?(s="",o=!0):l==="number"&&(s=0,o=!0)}try{e[t]=s}catch{}o&&e.removeAttribute(r||t)}function Ze(e,t,s,n){e.addEventListener(t,s,n)}function cl(e,t,s,n){e.removeEventListener(t,s,n)}const Vn=Symbol("_vei");function fl(e,t,s,n,r=null){const i=e[Vn]||(e[Vn]={}),o=i[t];if(n&&o)o.value=n;else{const[l,f]=ul(t);if(n){const d=i[t]=hl(n,r);Ze(e,l,d,f)}else o&&(cl(e,l,o,f),i[t]=void 0)}}const Ln=/(?:Once|Passive|Capture)$/;function ul(e){let t;if(Ln.test(e)){t={};let n;for(;n=e.match(Ln);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):ct(e.slice(2)),t]}let Is=0;const al=Promise.resolve(),dl=()=>Is||(al.then(()=>Is=0),Is=Date.now());function hl(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Ve(pl(n,s.value),t,5,[n])};return s.value=e,s.attached=dl(),s}function pl(e,t){if(N(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const Hn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,gl=(e,t,s,n,r,i)=>{const o=r==="svg";t==="class"?sl(e,n,o):t==="style"?ol(e,s,n):os(t)?Ws(t)||fl(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ml(e,t,n,o))?(Dn(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fn(e,t,n,o,i,t!=="value")):e._isVueCE&&(_l(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Q(n)))?Dn(e,Se(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fn(e,t,n,o))};function ml(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Hn(t)&&D(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Hn(t)&&Q(s)?!1:t in e}function _l(e,t){const s=e._def.props;if(!s)return!1;const n=Se(t);return Array.isArray(s)?s.some(r=>Se(r)===n):Object.keys(s).some(r=>Se(r)===n)}const yt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return N(t)?s=>Yt(t,s):t};function bl(e){e.target.composing=!0}function $n(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const We=Symbol("_assign");function jn(e,t,s){return t&&(e=e.trim()),s&&(e=cs(e)),e}const yl={created(e,{modifiers:{lazy:t,trim:s,number:n}},r){e[We]=yt(r);const i=n||r.props&&r.props.type==="number";Ze(e,t?"change":"input",o=>{o.target.composing||e[We](jn(e.value,s,i))}),(s||i)&&Ze(e,"change",()=>{e.value=jn(e.value,s,i)}),t||(Ze(e,"compositionstart",bl),Ze(e,"compositionend",$n),Ze(e,"change",$n))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:r,number:i}},o){if(e[We]=yt(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?cs(e.value):e.value,f=t??"";l!==f&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||r&&e.value.trim()===f)||(e.value=f))}},vl={deep:!0,created(e,t,s){e[We]=yt(s),Ze(e,"change",()=>{const n=e._modelValue,r=jt(e),i=e.checked,o=e[We];if(N(n)){const l=ks(n,r),f=l!==-1;if(i&&!f)o(n.concat(r));else if(!i&&f){const d=[...n];d.splice(l,1),o(d)}}else if(vt(n)){const l=new Set(n);i?l.add(r):l.delete(r),o(l)}else o(Qr(e,i))})},mounted:Kn,beforeUpdate(e,t,s){e[We]=yt(s),Kn(e,t,s)}};function Kn(e,{value:t,oldValue:s},n){e._modelValue=t;let r;if(N(t))r=ks(t,n.props.value)>-1;else if(vt(t))r=t.has(n.props.value);else{if(t===s)return;r=xt(t,Qr(e,!0))}e.checked!==r&&(e.checked=r)}const xl={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const r=vt(t);Ze(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>s?cs(jt(o)):jt(o));e[We](e.multiple?r?new Set(i):i:i[0]),e._assigning=!0,br(()=>{e._assigning=!1})}),e[We]=yt(n)},mounted(e,{value:t}){Un(e,t)},beforeUpdate(e,t,s){e[We]=yt(s)},updated(e,{value:t}){e._assigning||Un(e,t)}};function Un(e,t){const s=e.multiple,n=N(t);if(!(s&&!n&&!vt(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=jt(o);if(s)if(n){const f=typeof l;f==="string"||f==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=ks(t,l)>-1}else o.selected=t.has(l);else if(xt(jt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function jt(e){return"_value"in e?e._value:e.value}function Qr(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const wl=se({patchProp:gl},el);let Wn;function Sl(){return Wn||(Wn=Mo(wl))}const Cl=((...e)=>{const t=Sl().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=El(n);if(!r)return;const i=t._component;!D(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=s(r,!1,Tl(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function Tl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function El(e){return Q(e)?document.querySelector(e):e}const Ol={class:"page-shell"},Al={class:"topbar"},Il={class:"toolbar"},Pl=["value"],Ml={class:"checkbox"},Nl=["disabled"],Rl={class:"statusbar"},Fl={class:"pill-row"},Dl={class:"pill neutral"},Vl={class:"pill success"},Ll={class:"pill neutral"},Hl={class:"pill warn"},$l={class:"metric-grid"},jl={class:"metric-card"},Kl={class:"metric-card"},Ul={class:"metric-card"},Wl={class:"metric-card"},Bl={class:"card"},ql={class:"card-head"},kl={class:"meta-chip"},Xl={class:"section-tools"},Gl={key:0,class:"lights-grid"},Jl={class:"tile-head"},Yl={class:"meta-chip"},zl={class:"tile-meta"},Zl={class:"tile-stats"},Ql={class:"pill neutral"},ec={key:1,class:"empty-state"},tc={class:"card"},sc={class:"card-head"},nc={class:"meta-chip"},rc={key:0,class:"dimmer-grid"},ic={class:"tile-head"},oc={class:"meta-chip"},lc={class:"pill warn"},cc={class:"tile-meta"},fc={class:"dimmer-track"},uc={class:"tile-stats"},ac={class:"pill neutral"},dc={key:1,class:"empty-state"},hc={class:"card"},pc={class:"card-head"},gc={class:"meta-chip"},mc={key:0,class:"other-list"},_c={class:"other-side"},bc={class:"pill neutral"},yc={class:"pill neutral"},vc={key:1,class:"empty-state"},Ps="knxUltimateViewer:selectedNodeId",Bn="knxUltimateViewer:autoRefresh",qn="knxUltimateViewer:search",xc={__name:"App",setup(e){const t=(()=>{try{return new URLSearchParams(window.location.search).get("nodeId")||""}catch{return""}})(),s=(()=>{try{return new URLSearchParams(window.location.search).get("access_token")||""}catch{return""}})(),n=ds({nodes:[],selectedNodeId:t||r(Ps,""),autoRefresh:i(Bn,!0),search:r(qn,""),status:"Ready",loadingNodes:!1,loadingState:!1,data:null,lastError:"",pollHandle:null});function r(O,x=""){try{return window.localStorage&&window.localStorage.getItem(O)||x}catch{return x}}function i(O,x){try{if(!window.localStorage)return x;const y=window.localStorage.getItem(O);return y==null||y===""?x:y==="true"}catch{return x}}function o(O,x){try{window.localStorage&&window.localStorage.setItem(O,String(x??""))}catch{}}function l(O,x){try{window.localStorage&&window.localStorage.setItem(O,x?"true":"false")}catch{}}function f(O){const x=new URL(O,window.location.href);return s&&x.searchParams.set("access_token",s),x.toString()}function d(O){n.status=String(O||"")}async function a(O,x){const y=await fetch(O,Object.assign({credentials:"same-origin"},{})),we=await y.text();let pe={};try{pe=we?JSON.parse(we):{}}catch{pe={error:we||`HTTP ${y.status}`}}if(!y.ok){const ee=pe&&pe.error?pe.error:`HTTP ${y.status}`;throw y.status===401||y.status===403?new Error(`Authentication required or insufficient permissions (${y.status}).`):new Error(ee)}return pe}function p(O){return String(O||"").trim()}function E(O){const x=t&&O.find(pe=>pe.id===t)?t:"",y=r(Ps,""),we=y&&O.find(pe=>pe.id===y)?y:"";return x||we||(O[0]?O[0].id:"")}async function A({preserveSelection:O=!0}={}){n.loadingNodes=!0;try{const x=await a(f("nodes")),y=Array.isArray(x&&x.nodes)?x.nodes:[];n.nodes=y,(!O||!n.selectedNodeId||!y.find(we=>we.id===n.selectedNodeId))&&(n.selectedNodeId=E(y))}finally{n.loadingNodes=!1}}async function H(){if(!n.selectedNodeId){n.data=null,n.lastError="No KNX Viewer node available.",d("No viewer nodes");return}n.loadingState=!0,n.lastError="",d("Refreshing KNX Viewer...");try{const O=await a(f(`state?nodeId=${encodeURIComponent(n.selectedNodeId)}`));n.data=O,d("Live state loaded")}catch(O){n.lastError=O.message||String(O),d("Unable to load state")}finally{n.loadingState=!1}}function R(){n.pollHandle&&(clearInterval(n.pollHandle),n.pollHandle=null)}function z(){R(),n.autoRefresh&&(n.pollHandle=setInterval(()=>{H().catch(()=>{})},3e3))}async function X(){await A({preserveSelection:!0}),await H()}function V(O){const x=Number(O||0);if(!Number.isFinite(x)||x<=0)return"n/a";const y=Math.max(0,Date.now()-x);return y<15e3?"just now":y<6e4?`${Math.round(y/1e3)}s ago`:y<36e5?`${Math.round(y/6e4)}m ago`:`${Math.round(y/36e5)}h ago`}function B(O){if(!O)return"n/a";const x=new Date(O);return Number.isFinite(x.getTime())?x.toLocaleString():"n/a"}const M=Je(()=>n.data&&n.data.node?n.data.node:{}),q=Je(()=>n.data&&n.data.summary?n.data.summary:{}),ve=Je(()=>Array.isArray(n.data&&n.data.items)?n.data.items:[]),fe=Je(()=>{const O=p(n.search).toLowerCase();return O?ve.value.filter(x=>`${x.address||""} ${x.devicename||""} ${x.dpt||""}`.toLowerCase().includes(O)):ve.value}),be=Je(()=>fe.value.filter(O=>O.kind==="light")),Ge=Je(()=>fe.value.filter(O=>O.kind==="dimmer")),xe=Je(()=>fe.value.filter(O=>O.kind==="other").slice(0,12));return pt(()=>n.selectedNodeId,async(O,x)=>{o(Ps,O||""),!(!O||O===x)&&await H()}),pt(()=>n.autoRefresh,O=>{l(Bn,O),z()}),pt(()=>n.search,O=>{o(qn,O||"")}),Ar(async()=>{await A({preserveSelection:!1}),await H(),z()}),Ir(()=>{R()}),(O,x)=>(ne(),re("div",Ol,[w("header",Al,[w("div",null,[x[3]||(x[3]=w("p",{class:"eyebrow"},"KNX Viewer Web",-1)),w("h1",null,$(M.value.name||"KNX Viewer"),1),x[4]||(x[4]=w("p",{class:"subhead"}," Live lights and dimmer values collected by the KNX Viewer node. The visual language stays aligned with KNX AI, but focused on field states. ",-1))]),w("div",Il,[Cs(w("select",{"onUpdate:modelValue":x[0]||(x[0]=y=>n.selectedNodeId=y),class:"node-select"},[x[5]||(x[5]=w("option",{value:"",disabled:""},"Select KNX Viewer",-1)),(ne(!0),re(me,null,Jt(n.nodes,y=>(ne(),re("option",{key:y.id,value:y.id},$(`${y.name||"KNXViewer"}${y.gatewayName?` | ${y.gatewayName}`:""}`),9,Pl))),128))],512),[[xl,n.selectedNodeId]]),w("label",Ml,[Cs(w("input",{"onUpdate:modelValue":x[1]||(x[1]=y=>n.autoRefresh=y),type:"checkbox"},null,512),[[vl,n.autoRefresh]]),x[6]||(x[6]=w("span",null,"Auto refresh",-1))]),w("button",{class:"secondary-button",type:"button",disabled:n.loadingState||n.loadingNodes,onClick:X}," Refresh ",8,Nl)]),w("div",Rl,[w("span",{class:ze(["status-pill",n.lastError?"status-error":"status-ok"])},$(n.lastError||n.status),3),w("div",Fl,[w("span",Dl,"Gateway "+$(M.value.gatewayName||"n/a"),1),w("span",Vl,"Lights on "+$(q.value.lightOnCount||0),1),w("span",Ll,"Lights off "+$(q.value.lightOffCount||0),1),w("span",Hl,"Avg dimmer "+$(q.value.averageDimmerLevel||0)+"%",1)])])]),w("section",$l,[w("article",jl,[x[7]||(x[7]=w("span",{class:"metric-label"},"Detected lights",-1)),w("strong",null,$(q.value.lightCount||0),1),x[8]||(x[8]=w("p",null,"Boolean-style KNX values currently visible to this Viewer node.",-1))]),w("article",Kl,[x[9]||(x[9]=w("span",{class:"metric-label"},"Detected dimmers",-1)),w("strong",null,$(q.value.dimmerCount||0),1),x[10]||(x[10]=w("p",null,"5.001-like level values rendered as dimmer cards.",-1))]),w("article",Ul,[x[11]||(x[11]=w("span",{class:"metric-label"},"Known group addresses",-1)),w("strong",null,$(q.value.totalItems||0),1),x[12]||(x[12]=w("p",null,"Total KNX group addresses seen by the Viewer in this runtime session.",-1))]),w("article",Wl,[x[13]||(x[13]=w("span",{class:"metric-label"},"Last KNX update",-1)),w("strong",null,$(B(q.value.lastUpdate)),1),x[14]||(x[14]=w("p",null,"Most recent telegram reflected in this web page.",-1))])]),w("section",Bl,[w("div",ql,[x[15]||(x[15]=w("h2",null,"Lights",-1)),w("span",kl,$(be.value.length)+" visible",1)]),w("div",Xl,[Cs(w("input",{"onUpdate:modelValue":x[2]||(x[2]=y=>n.search=y),class:"search-input",type:"text",placeholder:"Search GA, label or DPT"},null,512),[[yl,n.search]]),x[16]||(x[16]=w("p",{class:"section-note"},"Rendering is based on the live values currently exposed by KNX Viewer.",-1))]),be.value.length?(ne(),re("div",Gl,[(ne(!0),re(me,null,Jt(be.value,y=>(ne(),re("article",{key:y.address,class:ze(["tile-card light-card",{"is-on":y.isOn,"is-off":!y.isOn}])},[w("div",Jl,[x[17]||(x[17]=w("div",{class:"light-badge"},[w("span",{class:"light-badge-core"})],-1)),w("span",Yl,$(y.address),1)]),w("h3",null,$(y.devicename||y.address),1),w("p",zl,$(y.dpt||"no dpt"),1),w("div",Zl,[w("span",{class:ze(["pill",y.isOn?"success":"neutral"])},$(y.isOn?"ON":"OFF"),3),w("span",Ql,"Updated "+$(V(y.lastUpdateMs)),1)])],2))),128))])):(ne(),re("p",ec,"No boolean light-style values detected yet."))]),w("section",tc,[w("div",sc,[x[18]||(x[18]=w("h2",null,"Dimmers",-1)),w("span",nc,$(Ge.value.length)+" visible",1)]),Ge.value.length?(ne(),re("div",rc,[(ne(!0),re(me,null,Jt(Ge.value,y=>(ne(),re("article",{key:y.address,class:ze(["tile-card dimmer-card",{"is-active":Number(y.level||0)>0}])},[w("div",ic,[w("span",oc,$(y.address),1),w("span",lc,$(y.level||0)+"%",1)]),w("h3",null,$(y.devicename||y.address),1),w("p",cc,$(y.dpt||"no dpt"),1),w("div",fc,[w("span",{class:"dimmer-fill",style:us({width:`${y.level||0}%`})},null,4)]),w("div",uc,[w("span",ac,"Updated "+$(V(y.lastUpdateMs)),1),w("span",{class:ze(["pill",Number(y.level||0)>0?"success":"neutral"])},$(Number(y.level||0)>0?"ACTIVE":"IDLE"),3)])],2))),128))])):(ne(),re("p",dc,"No dimmer values detected yet."))]),w("section",hc,[w("div",pc,[x[19]||(x[19]=w("h2",null,"Recent KNX Values",-1)),w("span",gc,$(xe.value.length)+" preview",1)]),xe.value.length?(ne(),re("div",mc,[(ne(!0),re(me,null,Jt(xe.value,y=>(ne(),re("article",{key:y.address,class:"other-row"},[w("div",null,[w("strong",null,$(y.devicename||y.address),1),w("p",null,$(y.address)+$(y.dpt?` | ${y.dpt}`:""),1)]),w("div",_c,[w("span",bc,$(y.payloadText||"-"),1),w("span",yc,$(V(y.lastUpdateMs)),1)])]))),128))])):(ne(),re("p",vc,"No additional KNX values available for preview."))])]))}};Cl(xc).mount("#app");
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>KNX Viewer Web</title>
|
|
7
|
-
<script type="module" crossorigin src="
|
|
8
|
-
<link rel="stylesheet" crossorigin href="
|
|
7
|
+
<script type="module" crossorigin src="./assets/app.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="./assets/app.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="app"></div>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const REQUEST_TOKEN_PROP = 'knxUltimateAccessToken'
|
|
2
|
+
|
|
3
|
+
const getRequestAccessToken = (req) => {
|
|
4
|
+
if (req && typeof req[REQUEST_TOKEN_PROP] === 'string' && req[REQUEST_TOKEN_PROP].trim() !== '') {
|
|
5
|
+
return req[REQUEST_TOKEN_PROP].trim()
|
|
6
|
+
}
|
|
7
|
+
if (req && req.query && typeof req.query.access_token === 'string') {
|
|
8
|
+
const queryToken = String(req.query.access_token).trim()
|
|
9
|
+
if (queryToken) return queryToken
|
|
10
|
+
}
|
|
11
|
+
return ''
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const normalizeAuthFromAccessTokenQuery = (req, res, next) => {
|
|
15
|
+
const queryToken = req && req.query && typeof req.query.access_token === 'string'
|
|
16
|
+
? String(req.query.access_token).trim()
|
|
17
|
+
: ''
|
|
18
|
+
if (queryToken) {
|
|
19
|
+
req[REQUEST_TOKEN_PROP] = queryToken
|
|
20
|
+
if (!(req.headers && req.headers.authorization)) {
|
|
21
|
+
req.headers = req.headers || {}
|
|
22
|
+
req.headers.authorization = `Bearer ${queryToken}`
|
|
23
|
+
}
|
|
24
|
+
if (req.query && Object.prototype.hasOwnProperty.call(req.query, 'access_token')) {
|
|
25
|
+
delete req.query.access_token
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
next()
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
module.exports = {
|
|
32
|
+
getRequestAccessToken,
|
|
33
|
+
normalizeAuthFromAccessTokenQuery
|
|
34
|
+
}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"engines": {
|
|
4
4
|
"node": ">=20.18.1"
|
|
5
5
|
},
|
|
6
|
-
"version": "4.2.
|
|
6
|
+
"version": "4.2.12",
|
|
7
7
|
"description": "Control your KNX and KNX Secure intallation via Node-Red! A bunch of KNX nodes, with integrated Philips HUE control, ETS group address importer, and KNX routing between interfaces. Easy to use and highly configurable.",
|
|
8
8
|
"files": [
|
|
9
9
|
"nodes/",
|
|
@@ -117,4 +117,4 @@
|
|
|
117
117
|
"vite": "^7.1.3",
|
|
118
118
|
"vue": "^3.5.21"
|
|
119
119
|
}
|
|
120
|
-
}
|
|
120
|
+
}
|