node-red-contrib-knx-ultimate 7.1.0-beta.0 → 7.1.0-beta.2

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.
Files changed (39) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/README.md +1 -1
  3. package/nodes/plugins/knxUltimateViewer-vue/assets/app.js +2 -2
  4. package/package.json +6 -13
  5. package/nodes/knxUltimateAI.html +0 -1820
  6. package/nodes/knxUltimateAI.js +0 -16797
  7. package/nodes/knxUltimateAIHomeAssistant.html +0 -40
  8. package/nodes/knxUltimateAIHomeAssistant.js +0 -152
  9. package/nodes/locales/de/knxUltimateAI.html +0 -5
  10. package/nodes/locales/de/knxUltimateAI.json +0 -231
  11. package/nodes/locales/en/knxUltimateAI.html +0 -5
  12. package/nodes/locales/en/knxUltimateAI.json +0 -234
  13. package/nodes/locales/es/knxUltimateAI.html +0 -5
  14. package/nodes/locales/es/knxUltimateAI.json +0 -231
  15. package/nodes/locales/fr/knxUltimateAI.html +0 -5
  16. package/nodes/locales/fr/knxUltimateAI.json +0 -231
  17. package/nodes/locales/it/knxUltimateAI.html +0 -5
  18. package/nodes/locales/it/knxUltimateAI.json +0 -234
  19. package/nodes/locales/zh-CN/knxUltimateAI.html +0 -5
  20. package/nodes/locales/zh-CN/knxUltimateAI.json +0 -231
  21. package/nodes/plugins/knxUltimate-cerebrum-runtime-plugin.js +0 -79
  22. package/nodes/plugins/knxUltimateAI-vue/assets/app.css +0 -1
  23. package/nodes/plugins/knxUltimateAI-vue/assets/app.js +0 -13
  24. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-html2canvas.esm.js +0 -5
  25. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-index.es.js +0 -5
  26. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-jspdf.es.min.js +0 -79
  27. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-purify.es.js +0 -3
  28. package/nodes/plugins/knxUltimateAI-vue/index.html +0 -13
  29. package/nodes/utils/knxAiCamera.js +0 -302
  30. package/nodes/utils/knxAiCatalogRetrieval.js +0 -349
  31. package/nodes/utils/knxAiCerebrum.js +0 -406
  32. package/nodes/utils/knxAiChatContext.js +0 -496
  33. package/nodes/utils/knxAiEventHistory.js +0 -521
  34. package/nodes/utils/knxAiHomeMemory.js +0 -1021
  35. package/nodes/utils/knxAiScheduler.js +0 -445
  36. package/nodes/utils/knxAiSemanticContext.js +0 -662
  37. package/nodes/utils/knxAiTelegramVoice.js +0 -545
  38. package/nodes/utils/knxAiWebAccess.js +0 -631
  39. package/resources/KNXAIChatAdapterMappings.js +0 -416
package/CHANGELOG.md CHANGED
@@ -6,11 +6,16 @@
6
6
 
7
7
  # CHANGELOG
8
8
 
9
- **Version 7.1.0-beta.0** - September 2026<br/>
9
+ **Version 7.1.0-beta.2** - September 2026<br/>
10
+
11
+ - Public beta avaiable for all<br/>
12
+
13
+ **Version 7.1.0-beta.1** - September 2026<br/>
10
14
 
11
15
  - New **KNX Utility** node with eleven functions, including Home Assistant Translator, and conversion of legacy nodes.<br/>
12
16
  - Automatic flow backup before converting KNX and HUE nodes.<br/>
13
17
  - Simple **KNX Viewer** telegram list with 24-hour history saved to file.<br/>
18
+ - **BREAKING CHANGE:** Removed legacy **KNX AI** nodes and their web dashboard. Existing AI flows must be migrated to standalone **Cerebrum Ultimate**.<br/>
14
19
  - KNX Engine updated to 6.0.6.<br/>
15
20
 
16
21
  **Version 7.0.4** - September 2026<br/>
package/README.md CHANGED
@@ -12,7 +12,7 @@ KNX Ultimate is the most advanced KNX integration for Node-RED, providing secure
12
12
 
13
13
  **KNX Viewer** opens a simple ETS-style list of group address state changes, with time, telegram type (Read, Write, Response), source, GA, name, DPT, previous value and new value. Read requests are also recorded, without changing the last known GA value. Search the history or pause the live view; the node keeps recording to local files and retains the last 24 hours across Node-RED restarts. See the [KNX Viewer guide](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/knxUltimateViewer).
14
14
 
15
- The former bundled AI assistant has moved to the standalone [Cerebrum Ultimate](https://github.com/Supergiovane/node-red-contrib-cerebrum-ultimate) package. Cerebrum Ultimate now provides the conversational, learning and supervised home-intelligence features, while using KNX Ultimate as an optional compatible integration. Hidden legacy runtime types remain in this package only so existing Node-RED flows continue to load; new installations should add the Cerebrum node from the standalone package.
15
+ The AI assistant is available in the standalone [Cerebrum Ultimate](https://github.com/Supergiovane/node-red-contrib-cerebrum-ultimate) package, with KNX Ultimate as an optional compatible integration. Starting with **7.1.0-beta.0**, the legacy `knxUltimateAI` and `knxUltimateAIHomeAssistant` nodes and their bundled web dashboard have been removed. Existing flows containing these types will show unknown nodes: migrate them to standalone Cerebrum Ultimate before upgrading. There is no automatic conversion; saved AI data on disk is left untouched.
16
16
 
17
17
  <br/>
18
18
  <br/>
@@ -1,2 +1,2 @@
1
- (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))r(n);new MutationObserver(n=>{for(const i of n)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function s(n){const i={};return n.integrity&&(i.integrity=n.integrity),n.referrerPolicy&&(i.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?i.credentials="include":n.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(n){if(n.ep)return;n.ep=!0;const i=s(n);fetch(n.href,i)}})();function Zs(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const X={},wt=[],He=()=>{},Zr=()=>!1,ps=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),gs=e=>e.startsWith("onUpdate:"),fe=Object.assign,Qs=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},ci=Object.prototype.hasOwnProperty,q=(e,t)=>ci.call(e,t),D=Array.isArray,xt=e=>kt(e)==="[object Map]",ms=e=>kt(e)==="[object Set]",mr=e=>kt(e)==="[object Date]",F=e=>typeof e=="function",Q=e=>typeof e=="string",je=e=>typeof e=="symbol",G=e=>e!==null&&typeof e=="object",Qr=e=>(G(e)||F(e))&&F(e.then)&&F(e.catch),en=Object.prototype.toString,kt=e=>en.call(e),ai=e=>kt(e).slice(8,-1),tn=e=>kt(e)==="[object Object]",er=e=>Q(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Rt=Zs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),_s=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},ui=/-\w/g,Ee=_s(e=>e.replace(ui,t=>t.slice(1).toUpperCase())),fi=/\B([A-Z])/g,pt=_s(e=>e.replace(fi,"-$1").toLowerCase()),sn=_s(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ns=_s(e=>e?`on${sn(e)}`:""),Be=(e,t)=>!Object.is(e,t),ss=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},rn=(e,t,s,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:s})},bs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let _r;const ys=()=>_r||(_r=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function tr(e){if(D(e)){const t={};for(let s=0;s<e.length;s++){const r=e[s],n=Q(r)?gi(r):tr(r);if(n)for(const i in n)t[i]=n[i]}return t}else if(Q(e)||G(e))return e}const di=/;(?![^(]*\))/g,hi=/:([^]+)/,pi=/\/\*[^]*?\*\//g;function gi(e){const t={};return e.replace(pi,"").split(di).forEach(s=>{if(s){const r=s.split(hi);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function vs(e){let t="";if(Q(e))t=e;else if(D(e))for(let s=0;s<e.length;s++){const r=vs(e[s]);r&&(t+=r+" ")}else if(G(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const mi="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",_i=Zs(mi);function nn(e){return!!e||e===""}function bi(e,t){if(e.length!==t.length)return!1;let s=!0;for(let r=0;s&&r<e.length;r++)s=Gt(e[r],t[r]);return s}function Gt(e,t){if(e===t)return!0;let s=mr(e),r=mr(t);if(s||r)return s&&r?e.getTime()===t.getTime():!1;if(s=je(e),r=je(t),s||r)return e===t;if(s=D(e),r=D(t),s||r)return s&&r?bi(e,t):!1;if(s=G(e),r=G(t),s||r){if(!s||!r)return!1;const n=Object.keys(e).length,i=Object.keys(t).length;if(n!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),u=t.hasOwnProperty(o);if(l&&!u||!l&&u||!Gt(e[o],t[o]))return!1}}return String(e)===String(t)}function yi(e,t){return e.findIndex(s=>Gt(s,t))}const on=e=>!!(e&&e.__v_isRef===!0),M=e=>Q(e)?e:e==null?"":D(e)||G(e)&&(e.toString===en||!F(e.toString))?on(e)?M(e.value):JSON.stringify(e,ln,2):String(e),ln=(e,t)=>on(t)?ln(e,t.value):xt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[r,n],i)=>(s[Is(r,i)+" =>"]=n,s),{})}:ms(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Is(s))}:je(t)?Is(t):G(t)&&!D(t)&&!tn(t)?String(t):t,Is=(e,t="")=>{var s;return je(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let ae;class vi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ae&&(ae.active?(this.parent=ae,this.index=(ae.scopes||(ae.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes){const r=this.scopes.slice();for(t=0,s=r.length;t<s;t++)r[t].pause()}for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes){const n=this.scopes.slice();for(t=0,s=n.length;t<s;t++)n[t].resume()}const r=this.effects.slice();for(t=0,s=r.length;t<s;t++)r[t].resume()}}run(t){if(this._active){const s=ae;try{return ae=this,t()}finally{ae=s}}}on(){++this._on===1&&(this.prevScope=ae,ae=this)}off(){if(this._on>0&&--this._on===0){if(ae===this)ae=this.prevScope;else{let t=ae;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let s,r;for(s=0,r=this.effects.length;s<r;s++)this.effects[s].stop();for(this.effects.length=0,s=0,r=this.cleanups.length;s<r;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){const n=this.scopes.slice();for(s=0,r=n.length;s<r;s++)n[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const n=this.parent.scopes.pop();n&&n!==this&&(this.parent.scopes[this.index]=n,n.index=this.index)}this.parent=void 0}}}function wi(){return ae}let Y;const Os=new WeakSet;class cn{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,ae&&(ae.active?ae.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Os.has(this)&&(Os.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||un(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,br(this),fn(this);const t=Y,s=Te;Y=this,Te=!0;try{return this.fn()}finally{dn(this),Y=t,Te=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)nr(t);this.deps=this.depsTail=void 0,br(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Os.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Us(this)&&this.run()}get dirty(){return Us(this)}}let an=0,Mt,Dt;function un(e,t=!1){if(e.flags|=8,t){e.next=Dt,Dt=e;return}e.next=Mt,Mt=e}function sr(){an++}function rr(){if(--an>0)return;if(Dt){let t=Dt;for(Dt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Mt;){let t=Mt;for(Mt=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=s}}if(e)throw e}function fn(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function dn(e){let t,s=e.depsTail,r=s;for(;r;){const n=r.prevDep;r.version===-1?(r===s&&(s=n),nr(r),xi(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=n}e.deps=t,e.depsTail=s}function Us(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(hn(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function hn(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Kt)||(e.globalVersion=Kt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Us(e))))return;e.flags|=2;const t=e.dep,s=Y,r=Te;Y=e,Te=!0;try{fn(e);const n=e.fn(e._value);(t.version===0||Be(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(n){throw t.version++,n}finally{Y=s,Te=r,dn(e),e.flags&=-3}}function nr(e,t=!1){const{dep:s,prevSub:r,nextSub:n}=e;if(r&&(r.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=r,e.nextSub=void 0),s.subs===e&&(s.subs=r,!r&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)nr(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function xi(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Te=!0;const pn=[];function ze(){pn.push(Te),Te=!1}function Xe(){const e=pn.pop();Te=e===void 0?!0:e}function br(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=Y;Y=void 0;try{t()}finally{Y=s}}}let Kt=0;class Si{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 gn{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||!Te||Y===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==Y)s=this.activeLink=new Si(Y,this),Y.deps?(s.prevDep=Y.depsTail,Y.depsTail.nextDep=s,Y.depsTail=s):Y.deps=Y.depsTail=s,mn(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const r=s.nextDep;r.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=r),s.prevDep=Y.depsTail,s.nextDep=void 0,Y.depsTail.nextDep=s,Y.depsTail=s,Y.deps===s&&(Y.deps=r)}return s}trigger(t){this.version++,Kt++,this.notify(t)}notify(t){sr();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{rr()}}}function mn(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)mn(r)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const qs=new WeakMap,ft=Symbol(""),Bs=Symbol(""),$t=Symbol("");function ue(e,t,s){if(Te&&Y){let r=qs.get(e);r||qs.set(e,r=new Map);let n=r.get(s);n||(r.set(s,n=new gn),n.map=r,n.key=s),n.track()}}function We(e,t,s,r,n,i){const o=qs.get(e);if(!o){Kt++;return}const l=u=>{u&&u.trigger()};if(sr(),t==="clear")o.forEach(l);else{const u=D(e),d=u&&er(s);if(u&&s==="length"){const c=Number(r);o.forEach((p,x)=>{(x==="length"||x===$t||!je(x)&&x>=c)&&l(p)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),d&&l(o.get($t)),t){case"add":u?d&&l(o.get("length")):(l(o.get(ft)),xt(e)&&l(o.get(Bs)));break;case"delete":u||(l(o.get(ft)),xt(e)&&l(o.get(Bs)));break;case"set":xt(e)&&l(o.get(ft));break}}rr()}function yt(e){const t=k(e);return t===e?t:(ue(t,"iterate",$t),Ce(e)?t:t.map(Je))}function ws(e){return ue(e=k(e),"iterate",$t),e}function Fe(e,t){return st(e)?Tt(dt(e)?Je(t):t):Je(t)}const Ei={__proto__:null,[Symbol.iterator](){return Vs(this,Symbol.iterator,e=>Fe(this,e))},concat(...e){return yt(this).concat(...e.map(t=>D(t)?yt(t):t))},entries(){return Vs(this,"entries",e=>(e[1]=Fe(this,e[1]),e))},every(e,t){return $e(this,"every",e,t,void 0,arguments)},filter(e,t){return $e(this,"filter",e,t,s=>s.map(r=>Fe(this,r)),arguments)},find(e,t){return $e(this,"find",e,t,s=>Fe(this,s),arguments)},findIndex(e,t){return $e(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return $e(this,"findLast",e,t,s=>Fe(this,s),arguments)},findLastIndex(e,t){return $e(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return $e(this,"forEach",e,t,void 0,arguments)},includes(...e){return Rs(this,"includes",e)},indexOf(...e){return Rs(this,"indexOf",e)},join(e){return yt(this).join(e)},lastIndexOf(...e){return Rs(this,"lastIndexOf",e)},map(e,t){return $e(this,"map",e,t,void 0,arguments)},pop(){return Pt(this,"pop")},push(...e){return Pt(this,"push",e)},reduce(e,...t){return yr(this,"reduce",e,t)},reduceRight(e,...t){return yr(this,"reduceRight",e,t)},shift(){return Pt(this,"shift")},some(e,t){return $e(this,"some",e,t,void 0,arguments)},splice(...e){return Pt(this,"splice",e)},toReversed(){return yt(this).toReversed()},toSorted(e){return yt(this).toSorted(e)},toSpliced(...e){return yt(this).toSpliced(...e)},unshift(...e){return Pt(this,"unshift",e)},values(){return Vs(this,"values",e=>Fe(this,e))}};function Vs(e,t,s){const r=ws(e),n=r[t]();return r!==e&&!Ce(e)&&(n._next=n.next,n.next=()=>{const i=n._next();return i.done||(i.value=s(i.value)),i}),n}const Ti=Array.prototype;function $e(e,t,s,r,n,i){const o=ws(e),l=o!==e&&!Ce(e),u=o[t];if(u!==Ti[t]){const p=u.apply(e,i);return l?Je(p):p}let d=s;o!==e&&(l?d=function(p,x){return s.call(this,Fe(e,p),x,e)}:s.length>2&&(d=function(p,x){return s.call(this,p,x,e)}));const c=u.call(o,d,r);return l&&n?n(c):c}function yr(e,t,s,r){const n=ws(e),i=n!==e&&!Ce(e);let o=s,l=!1;n!==e&&(i?(l=r.length===0,o=function(d,c,p){return l&&(l=!1,d=Fe(e,d)),s.call(this,d,Fe(e,c),p,e)}):s.length>3&&(o=function(d,c,p){return s.call(this,d,c,p,e)}));const u=n[t](o,...r);return l?Fe(e,u):u}function Rs(e,t,s){const r=k(e);ue(r,"iterate",$t);const n=r[t](...s);return(n===-1||n===!1)&&lr(s[0])?(s[0]=k(s[0]),r[t](...s)):n}function Pt(e,t,s=[]){ze(),sr();const r=k(e)[t].apply(e,s);return rr(),Xe(),r}const Ci=Zs("__proto__,__v_isRef,__isVue"),_n=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(je));function Ai(e){je(e)||(e=String(e));const t=k(this);return ue(t,"has",e),t.hasOwnProperty(e)}class bn{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,r){if(s==="__v_skip")return t.__v_skip;const n=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!n;if(s==="__v_isReadonly")return n;if(s==="__v_isShallow")return i;if(s==="__v_raw")return r===(n?i?Li:xn:i?wn:vn).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=D(t);if(!n){let u;if(o&&(u=Ei[s]))return u;if(s==="hasOwnProperty")return Ai}const l=Reflect.get(t,s,me(t)?t:r);if((je(s)?_n.has(s):Ci(s))||(n||ue(t,"get",s),i))return l;if(me(l)){const u=o&&er(s)?l:l.value;return n&&G(u)?ks(u):u}return G(l)?n?ks(l):xs(l):l}}class yn extends bn{constructor(t=!1){super(!1,t)}set(t,s,r,n){let i=t[s];const o=D(t)&&er(s);if(!this._isShallow){const d=st(i);if(!Ce(r)&&!st(r)&&(i=k(i),r=k(r)),!o&&me(i)&&!me(r))return d||(i.value=r),!0}const l=o?Number(s)<t.length:q(t,s),u=Reflect.set(t,s,r,me(t)?t:n);return t===k(n)&&u&&(l?Be(r,i)&&We(t,"set",s,r):We(t,"add",s,r)),u}deleteProperty(t,s){const r=q(t,s);t[s];const n=Reflect.deleteProperty(t,s);return n&&r&&We(t,"delete",s,void 0),n}has(t,s){const r=Reflect.has(t,s);return(!je(s)||!_n.has(s))&&ue(t,"has",s),r}ownKeys(t){return ue(t,"iterate",D(t)?"length":ft),Reflect.ownKeys(t)}}class Pi extends bn{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Ni=new yn,Ii=new Pi,Oi=new yn(!0);const Ws=e=>e,Zt=e=>Reflect.getPrototypeOf(e);function Vi(e,t,s){return function(...r){const n=this.__v_raw,i=k(n),o=xt(i),l=e==="entries"||e===Symbol.iterator&&o,u=e==="keys"&&o,d=n[e](...r),c=s?Ws:t?Tt:Je;return!t&&ue(i,"iterate",u?Bs:ft),fe(Object.create(d),{next(){const{value:p,done:x}=d.next();return x?{value:p,done:x}:{value:l?[c(p[0]),c(p[1])]:c(p),done:x}}})}}function Qt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ri(e,t){const s={get(n){const i=this.__v_raw,o=k(i),l=k(n);e||(Be(n,l)&&ue(o,"get",n),ue(o,"get",l));const{has:u}=Zt(o),d=t?Ws:e?Tt:Je;if(u.call(o,n))return d(i.get(n));if(u.call(o,l))return d(i.get(l));i!==o&&i.get(n)},get size(){const n=this.__v_raw;return!e&&ue(k(n),"iterate",ft),n.size},has(n){const i=this.__v_raw,o=k(i),l=k(n);return e||(Be(n,l)&&ue(o,"has",n),ue(o,"has",l)),n===l?i.has(n):i.has(n)||i.has(l)},forEach(n,i){const o=this,l=o.__v_raw,u=k(l),d=t?Ws:e?Tt:Je;return!e&&ue(u,"iterate",ft),l.forEach((c,p)=>n.call(i,d(c),d(p),o))}};return fe(s,e?{add:Qt("add"),set:Qt("set"),delete:Qt("delete"),clear:Qt("clear")}:{add(n){const i=k(this),o=Zt(i),l=k(n),u=!t&&!Ce(n)&&!st(n)?l:n;return o.has.call(i,u)||Be(n,u)&&o.has.call(i,n)||Be(l,u)&&o.has.call(i,l)||(i.add(u),We(i,"add",u,u)),this},set(n,i){!t&&!Ce(i)&&!st(i)&&(i=k(i));const o=k(this),{has:l,get:u}=Zt(o);let d=l.call(o,n);d||(n=k(n),d=l.call(o,n));const c=u.call(o,n);return o.set(n,i),d?Be(i,c)&&We(o,"set",n,i):We(o,"add",n,i),this},delete(n){const i=k(this),{has:o,get:l}=Zt(i);let u=o.call(i,n);u||(n=k(n),u=o.call(i,n)),l&&l.call(i,n);const d=i.delete(n);return u&&We(i,"delete",n,void 0),d},clear(){const n=k(this),i=n.size!==0,o=n.clear();return i&&We(n,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(n=>{s[n]=Vi(n,e,t)}),s}function ir(e,t){const s=Ri(e,t);return(r,n,i)=>n==="__v_isReactive"?!e:n==="__v_isReadonly"?e:n==="__v_raw"?r:Reflect.get(q(s,n)&&n in r?s:r,n,i)}const Mi={get:ir(!1,!1)},Di={get:ir(!1,!0)},Fi={get:ir(!0,!1)};const vn=new WeakMap,wn=new WeakMap,xn=new WeakMap,Li=new WeakMap;function Hi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function xs(e){return st(e)?e:or(e,!1,Ni,Mi,vn)}function ji(e){return or(e,!1,Oi,Di,wn)}function ks(e){return or(e,!0,Ii,Fi,xn)}function or(e,t,s,r,n){if(!G(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=n.get(e);if(i)return i;const o=Hi(ai(e));if(o===0)return e;const l=new Proxy(e,o===2?r:s);return n.set(e,l),l}function dt(e){return st(e)?dt(e.__v_raw):!!(e&&e.__v_isReactive)}function st(e){return!!(e&&e.__v_isReadonly)}function Ce(e){return!!(e&&e.__v_isShallow)}function lr(e){return e?!!e.__v_raw:!1}function k(e){const t=e&&e.__v_raw;return t?k(t):e}function Ki(e){return!q(e,"__v_skip")&&Object.isExtensible(e)&&rn(e,"__v_skip",!0),e}const Je=e=>G(e)?xs(e):e,Tt=e=>G(e)?ks(e):e;function me(e){return e?e.__v_isRef===!0:!1}function L(e){return me(e)?e.value:e}const $i={get:(e,t,s)=>t==="__v_raw"?e:L(Reflect.get(e,t,s)),set:(e,t,s,r)=>{const n=e[t];return me(n)&&!me(s)?(n.value=s,!0):Reflect.set(e,t,s,r)}};function Sn(e){return dt(e)?e:new Proxy(e,$i)}class Ui{constructor(t,s,r){this.fn=t,this.setter=s,this._value=void 0,this.dep=new gn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Kt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Y!==this)return un(this,!0),!0}get value(){const t=this.dep.track();return hn(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function qi(e,t,s=!1){let r,n;return F(e)?r=e:(r=e.get,n=e.set),new Ui(r,n,s)}const es={},is=new WeakMap;let ct;function Bi(e,t=!1,s=ct){if(s){let r=is.get(s);r||is.set(s,r=[]),r.push(e)}}function Wi(e,t,s=X){const{immediate:r,deep:n,once:i,scheduler:o,augmentJob:l,call:u}=s,d=C=>n?C:Ce(C)||n===!1||n===0?ke(C,1):ke(C);let c,p,x,T,j=!1,O=!1;if(me(e)?(p=()=>e.value,j=Ce(e)):dt(e)?(p=()=>d(e),j=!0):D(e)?(O=!0,j=e.some(C=>dt(C)||Ce(C)),p=()=>e.map(C=>{if(me(C))return C.value;if(dt(C))return d(C);if(F(C))return u?u(C,2):C()})):F(e)?t?p=u?()=>u(e,2):e:p=()=>{if(x){ze();try{x()}finally{Xe()}}const C=ct;ct=c;try{return u?u(e,3,[T]):e(T)}finally{ct=C}}:p=He,t&&n){const C=p,ee=n===!0?1/0:n;p=()=>ke(C(),ee)}const $=wi(),J=()=>{c.stop(),$&&$.active&&Qs($.effects,c)};if(i&&t){const C=t;t=(...ee)=>{const ne=C(...ee);return J(),ne}}let H=O?new Array(e.length).fill(es):es;const U=C=>{if(!(!(c.flags&1)||!c.dirty&&!C))if(t){const ee=c.run();if(C||n||j||(O?ee.some((ne,be)=>Be(ne,H[be])):Be(ee,H))){x&&x();const ne=ct;ct=c;try{const be=[ee,H===es?void 0:O&&H[0]===es?[]:H,T];H=ee,u?u(t,3,be):t(...be)}finally{ct=ne}}}else c.run()};return l&&l(U),c=new cn(p),c.scheduler=o?()=>o(U,!1):U,T=C=>Bi(C,!1,c),x=c.onStop=()=>{const C=is.get(c);if(C){if(u)u(C,4);else for(const ee of C)ee();is.delete(c)}},t?r?U(!0):H=c.run():o?o(U.bind(null,!0),!0):c.run(),J.pause=c.pause.bind(c),J.resume=c.resume.bind(c),J.stop=J,J}function ke(e,t=1/0,s){if(t<=0||!G(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,me(e))ke(e.value,t,s);else if(D(e))for(let r=0;r<e.length;r++)ke(e[r],t,s);else if(ms(e)||xt(e))e.forEach(r=>{ke(r,t,s)});else if(tn(e)){for(const r in e)ke(e[r],t,s);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&ke(e[r],t,s)}return e}function zt(e,t,s,r){try{return r?e(...r):e()}catch(n){Ss(n,t,s)}}function Ae(e,t,s,r){if(F(e)){const n=zt(e,t,s,r);return n&&Qr(n)&&n.catch(i=>{Ss(i,t,s)}),n}if(D(e)){const n=[];for(let i=0;i<e.length;i++)n.push(Ae(e[i],t,s,r));return n}}function Ss(e,t,s,r=!0){const n=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const u=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const c=l.ec;if(c){for(let p=0;p<c.length;p++)if(c[p](e,u,d)===!1)return}l=l.parent}if(i){ze(),zt(i,null,10,[e,u,d]),Xe();return}}ki(e,s,n,r,o)}function ki(e,t,s,r=!0,n=!1){if(n)throw e;console.error(e)}const pe=[];let De=-1;const St=[];let tt=null,vt=0;const En=Promise.resolve();let os=null;function Tn(e){const t=os||En;return e?t.then(this?e.bind(this):e):t}function Gi(e){let t=De+1,s=pe.length;for(;t<s;){const r=t+s>>>1,n=pe[r],i=Ut(n);i<e||i===e&&n.flags&2?t=r+1:s=r}return t}function cr(e){if(!(e.flags&1)){const t=Ut(e),s=pe[pe.length-1];!s||!(e.flags&2)&&t>=Ut(s)?pe.push(e):pe.splice(Gi(t),0,e),e.flags|=1,Cn()}}function Cn(){os||(os=En.then(Pn))}function zi(e){if(!D(e))tt&&e.id===-1?tt.splice(vt+1,0,e):e.flags&1||(St.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)St.push(e[t]);Cn()}function vr(e,t,s=De+1){for(;s<pe.length;s++){const r=pe[s];if(r&&r.flags&2){if(e&&r.id!==e.uid)continue;pe.splice(s,1),s--,r.flags&4&&(r.flags&=-2),r(),r.flags&4||(r.flags&=-2)}}}function An(e){if(St.length){const t=[...new Set(St)].sort((s,r)=>Ut(s)-Ut(r));if(St.length=0,tt){for(let s=0;s<t.length;s++)tt.push(t[s]);return}for(tt=t,vt=0;vt<tt.length;vt++){const s=tt[vt];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}tt=null,vt=0}}const Ut=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Pn(e){try{for(De=0;De<pe.length;De++){const t=pe[De];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),zt(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;De<pe.length;De++){const t=pe[De];t&&(t.flags&=-2)}De=-1,pe.length=0,An(),os=null,(pe.length||St.length)&&Pn()}}let xe=null,Nn=null;function ls(e){const t=xe;return xe=e,Nn=e&&e.type.__scopeId||null,t}function Xi(e,t=xe,s){if(!t||e._n)return e;const r=(...n)=>{r._d&&Rr(-1);const i=ls(t),o=ht.length;let l;try{l=e(...n)}finally{for(let u=ht.length;u>o;u--)ti();ls(i),r._d&&Rr(1)}return l};return r._n=!0,r._c=!0,r._d=!0,r}function wr(e,t){if(xe===null)return e;const s=Ps(xe),r=e.dirs||(e.dirs=[]);for(let n=0;n<t.length;n++){let[i,o,l,u=X]=t[n];i&&(F(i)&&(i={mounted:i,updated:i}),i.deep&&ke(o),r.push({dir:i,instance:s,value:o,oldValue:void 0,arg:l,modifiers:u}))}return e}function ot(e,t,s,r){const n=e.dirs,i=t&&t.dirs;for(let o=0;o<n.length;o++){const l=n[o];i&&(l.oldValue=i[o].value);let u=l.dir[r];u&&(ze(),Ae(u,s,8,[e.el,l,e,t]),Xe())}}function Ji(e,t){if(ge){let s=ge.provides;const r=ge.parent&&ge.parent.provides;r===s&&(s=ge.provides=Object.create(r)),s[e]=t}}function rs(e,t,s=!1){const r=Go();if(r||Et){let n=Et?Et._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(n&&e in n)return n[e];if(arguments.length>1)return s&&F(t)?t.call(r&&r.proxy):t}}const Yi=Symbol.for("v-scx"),Zi=()=>rs(Yi);function Ft(e,t,s){return In(e,t,s)}function In(e,t,s=X){const{immediate:r,deep:n,flush:i,once:o}=s,l=fe({},s),u=t&&r||!t&&i!=="post";let d;if(Wt){if(i==="sync"){const T=Zi();d=T.__watcherHandles||(T.__watcherHandles=[])}else if(!u){const T=()=>{};return T.stop=He,T.resume=He,T.pause=He,T}}const c=ge;l.call=(T,j,O)=>Ae(T,c,j,O);let p=!1;i==="post"?l.scheduler=T=>{_e(T,c&&c.suspense)}:i!=="sync"&&(p=!0,l.scheduler=(T,j)=>{j?T():cr(T)}),l.augmentJob=T=>{t&&(T.flags|=4),p&&(T.flags|=2,c&&(T.id=c.uid,T.i=c))};const x=Wi(e,t,l);return Wt&&(d?d.push(x):u&&x()),x}function Qi(e,t,s){const r=this.proxy,n=Q(e)?e.includes(".")?On(r,e):()=>r[e]:e.bind(r,r);let i;F(t)?i=t:(i=t.handler,s=t);const o=Xt(this),l=In(n,i.bind(r),s);return o(),l}function On(e,t){const s=t.split(".");return()=>{let r=e;for(let n=0;n<s.length&&r;n++)r=r[s[n]];return r}}const eo=Symbol("_vte"),Es=e=>e.__isTeleport,Ms=Symbol("_leaveCb");function to(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==Ye){t=s;break}}return t}function Vn(e){if(!ur(e))return Es(e.type)&&e.children?to(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&F(s.default))return s.default()}}function ar(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const s=e.component.subTree;ar(Es(s.type)&&Vn(s)||s,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Rn(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function xr(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const cs=new WeakMap;function Lt(e,t,s,r,n=!1){if(D(e)){e.forEach((O,$)=>Lt(O,t&&(D(t)?t[$]:t),s,r,n));return}if(Ht(r)&&!n){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Lt(e,t,s,r.component.subTree);return}const i=r.shapeFlag&4?Ps(r.component):r.el,o=n?null:i,{i:l,r:u}=e,d=t&&t.r,c=l.refs===X?l.refs={}:l.refs,p=l.setupState,x=k(p),T=p===X?Zr:O=>xr(c,O)?!1:q(x,O),j=(O,$)=>!($&&xr(c,$));if(d!=null&&d!==u){if(Sr(t),Q(d))c[d]=null,T(d)&&(p[d]=null);else if(me(d)){const O=t;j(d,O.k)&&(d.value=null),O.k&&(c[O.k]=null)}}if(F(u))zt(u,l,12,[o,c]);else{const O=Q(u),$=me(u);if(O||$){const J=()=>{if(e.f){const H=O?T(u)?p[u]:c[u]:j()||!e.k?u.value:c[e.k];if(n)D(H)&&Qs(H,i);else if(D(H))H.includes(i)||H.push(i);else if(O)c[u]=[i],T(u)&&(p[u]=c[u]);else{const U=[i];j(u,e.k)&&(u.value=U),e.k&&(c[e.k]=U)}}else O?(c[u]=o,T(u)&&(p[u]=o)):$&&(j(u,e.k)&&(u.value=o),e.k&&(c[e.k]=o))};if(o){const H=()=>{J(),cs.delete(e)};H.id=-1,cs.set(e,H),_e(H,s)}else Sr(e),J()}}}function Sr(e){const t=cs.get(e);t&&(t.flags|=8,cs.delete(e))}ys().requestIdleCallback;ys().cancelIdleCallback;const Ht=e=>!!e.type.__asyncLoader,ur=e=>e.type.__isKeepAlive;function so(e,t){Mn(e,"a",t)}function ro(e,t){Mn(e,"da",t)}function Mn(e,t,s=ge){const r=e.__wdc||(e.__wdc=()=>{let n=s;for(;n;){if(n.isDeactivated)return;n=n.parent}return e()});if(Ts(t,r,s),s){let n=s.parent;for(;n&&n.parent;)ur(n.parent.vnode)&&no(r,t,s,n),n=n.parent}}function no(e,t,s,r){const n=Ts(t,e,r,!0);Ln(()=>{Qs(r[t],n)},s)}function Ts(e,t,s=ge,r=!1){if(s){const n=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...o)=>{ze();const l=Xt(s),u=Ae(t,s,e,o);return l(),Xe(),u});return r?n.unshift(i):n.push(i),i}}const Ze=e=>(t,s=ge)=>{(!Wt||e==="sp")&&Ts(e,(...r)=>t(...r),s)},io=Ze("bm"),Dn=Ze("m"),oo=Ze("bu"),lo=Ze("u"),Fn=Ze("bum"),Ln=Ze("um"),co=Ze("sp"),ao=Ze("rtg"),uo=Ze("rtc");function fo(e,t=ge){Ts("ec",e,t)}const ho=Symbol.for("v-ndc");function Er(e,t,s,r){let n;const i=s,o=D(e);if(o||Q(e)){const l=o&&dt(e);let u=!1,d=!1;l&&(u=!Ce(e),d=st(e),e=ws(e)),n=new Array(e.length);for(let c=0,p=e.length;c<p;c++)n[c]=t(u?d?Tt(Je(e[c])):Je(e[c]):e[c],c,void 0,i)}else if(typeof e=="number"){n=new Array(e);for(let l=0;l<e;l++)n[l]=t(l+1,l,void 0,i)}else if(G(e))if(e[Symbol.iterator])n=Array.from(e,(l,u)=>t(l,u,void 0,i));else{const l=Object.keys(e);n=new Array(l.length);for(let u=0,d=l.length;u<d;u++){const c=l[u];n[u]=t(e[c],c,u,i)}}else n=[];return n}const Gs=e=>e?ii(e)?Ps(e):Gs(e.parent):null,jt=fe(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=>Gs(e.parent),$root:e=>Gs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>jn(e),$forceUpdate:e=>e.f||(e.f=()=>{cr(e.update)}),$nextTick:e=>e.n||(e.n=Tn.bind(e.proxy)),$watch:e=>Qi.bind(e)}),Ds=(e,t)=>e!==X&&!e.__isScriptSetup&&q(e,t),po={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:r,data:n,props:i,accessCache:o,type:l,appContext:u}=e;if(t[0]!=="$"){const x=o[t];if(x!==void 0)switch(x){case 1:return r[t];case 2:return n[t];case 4:return s[t];case 3:return i[t]}else{if(Ds(r,t))return o[t]=1,r[t];if(n!==X&&q(n,t))return o[t]=2,n[t];if(q(i,t))return o[t]=3,i[t];if(s!==X&&q(s,t))return o[t]=4,s[t];zs&&(o[t]=0)}}const d=jt[t];let c,p;if(d)return t==="$attrs"&&ue(e.attrs,"get",""),d(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(s!==X&&q(s,t))return o[t]=4,s[t];if(p=u.config.globalProperties,q(p,t))return p[t]},set({_:e},t,s){const{data:r,setupState:n,ctx:i}=e;return Ds(n,t)?(n[t]=s,!0):r!==X&&q(r,t)?(r[t]=s,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:r,appContext:n,props:i,type:o}},l){let u;return!!(s[l]||e!==X&&l[0]!=="$"&&q(e,l)||Ds(t,l)||q(i,l)||q(r,l)||q(jt,l)||q(n.config.globalProperties,l)||(u=o.__cssModules)&&u[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:q(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Tr(e){return D(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let zs=!0;function go(e){const t=jn(e),s=e.proxy,r=e.ctx;zs=!1,t.beforeCreate&&Cr(t.beforeCreate,e,"bc");const{data:n,computed:i,methods:o,watch:l,provide:u,inject:d,created:c,beforeMount:p,mounted:x,beforeUpdate:T,updated:j,activated:O,deactivated:$,beforeDestroy:J,beforeUnmount:H,destroyed:U,unmounted:C,render:ee,renderTracked:ne,renderTriggered:be,errorCaptured:Se,serverPrefetch:gt,expose:Ke,inheritAttrs:rt,components:mt,directives:Qe,filters:nt}=t;if(d&&mo(d,r,null),o)for(const Z in o){const B=o[Z];F(B)&&(r[Z]=B.bind(s))}if(n){const Z=n.call(s,s);G(Z)&&(e.data=xs(Z))}if(zs=!0,i)for(const Z in i){const B=i[Z],Pe=F(B)?B.bind(s,s):F(B.get)?B.get.bind(s,s):He,_t=!F(B)&&F(B.set)?B.set.bind(s):He,Ne=Ot({get:Pe,set:_t});Object.defineProperty(r,Z,{enumerable:!0,configurable:!0,get:()=>Ne.value,set:de=>Ne.value=de})}if(l)for(const Z in l)Hn(l[Z],r,s,Z);if(u){const Z=F(u)?u.call(s):u;Reflect.ownKeys(Z).forEach(B=>{Ji(B,Z[B])})}c&&Cr(c,e,"c");function ie(Z,B){D(B)?B.forEach(Pe=>Z(Pe.bind(s))):B&&Z(B.bind(s))}if(ie(io,p),ie(Dn,x),ie(oo,T),ie(lo,j),ie(so,O),ie(ro,$),ie(fo,Se),ie(uo,ne),ie(ao,be),ie(Fn,H),ie(Ln,C),ie(co,gt),D(Ke))if(Ke.length){const Z=e.exposed||(e.exposed={});Ke.forEach(B=>{Object.defineProperty(Z,B,{get:()=>s[B],set:Pe=>s[B]=Pe,enumerable:!0})})}else e.exposed||(e.exposed={});ee&&e.render===He&&(e.render=ee),rt!=null&&(e.inheritAttrs=rt),mt&&(e.components=mt),Qe&&(e.directives=Qe),gt&&Rn(e)}function mo(e,t,s=He){D(e)&&(e=Xs(e));for(const r in e){const n=e[r];let i;G(n)?"default"in n?i=rs(n.from||r,n.default,!0):i=rs(n.from||r):i=rs(n),me(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function Cr(e,t,s){Ae(D(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,s)}function Hn(e,t,s,r){let n=r.includes(".")?On(s,r):()=>s[r];if(Q(e)){const i=t[e];F(i)&&Ft(n,i)}else if(F(e))Ft(n,e.bind(s));else if(G(e))if(D(e))e.forEach(i=>Hn(i,t,s,r));else{const i=F(e.handler)?e.handler.bind(s):t[e.handler];F(i)&&Ft(n,i,e)}}function jn(e){const t=e.type,{mixins:s,extends:r}=t,{mixins:n,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let u;return l?u=l:!n.length&&!s&&!r?u=t:(u={},n.length&&n.forEach(d=>as(u,d,o,!0)),as(u,t,o)),G(t)&&i.set(t,u),u}function as(e,t,s,r=!1){const{mixins:n,extends:i}=t;i&&as(e,i,s,!0),n&&n.forEach(o=>as(e,o,s,!0));for(const o in t)if(!(r&&o==="expose")){const l=_o[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const _o={data:Ar,props:Pr,emits:Pr,methods:It,computed:It,beforeCreate:he,created:he,beforeMount:he,mounted:he,beforeUpdate:he,updated:he,beforeDestroy:he,beforeUnmount:he,destroyed:he,unmounted:he,activated:he,deactivated:he,errorCaptured:he,serverPrefetch:he,components:It,directives:It,watch:yo,provide:Ar,inject:bo};function Ar(e,t){return t?e?function(){return fe(F(e)?e.call(this,this):e,F(t)?t.call(this,this):t)}:t:e}function bo(e,t){return It(Xs(e),Xs(t))}function Xs(e){if(D(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function he(e,t){return e?[...new Set([].concat(e,t))]:t}function It(e,t){return e?fe(Object.create(null),e,t):t}function Pr(e,t){return e?D(e)&&D(t)?[...new Set([...e,...t])]:fe(Object.create(null),Tr(e),Tr(t??{})):t}function yo(e,t){if(!e)return t;if(!t)return e;const s=fe(Object.create(null),e);for(const r in t)s[r]=he(e[r],t[r]);return s}function Kn(){return{app:null,config:{isNativeTag:Zr,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 vo=0;function wo(e,t){return function(r,n=null){F(r)||(r=fe({},r)),n!=null&&!G(n)&&(n=null);const i=Kn(),o=new WeakSet,l=[];let u=!1;const d=i.app={_uid:vo++,_component:r,_props:n,_container:null,_context:i,_instance:null,version:Qo,get config(){return i.config},set config(c){},use(c,...p){return o.has(c)||(c&&F(c.install)?(o.add(c),c.install(d,...p)):F(c)&&(o.add(c),c(d,...p))),d},mixin(c){return i.mixins.includes(c)||i.mixins.push(c),d},component(c,p){return p?(i.components[c]=p,d):i.components[c]},directive(c,p){return p?(i.directives[c]=p,d):i.directives[c]},mount(c,p,x){if(!u){const T=d._ceVNode||Ge(r,n);return T.appContext=i,x===!0?x="svg":x===!1&&(x=void 0),e(T,c,x),u=!0,d._container=c,c.__vue_app__=d,Ps(T.component)}},onUnmount(c){l.push(c)},unmount(){u&&(Ae(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(c,p){return i.provides[c]=p,d},runWithContext(c){const p=Et;Et=d;try{return c()}finally{Et=p}}};return d}}let Et=null;const xo=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ee(t)}Modifiers`]||e[`${pt(t)}Modifiers`];function So(e,t,...s){if(e.isUnmounted)return;const r=e.vnode.props||X;let n=s;const i=t.startsWith("update:"),o=i&&xo(r,t.slice(7));o&&(o.trim&&(n=s.map(c=>Q(c)?c.trim():c)),o.number&&(n=s.map(bs)));let l,u=r[l=Ns(t)]||r[l=Ns(Ee(t))];!u&&i&&(u=r[l=Ns(pt(t))]),u&&Ae(u,e,6,n);const d=r[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ae(d,e,6,n)}}const Eo=new WeakMap;function $n(e,t,s=!1){const r=s?Eo:t.emitsCache,n=r.get(e);if(n!==void 0)return n;const i=e.emits;let o={},l=!1;if(!F(e)){const u=d=>{const c=$n(d,t,!0);c&&(l=!0,fe(o,c))};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!i&&!l?(G(e)&&r.set(e,null),null):(D(i)?i.forEach(u=>o[u]=null):fe(o,i),G(e)&&r.set(e,o),o)}function Cs(e,t){return!e||!ps(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,pt(t))||q(e,t))}function Nr(e){const{type:t,vnode:s,proxy:r,withProxy:n,propsOptions:[i],slots:o,attrs:l,emit:u,render:d,renderCache:c,props:p,data:x,setupState:T,ctx:j,inheritAttrs:O}=e,$=ls(e);let J,H;try{if(s.shapeFlag&4){const C=n||r,ee=C;J=Le(d.call(ee,C,c,p,T,x,j)),H=l}else{const C=t;J=Le(C.length>1?C(p,{attrs:l,slots:o,emit:u}):C(p,null)),H=t.props?l:To(l)}}catch(C){ht.length=0,Ss(C,e,1),J=Ge(Ye)}let U=J;if(H&&O!==!1){const C=Object.keys(H),{shapeFlag:ee}=U;C.length&&ee&7&&(i&&C.some(gs)&&(H=Co(H,i)),U=Ct(U,H,!1,!0))}if(s.dirs&&(U=Ct(U,null,!1,!0),U.dirs=U.dirs?U.dirs.concat(s.dirs):s.dirs),s.transition){const C=Es(U.type)&&Vn(U)||U;ar(C,s.transition)}return J=U,ls($),J}const To=e=>{let t;for(const s in e)(s==="class"||s==="style"||ps(s))&&((t||(t={}))[s]=e[s]);return t},Co=(e,t)=>{const s={};for(const r in e)(!gs(r)||!(r.slice(9)in t))&&(s[r]=e[r]);return s};function Ao(e,t,s){const{props:r,children:n,component:i}=e,{props:o,children:l,patchFlag:u}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&u>=0){if(u&1024)return!0;if(u&16)return r?Ir(r,o,d):!!o;if(u&8){const c=t.dynamicProps;for(let p=0;p<c.length;p++){const x=c[p];if(Un(o,r,x)&&!Cs(d,x))return!0}}}else return(n||l)&&(!l||!l.$stable)?!0:r===o?!1:r?o?Ir(r,o,d):!0:!!o;return!1}function Ir(e,t,s){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let n=0;n<r.length;n++){const i=r[n];if(Un(t,e,i)&&!Cs(s,i))return!0}return!1}function Un(e,t,s){const r=e[s],n=t[s];return s==="style"&&G(r)&&G(n)?!Gt(r,n):r!==n}function Po({vnode:e,parent:t,suspense:s},r){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=r,e=n),n===e)(e=t.vnode).el=r,t=t.parent;else break}s&&s.activeBranch===e&&(s.vnode.el=r)}const qn={},Bn=()=>Object.create(qn),Wn=e=>Object.getPrototypeOf(e)===qn;function No(e,t,s,r=!1){const n={},i=Bn();e.propsDefaults=Object.create(null),kn(e,t,n,i);for(const o in e.propsOptions[0])o in n||(n[o]=void 0);s?e.props=r?n:ji(n):e.type.props?e.props=n:e.props=i,e.attrs=i}function Io(e,t,s,r){const{props:n,attrs:i,vnode:{patchFlag:o}}=e,l=k(n),[u]=e.propsOptions;let d=!1;if((r||o>0)&&!(o&16)){if(o&8){const c=e.vnode.dynamicProps;for(let p=0;p<c.length;p++){let x=c[p];if(Cs(e.emitsOptions,x))continue;const T=t[x];if(u)if(q(i,x))T!==i[x]&&(i[x]=T,d=!0);else{const j=Ee(x);n[j]=Js(u,l,j,T,e,!1)}else T!==i[x]&&(i[x]=T,d=!0)}}}else{kn(e,t,n,i)&&(d=!0);let c;for(const p in l)(!t||!q(t,p)&&((c=pt(p))===p||!q(t,c)))&&(u?s&&(s[p]!==void 0||s[c]!==void 0)&&(n[p]=Js(u,l,p,void 0,e,!0)):delete n[p]);if(i!==l)for(const p in i)(!t||!q(t,p))&&(delete i[p],d=!0)}d&&We(e.attrs,"set","")}function kn(e,t,s,r){const[n,i]=e.propsOptions;let o=!1,l;if(t)for(let u in t){if(Rt(u))continue;const d=t[u];let c;n&&q(n,c=Ee(u))?!i||!i.includes(c)?s[c]=d:(l||(l={}))[c]=d:Cs(e.emitsOptions,u)||(!(u in r)||d!==r[u])&&(r[u]=d,o=!0)}if(i){const u=k(s),d=l||X;for(let c=0;c<i.length;c++){const p=i[c];s[p]=Js(n,u,p,d[p],e,!q(d,p))}}return o}function Js(e,t,s,r,n,i){const o=e[s];if(o!=null){const l=q(o,"default");if(l&&r===void 0){const u=o.default;if(o.type!==Function&&!o.skipFactory&&F(u)){const{propsDefaults:d}=n;if(s in d)r=d[s];else{const c=Xt(n);r=d[s]=u.call(null,t),c()}}else r=u;n.ce&&n.ce._setProp(s,r)}o[0]&&(i&&!l?r=!1:o[1]&&(r===""||r===pt(s))&&(r=!0))}return r}const Oo=new WeakMap;function Gn(e,t,s=!1){const r=s?Oo:t.propsCache,n=r.get(e);if(n)return n;const i=e.props,o={},l=[];let u=!1;if(!F(e)){const c=p=>{u=!0;const[x,T]=Gn(p,t,!0);fe(o,x),T&&l.push(...T)};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!u)return G(e)&&r.set(e,wt),wt;if(D(i))for(let c=0;c<i.length;c++){const p=Ee(i[c]);Or(p)&&(o[p]=X)}else if(i)for(const c in i){const p=Ee(c);if(Or(p)){const x=i[c],T=o[p]=D(x)||F(x)?{type:x}:fe({},x),j=T.type;let O=!1,$=!0;if(D(j))for(let J=0;J<j.length;++J){const H=j[J],U=F(H)&&H.name;if(U==="Boolean"){O=!0;break}else U==="String"&&($=!1)}else O=F(j)&&j.name==="Boolean";T[0]=O,T[1]=$,(O||q(T,"default"))&&l.push(p)}}const d=[o,l];return G(e)&&r.set(e,d),d}function Or(e){return e[0]!=="$"&&!Rt(e)}const fr=e=>e==="_"||e==="_ctx"||e==="$stable",dr=e=>D(e)?e.map(Le):[Le(e)],Vo=(e,t,s)=>{if(t._n)return t;const r=Xi((...n)=>dr(t(...n)),s);return r._c=!1,r},zn=(e,t,s)=>{const r=e._ctx;for(const n in e){if(fr(n))continue;const i=e[n];if(F(i))t[n]=Vo(n,i,r);else if(i!=null){const o=dr(i);t[n]=()=>o}}},Xn=(e,t)=>{const s=dr(t);e.slots.default=()=>s},Jn=(e,t,s)=>{for(const r in t)(s||!fr(r))&&(e[r]=t[r])},Ro=(e,t,s)=>{const r=e.slots=Bn();if(e.vnode.shapeFlag&32){const n=t._;n?(Jn(r,t,s),s&&rn(r,"_",n,!0)):zn(t,r)}else t&&Xn(e,t)},Mo=(e,t,s)=>{const{vnode:r,slots:n}=e;let i=!0,o=X;if(r.shapeFlag&32){const l=t._;l?s&&l===1?i=!1:Jn(n,t,s):(i=!t.$stable,zn(t,n)),o=t}else t&&(Xn(e,t),o={default:1});if(i)for(const l in n)!fr(l)&&o[l]==null&&delete n[l]},_e=jo;function Do(e){return Fo(e)}function Fo(e,t){const s=ys();s.__VUE__=!0;const{insert:r,remove:n,patchProp:i,createElement:o,createText:l,createComment:u,setText:d,setElementText:c,parentNode:p,nextSibling:x,setScopeId:T=He,insertStaticContent:j}=e,O=(a,f,h,b=null,_=null,g=null,w=void 0,v=null,y=!!f.dynamicChildren)=>{if(a===f)return;a&&!Nt(a,f)&&(b=oe(a),de(a,_,g,!0),a=null),f.patchFlag===-2&&(y=!1,f.dynamicChildren=null);const{type:m,ref:V,shapeFlag:S}=f;switch(m){case As:$(a,f,h,b);break;case Ye:J(a,f,h,b);break;case Ls:a==null&&H(f,h,b,w);break;case we:mt(a,f,h,b,_,g,w,v,y);break;default:S&1?ee(a,f,h,b,_,g,w,v,y):S&6?Qe(a,f,h,b,_,g,w,v,y):(S&64||S&128)&&m.process(a,f,h,b,_,g,w,v,y,bt)}V!=null&&_?Lt(V,a&&a.ref,g,f||a,!f):V==null&&a&&a.ref!=null&&Lt(a.ref,null,g,a,!0)},$=(a,f,h,b)=>{if(a==null)r(f.el=l(f.children),h,b);else{const _=f.el=a.el;f.children!==a.children&&d(_,f.children)}},J=(a,f,h,b)=>{a==null?r(f.el=u(f.children||""),h,b):f.el=a.el},H=(a,f,h,b)=>{[a.el,a.anchor]=j(a.children,f,h,b,a.el,a.anchor)},U=({el:a,anchor:f},h,b)=>{let _;for(;a&&a!==f;)_=x(a),r(a,h,b),a=_;r(f,h,b)},C=({el:a,anchor:f})=>{let h;for(;a&&a!==f;)h=x(a),n(a),a=h;n(f)},ee=(a,f,h,b,_,g,w,v,y)=>{if(f.type==="svg"?w="svg":f.type==="math"&&(w="mathml"),a==null)ne(f,h,b,_,g,w,v,y);else{const m=a.el&&a.el._isVueCE?a.el:null;try{m&&m._beginPatch(),gt(a,f,_,g,w,v,y)}finally{m&&m._endPatch()}}},ne=(a,f,h,b,_,g,w,v)=>{let y,m;const{props:V,shapeFlag:S,transition:N,dirs:R}=a;if(y=a.el=o(a.type,g,V&&V.is,V),S&8?c(y,a.children):S&16&&Se(a.children,y,null,b,_,Fs(a,g),w,v),R&&ot(a,null,b,"created"),be(y,a,a.scopeId,w,b),V){for(const z in V)z!=="value"&&!Rt(z)&&i(y,z,null,V[z],g,b);"value"in V&&i(y,"value",null,V.value,g),(m=V.onVnodeBeforeMount)&&Me(m,b,a)}R&&ot(a,null,b,"beforeMount");const K=Lo(_,N);K&&N.beforeEnter(y),r(y,f,h),((m=V&&V.onVnodeMounted)||K||R)&&_e(()=>{m&&Me(m,b,a),K&&N.enter(y),R&&ot(a,null,b,"mounted")},_)},be=(a,f,h,b,_)=>{if(h&&T(a,h),b)for(let g=0;g<b.length;g++)T(a,b[g]);if(_){let g=_.subTree;if(f===g||ei(g.type)&&(g.ssContent===f||g.ssFallback===f)){const w=_.vnode;be(a,w,w.scopeId,w.slotScopeIds,_.parent)}}},Se=(a,f,h,b,_,g,w,v,y=0)=>{for(let m=y;m<a.length;m++){const V=a[m]=v?qe(a[m]):Le(a[m]);O(null,V,f,h,b,_,g,w,v)}},gt=(a,f,h,b,_,g,w)=>{const v=f.el=a.el;let{patchFlag:y,dynamicChildren:m,dirs:V}=f;y|=a.patchFlag&16;const S=a.props||X,N=f.props||X;let R;if(h&&lt(h,!1),(R=N.onVnodeBeforeUpdate)&&Me(R,h,f,a),V&&ot(f,a,h,"beforeUpdate"),h&&lt(h,!0),m&&(!a.dynamicChildren||a.dynamicChildren.length!==m.length)&&(y=0,w=!1,m=null),(S.innerHTML&&N.innerHTML==null||S.textContent&&N.textContent==null)&&c(v,""),m?Ke(a.dynamicChildren,m,v,h,b,Fs(f,_),g):w||B(a,f,v,null,h,b,Fs(f,_),g,!1),y>0){if(y&16)rt(v,S,N,h,_);else if(y&2&&S.class!==N.class&&i(v,"class",null,N.class,_),y&4&&i(v,"style",S.style,N.style,_),y&8){const K=f.dynamicProps;for(let z=0;z<K.length;z++){const W=K[z],se=S[W],ce=N[W];(ce!==se||W==="value")&&i(v,W,se,ce,_,h)}}y&1&&a.children!==f.children&&c(v,f.children)}else!w&&m==null&&rt(v,S,N,h,_);((R=N.onVnodeUpdated)||V)&&_e(()=>{R&&Me(R,h,f,a),V&&ot(f,a,h,"updated")},b)},Ke=(a,f,h,b,_,g,w)=>{for(let v=0;v<f.length;v++){const y=a[v],m=f[v],V=y.el&&(y.type===we||!Nt(y,m)||y.shapeFlag&198)?p(y.el):h;O(y,m,V,null,b,_,g,w,!0)}},rt=(a,f,h,b,_)=>{if(f!==h){if(f!==X)for(const g in f)!Rt(g)&&!(g in h)&&i(a,g,f[g],null,_,b);for(const g in h){if(Rt(g))continue;const w=h[g],v=f[g];w!==v&&g!=="value"&&i(a,g,v,w,_,b)}"value"in h&&i(a,"value",f.value,h.value,_)}},mt=(a,f,h,b,_,g,w,v,y)=>{const m=f.el=a?a.el:l(""),V=f.anchor=a?a.anchor:l("");let{patchFlag:S,dynamicChildren:N,slotScopeIds:R}=f;R&&(v=v?v.concat(R):R),a==null?(r(m,h,b),r(V,h,b),Se(f.children||[],h,V,_,g,w,v,y)):S>0&&S&64&&N&&a.dynamicChildren&&a.dynamicChildren.length===N.length?(Ke(a.dynamicChildren,N,h,_,g,w,v),(f.key!=null||_&&f===_.subTree)&&Yn(a,f,!0)):B(a,f,h,V,_,g,w,v,y)},Qe=(a,f,h,b,_,g,w,v,y)=>{f.slotScopeIds=v,a==null?f.shapeFlag&512?_.ctx.activate(f,h,b,w,y):nt(f,h,b,_,g,w,y):Jt(a,f,y)},nt=(a,f,h,b,_,g,w)=>{const v=a.component=ko(a,b,_);if(ur(a)&&(v.ctx.renderer=bt),zo(v,!1,w),v.asyncDep){if(_&&_.registerDep(v,ie,w),!a.el){const y=v.subTree=Ge(Ye);J(null,y,f,h),a.placeholder=y.el}}else ie(v,a,f,h,_,g,w)},Jt=(a,f,h)=>{const b=f.component=a.component;if(Ao(a,f,h))if(b.asyncDep&&!b.asyncResolved){Z(b,f,h);return}else b.next=f,b.update();else f.el=a.el,b.vnode=f},ie=(a,f,h,b,_,g,w)=>{const v=()=>{if(a.isMounted){let{next:S,bu:N,u:R,parent:K,vnode:z}=a;{const Oe=Zn(a);if(Oe){S&&(S.el=z.el,Z(a,S,w)),Oe.asyncDep.then(()=>{_e(()=>{a.isUnmounted||m()},_)});return}}let W=S,se;lt(a,!1),S?(S.el=z.el,Z(a,S,w)):S=z,N&&ss(N),(se=S.props&&S.props.onVnodeBeforeUpdate)&&Me(se,K,S,z),lt(a,!0);const ce=Nr(a),Ie=a.subTree;a.subTree=ce,O(Ie,ce,p(Ie.el),oe(Ie),a,_,g),S.el=ce.el,W===null&&Po(a,ce.el),R&&_e(R,_),(se=S.props&&S.props.onVnodeUpdated)&&_e(()=>Me(se,K,S,z),_)}else{let S;const{el:N,props:R}=f,{bm:K,m:z,parent:W,root:se,type:ce}=a,Ie=Ht(f);lt(a,!1),K&&ss(K),!Ie&&(S=R&&R.onVnodeBeforeMount)&&Me(S,W,f),lt(a,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ce,a.parent?a.parent.type:void 0);const Oe=a.subTree=Nr(a);O(null,Oe,h,b,a,_,g),f.el=Oe.el}if(z&&_e(z,_),!Ie&&(S=R&&R.onVnodeMounted)){const Oe=f;_e(()=>Me(S,W,Oe),_)}(f.shapeFlag&256||W&&Ht(W.vnode)&&W.vnode.shapeFlag&256)&&a.a&&_e(a.a,_),a.isMounted=!0,f=h=b=null}};a.scope.on();const y=a.effect=new cn(v);a.scope.off();const m=a.update=y.run.bind(y),V=a.job=y.runIfDirty.bind(y);V.i=a,V.id=a.uid,y.scheduler=()=>cr(V),lt(a,!0),m()},Z=(a,f,h)=>{f.component=a;const b=a.vnode.props;a.vnode=f,a.next=null,Io(a,f.props,b,h),Mo(a,f.children,h),ze(),vr(a),Xe()},B=(a,f,h,b,_,g,w,v,y=!1)=>{const m=a&&a.children,V=a?a.shapeFlag:0,S=f.children,{patchFlag:N,shapeFlag:R}=f;if(N>0){if(N&128){_t(m,S,h,b,_,g,w,v,y);return}else if(N&256){Pe(m,S,h,b,_,g,w,v,y);return}}R&8?(V&16&&E(m,_,g),S!==m&&c(h,S)):V&16?R&16?_t(m,S,h,b,_,g,w,v,y):E(m,_,g,!0):(V&8&&c(h,""),R&16&&Se(S,h,b,_,g,w,v,y))},Pe=(a,f,h,b,_,g,w,v,y)=>{a=a||wt,f=f||wt;const m=a.length,V=f.length,S=Math.min(m,V);let N;for(N=0;N<S;N++){const R=f[N]=y?qe(f[N]):Le(f[N]);O(a[N],R,h,null,_,g,w,v,y)}m>V?E(a,_,g,!0,!1,S):Se(f,h,b,_,g,w,v,y,S)},_t=(a,f,h,b,_,g,w,v,y)=>{let m=0;const V=f.length;let S=a.length-1,N=V-1;for(;m<=S&&m<=N;){const R=a[m],K=f[m]=y?qe(f[m]):Le(f[m]);if(Nt(R,K))O(R,K,h,null,_,g,w,v,y);else break;m++}for(;m<=S&&m<=N;){const R=a[S],K=f[N]=y?qe(f[N]):Le(f[N]);if(Nt(R,K))O(R,K,h,null,_,g,w,v,y);else break;S--,N--}if(m>S){if(m<=N){const R=N+1,K=R<V?f[R].el:b;for(;m<=N;)O(null,f[m]=y?qe(f[m]):Le(f[m]),h,K,_,g,w,v,y),m++}}else if(m>N)for(;m<=S;)de(a[m],_,g,!0),m++;else{const R=m,K=m,z=new Map;for(m=K;m<=N;m++){const ye=f[m]=y?qe(f[m]):Le(f[m]);ye.key!=null&&z.set(ye.key,m)}let W,se=0;const ce=N-K+1;let Ie=!1,Oe=0;const At=new Array(ce);for(m=0;m<ce;m++)At[m]=0;for(m=R;m<=S;m++){const ye=a[m];if(se>=ce){de(ye,_,g,!0);continue}let Ve;if(ye.key!=null)Ve=z.get(ye.key);else for(W=K;W<=N;W++)if(At[W-K]===0&&Nt(ye,f[W])){Ve=W;break}Ve===void 0?de(ye,_,g,!0):(At[Ve-K]=m+1,Ve>=Oe?Oe=Ve:Ie=!0,O(ye,f[Ve],h,null,_,g,w,v,y),se++)}const hr=Ie?Ho(At):wt;for(W=hr.length-1,m=ce-1;m>=0;m--){const ye=K+m,Ve=f[ye],pr=f[ye+1],gr=ye+1<V?pr.el||Qn(pr):b;At[m]===0?O(null,Ve,h,gr,_,g,w,v,y):Ie&&(W<0||m!==hr[W]?Ne(Ve,h,gr,2):W--)}}},Ne=(a,f,h,b,_=null)=>{const{el:g,type:w,transition:v,children:y,shapeFlag:m}=a;if(m&6){Ne(a.component.subTree,f,h,b);return}if(m&128){a.suspense.move(f,h,b);return}if(m&64){w.move(a,f,h,bt);return}if(w===we){r(g,f,h);for(let S=0;S<y.length;S++)Ne(y[S],f,h,b);r(a.anchor,f,h);return}if(w===Ls){U(a,f,h);return}if(b!==2&&m&1&&v)if(b===0)v.persisted&&!g[Ms]?r(g,f,h):(v.beforeEnter(g),r(g,f,h),_e(()=>v.enter(g),_));else{const{leave:S,delayLeave:N,afterLeave:R}=v,K=()=>{a.ctx.isUnmounted?n(g):r(g,f,h)},z=()=>{const W=g._isLeaving||!!g[Ms];g._isLeaving&&g[Ms](!0),v.persisted&&!W?K():S(g,()=>{K(),R&&R()})};N?N(g,K,z):z()}else r(g,f,h)},de=(a,f,h,b=!1,_=!1)=>{const{type:g,props:w,ref:v,children:y,dynamicChildren:m,shapeFlag:V,patchFlag:S,dirs:N,cacheIndex:R,memo:K}=a;if(S===-2&&(_=!1),v!=null&&(ze(),Lt(v,null,h,a,!0),Xe()),R!=null&&(f.renderCache[R]=void 0),V&256){f.ctx.deactivate(a);return}const z=V&1&&N,W=!Ht(a);let se;if(W&&(se=w&&w.onVnodeBeforeUnmount)&&Me(se,f,a),V&6)P(a.component,h,b);else{if(V&128){a.suspense.unmount(h,b);return}z&&ot(a,null,f,"beforeUnmount"),V&64?a.type.remove(a,f,h,bt,b):m&&!m.hasOnce&&(g!==we||S>0&&S&64)?E(m,f,h,!1,!0):(g===we&&S&384||!_&&V&16)&&E(y,f,h),b&&Yt(a)}const ce=K!=null&&R==null;(W&&(se=w&&w.onVnodeUnmounted)||z||ce)&&_e(()=>{se&&Me(se,f,a),z&&ot(a,null,f,"unmounted"),ce&&(a.el=null)},h)},Yt=a=>{const{type:f,el:h,anchor:b,transition:_}=a;if(f===we){I(h,b);return}if(f===Ls){C(a);return}const g=()=>{n(h),_&&!_.persisted&&_.afterLeave&&_.afterLeave()};if(a.shapeFlag&1&&_&&!_.persisted){const{leave:w,delayLeave:v}=_,y=()=>w(h,g);v?v(a.el,g,y):y()}else g()},I=(a,f)=>{let h;for(;a!==f;)h=x(a),n(a),a=h;n(f)},P=(a,f,h)=>{const{bum:b,scope:_,job:g,subTree:w,um:v,m:y,a:m}=a;Vr(y),Vr(m),b&&ss(b),_.stop(),g&&(g.flags|=8,de(w,a,f,h)),v&&_e(v,f),_e(()=>{a.isUnmounted=!0},f)},E=(a,f,h,b=!1,_=!1,g=0)=>{for(let w=g;w<a.length;w++)de(a[w],f,h,b,_)},oe=a=>{if(a.shapeFlag&6)return oe(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const f=x(a.anchor||a.el),h=f&&f[eo];return h?x(h):f};let le=!1;const it=(a,f,h)=>{let b;a==null?f._vnode&&(de(f._vnode,null,null,!0),b=f._vnode.component):O(f._vnode||null,a,f,null,null,null,h),f._vnode=a,le||(le=!0,vr(b),An(),le=!1)},bt={p:O,um:de,m:Ne,r:Yt,mt:nt,mc:Se,pc:B,pbc:Ke,n:oe,o:e};return{render:it,hydrate:void 0,createApp:wo(it)}}function Fs({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 lt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Lo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Yn(e,t,s=!1){const r=e.children,n=t.children;if(D(r)&&D(n))for(let i=0;i<r.length;i++){const o=r[i];let l=n[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=n[i]=qe(n[i]),l.el=o.el),!s&&l.patchFlag!==-2&&Yn(o,l)),l.type===As&&(l.patchFlag===-1&&(l=n[i]=qe(l)),l.el=o.el),l.type===Ye&&!l.el&&(l.el=o.el)}}function Ho(e){const t=e.slice(),s=[0];let r,n,i,o,l;const u=e.length;for(r=0;r<u;r++){const d=e[r];if(d!==0){if(n=s[s.length-1],e[n]<d){t[r]=n,s.push(r);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[r]=s[i-1]),s[i]=r)}}for(i=s.length,o=s[i-1];i-- >0;)s[i]=o,o=t[o];return s}function Zn(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Zn(t)}function Vr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Qn(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Qn(t.subTree):null}const ei=e=>e.__isSuspense;function jo(e,t){t&&t.pendingBranch?D(e)?t.effects.push(...e):t.effects.push(e):zi(e)}const we=Symbol.for("v-fgt"),As=Symbol.for("v-txt"),Ye=Symbol.for("v-cmt"),Ls=Symbol.for("v-stc"),ht=[];let ve=null;function te(e=!1){ht.push(ve=e?null:[])}function ti(){ht.pop(),ve=ht[ht.length-1]||null}let qt=1;function Rr(e,t=!1){qt+=e,e<0&&ve&&t&&(ve.hasOnce=!0)}function si(e){return e.dynamicChildren=qt>0?ve||wt:null,ti(),qt>0&&ve&&ve.push(e),e}function re(e,t,s,r,n,i){return si(A(e,t,s,r,n,i,!0))}function Ko(e,t,s,r,n){return si(Ge(e,t,s,r,n,!0))}function ri(e){return e?e.__v_isVNode===!0:!1}function Nt(e,t){return e.type===t.type&&e.key===t.key}const ni=({key:e})=>e??null,ns=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Q(e)||me(e)||F(e)?{i:xe,r:e,k:t,f:!!s}:e:null);function A(e,t=null,s=null,r=0,n=null,i=e===we?0:1,o=!1,l=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ni(t),ref:t&&ns(t),scopeId:Nn,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:xe};return l?(us(u,s),i&128&&e.normalize(u)):s&&(u.shapeFlag|=Q(s)?8:16),qt>0&&!o&&ve&&(u.patchFlag>0||i&6)&&u.patchFlag!==32&&ve.push(u),u}const Ge=$o;function $o(e,t=null,s=null,r=0,n=null,i=!1){if((!e||e===ho)&&(e=Ye),ri(e)){const l=Ct(e,t,!0);return s&&us(l,s),qt>0&&!i&&ve&&(l.shapeFlag&6?ve[ve.indexOf(e)]=l:ve.push(l)),l.patchFlag=-2,l}if(Zo(e)&&(e=e.__vccOpts),t){t=Uo(t);let{class:l,style:u}=t;l&&!Q(l)&&(t.class=vs(l)),G(u)&&(lr(u)&&!D(u)&&(u=fe({},u)),t.style=tr(u))}const o=Q(e)?1:ei(e)?128:Es(e)?64:G(e)?4:F(e)?2:0;return A(e,t,s,r,n,o,i,!0)}function Uo(e){return e?lr(e)||Wn(e)?fe({},e):e:null}function Ct(e,t,s=!1,r=!1){const{props:n,ref:i,patchFlag:o,children:l,transition:u}=e,d=t?qo(n||{},t):n,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&ni(d),ref:t&&t.ref?s&&i?D(i)?i.concat(ns(t)):[i,ns(t)]:ns(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!==we?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:u,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ct(e.ssContent),ssFallback:e.ssFallback&&Ct(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u&&r&&ar(c,u.clone(c)),c}function et(e=" ",t=0){return Ge(As,null,e,t)}function Re(e="",t=!1){return t?(te(),Ko(Ye,null,e)):Ge(Ye,null,e)}function Le(e){return e==null||typeof e=="boolean"?Ge(Ye):D(e)?Ge(we,null,e.slice()):ri(e)?qe(e):Ge(As,null,String(e))}function qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ct(e)}function us(e,t){let s=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(D(t))s=16;else if(typeof t=="object")if(r&65){const n=t.default;n&&(n._c&&(n._d=!1),us(e,n()),n._c&&(n._d=!0));return}else{s=32;const n=t._;!n&&!Wn(t)?t._ctx=xe:n===3&&xe&&(xe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(F(t)){if(r&65){us(e,{default:t});return}t={default:t,_ctx:xe},s=32}else t=String(t),r&64?(s=16,t=[et(t)]):s=8;e.children=t,e.shapeFlag|=s}function qo(...e){const t={};for(let s=0;s<e.length;s++){const r=e[s];for(const n in r)if(n==="class")t.class!==r.class&&(t.class=vs([t.class,r.class]));else if(n==="style")t.style=tr([t.style,r.style]);else if(ps(n)){const i=t[n],o=r[n];o&&i!==o&&!(D(i)&&i.includes(o))?t[n]=i?[].concat(i,o):o:o==null&&i==null&&!gs(n)&&(t[n]=o)}else n!==""&&(t[n]=r[n])}return t}function Me(e,t,s,r=null){Ae(e,t,7,[s,r])}const Bo=Kn();let Wo=0;function ko(e,t,s){const r=e.type,n=(t?t.appContext:e.appContext)||Bo,i={uid:Wo++,vnode:e,type:r,parent:t,appContext:n,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new vi(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(n.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Gn(r,n),emitsOptions:$n(r,n),emit:null,emitted:null,propsDefaults:X,inheritAttrs:r.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=So.bind(null,i),e.ce&&e.ce(i),i}let ge=null;const Go=()=>ge||xe;let fs,Bt;{const e=ys(),t=(s,r)=>{let n;return(n=e[s])||(n=e[s]=[]),n.push(r),i=>{n.length>1?n.forEach(o=>o(i)):n[0](i)}};fs=t("__VUE_INSTANCE_SETTERS__",s=>ge=s),Bt=t("__VUE_SSR_SETTERS__",s=>Wt=s)}const Xt=e=>{const t=ge;return fs(e),e.scope.on(),()=>{e.scope.off(),fs(t)}},Mr=()=>{ge&&ge.scope.off(),fs(null)};function ii(e){return e.vnode.shapeFlag&4}let Wt=!1;function zo(e,t=!1,s=!1){t&&Bt(t);const{props:r,children:n}=e.vnode,i=ii(e);No(e,r,i,t),Ro(e,n,s||t);const o=i?Xo(e,t):void 0;return t&&Bt(!1),o}function Xo(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,po);const{setup:r}=s;if(r){ze();const n=e.setupContext=r.length>1?Yo(e):null,i=Xt(e),o=zt(r,e,0,[e.props,n]),l=Qr(o);if(Xe(),i(),(l||e.sp)&&!Ht(e)&&Rn(e),l){if(o.then(Mr,Mr),t)return o.then(u=>{Bt(!0);try{Dr(e,u,t)}finally{Bt(!1)}}).catch(u=>{Ss(u,e,0)});e.asyncDep=o}else Dr(e,o)}else oi(e)}function Dr(e,t,s){F(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:G(t)&&(e.setupState=Sn(t)),oi(e)}function oi(e,t,s){const r=e.type;e.render||(e.render=r.render||He);{const n=Xt(e);ze();try{go(e)}finally{Xe(),n()}}}const Jo={get(e,t){return ue(e,"get",""),e[t]}};function Yo(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Jo),slots:e.slots,emit:e.emit,expose:t}}function Ps(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Sn(Ki(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in jt)return jt[s](e)},has(t,s){return s in t||s in jt}})):e.proxy}function Zo(e){return F(e)&&"__vccOpts"in e}const Ot=(e,t)=>qi(e,t,Wt),Qo="3.5.41";let Ys;const Fr=typeof window<"u"&&window.trustedTypes;if(Fr)try{Ys=Fr.createPolicy("vue",{createHTML:e=>e})}catch{}const li=Ys?e=>Ys.createHTML(e):e=>e,el="http://www.w3.org/2000/svg",tl="http://www.w3.org/1998/Math/MathML",Ue=typeof document<"u"?document:null,Lr=Ue&&Ue.createElement("template"),sl={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,r)=>{const n=t==="svg"?Ue.createElementNS(el,e):t==="mathml"?Ue.createElementNS(tl,e):s?Ue.createElement(e,{is:s}):Ue.createElement(e);return e==="select"&&r&&r.multiple!=null&&n.setAttribute("multiple",r.multiple),n},createText:e=>Ue.createTextNode(e),createComment:e=>Ue.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ue.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,r,n,i){const o=s?s.previousSibling:t.lastChild;if(n&&(n===i||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),s),!(n===i||!(n=n.nextSibling)););else{Lr.innerHTML=li(r==="svg"?`<svg>${e}</svg>`:r==="mathml"?`<math>${e}</math>`:e);const l=Lr.content;if(r==="svg"||r==="mathml"){const u=l.firstChild;for(;u.firstChild;)l.appendChild(u.firstChild);l.removeChild(u)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},rl=Symbol("_vtc");function nl(e,t,s){const r=e[rl];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Hr=Symbol("_vod"),il=Symbol("_vsh"),ol=Symbol(""),ll=/(?:^|;)\s*display\s*:/;function cl(e,t,s){const r=e.style,n=Q(s);let i=!1;if(s&&!n){if(t)if(Q(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Vt(r,l,"")}else for(const o in t)s[o]==null&&Vt(r,o,"");for(const o in s){o==="display"&&(i=!0);const l=s[o];l!=null?ul(e,o,!Q(t)&&t?t[o]:void 0,l)||Vt(r,o,l):Vt(r,o,"")}}else if(n){if(t!==s){const o=r[ol];o&&(s+=";"+o),r.cssText=s,i=ll.test(s)}}else t&&e.removeAttribute("style");Hr in e&&(e[Hr]=i?r.display:"",e[il]&&(r.display="none"))}const jr=/\s*!important$/;function Vt(e,t,s){if(D(s))s.forEach(r=>Vt(e,t,r));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const r=al(e,t);jr.test(s)?e.setProperty(pt(r),s.replace(jr,""),"important"):e[r]=s}}const Kr=["Webkit","Moz","ms"],Hs={};function al(e,t){const s=Hs[t];if(s)return s;let r=Ee(t);if(r!=="filter"&&r in e)return Hs[t]=r;r=sn(r);for(let n=0;n<Kr.length;n++){const i=Kr[n]+r;if(i in e)return Hs[t]=i}return t}function ul(e,t,s,r){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&Q(r)&&s===r}const $r="http://www.w3.org/1999/xlink";function Ur(e,t,s,r,n,i=_i(t)){r&&t.startsWith("xlink:")?s==null?e.removeAttributeNS($r,t.slice(6,t.length)):e.setAttributeNS($r,t,s):s==null||i&&!nn(s)?e.removeAttribute(t):e.setAttribute(t,i?"":je(s)?String(s):s)}function qr(e,t,s,r,n){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?li(s):s);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,u=s==null?e.type==="checkbox"?"on":"":String(s);(l!==u||!("_value"in e))&&(e.value=u),s==null&&e.removeAttribute(t),e._value=s;return}let o=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=nn(s):s==null&&l==="string"?(s="",o=!0):l==="number"&&(s=0,o=!0)}try{e[t]=s}catch{}o&&e.removeAttribute(n||t)}function at(e,t,s,r){e.addEventListener(t,s,r)}function fl(e,t,s,r){e.removeEventListener(t,s,r)}const Br=Symbol("_vei");function dl(e,t,s,r,n=null){const i=e[Br]||(e[Br]={}),o=i[t];if(r&&o)o.value=r;else{const[l,u]=gl(t);if(r){const d=i[t]=bl(r,n);at(e,l,d,u)}else o&&(fl(e,l,o,u),i[t]=void 0)}}const hl=/(Once|Passive|Capture)$/,pl=/^on:?(?:Once|Passive|Capture)$/;function gl(e){let t,s;for(;(s=e.match(hl))&&!pl.test(e);)t||(t={}),e=e.slice(0,e.length-s[1].length),t[s[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):pt(e.slice(2)),t]}let js=0;const ml=Promise.resolve(),_l=()=>js||(ml.then(()=>js=0),js=Date.now());function bl(e,t){const s=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=s.attached)return;const n=s.value;if(D(n)){const i=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{i.call(r),r._stopped=!0};const o=n.slice(),l=[r];for(let u=0;u<o.length&&!r._stopped;u++){const d=o[u];d&&Ae(d,t,5,l)}}else Ae(n,t,5,[r])};return s.value=e,s.attached=_l(),s}const Wr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,yl=(e,t,s,r,n,i)=>{const o=n==="svg";t==="class"?nl(e,r,o):t==="style"?cl(e,s,r):ps(t)?gs(t)||dl(e,t,s,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):vl(e,t,r,o))?(qr(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ur(e,t,r,o,i,t!=="value")):e._isVueCE&&(wl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Q(r)))?qr(e,Ee(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Ur(e,t,r,o))};function vl(e,t,s,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Wr(t)&&F(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const n=e.tagName;if(n==="IMG"||n==="VIDEO"||n==="CANVAS"||n==="SOURCE")return!1}return Wr(t)&&Q(s)?!1:t in e}function wl(e,t){const s=e._def.props;if(!s)return!1;const r=Ee(t);return Array.isArray(s)?s.some(n=>Ee(n)===r):Object.keys(s).some(n=>Ee(n)===r)}const ds=e=>{const t=e.props["onUpdate:modelValue"]||!1;return D(t)?s=>ss(t,s):t};function xl(e){e.target.composing=!0}function kr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ut=Symbol("_assign"),ts=Symbol("_initialValue");function Ks(e,t,s){return t&&(e=e.trim()),s&&(e=bs(e)),e}const Sl={created(e,{modifiers:{lazy:t,trim:s,number:r}},n){e.parentNode&&(e.type==="text"?e[ts]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[ts]=e.defaultValue.replace(/\r\n?/g,`
2
- `))),e[ut]=ds(n);const i=r||n.props&&n.props.type==="number";at(e,t?"change":"input",o=>{o.target.composing||e[ut](Ks(e.value,s,i))}),(s||i)&&at(e,"change",()=>{e.value=Ks(e.value,s,i)}),t||(at(e,"compositionstart",xl),at(e,"compositionend",kr),at(e,"change",kr))},mounted(e,{value:t,modifiers:{trim:s,number:r}}){const n=t??"",i=e[ts];delete e[ts],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[ut](Ks(e.value,s,r)):e.value=n},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:r,trim:n,number:i}},o){if(e[ut]=ds(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?bs(e.value):e.value,u=t??"";if(l===u)return;const d=e.getRootNode();(d instanceof Document||d instanceof ShadowRoot)&&d.activeElement===e&&e.type!=="range"&&(r&&t===s||n&&e.value.trim()===u)||(e.value=u)}},El={deep:!0,created(e,{value:t,modifiers:{number:s}},r){e._modelValue=t,at(e,"change",()=>{const n=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>s?bs(hs(i)):hs(i));e[ut](e.multiple?ms(e._modelValue)?new Set(n):n:n[0]),e._assigning=!0,Tn(()=>{e._assigning=!1})}),e[ut]=ds(r)},mounted(e,{value:t}){Gr(e,t)},beforeUpdate(e,{value:t},s){e._modelValue=t,e[ut]=ds(s)},updated(e,{value:t}){e._assigning||Gr(e,t)}};function Gr(e,t){const s=e.multiple,r=D(t);if(!(s&&!r&&!ms(t))){for(let n=0,i=e.options.length;n<i;n++){const o=e.options[n],l=hs(o);if(s)if(r){const u=typeof l;u==="string"||u==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=yi(t,l)>-1}else o.selected=t.has(l);else if(Gt(hs(o),t)){e.selectedIndex!==n&&(e.selectedIndex=n);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function hs(e){return"_value"in e?e._value:e.value}const Tl=fe({patchProp:yl},sl);let zr;function Cl(){return zr||(zr=Do(Tl))}const Al=((...e)=>{const t=Cl().createApp(...e),{mount:s}=t;return t.mount=r=>{const n=Nl(r);if(!n)return;const i=t._component;!F(i)&&!i.render&&!i.template&&(i.template=n.innerHTML),n.nodeType===1&&(n.textContent="");const o=s(n,!1,Pl(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),o},t});function Pl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Nl(e){return Q(e)?document.querySelector(e):e}const $s={en:{title:"KNX Viewer",subtitle:"Group address state changes and read requests",history:"24-hour history on file",viewer:"Viewer",search:"Search GA, name, DPT, type or value",clearSearch:"Clear search",pause:"Pause",resume:"Resume live",live:"Live",paused:"Paused",loading:"Loading…",offline:"Connection unavailable",retry:"Retry",noViewers:"No KNX Viewer is available.",unknownViewer:"The requested KNX Viewer is not available. Check that the node is deployed.",empty:"No entries in the last 24 hours.",emptySearch:"No entries match this search in the last 24 hours.",emptyHint:"New entries will appear here as telegrams arrive.",time:"Time",telegramType:"Telegram type",source:"Source",address:"GA",name:"Name",dpt:"DPT",previous:"Previous",value:"Value",newest:"Most recent",older:"Older",rows:"entries on this page",updated:"Updated",storageError:"History could not be saved to file.",retained:"The list shows the last 24 hours. Pausing only stops updates on this page.",authError:"Authentication required or insufficient permissions. Reopen the page from Node-RED.",requestError:"Unable to load the history.",responseError:"The server returned an invalid response.",table:"Group address state changes and read requests, most recent first",firstValue:"First value",historical:"History",loadingHistory:"Loading history…"},it:{title:"KNX Viewer",subtitle:"Cambiamenti di stato e richieste di lettura degli indirizzi di gruppo",history:"Storico su file di 24 ore",viewer:"Viewer",search:"Cerca GA, nome, DPT, tipo o valore",clearSearch:"Cancella ricerca",pause:"Pausa",resume:"Riprendi live",live:"Live",paused:"In pausa",loading:"Caricamento…",offline:"Connessione non disponibile",retry:"Riprova",noViewers:"Nessun KNX Viewer disponibile.",unknownViewer:"Il KNX Viewer richiesto non è disponibile. Verifica che il nodo sia stato distribuito con Deploy.",empty:"Nessuna voce nelle ultime 24 ore.",emptySearch:"Nessuna voce corrisponde alla ricerca nelle ultime 24 ore.",emptyHint:"Le nuove voci appariranno qui alla ricezione dei telegrammi.",time:"Ora",telegramType:"Tipo telegramma",source:"Sorgente",address:"GA",name:"Nome",dpt:"DPT",previous:"Precedente",value:"Valore",newest:"Più recenti",older:"Più vecchi",rows:"voci in questa pagina",updated:"Aggiornato",storageError:"Impossibile salvare lo storico su file.",retained:"L’elenco mostra le ultime 24 ore. La pausa sospende solo gli aggiornamenti di questa pagina.",authError:"Autenticazione richiesta o permessi insufficienti. Riapri la pagina da Node-RED.",requestError:"Impossibile caricare lo storico.",responseError:"Il server ha restituito una risposta non valida.",table:"Cambiamenti e letture degli indirizzi di gruppo, dal più recente",firstValue:"Primo valore",historical:"Storico",loadingHistory:"Caricamento dello storico…"},de:{title:"KNX Viewer",subtitle:"Zustandsänderungen und Leseanfragen der Gruppenadressen",history:"24-Stunden-Verlauf in Datei",viewer:"Viewer",search:"GA, Name, DPT, Typ oder Wert suchen",clearSearch:"Suche löschen",pause:"Pause",resume:"Live fortsetzen",live:"Live",paused:"Pausiert",loading:"Wird geladen…",offline:"Verbindung nicht verfügbar",retry:"Erneut versuchen",noViewers:"Kein KNX Viewer verfügbar.",unknownViewer:"Der angeforderte KNX Viewer ist nicht verfügbar. Prüfen Sie, ob der Knoten bereitgestellt wurde.",empty:"Keine Einträge in den letzten 24 Stunden.",emptySearch:"Keine passenden Einträge in den letzten 24 Stunden.",emptyHint:"Neue Einträge erscheinen hier, sobald Telegramme eintreffen.",time:"Zeit",telegramType:"Telegrammtyp",source:"Quelle",address:"GA",name:"Name",dpt:"DPT",previous:"Vorher",value:"Wert",newest:"Neueste",older:"Ältere",rows:"Einträge auf dieser Seite",updated:"Aktualisiert",storageError:"Der Verlauf konnte nicht in der Datei gespeichert werden.",retained:"Die Liste zeigt die letzten 24 Stunden. Die Pause stoppt nur die Aktualisierung dieser Seite.",authError:"Anmeldung erforderlich oder unzureichende Berechtigungen. Öffnen Sie die Seite erneut über Node-RED.",requestError:"Der Verlauf konnte nicht geladen werden.",responseError:"Der Server hat eine ungültige Antwort zurückgegeben.",table:"Zustandsänderungen und Leseanfragen der Gruppenadressen, neueste zuerst",firstValue:"Erster Wert",historical:"Verlauf",loadingHistory:"Verlauf wird geladen…"},fr:{title:"KNX Viewer",subtitle:"Changements d’état et demandes de lecture des adresses de groupe",history:"Historique sur fichier de 24 heures",viewer:"Viewer",search:"Rechercher GA, nom, DPT, type ou valeur",clearSearch:"Effacer la recherche",pause:"Pause",resume:"Reprendre le direct",live:"Direct",paused:"En pause",loading:"Chargement…",offline:"Connexion indisponible",retry:"Réessayer",noViewers:"Aucun KNX Viewer disponible.",unknownViewer:"Le KNX Viewer demandé est indisponible. Vérifiez que le nœud est déployé.",empty:"Aucune entrée au cours des dernières 24 heures.",emptySearch:"Aucune entrée ne correspond à cette recherche dans les dernières 24 heures.",emptyHint:"Les nouvelles entrées apparaîtront ici à la réception des télégrammes.",time:"Heure",telegramType:"Type de télégramme",source:"Source",address:"GA",name:"Nom",dpt:"DPT",previous:"Précédent",value:"Valeur",newest:"Plus récents",older:"Plus anciens",rows:"entrées sur cette page",updated:"Mis à jour",storageError:"Impossible d’enregistrer l’historique dans le fichier.",retained:"La liste affiche les dernières 24 heures. La pause suspend uniquement la mise à jour de cette page.",authError:"Authentification requise ou autorisations insuffisantes. Rouvrez la page depuis Node-RED.",requestError:"Impossible de charger l’historique.",responseError:"Le serveur a renvoyé une réponse non valide.",table:"Changements et lectures des adresses de groupe, du plus récent au plus ancien",firstValue:"Première valeur",historical:"Historique",loadingHistory:"Chargement de l’historique…"},es:{title:"KNX Viewer",subtitle:"Cambios de estado y solicitudes de lectura de las direcciones de grupo",history:"Historial en archivo de 24 horas",viewer:"Viewer",search:"Buscar GA, nombre, DPT, tipo o valor",clearSearch:"Borrar búsqueda",pause:"Pausa",resume:"Reanudar en directo",live:"En directo",paused:"En pausa",loading:"Cargando…",offline:"Conexión no disponible",retry:"Reintentar",noViewers:"No hay ningún KNX Viewer disponible.",unknownViewer:"El KNX Viewer solicitado no está disponible. Comprueba que el nodo esté desplegado.",empty:"No hay entradas en las últimas 24 horas.",emptySearch:"Ninguna entrada coincide con la búsqueda en las últimas 24 horas.",emptyHint:"Las nuevas entradas aparecerán aquí al recibir los telegramas.",time:"Hora",telegramType:"Tipo de telegrama",source:"Origen",address:"GA",name:"Nombre",dpt:"DPT",previous:"Anterior",value:"Valor",newest:"Más recientes",older:"Más antiguos",rows:"entradas en esta página",updated:"Actualizado",storageError:"No se pudo guardar el historial en el archivo.",retained:"La lista muestra las últimas 24 horas. La pausa solo detiene las actualizaciones de esta página.",authError:"Se requiere autenticación o los permisos son insuficientes. Vuelve a abrir la página desde Node-RED.",requestError:"No se pudo cargar el historial.",responseError:"El servidor devolvió una respuesta no válida.",table:"Cambios y lecturas de las direcciones de grupo, del más reciente al más antiguo",firstValue:"Primer valor",historical:"Historial",loadingHistory:"Cargando historial…"},zh:{title:"KNX Viewer",subtitle:"组地址状态变化和读取请求",history:"文件保存最近 24 小时的历史",viewer:"Viewer",search:"搜索 GA、名称、DPT、类型或值",clearSearch:"清除搜索",pause:"暂停",resume:"恢复实时",live:"实时",paused:"已暂停",loading:"正在加载…",offline:"连接不可用",retry:"重试",noViewers:"没有可用的 KNX Viewer。",unknownViewer:"请求的 KNX Viewer 不可用。请确认节点已部署。",empty:"最近 24 小时没有记录。",emptySearch:"最近 24 小时没有符合搜索条件的记录。",emptyHint:"收到报文后,新记录将在此显示。",time:"时间",telegramType:"报文类型",source:"来源",address:"GA",name:"名称",dpt:"DPT",previous:"先前值",value:"值",newest:"最新",older:"更早",rows:"条记录显示在本页",updated:"更新于",storageError:"无法将历史记录保存到文件。",retained:"列表显示最近 24 小时的记录。暂停仅停止本页更新。",authError:"需要身份验证或权限不足。请从 Node-RED 重新打开此页面。",requestError:"无法加载历史记录。",responseError:"服务器返回了无效响应。",table:"组地址状态变化和读取请求,最新在前",firstValue:"首个值",historical:"历史",loadingHistory:"正在加载历史记录…"}};function Il(e){const t=String(e||"en").toLowerCase().split(/[-_]/)[0];return{language:$s[t]?t:"en",text:$s[t]||$s.en}}const Ol={class:"viewer"},Vl={class:"heading"},Rl={class:"heading-title"},Ml={class:"viewer-name"},Dl={key:0,class:"gateway-name"},Fl={class:"toolbar"},Ll={key:0,class:"viewer-picker"},Hl={class:"visually-hidden"},jl=["aria-label"],Kl=["value"],$l=["value"],Ul={class:"search-field"},ql=["aria-label","placeholder"],Bl=["aria-pressed","disabled"],Wl={key:0,"aria-hidden":"true",viewBox:"0 0 16 16"},kl={key:1,"aria-hidden":"true",viewBox:"0 0 16 16"},Gl={key:0,class:"notice error-notice",role:"alert"},zl=["disabled"],Xl={key:1,class:"notice storage-notice",role:"alert"},Jl=["aria-label","aria-busy"],Yl=["aria-label"],Zl={class:"visually-hidden"},Ql={scope:"col",class:"time-column"},ec={scope:"col",class:"type-column"},tc={scope:"col",class:"source-column"},sc={scope:"col",class:"address-column"},rc={scope:"col",class:"name-column"},nc={scope:"col",class:"dpt-column"},ic={scope:"col",class:"value-column"},oc={scope:"col",class:"value-column"},lc={class:"time-cell"},cc=["datetime"],ac=["title"],uc={class:"mono"},fc={class:"mono address-cell"},dc={class:"name-cell"},hc={class:"mono"},pc=["title"],gc={class:"payload-cell current-cell"},mc={key:0,class:"unit"},_c={key:0,class:"empty-state",role:"status"},bc={key:0},yc={key:0},vc={key:2},wc={class:"table-footer"},xc={class:"row-count"},Sc={key:0,class:"history-tag"},Ec=["aria-label"],Tc=["disabled"],Cc=["disabled"],Ac={class:"page-footer"},Pc={key:0,class:"updated-at"},Xr="knxUltimateViewer:selectedNodeId",Jr="knxUltimateViewer:search",Yr=200,Nc={__name:"App",setup(e){const t=new URLSearchParams(window.location.search),s=t.get("nodeId")||"",r=t.get("access_token")||"",{language:n,text:i}=Il(t.get("lang")||navigator.language);function o(I,P=""){try{return window.localStorage.getItem(I)||P}catch{return P}}function l(I,P){try{window.localStorage.setItem(I,String(P||""))}catch{}}function u(){if(r.trim())return r.trim();try{const I=[];for(let P=0;P<window.localStorage.length;P+=1){const E=String(window.localStorage.key(P)||"");if(E.startsWith("auth-tokens"))try{const oe=JSON.parse(window.localStorage.getItem(E));if(typeof oe?.access_token!="string"||!oe.access_token.trim())continue;const le=Number(oe.expires_at||oe.expiry||oe.expires||0);I.push({token:oe.access_token.trim(),expiry:Number.isFinite(le)?le:0})}catch{}}return I.sort((P,E)=>E.expiry-P.expiry),I[0]?.token||""}catch{return""}}const d=u(),c=xs({nodes:[],selectedNodeId:s||o(Xr),search:o(Jr),live:!0,loading:!0,nodesLoaded:!1,data:null,lastError:"",before:"",updatedAt:0});let p=0,x=null,T=null,j=null,O=!1,$=!1;function J(I,P={}){const E=new URL(I,window.location.href);return Object.entries(P).forEach(([oe,le])=>{le!=null&&le!==""&&E.searchParams.set(oe,String(le))}),r&&E.searchParams.set("access_token",r),E.toString()}async function H(I,P,E){const oe=d?{Authorization:`Bearer ${d}`}:{},le=await fetch(J(I,P),{credentials:"same-origin",headers:oe,signal:E,cache:"no-store"});if(le.status===401||le.status===403||le.ok&&String(le.headers.get("content-type")).includes("text/html"))throw new Error(i.authError);let it;try{it=await le.json()}catch{throw new Error(i.responseError)}if(!le.ok)throw new Error(typeof it?.error=="string"?it.error:i.requestError);return it}function U(){clearTimeout(T),T=null}function C(){p+=1,x?.abort(),x=null,c.loading=!1,U()}function ee(){U(),!$&&c.live&&c.nodesLoaded&&c.selectedNodeId&&(T=setTimeout(()=>{ne()},2e3))}async function ne(){if($||!c.selectedNodeId)return;C();const I=p,P=new AbortController;x=P,c.loading=!0;try{const E=await H("history",{nodeId:c.selectedNodeId,limit:Yr,before:c.before,search:c.search.trim()},P.signal);if($||I!==p)return;if(!Array.isArray(E?.entries))throw new Error(i.responseError);c.data={...E,entries:E.entries.slice(0,Yr)},c.lastError="",c.updatedAt=Date.now()}catch(E){if($||I!==p||E.name==="AbortError")return;c.lastError=E.message||i.requestError}finally{!$&&I===p&&(c.loading=!1,x=null,ee())}}async function be(){C();const I=p,P=new AbortController;x=P,c.loading=!0;try{const E=await H("nodes",{},P.signal);if($||I!==p)return!1;if(!Array.isArray(E?.nodes))throw new Error(i.responseError);if(c.nodes=E.nodes,c.nodesLoaded=!0,c.selectedNodeId&&!c.nodes.some(oe=>oe.id===c.selectedNodeId)){if(s)return c.lastError=i.unknownViewer,!1;c.selectedNodeId=""}return c.selectedNodeId||(c.selectedNodeId=c.nodes[0]?.id||""),c.lastError=c.selectedNodeId?"":i.noViewers,!!c.selectedNodeId}catch(E){return!$&&I===p&&E.name!=="AbortError"&&(c.lastError=E.message||i.requestError),!1}finally{!$&&I===p&&(c.loading=!1,x=null)}}function Se(){c.before="",c.data=null,c.updatedAt=0,c.lastError=""}async function gt(){if(!c.nodesLoaded||!c.nodes.some(I=>I.id===c.selectedNodeId)){O=!1;const I=await be();if(O=!0,!I)return}await ne()}function Ke(){clearTimeout(j),C(),c.live=!c.live,c.live&&(c.before="",ne())}function rt(){C(),c.before="",ne()}function mt(){const I=c.data?.nextCursor;!I||!c.data?.hasMore||(C(),c.live=!1,c.before=I,ne())}const Qe=Ot(()=>c.data?.node||c.nodes.find(I=>I.id===c.selectedNodeId)||{}),nt=Ot(()=>c.data?.entries||[]),Jt=Ot(()=>c.lastError?i.offline:c.live?i.live:i.paused),ie=Ot(()=>c.data?.storageError||""),Z=new Intl.DateTimeFormat(n,{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3,hour12:!1});function B(I){const P=new Date(I);return Number.isFinite(P.getTime())?Z.format(P):"—"}function Pe(I){return I.timestampMs??I.timestamp}function _t(I){const P=new Date(Pe(I));return Number.isFinite(P.getTime())?P.toISOString():void 0}function Ne(I){const P=String(I.event||"").trim();return{groupvalue_read:"Read",groupvalue_write:"Write",groupvalue_response:"Response",update_nowrite:"Update"}[P.toLowerCase()]||P.replace(/_/g," ")||"—"}function de(I){return Ne(I).toLowerCase()==="read"}function Yt(I){if(de(I))return"—";const P=I.payloadText??(typeof I.payload=="object"?JSON.stringify(I.payload):I.payload);return P==null||P===""?"—":String(P)}return Ft(()=>c.selectedNodeId,()=>{l(Xr,c.selectedNodeId),O&&(clearTimeout(j),C(),Se(),c.selectedNodeId&&ne())}),Ft(()=>c.search,()=>{l(Jr,c.search),O&&(clearTimeout(j),C(),Se(),j=setTimeout(()=>{ne()},300))}),Dn(async()=>{document.documentElement.lang=n,document.title=i.title;const I=await be();await Promise.resolve(),O=!0,I&&!$&&await ne()}),Fn(()=>{$=!0,O=!1,clearTimeout(j),C()}),(I,P)=>(te(),re("main",Ol,[A("header",Vl,[A("div",Rl,[A("h1",null,M(L(i).title),1),A("span",Ml,M(Qe.value.name||""),1),Qe.value.gatewayName?(te(),re("span",Dl,M(Qe.value.gatewayName),1)):Re("",!0)]),A("p",null,[et(M(L(i).subtitle)+" ",1),P[2]||(P[2]=A("span",{class:"separator","aria-hidden":"true"},"·",-1)),P[3]||(P[3]=et()),A("span",null,M(L(i).history),1)])]),A("div",Fl,[c.nodes.length>1?(te(),re("label",Ll,[A("span",Hl,M(L(i).viewer),1),wr(A("select",{"onUpdate:modelValue":P[0]||(P[0]=E=>c.selectedNodeId=E),"aria-label":L(i).viewer},[c.nodes.some(E=>E.id===c.selectedNodeId)?Re("",!0):(te(),re("option",{key:0,value:c.selectedNodeId,disabled:""},M(c.selectedNodeId),9,Kl)),(te(!0),re(we,null,Er(c.nodes,E=>(te(),re("option",{key:E.id,value:E.id},M(E.name||E.id)+M(E.gatewayName?` · ${E.gatewayName}`:""),9,$l))),128))],8,jl),[[El,c.selectedNodeId]])])):Re("",!0),A("div",Ul,[P[4]||(P[4]=A("svg",{"aria-hidden":"true",viewBox:"0 0 20 20"},[A("circle",{cx:"8.5",cy:"8.5",r:"5.5"}),A("path",{d:"m12.5 12.5 4 4"})],-1)),wr(A("input",{"onUpdate:modelValue":P[1]||(P[1]=E=>c.search=E),type:"search","aria-label":L(i).search,placeholder:L(i).search,autocomplete:"off",spellcheck:"false"},null,8,ql),[[Sl,c.search]])]),A("span",{class:vs(["live-status",{paused:!c.live,offline:c.lastError}]),role:"status"},[P[5]||(P[5]=A("span",{"aria-hidden":"true"},null,-1)),et(M(Jt.value),1)],2),A("button",{class:"live-button",type:"button","aria-pressed":!c.live,disabled:!c.nodes.some(E=>E.id===c.selectedNodeId),onClick:Ke},[c.live?(te(),re("svg",Wl,[...P[6]||(P[6]=[A("path",{d:"M5 3v10M11 3v10"},null,-1)])])):(te(),re("svg",kl,[...P[7]||(P[7]=[A("path",{d:"m5 3 7 5-7 5Z"},null,-1)])])),et(" "+M(c.live?L(i).pause:L(i).resume),1)],8,Bl)]),c.lastError?(te(),re("div",Gl,[A("span",null,M(c.lastError),1),A("button",{type:"button",disabled:c.loading,onClick:gt},M(L(i).retry),9,zl)])):Re("",!0),ie.value?(te(),re("div",Xl,[et(M(L(i).storageError)+" ",1),A("span",null,M(ie.value),1)])):Re("",!0),A("section",{class:"monitor","aria-label":L(i).table,"aria-busy":c.loading},[A("div",{class:"table-scroll",tabindex:"0","aria-label":L(i).table},[A("table",null,[A("caption",Zl,M(L(i).table),1),A("thead",null,[A("tr",null,[A("th",Ql,M(L(i).time),1),A("th",ec,M(L(i).telegramType),1),A("th",tc,M(L(i).source),1),A("th",sc,M(L(i).address),1),A("th",rc,M(L(i).name),1),A("th",nc,M(L(i).dpt),1),A("th",ic,M(L(i).previous),1),A("th",oc,M(L(i).value),1)])]),A("tbody",null,[(te(!0),re(we,null,Er(nt.value,E=>(te(),re("tr",{key:E.id},[A("td",lc,[A("time",{datetime:_t(E)},M(B(Pe(E))),9,cc)]),A("td",{class:"type-cell",title:E.event||void 0},M(Ne(E)),9,ac),A("td",uc,M(E.source||"—"),1),A("td",fc,M(E.address||"—"),1),A("td",dc,M(E.devicename||"—"),1),A("td",hc,M(E.dpt||"—"),1),A("td",{class:"payload-cell previous-cell",title:!de(E)&&E.previousPayloadText==null?L(i).firstValue:void 0},M(de(E)?"—":E.previousPayloadText??"—"),9,pc),A("td",gc,[et(M(Yt(E)),1),!de(E)&&E.payloadmeasureunit?(te(),re("span",mc,M(E.payloadmeasureunit),1)):Re("",!0)])]))),128))])]),nt.value.length?Re("",!0):(te(),re("div",_c,[c.loading?(te(),re("p",bc,M(L(i).loadingHistory),1)):c.lastError?(te(),re("p",vc,M(L(i).requestError),1)):(te(),re(we,{key:1},[A("p",null,M(c.search.trim()?L(i).emptySearch:L(i).empty),1),c.search.trim()?Re("",!0):(te(),re("span",yc,M(L(i).emptyHint),1))],64))]))],8,Yl),A("footer",wc,[A("span",xc,[et(M(nt.value.length)+" "+M(L(i).rows),1),c.before?(te(),re("span",Sc," · "+M(L(i).historical),1)):Re("",!0)]),A("nav",{class:"pagination","aria-label":L(i).history},[A("button",{type:"button",disabled:!c.before||c.loading,onClick:rt},M(L(i).newest),9,Tc),A("button",{type:"button",disabled:!c.data?.hasMore||!c.data?.nextCursor||c.loading,onClick:mt},M(L(i).older),9,Cc)],8,Ec)])],8,Jl),A("footer",Ac,[A("span",null,M(L(i).retained),1),c.updatedAt?(te(),re("span",Pc,M(L(i).updated)+" "+M(B(c.updatedAt)),1)):Re("",!0)])]))}};Al(Nc).mount("#app");
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))r(n);new MutationObserver(n=>{for(const i of n)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function s(n){const i={};return n.integrity&&(i.integrity=n.integrity),n.referrerPolicy&&(i.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?i.credentials="include":n.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(n){if(n.ep)return;n.ep=!0;const i=s(n);fetch(n.href,i)}})();function Qs(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const X={},Et=[],He=()=>{},Qr=()=>!1,ms=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),_s=e=>e.startsWith("onUpdate:"),fe=Object.assign,er=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},ai=Object.prototype.hasOwnProperty,q=(e,t)=>ai.call(e,t),R=Array.isArray,st=e=>Gt(e)==="[object Map]",mt=e=>Gt(e)==="[object Set]",_r=e=>Gt(e)==="[object Date]",F=e=>typeof e=="function",Q=e=>typeof e=="string",je=e=>typeof e=="symbol",z=e=>e!==null&&typeof e=="object",en=e=>(z(e)||F(e))&&F(e.then)&&F(e.catch),tn=Object.prototype.toString,Gt=e=>tn.call(e),ui=e=>Gt(e).slice(8,-1),sn=e=>Gt(e)==="[object Object]",tr=e=>Q(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Dt=Qs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ys=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},fi=/-\w/g,Ee=ys(e=>e.replace(fi,t=>t.slice(1).toUpperCase())),di=/\B([A-Z])/g,_t=ys(e=>e.replace(di,"-$1").toLowerCase()),rn=ys(e=>e.charAt(0).toUpperCase()+e.slice(1)),Is=ys(e=>e?`on${rn(e)}`:""),Be=(e,t)=>!Object.is(e,t),ns=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},nn=(e,t,s,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:s})},bs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let yr;const vs=()=>yr||(yr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function sr(e){if(R(e)){const t={};for(let s=0;s<e.length;s++){const r=e[s],n=Q(r)?mi(r):sr(r);if(n)for(const i in n)t[i]=n[i]}return t}else if(Q(e)||z(e))return e}const hi=/;(?![^(]*\))/g,pi=/:([^]+)/,gi=/\/\*[^]*?\*\//g;function mi(e){const t={};return e.replace(gi,"").split(hi).forEach(s=>{if(s){const r=s.split(pi);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ws(e){let t="";if(Q(e))t=e;else if(R(e))for(let s=0;s<e.length;s++){const r=ws(e[s]);r&&(t+=r+" ")}else if(z(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const _i="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",yi=Qs(_i);function on(e){return!!e||e===""}function bi(e,t){if(e.length!==t.length)return!1;let s=!0;for(let r=0;s&&r<e.length;r++)s=rt(e[r],t[r]);return s}function br(e,t){if(e.size!==t.size)return!1;const s=Array.from(t),r=new Uint8Array(s.length);for(const n of e){let i=-1;for(let o=0;o<s.length;o++)if(!r[o]&&rt(n,s[o])){i=o;break}if(i<0)return!1;r[i]=1}return!0}function rt(e,t){if(e===t)return!0;let s=_r(e),r=_r(t);if(s||r)return s&&r?e.getTime()===t.getTime():!1;if(s=je(e),r=je(t),s||r)return e===t;if(s=R(e),r=R(t),s||r)return s&&r?bi(e,t):!1;if(s=z(e),r=z(t),s||r){if(!s||!r)return!1;if(s=st(e),r=st(t),s||r||(s=mt(e),r=mt(t),s||r))return s&&r?br(e,t):!1;const n=Object.keys(e).length,i=Object.keys(t).length;if(n!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),u=t.hasOwnProperty(o);if(l&&!u||!l&&u||!rt(e[o],t[o]))return!1}}return String(e)===String(t)}function vi(e,t){return e.findIndex(s=>rt(s,t))}const ln=e=>!!(e&&e.__v_isRef===!0),D=e=>Q(e)?e:e==null?"":R(e)||z(e)&&(e.toString===tn||!F(e.toString))?ln(e)?D(e.value):JSON.stringify(e,cn,2):String(e),cn=(e,t)=>ln(t)?cn(e,t.value):st(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[r,n],i)=>(s[Os(r,i)+" =>"]=n,s),{})}:mt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Os(s))}:je(t)?Os(t):z(t)&&!R(t)&&!sn(t)?String(t):t,Os=(e,t="")=>{var s;return je(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let ae;class wi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ae&&(ae.active?(this.parent=ae,this.index=(ae.scopes||(ae.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes){const r=this.scopes.slice();for(t=0,s=r.length;t<s;t++)r[t].pause()}for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes){const n=this.scopes.slice();for(t=0,s=n.length;t<s;t++)n[t].resume()}const r=this.effects.slice();for(t=0,s=r.length;t<s;t++)r[t].resume()}}run(t){if(this._active){const s=ae;try{return ae=this,t()}finally{ae=s}}}on(){++this._on===1&&(this.prevScope=ae,ae=this)}off(){if(this._on>0&&--this._on===0){if(ae===this)ae=this.prevScope;else{let t=ae;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let s,r;for(s=0,r=this.effects.length;s<r;s++)this.effects[s].stop();for(this.effects.length=0,s=0,r=this.cleanups.length;s<r;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){const n=this.scopes.slice();for(s=0,r=n.length;s<r;s++)n[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const n=this.parent.scopes.pop();n&&n!==this&&(this.parent.scopes[this.index]=n,n.index=this.index)}this.parent=void 0}}}function xi(){return ae}let Y;const Vs=new WeakSet;class an{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,ae&&(ae.active?ae.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Vs.has(this)&&(Vs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||fn(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,vr(this),dn(this);const t=Y,s=Te;Y=this,Te=!0;try{return this.fn()}finally{hn(this),Y=t,Te=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)ir(t);this.deps=this.depsTail=void 0,vr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Vs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){qs(this)&&this.run()}get dirty(){return qs(this)}}let un=0,Ft,Lt;function fn(e,t=!1){if(e.flags|=8,t){e.next=Lt,Lt=e;return}e.next=Ft,Ft=e}function rr(){un++}function nr(){if(--un>0)return;if(Lt){let t=Lt;for(Lt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Ft;){let t=Ft;for(Ft=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=s}}if(e)throw e}function dn(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function hn(e){let t,s=e.depsTail,r=s;for(;r;){const n=r.prevDep;r.version===-1?(r===s&&(s=n),ir(r),Si(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=n}e.deps=t,e.depsTail=s}function qs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(pn(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function pn(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ut)||(e.globalVersion=Ut,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!qs(e))))return;e.flags|=2;const t=e.dep,s=Y,r=Te;Y=e,Te=!0;try{dn(e);const n=e.fn(e._value);(t.version===0||Be(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(n){throw t.version++,n}finally{Y=s,Te=r,hn(e),e.flags&=-3}}function ir(e,t=!1){const{dep:s,prevSub:r,nextSub:n}=e;if(r&&(r.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=r,e.nextSub=void 0),s.subs===e&&(s.subs=r,!r&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)ir(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Si(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Te=!0;const gn=[];function Ge(){gn.push(Te),Te=!1}function Xe(){const e=gn.pop();Te=e===void 0?!0:e}function vr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=Y;Y=void 0;try{t()}finally{Y=s}}}let Ut=0;class Ei{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 mn{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||!Te||Y===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==Y)s=this.activeLink=new Ei(Y,this),Y.deps?(s.prevDep=Y.depsTail,Y.depsTail.nextDep=s,Y.depsTail=s):Y.deps=Y.depsTail=s,_n(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const r=s.nextDep;r.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=r),s.prevDep=Y.depsTail,s.nextDep=void 0,Y.depsTail.nextDep=s,Y.depsTail=s,Y.deps===s&&(Y.deps=r)}return s}trigger(t){this.version++,Ut++,this.notify(t)}notify(t){rr();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{nr()}}}function _n(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)_n(r)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Bs=new WeakMap,ht=Symbol(""),Ws=Symbol(""),qt=Symbol("");function ue(e,t,s){if(Te&&Y){let r=Bs.get(e);r||Bs.set(e,r=new Map);let n=r.get(s);n||(r.set(s,n=new mn),n.map=r,n.key=s),n.track()}}function We(e,t,s,r,n,i){const o=Bs.get(e);if(!o){Ut++;return}const l=u=>{u&&u.trigger()};if(rr(),t==="clear")o.forEach(l);else{const u=R(e),d=u&&tr(s);if(u&&s==="length"){const c=Number(r);o.forEach((p,x)=>{(x==="length"||x===qt||!je(x)&&x>=c)&&l(p)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),d&&l(o.get(qt)),t){case"add":u?d&&l(o.get("length")):(l(o.get(ht)),st(e)&&l(o.get(Ws)));break;case"delete":u||(l(o.get(ht)),st(e)&&l(o.get(Ws)));break;case"set":st(e)&&l(o.get(ht));break}}nr()}function xt(e){const t=k(e);return t===e?t:(ue(t,"iterate",qt),Ce(e)?t:t.map(Je))}function xs(e){return ue(e=k(e),"iterate",qt),e}function Fe(e,t){return nt(e)?At(pt(e)?Je(t):t):Je(t)}const Ti={__proto__:null,[Symbol.iterator](){return Rs(this,Symbol.iterator,e=>Fe(this,e))},concat(...e){return xt(this).concat(...e.map(t=>R(t)?xt(t):t))},entries(){return Rs(this,"entries",e=>(e[1]=Fe(this,e[1]),e))},every(e,t){return $e(this,"every",e,t,void 0,arguments)},filter(e,t){return $e(this,"filter",e,t,s=>s.map(r=>Fe(this,r)),arguments)},find(e,t){return $e(this,"find",e,t,s=>Fe(this,s),arguments)},findIndex(e,t){return $e(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return $e(this,"findLast",e,t,s=>Fe(this,s),arguments)},findLastIndex(e,t){return $e(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return $e(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ms(this,"includes",e)},indexOf(...e){return Ms(this,"indexOf",e)},join(e){return xt(this).join(e)},lastIndexOf(...e){return Ms(this,"lastIndexOf",e)},map(e,t){return $e(this,"map",e,t,void 0,arguments)},pop(){return It(this,"pop")},push(...e){return It(this,"push",e)},reduce(e,...t){return wr(this,"reduce",e,t)},reduceRight(e,...t){return wr(this,"reduceRight",e,t)},shift(){return It(this,"shift")},some(e,t){return $e(this,"some",e,t,void 0,arguments)},splice(...e){return It(this,"splice",e)},toReversed(){return xt(this).toReversed()},toSorted(e){return xt(this).toSorted(e)},toSpliced(...e){return xt(this).toSpliced(...e)},unshift(...e){return It(this,"unshift",e)},values(){return Rs(this,"values",e=>Fe(this,e))}};function Rs(e,t,s){const r=xs(e),n=r[t]();return r!==e&&!Ce(e)&&(n._next=n.next,n.next=()=>{const i=n._next();return i.done||(i.value=s(i.value)),i}),n}const Ci=Array.prototype;function $e(e,t,s,r,n,i){const o=xs(e),l=o!==e&&!Ce(e),u=o[t];if(u!==Ci[t]){const p=u.apply(e,i);return l?Je(p):p}let d=s;o!==e&&(l?d=function(p,x){return s.call(this,Fe(e,p),x,e)}:s.length>2&&(d=function(p,x){return s.call(this,p,x,e)}));const c=u.call(o,d,r);return l&&n?n(c):c}function wr(e,t,s,r){const n=xs(e),i=n!==e&&!Ce(e);let o=s,l=!1;n!==e&&(i?(l=r.length===0,o=function(d,c,p){return l&&(l=!1,d=Fe(e,d)),s.call(this,d,Fe(e,c),p,e)}):s.length>3&&(o=function(d,c,p){return s.call(this,d,c,p,e)}));const u=n[t](o,...r);return l?Fe(e,u):u}function Ms(e,t,s){const r=k(e);ue(r,"iterate",qt);const n=r[t](...s);return(n===-1||n===!1)&&cr(s[0])?(s[0]=k(s[0]),r[t](...s)):n}function It(e,t,s=[]){Ge(),rr();const r=k(e)[t].apply(e,s);return nr(),Xe(),r}const Ai=Qs("__proto__,__v_isRef,__isVue"),yn=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(je));function Pi(e){je(e)||(e=String(e));const t=k(this);return ue(t,"has",e),t.hasOwnProperty(e)}class bn{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,r){if(s==="__v_skip")return t.__v_skip;const n=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!n;if(s==="__v_isReadonly")return n;if(s==="__v_isShallow")return i;if(s==="__v_raw")return r===(n?i?Hi:Sn:i?xn:wn).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=R(t);if(!n){let u;if(o&&(u=Ti[s]))return u;if(s==="hasOwnProperty")return Pi}const l=Reflect.get(t,s,me(t)?t:r);if((je(s)?yn.has(s):Ai(s))||(n||ue(t,"get",s),i))return l;if(me(l)){const u=o&&tr(s)?l:l.value;return n&&z(u)?zs(u):u}return z(l)?n?zs(l):Ss(l):l}}class vn extends bn{constructor(t=!1){super(!1,t)}set(t,s,r,n){let i=t[s];const o=R(t)&&tr(s);if(!this._isShallow){const d=nt(i);if(!Ce(r)&&!nt(r)&&(i=k(i),r=k(r)),!o&&me(i)&&!me(r))return d||(i.value=r),!0}const l=o?Number(s)<t.length:q(t,s),u=Reflect.set(t,s,r,me(t)?t:n);return t===k(n)&&u&&(l?Be(r,i)&&We(t,"set",s,r):We(t,"add",s,r)),u}deleteProperty(t,s){const r=q(t,s);t[s];const n=Reflect.deleteProperty(t,s);return n&&r&&We(t,"delete",s,void 0),n}has(t,s){const r=Reflect.has(t,s);return(!je(s)||!yn.has(s))&&ue(t,"has",s),r}ownKeys(t){return ue(t,"iterate",R(t)?"length":ht),Reflect.ownKeys(t)}}class Ni extends bn{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Ii=new vn,Oi=new Ni,Vi=new vn(!0);const ks=e=>e,Qt=e=>Reflect.getPrototypeOf(e);function Ri(e,t,s){return function(...r){const n=this.__v_raw,i=k(n),o=st(i),l=e==="entries"||e===Symbol.iterator&&o,u=e==="keys"&&o,d=n[e](...r),c=s?ks:t?At:Je;return!t&&ue(i,"iterate",u?Ws:ht),fe(Object.create(d),{next(){const{value:p,done:x}=d.next();return x?{value:p,done:x}:{value:l?[c(p[0]),c(p[1])]:c(p),done:x}}})}}function es(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Mi(e,t){const s={get(n){const i=this.__v_raw,o=k(i),l=k(n);e||(Be(n,l)&&ue(o,"get",n),ue(o,"get",l));const{has:u}=Qt(o),d=t?ks:e?At:Je;if(u.call(o,n))return d(i.get(n));if(u.call(o,l))return d(i.get(l));i!==o&&i.get(n)},get size(){const n=this.__v_raw;return!e&&ue(k(n),"iterate",ht),n.size},has(n){const i=this.__v_raw,o=k(i),l=k(n);return e||(Be(n,l)&&ue(o,"has",n),ue(o,"has",l)),n===l?i.has(n):i.has(n)||i.has(l)},forEach(n,i){const o=this,l=o.__v_raw,u=k(l),d=t?ks:e?At:Je;return!e&&ue(u,"iterate",ht),l.forEach((c,p)=>n.call(i,d(c),d(p),o))}};return fe(s,e?{add:es("add"),set:es("set"),delete:es("delete"),clear:es("clear")}:{add(n){const i=k(this),o=Qt(i),l=k(n),u=!t&&!Ce(n)&&!nt(n)?l:n;return o.has.call(i,u)||Be(n,u)&&o.has.call(i,n)||Be(l,u)&&o.has.call(i,l)||(i.add(u),We(i,"add",u,u)),this},set(n,i){!t&&!Ce(i)&&!nt(i)&&(i=k(i));const o=k(this),{has:l,get:u}=Qt(o);let d=l.call(o,n);d||(n=k(n),d=l.call(o,n));const c=u.call(o,n);return o.set(n,i),d?Be(i,c)&&We(o,"set",n,i):We(o,"add",n,i),this},delete(n){const i=k(this),{has:o,get:l}=Qt(i);let u=o.call(i,n);u||(n=k(n),u=o.call(i,n)),l&&l.call(i,n);const d=i.delete(n);return u&&We(i,"delete",n,void 0),d},clear(){const n=k(this),i=n.size!==0,o=n.clear();return i&&We(n,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(n=>{s[n]=Ri(n,e,t)}),s}function or(e,t){const s=Mi(e,t);return(r,n,i)=>n==="__v_isReactive"?!e:n==="__v_isReadonly"?e:n==="__v_raw"?r:Reflect.get(q(s,n)&&n in r?s:r,n,i)}const Di={get:or(!1,!1)},Fi={get:or(!1,!0)},Li={get:or(!0,!1)};const wn=new WeakMap,xn=new WeakMap,Sn=new WeakMap,Hi=new WeakMap;function ji(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ss(e){return nt(e)?e:lr(e,!1,Ii,Di,wn)}function Ki(e){return lr(e,!1,Vi,Fi,xn)}function zs(e){return lr(e,!0,Oi,Li,Sn)}function lr(e,t,s,r,n){if(!z(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=n.get(e);if(i)return i;const o=ji(ui(e));if(o===0)return e;const l=new Proxy(e,o===2?r:s);return n.set(e,l),l}function pt(e){return nt(e)?pt(e.__v_raw):!!(e&&e.__v_isReactive)}function nt(e){return!!(e&&e.__v_isReadonly)}function Ce(e){return!!(e&&e.__v_isShallow)}function cr(e){return e?!!e.__v_raw:!1}function k(e){const t=e&&e.__v_raw;return t?k(t):e}function $i(e){return!q(e,"__v_skip")&&Object.isExtensible(e)&&nn(e,"__v_skip",!0),e}const Je=e=>z(e)?Ss(e):e,At=e=>z(e)?zs(e):e;function me(e){return e?e.__v_isRef===!0:!1}function L(e){return me(e)?e.value:e}const Ui={get:(e,t,s)=>t==="__v_raw"?e:L(Reflect.get(e,t,s)),set:(e,t,s,r)=>{const n=e[t];return me(n)&&!me(s)?(n.value=s,!0):Reflect.set(e,t,s,r)}};function En(e){return pt(e)?e:new Proxy(e,Ui)}class qi{constructor(t,s,r){this.fn=t,this.setter=s,this._value=void 0,this.dep=new mn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ut-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Y!==this)return fn(this,!0),!0}get value(){const t=this.dep.track();return pn(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Bi(e,t,s=!1){let r,n;return F(e)?r=e:(r=e.get,n=e.set),new qi(r,n,s)}const ts={},ls=new WeakMap;let ut;function Wi(e,t=!1,s=ut){if(s){let r=ls.get(s);r||ls.set(s,r=[]),r.push(e)}}function ki(e,t,s=X){const{immediate:r,deep:n,once:i,scheduler:o,augmentJob:l,call:u}=s,d=C=>n?C:Ce(C)||n===!1||n===0?ke(C,1):ke(C);let c,p,x,T,j=!1,O=!1;if(me(e)?(p=()=>e.value,j=Ce(e)):pt(e)?(p=()=>d(e),j=!0):R(e)?(O=!0,j=e.some(C=>pt(C)||Ce(C)),p=()=>e.map(C=>{if(me(C))return C.value;if(pt(C))return d(C);if(F(C))return u?u(C,2):C()})):F(e)?t?p=u?()=>u(e,2):e:p=()=>{if(x){Ge();try{x()}finally{Xe()}}const C=ut;ut=c;try{return u?u(e,3,[T]):e(T)}finally{ut=C}}:p=He,t&&n){const C=p,ee=n===!0?1/0:n;p=()=>ke(C(),ee)}const $=xi(),J=()=>{c.stop(),$&&$.active&&er($.effects,c)};if(i&&t){const C=t;t=(...ee)=>{const ne=C(...ee);return J(),ne}}let H=O?new Array(e.length).fill(ts):ts;const U=C=>{if(!(!(c.flags&1)||!c.dirty&&!C))if(t){const ee=c.run();if(C||n||j||(O?ee.some((ne,ye)=>Be(ne,H[ye])):Be(ee,H))){x&&x();const ne=ut;ut=c;try{const ye=[ee,H===ts?void 0:O&&H[0]===ts?[]:H,T];H=ee,u?u(t,3,ye):t(...ye)}finally{ut=ne}}}else c.run()};return l&&l(U),c=new an(p),c.scheduler=o?()=>o(U,!1):U,T=C=>Wi(C,!1,c),x=c.onStop=()=>{const C=ls.get(c);if(C){if(u)u(C,4);else for(const ee of C)ee();ls.delete(c)}},t?r?U(!0):H=c.run():o?o(U.bind(null,!0),!0):c.run(),J.pause=c.pause.bind(c),J.resume=c.resume.bind(c),J.stop=J,J}function ke(e,t=1/0,s){if(t<=0||!z(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,me(e))ke(e.value,t,s);else if(R(e))for(let r=0;r<e.length;r++)ke(e[r],t,s);else if(mt(e)||st(e))e.forEach(r=>{ke(r,t,s)});else if(sn(e)){for(const r in e)ke(e[r],t,s);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&ke(e[r],t,s)}return e}function Xt(e,t,s,r){try{return r?e(...r):e()}catch(n){Es(n,t,s)}}function Ae(e,t,s,r){if(F(e)){const n=Xt(e,t,s,r);return n&&en(n)&&n.catch(i=>{Es(i,t,s)}),n}if(R(e)){const n=[];for(let i=0;i<e.length;i++)n.push(Ae(e[i],t,s,r));return n}}function Es(e,t,s,r=!0){const n=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||X;if(t){let l=t.parent;const u=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const c=l.ec;if(c){for(let p=0;p<c.length;p++)if(c[p](e,u,d)===!1)return}l=l.parent}if(i){Ge(),Xt(i,null,10,[e,u,d]),Xe();return}}zi(e,s,n,r,o)}function zi(e,t,s,r=!0,n=!1){if(n)throw e;console.error(e)}const pe=[];let De=-1;const Tt=[];let tt=null,St=0;const Tn=Promise.resolve();let cs=null;function Cn(e){const t=cs||Tn;return e?t.then(this?e.bind(this):e):t}function Gi(e){let t=De+1,s=pe.length;for(;t<s;){const r=t+s>>>1,n=pe[r],i=Bt(n);i<e||i===e&&n.flags&2?t=r+1:s=r}return t}function ar(e){if(!(e.flags&1)){const t=Bt(e),s=pe[pe.length-1];!s||!(e.flags&2)&&t>=Bt(s)?pe.push(e):pe.splice(Gi(t),0,e),e.flags|=1,An()}}function An(){cs||(cs=Tn.then(Nn))}function Xi(e){if(!R(e))tt&&e.id===-1?tt.splice(St+1,0,e):e.flags&1||(Tt.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)Tt.push(e[t]);An()}function xr(e,t,s=De+1){for(;s<pe.length;s++){const r=pe[s];if(r&&r.flags&2){if(e&&r.id!==e.uid)continue;pe.splice(s,1),s--,r.flags&4&&(r.flags&=-2),r(),r.flags&4||(r.flags&=-2)}}}function Pn(e){if(Tt.length){const t=[...new Set(Tt)].sort((s,r)=>Bt(s)-Bt(r));if(Tt.length=0,tt){for(let s=0;s<t.length;s++)tt.push(t[s]);return}for(tt=t,St=0;St<tt.length;St++){const s=tt[St];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}tt=null,St=0}}const Bt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Nn(e){try{for(De=0;De<pe.length;De++){const t=pe[De];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Xt(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;De<pe.length;De++){const t=pe[De];t&&(t.flags&=-2)}De=-1,pe.length=0,Pn(),cs=null,(pe.length||Tt.length)&&Nn()}}let xe=null,In=null;function as(e){const t=xe;return xe=e,In=e&&e.type.__scopeId||null,t}function Ji(e,t=xe,s){if(!t||e._n)return e;const r=(...n)=>{r._d&&Dr(-1);const i=as(t),o=gt.length;let l;try{l=e(...n)}finally{for(let u=gt.length;u>o;u--)si();as(i),r._d&&Dr(1)}return l};return r._n=!0,r._c=!0,r._d=!0,r}function Sr(e,t){if(xe===null)return e;const s=Ns(xe),r=e.dirs||(e.dirs=[]);for(let n=0;n<t.length;n++){let[i,o,l,u=X]=t[n];i&&(F(i)&&(i={mounted:i,updated:i}),i.deep&&ke(o),r.push({dir:i,instance:s,value:o,oldValue:void 0,arg:l,modifiers:u}))}return e}function ct(e,t,s,r){const n=e.dirs,i=t&&t.dirs;for(let o=0;o<n.length;o++){const l=n[o];i&&(l.oldValue=i[o].value);let u=l.dir[r];u&&(Ge(),Ae(u,s,8,[e.el,l,e,t]),Xe())}}function Yi(e,t){if(ge){let s=ge.provides;const r=ge.parent&&ge.parent.provides;r===s&&(s=ge.provides=Object.create(r)),s[e]=t}}function is(e,t,s=!1){const r=Go();if(r||Ct){let n=Ct?Ct._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(n&&e in n)return n[e];if(arguments.length>1)return s&&F(t)?t.call(r&&r.proxy):t}}const Zi=Symbol.for("v-scx"),Qi=()=>is(Zi);function Ht(e,t,s){return On(e,t,s)}function On(e,t,s=X){const{immediate:r,deep:n,flush:i,once:o}=s,l=fe({},s),u=t&&r||!t&&i!=="post";let d;if(zt){if(i==="sync"){const T=Qi();d=T.__watcherHandles||(T.__watcherHandles=[])}else if(!u){const T=()=>{};return T.stop=He,T.resume=He,T.pause=He,T}}const c=ge;l.call=(T,j,O)=>Ae(T,c,j,O);let p=!1;i==="post"?l.scheduler=T=>{_e(T,c&&c.suspense)}:i!=="sync"&&(p=!0,l.scheduler=(T,j)=>{j?T():ar(T)}),l.augmentJob=T=>{t&&(T.flags|=4),p&&(T.flags|=2,c&&(T.id=c.uid,T.i=c))};const x=ki(e,t,l);return zt&&(d?d.push(x):u&&x()),x}function eo(e,t,s){const r=this.proxy,n=Q(e)?e.includes(".")?Vn(r,e):()=>r[e]:e.bind(r,r);let i;F(t)?i=t:(i=t.handler,s=t);const o=Jt(this),l=On(n,i.bind(r),s);return o(),l}function Vn(e,t){const s=t.split(".");return()=>{let r=e;for(let n=0;n<s.length&&r;n++)r=r[s[n]];return r}}const to=Symbol("_vte"),Ts=e=>e.__isTeleport,Ds=Symbol("_leaveCb");function so(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==Ye){t=s;break}}return t}function Rn(e){if(!fr(e))return Ts(e.type)&&e.children?so(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&F(s.default))return s.default()}}function ur(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const s=e.component.subTree;ur(Ts(s.type)&&Rn(s)||s,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Mn(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Er(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const us=new WeakMap;function jt(e,t,s,r,n=!1){if(R(e)){e.forEach((O,$)=>jt(O,t&&(R(t)?t[$]:t),s,r,n));return}if(Kt(r)&&!n){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&jt(e,t,s,r.component.subTree);return}const i=r.shapeFlag&4?Ns(r.component):r.el,o=n?null:i,{i:l,r:u}=e,d=t&&t.r,c=l.refs===X?l.refs={}:l.refs,p=l.setupState,x=k(p),T=p===X?Qr:O=>Er(c,O)?!1:q(x,O),j=(O,$)=>!($&&Er(c,$));if(d!=null&&d!==u){if(Tr(t),Q(d))c[d]=null,T(d)&&(p[d]=null);else if(me(d)){const O=t;j(d,O.k)&&(d.value=null),O.k&&(c[O.k]=null)}}if(F(u))Xt(u,l,12,[o,c]);else{const O=Q(u),$=me(u);if(O||$){const J=()=>{if(e.f){const H=O?T(u)?p[u]:c[u]:j()||!e.k?u.value:c[e.k];if(n)R(H)&&er(H,i);else if(R(H))H.includes(i)||H.push(i);else if(O)c[u]=[i],T(u)&&(p[u]=c[u]);else{const U=[i];j(u,e.k)&&(u.value=U),e.k&&(c[e.k]=U)}}else O?(c[u]=o,T(u)&&(p[u]=o)):$&&(j(u,e.k)&&(u.value=o),e.k&&(c[e.k]=o))};if(o){const H=()=>{J(),us.delete(e)};H.id=-1,us.set(e,H),_e(H,s)}else Tr(e),J()}}}function Tr(e){const t=us.get(e);t&&(t.flags|=8,us.delete(e))}vs().requestIdleCallback;vs().cancelIdleCallback;const Kt=e=>!!e.type.__asyncLoader,fr=e=>e.type.__isKeepAlive;function ro(e,t){Dn(e,"a",t)}function no(e,t){Dn(e,"da",t)}function Dn(e,t,s=ge){const r=e.__wdc||(e.__wdc=()=>{let n=s;for(;n;){if(n.isDeactivated)return;n=n.parent}return e()});if(Cs(t,r,s),s){let n=s.parent;for(;n&&n.parent;)fr(n.parent.vnode)&&io(r,t,s,n),n=n.parent}}function io(e,t,s,r){const n=Cs(t,e,r,!0);Hn(()=>{er(r[t],n)},s)}function Cs(e,t,s=ge,r=!1){if(s){const n=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Ge();const l=Jt(s),u=Ae(t,s,e,o);return l(),Xe(),u});return r?n.unshift(i):n.push(i),i}}const Ze=e=>(t,s=ge)=>{(!zt||e==="sp")&&Cs(e,(...r)=>t(...r),s)},oo=Ze("bm"),Fn=Ze("m"),lo=Ze("bu"),co=Ze("u"),Ln=Ze("bum"),Hn=Ze("um"),ao=Ze("sp"),uo=Ze("rtg"),fo=Ze("rtc");function ho(e,t=ge){Cs("ec",e,t)}const po=Symbol.for("v-ndc");function Cr(e,t,s,r){let n;const i=s,o=R(e);if(o||Q(e)){const l=o&&pt(e);let u=!1,d=!1;l&&(u=!Ce(e),d=nt(e),e=xs(e)),n=new Array(e.length);for(let c=0,p=e.length;c<p;c++)n[c]=t(u?d?At(Je(e[c])):Je(e[c]):e[c],c,void 0,i)}else if(typeof e=="number"){n=new Array(e);for(let l=0;l<e;l++)n[l]=t(l+1,l,void 0,i)}else if(z(e))if(e[Symbol.iterator])n=Array.from(e,(l,u)=>t(l,u,void 0,i));else{const l=Object.keys(e);n=new Array(l.length);for(let u=0,d=l.length;u<d;u++){const c=l[u];n[u]=t(e[c],c,u,i)}}else n=[];return n}const Gs=e=>e?oi(e)?Ns(e):Gs(e.parent):null,$t=fe(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=>Gs(e.parent),$root:e=>Gs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Kn(e),$forceUpdate:e=>e.f||(e.f=()=>{ar(e.update)}),$nextTick:e=>e.n||(e.n=Cn.bind(e.proxy)),$watch:e=>eo.bind(e)}),Fs=(e,t)=>e!==X&&!e.__isScriptSetup&&q(e,t),go={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:r,data:n,props:i,accessCache:o,type:l,appContext:u}=e;if(t[0]!=="$"){const x=o[t];if(x!==void 0)switch(x){case 1:return r[t];case 2:return n[t];case 4:return s[t];case 3:return i[t]}else{if(Fs(r,t))return o[t]=1,r[t];if(n!==X&&q(n,t))return o[t]=2,n[t];if(q(i,t))return o[t]=3,i[t];if(s!==X&&q(s,t))return o[t]=4,s[t];Xs&&(o[t]=0)}}const d=$t[t];let c,p;if(d)return t==="$attrs"&&ue(e.attrs,"get",""),d(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(s!==X&&q(s,t))return o[t]=4,s[t];if(p=u.config.globalProperties,q(p,t))return p[t]},set({_:e},t,s){const{data:r,setupState:n,ctx:i}=e;return Fs(n,t)?(n[t]=s,!0):r!==X&&q(r,t)?(r[t]=s,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:r,appContext:n,props:i,type:o}},l){let u;return!!(s[l]||e!==X&&l[0]!=="$"&&q(e,l)||Fs(t,l)||q(i,l)||q(r,l)||q($t,l)||q(n.config.globalProperties,l)||(u=o.__cssModules)&&u[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:q(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Ar(e){return R(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Xs=!0;function mo(e){const t=Kn(e),s=e.proxy,r=e.ctx;Xs=!1,t.beforeCreate&&Pr(t.beforeCreate,e,"bc");const{data:n,computed:i,methods:o,watch:l,provide:u,inject:d,created:c,beforeMount:p,mounted:x,beforeUpdate:T,updated:j,activated:O,deactivated:$,beforeDestroy:J,beforeUnmount:H,destroyed:U,unmounted:C,render:ee,renderTracked:ne,renderTriggered:ye,errorCaptured:Se,serverPrefetch:yt,expose:Ke,inheritAttrs:it,components:bt,directives:Qe,filters:ot}=t;if(d&&_o(d,r,null),o)for(const Z in o){const B=o[Z];F(B)&&(r[Z]=B.bind(s))}if(n){const Z=n.call(s,s);z(Z)&&(e.data=Ss(Z))}if(Xs=!0,i)for(const Z in i){const B=i[Z],Pe=F(B)?B.bind(s,s):F(B.get)?B.get.bind(s,s):He,vt=!F(B)&&F(B.set)?B.set.bind(s):He,Ne=Rt({get:Pe,set:vt});Object.defineProperty(r,Z,{enumerable:!0,configurable:!0,get:()=>Ne.value,set:de=>Ne.value=de})}if(l)for(const Z in l)jn(l[Z],r,s,Z);if(u){const Z=F(u)?u.call(s):u;Reflect.ownKeys(Z).forEach(B=>{Yi(B,Z[B])})}c&&Pr(c,e,"c");function ie(Z,B){R(B)?B.forEach(Pe=>Z(Pe.bind(s))):B&&Z(B.bind(s))}if(ie(oo,p),ie(Fn,x),ie(lo,T),ie(co,j),ie(ro,O),ie(no,$),ie(ho,Se),ie(fo,ne),ie(uo,ye),ie(Ln,H),ie(Hn,C),ie(ao,yt),R(Ke))if(Ke.length){const Z=e.exposed||(e.exposed={});Ke.forEach(B=>{Object.defineProperty(Z,B,{get:()=>s[B],set:Pe=>s[B]=Pe,enumerable:!0})})}else e.exposed||(e.exposed={});ee&&e.render===He&&(e.render=ee),it!=null&&(e.inheritAttrs=it),bt&&(e.components=bt),Qe&&(e.directives=Qe),yt&&Mn(e)}function _o(e,t,s=He){R(e)&&(e=Js(e));for(const r in e){const n=e[r];let i;z(n)?"default"in n?i=is(n.from||r,n.default,!0):i=is(n.from||r):i=is(n),me(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function Pr(e,t,s){Ae(R(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,s)}function jn(e,t,s,r){let n=r.includes(".")?Vn(s,r):()=>s[r];if(Q(e)){const i=t[e];F(i)&&Ht(n,i)}else if(F(e))Ht(n,e.bind(s));else if(z(e))if(R(e))e.forEach(i=>jn(i,t,s,r));else{const i=F(e.handler)?e.handler.bind(s):t[e.handler];F(i)&&Ht(n,i,e)}}function Kn(e){const t=e.type,{mixins:s,extends:r}=t,{mixins:n,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let u;return l?u=l:!n.length&&!s&&!r?u=t:(u={},n.length&&n.forEach(d=>fs(u,d,o,!0)),fs(u,t,o)),z(t)&&i.set(t,u),u}function fs(e,t,s,r=!1){const{mixins:n,extends:i}=t;i&&fs(e,i,s,!0),n&&n.forEach(o=>fs(e,o,s,!0));for(const o in t)if(!(r&&o==="expose")){const l=yo[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const yo={data:Nr,props:Ir,emits:Ir,methods:Vt,computed:Vt,beforeCreate:he,created:he,beforeMount:he,mounted:he,beforeUpdate:he,updated:he,beforeDestroy:he,beforeUnmount:he,destroyed:he,unmounted:he,activated:he,deactivated:he,errorCaptured:he,serverPrefetch:he,components:Vt,directives:Vt,watch:vo,provide:Nr,inject:bo};function Nr(e,t){return t?e?function(){return fe(F(e)?e.call(this,this):e,F(t)?t.call(this,this):t)}:t:e}function bo(e,t){return Vt(Js(e),Js(t))}function Js(e){if(R(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function he(e,t){return e?[...new Set([].concat(e,t))]:t}function Vt(e,t){return e?fe(Object.create(null),e,t):t}function Ir(e,t){return e?R(e)&&R(t)?[...new Set([...e,...t])]:fe(Object.create(null),Ar(e),Ar(t??{})):t}function vo(e,t){if(!e)return t;if(!t)return e;const s=fe(Object.create(null),e);for(const r in t)s[r]=he(e[r],t[r]);return s}function $n(){return{app:null,config:{isNativeTag:Qr,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 wo=0;function xo(e,t){return function(r,n=null){F(r)||(r=fe({},r)),n!=null&&!z(n)&&(n=null);const i=$n(),o=new WeakSet,l=[];let u=!1;const d=i.app={_uid:wo++,_component:r,_props:n,_container:null,_context:i,_instance:null,version:el,get config(){return i.config},set config(c){},use(c,...p){return o.has(c)||(c&&F(c.install)?(o.add(c),c.install(d,...p)):F(c)&&(o.add(c),c(d,...p))),d},mixin(c){return i.mixins.includes(c)||i.mixins.push(c),d},component(c,p){return p?(i.components[c]=p,d):i.components[c]},directive(c,p){return p?(i.directives[c]=p,d):i.directives[c]},mount(c,p,x){if(!u){const T=d._ceVNode||ze(r,n);return T.appContext=i,x===!0?x="svg":x===!1&&(x=void 0),e(T,c,x),u=!0,d._container=c,c.__vue_app__=d,Ns(T.component)}},onUnmount(c){l.push(c)},unmount(){u&&(Ae(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(c,p){return i.provides[c]=p,d},runWithContext(c){const p=Ct;Ct=d;try{return c()}finally{Ct=p}}};return d}}let Ct=null;const So=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ee(t)}Modifiers`]||e[`${_t(t)}Modifiers`];function Eo(e,t,...s){if(e.isUnmounted)return;const r=e.vnode.props||X;let n=s;const i=t.startsWith("update:"),o=i&&So(r,t.slice(7));o&&(o.trim&&(n=s.map(c=>Q(c)?c.trim():c)),o.number&&(n=n.map(bs)));let l,u=r[l=Is(t)]||r[l=Is(Ee(t))];!u&&i&&(u=r[l=Is(_t(t))]),u&&Ae(u,e,6,n);const d=r[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ae(d,e,6,n)}}const To=new WeakMap;function Un(e,t,s=!1){const r=s?To:t.emitsCache,n=r.get(e);if(n!==void 0)return n;const i=e.emits;let o={},l=!1;if(!F(e)){const u=d=>{const c=Un(d,t,!0);c&&(l=!0,fe(o,c))};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!i&&!l?(z(e)&&r.set(e,null),null):(R(i)?i.forEach(u=>o[u]=null):fe(o,i),z(e)&&r.set(e,o),o)}function As(e,t){return!e||!ms(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,_t(t))||q(e,t))}function Or(e){const{type:t,vnode:s,proxy:r,withProxy:n,propsOptions:[i],slots:o,attrs:l,emit:u,render:d,renderCache:c,props:p,data:x,setupState:T,ctx:j,inheritAttrs:O}=e,$=as(e);let J,H;try{if(s.shapeFlag&4){const C=n||r,ee=C;J=Le(d.call(ee,C,c,p,T,x,j)),H=l}else{const C=t;J=Le(C.length>1?C(p,{attrs:l,slots:o,emit:u}):C(p,null)),H=t.props?l:Co(l)}}catch(C){gt.length=0,Es(C,e,1),J=ze(Ye)}let U=J;if(H&&O!==!1){const C=Object.keys(H),{shapeFlag:ee}=U;C.length&&ee&7&&(i&&C.some(_s)&&(H=Ao(H,i)),U=Pt(U,H,!1,!0))}if(s.dirs&&(U=Pt(U,null,!1,!0),U.dirs=U.dirs?U.dirs.concat(s.dirs):s.dirs),s.transition){const C=Ts(U.type)&&Rn(U)||U;ur(C,s.transition)}return J=U,as($),J}const Co=e=>{let t;for(const s in e)(s==="class"||s==="style"||ms(s))&&((t||(t={}))[s]=e[s]);return t},Ao=(e,t)=>{const s={};for(const r in e)(!_s(r)||!(r.slice(9)in t))&&(s[r]=e[r]);return s};function Po(e,t,s){const{props:r,children:n,component:i}=e,{props:o,children:l,patchFlag:u}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&u>=0){if(u&1024)return!0;if(u&16)return r?Vr(r,o,d):!!o;if(u&8){const c=t.dynamicProps;for(let p=0;p<c.length;p++){const x=c[p];if(qn(o,r,x)&&!As(d,x))return!0}}}else return(n||l)&&(!l||!l.$stable)?!0:r===o?!1:r?o?Vr(r,o,d):!0:!!o;return!1}function Vr(e,t,s){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let n=0;n<r.length;n++){const i=r[n];if(qn(t,e,i)&&!As(s,i))return!0}return!1}function qn(e,t,s){const r=e[s],n=t[s];return s==="style"&&z(r)&&z(n)?!rt(r,n):r!==n}function No({vnode:e,parent:t,suspense:s},r){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=r,e=n),n===e)(e=t.vnode).el=r,t=t.parent;else break}s&&s.activeBranch===e&&(s.vnode.el=r)}const Bn={},Wn=()=>Object.create(Bn),kn=e=>Object.getPrototypeOf(e)===Bn;function Io(e,t,s,r=!1){const n={},i=Wn();e.propsDefaults=Object.create(null),zn(e,t,n,i);for(const o in e.propsOptions[0])o in n||(n[o]=void 0);s?e.props=r?n:Ki(n):e.type.props?e.props=n:e.props=i,e.attrs=i}function Oo(e,t,s,r){const{props:n,attrs:i,vnode:{patchFlag:o}}=e,l=k(n),[u]=e.propsOptions;let d=!1;if((r||o>0)&&!(o&16)){if(o&8){const c=e.vnode.dynamicProps;for(let p=0;p<c.length;p++){let x=c[p];if(As(e.emitsOptions,x))continue;const T=t[x];if(u)if(q(i,x))T!==i[x]&&(i[x]=T,d=!0);else{const j=Ee(x);n[j]=Ys(u,l,j,T,e,!1)}else T!==i[x]&&(i[x]=T,d=!0)}}}else{zn(e,t,n,i)&&(d=!0);let c;for(const p in l)(!t||!q(t,p)&&((c=_t(p))===p||!q(t,c)))&&(u?s&&(s[p]!==void 0||s[c]!==void 0)&&(n[p]=Ys(u,l,p,void 0,e,!0)):delete n[p]);if(i!==l)for(const p in i)(!t||!q(t,p))&&(delete i[p],d=!0)}d&&We(e.attrs,"set","")}function zn(e,t,s,r){const[n,i]=e.propsOptions;let o=!1,l;if(t)for(let u in t){if(Dt(u))continue;const d=t[u];let c;n&&q(n,c=Ee(u))?!i||!i.includes(c)?s[c]=d:(l||(l={}))[c]=d:As(e.emitsOptions,u)||(!(u in r)||d!==r[u])&&(r[u]=d,o=!0)}if(i){const u=k(s),d=l||X;for(let c=0;c<i.length;c++){const p=i[c];s[p]=Ys(n,u,p,d[p],e,!q(d,p))}}return o}function Ys(e,t,s,r,n,i){const o=e[s];if(o!=null){const l=q(o,"default");if(l&&r===void 0){const u=o.default;if(o.type!==Function&&!o.skipFactory&&F(u)){const{propsDefaults:d}=n;if(s in d)r=d[s];else{const c=Jt(n);r=d[s]=u.call(null,t),c()}}else r=u;n.ce&&n.ce._setProp(s,r)}o[0]&&(i&&!l?r=!1:o[1]&&(r===""||r===_t(s))&&(r=!0))}return r}const Vo=new WeakMap;function Gn(e,t,s=!1){const r=s?Vo:t.propsCache,n=r.get(e);if(n)return n;const i=e.props,o={},l=[];let u=!1;if(!F(e)){const c=p=>{u=!0;const[x,T]=Gn(p,t,!0);fe(o,x),T&&l.push(...T)};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!u)return z(e)&&r.set(e,Et),Et;if(R(i))for(let c=0;c<i.length;c++){const p=Ee(i[c]);Rr(p)&&(o[p]=X)}else if(i)for(const c in i){const p=Ee(c);if(Rr(p)){const x=i[c],T=o[p]=R(x)||F(x)?{type:x}:fe({},x),j=T.type;let O=!1,$=!0;if(R(j))for(let J=0;J<j.length;++J){const H=j[J],U=F(H)&&H.name;if(U==="Boolean"){O=!0;break}else U==="String"&&($=!1)}else O=F(j)&&j.name==="Boolean";T[0]=O,T[1]=$,(O||q(T,"default"))&&l.push(p)}}const d=[o,l];return z(e)&&r.set(e,d),d}function Rr(e){return e[0]!=="$"&&!Dt(e)}const dr=e=>e==="_"||e==="_ctx"||e==="$stable",hr=e=>R(e)?e.map(Le):[Le(e)],Ro=(e,t,s)=>{if(t._n)return t;const r=Ji((...n)=>hr(t(...n)),s);return r._c=!1,r},Xn=(e,t,s)=>{const r=e._ctx;for(const n in e){if(dr(n))continue;const i=e[n];if(F(i))t[n]=Ro(n,i,r);else if(i!=null){const o=hr(i);t[n]=()=>o}}},Jn=(e,t)=>{const s=hr(t);e.slots.default=()=>s},Yn=(e,t,s)=>{for(const r in t)(s||!dr(r))&&(e[r]=t[r])},Mo=(e,t,s)=>{const r=e.slots=Wn();if(e.vnode.shapeFlag&32){const n=t._;n?(Yn(r,t,s),s&&nn(r,"_",n,!0)):Xn(t,r)}else t&&Jn(e,t)},Do=(e,t,s)=>{const{vnode:r,slots:n}=e;let i=!0,o=X;if(r.shapeFlag&32){const l=t._;l?s&&l===1?i=!1:Yn(n,t,s):(i=!t.$stable,Xn(t,n)),o=t}else t&&(Jn(e,t),o={default:1});if(i)for(const l in n)!dr(l)&&o[l]==null&&delete n[l]},_e=Ko;function Fo(e){return Lo(e)}function Lo(e,t){const s=vs();s.__VUE__=!0;const{insert:r,remove:n,patchProp:i,createElement:o,createText:l,createComment:u,setText:d,setElementText:c,parentNode:p,nextSibling:x,setScopeId:T=He,insertStaticContent:j}=e,O=(a,f,h,y=null,_=null,g=null,w=void 0,v=null,b=!!f.dynamicChildren)=>{if(a===f)return;a&&!Ot(a,f)&&(y=oe(a),de(a,_,g,!0),a=null),f.patchFlag===-2&&(b=!1,f.dynamicChildren=null);const{type:m,ref:V,shapeFlag:S}=f;switch(m){case Ps:$(a,f,h,y);break;case Ye:J(a,f,h,y);break;case Hs:a==null&&H(f,h,y,w);break;case we:bt(a,f,h,y,_,g,w,v,b);break;default:S&1?ee(a,f,h,y,_,g,w,v,b):S&6?Qe(a,f,h,y,_,g,w,v,b):(S&64||S&128)&&m.process(a,f,h,y,_,g,w,v,b,wt)}V!=null&&_?jt(V,a&&a.ref,g,f||a,!f):V==null&&a&&a.ref!=null&&jt(a.ref,null,g,a,!0)},$=(a,f,h,y)=>{if(a==null)r(f.el=l(f.children),h,y);else{const _=f.el=a.el;f.children!==a.children&&d(_,f.children)}},J=(a,f,h,y)=>{a==null?r(f.el=u(f.children||""),h,y):f.el=a.el},H=(a,f,h,y)=>{[a.el,a.anchor]=j(a.children,f,h,y,a.el,a.anchor)},U=({el:a,anchor:f},h,y)=>{let _;for(;a&&a!==f;)_=x(a),r(a,h,y),a=_;r(f,h,y)},C=({el:a,anchor:f})=>{let h;for(;a&&a!==f;)h=x(a),n(a),a=h;n(f)},ee=(a,f,h,y,_,g,w,v,b)=>{if(f.type==="svg"?w="svg":f.type==="math"&&(w="mathml"),a==null)ne(f,h,y,_,g,w,v,b);else{const m=a.el&&a.el._isVueCE?a.el:null;try{m&&m._beginPatch(),yt(a,f,_,g,w,v,b)}finally{m&&m._endPatch()}}},ne=(a,f,h,y,_,g,w,v)=>{let b,m;const{props:V,shapeFlag:S,transition:N,dirs:M}=a;if(b=a.el=o(a.type,g,V&&V.is,V),S&8?c(b,a.children):S&16&&Se(a.children,b,null,y,_,Ls(a,g),w,v),M&&ct(a,null,y,"created"),ye(b,a,a.scopeId,w,y),V){for(const G in V)G!=="value"&&!Dt(G)&&i(b,G,null,V[G],g,y);"value"in V&&i(b,"value",null,V.value,g),(m=V.onVnodeBeforeMount)&&Me(m,y,a)}M&&ct(a,null,y,"beforeMount");const K=Ho(_,N);K&&N.beforeEnter(b),r(b,f,h),((m=V&&V.onVnodeMounted)||K||M)&&_e(()=>{m&&Me(m,y,a),K&&N.enter(b),M&&ct(a,null,y,"mounted")},_)},ye=(a,f,h,y,_)=>{if(h&&T(a,h),y)for(let g=0;g<y.length;g++)T(a,y[g]);if(_){let g=_.subTree;if(f===g||ti(g.type)&&(g.ssContent===f||g.ssFallback===f)){const w=_.vnode;ye(a,w,w.scopeId,w.slotScopeIds,_.parent)}}},Se=(a,f,h,y,_,g,w,v,b=0)=>{for(let m=b;m<a.length;m++){const V=a[m]=v?qe(a[m]):Le(a[m]);O(null,V,f,h,y,_,g,w,v)}},yt=(a,f,h,y,_,g,w)=>{const v=f.el=a.el;let{patchFlag:b,dynamicChildren:m,dirs:V}=f;b|=a.patchFlag&16;const S=a.props||X,N=f.props||X;let M;if(h&&at(h,!1),(M=N.onVnodeBeforeUpdate)&&Me(M,h,f,a),V&&ct(f,a,h,"beforeUpdate"),h&&at(h,!0),m&&(!a.dynamicChildren||a.dynamicChildren.length!==m.length)&&(b=0,w=!1,m=null),(S.innerHTML&&N.innerHTML==null||S.textContent&&N.textContent==null)&&c(v,""),m?Ke(a.dynamicChildren,m,v,h,y,Ls(f,_),g):w||B(a,f,v,null,h,y,Ls(f,_),g,!1),b>0){if(b&16)it(v,S,N,h,_);else if(b&2&&S.class!==N.class&&i(v,"class",null,N.class,_),b&4&&i(v,"style",S.style,N.style,_),b&8){const K=f.dynamicProps;for(let G=0;G<K.length;G++){const W=K[G],se=S[W],ce=N[W];(ce!==se||W==="value")&&i(v,W,se,ce,_,h)}}b&1&&a.children!==f.children&&c(v,f.children)}else!w&&m==null&&it(v,S,N,h,_);((M=N.onVnodeUpdated)||V)&&_e(()=>{M&&Me(M,h,f,a),V&&ct(f,a,h,"updated")},y)},Ke=(a,f,h,y,_,g,w)=>{for(let v=0;v<f.length;v++){const b=a[v],m=f[v],V=b.el&&(b.type===we||!Ot(b,m)||b.shapeFlag&198)?p(b.el):h;O(b,m,V,null,y,_,g,w,!0)}},it=(a,f,h,y,_)=>{if(f!==h){if(f!==X)for(const g in f)!Dt(g)&&!(g in h)&&i(a,g,f[g],null,_,y);for(const g in h){if(Dt(g))continue;const w=h[g],v=f[g];w!==v&&g!=="value"&&i(a,g,v,w,_,y)}"value"in h&&i(a,"value",f.value,h.value,_)}},bt=(a,f,h,y,_,g,w,v,b)=>{const m=f.el=a?a.el:l(""),V=f.anchor=a?a.anchor:l("");let{patchFlag:S,dynamicChildren:N,slotScopeIds:M}=f;M&&(v=v?v.concat(M):M),a==null?(r(m,h,y),r(V,h,y),Se(f.children||[],h,V,_,g,w,v,b)):S>0&&S&64&&N&&a.dynamicChildren&&a.dynamicChildren.length===N.length?(Ke(a.dynamicChildren,N,h,_,g,w,v),(f.key!=null||_&&f===_.subTree)&&Zn(a,f,!0)):B(a,f,h,V,_,g,w,v,b)},Qe=(a,f,h,y,_,g,w,v,b)=>{f.slotScopeIds=v,a==null?f.shapeFlag&512?_.ctx.activate(f,h,y,w,b):ot(f,h,y,_,g,w,b):Yt(a,f,b)},ot=(a,f,h,y,_,g,w)=>{const v=a.component=zo(a,y,_);if(fr(a)&&(v.ctx.renderer=wt),Xo(v,!1,w),v.asyncDep){if(_&&_.registerDep(v,ie,w),!a.el){const b=v.subTree=ze(Ye);J(null,b,f,h),a.placeholder=b.el}}else ie(v,a,f,h,_,g,w)},Yt=(a,f,h)=>{const y=f.component=a.component;if(Po(a,f,h))if(y.asyncDep&&!y.asyncResolved){Z(y,f,h);return}else y.next=f,y.update();else f.el=a.el,y.vnode=f},ie=(a,f,h,y,_,g,w)=>{const v=()=>{if(a.isMounted){let{next:S,bu:N,u:M,parent:K,vnode:G}=a;{const Oe=Qn(a);if(Oe){S&&(S.el=G.el,Z(a,S,w)),Oe.asyncDep.then(()=>{_e(()=>{a.isUnmounted||m()},_)});return}}let W=S,se;at(a,!1),S?(S.el=G.el,Z(a,S,w)):S=G,N&&ns(N),(se=S.props&&S.props.onVnodeBeforeUpdate)&&Me(se,K,S,G),at(a,!0);const ce=Or(a),Ie=a.subTree;a.subTree=ce,O(Ie,ce,p(Ie.el),oe(Ie),a,_,g),S.el=ce.el,W===null&&No(a,ce.el),M&&_e(M,_),(se=S.props&&S.props.onVnodeUpdated)&&_e(()=>Me(se,K,S,G),_)}else{let S;const{el:N,props:M}=f,{bm:K,m:G,parent:W,root:se,type:ce}=a,Ie=Kt(f);at(a,!1),K&&ns(K),!Ie&&(S=M&&M.onVnodeBeforeMount)&&Me(S,W,f),at(a,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ce,a.parent?a.parent.type:void 0);const Oe=a.subTree=Or(a);O(null,Oe,h,y,a,_,g),f.el=Oe.el}if(G&&_e(G,_),!Ie&&(S=M&&M.onVnodeMounted)){const Oe=f;_e(()=>Me(S,W,Oe),_)}(f.shapeFlag&256||W&&Kt(W.vnode)&&W.vnode.shapeFlag&256)&&a.a&&_e(a.a,_),a.isMounted=!0,f=h=y=null}};a.scope.on();const b=a.effect=new an(v);a.scope.off();const m=a.update=b.run.bind(b),V=a.job=b.runIfDirty.bind(b);V.i=a,V.id=a.uid,b.scheduler=()=>ar(V),at(a,!0),m()},Z=(a,f,h)=>{f.component=a;const y=a.vnode.props;a.vnode=f,a.next=null,Oo(a,f.props,y,h),Do(a,f.children,h),Ge(),xr(a),Xe()},B=(a,f,h,y,_,g,w,v,b=!1)=>{const m=a&&a.children,V=a?a.shapeFlag:0,S=f.children,{patchFlag:N,shapeFlag:M}=f;if(N>0){if(N&128){vt(m,S,h,y,_,g,w,v,b);return}else if(N&256){Pe(m,S,h,y,_,g,w,v,b);return}}M&8?(V&16&&E(m,_,g),S!==m&&c(h,S)):V&16?M&16?vt(m,S,h,y,_,g,w,v,b):E(m,_,g,!0):(V&8&&c(h,""),M&16&&Se(S,h,y,_,g,w,v,b))},Pe=(a,f,h,y,_,g,w,v,b)=>{a=a||Et,f=f||Et;const m=a.length,V=f.length,S=Math.min(m,V);let N;for(N=0;N<S;N++){const M=f[N]=b?qe(f[N]):Le(f[N]);O(a[N],M,h,null,_,g,w,v,b)}m>V?E(a,_,g,!0,!1,S):Se(f,h,y,_,g,w,v,b,S)},vt=(a,f,h,y,_,g,w,v,b)=>{let m=0;const V=f.length;let S=a.length-1,N=V-1;for(;m<=S&&m<=N;){const M=a[m],K=f[m]=b?qe(f[m]):Le(f[m]);if(Ot(M,K))O(M,K,h,null,_,g,w,v,b);else break;m++}for(;m<=S&&m<=N;){const M=a[S],K=f[N]=b?qe(f[N]):Le(f[N]);if(Ot(M,K))O(M,K,h,null,_,g,w,v,b);else break;S--,N--}if(m>S){if(m<=N){const M=N+1,K=M<V?f[M].el:y;for(;m<=N;)O(null,f[m]=b?qe(f[m]):Le(f[m]),h,K,_,g,w,v,b),m++}}else if(m>N)for(;m<=S;)de(a[m],_,g,!0),m++;else{const M=m,K=m,G=new Map;for(m=K;m<=N;m++){const be=f[m]=b?qe(f[m]):Le(f[m]);be.key!=null&&G.set(be.key,m)}let W,se=0;const ce=N-K+1;let Ie=!1,Oe=0;const Nt=new Array(ce);for(m=0;m<ce;m++)Nt[m]=0;for(m=M;m<=S;m++){const be=a[m];if(se>=ce){de(be,_,g,!0);continue}let Ve;if(be.key!=null)Ve=G.get(be.key);else for(W=K;W<=N;W++)if(Nt[W-K]===0&&Ot(be,f[W])){Ve=W;break}Ve===void 0?de(be,_,g,!0):(Nt[Ve-K]=m+1,Ve>=Oe?Oe=Ve:Ie=!0,O(be,f[Ve],h,null,_,g,w,v,b),se++)}const pr=Ie?jo(Nt):Et;for(W=pr.length-1,m=ce-1;m>=0;m--){const be=K+m,Ve=f[be],gr=f[be+1],mr=be+1<V?gr.el||ei(gr):y;Nt[m]===0?O(null,Ve,h,mr,_,g,w,v,b):Ie&&(W<0||m!==pr[W]?Ne(Ve,h,mr,2):W--)}}},Ne=(a,f,h,y,_=null)=>{const{el:g,type:w,transition:v,children:b,shapeFlag:m}=a;if(m&6){Ne(a.component.subTree,f,h,y);return}if(m&128){a.suspense.move(f,h,y);return}if(m&64){w.move(a,f,h,wt);return}if(w===we){r(g,f,h);for(let S=0;S<b.length;S++)Ne(b[S],f,h,y);r(a.anchor,f,h);return}if(w===Hs){U(a,f,h);return}if(y!==2&&m&1&&v)if(y===0)v.persisted&&!g[Ds]?r(g,f,h):(v.beforeEnter(g),r(g,f,h),_e(()=>v.enter(g),_));else{const{leave:S,delayLeave:N,afterLeave:M}=v,K=()=>{a.ctx.isUnmounted?n(g):r(g,f,h)},G=()=>{const W=g._isLeaving||!!g[Ds];g._isLeaving&&g[Ds](!0),v.persisted&&!W?K():S(g,()=>{K(),M&&M()})};N?N(g,K,G):G()}else r(g,f,h)},de=(a,f,h,y=!1,_=!1)=>{const{type:g,props:w,ref:v,children:b,dynamicChildren:m,shapeFlag:V,patchFlag:S,dirs:N,cacheIndex:M,memo:K}=a;if(S===-2&&(_=!1),v!=null&&(Ge(),jt(v,null,h,a,!0),Xe()),M!=null&&(f.renderCache[M]=void 0),V&256){f.ctx.deactivate(a);return}const G=V&1&&N,W=!Kt(a);let se;if(W&&(se=w&&w.onVnodeBeforeUnmount)&&Me(se,f,a),V&6)P(a.component,h,y);else{if(V&128){a.suspense.unmount(h,y);return}G&&ct(a,null,f,"beforeUnmount"),V&64?a.type.remove(a,f,h,wt,y):m&&!m.hasOnce&&(g!==we||S>0&&S&64)?E(m,f,h,!1,!0):(g===we&&S&384||!_&&V&16)&&E(b,f,h),y&&Zt(a)}const ce=K!=null&&M==null;(W&&(se=w&&w.onVnodeUnmounted)||G||ce)&&_e(()=>{se&&Me(se,f,a),G&&ct(a,null,f,"unmounted"),ce&&(a.el=null)},h)},Zt=a=>{const{type:f,el:h,anchor:y,transition:_}=a;if(f===we){I(h,y);return}if(f===Hs){C(a);return}const g=()=>{n(h),_&&!_.persisted&&_.afterLeave&&_.afterLeave()};if(a.shapeFlag&1&&_&&!_.persisted){const{leave:w,delayLeave:v}=_,b=()=>w(h,g);v?v(a.el,g,b):b()}else g()},I=(a,f)=>{let h;for(;a!==f;)h=x(a),n(a),a=h;n(f)},P=(a,f,h)=>{const{bum:y,scope:_,job:g,subTree:w,um:v,m:b,a:m}=a;Mr(b),Mr(m),y&&ns(y),_.stop(),g&&(g.flags|=8,de(w,a,f,h)),v&&_e(v,f),_e(()=>{a.isUnmounted=!0},f)},E=(a,f,h,y=!1,_=!1,g=0)=>{for(let w=g;w<a.length;w++)de(a[w],f,h,y,_)},oe=a=>{if(a.shapeFlag&6)return oe(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const f=x(a.anchor||a.el),h=f&&f[to];return h?x(h):f};let le=!1;const lt=(a,f,h)=>{let y;a==null?f._vnode&&(de(f._vnode,null,null,!0),y=f._vnode.component):O(f._vnode||null,a,f,null,null,null,h),f._vnode=a,le||(le=!0,xr(y),Pn(),le=!1)},wt={p:O,um:de,m:Ne,r:Zt,mt:ot,mc:Se,pc:B,pbc:Ke,n:oe,o:e};return{render:lt,hydrate:void 0,createApp:xo(lt)}}function Ls({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 at({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ho(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Zn(e,t,s=!1){const r=e.children,n=t.children;if(R(r)&&R(n))for(let i=0;i<r.length;i++){const o=r[i];let l=n[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=n[i]=qe(n[i]),l.el=o.el),!s&&l.patchFlag!==-2&&Zn(o,l)),l.type===Ps&&(l.patchFlag===-1&&(l=n[i]=qe(l)),l.el=o.el),l.type===Ye&&!l.el&&(l.el=o.el)}}function jo(e){const t=e.slice(),s=[0];let r,n,i,o,l;const u=e.length;for(r=0;r<u;r++){const d=e[r];if(d!==0){if(n=s[s.length-1],e[n]<d){t[r]=n,s.push(r);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[r]=s[i-1]),s[i]=r)}}for(i=s.length,o=s[i-1];i-- >0;)s[i]=o,o=t[o];return s}function Qn(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Qn(t)}function Mr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ei(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ei(t.subTree):null}const ti=e=>e.__isSuspense;function Ko(e,t){t&&t.pendingBranch?R(e)?t.effects.push(...e):t.effects.push(e):Xi(e)}const we=Symbol.for("v-fgt"),Ps=Symbol.for("v-txt"),Ye=Symbol.for("v-cmt"),Hs=Symbol.for("v-stc"),gt=[];let ve=null;function te(e=!1){gt.push(ve=e?null:[])}function si(){gt.pop(),ve=gt[gt.length-1]||null}let Wt=1;function Dr(e,t=!1){Wt+=e,e<0&&ve&&t&&(ve.hasOnce=!0)}function ri(e){return e.dynamicChildren=Wt>0?ve||Et:null,si(),Wt>0&&ve&&ve.push(e),e}function re(e,t,s,r,n,i){return ri(A(e,t,s,r,n,i,!0))}function $o(e,t,s,r,n){return ri(ze(e,t,s,r,n,!0))}function ni(e){return e?e.__v_isVNode===!0:!1}function Ot(e,t){return e.type===t.type&&e.key===t.key}const ii=({key:e})=>e??null,os=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Q(e)||me(e)||F(e)?{i:xe,r:e,k:t,f:!!s}:e:null);function A(e,t=null,s=null,r=0,n=null,i=e===we?0:1,o=!1,l=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ii(t),ref:t&&os(t),scopeId:In,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:r,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:xe};return l?(ds(u,s),i&128&&e.normalize(u)):s&&(u.shapeFlag|=Q(s)?8:16),Wt>0&&!o&&ve&&(u.patchFlag>0||i&6)&&u.patchFlag!==32&&ve.push(u),u}const ze=Uo;function Uo(e,t=null,s=null,r=0,n=null,i=!1){if((!e||e===po)&&(e=Ye),ni(e)){const l=Pt(e,t,!0);return s&&ds(l,s),Wt>0&&!i&&ve&&(l.shapeFlag&6?ve[ve.indexOf(e)]=l:ve.push(l)),l.patchFlag=-2,l}if(Qo(e)&&(e=e.__vccOpts),t){t=qo(t);let{class:l,style:u}=t;l&&!Q(l)&&(t.class=ws(l)),z(u)&&(cr(u)&&!R(u)&&(u=fe({},u)),t.style=sr(u))}const o=Q(e)?1:ti(e)?128:Ts(e)?64:z(e)?4:F(e)?2:0;return A(e,t,s,r,n,o,i,!0)}function qo(e){return e?cr(e)||kn(e)?fe({},e):e:null}function Pt(e,t,s=!1,r=!1){const{props:n,ref:i,patchFlag:o,children:l,transition:u}=e,d=t?Bo(n||{},t):n,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&ii(d),ref:t&&t.ref?s&&i?R(i)?i.concat(os(t)):[i,os(t)]:os(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!==we?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:u,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Pt(e.ssContent),ssFallback:e.ssFallback&&Pt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u&&r&&ur(c,u.clone(c)),c}function et(e=" ",t=0){return ze(Ps,null,e,t)}function Re(e="",t=!1){return t?(te(),$o(Ye,null,e)):ze(Ye,null,e)}function Le(e){return e==null||typeof e=="boolean"?ze(Ye):R(e)?ze(we,null,e.slice()):ni(e)?qe(e):ze(Ps,null,String(e))}function qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Pt(e)}function ds(e,t){let s=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(R(t))s=16;else if(typeof t=="object")if(r&65){const n=t.default;n&&(n._c&&(n._d=!1),ds(e,n()),n._c&&(n._d=!0));return}else{s=32;const n=t._;!n&&!kn(t)?t._ctx=xe:n===3&&xe&&(xe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(F(t)){if(r&65){ds(e,{default:t});return}t={default:t,_ctx:xe},s=32}else t=String(t),r&64?(s=16,t=[et(t)]):s=8;e.children=t,e.shapeFlag|=s}function Bo(...e){const t={};for(let s=0;s<e.length;s++){const r=e[s];for(const n in r)if(n==="class")t.class!==r.class&&(t.class=ws([t.class,r.class]));else if(n==="style")t.style=sr([t.style,r.style]);else if(ms(n)){const i=t[n],o=r[n];o&&i!==o&&!(R(i)&&i.includes(o))?t[n]=i?[].concat(i,o):o:o==null&&i==null&&!_s(n)&&(t[n]=o)}else n!==""&&(t[n]=r[n])}return t}function Me(e,t,s,r=null){Ae(e,t,7,[s,r])}const Wo=$n();let ko=0;function zo(e,t,s){const r=e.type,n=(t?t.appContext:e.appContext)||Wo,i={uid:ko++,vnode:e,type:r,parent:t,appContext:n,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new wi(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(n.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Gn(r,n),emitsOptions:Un(r,n),emit:null,emitted:null,propsDefaults:X,inheritAttrs:r.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=Eo.bind(null,i),e.ce&&e.ce(i),i}let ge=null;const Go=()=>ge||xe;let hs,kt;{const e=vs(),t=(s,r)=>{let n;return(n=e[s])||(n=e[s]=[]),n.push(r),i=>{n.length>1?n.forEach(o=>o(i)):n[0](i)}};hs=t("__VUE_INSTANCE_SETTERS__",s=>ge=s),kt=t("__VUE_SSR_SETTERS__",s=>zt=s)}const Jt=e=>{const t=ge;return hs(e),e.scope.on(),()=>{e.scope.off(),hs(t)}},Fr=()=>{ge&&ge.scope.off(),hs(null)};function oi(e){return e.vnode.shapeFlag&4}let zt=!1;function Xo(e,t=!1,s=!1){t&&kt(t);const{props:r,children:n}=e.vnode,i=oi(e);Io(e,r,i,t),Mo(e,n,s||t);const o=i?Jo(e,t):void 0;return t&&kt(!1),o}function Jo(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,go);const{setup:r}=s;if(r){Ge();const n=e.setupContext=r.length>1?Zo(e):null,i=Jt(e),o=Xt(r,e,0,[e.props,n]),l=en(o);if(Xe(),i(),(l||e.sp)&&!Kt(e)&&Mn(e),l){if(o.then(Fr,Fr),t)return o.then(u=>{kt(!0);try{Lr(e,u,t)}finally{kt(!1)}}).catch(u=>{Es(u,e,0)});e.asyncDep=o}else Lr(e,o)}else li(e)}function Lr(e,t,s){F(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:z(t)&&(e.setupState=En(t)),li(e)}function li(e,t,s){const r=e.type;e.render||(e.render=r.render||He);{const n=Jt(e);Ge();try{mo(e)}finally{Xe(),n()}}}const Yo={get(e,t){return ue(e,"get",""),e[t]}};function Zo(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Yo),slots:e.slots,emit:e.emit,expose:t}}function Ns(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(En($i(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in $t)return $t[s](e)},has(t,s){return s in t||s in $t}})):e.proxy}function Qo(e){return F(e)&&"__vccOpts"in e}const Rt=(e,t)=>Bi(e,t,zt),el="3.5.42";let Zs;const Hr=typeof window<"u"&&window.trustedTypes;if(Hr)try{Zs=Hr.createPolicy("vue",{createHTML:e=>e})}catch{}const ci=Zs?e=>Zs.createHTML(e):e=>e,tl="http://www.w3.org/2000/svg",sl="http://www.w3.org/1998/Math/MathML",Ue=typeof document<"u"?document:null,jr=Ue&&Ue.createElement("template"),rl={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,r)=>{const n=t==="svg"?Ue.createElementNS(tl,e):t==="mathml"?Ue.createElementNS(sl,e):s?Ue.createElement(e,{is:s}):Ue.createElement(e);return e==="select"&&r&&r.multiple!=null&&n.setAttribute("multiple",r.multiple),n},createText:e=>Ue.createTextNode(e),createComment:e=>Ue.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ue.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,r,n,i){const o=s?s.previousSibling:t.lastChild;if(n&&(n===i||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),s),!(n===i||!(n=n.nextSibling)););else{jr.innerHTML=ci(r==="svg"?`<svg>${e}</svg>`:r==="mathml"?`<math>${e}</math>`:e);const l=jr.content;if(r==="svg"||r==="mathml"){const u=l.firstChild;for(;u.firstChild;)l.appendChild(u.firstChild);l.removeChild(u)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},nl=Symbol("_vtc");function il(e,t,s){const r=e[nl];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Kr=Symbol("_vod"),ol=Symbol("_vsh"),ll=Symbol(""),cl=/(?:^|;)\s*display\s*:/;function al(e,t,s){const r=e.style,n=Q(s);let i=!1;if(s&&!n){if(t)if(Q(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Mt(r,l,"")}else for(const o in t)s[o]==null&&Mt(r,o,"");for(const o in s){o==="display"&&(i=!0);const l=s[o];l!=null?fl(e,o,!Q(t)&&t?t[o]:void 0,l)||Mt(r,o,l):Mt(r,o,"")}}else if(n){if(t!==s){const o=r[ll];o&&(s+=";"+o),r.cssText=s,i=cl.test(s)}}else t&&e.removeAttribute("style");Kr in e&&(e[Kr]=i?r.display:"",e[ol]&&(r.display="none"))}const ss=/\s*!important$/;function Mt(e,t,s){if(R(s))s.forEach(r=>Mt(e,t,r));else if(s==null&&(s=""),t.startsWith("--"))ss.test(s)?e.setProperty(t,s.replace(ss,""),"important"):e.setProperty(t,s);else{const r=ul(e,t);ss.test(s)?e.setProperty(_t(r),s.replace(ss,""),"important"):e[r]=s}}const $r=["Webkit","Moz","ms"],js={};function ul(e,t){const s=js[t];if(s)return s;let r=Ee(t);if(r!=="filter"&&r in e)return js[t]=r;r=rn(r);for(let n=0;n<$r.length;n++){const i=$r[n]+r;if(i in e)return js[t]=i}return t}function fl(e,t,s,r){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&Q(r)&&s===r}const Ur="http://www.w3.org/1999/xlink";function qr(e,t,s,r,n,i=yi(t)){r&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(Ur,t.slice(6,t.length)):e.setAttributeNS(Ur,t,s):s==null||i&&!on(s)?e.removeAttribute(t):e.setAttribute(t,i?"":je(s)?String(s):s)}function Br(e,t,s,r,n){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?ci(s):s);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,u=s==null?e.type==="checkbox"?"on":"":String(s);(l!==u||!("_value"in e))&&(e.value=u),s==null&&e.removeAttribute(t),e._value=s;return}let o=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=on(s):s==null&&l==="string"?(s="",o=!0):l==="number"&&(s=0,o=!0)}try{e[t]=s}catch{}o&&e.removeAttribute(n||t)}function ft(e,t,s,r){e.addEventListener(t,s,r)}function dl(e,t,s,r){e.removeEventListener(t,s,r)}const Wr=Symbol("_vei");function hl(e,t,s,r,n=null){const i=e[Wr]||(e[Wr]={}),o=i[t];if(r&&o)o.value=r;else{const[l,u]=ml(t);if(r){const d=i[t]=bl(r,n);ft(e,l,d,u)}else o&&(dl(e,l,o,u),i[t]=void 0)}}const pl=/(Once|Passive|Capture)$/,gl=/^on:?(?:Once|Passive|Capture)$/;function ml(e){let t,s;for(;(s=e.match(pl))&&!gl.test(e);)t||(t={}),e=e.slice(0,e.length-s[1].length),t[s[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):_t(e.slice(2)),t]}let Ks=0;const _l=Promise.resolve(),yl=()=>Ks||(_l.then(()=>Ks=0),Ks=Date.now());function bl(e,t){const s=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=s.attached)return;const n=s.value;if(R(n)){const i=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{i.call(r),r._stopped=!0};const o=n.slice(),l=[r];for(let u=0;u<o.length&&!r._stopped;u++){const d=o[u];d&&Ae(d,t,5,l)}}else Ae(n,t,5,[r])};return s.value=e,s.attached=yl(),s}const kr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,vl=(e,t,s,r,n,i)=>{const o=n==="svg";t==="class"?il(e,r,o):t==="style"?al(e,s,r):ms(t)?_s(t)||hl(e,t,s,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):wl(e,t,r,o))?(Br(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&qr(e,t,r,o,i,t!=="value")):e._isVueCE&&(xl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Q(r)))?Br(e,Ee(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),qr(e,t,r,o))};function wl(e,t,s,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&kr(t)&&F(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const n=e.tagName;if(n==="IMG"||n==="VIDEO"||n==="CANVAS"||n==="SOURCE")return!1}return kr(t)&&Q(s)?!1:t in e}function xl(e,t){const s=e._def.props;if(!s)return!1;const r=Ee(t);return Array.isArray(s)?s.some(n=>Ee(n)===r):Object.keys(s).some(n=>Ee(n)===r)}const ps=e=>{const t=e.props["onUpdate:modelValue"]||!1;return R(t)?s=>ns(t,s):t};function Sl(e){e.target.composing=!0}function zr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const dt=Symbol("_assign"),rs=Symbol("_initialValue");function $s(e,t,s){return t&&(e=e.trim()),s&&(e=bs(e)),e}const El={created(e,{modifiers:{lazy:t,trim:s,number:r}},n){e.parentNode&&(e.type==="text"?e[rs]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[rs]=e.defaultValue.replace(/\r\n?/g,`
2
+ `))),e[dt]=ps(n);const i=r||n.props&&n.props.type==="number";ft(e,t?"change":"input",o=>{o.target.composing||e[dt]($s(e.value,s,i))}),(s||i)&&ft(e,"change",()=>{e.value=$s(e.value,s,i)}),t||(ft(e,"compositionstart",Sl),ft(e,"compositionend",zr),ft(e,"change",zr))},mounted(e,{value:t,modifiers:{trim:s,number:r}}){const n=t??"",i=e[rs];delete e[rs],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[dt]($s(e.value,s,r)):e.value=n},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:r,trim:n,number:i}},o){if(e[dt]=ps(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?bs(e.value):e.value,u=t??"";if(l===u)return;const d=e.getRootNode();(d instanceof Document||d instanceof ShadowRoot)&&d.activeElement===e&&e.type!=="range"&&(r&&t===s||n&&e.value.trim()===u)||(e.value=u)}},Tl={deep:!0,created(e,{value:t,modifiers:{number:s}},r){e._modelValue=t,ft(e,"change",()=>{const n=Array.prototype.filter.call(e.options,u=>u.selected).map(u=>s?bs(gs(u)):gs(u)),i=e.multiple,o=i?mt(e._modelValue)?new Set(n):n:n[0],l=e._pendingValue=[i,i?R(o)?n.slice():n:o];try{e[dt](o)}finally{Cn(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[dt]=ps(r)},mounted(e,{value:t}){Gr(e,t)},beforeUpdate(e,{value:t},s){e._modelValue=t,e[dt]=ps(s)},updated(e,{value:t}){const s=e._pendingValue;e._pendingValue=void 0,(!s||s[0]!==e.multiple||!Cl(t,s[1],s[0]))&&Gr(e,t)}};function Cl(e,t,s){if(!s||R(e))return rt(e,t);if(mt(e)){if(e.size!==t.length)return!1;for(const r of t)if(!e.has(r))return!1;return!0}return!1}function Gr(e,t){const s=e.multiple,r=R(t);if(!(s&&!r&&!mt(t))){for(let n=0,i=e.options.length;n<i;n++){const o=e.options[n],l=gs(o);if(s)if(r){const u=typeof l;u==="string"||u==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=vi(t,l)>-1}else o.selected=t.has(l);else if(rt(gs(o),t)){e.selectedIndex!==n&&(e.selectedIndex=n);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function gs(e){return"_value"in e?e._value:e.value}const Al=fe({patchProp:vl},rl);let Xr;function Pl(){return Xr||(Xr=Fo(Al))}const Nl=((...e)=>{const t=Pl().createApp(...e),{mount:s}=t;return t.mount=r=>{const n=Ol(r);if(!n)return;const i=t._component;!F(i)&&!i.render&&!i.template&&(i.template=n.innerHTML),n.nodeType===1&&(n.textContent="");const o=s(n,!1,Il(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),o},t});function Il(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ol(e){return Q(e)?document.querySelector(e):e}const Us={en:{title:"KNX Viewer",subtitle:"Group address state changes and read requests",history:"24-hour history on file",viewer:"Viewer",search:"Search GA, name, DPT, type or value",clearSearch:"Clear search",pause:"Pause",resume:"Resume live",live:"Live",paused:"Paused",loading:"Loading…",offline:"Connection unavailable",retry:"Retry",noViewers:"No KNX Viewer is available.",unknownViewer:"The requested KNX Viewer is not available. Check that the node is deployed.",empty:"No entries in the last 24 hours.",emptySearch:"No entries match this search in the last 24 hours.",emptyHint:"New entries will appear here as telegrams arrive.",time:"Time",telegramType:"Telegram type",source:"Source",address:"GA",name:"Name",dpt:"DPT",previous:"Previous",value:"Value",newest:"Most recent",older:"Older",rows:"entries on this page",updated:"Updated",storageError:"History could not be saved to file.",retained:"The list shows the last 24 hours. Pausing only stops updates on this page.",authError:"Authentication required or insufficient permissions. Reopen the page from Node-RED.",requestError:"Unable to load the history.",responseError:"The server returned an invalid response.",table:"Group address state changes and read requests, most recent first",firstValue:"First value",historical:"History",loadingHistory:"Loading history…"},it:{title:"KNX Viewer",subtitle:"Cambiamenti di stato e richieste di lettura degli indirizzi di gruppo",history:"Storico su file di 24 ore",viewer:"Viewer",search:"Cerca GA, nome, DPT, tipo o valore",clearSearch:"Cancella ricerca",pause:"Pausa",resume:"Riprendi live",live:"Live",paused:"In pausa",loading:"Caricamento…",offline:"Connessione non disponibile",retry:"Riprova",noViewers:"Nessun KNX Viewer disponibile.",unknownViewer:"Il KNX Viewer richiesto non è disponibile. Verifica che il nodo sia stato distribuito con Deploy.",empty:"Nessuna voce nelle ultime 24 ore.",emptySearch:"Nessuna voce corrisponde alla ricerca nelle ultime 24 ore.",emptyHint:"Le nuove voci appariranno qui alla ricezione dei telegrammi.",time:"Ora",telegramType:"Tipo telegramma",source:"Sorgente",address:"GA",name:"Nome",dpt:"DPT",previous:"Precedente",value:"Valore",newest:"Più recenti",older:"Più vecchi",rows:"voci in questa pagina",updated:"Aggiornato",storageError:"Impossibile salvare lo storico su file.",retained:"L’elenco mostra le ultime 24 ore. La pausa sospende solo gli aggiornamenti di questa pagina.",authError:"Autenticazione richiesta o permessi insufficienti. Riapri la pagina da Node-RED.",requestError:"Impossibile caricare lo storico.",responseError:"Il server ha restituito una risposta non valida.",table:"Cambiamenti e letture degli indirizzi di gruppo, dal più recente",firstValue:"Primo valore",historical:"Storico",loadingHistory:"Caricamento dello storico…"},de:{title:"KNX Viewer",subtitle:"Zustandsänderungen und Leseanfragen der Gruppenadressen",history:"24-Stunden-Verlauf in Datei",viewer:"Viewer",search:"GA, Name, DPT, Typ oder Wert suchen",clearSearch:"Suche löschen",pause:"Pause",resume:"Live fortsetzen",live:"Live",paused:"Pausiert",loading:"Wird geladen…",offline:"Verbindung nicht verfügbar",retry:"Erneut versuchen",noViewers:"Kein KNX Viewer verfügbar.",unknownViewer:"Der angeforderte KNX Viewer ist nicht verfügbar. Prüfen Sie, ob der Knoten bereitgestellt wurde.",empty:"Keine Einträge in den letzten 24 Stunden.",emptySearch:"Keine passenden Einträge in den letzten 24 Stunden.",emptyHint:"Neue Einträge erscheinen hier, sobald Telegramme eintreffen.",time:"Zeit",telegramType:"Telegrammtyp",source:"Quelle",address:"GA",name:"Name",dpt:"DPT",previous:"Vorher",value:"Wert",newest:"Neueste",older:"Ältere",rows:"Einträge auf dieser Seite",updated:"Aktualisiert",storageError:"Der Verlauf konnte nicht in der Datei gespeichert werden.",retained:"Die Liste zeigt die letzten 24 Stunden. Die Pause stoppt nur die Aktualisierung dieser Seite.",authError:"Anmeldung erforderlich oder unzureichende Berechtigungen. Öffnen Sie die Seite erneut über Node-RED.",requestError:"Der Verlauf konnte nicht geladen werden.",responseError:"Der Server hat eine ungültige Antwort zurückgegeben.",table:"Zustandsänderungen und Leseanfragen der Gruppenadressen, neueste zuerst",firstValue:"Erster Wert",historical:"Verlauf",loadingHistory:"Verlauf wird geladen…"},fr:{title:"KNX Viewer",subtitle:"Changements d’état et demandes de lecture des adresses de groupe",history:"Historique sur fichier de 24 heures",viewer:"Viewer",search:"Rechercher GA, nom, DPT, type ou valeur",clearSearch:"Effacer la recherche",pause:"Pause",resume:"Reprendre le direct",live:"Direct",paused:"En pause",loading:"Chargement…",offline:"Connexion indisponible",retry:"Réessayer",noViewers:"Aucun KNX Viewer disponible.",unknownViewer:"Le KNX Viewer demandé est indisponible. Vérifiez que le nœud est déployé.",empty:"Aucune entrée au cours des dernières 24 heures.",emptySearch:"Aucune entrée ne correspond à cette recherche dans les dernières 24 heures.",emptyHint:"Les nouvelles entrées apparaîtront ici à la réception des télégrammes.",time:"Heure",telegramType:"Type de télégramme",source:"Source",address:"GA",name:"Nom",dpt:"DPT",previous:"Précédent",value:"Valeur",newest:"Plus récents",older:"Plus anciens",rows:"entrées sur cette page",updated:"Mis à jour",storageError:"Impossible d’enregistrer l’historique dans le fichier.",retained:"La liste affiche les dernières 24 heures. La pause suspend uniquement la mise à jour de cette page.",authError:"Authentification requise ou autorisations insuffisantes. Rouvrez la page depuis Node-RED.",requestError:"Impossible de charger l’historique.",responseError:"Le serveur a renvoyé une réponse non valide.",table:"Changements et lectures des adresses de groupe, du plus récent au plus ancien",firstValue:"Première valeur",historical:"Historique",loadingHistory:"Chargement de l’historique…"},es:{title:"KNX Viewer",subtitle:"Cambios de estado y solicitudes de lectura de las direcciones de grupo",history:"Historial en archivo de 24 horas",viewer:"Viewer",search:"Buscar GA, nombre, DPT, tipo o valor",clearSearch:"Borrar búsqueda",pause:"Pausa",resume:"Reanudar en directo",live:"En directo",paused:"En pausa",loading:"Cargando…",offline:"Conexión no disponible",retry:"Reintentar",noViewers:"No hay ningún KNX Viewer disponible.",unknownViewer:"El KNX Viewer solicitado no está disponible. Comprueba que el nodo esté desplegado.",empty:"No hay entradas en las últimas 24 horas.",emptySearch:"Ninguna entrada coincide con la búsqueda en las últimas 24 horas.",emptyHint:"Las nuevas entradas aparecerán aquí al recibir los telegramas.",time:"Hora",telegramType:"Tipo de telegrama",source:"Origen",address:"GA",name:"Nombre",dpt:"DPT",previous:"Anterior",value:"Valor",newest:"Más recientes",older:"Más antiguos",rows:"entradas en esta página",updated:"Actualizado",storageError:"No se pudo guardar el historial en el archivo.",retained:"La lista muestra las últimas 24 horas. La pausa solo detiene las actualizaciones de esta página.",authError:"Se requiere autenticación o los permisos son insuficientes. Vuelve a abrir la página desde Node-RED.",requestError:"No se pudo cargar el historial.",responseError:"El servidor devolvió una respuesta no válida.",table:"Cambios y lecturas de las direcciones de grupo, del más reciente al más antiguo",firstValue:"Primer valor",historical:"Historial",loadingHistory:"Cargando historial…"},zh:{title:"KNX Viewer",subtitle:"组地址状态变化和读取请求",history:"文件保存最近 24 小时的历史",viewer:"Viewer",search:"搜索 GA、名称、DPT、类型或值",clearSearch:"清除搜索",pause:"暂停",resume:"恢复实时",live:"实时",paused:"已暂停",loading:"正在加载…",offline:"连接不可用",retry:"重试",noViewers:"没有可用的 KNX Viewer。",unknownViewer:"请求的 KNX Viewer 不可用。请确认节点已部署。",empty:"最近 24 小时没有记录。",emptySearch:"最近 24 小时没有符合搜索条件的记录。",emptyHint:"收到报文后,新记录将在此显示。",time:"时间",telegramType:"报文类型",source:"来源",address:"GA",name:"名称",dpt:"DPT",previous:"先前值",value:"值",newest:"最新",older:"更早",rows:"条记录显示在本页",updated:"更新于",storageError:"无法将历史记录保存到文件。",retained:"列表显示最近 24 小时的记录。暂停仅停止本页更新。",authError:"需要身份验证或权限不足。请从 Node-RED 重新打开此页面。",requestError:"无法加载历史记录。",responseError:"服务器返回了无效响应。",table:"组地址状态变化和读取请求,最新在前",firstValue:"首个值",historical:"历史",loadingHistory:"正在加载历史记录…"}};function Vl(e){const t=String(e||"en").toLowerCase().split(/[-_]/)[0];return{language:Us[t]?t:"en",text:Us[t]||Us.en}}const Rl={class:"viewer"},Ml={class:"heading"},Dl={class:"heading-title"},Fl={class:"viewer-name"},Ll={key:0,class:"gateway-name"},Hl={class:"toolbar"},jl={key:0,class:"viewer-picker"},Kl={class:"visually-hidden"},$l=["aria-label"],Ul=["value"],ql=["value"],Bl={class:"search-field"},Wl=["aria-label","placeholder"],kl=["aria-pressed","disabled"],zl={key:0,"aria-hidden":"true",viewBox:"0 0 16 16"},Gl={key:1,"aria-hidden":"true",viewBox:"0 0 16 16"},Xl={key:0,class:"notice error-notice",role:"alert"},Jl=["disabled"],Yl={key:1,class:"notice storage-notice",role:"alert"},Zl=["aria-label","aria-busy"],Ql=["aria-label"],ec={class:"visually-hidden"},tc={scope:"col",class:"time-column"},sc={scope:"col",class:"type-column"},rc={scope:"col",class:"source-column"},nc={scope:"col",class:"address-column"},ic={scope:"col",class:"name-column"},oc={scope:"col",class:"dpt-column"},lc={scope:"col",class:"value-column"},cc={scope:"col",class:"value-column"},ac={class:"time-cell"},uc=["datetime"],fc=["title"],dc={class:"mono"},hc={class:"mono address-cell"},pc={class:"name-cell"},gc={class:"mono"},mc=["title"],_c={class:"payload-cell current-cell"},yc={key:0,class:"unit"},bc={key:0,class:"empty-state",role:"status"},vc={key:0},wc={key:0},xc={key:2},Sc={class:"table-footer"},Ec={class:"row-count"},Tc={key:0,class:"history-tag"},Cc=["aria-label"],Ac=["disabled"],Pc=["disabled"],Nc={class:"page-footer"},Ic={key:0,class:"updated-at"},Jr="knxUltimateViewer:selectedNodeId",Yr="knxUltimateViewer:search",Zr=200,Oc={__name:"App",setup(e){const t=new URLSearchParams(window.location.search),s=t.get("nodeId")||"",r=t.get("access_token")||"",{language:n,text:i}=Vl(t.get("lang")||navigator.language);function o(I,P=""){try{return window.localStorage.getItem(I)||P}catch{return P}}function l(I,P){try{window.localStorage.setItem(I,String(P||""))}catch{}}function u(){if(r.trim())return r.trim();try{const I=[];for(let P=0;P<window.localStorage.length;P+=1){const E=String(window.localStorage.key(P)||"");if(E.startsWith("auth-tokens"))try{const oe=JSON.parse(window.localStorage.getItem(E));if(typeof oe?.access_token!="string"||!oe.access_token.trim())continue;const le=Number(oe.expires_at||oe.expiry||oe.expires||0);I.push({token:oe.access_token.trim(),expiry:Number.isFinite(le)?le:0})}catch{}}return I.sort((P,E)=>E.expiry-P.expiry),I[0]?.token||""}catch{return""}}const d=u(),c=Ss({nodes:[],selectedNodeId:s||o(Jr),search:o(Yr),live:!0,loading:!0,nodesLoaded:!1,data:null,lastError:"",before:"",updatedAt:0});let p=0,x=null,T=null,j=null,O=!1,$=!1;function J(I,P={}){const E=new URL(I,window.location.href);return Object.entries(P).forEach(([oe,le])=>{le!=null&&le!==""&&E.searchParams.set(oe,String(le))}),r&&E.searchParams.set("access_token",r),E.toString()}async function H(I,P,E){const oe=d?{Authorization:`Bearer ${d}`}:{},le=await fetch(J(I,P),{credentials:"same-origin",headers:oe,signal:E,cache:"no-store"});if(le.status===401||le.status===403||le.ok&&String(le.headers.get("content-type")).includes("text/html"))throw new Error(i.authError);let lt;try{lt=await le.json()}catch{throw new Error(i.responseError)}if(!le.ok)throw new Error(typeof lt?.error=="string"?lt.error:i.requestError);return lt}function U(){clearTimeout(T),T=null}function C(){p+=1,x?.abort(),x=null,c.loading=!1,U()}function ee(){U(),!$&&c.live&&c.nodesLoaded&&c.selectedNodeId&&(T=setTimeout(()=>{ne()},2e3))}async function ne(){if($||!c.selectedNodeId)return;C();const I=p,P=new AbortController;x=P,c.loading=!0;try{const E=await H("history",{nodeId:c.selectedNodeId,limit:Zr,before:c.before,search:c.search.trim()},P.signal);if($||I!==p)return;if(!Array.isArray(E?.entries))throw new Error(i.responseError);c.data={...E,entries:E.entries.slice(0,Zr)},c.lastError="",c.updatedAt=Date.now()}catch(E){if($||I!==p||E.name==="AbortError")return;c.lastError=E.message||i.requestError}finally{!$&&I===p&&(c.loading=!1,x=null,ee())}}async function ye(){C();const I=p,P=new AbortController;x=P,c.loading=!0;try{const E=await H("nodes",{},P.signal);if($||I!==p)return!1;if(!Array.isArray(E?.nodes))throw new Error(i.responseError);if(c.nodes=E.nodes,c.nodesLoaded=!0,c.selectedNodeId&&!c.nodes.some(oe=>oe.id===c.selectedNodeId)){if(s)return c.lastError=i.unknownViewer,!1;c.selectedNodeId=""}return c.selectedNodeId||(c.selectedNodeId=c.nodes[0]?.id||""),c.lastError=c.selectedNodeId?"":i.noViewers,!!c.selectedNodeId}catch(E){return!$&&I===p&&E.name!=="AbortError"&&(c.lastError=E.message||i.requestError),!1}finally{!$&&I===p&&(c.loading=!1,x=null)}}function Se(){c.before="",c.data=null,c.updatedAt=0,c.lastError=""}async function yt(){if(!c.nodesLoaded||!c.nodes.some(I=>I.id===c.selectedNodeId)){O=!1;const I=await ye();if(O=!0,!I)return}await ne()}function Ke(){clearTimeout(j),C(),c.live=!c.live,c.live&&(c.before="",ne())}function it(){C(),c.before="",ne()}function bt(){const I=c.data?.nextCursor;!I||!c.data?.hasMore||(C(),c.live=!1,c.before=I,ne())}const Qe=Rt(()=>c.data?.node||c.nodes.find(I=>I.id===c.selectedNodeId)||{}),ot=Rt(()=>c.data?.entries||[]),Yt=Rt(()=>c.lastError?i.offline:c.live?i.live:i.paused),ie=Rt(()=>c.data?.storageError||""),Z=new Intl.DateTimeFormat(n,{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3,hour12:!1});function B(I){const P=new Date(I);return Number.isFinite(P.getTime())?Z.format(P):"—"}function Pe(I){return I.timestampMs??I.timestamp}function vt(I){const P=new Date(Pe(I));return Number.isFinite(P.getTime())?P.toISOString():void 0}function Ne(I){const P=String(I.event||"").trim();return{groupvalue_read:"Read",groupvalue_write:"Write",groupvalue_response:"Response",update_nowrite:"Update"}[P.toLowerCase()]||P.replace(/_/g," ")||"—"}function de(I){return Ne(I).toLowerCase()==="read"}function Zt(I){if(de(I))return"—";const P=I.payloadText??(typeof I.payload=="object"?JSON.stringify(I.payload):I.payload);return P==null||P===""?"—":String(P)}return Ht(()=>c.selectedNodeId,()=>{l(Jr,c.selectedNodeId),O&&(clearTimeout(j),C(),Se(),c.selectedNodeId&&ne())}),Ht(()=>c.search,()=>{l(Yr,c.search),O&&(clearTimeout(j),C(),Se(),j=setTimeout(()=>{ne()},300))}),Fn(async()=>{document.documentElement.lang=n,document.title=i.title;const I=await ye();await Promise.resolve(),O=!0,I&&!$&&await ne()}),Ln(()=>{$=!0,O=!1,clearTimeout(j),C()}),(I,P)=>(te(),re("main",Rl,[A("header",Ml,[A("div",Dl,[A("h1",null,D(L(i).title),1),A("span",Fl,D(Qe.value.name||""),1),Qe.value.gatewayName?(te(),re("span",Ll,D(Qe.value.gatewayName),1)):Re("",!0)]),A("p",null,[et(D(L(i).subtitle)+" ",1),P[2]||(P[2]=A("span",{class:"separator","aria-hidden":"true"},"·",-1)),P[3]||(P[3]=et()),A("span",null,D(L(i).history),1)])]),A("div",Hl,[c.nodes.length>1?(te(),re("label",jl,[A("span",Kl,D(L(i).viewer),1),Sr(A("select",{"onUpdate:modelValue":P[0]||(P[0]=E=>c.selectedNodeId=E),"aria-label":L(i).viewer},[c.nodes.some(E=>E.id===c.selectedNodeId)?Re("",!0):(te(),re("option",{key:0,value:c.selectedNodeId,disabled:""},D(c.selectedNodeId),9,Ul)),(te(!0),re(we,null,Cr(c.nodes,E=>(te(),re("option",{key:E.id,value:E.id},D(E.name||E.id)+D(E.gatewayName?` · ${E.gatewayName}`:""),9,ql))),128))],8,$l),[[Tl,c.selectedNodeId]])])):Re("",!0),A("div",Bl,[P[4]||(P[4]=A("svg",{"aria-hidden":"true",viewBox:"0 0 20 20"},[A("circle",{cx:"8.5",cy:"8.5",r:"5.5"}),A("path",{d:"m12.5 12.5 4 4"})],-1)),Sr(A("input",{"onUpdate:modelValue":P[1]||(P[1]=E=>c.search=E),type:"search","aria-label":L(i).search,placeholder:L(i).search,autocomplete:"off",spellcheck:"false"},null,8,Wl),[[El,c.search]])]),A("span",{class:ws(["live-status",{paused:!c.live,offline:c.lastError}]),role:"status"},[P[5]||(P[5]=A("span",{"aria-hidden":"true"},null,-1)),et(D(Yt.value),1)],2),A("button",{class:"live-button",type:"button","aria-pressed":!c.live,disabled:!c.nodes.some(E=>E.id===c.selectedNodeId),onClick:Ke},[c.live?(te(),re("svg",zl,[...P[6]||(P[6]=[A("path",{d:"M5 3v10M11 3v10"},null,-1)])])):(te(),re("svg",Gl,[...P[7]||(P[7]=[A("path",{d:"m5 3 7 5-7 5Z"},null,-1)])])),et(" "+D(c.live?L(i).pause:L(i).resume),1)],8,kl)]),c.lastError?(te(),re("div",Xl,[A("span",null,D(c.lastError),1),A("button",{type:"button",disabled:c.loading,onClick:yt},D(L(i).retry),9,Jl)])):Re("",!0),ie.value?(te(),re("div",Yl,[et(D(L(i).storageError)+" ",1),A("span",null,D(ie.value),1)])):Re("",!0),A("section",{class:"monitor","aria-label":L(i).table,"aria-busy":c.loading},[A("div",{class:"table-scroll",tabindex:"0","aria-label":L(i).table},[A("table",null,[A("caption",ec,D(L(i).table),1),A("thead",null,[A("tr",null,[A("th",tc,D(L(i).time),1),A("th",sc,D(L(i).telegramType),1),A("th",rc,D(L(i).source),1),A("th",nc,D(L(i).address),1),A("th",ic,D(L(i).name),1),A("th",oc,D(L(i).dpt),1),A("th",lc,D(L(i).previous),1),A("th",cc,D(L(i).value),1)])]),A("tbody",null,[(te(!0),re(we,null,Cr(ot.value,E=>(te(),re("tr",{key:E.id},[A("td",ac,[A("time",{datetime:vt(E)},D(B(Pe(E))),9,uc)]),A("td",{class:"type-cell",title:E.event||void 0},D(Ne(E)),9,fc),A("td",dc,D(E.source||"—"),1),A("td",hc,D(E.address||"—"),1),A("td",pc,D(E.devicename||"—"),1),A("td",gc,D(E.dpt||"—"),1),A("td",{class:"payload-cell previous-cell",title:!de(E)&&E.previousPayloadText==null?L(i).firstValue:void 0},D(de(E)?"—":E.previousPayloadText??"—"),9,mc),A("td",_c,[et(D(Zt(E)),1),!de(E)&&E.payloadmeasureunit?(te(),re("span",yc,D(E.payloadmeasureunit),1)):Re("",!0)])]))),128))])]),ot.value.length?Re("",!0):(te(),re("div",bc,[c.loading?(te(),re("p",vc,D(L(i).loadingHistory),1)):c.lastError?(te(),re("p",xc,D(L(i).requestError),1)):(te(),re(we,{key:1},[A("p",null,D(c.search.trim()?L(i).emptySearch:L(i).empty),1),c.search.trim()?Re("",!0):(te(),re("span",wc,D(L(i).emptyHint),1))],64))]))],8,Ql),A("footer",Sc,[A("span",Ec,[et(D(ot.value.length)+" "+D(L(i).rows),1),c.before?(te(),re("span",Tc," · "+D(L(i).historical),1)):Re("",!0)]),A("nav",{class:"pagination","aria-label":L(i).history},[A("button",{type:"button",disabled:!c.before||c.loading,onClick:it},D(L(i).newest),9,Ac),A("button",{type:"button",disabled:!c.data?.hasMore||!c.data?.nextCursor||c.loading,onClick:bt},D(L(i).older),9,Pc)],8,Cc)])],8,Zl),A("footer",Nc,[A("span",null,D(L(i).retained),1),c.updatedAt?(te(),re("span",Ic,D(L(i).updated)+" "+D(B(c.updatedAt)),1)):Re("",!0)])]))}};Nl(Oc).mount("#app");
package/package.json CHANGED
@@ -3,8 +3,8 @@
3
3
  "engines": {
4
4
  "node": ">=20.18.1"
5
5
  },
6
- "version": "7.1.0-beta.0",
7
- "description": "KNX Ultimate is the most advanced KNX integration for Node-RED, providing secure KNX/IP communication, routing, ETS project import, Philips Hue, Matter Controller and Matter Bridge (control matter device via KNX and expose KNX GA via Matter), MQTT and Modbus adapters, diagnostics with AI, virtual devices, and powerful automation nodes. Build professional, reliable, and scalable smart home and building automation projects with minimal effort.",
6
+ "version": "7.1.0-beta.2",
7
+ "description": "KNX Ultimate is the most advanced KNX integration for Node-RED, providing secure KNX/IP communication, routing, ETS project import, Philips Hue, Matter Controller and Matter Bridge (control matter device via KNX and expose KNX GA via Matter), MQTT and Modbus adapters, diagnostics, virtual devices, and powerful automation nodes. Build professional, reliable, and scalable smart home and building automation projects with minimal effort.",
8
8
  "files": [
9
9
  "nodes/",
10
10
  "resources/",
@@ -19,7 +19,6 @@
19
19
  "@matter/main": "^0.17.9",
20
20
  "@matter/nodejs": "^0.17.9",
21
21
  "@project-chip/matter.js": "^0.17.9",
22
- "google-translate-tts": "^0.3.0",
23
22
  "knxultimate": "6.0.6",
24
23
  "lodash": "4.18.1",
25
24
  "mqtt": "^5.15.2",
@@ -31,7 +30,6 @@
31
30
  "version": ">=3.1.1",
32
31
  "plugins": {
33
32
  "commonFunctions": "/nodes/commonFunctions.js",
34
- "knxUltimateCerebrumRuntime": "/nodes/plugins/knxUltimate-cerebrum-runtime-plugin.js",
35
33
  "knxUltimateFlowBubbles": "/nodes/plugins/knxUltimate-flow-bubbles-plugin.html"
36
34
  },
37
35
  "nodes": {
@@ -46,8 +44,6 @@
46
44
  "knxUltimateGlobalContext": "/nodes/knxUltimateGlobalContext.js",
47
45
  "knxUltimateAlerter": "/nodes/knxUltimateAlerter.js",
48
46
  "knxUltimateViewer": "/nodes/knxUltimateViewer.js",
49
- "knxUltimateAI": "/nodes/knxUltimateAI.js",
50
- "knxUltimateAIHomeAssistant": "/nodes/knxUltimateAIHomeAssistant.js",
51
47
  "knxUltimateMultiRouting": "/nodes/knxUltimateMultiRouting.js",
52
48
  "knxUltimateRouterFilter": "/nodes/knxUltimateRouterFilter.js",
53
49
  "knxUltimateAutoResponder": "/nodes/knxUltimateAutoResponder.js",
@@ -109,8 +105,8 @@
109
105
  },
110
106
  "license": "MIT",
111
107
  "scripts": {
112
- "build": "npm run knx-ai:build && npm run knx-viewer:build",
113
- "prepack": "npm run knx-ai:build && npm run knx-viewer:build",
108
+ "build": "npm run knx-viewer:build",
109
+ "prepack": "npm run build",
114
110
  "prepublishOnly": "npm run build",
115
111
  "test": "npm run hue-controller:check && npm run knx-utility:check && DEBUG_KNX_HUE_TEST=0 npm run test:unit && node scripts/check-node-load.js",
116
112
  "test:unit": "mocha \"test/**/*.test.js\"",
@@ -127,8 +123,6 @@
127
123
  "avviaquesto-itest:serve": "node test/integration/serveFlow.mjs",
128
124
  "lint:fix": "standard --fix",
129
125
  "lint-fix": "standard --fix",
130
- "knx-ai:dev": "vite --config ui/knxUltimateAI-vue/vite.config.mjs",
131
- "knx-ai:build": "vite build --config ui/knxUltimateAI-vue/vite.config.mjs",
132
126
  "knx-viewer:dev": "vite --config ui/knxUltimateViewer-vue/vite.config.mjs",
133
127
  "knx-viewer:build": "vite build --config ui/knxUltimateViewer-vue/vite.config.mjs",
134
128
  "translate-wiki": "node scripts/translate-wiki.js",
@@ -148,11 +142,10 @@
148
142
  "devDependencies": {
149
143
  "@vitejs/plugin-vue": "^6.0.8",
150
144
  "chai": "^4.3.10",
151
- "js-yaml": "4.3.1",
152
- "jspdf": "^4.2.1",
145
+ "js-yaml": "4.3.2",
153
146
  "marked": "^14.1.0",
154
147
  "mocha": "^10.4.0",
155
148
  "vite": "^7.3.6",
156
149
  "vue": "^3.5.41"
157
150
  }
158
- }
151
+ }